System and method for sharing SATA drives in active-active RAID controller system
First Claim
1. An active-active redundant array of inexpensive disks (RAID) system for efficiently sharing Serial Advanced Technology Attachment (SATA) drives, comprising:
- first and second RAID controllers, each configured to couple to a plurality of SATA drives via one or more Serial Attached SCSI (SAS) expanders, wherein said first RAID controller is configured to establish an affiliation in said one or more SAS expanders between said first RAID controller and each of a first subset of said plurality of SATA drives, and said second RAID controller is configured to establish an affiliation in said one or more SAS expanders between said second RAID controller and each of a second subset of said plurality of SATA drives, wherein said first and second subsets of said plurality of SATA drives are mutually exclusive; and
a communications link, for coupling said first and second RAID controllers to facilitate communications therebetween;
wherein said first RAID controller is configured to transmit commands destined for said first subset of said plurality of SATA drives to said one or more SAS expanders, and is configured to forward commands destined for said second subset of said plurality of SATA drives on said communications link to said second RAID controller for said second RAID controller to responsively transmit to said one or more SAS expanders;
wherein said second RAID controller is configured to transmit commands destined for said second subset of said plurality of SATA drives to said one or more SAS expanders, and is configured to forward commands destined for said first subset of said plurality of SATA drives on said communications link to said first RAID controller for said first RAID controller to responsively transmit to said one or more SAS expanders.
1 Assignment
0 Petitions
Accused Products
Abstract
An active-active RAID system includes first and second active-active RAID controllers which efficiently share access to SATA drives. SAS expanders connect the RAID controllers to the drives. The controllers establish an affiliation within the SAS expanders with respectively-owned first and second subsets of the SATA drives. The controllers directly transmit to the SAS expanders commands destined for affiliated drives, but forward to the other RAID controller, via an inter-controller communications link, commands destined for unaffiliated drives for transmission by the other RAID controller. The controllers handle drive ownership changes by clearing previously-established affiliations, updating ownership data stored on the drives, including forwarding the update commands as necessary, and re-establishing affiliations based on the new ownership. In response to a SAS configuration change, the controllers clear all affiliations, and employ a distributed lock mechanism to ensure exclusive access to perform the SAS discover process and read ownership data.
-
Citations
60 Claims
-
1. An active-active redundant array of inexpensive disks (RAID) system for efficiently sharing Serial Advanced Technology Attachment (SATA) drives, comprising:
-
first and second RAID controllers, each configured to couple to a plurality of SATA drives via one or more Serial Attached SCSI (SAS) expanders, wherein said first RAID controller is configured to establish an affiliation in said one or more SAS expanders between said first RAID controller and each of a first subset of said plurality of SATA drives, and said second RAID controller is configured to establish an affiliation in said one or more SAS expanders between said second RAID controller and each of a second subset of said plurality of SATA drives, wherein said first and second subsets of said plurality of SATA drives are mutually exclusive; and a communications link, for coupling said first and second RAID controllers to facilitate communications therebetween; wherein said first RAID controller is configured to transmit commands destined for said first subset of said plurality of SATA drives to said one or more SAS expanders, and is configured to forward commands destined for said second subset of said plurality of SATA drives on said communications link to said second RAID controller for said second RAID controller to responsively transmit to said one or more SAS expanders; wherein said second RAID controller is configured to transmit commands destined for said second subset of said plurality of SATA drives to said one or more SAS expanders, and is configured to forward commands destined for said first subset of said plurality of SATA drives on said communications link to said first RAID controller for said first RAID controller to responsively transmit to said one or more SAS expanders. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for efficiently sharing Serial Advanced Technology Attachment (SATA) drives in an active-active redundant array of inexpensive disks (RAID) system having first and second RAID controllers coupled to a plurality of SATA drives via one or more SAS expanders and a communications link between the first and second RAID controllers, the method comprising:
-
establishing an affiliation in the one or more SAS expanders between the first RAID controller and each of a first subset of the plurality of SATA drives; establishing an affiliation in the one or more SAS expanders between the second RAID controller and each of a second subset of the plurality of SATA drives, wherein the first and second subsets of the plurality of SATA drives are mutually exclusive; transmitting, by the first RAID controller, commands destined for the first subset of said plurality of SATA drives to the one or more SAS expanders, and forwarding, by the first RAID controller, commands destined for the second subset of said plurality of SATA drives on the communications link to the second RAID controller for the second RAID controller to responsively transmit to the one or more SAS expanders; and transmitting, by the second RAID controller, commands destined for the second subset of said plurality of SATA drives to the one or more SAS expanders, and forwarding, by the second RAID controller, commands destined for the first subset of said plurality of SATA drives on the communications link to the first RAID controller for the first RAID controller to responsively transmit to the one or more SAS expanders. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An active-active redundant array of inexpensive disks (RAID) system for changing an ownership state stored on a shared Serial Advanced Technology Attachment (SATA) drive, comprising:
-
first and second RAID controllers; a communications link, connecting said first and second RAID controllers; and at least one Serial Attached SCSI (SAS) expander, configured to connect said first and second RAID controllers to the SATA drive; wherein said first RAID controller is configured to clear at least one affiliation previously established in said at least one SAS expander between said first RAID controller and the SATA drive; wherein said first RAID controller is configured to forward a command to write predetermined data to the SATA drive from said first RAID controller to said second RAID controller via said communications link, after clearing said affiliation, wherein said predetermined data indicates the ownership state of the SATA drive; wherein said second RAID controller is configured to transmit said forwarded command to said at least one SAS expander for subsequent transmission by said at least one SAS expander to the SATA drive. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A method for changing an ownership state stored on a Serial Advanced Technology Attachment (SATA) drive within an active-active redundant array of inexpensive disks (RAID) system having first and second RAID controllers and at least one Serial Attached SCSI (SAS) expander connecting the first and second RAID controllers to the SATA drive, the method comprising:
-
clearing, by the first RAID controller, at least one affiliation previously established in the at least one SAS expander between the first RAID controller and the SATA drive; forwarding, from the first RAID controller to the second RAID controller via a communications link, a command to write predetermined data to the SATA drive, after said clearing, wherein said predetermined data indicates the ownership state of the SATA drive; and transmitting, by the second RAID controller, the command to the at least one SAS expander for subsequent transmission by the at least one SAS expander to the SATA drive, in response to said forwarding. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. An active-active redundant array of inexpensive disks (RAID) system for changing an ownership state stored on a shared Serial Advanced Technology Attachment (SATA) drive, comprising:
-
first and second RAID controllers; and first and second Serial Attached SCSI (SAS) expanders, configured to connect respective said first and second RAID controllers to the SATA drive; wherein the first RAID controller is configured to clear an affiliation previously established in the second SAS expander between the first RAID controller and the SATA drive; wherein the first RAID controller is configured to transmit to the first SAS expander a command to write predetermined data to the SATA drive for subsequent transmission by the first SAS expander to the SATA drive, after clearing the affiliation, wherein said predetermined data indicates a free ownership state of the SATA drive; wherein the first RAID controller is configured to notify the second RAID controller that the ownership state of the SATA drive has changed, after transmitting the command. - View Dependent Claims (36, 37, 38, 39, 40, 41)
-
-
42. A method for changing an ownership state stored on a Serial Advanced Technology Attachment (SATA) drive within an active-active redundant array of inexpensive disks (RAID) system having first and second RAID controllers and respective first and second Serial Attached SCSI (SAS) expanders connecting the respective first and second RAID controllers to the SATA drive, the method comprising:
-
clearing, by the first RAID controller, an affiliation previously established in the second SAS expander between the first RAID controller and the SATA drive; transmitting to the first SAS expander, by the first RAID controller, a command to write predetermined data to the SATA drive for subsequent transmission by the first SAS expander to the SATA drive, after said clearing, wherein said predetermined data indicates a free ownership state of the SATA drive; and notifying the second RAID controller, by the first RAID controller, that the ownership state of the SATA drive has changed, after said transmitting. - View Dependent Claims (43, 44, 45, 46, 47, 48)
-
-
49. An active-active redundant array of inexpensive disks (RAID) system for sharing Serial Advanced Technology Attachment (SATA) drives, comprising:
-
first and second RAID controllers; and at least one Serial Attached SCSI (SAS) expander, configured to connect said first and second RAID controllers to said SATA drives; wherein said first RAID controller is configured to obtain a lock that excludes said second RAID controller from accessing said SATA drives in response to receiving from said at least one SAS expander a SAS configuration change event broadcast primitive; wherein said first RAID controller is configured to send a command to said second RAID controller to clear all affiliations established in said at least one SAS expander between said second RAID controller and said SATA drives after obtaining said lock; and wherein said first RAID controller is configured to read ownership information stored on said SATA drives while said second RAID controller is excluded from accessing said SATA drives after sending said command. - View Dependent Claims (50, 51, 52, 53, 54)
-
-
55. A method for sharing Serial Advanced Technology Attachment (SATA) drives by first and second redundant array of inexpensive disks (RAID) controllers within an active-active RAID system having at least one Serial Attached SCSI (SAS) expander connecting the first and second RAID controllers to the SATA drives, the method comprising:
-
obtaining, by the first RAID controller, a lock that excludes the second RAID controller from accessing the SATA drives, in response to receiving from the at least one SAS expander a SAS configuration change event broadcast primitive; sending, by the first RAID controller, a command to the second RAID controller to clear all affiliations established in the at least one SAS expander between the second RAID controller and the SATA drives, after said obtaining the lock; and reading, by the first RAID controller, ownership information stored on the SATA drives, while the second RAID controller is excluded from accessing the SATA drives, after said sending the command. - View Dependent Claims (56, 57, 58, 59, 60)
-
Specification