Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
First Claim
Patent Images
1. A method for enabling recovery from concurrent failure of two storage devices in a storage array, comprising:
- storing data and row parity on a plurality of storage devices, the data configured as rows of blocks on the plurality of storage devices, where a number of the plurality of storage devices is equal to a prime number greater then three;
computing a diagonal parity set for the plurality of storage devices; and
storing the diagonal parity set on an additional diagonal parity device, the diagonal parity device separate from the plurality of storage devices, where the plurality of storage devices combine with the separate diagonal parity device to form the storage array.
0 Assignments
0 Petitions
Accused Products
Abstract
A “row-diagonal” (R-D) parity technique reduces overhead of computing diagonal parity for a storage array adapted to enable efficient recovery from the concurrent failure of two storage devices in the array. The diagonal parity is computed along diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the diagonal parity sets except one is stored on the diagonal parity disk. The R-D parity technique provides a uniform stripe depth and an optimal amount of parity information.
-
Citations
41 Claims
-
1. A method for enabling recovery from concurrent failure of two storage devices in a storage array, comprising:
-
storing data and row parity on a plurality of storage devices, the data configured as rows of blocks on the plurality of storage devices, where a number of the plurality of storage devices is equal to a prime number greater then three; computing a diagonal parity set for the plurality of storage devices; and storing the diagonal parity set on an additional diagonal parity device, the diagonal parity device separate from the plurality of storage devices, where the plurality of storage devices combine with the separate diagonal parity device to form the storage array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for enabling recovery from concurrent failure of two storage devices in a storage array, comprising:
-
means for storing data and row parity on a plurality of storage devices, the data configured as rows of blocks on the plurality of storage devices, where a number of the plurality of storage devices is equal to a prime number greater then three; means for computing a diagonal parity set for the plurality of storage devices; and means for storing the diagonal parity set on an additional diagonal parity device, the diagonal parity device separate from the plurality of storage devices, where the plurality of storage devices combine with the separate diagonal parity device to form the storage array. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system for enabling recovery from concurrent failure of two storage devices in a storage array, comprising:
-
a plurality of storage devices to store data and row parity, the data configured as rows of blocks on the plurality of storage devices, where a number of the plurality of storage devices is equal to a prime number greater then three; and a storage operating system is configured to compute a diagonal parity set for the plurality of storage devices, and to store the diagonal parity set on an additional diagonal parity device, the diagonal parity device separate from the plurality of storage devices, where the plurality of storage devices combine with the separate diagonal parity device to form the storage array. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A computer readable media, comprising:
-
said computer readable media having instructions written thereon for execution on a processor for the practice of enabling recovery from concurrent failure of two storage devices in a storage array comprising, storing data and row parity on a plurality of storage devices, the data configured as rows of blocks on the plurality of storage devices, where a number of the plurality storage devices is equal to a prime number greater then three; computing a diagonal parity set for the plurality of storage devices; and storing the diagonal parity set on an additional diagonal parity device, the diagonal parity device separate from the plurality of storage devices, where the plurality of storage devices combine with the separate diagonal parity device to form the storage array.
-
-
35. A method for enabling recovery from concurrent failure of two storage devices in a storage array, comprising:
-
configuring a plurality of storage devices with data and row parity stored in a stripe across the plurality of storage devices with one block stored on each storage device of the plurality of storage devices of each row of the stripe; configuring an additional storage device with diagonal parity, a diagonal parity storage device; determining that two storage devices of the plurality of storage devices have failed resulting in missing blocks; reconstructing a first missing block using diagonal parity, where the first missing block is within a diagonal with only one missing block; and reconstructing other missing block in same row as the first missing block. - View Dependent Claims (36, 37, 38, 39, 40, 41)
-
Specification