REDUNDANT DISK ENCODING VIA ERASURE DECODING
First Claim
1. A method of encoding data within a RAID stripe, the RAID stripe being spread across k data disks and r redundancy disks of a RAID group of a data storage system, r≧
- 2, the RAID group having k+r disks, the k data disks and the r redundancy disks within the RAID stripe being distinct, such that, upon failure of any r disks of the k+r disks of the RAID group, the data can be fully recovered using the Forney erasure decoding algorithm, the method including;
partitioning the data into k data symbols;
storing each of the k data symbols to a respective data disk of the k data disks;
generating r Reed-Solomon redundancy symbols by applying the Forney erasure decoding algorithm to the k data symbols; and
storing each of the r redundancy symbols generated by the Forney erasure decoding algorithm to a respective redundancy disk of the r redundancy disks.
9 Assignments
0 Petitions
Accused Products
Abstract
A method is provided of encoding data within a RAID stripe, the RAID stripe being spread across k data disks and r redundancy disks of a RAID group, r≧3, the RAID group having k+r disks, the k data disks and the r redundancy disks within the RAID stripe being distinct, such that, upon failure of any r disks of the k+r disks of the RAID group, the data can be fully recovered using the Forney algorithm. The method includes (a) partitioning the data into k data symbols, (b) storing each of the k data symbols to a respective data disk of the k data disks, (c) generating r Reed-Solomon redundancy symbols by applying the Forney algorithm to the k data symbols, and (d) storing each of the r Reed-Solomon redundancy symbols generated by the Forney algorithm to a respective redundancy disk of the r redundancy disks.
46 Citations
14 Claims
-
1. A method of encoding data within a RAID stripe, the RAID stripe being spread across k data disks and r redundancy disks of a RAID group of a data storage system, r≧
- 2, the RAID group having k+r disks, the k data disks and the r redundancy disks within the RAID stripe being distinct, such that, upon failure of any r disks of the k+r disks of the RAID group, the data can be fully recovered using the Forney erasure decoding algorithm, the method including;
partitioning the data into k data symbols; storing each of the k data symbols to a respective data disk of the k data disks; generating r Reed-Solomon redundancy symbols by applying the Forney erasure decoding algorithm to the k data symbols; and storing each of the r redundancy symbols generated by the Forney erasure decoding algorithm to a respective redundancy disk of the r redundancy disks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- 2, the RAID group having k+r disks, the k data disks and the r redundancy disks within the RAID stripe being distinct, such that, upon failure of any r disks of the k+r disks of the RAID group, the data can be fully recovered using the Forney erasure decoding algorithm, the method including;
-
13. An apparatus comprising:
-
a set of k+r disks configured as a RAID group; a host interface for receiving data storage commands; and a storage processor, the storage processor being constructed and arranged to encode data received by the host interface within a RAID stripe, the RAID stripe being spread across k data disks and r redundancy disks of the RAID group, r≧
3, the k data disks and the r redundancy disks within the RAID stripe being distinct, such that, upon failure of any r disks of the k+r disks of the RAID group, the data can be fully recovered using the Forney erasure decoding algorithm, wherein the storage processor is configured to encode the data by;partitioning the data into k data symbols; storing each of the k data symbols to a respective data disk of the k data disks; generating r Reed-Solomon redundancy symbols by applying the Forney erasure decoding algorithm to the k data symbols; and storing each of the r Reed-Solomon redundancy symbols generated by the Forney erasure decoding algorithm to a respective redundancy disk of the r redundancy disks.
-
-
14. A computer program product comprising a tangible non-transitory computer-readable storage medium, the tangible non-transitory computer-readable storage medium storing instructions, which, when executed by a computer, cause the computer to encode data within a RAID stripe, the RAID stripe being spread across k data disks and r redundancy disks of a RAID group of a data storage system, r≧
- 3, the RAID group having k+r disks, the k data disks and the r redundancy disks within the RAID stripe being distinct, such that, upon failure of any r disks of the k+r disks of the RAID group, the data can be fully recovered using the Forney erasure decoding algorithm, wherein the computer, when encoding the data within the RAID stripe, is configured to;
partition the data into k data symbols; store each of the k data symbols to a respective data disk of the k data disks; generate r Reed-Solomon redundancy symbols by applying the Forney erasure decoding algorithm to the k data symbols; and store each of the r Reed-Solomon redundancy symbols generated by the Forney erasure decoding algorithm to a respective redundancy disk of the r redundancy disks.
- 3, the RAID group having k+r disks, the k data disks and the r redundancy disks within the RAID stripe being distinct, such that, upon failure of any r disks of the k+r disks of the RAID group, the data can be fully recovered using the Forney erasure decoding algorithm, wherein the computer, when encoding the data within the RAID stripe, is configured to;
Specification