Nested multiple erasure correcting codes for storage arrays
First Claim
1. 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 r rows and n columns of pages;
encoding the write data using a plurality of horizontal and vertical erasure correcting codes on the pages such that a first row contains t1 parity pages with t1≧
1, a second row contains t2 parity pages with t2≧
t1, a third row contains t3 parity pages with t3≧
t2, and so on, up to an rth row which contains tr parity pages with tr≧
tr−
1 and n>
tr>
t1 wherein the encoding allows recovery from up to tr erasures in any one of the r rows, up to tr−
1 erasures in any one of the remaining r−
1 rows, up to tr−
2 erasures in any one of the remaining r−
2 rows, and so on, such that the encoding allows recovery from up to t1 erasures in the last remaining row, and output from the encoding includes encoded write data; and
writing the encoded write data as a write stripe across n storage devices in a storage array.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving write data. The write data is arranged into “r” rows and “n” columns of pages, with each page including a plurality of sectors. The write data is encoded using a plurality of horizontal and vertical erasure correcting codes on the pages. The encoding allows recovery from up to tr erasures in any one of the r rows, up to tr−1 erasures in any one of the remaining r−1 rows, up to tr−2 erasures in any one of the remaining r−2 rows, and so on, such that the encoding allows recovery from up to t1 erasures in the last remaining row. Encoded write data is output from the encoding. The encoded write data is written as a write stripe across n storage devices in a storage array.
-
Citations
5 Claims
-
1. 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 r rows and n columns of pages; encoding the write data using a plurality of horizontal and vertical erasure correcting codes on the pages such that a first row contains t1 parity pages with t1≧
1, a second row contains t2 parity pages with t2≧
t1, a third row contains t3 parity pages with t3≧
t2, and so on, up to an rth row which contains tr parity pages with tr≧
tr−
1 and n>
tr>
t1 wherein the encoding allows recovery from up to tr erasures in any one of the r rows, up to tr−
1 erasures in any one of the remaining r−
1 rows, up to tr−
2 erasures in any one of the remaining r−
2 rows, and so on, such that the encoding allows recovery from up to t1 erasures in the last remaining row, and output from the encoding includes encoded write data; andwriting the encoded write data as a write stripe across n storage devices in a storage array. - View Dependent Claims (2, 3, 4, 5)
-
Specification