PARTIAL-MAXIMUM DISTANCE SEPARABLE (PMDS) ERASURE CORRECTING CODES FOR STORAGE ARRAYS
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving and arranging read data in array that includes m rows and n columns of entries, with each entry including at least one sector. In the array, mr+s locations are assigned to parity entries, such that each row has at least r parity entries. The parity entries correspond to a partial-maximum distance separable (PMDS) code that allows recovery from up to r erasures in each of the m rows as well as s additional erasures in any locations in the data array, where s is an integer greater than zero. The write data and the associated parity entries are written to the set of storage devices.
-
Citations
40 Claims
-
1-9. -9. (canceled)
-
10. A system for storing data in a storage array, the system comprising:
-
a storage array comprising a plurality of storage devices; and an array controller configured for; receiving write data; arranging the write data in an array that includes m rows and n columns of entries, each entry comprising at least one sector; assigning mr+s locations in the array to parity entries, such that there are at least r parity entries for each row, and further such that the parity entries correspond to a partial-maximum distance separable (PMDS) code, such code allowing recovery from up to r erasures in each of the m rows as well as s additional erasures in any locations in the data array, where s is an integer greater than zero; and writing the write data and the associated parity entries to the set of storage devices, wherein the number of parity entries for all of the rows are not identical. - View Dependent Claims (11, 12, 15, 16, 26)
-
-
17-25. -25. (canceled)
-
27. A method for storing data on a set of n storage devices, the method comprising:
-
receiving write data; arranging the write data in an array that includes m rows and n columns of entries, each entry comprising at least one sector; assigning mr+s locations in the array to parity entries, such that there are at least r parity entries for each row, and further such that the parity entries correspond to a partial-maximum distance separable (PMDS) code, such code allowing recovery from up to r erasures in each of the m rows as well as s additional erasures in any locations in the data array, where s is an integer greater than zero; and writing the write data and the associated parity entries to the set of storage devices, wherein the number of parity entries for all of the rows are not identical. - View Dependent Claims (13, 14, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A computer program product for storing data in a storage array, the computer program product comprising:
-
a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising; computer readable program code configured for; receiving write data; arranging the write data in an array that includes m rows and n columns of entries, each entry comprising at least one sector; assigning mr+s locations in the array to parity entries, such that there are at least r parity entries for each row, and further such that the parity entries correspond to a partial-maximum distance separable (PMDS) code, such code allowing recovery from up to r erasures in each of the m rows as well as s additional erasures in any locations in the data array, where s is an integer greater than zero; and writing the write data and the associated parity entries to the set of storage devices, wherein the number of parity entries for all of the rows are not identical. - View Dependent Claims (37, 38, 39, 40)
-
Specification