Patent ID: 8429489

Claim:
A method of correcting and detecting data errors written into a storage device, the method comprising: generating a first polynomial whose roots comprise one or more powers of a primitive element of a Galois field, said first polynomial capable of being used to perform a first error correction of an encoded codeword, said first error correction correcting up to a first number of errors equal to one-half of a degree of said first polynomial; generating a second polynomial whose roots comprise one or more powers of a primitive element of said Galois field, said second polynomial capable of being used to perform an error detection check of said encoded codeword; and generating a product of said first polynomial and said second polynomial to yield a third polynomial, said third polynomial used to generate said encoded codeword, said third polynomial capable of being used to perform a second error correction of said encoded codeword, said second error correction correcting up to a second number of errors equal to one-half of a degree of said third polynomial.