| US 7,555,701 B2 | ||
| Method and system for recovering from multiple drive failures | ||
| Sanjay Subbarao, Irvine, Calif. (US) | ||
| Assigned to Adaptec, Inc., Milpitas, Calif. (US) | ||
| Filed on Nov. 04, 2005, as Appl. No. 11/266,341. | ||
| Claims priority of provisional application 60/624564, filed on Nov. 04, 2004. | ||
| Prior Publication US 2006/0129760 A1, Jun. 15, 2006 | ||
| Int. Cl. H03M 13/00 (2006.01) | ||
| U.S. Cl. 714—781 | 10 Claims |

| 1. A method of recovering n×m unresolved symbols from a possible m-storage element failure in a networked array of n data
storage elements and m parity storage elements, where m is greater than two and n is greater than or equal to m, each storage
element having n symbols, the method comprising:
deriving a first set of n relationships, each of the first set of n relationships consisting of n data symbols from the n
data storage elements and one parity symbol from a first set of parity symbols, the n data symbols and one parity symbol in
each relationship being individually subjected to XOR operations that collectively equal zero;
deriving a second set of n relationships, each of the second set of n relationships consisting of n symbols from the n data
storage elements and first set of parity symbols and one parity symbol from a second set of parity symbols, the n symbols
and one parity symbol from the second set of parity symbols in each relationship being individually subjected to XOR operations
that collectively equal zero;
deriving additional sets of relationships such that a total of m sets of relationships are derived, each of the additional
sets of relationships composed of up to (n+i−1)Ci−1 relationships, where i indicates the numbered set of relationship and C is the mathematical symbol for combination, meaning
the number of combinations of (n+i−1) symbols taken i−1 at a time, each relationship in the sets of relationships consisting
of n symbols from the n data storage elements and i−1 sets of parity symbols and one parity symbol from the ith set of parity symbols, the at least n symbols and one parity symbol from the ith set of parity symbols in each relationship being individually subjected to XOR operations that collectively equal zero;
generating scripts that use the first, second and additional sets of relationships to generate XOR equations to resolve the
unresolved n×m symbols resulting from possible m-storage element failure combinations,
uploading the scripts to one or more storage element controllers for the networked array; and
running the scripts to resolve the unresolved n×m symbols resulting from an m storage element failure combination.
|