WO2013147935A1 - Parallel encoding for non-binary linear block code - Google Patents

Parallel encoding for non-binary linear block code Download PDF

Info

Publication number
WO2013147935A1
WO2013147935A1 PCT/US2012/066554 US2012066554W WO2013147935A1 WO 2013147935 A1 WO2013147935 A1 WO 2013147935A1 US 2012066554 W US2012066554 W US 2012066554W WO 2013147935 A1 WO2013147935 A1 WO 2013147935A1
Authority
WO
WIPO (PCT)
Prior art keywords
parity
encoder module
shift register
digit
digits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2012/066554
Other languages
English (en)
French (fr)
Inventor
Kalyana Krishnan
Hai-Jo Tarn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Priority to EP12808950.5A priority Critical patent/EP2831999B1/en
Priority to JP2015503189A priority patent/JP5978382B2/ja
Priority to KR1020147029911A priority patent/KR101930583B1/ko
Priority to CN201280071938.1A priority patent/CN104247274B/zh
Publication of WO2013147935A1 publication Critical patent/WO2013147935A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1134Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/134Non-binary linear block codes not provided for otherwise
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/21Non-linear codes, e.g. m-bit data word to n-bit code word [mBnB] conversion with error detection or error correction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations

Definitions

  • This application relates generally to encoding non-binary linear block codes, and in particular, to a system and method for implementing parallel encoding for non-binary linear block codes.
  • Linear forward error correcting (FEC) codes have wide applications in communication and mass storage systems where data integrity and correctness have to be protected.
  • Linear block FECs take a block of data digits and protect the data block by adding a number of redundant digits.
  • an encoder computes these redundant digits, while a decoder uses the redundant digits to determine the correctness of a received data block and where possible, corrects an erroneous block of data using the redundant digits.
  • Linear block codes are denoted by the notation (n,k) where k message digits are encoded into n coded digits by an encoder module.
  • n-k redundant digits are added to the k message digits (e.g., data block) by the encoder.
  • the n-k redundant digits are also referred to as parity digits.
  • the n coded digits are simply the k message digits (e.g., data block) followed by n-k parity digits.
  • Parity digits are computed based on a generator polynomial g(x) defined on a Galois Field (GF).
  • the generator polynomial g(x) is defined on a second order (GF(2)) Galois Field.
  • the generator polynomial g(x) is defined on a q A m order (GF(q A m)) Galois Field, where q is a prime number.
  • Reed Solomon (RS) encoders fall under the class of non-binary linear block codes. For a 10 Gbps encoder, the maximum line rate that can be achieved is 1 1 .09 Gbit/sec.
  • an encoder module for parallel encoding L-digit portions of a K-digit message into an N-digit coded message with P parity digits includes an input configured to receive the L-digit portions of the K-digit message, and an output configured to output the N-digit coded message, where the input of the encoder module is coupled to the output.
  • the encoder module also includes P/L parity shift registers that are sequentially coupled, wherein an input of a first parity shift register of the parity shift registers is coupled to the input of the encoder module, an output of the last parity shift register of the parity shift registers is coupled to the output of the encoder module, and each of the parity shift registers is configured to store L parity digits.
  • the encoder module also includes a feedback circuit comprising P/L parity generation modules, wherein each of the parity generation modules is coupled to an output of a corresponding one of the parity shift registers by a switch and also coupled to the input of the first parity shift register, wherein each of the parity generation modules is configured to generate L parity digits for transmission to the input of the first parity shift register when its corresponding switch is closed.
  • an encoder module for parallel encoding L-digit portions of a K-digit message into an N-digit coded message with P parity digits includes an input configured to receive the L-digit portions of the K-digit message, and an output configured to output the N-digit coded message, where the input of the encoder module is coupled to the output.
  • the encoder module also includes a P/L stage delay coupled to the input and the output, and P/L parity shift registers that are sequentially coupled, wherein an input of a first parity shift register of the parity shift registers is coupled to the input of the encoder module, an output of the last parity shift register of the parity shift registers is coupled to the output of the encoder module, and each of the parity shift registers is configured to store L parity digits.
  • the encoder module also includes a feedback circuit comprising P/L parity generation modules, wherein each of the parity generation modules is coupled to an output of a corresponding one of the parity shift registers by a switch and also coupled to the input of the first parity shift register, wherein each of the parity generation modules is configured to generate L parity digits for transmission to the input of the first parity shift register when its corresponding switch is closed.
  • FIG. 1 illustrates a serial encoder module for serial encoding of non-binary linear block codes.
  • FIG. 2 illustrates an encoder module that implements parallel encoding of non-binary linear block codes.
  • FIG. 3 illustrates an encoder module that implements parallel encoding of non-binary linear block codes according to some embodiments
  • FIG. 4 illustrates an encoder module for implementing parallel encoding of non-linear block codes with reduced fan-out in accordance with some
  • Linear block codes are denoted by the notation (n,k) where k message digits are encoded into n coded digits by an encoder module. As such, n-k redundant digits are added to the k message digits (e.g., data block) by the encoder. The n-k redundant digits may be referred to as parity digits. Where systematic code is implemented, the n coded digits are simply the k message digits (e.g., data block) followed by n-k parity digits. Parity digits are computed based on a generator polynomial g(x) defined on a Galois Field (GF). For non- binary linear block codes, the generator polynomial g(x) is defined on a q A m order (GF(q A m)) Galois Field, where q is a prime number.
  • GF Galois Field
  • a k-digit message to be encoded is represented by the following message polynomial where m N- K corresponds to digits in the 2 A m order Galois field:
  • the generator polynomial is represented by g(x), which is defined on a 2 A m order Galois field.
  • a n-digit coded message is represented by the following polynomials, where the coefficients of p(x) are parity digits and the coefficients of c(x) are the final encoded digits:
  • parityv parityt;% parity corresponds to the array containing the parity coefficients
  • parityt(1 ) feedback(1 );
  • parityt(2:n-k) feedback(2:n-k) + parityv(1 :n-k-1 ); end;
  • FIG. 1 illustrates a serial encoder module 100 for serial encoding of non-binary linear block codes.
  • the serial encoder module 100 may be configured to generate any P number of parity digits for a K-digit message. However, for purposes of example, the serial encoder module 100 of FIG. 1 is configured to generate 4 parity digits for a K-digit message.
  • the serial encoder module 100 includes an input D in , an output D ou t, 4 single-digit parity shift registers103/103', and a feedback circuit 105 comprising 4 parity generation modules 107. While the serial encoder module 100 of FIG. 1 includes only 4 parity generation modules 107 (e.g. galois field multipliers) and 4 parity shift registers 103/103', a serial encoder module may include any P number of parity shift registers and any P number of parity generation modules corresponding to the P number of parity digits to be generated.
  • 4 parity generation modules 107 e.g. galois field multipliers
  • the input D in of the encoder module 100 is configured to receive the K- digit message as serial inputs and the output D ou t of the serial encoder module 100 is configured to output an N-digit coded message with P parity digits.
  • the parity generation modules 107 of the feedback circuit 105 are configured to generate parity digits which are stored in the parity shift registers 103/103', as will be discussed in detail below.
  • the 4 parity shift registers 103/103' are sequentially coupled, such that an output of a parity shift register 103/103' is coupled to an input of a subsequent parity shift register 103/103' (where a subsequent parity shift register exists).
  • Each parity shift register 103/103' corresponds to a parity generation module 107, and each parity generation module 107 is coupled to an input of its corresponding parity shift register 103/103'.
  • An adder module A may be associated with an input of each parity shift register 103/103' that is coupled to multiple sources (e.g., parity generation module and preceding parity shift register). The adder modules A facilitate combination of data received at an input of a parity shift register 103/103' for storage.
  • An output of a last parity shift register 103' of the 4 parity shift registers 103/103' is coupled to the input D in of the encoder module 100 and also coupled to each parity generation module 107 of the feedback circuit 105.
  • the output of the last parity shift register 103' is additionally coupled to the output D ou t of the encoder module 100 through a multiplexer.
  • An additional adder module A may be associated with the output of the last parity shift register 103'.
  • the additional adder module A facilitates combination of data received at the output of the last parity shift register 103' for transmission to the parity generation modules 107 of the feedback circuit 105.
  • the input D in of the encoder module 100 is similarly coupled to the output D ou t of the encoder module 100 through the multiplexer.
  • the feedback circuit 105 further comprises a switch S.
  • the switch S When the switch S is closed, the feedback circuit 105 is active, and the parity generation modules 107 are actively generating parity digits.
  • the switch S When the switch S is open, the feedback circuit 105 is deactivated and the parity generation modules 107 no longer generate parity digits.
  • the switch S of the feedback circuit 105 is closed.
  • a digit of the K-digit message is received at the input D in of the encoder modulel OO as a serial input, forwarded to the output of the last parity shift register 103', and subsequently forwarded to each parity generation module 107 of the feedback circuit 105.
  • Each parity generation module 107 of the feedback circuit 105 is configured to generate a single parity digit, which is stored in a corresponding parity shift register 103, 103'.
  • Each parity generation module 107 is configured to generate parity digits for each digit of the K-digit message in accordance with the recursive equation (5) and pseudo code described above. During each clock cycle, the parity digits generated by each parity generation module 107 are combined with the data currently being stored in each corresponding parity shift register 103/103' to form an updated set of parity digits.
  • each parity shift register 103, 103' transmits it stored data to a subsequent parity shift register (where there is a subsequent parity shift register).
  • the last parity shift register 103' transmits its stored data to each parity generation module 107 of the feedback circuit 105.
  • the parity digits stored in the parity shift registers 103/103' are updated each clock cycle, as a new digit of the K-digit message is received and new parity digits are generated by the parity generation modules 107 for storage in the parity shift registers 103/103'.
  • each digit of the K-digit message received at the input D in of the encoder module 100 is forwarded to the output Dout of the encoder module 100 through the multiplexer such that the first K digits output by the encoder module 100 is the K-digit message.
  • the parity digit values stored in the parity shift registers 103/103' are transmitted to the output D ou t of the encoder module 100.
  • the final parity digit values stored in the parity shift registers 103/103' are output in response to control signals CE coupled to each parity shift register 103/103'.
  • the parity digits stored in the last parity shift register 103' may be transmitted to the output D ou t of the encoder module 100 through the multiplexer, and the parity digits stored in each remaining parity shift register 103 may be transmitted to a subsequent parity shift register 103 through a respective adder module.
  • the encoder module 100 outputs an N-digit coded message, with the first K digits being the K message digits and the last P digits being the parity digits.
  • the encoder module of FIG. 1 operates to encode a K-digit message into an N-digit coded message with P parity digits, it suffers from several disadvantages. Because the encoder module operates in a serial manner, in order to achieve a high line rate, the encoder module must operate at a very high frequency. However, because of the complexity of the logic involved in configuring the parity generation modules, such a high frequency cannot be achieved without introducing various errors into the encoding process and additional costs.
  • FIG. 2 One approach for an encoder module that implements parallel encoding of non-binary linear block codes is illustrated in FIG. 2.
  • the serial encoder module 100 of FIG. 1 only a single digit of the K-digit message is processed each clock cycle.
  • the encoder module 200 of FIG. 2 allows for multiple digits (L) to be processed each clock cycle.
  • the encoder module 200 may be configured to generate any P number of parity digits for a K-digit message to form an N-digit coded message, where the K-digit message is received as L-digit parallel inputs and the N-digit coded message is output as L-digit parallel outputs.
  • K is not an integer multiple of L, zeros are inserted at the beginning of the message to achieve an overall message length that is a multiple of L.
  • the encoder module 200 includes an input D in , an output D ou t, 4 4-digit parity shift registers 203/203', and a feedback circuit 205 comprising 4 parity generation modules 207. While the encoder module 200 of FIG. 2 includes only 4 parity generation modules 207 and 4 4-digdigit parity shift registers 203/203', an encoder module 200 may include any P/L number of L-digit parity shift registers and any P/L number of parity generation modules corresponding to the P number of parity digits to be generated and the L-digit parallel inputs being received.
  • the input D in of the encoder module 200 is configured to receive the K- digit message as 4-digitdigit parallel inputs and the output D ou t of the encoding module 200 is configured to output an N-digit coded message with 16 parity digits as 4-digit parallel outputs.
  • the parity generation modules 207 of the feedback circuit 205 are each configured to generate 4 parity digits which are stored in the 4-digitdigit parity shift registers 203/203', as will be discussed in detail below.
  • the 4 4-digit parity shift registers 203/203' are sequentially coupled, such that an output of a parity shift register 203/203' is coupled to an input of a subsequent parity shift register 203/203' (where a subsequent parity shift register exists).
  • Each 4-digitdigit digital parity shift register 203/203' corresponds to a parity generation module 207, and each parity generation module 207 is coupled to an input of its corresponding parity shift register 203/203'.
  • An adder module A may be associated with an input of each parity shift register 203/203' that is coupled to multiple sources (e.g., parity generation module and preceding parity shift register). The adder modules A facilitate combination of data received at an input of a parity shift register 203/203' for storage.
  • An output of a last parity shift register 203' of the 4 4-digit parity shift registers 203/203' is coupled to the input of the encoder module D in and also coupled to each parity generation module 207of the feedback circuit 209.
  • the output of the last parity shift register 203' is additionally coupled to the output D ou t of the encoder module 200 through a multiplexer.
  • An additional adder module A may be associated with the output of the last parity shift register203'.
  • the additional adder module A facilitates combination of data received at the output of the last parity shift register 203' for transmission to the parity generation modules 207 of the feedback circuit 205.
  • the input D in of the encoder module 200 is also coupled to the output D ou t of the encoder module 200 through the multiplexer.
  • the feedback circuit 205 further comprises a switch S.
  • the switch S When the switch S is closed, the feedback circuit 205 is active, and the parity generation modules 207 are actively generating parity digits.
  • the switch S When the switch S is open, the feedback circuit 205 is deactivated and the parity generation modules 207 no longer generate parity digits.
  • the serial encoder module 100 of FIG. 1 included parity shift registers 103/103' that each stored a single digit
  • the encoder module 200 of FIG. 2 includes 4-digitdigit parity shift registers 203/203' that store 4 digits at a time.
  • the parity generation modules 207 of the feedback circuit 205 of FIG. 1 processed a single message digit at a time
  • the parity generation modules of the feedback circuit of FIG. 2 process 4 message digits at a time.
  • the recursive formula (5) for generating parity digits may be extended to support the processing of L digits simultaneously.
  • the modified recursive equation is rovided below:
  • each parity generation module of the feedback circuit generating L parity digits at a time using a P x L parity matrix (PMAT) defined by the following pseudo code. Every L rows of the PMAT forms one parity generation module.
  • PMAT P x L parity matrix
  • msg gf(eye(L),m);
  • residuejnat [msg zeros(L,P)]
  • residue_mat(row_index,:) residue_mat(row_index,:) +...
  • msg padded [gf(zeros(1 ,num_zeros_to_pad),nn) msg]; %the zero padding ensures that the message length is a multiple of the block length L.
  • Ifsr_state [gf(zeros(1 ,L),m) lfsr_state(1 :P-L)]+...
  • each 4-digit portion of the K-digit message is received at the input D in of the encoder module 200 as a parallel input, forwarded to the output of the last parity shift register 203', and subsequently forwarded to each parity generation module 207 of the feedback circuit 205.
  • Each parity generation module 207 of the feedback circuit 205 is configured to generate 4 parity digits (e.g., L parity digits), which are stored in a corresponding 4-digit parity shift register 203/203'.
  • Each parity generation module 207 is configured to generate parity digits for each L-digit portion of the K-digit message in accordance with the recursive equation (7), the PMAT matrix, and the pseudo code described above. During each clock cycle, the parity digits generated by each parity generation module 207 are combined with the data currently being stored in each corresponding parity shift register 203/203' to form an updated set of parity digits.
  • each parity shift register 203, 203' transmits its stored data to a subsequent parity shift register 203/203' (where there is a subsequent parity shift register).
  • the last parity shift register 203' transmits its stored data to each parity generation module 207 of the feedback circuit 205.
  • the parity digits stored in the parity shift registers 203/203' are updated each clock cycle, as a new L-digit portion of the K-digit message is received and new parity digits are generated by the parity generation modules 207 for storage in the corresponding parity shift registers
  • each 4-digit portion of the K-digit message received at the input D in of the encoder module 200 is forwarded to the output D ou t of the encoder module 200 through the multiplexer such that the first K digits output by the encoder module 200 are 4-digit parallel outputs of the K-digit message.
  • the switch S of the feedback circuit 205 is open and the final parity digit values stored in the parity shift registers 203/203' are transmitted to the output D ou t Of the encoder module 200.
  • the final parity digit values stored in the parity shift registers 203/203' are output in response to control signals CE coupled to each parity shift register 203/203'.
  • the 4 parity digits stored in the last parity shift register 203' may be transmitted to the output D ou t of the encoder module 200 through the multiplexer, and the 4 parity digits stored in each remaining parity shift register 203 may be transmitted to a subsequent parity shift register 203 through a respective adder module.
  • the encoder module 200 outputs an N-digit coded message as 4-digit parallel outputs, with the first K digits being the K message digits and the last P digits being the parity digits.
  • parity digits using the PMAT matrix can be efficiently computed as a sum of XORs.
  • a parity generation module e.g., serial encoding
  • a generator polynomial g(x) defined on a GF(q A m) Galois Field is used to generate parity digits
  • matrix multiplication may require up to m-1 XORs.
  • L message digits are being simultaneously processed by a parity generation module and a generator polynomial g(x) defined on a GF(q A m) Galois Field is used to generate parity digits
  • such matrix multiplication may require mL-1 XORs.
  • each parity generation module 207 of the feedback circuit 205 is not only performing matrix
  • each parity generation module 207 is coupled to the input D in of the encoder module 200 and the output of the last parity shift register 203' through the adder module coupled to the output of the last parity shift register 203'.
  • each parity generation module 207 2ml_-1 XORs are required to implement each parity generation module 207. It is also important to note that the feedback circuitry involves P * m such paths, which grows quickly with P and m. Consequently, the generation of parity digits by each parity generation module may form a critical path that limits the speed at which a K-digit message may be encoded into an N- digit coded message. Moreover, the additional computational logic required to implement each parity generation module 207 in FIG. 2 may also result in an increase in hardware resource requirements.
  • the encoder module 200 of FIG. 2 may be modified to reduce
  • FIG. 3 illustrates an encoder module 300 that implements parallel encoding of non- binary linear block codes according to some embodiments.
  • the encoder module 300 of FIG. 3 reduces computational logic required to implement each parity generation module, such that only mL-1 XORs are required to implement a parity generation module as opposed to the 2mL-1 XORs required in the encoder module 200 of FIG. 2.
  • the encoder module 300 of FIG. 3 allows for multiple digits (L) of a K-digit message to be processed each clock cycle, much like the encoder module of FIG. 2.
  • the encoder module 300 may be configured to generate any P number of parity digits for a K-digit message to form an N-digit coded message, where the K-digit message is received as L-digit parallel inputs and the N-digit coded message is output as L-digit parallel outputs.
  • K is not an integer multiple of L, zeros are inserted at the beginning of the message to achieve an overall message length that is a multiple of L.
  • the encoder module 300 includes an input D in , an output D ou t, a 4-digit input shift register 301 , 4 4-digit parity shift registers 303/303', and a feedback circuit 305 comprising 4 parity generation modules 307. While the encoder module 300 of FIG. 3 includes only 4 parity generation modules 307 and 4 4-digit parity shift registers 303/303', the encoder module 300 may include any P/L number of L-digit parity shift registers and any P/L number of parity generation modules corresponding to the P number of parity digits to be generated and the L-digit parallel inputs being received.
  • the input D in of the encoder module 300 is configured to receive the K- digit message as 4-digit parallel inputs and the output D ou t of the encoder module 300 is configured to output an N-digit coded message with 16 parity digits as 4- digit parallel outputs.
  • the parity generation modules 307 of the feedback circuit 305 are each configured to generate 4 parity digits at a time, which are stored in a corresponding 4-digit parity shift register 303/303', as will be discussed in detail below.
  • An input of the input shift register 301 is coupled to the input D in of the encoder module 300, and an output of the input shift register 301 is coupled to the output Dout of the encoder module 300 through a multiplexer.
  • the 4 4-digit parity shift registers 303/303' are sequentially coupled, such that an output of a parity shift register 303/303' is coupled to an input of a subsequent parity shift register 303/303' (where a subsequent parity shift register exists).
  • Each 4-digit parity shift register 303/303' corresponds to a parity generation module 307, and each parity generation module 307 is coupled to an input of its corresponding parity shift register 303/303'.
  • An input of the last parity shift register 303' of the 4 4-digit parity shift registers 303/303' is coupled to the input D in of the encoder module 300 and an output of the last parity shift register 303' is coupled to each parity generation module 307 of the feedback circuit 305.
  • An adder module A may be associated with an input of each parity shift register 303/303' that is coupled to multiple sources (e.g., parity generation module 307, preceding parity shift register 303, input D in of encoder module 300).
  • the adder modules A facilitate combination of data received at an input of a parity shift register 303/303' for storage.
  • An additional adder module A may be associated with the output of the last parity shift register 303'.
  • the additional adder module A facilitates combination of data received at the output of the last parity shift register 303' for transmission to the parity generation modules 307 of the feedback circuit 305.
  • the output of the last parity shift register 303' is
  • the feedback circuit 305 further comprises a switch S. When the switch S is closed, the feedback circuit 305 is active, and the parity generation modules 307 are actively generating parity digits. When the switch S is open, the feedback circuit 305 is deactivated and the parity generation modules 307 no longer generate parity digits.
  • each 4-digit portion of the K-digit message is received at the input D in of the encoder module 300 as a parallel input and is forwarded to both the input of the last parity shift register 303' and the input of the input shift register 301 during a first clock cycle.
  • the 4-digit portion of the K-digit message from the last parity shift register 303' is output into each parity generation module 307 of the feedback circuit 305, each parity generation module 307 thereby generating 4 parity digits that are transmitted to and stored in its corresponding parity shift register 303/303'.
  • Each parity generation module 307 is configured to generate parity digits for each digit of the K-digit message in accordance with the following pseudo code.
  • msg_padded [gf(zeros(1 ,num_zeros_to_pad),m) msg]; %the zero padding ensures that the message length is a multiple of the block length L.
  • msg_padded [msg_padded gf(zeros(1 ,L),m)]; %A zero is appended to the message to calculate the parity digits,
  • Equation for the above pseudo code may be generated by rearranging equation (4) from above as shown below to generate equation (8).
  • p (x) 0 + (m 0 ** " 1 3 ⁇ 4 + ) ⁇ j + (m 2 ) ⁇ + ... + K . ! 3 ⁇ 4 + 0
  • the 4-digit portion of the K-digit message is output from the input shift register 301 to the output D ou t of the encoder module 300 through the multiplexer. This continues until all 4-digit portions of the K-digit message have been received.
  • each parity shift register 303/303' transmits its stored data to a subsequent parity shift register 303/303' (where there is a subsequent parity shift register).
  • the last parity shift register 303' transmits its stored data to each parity generation module 307 of the feedback circuit.
  • the parity digits stored in the parity shift registers 303/303' are updated each clock cycle, as a new L-digit portion of the K-digit message is received and new parity digits are generated by the parity generation module 307 for storage in the corresponding parity shift registers 303/303'.
  • the newly generated parity digits are combined with the data currently being stored in corresponding parity shift registers 303/303' to form an updated set of parity digits.
  • a zero input is received by the input D in of the encoder module 300. The zero input causes the encoder module 300 to open the switch S of the feedback circuit 305.
  • the last 4- digit portion of the K-digit message in the input shift register 301 is output to the output of the encoder module D ou t and the last 4-digit portion of the K-digit message in the last parity shift register 303' is output into each parity generation module 307 of the feedback circuit 305 to generate corresponding parity digits prior to the switch S of the feedback circuit 305 opening.
  • the switch S of the feedback circuit 305 remains open and the final parity digit values stored in the parity shift registers 303/303' are output to the output D ou t of the encoder module 300.
  • the parity digits are output in response to control signals CE coupled to each of the parity shift registers 303/303'.
  • the 4 parity digits stored in the last parity shift register 303' may be transmitted to the output D ou t of the encoder module 300 through the multiplexer, and the 4 parity digits stored in each remaining parity shift register 303 may be transmitted to a subsequent parity shift register 303/303'.
  • each parity generation module 307 By coupling the input of the last parity shift register 303' to the input D in of the encoder module 300 rather than coupling the output of the last parity shift register 303' to the input D in of the encoder module 300, the matrix multiplication being performed by each parity generation module 307 is reduced in complexity. Rather than having to perform matrix multiplication on both the 4-digit portion of the K-digit message being received and the output of the last parity shift register 303' at a given clock cycle, matrix multiplication is only performed on the output of the last parity shift register 303' for a given clock cycle. Thus, rather than requiring 2ml_-1 XORs to implement each parity generation module 307, only mL-1 XORs are required to implement each parity generation module 307. This increases the speed at which a K-digit message may be encoded into an N-digit coded message and may also result in a decrease in hardware resource requirements.
  • the encoder module 300 of FIG. 3 may be further modified to improve fan-out.
  • Fan-out refers to the number of gate inputs a logic gate output is connected to. Fan-out is reduced where the number of gate inputs to which a logic gate output is connected is reduced.
  • FIG. 4 illustrates an encoder module 400 for implementing parallel encoding of non-linear block codes with reduced fan-out in accordance with some embodiments.
  • the encoder module 400 of FIG. 4 allows for multiple digits (L) of a K-digit message to be processed each clock cycle, much like the encoder module of FIG. 3.
  • the encoder module 400 may be configured to generate any P number of parity digits for a K-digit message to form an N-digit coded message, where the K-digit message is received as L-digit parallel inputs and the N-digit coded message is output as L-digit parallel outputs.
  • K is not an integer multiple of L, zeros are inserted at the beginning of the message to achieve an overall message length that is a multiple of L.
  • the encoder module 400 includes an input D in , an output D ou t, a 4 stage delay 409, 4 4-digit parity shift registers 403/4037403", and a feedback circuit 405 comprising 4 parity generation modules 407. While the encoder module 400 of FIG. 4 includes only 4 parity generation modules 407 and 4 4-digit parity shift registers 403/4037403", the encoder module 400 may include any P/L number of L-digit parity shift registers and any P/L number of parity generation modules corresponding to the P number of parity digits to be generated and the L-digit parallel inputs being received. Similarly, while the encoder module 400 of FIG. 4 includes only a 4 stage delay 409, the encoder module 400 may include any (P/L) stage delay corresponding to the P number of parity digits to be generated and the L-digit parallel inputs being received.
  • the input D in of the encoder module 400 is configured to receive the K- digit message as 4-digit parallel inputs and the output D ou t of the encoder module 400 is configured to output an N-digit coded message with 16 parity digits as 4- digit parallel outputs.
  • the parity generation modules 407 of the feedback circuit 405 are configured to generate parity digits which are stored in the 4-digit parity shift registers, as will be discussed in detail below.
  • the 4 4-digit parity shift registers 403/4037403" are sequentially coupled, such that an output of a parity shift register 403/4037403" is coupled to an input of a subsequent parity shift register 403/4037403" (were a subsequent parity shift register exists).
  • Each 4-digit parity shift register 403/4037403" corresponds to a parity generation module 407, and each parity generation module 407 is coupled to an output of its corresponding parity shift register 403/4037403".
  • An input of a first parity shift register 403' is coupled to the input D in of the encoder module 400 as well as the output of each parity generation module 407 of the feedback circuit.
  • An adder module A may be associated with the input of the first parity shift register that is coupled to multiple sources (e.g., output of each parity generation module 407 and input D in of encoder module 400).
  • the adder module A facilitates combination of data received at the input of the first parity shift register 403' for storage.
  • An output of a last parity shift register 403"of the 4 4-digit parity shift registers 403/4037403" is additionally coupled to the output Dout of the encoder module 400 through a multiplexer.
  • the 4-stage delay 409 is coupled to the input D in of the of the encoder module 400 and also coupled to the output D ou t of the encoder module 400 through the multiplexer.
  • the feedback circuit 405 further comprises 4 switches S1 , S2, S3, S4, wherein each switch S1 , S2, S3, S4 corresponds to a parity generation module 407. When a switch S1 , S2, S3, S4 is closed, its corresponding parity
  • each switch S1 , S2, S3, S4 of the feedback circuit 405 is closed.
  • a 4-digit portion of the K-digit message is received at the input D in of the encoder module 400 and forwarded to the first parity shift register 403'.
  • each parity shift register 403/4037404" transmits it stored data to a corresponding parity generation module 407 and also a subsequent parity shift register 403/4037403" (where there is a subsequent parity shift register).
  • Each parity generation module 407 generates parity digits, which are output back to the first parity shift register 403'.
  • the data stored in each parity shift register 403/4037403" is updated each clock cycle as new parity digits are being generated by the parity generation modules 407 of the feedback circuit 405 are being fed back into the first parity shift register 403'.
  • parity_temp PMAT (1 :4,:) * (shift_reg_state_0)+...
  • shift_reg_state_3 shift_reg_state_2;
  • shift_reg_state_2 shift_reg_state_1 ;
  • shift_reg_state_1 shift_reg_state_0;
  • shift_reg_state_0 parity_temp+u(i);
  • the shift registers at the end of the %following operation will contain the parity digits.
  • u(i) gf(zeros(1 ,L),m);
  • parityjemp PMAT (1 :4,:) * (shift_reg_state_0) * (1 -clr(1 ))+...
  • shift_reg_state_3 shift_reg_state_2;
  • shift_reg_state_2 shift_reg_state_1 ;
  • shift_reg_state_1 shift_reg_state_0;
  • shift_reg_state_0 parity_temp+u(i);
  • the data in the parity shift registers 403/4037403" form the parity digits.
  • the pseudo code may be derived in a manner similar to the derivation of (8) above. At any given cycle, only L parity digits are to be generated rather than the full P parity digits. The total P parity digits will then be generated over P/L clock cycles. Simultaneously during each clock cycle of the first K/L clock cycles, the 4- digit portion of the K-digit message received at the input D in of the encoder module 400 is passed through the 4-stage delay 409 before being transmitted to the output Dout of the encoder module 400 through a multiplexer such that the first K digits output by the encoder module 400 are 4-digit parallel outputs of the K-digit message.
  • each parity shift register 403/403' transmits its stored data to a corresponding parity generation module 407 (where the corresponding switch is closed).
  • the corresponding parity generation modules 407 generate parity digits which are forwarded to the first input shift register 403'. This is continued until all the switches S1 , S2, S3, S4 of the feedback circuit 405 are open.
  • the 4 parity digits stored in the last parity shift register403" may be transmitted to the output D ou t of the encoder module 400 through the multiplexer, and the 4 parity digits stored in each remaining parity shift register 403/403' may be transmitted to a subsequent parity shift register 403/403".

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
PCT/US2012/066554 2012-03-26 2012-11-26 Parallel encoding for non-binary linear block code Ceased WO2013147935A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP12808950.5A EP2831999B1 (en) 2012-03-26 2012-11-26 Parallel encoding for non-binary linear block code
JP2015503189A JP5978382B2 (ja) 2012-03-26 2012-11-26 非バイナリ線形ブロックコードの並列符号化
KR1020147029911A KR101930583B1 (ko) 2012-03-26 2012-11-26 비이진 선형 블록 코드에 대한 병렬 인코딩
CN201280071938.1A CN104247274B (zh) 2012-03-26 2012-11-26 非二进制线性块码的并行编码

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/430,222 2012-03-26
US13/430,222 US8949703B2 (en) 2012-03-26 2012-03-26 Parallel encoding for non-binary linear block code

Publications (1)

Publication Number Publication Date
WO2013147935A1 true WO2013147935A1 (en) 2013-10-03

Family

ID=47470125

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2012/066554 Ceased WO2013147935A1 (en) 2012-03-26 2012-11-26 Parallel encoding for non-binary linear block code

Country Status (6)

Country Link
US (1) US8949703B2 (enExample)
EP (1) EP2831999B1 (enExample)
JP (1) JP5978382B2 (enExample)
KR (1) KR101930583B1 (enExample)
CN (1) CN104247274B (enExample)
WO (1) WO2013147935A1 (enExample)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102820892B (zh) * 2012-06-20 2016-06-01 记忆科技(深圳)有限公司 一种用于并行bch编码的电路、编码器及方法
US20150363263A1 (en) * 2014-06-12 2015-12-17 HGST Netherlands B.V. ECC Encoder Using Partial-Parity Feedback
US11611359B2 (en) 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
KR20180059150A (ko) * 2016-11-25 2018-06-04 에스케이하이닉스 주식회사 1 클럭 인코딩이 가능한 에러 정정 코드 인코더 및 에러 정정 코드 인코딩 방법과, 그리고 그 에러 정정 코드 인코더를 포함하는 메모리 컨트롤러
US11515897B2 (en) 2015-05-29 2022-11-29 SK Hynix Inc. Data storage device
KR102285940B1 (ko) 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US10396827B2 (en) 2015-09-25 2019-08-27 SK Hynix Inc. Data storage device
US11177835B2 (en) 2015-09-25 2021-11-16 SK Hynix Inc. Data storage device
KR102683471B1 (ko) * 2021-05-07 2024-07-11 한국전자통신연구원 병렬 리드솔로몬 부호화 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777635A (en) * 1986-08-08 1988-10-11 Data Systems Technology Corp. Reed-Solomon code encoder and syndrome generator circuit
US6493845B1 (en) * 1999-06-21 2002-12-10 Maxtor Corporation Parallel input output combined system for producing error correction code redundancy symbols and error syndromes

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4293951A (en) * 1979-03-16 1981-10-06 Communications Satellite Corporation Method and apparatus for encoding/decoding a convolutional code to a periodic convolutional code block
US4410989A (en) * 1980-12-11 1983-10-18 Cyclotomics, Inc. Bit serial encoder
DE69315018T2 (de) * 1992-08-21 1998-04-30 Koninkl Philips Electronics Nv Hardware-effizientes Verfahren und Anordnung zur Kodierung von BCH-Kodes und insbesondere Reed-Solomon-Kodes
US5383204A (en) * 1993-06-29 1995-01-17 Mitsubishi Semiconductor America, Inc. Parallel encoding apparatus and method implementing cyclic redundancy check and Reed-Solomon codes
EP1018220B1 (en) * 1998-08-06 2007-07-25 Samsung Electronics Co., Ltd. Channel encoding/decoding in communication system
JP4295871B2 (ja) * 1999-09-24 2009-07-15 株式会社東芝 誤り訂正復号器
WO2001076077A2 (en) * 2000-03-31 2001-10-11 Ted Szymanski Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link
US6895545B2 (en) * 2002-01-28 2005-05-17 Broadcom Corporation System and method for generating cyclic codes for error control in digital communications
JP2004208282A (ja) * 2002-12-09 2004-07-22 Sony Corp データ処理装置
KR101238108B1 (ko) * 2004-01-15 2013-02-27 퀄컴 인코포레이티드 리드-솔로몬 인코딩 및 디코딩을 수행하는 방법 및 장치
US7565594B2 (en) * 2004-08-26 2009-07-21 Alcatel-Lucent Usa Inc. Method and apparatus for detecting a packet error in a wireless communications system with minimum overhead using embedded error detection capability of turbo code
US7395492B2 (en) * 2004-09-13 2008-07-01 Lucent Technologies Inc. Method and apparatus for detecting a packet error in a wireless communications system with minimum overhead using tail bits in turbo code
US7600176B2 (en) * 2006-03-07 2009-10-06 Broadcom Corporation Performing multiple Reed-Solomon (RS) software error correction coding (ECC) Galois field computations simultaneously
US7831895B2 (en) * 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
KR20080052039A (ko) * 2006-12-07 2008-06-11 삼성전자주식회사 순환 중복 검사에 의한 정정 에러를 검사하는 방법 및 그장치
US8286059B1 (en) * 2007-01-08 2012-10-09 Marvell International Ltd. Word-serial cyclic code encoder
US8151172B2 (en) * 2008-07-10 2012-04-03 Lsi Corporation Adjustable error-correction for a reed solomon encoder/decoder
CN101834615B (zh) * 2009-03-12 2012-12-26 高通创锐讯通讯科技(上海)有限公司 里德-索罗蒙编码器实现方法
JP5500357B2 (ja) * 2010-03-31 2014-05-21 ソニー株式会社 符号化装置、および符号化方法
CN102231631B (zh) * 2011-06-20 2018-08-07 深圳市中兴微电子技术有限公司 Rs编码器的编码方法及rs编码器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777635A (en) * 1986-08-08 1988-10-11 Data Systems Technology Corp. Reed-Solomon code encoder and syndrome generator circuit
US6493845B1 (en) * 1999-06-21 2002-12-10 Maxtor Corporation Parallel input output combined system for producing error correction code redundancy symbols and error syndromes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MATSUSHIMA T K ET AL: "Parallel architecture for high-speed Reed-Solomon codec", TELECOMMUNICATIONS SYMPOSIUM, 1998. ITS '98 PROCEEDINGS. SBT/IEEE INTE RNATIONAL SAO PAULO, BRAZIL 9-13 AUG. 1998, NEW YORK, NY, USA,IEEE, US, vol. 2, 9 August 1998 (1998-08-09), pages 468 - 473, XP010300851, ISBN: 978-0-7803-5030-4, DOI: 10.1109/ITS.1998.718439 *
QINGSHENG HU ET AL: "10Gb/s RS-BCH concatenated codec with parallel strategies for fiber communications", COMMUNICATIONS, CIRCUITS AND SYSTEMS (ICCCAS), 2010 INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 28 July 2010 (2010-07-28), pages 303 - 307, XP031760653, ISBN: 978-1-4244-8224-5 *

Also Published As

Publication number Publication date
EP2831999B1 (en) 2019-01-09
CN104247274B (zh) 2019-04-16
US8949703B2 (en) 2015-02-03
KR20140142320A (ko) 2014-12-11
US20130254639A1 (en) 2013-09-26
CN104247274A (zh) 2014-12-24
JP2015512585A (ja) 2015-04-27
KR101930583B1 (ko) 2018-12-18
JP5978382B2 (ja) 2016-08-24
EP2831999A1 (en) 2015-02-04

Similar Documents

Publication Publication Date Title
WO2013147935A1 (en) Parallel encoding for non-binary linear block code
US8108760B2 (en) Decoding of linear codes with parity check matrix
US8176396B2 (en) System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic
CN101795175B (zh) 数据的校验处理方法及装置
EP3610576B1 (en) Pipelined forward error correction for vector signaling code channel
JP2013523043A (ja) ソースデータセットの完全性を識別及び保護する方法
JPH10177497A (ja) リードソロモンデコーダのためのガロア域乗算器
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
US9065482B1 (en) Circuit for forward error correction encoding of data blocks
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
Li et al. Modified GII-BCH codes for low-complexity and low-latency encoders
CN112634092A (zh) 一种基于区块链的合同认证方法、装置、电子设备
US20100031126A1 (en) System and method for using the universal multipole for the implementation of a configurable binary bose-chaudhuri-hocquenghem (BCH) encoder with variable number of errors
US8656260B1 (en) Methods and circuits for processing a data block by frames
Rocha Versatile error-control coding systems
Ke Error Control Based on RS Codes
Fu et al. Error Control Coding for On-Chip Interconnects
Skrybaylo-Leskiv et al. Algebraic Modeling of Error-Correcting Codes for Info-Communication Systems
da Rocha Jr Elements of algebraic coding systems
Qiu et al. FPGA implementation of Reed-Solomon Codes Based on Visible Light Wireless Communication System
Dinh et al. Design of a high-speed (255,239) RS decoder using 0.18/spl mu/m CMOS
Farkaš et al. One error control scheme for ATM header
KR20150107561A (ko) 블록 코드에 대하여 저복잡도로 고차 신드롬을 계산하는 고차 신드롬 계산기 및 고차 신드롬 계산 방법
Shirwadkar et al. Pipelined Recursive Modified Euclidean Algorithm for RS Decoder
Kim et al. Hardware Design of Reed-Solomon code with Golay code

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12808950

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2012808950

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015503189

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20147029911

Country of ref document: KR

Kind code of ref document: A