Apparatus and method for reconstructing data using cross-parity stripes on storage media
DCFirst Claim
1. A method of reconstructing missing data when reading data from a storage medium, comprising:
- reading parity symbol values from a plurality of parity stripes on the storage medium;
determining, for each parity symbol, a total data value for known data symbols along a line associated with a parity stripe within the plurality of parity stripes;
calculating a value for any missing data from the parity symbol value and the total data value; and
using a correction matrix to reconstruct the missing data, wherein the correction matrix has a plurality of lines of different slope that are used to reconstruct missing data in data stripes, and wherein the missing data of the data stripes is reconstructed in an order based on an ordering of slopes of the lines of the correction matrix.
4 Assignments
Litigations
0 Petitions
Accused Products
Abstract
An apparatus and method for reconstructing missing data using cross-parity stripes on a storage medium is provided. The apparatus and method may operate on data symbols having sizes greater than a data bit. The apparatus and method makes use of a plurality of parity stripes for reconstructing missing data stripes. The parity symbol values in the parity stripes are used as a basis for determining the value of the missing data symbol in a data stripe. A correction matrix is shifted along the data stripes, correcting missing data symbols as it is shifted. The correction is performed from the outside data stripes towards the inner data stripes to thereby use previously reconstructed data symbols to reconstruct other missing data symbols.
139 Citations
28 Claims
-
1. A method of reconstructing missing data when reading data from a storage medium, comprising:
-
reading parity symbol values from a plurality of parity stripes on the storage medium;
determining, for each parity symbol, a total data value for known data symbols along a line associated with a parity stripe within the plurality of parity stripes;
calculating a value for any missing data from the parity symbol value and the total data value; and
using a correction matrix to reconstruct the missing data, wherein the correction matrix has a plurality of lines of different slope that are used to reconstruct missing data in data stripes, and wherein the missing data of the data stripes is reconstructed in an order based on an ordering of slopes of the lines of the correction matrix. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage medium, comprising:
-
a plurality of data stripes, the data stripes being comprised of a plurality of data symbols;
at least three cross-parity stripes, the cross parity stripes being comprised of a plurality of parity symbols, wherein the parity symbols of the cross-parity stripes are used to reconstruct missing data symbols when the data stripes are read; and
a preface section and suffix section, wherein the data symbols in the preface section and suffix section are assumed to be zero. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A redundant array of independent tapes (RAIT) system having a set of tape drives, comprising:
-
a plurality of data stripes, the data stripes being comprised of a plurality of data symbols;
a set of parity stripes, the set of parity stripes being comprised of a plurality of parity symbols, wherein the plurality of data stripes and the set of parity stripes are distributed over the set of tape drives of the RAIT system, and wherein the parity symbols of the set of parity stripes are used to reconstruct data symbols that are not read when the data stripes are read; and
a preface section and a suffix section, wherein data symbols in the preface section and the suffix section are assumed to be zero. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method of reconstructing data lost due to a stripe read error when reading a storage medium, comprising:
-
reading data symbols from a plurality of data stripes of the storage medium, the data symbols having missing data symbols;
reading parity symbols from a plurality parity stripes; and
using the parity symbols and data symbols along with a correction matrix to reconstruct the missing data symbols, wherein the correction matrix has a plurality of lines of different slope that are used to reconstruct missing data in data stripes, and wherein the missing data of the data stripes is reconstructed in an order based on an ordering of slopes of the lines of the correction matrix. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A data reconstruction apparatus, comprising:
-
a controller;
a data input interface; and
a data reconstruction unit, wherein data is read from a plurality of data stripes on a medium and input to the controller via the data input interface, the controller determines if the data input to the controller indicates that there is missing data, if missing data is present, the controller instructs the data reconstruction unit to reconstruct the missing data, and wherein the data reconstruction unit uses a correction matrix to reconstruct the missing data, wherein the correction matrix has a plurality of lines of different slope that are used to reconstruct missing data in the plurality of data stripes, and wherein the missing data of the plurality of data stripe is reconstructed in an order based on an ordering of slopes of the lines of the correction matrix. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification