Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
First Claim
1. A system adapted to correct multiple storage device failures in a storage array using a combination of multiple first parity groups and a single secondary parity group, the system comprising:
- a storage array having a plurality of concatenated sub-arrays, each sub-array including a set of data storage devices and a first parity storage device, the array further including a global secondary storage device associated with the storage array and holding secondary parity values for the single secondary parity group, the secondary parity values computed across the concatenation of the sub-arrays.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique efficiently corrects multiple storage device failures in a storage array using a combination of a single diagonal parity group and multiple row parity groups. The storage array comprises a plurality of concatenated sub-arrays, wherein each sub-array includes a set of data storage devices and a parity storage device. Each row parity group is associated with a sub-array of the array. The array further includes a global parity storage device holding diagonal parity computed across the concatenation of the sub-arrays. Instead of requiring that each parity group contain both a row parity device and a diagonal parity device, the array is composed of a collection of row parity groups. Diagonal parity is calculated across the full array.
115 Citations
27 Claims
-
1. A system adapted to correct multiple storage device failures in a storage array using a combination of multiple first parity groups and a single secondary parity group, the system comprising:
a storage array having a plurality of concatenated sub-arrays, each sub-array including a set of data storage devices and a first parity storage device, the array further including a global secondary storage device associated with the storage array and holding secondary parity values for the single secondary parity group, the secondary parity values computed across the concatenation of the sub-arrays. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A method for correcting double failures in a storage array using a combination of a single diagonal parity group and multiple row parity groups, the method comprising the steps of:
-
organizing the storage array as a plurality of concatenated sub-arrays based on double failure protection encoding, each sub-array including a set of data storage devices and a row parity storage device, the storage array further including a global diagonal parity storage device for holding diagonal parity;
computing the diagonal parity for the single diagonal parity group across the concatenated sub-arrays; and
correcting storage device failure within the array using the row parity storage device associated with each sub-array and the global diagonal parity storage device associated with the storage array. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. Apparatus for correcting double failures in a storage array using a combination of a single diagonal parity group and multiple row parity groups, the apparatus comprising:
-
means for organizing the storage array as a plurality of concatenated sub-arrays based on double failure protection encoding, each sub-array including a set of data storage devices and a row parity storage device, the storage array further including a global diagonal parity storage device for holding diagonal parity;
means for computing the diagonal parity for the single diagonal parity group across the concatenated sub-arrays; and
means for correcting storage device failure within the array using the row parity storage device associated with each sub-array and the global diagonal parity storage device associated with the storage array.
-
-
25. A computer readable medium containing executable program instructions for correcting double failures in a storage array using a combination of a single diagonal parity group and multiple row parity groups, the executable program instructions comprising program instructions for:
-
organizing the storage array as a plurality of concatenated sub-arrays based on double failure protection encoding, each sub-array including a set of data storage devices and a row parity storage device, the storage array further including a global diagonal parity storage device for holding diagonal parity;
computing the diagonal parity for the single diagonal parity group across the concatenated sub-arrays;
correcting storage device failure within the array using the row parity storage device associated with each sub-array and the global diagonal parity storage device associated with the storage array.
-
-
26. A system adapted to correct multiple storage element failures in an array using a combination of multiple first failure recovery groups and a single secondary failure recovery group, the system comprising:
a storage array having a plurality of concatenated sub-arrays, each sub-array including a set of data storage elements and a first failure recovery storage element storing first values used to correct a single failure within the sub-array, the array further including a global failure recovery storage element associated with the storage array and holding secondary values for the single secondary failure recovery group, the secondary values computed across the concatenation of the sub-arrays. - View Dependent Claims (27)
Specification