System and method for efficient horizontal maximum distance separable raid
First Claim
1. A method for decoding a parity-encoded data set, comprising:
- receiving a chain of parity-encoded information having a plurality of information symbols and a plurality of parity symbols into at least one memory, each parity symbol being dependent on a plurality of information symbols of an original set of information symbols and each information symbol of the original set of information symbols contributing to a plurality of an original set of parity symbols, according to a parity algorithm, the plurality of information symbols and plurality of parity symbols being received from different containers;
processing the received parity-encoded data set using, with respect to each parity symbol, a plurality of parallel processing threads of an automated processor system, each thread being allocated a distinct portion of a parity-checking processing task to cover a predefined portion of the parity encoding space, less than the entirety, to determine a parity consistency of the received parity-encoded data set; and
generating an indicia of whether there is parity consistency.
4 Assignments
0 Petitions
Accused Products
Abstract
In recent years, researchers have found that some XOR erasure codes lead to higher performance and better throughput in fault-tolerant distributed data storage applications. However, little consideration has been given to the advantages of parallel processing or hardware implementations taking advantage of the emergence of multi-core processors. An efficient horizontal MDS-like (Maximum Distance Separable) RAID-6 scheme, called EEO, is provided which significantly improves the performance of the decoding procedure in parallel implementations with little storage overhead. EEO is the fastest and most efficient double disk failure recovering algorithm in RAID-6, at the cost of only two more parity symbols. In practice, it is very useful for application where high decoding throughput is desired.
-
Citations
27 Claims
-
1. A method for decoding a parity-encoded data set, comprising:
-
receiving a chain of parity-encoded information having a plurality of information symbols and a plurality of parity symbols into at least one memory, each parity symbol being dependent on a plurality of information symbols of an original set of information symbols and each information symbol of the original set of information symbols contributing to a plurality of an original set of parity symbols, according to a parity algorithm, the plurality of information symbols and plurality of parity symbols being received from different containers; processing the received parity-encoded data set using, with respect to each parity symbol, a plurality of parallel processing threads of an automated processor system, each thread being allocated a distinct portion of a parity-checking processing task to cover a predefined portion of the parity encoding space, less than the entirety, to determine a parity consistency of the received parity-encoded data set; and generating an indicia of whether there is parity consistency. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for encoding a parity-encoded data set, comprising:
-
receiving a plurality of information symbols dt; calculating a plurality of parity symbols ci,0, ci,1, . . . ci,n using an automated processor configured to implement a parity algorithm based on the information symbols dt, where i=0, 1, . . . , n−
2, using; - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system configured to decode a parity-encoded data set, comprising:
-
a memory configured to store a chain of parity-encoded information having a plurality of information symbols and a plurality of parity symbols, each parity symbol being dependent on a plurality of information symbols of an original set of information symbols and each information symbol of the original set of information symbols contributing to a plurality of an original set of parity symbols, according to a parity algorithm, the plurality of information symbols and plurality of parity symbols being received from different containers; an automated data processor system configured to process the received parity-encoded data set using, with respect to each parity symbol, a plurality of parallel processing threads, each thread being allocated a distinct portion of a parity-checking processing task to cover a predefined portion of the parity encoding space, less than the entirety, to determine a parity consistency of the received parity-encoded data set; and an output from the automated data processor system configured to generate an indicia of whether there is parity consistency. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A system configured to encode a parity-encoded data set, comprising:
-
at least one memory location configured to store a plurality of information symbols dt; an automated processor system configured to; calculate a plurality of parity symbols ci,0, ci,1, . . . ci,n using a parity algorithm based on the information symbols dt, where i=0, 1, . . . , n−
2, using; - View Dependent Claims (24, 25, 26, 27)
-
Specification