Error correction code for correcting shift and additive errors
AssigneeWestern Digital Technologies, Inc.
InventorPatrick J. Lee
Life of this patent
Estimating the term…
Abstract
An error correction system is disclosed comprising an encoder operable to generate an encoded codeword of a polynomial code over a Galois field GF(q) comprising q elements, wherein the encoded codeword comprises an input data sequence, at least one check symbol, and redundancy symbols. A decoder decodes a received codeword into the encoded codeword by correcting at least one error in the received codeword to generate a corrected codeword, evaluating at least one symbol of the corrected codeword relative to the check symbol in order to detect a shift error, and when the shift error is detected, shift the corrected codeword to correct the shift error.
Claims25
An error correction system comprising:
- an encoder operable to generate an encoded codeword of a polynomial code over a Galois field GF(q) comprising q elements, the encoded codeword comprising a plurality of symbols wherein each symbol comprises one of the q elements, the encoder operable to:
- add at least one check symbol to an input data sequence dn . . . d2, d1, d0 to generate a data polynomial;
- and
- append redundancy symbols to the data polynomial to form the encoded codeword, wherein the encoded codeword is transmitted through a channel;
- and
- a decoder for decoding a received codeword received from the channel into the encoded codeword, the decoder operable to:
- correct at least one error in the received codeword to generate a corrected codeword;
- evaluate at least one symbol of the corrected codeword relative to the check symbol in order to detect a shift error;
- and
- when the shift error is detected, shift the corrected codeword to correct the shift error.
A method of transmitting data through a channel, the method comprising:
- generating an encoded codeword of a polynomial code over a Galois field GF(q) comprising q elements, the encoded codeword comprising a plurality of symbols wherein each symbol comprises one of the q elements, the generating comprising:
- adding at least one check symbol to an input data sequence dn . . . d2, d1, d0 to generate a data polynomial;
- and
- appending redundancy symbols to the data polynomial to form the encoded codeword, wherein the encoded codeword is transmitted through the channel;
- and
- decoding a received codeword received from the channel into the encoded codeword, the decoding comprising:
- correcting at least one error in the received codeword to generate a corrected codeword;
- evaluating at least one symbol of the corrected codeword relative to the check symbol in order to detect a shift error;
- and
- when the shift error is detected, shifting the corrected codeword to correct the shift error.
A disk drive comprising:
- a disk;
- a head actuated over the disk;
- an encoder operable to generate an encoded codeword of a polynomial code over a Galois field GF(q) comprising q elements, the encoded codeword comprising a plurality of symbols wherein each symbol comprises one of the q elements, the encoder operable to:
- add at least one check symbol to an input data sequence dn . . . d2, d1, d0 to generate a data polynomial;
- and
- append redundancy symbols to the data polynomial to form the encoded codeword, wherein the encoded codeword is written to the disk;
- and
- a decoder for decoding a received codeword read from the disk into the encoded codeword, the decoder operable to:
- correct at least one error in the received codeword to generate a corrected codeword;
- evaluate at least one symbol of the corrected codeword relative to the check symbol in order to detect a shift error;
- and
- when the shift error is detected, shift the corrected codeword to correct the shift error.
Dependencies are inferred from the claim text.