摘要:
Methods and associated structures for improved erasure correction and detection in digital communication channels utilizing modified Reed-Solomon decoding of encoded digital data. Methods and associated apparatus in accordance with features and aspects hereof perform Galois Field element generation in descending order for Reed-Solomon erasure detection and correction. Real time computation of Galois Field elements in descending order as required for erasure detection and correction features and aspects hereof eliminates the need for costly, complex, large, high speed lookup tables as previously practiced in the art for storing Galois Field element values pre-computed in the same ascending order of reception of the encoded code words. Features and aspects hereof may thus be applied in digital read channel applications including, for example, digital telecommunications receive/read channels and digital data storage read channels.
摘要:
An improved and extended Reed-Solomon-like method for providing a redundancy of m≧3 is disclosed. A general expression of the codes is described, as well as a systematic criterion for proving correctness and finding decoding algorithms for values of m>3. Examples of codes are given for m=3, 4, 5, based on primitive elements of a finite field of dimension N where N is 8, 16 or 32. A Horner's method and accumulator apparatus are described for XOR-efficient evaluation of polynomials with variable vector coefficients and constant sparse square matrix abscissa. A power balancing technique is described to further improve the XOR efficiency of the algorithms. XOR-efficient decoding methods are also described. A tower coordinate technique to efficiently carry out finite field multiplication or inversion for large dimension N forms a basis for one decoding method. Another decoding method uses a stored one-dimensional table of powers of α and Schur expressions to efficiently calculate the inverse of the square submatrices of the encoding matrix.
摘要:
An ECC circuit (103) is located between I/O terminals (1040-1047) and page buffers (1020-1027). The ECC circuit (103) includes a coder configured to generate check bits (ECC) for error correcting and attach the check bits to data to be written into a plurality of memory cell areas (1010-1017), and a decoder configured to employ the generated check bits (ECC) for error correcting the data read out from the memory cell areas (1010-1017). The ECC circuit (103) allocates a set of 40 check bits (ECC) to an information bit length of 4224=528×8 to execute coding and decoding by parallel processing 8-bit data, where data of 528 bits is defined as a unit to be written into and read out from one memory cell area (101j).
摘要:
Reed-Solomon encoders providing support for multiple codes in a simple architecture having a reduced number of Galois field multipliers. Rather than implementing n subfilters each representing an individual degree polynomial filter as in conventional Reed-Solomon encoder, multiple degree polynomials are factored in a way which is convenient to a desired plurality of Reed-Solomon codes. Thus, not only are the number of required Galois field multipliers reduced, but support for different Reed-Solomon codes is provided with a minimized number of Galois field multipliers. Preferred embodiments in compliance with the proposed 802.16.1 wireless standard support up to sixteen Reed-Solomon codes all within a single architecture, including sixteen subfilters, either cascaded or in parallel. Each of the individual filters balances and reduces critical path lengths in the Reed-Solomon encoder, and reduces the loading of critical nets, resulting in a Reed-Solomon encoder with a greater throughput for a given technology.
摘要:
An ECC circuit (103) is located between I/O terminals (1040–1047) and page buffers (1020–1027). The ECC circuit (103) includes a coder configured to generate check bits (ECC) for error correcting and attach the check bits to data to be written into a plurality of memory cell areas (1010–1017), and a decoder configured to employ the generated check bits (ECC) for error correcting the data read out from the memory cell areas (1010–1017). The ECC circuit (103) allocates a set of 40 check bits (ECC) to an information bit length of 4224=(528×8) bits to execute coding and decoding by parallel processing 8-bit data, where data of 528 bits is defined as a unit to be written into and read out from one memory cell area (101j).
摘要:
Transreceived packages use forward error correction (FEC) with matrix multiplication in a Galois field of size P (GF(P)) and contain at least a portion of K rows of matrix B having elements Bk,m in M columns. Packages include matrix C having elements Cn,m for FEC for the K rows. Matrix C has 0 to (N−1)th rows redundant with matrix B data. Elements Cn,m are computed by XOR'ing GExp[(GLog[An,k]+GLog[Bk,m]) mod (P−1)] for k from 0 to (K−1). Matrix A has elements An,k with N rows and K columns. GExp and GLog are one-dimensional arrays. Matrix A is chosen so up to N rows of B and C (total) can be lost, and B can be recovered. An inverse matrix D is computed from A with the rows of B and C. B is reconstructed from D and the received rows of B and C using another matrix multiplication.
摘要:
A decoder, encoder and corresponding system are disclosed for providing fast Forward Error Correcting (FEC) decoding and encoding of syndrome-based error correcting codes. Three-parallel processing is performed by elements of the system. More particularly, in an illustrative embodiment, a decoder performs three-parallel syndrome generation and error determination and calculations, and an encoder performs three-parallel encoding. Low power and complexity techniques are used to save cost and power yet provide relatively high speed encoding and decoding.
摘要:
The error offset and the error magnitude of a data stream in a Read-Solomon code is calculated using the same architecture. The advantage this method has over previous techniques is its simplicity of design and the minimum steps required to convert the syndrome information into an error location and correction pattern. The maximum of four cycles (steps) needed to compute the offset and correction pattern allows for a correction to be applied in the byte time immediately following receipt of the last check byte.
摘要:
An error correction code circuit with reduced hardware complexity is positioned inside a microprocessor. The microprocessor has a Galois field multiplier for performing a Galois field multiplication on data processed by the error correction code circuit. The error correction code circuit has a first register for storing an input data, a plurality of calculation units, a third register for storing an output data corresponding to the input data, and a controller for controlling operation of the error correction code circuit. Each calculation unit has a Galois field adder, and a second register electrically connected to the Galois field adder. The controller transmits data of each calculation unit to the same Galois field multiplier for a corresponding Galois field multiplication, and the result outputted by the Galois field multiplier is transmitted back to the error correction code circuit.
摘要:
A system for performing a Chien search simultaneously tests multiple elements of GF(2P) as possible roots of a degree-t error locator polynomial &sgr;(x) using a plurality of simplified multipliers that each simultaneously produce the corresponding terms of &sgr;(x). In one embodiment of the system, t−1 simplified multipliers over GF(2P) are used to simultaneously test as possible roots &agr;2, (&agr;2)2, (&agr;2)3 . . . (&agr;2)j. Each multiplier includes a plurality of adders that are set up in accordance with precomputed terms that are based on combinations of the weight-one elements of GF(2P). A summing circuit adds together the associated terms produced by the multipliers and produces j sums, which are then evaluated to test the j individual elements as possible roots. The coefficients of &sgr;(&agr;2)j are then fed back to the multipliers, and the multipliers test, during a next clock cycle, the elements &agr;2*(&agr;2)j, (&agr;2)2*(&agr;2)j . . . , (&agr;2)2j and so forth. Similar multipliers also test the odd powers of &agr; as roots of &sgr;′(x)=&sgr;(&agr;x). If P=mn the system may be implemented using a plurality of GF(2m) multipliers. The field GF(2m) is a subfield of GF(2P), and the elements of GF(2P) can each be represented by a combination of n elements of GF(2m). The error locator polynomial &sgr;(x) can thus be represented by a combination of n expressions &sgr;0(x), &sgr;2(x) . . . &sgr;n−1(x), each with coefficients that are elements of GF(2m). Each of the n expressions has 2m−1 coefficients for the terms x0, x1, x2 . . . x2m−1. Thus, n(2m−2) constant GF(2m) multipliers are used to test each element of GF(2P) as a possible root. The number of GF(2m) multipliers in the system is independent of the degree of the error locator polynomial, and each multiplier operates over a subfield of GF(2P). Accordingly, the system can simultaneously tests j elements using j sets of n(2m−2) constant multipliers over GF(2m).