Error detection for data storage and transmission
AssigneeHewlett-Packard Company
InventorKenneth Graham Paterson
Life of this patent
Estimating the term…
Abstract
A check sum calculation on data coded with a Reed-Solomon error correcting code is performed by applying a byte based polynomial remaindering process to data bytes. The polynomial is X2+Xα2+α, over GF (28), where α is the primitive element GF (28) used to define redundancy coding for individual data groups. The roots of the polynomial used in the polynomial remaindering process differ from the roots of a generator polynomial of the Reed-Solomon error correcting code. The polynomial remaindering process is performed with a sub function mask containing the same mask function as used in defining redundancy coding for a data group or groups. The data group or groups are redundance coded using a Reed-Solomon code over GF (28)
Claims31
A method of reading data coded with a Reed-Solomon error correcting code, said method comprising the steps of:
- reading said data;
- and
- performing a check sum calculation on said data;
- wherein said check sum calculation includes applying a byte based polynomial remaindering process to the bytes of said data, the polynomial used in said polynomial remaindering process being primitive over GF(28);
- and
- the roots of the polynomial used in said polynomial remaindering process are different to the roots of a generator polynomial of said Reed-Solomon error correcting code.
A method of reading redundancy coded data coded with a Reed-Solomon error correcting code, said method comprising the steps of:
- reading a group of said coded data;
- performing an error correction on said coded data group, to produce a corrected data group;
- and
- performing a check sum calculation on said error corrected data group;
- wherein said check sum calculation includes applying a byte based polynomial remaindering process to the bytes of said corrected data group, the polynomial used in said polynomial remaindering process being primitive over GF(28);
- and
- the roots of the polynomial used in said polynomial remaindering process are different to the roots of a generator polynomial of said Reed-Solomon error correcting code.
A method of reading redundancy coded data comprising the steps of:
- reading a plurality of groups of coded data;
- performing error correction on each of said individual data groups of coded data to produce a plurality of corrected data groups;
- performing a first check sum calculation on each of said plurality of corrected data groups;
- performing further error correction on said plurality of corrected data groups;
- and
- performing the same check sum calculations as previously performed on the individual corrected data groups;
- wherein at least one of said check sum calculations includes applying a byte based polynomial remaindering process to the bytes of said corresponding respective corrected data groups;
- wherein
- the polynomial used in said polynomial remaindering process is primitive over GF(28), the Galois field containing 256 elements;
- and
- roots of the polynomial used in said polynomial remaindering process are different to the roots of a generator polynomial of a Reed-Solomon error correcting code used in generating said redundancy coded data.
An apparatus for reading data coded with a Reed-Solomon error correcting code, said apparatus comprising:
- a reader for reading data;
- and
- a check sum calculator for performing a check sum calculation on the data,
- wherein said check sum calculation includes applying a byte based polynomial remaindering process to the bytes of said data, wherein a polynomial used in said polynomial remaindering process is primitive over GF(28);
- and
- the roots of a polynomial used in said polynomial remaindering process are different to the roots of a generator polynomial of said Reed-Solomon error correcting code.
An apparatus for reading redundancy coded data coded with a Reed-Solomon error correcting code, said apparatus comprising:
- a reader for reading data;
- an error corrector for performing error correction on said data;
- and
- a check sum calculator for performing a checksum calculation on the data;
- wherein
- said reader operates to read a group of redundancy coded data;
- said error corrector operates to produce corrected data;
- said check sum calculator includes the application of a byte based polynomial remaindering process to the bytes of said corrected data group, wherein a polynomial used in said polynomial remaindering process is primitive over GF(28);
- and
- the roots of a polynomial used in said polynomial remaindering process are different to the roots of a generator polynomial of said Reed-Solomon error correcting code.
An apparatus for reading redundancy coded data, said apparatus comprising:
- a reader for reading a plurality of groups of coded data;
- a first error corrector for performing error correction on individual said data groups of coded data to produce a plurality of corrected data groups;
- a first check sum calculator for performing a first check sum calculation on each of said plurality of corrected data groups;
- a second error corrector for performing further error correction on the plurality of corrected data groups;
- a second check sum calculator for performing the same check sum calculations as previously performed on the individual corrected data groups,
- wherein at least one of said check sum calculations includes applying a byte based polynomial remaindering process to the bytes of said corresponding respective corrected data groups, wherein a polynomial used in said polynomial remaindering process is primitive over GF(28);
- and
- the roots of a polynomial used in said polynomial remaindering process are different to the roots of a generator polynomial of a Reed-Solomon error correcting code.
Dependencies are inferred from the claim text.