Parity mirroring between controllers in an active-active controller pair
First Claim
1. In a system that includes an array of drives and an active-active controller pair, a method for enhancing performance related to parity, comprising:
- controlling parity-related information being stored in memory of a first controller subsystem and with said parity-related information being associated with a first write operation being conducted using a second controller subsystem; and
conducting at least said first write operation to an array of drives using said second controller subsystem including storing parity on said array of drives, with said parity being different from said parity-related information.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for efficient parity mirroring between controllers of an active-active controller pair in a redundant array of inexpensive disks (RAID) system is disclosed. When a second controller in an active-active controller pair receives new data to be written to a disk array, it mirrors the new data to a first controller in the active-active controller pair. The second controller then computes new parity for the data stripe associated with the new data. The second controller then opens a parity log and mirrors logical block address (LBA) information for the new data to a first controller in the active-active controller pair. In the event of a failure of the second controller after mirroring the LBA information and prior to completing the write operation, the first controller uses the LBA information to complete the write operation, assuring that the new data and new parity are properly stored on the disk array. If a hard disk in the disk array fails, parity is mirrored between the first and second controllers, rather than just LBA information. If a hard disk and the second controller fail when the first controller contains LBA information, a list containing the LBAs is created and a media error is returned in the event that a host requests in the form of a read operation data contained in the listed LBAs.
43 Citations
19 Claims
-
1. In a system that includes an array of drives and an active-active controller pair, a method for enhancing performance related to parity, comprising:
-
controlling parity-related information being stored in memory of a first controller subsystem and with said parity-related information being associated with a first write operation being conducted using a second controller subsystem; and
conducting at least said first write operation to an array of drives using said second controller subsystem including storing parity on said array of drives, with said parity being different from said parity-related information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
said parity-related information includes information related to at least one logical block address (LBA) to which data is being written using said second controller subsystem.
-
-
3. A method, as claimed in claim 2, wherein:
said at least one LBA is the most recent LBA to which data is being written using said second controller subsystem.
-
4. A method, as claimed in claim 1, wherein:
said parity-related information is part of a parity log message provided to said first controller subsystem.
-
5. A method, as claimed in claim 1, wherein:
said controlling step is performed when all drives of said array are usable to store data and said parity is stored with said memory when less than all drives of said array are usable to store data.
-
6. A method, as claimed in claim 1, wherein:
said parity-related information is less in amount and stored in less time than said panty.
-
7. A method, as claimed in claim 1, wherein:
said parity-related information is different from a parity log that is related to an identifier associated with said first write operation.
-
8. A method, as claimed in claim 1, wherein:
said first controller subsystem includes a first controller and, when said first controller is in a failed over mode after said parity-related information is stored in said memory and before said parity is stored with said array of drives, said parity-related information is used by said first controller to provide parity for said first write operation.
-
9. A method, as claimed in claim 1, further including:
storing a parity log by said second controller subsystem associated with said first write operation.
-
10. A method, as claimed in claim 1, further including:
performing a second write operation and storing parity for said second write operation using said first controller subsystem and not controlling parity-related information associated with said second write operation when one drive of said array of drives is in a fail mode.
-
11. A method, as claimed in claim 10, wherein:
said performing step includes ascertaining whether said second write operation involves a full stripe of data for said array of drives.
-
12. A system for enhancing performance related to parity, comprising:
-
an array of drives that stores data and parity including at least first parity associated with a first write operation;
a first controller subsystem in communication with said array of drives, said first controller subsystem including a first controller and memory that stores at least first logical block address (LBA)-related information associated with said first write operation and does not store said first parity; and
a second controller subsystem in communication with said array of drives and including a second controller involved with said first write operation including storing said first parity with said array of drives. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
said first LBA-related information includes the most recent logical block address to which data is being written using said second controller.
-
-
14. A system, as claimed in claim 12, wherein:
said first controller subsystem receives a parity log message that includes said first LBA-related information.
-
15. A system, as claimed in claim 12, wherein:
said memory receives said first LBA-related information when all drives of said array of drives are usable to store data in association with said first write operation and said memory receives said parity when less than all of said drives of said array are usable to store data in association with said first write operation.
-
16. A system, as claimed in claim 12, wherein:
when said first controller is in a failed over mode and after said first LBA-related information is stored with said memory and before said first parity is stored with said array of drives, said first controller uses said first LBA-related information to provide said first parity in association with said first write operation.
-
17. A system, as claimed in claim 12, wherein:
when said first controller is in a failed over mode and less than all of said drives of said array are usable to store data and while said first LBA-related information is stored with said memory, data associated with said first write operation is marked as inaccessible from said array of drives.
-
18. A system, as claimed in claim 17, wherein:
said first controller is used in providing an indication that said first controller is in said failed over mode when less than all of said drives of said array are useable to store data.
-
19. A system, as claimed in claim 12, wherein:
said first LBA-related information is different from a parity log and different from said first parity with each thereof associated with said first write operation.
Specification