摘要 |
An error correction system includes an encoder that uses a modified Reed-Solomon code to encode m-bit data symbols over GF(2m+i) and form a preliminary code with d-1 (m+i)-bit ECC symbols. The encoder then modifies the ECC symbols by combining the preliminary code word with a combination of one or more modifying code words to produce modified ECC symbols that have i bits set in a pre-selected pattern. This combination also results in "R" pseudo redundancy symbols that include the i-bit pattern being appended to the modified ECC symbols. The encoder truncates the i-bit pattern from each of the ECC symbols and the pseudo-redundancy symbols, to produce a data code word that has symbols that are elements of GF(2m). To decode the data code word, the decoder fills in the i-bit pattern in each of the data code word symbols and decodes the code word, treating the first R of the modified ECC symbols as code word data, or information, symbols, and the remaining modified ECC symbols and the pseudo redundancy symbols as code word ECC symbols. The system determines for the encoder the generator polynomial, g(x), and the modifying code words by determining a g(x)=(x+ alpha L)*(x+ alpha L+1) . . . *(x+ alpha L+d-2) with L=1, 2, . . . that produces i*(d-1) modifying code words that have only one selected bit of the i-bit pattern set to a one. |