Technique for correcting multiple storage device failures in a storage array
First Claim
1. A method for storing data for correction of multiple data storage failures in a storage array, comprising:
- organizing the storage array as a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks storing parity information for a corresponding sub-array;
computing a plurality of diagonal parity sets, one diagonal parity set for each sub-array;
computing a global diagonal parity by logically combining together a plurality of the diagonal parity sets; and
storing the global diagonal parity in a plurality of global diagonal parity storage blocks.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for storing data for correction of multiple data storage failures in a storage array is presented. The storage array is organized as a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks storing parity information for a corresponding sub-array. A plurality of diagonal parity sets is computed, one diagonal parity set for each sub-array. A global diagonal parity is computed by logically combining together a plurality of the diagonal parity sets. The global diagonal parity is stored in a plurality of global diagonal parity storage blocks.
77 Citations
22 Claims
-
1. A method for storing data for correction of multiple data storage failures in a storage array, comprising:
-
organizing the storage array as a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks storing parity information for a corresponding sub-array; computing a plurality of diagonal parity sets, one diagonal parity set for each sub-array; computing a global diagonal parity by logically combining together a plurality of the diagonal parity sets; and storing the global diagonal parity in a plurality of global diagonal parity storage blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus to store data for correction of multiple data storage failures in a storage array, comprising:
-
means for organizing the storage array as a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks storing parity information for a corresponding sub- array; means for computing a plurality of diagonal parity sets, one diagonal parity set for each sub-array; means for computing a global diagonal parity by logically combining together a plurality of the diagonal parity sets; and means for storing the global diagonal parity in a plurality of global diagonal parity storage blocks. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus to store data for correction of multiple data storage failures in a storage array, comprising:
-
a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks to store parity information for a corresponding sub-array; a processor to compute a plurality of diagonal parity sets, one diagonal parity set for each sub-array; the processor to compute a global diagonal parity by logically combining together a plurality of the diagonal parity sets; and a disk away to store the global diagonal parity in a plurality of global diagonal parity storage blocks. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A computer readable media, comprising:
-
said computer readable media containing instructions for execution on a processor for the practice of a method for storing data for correction of multiple data storage failures in a storage array, the method having the steps of, organizing the storage array as a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks storing parity information for a corresponding sub-array; computing a plurality of diagonal parity sets, one diagonal parity set for each sub-array; computing a global diagonal parity by logically combining together a plurality of the diagonal parity sets; and storing the global diagonal parity in a plurality of global diagonal parity storage blocks.
-
Specification