Back to results
US 10,503,597 B2Granted
Symbol-level declustering of raid stripes to isolate data corruption
AssigneeSeagate Technology LLC
InventorEugene Taranta
Life of this patent
Estimating the term…
Abstract
Data targeted for storage into a drive array is divided into codewords with data and parity symbols. The symbols of the codewords are randomly distributed across a stripe of the drive array. One or more drives affected by data corruption are found based on a probability that a subset of inconsistent codewords intersects the one or more drives.
Claims17
A method, comprising:
- dividing data targeted for storage on a drive array into codewords, each of the codewords having a first set of data symbols and a second set of parity symbols, the symbols having a size less than a sector size of the drive array;
- randomly distributing the symbols of the codewords across a stripe of the drive array such that no two symbols from the same codeword map to the same drive;
- determining an inconsistent set of the codewords due to data corruption of one or more sectors of the drive array;
- determining, for each drive of the drive array, a probability that a subset of the inconsistent set stored on the drive is due to the drive failing, the determination of each probability involving:
- identifying a disjoint codeword subset that comprises codewords that only intersect the drive and not any other drives that store inconsistent codewords;
- counting corruptions in the pairwise disjoint codeword subsets;
- and
- determining the probability based on a ratio of the corruptions verses the subset size;
- and
- determining one or more drives affected by data corruption based on the probabilities.
7 more elements
A system comprising:
- an array of data storage drives;
- a controller coupled to the array of data storage drives and configured to perform:
- dividing data targeted for the array into codewords, each of the codewords having a first set of data symbols and a second set of parity symbols, each sector of the array storing a plurality of symbols;
- randomly distributing the symbols of the codewords across a stripe of the array such that no two symbols from the same codeword map to the same drive;
- determining an inconsistent set of the codewords due to data corruption of one or more sectors of the drive array;
- determining, for each drive of the array, a probability that a subset of the inconsistent set stored on the drive is due to the drive failing, the determination of each probability involving:
- identifying a disjoint codeword subset that comprises codewords that only intersect the drive and not any other drives that store inconsistent codewords;
- counting corruptions in the pairwise disjoint codeword subsets;
- and
- determining the probability based on a ratio of the corruptions verses the subset size;
- and
- determining one or more drives affected by data corruption based on the probabilities.
9 more elements
A method comprising:
- dividing an array of drives into stripes;
- for each stripe, declustering individual symbols of codewords across the stripe, the symbols comprising a first set of data symbols and a second set of parity symbols, each sector of the stripe storing a random collection of both the data symbols and the parity symbols;
- determining an inconsistent set of the codewords due to data corruption of one or more sectors of the drive array;
- determining a plurality of hypotheses that symbol corruptions are due to failures on a respective subsets of the drives, the determination of each hypothesis involving, for each drive in the subset:
- identifying a disjoint codeword subset that comprises codewords that only intersect the drive and not any other drives that store inconsistent codewords;
- counting corruptions in the pairwise disjoint codeword subsets;
- and
- determining the probability based on a ratio of the corruptions verses the subset size;
- determining a maximum hypothesis whose probability exceeds that of other hypotheses by a rejection threshold;
- and
- performing mitigation on the subset of drives identified associated with the maximum hypotheses.
8 more elements
Dependencies are inferred from the claim text.