Patent ID: 6978415

Claim:
An error correction code encoder for encoding data in accordance with one or more factors of a generator polynomial g(x)=g 1 (x)*g 2 (x), the encoder including: A. a first stage for selectively multiplying symbols by g 1 (x) to produce a product or dividing the symbols by g 1 (x) to produce one or both of a quotient q 1 (x) and a remainder r 1 (x); B. a second stage for dividing q 1 (x) by the polynomial g 2 (x) to produce a remainder r 2 (x); C. a controller for operating the first and second stages, the controller operating a. in a first mode to supply the data to the first stage, the associated quotient q 1 (x) to the second stage, the associated remainder r 2 (x) produced by the second stage back to the first stage and control the first stage to produce the product r 2 (x)*g 1 (x); b. in a second mode to by-pass the second stage; and c. in a third mode to pass the data to the second stage as the quotient q 1 (x); and D. a processor for producing ECC symbols by manipulating the remainders and products produced by the first and second stages.