CN109756235A - A kind of configurable parallel BCH error correction/encoding method - Google Patents

A kind of configurable parallel BCH error correction/encoding method Download PDF

Info

Publication number
CN109756235A
CN109756235A CN201811498136.4A CN201811498136A CN109756235A CN 109756235 A CN109756235 A CN 109756235A CN 201811498136 A CN201811498136 A CN 201811498136A CN 109756235 A CN109756235 A CN 109756235A
Authority
CN
China
Prior art keywords
data
input
error correction
parallel
encoding method
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.)
Pending
Application number
CN201811498136.4A
Other languages
Chinese (zh)
Inventor
周津
何全
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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN201811498136.4A priority Critical patent/CN109756235A/en
Publication of CN109756235A publication Critical patent/CN109756235A/en
Pending legal-status Critical Current

Links

Abstract

The present invention relates to a kind of configurable parallel BCH error correction/encoding methods, wherein include: that pretreatment comprises determining that coding configuration: information digit k verifies digit r, code word size n, error correction digit t and primitive polynomial f (x);Calculating parameter: generator polynomial g (x);Generator polynomial matrix Tg, verify calculating matrix Tg (p‑1);Generate calculation processing circuit.Carry out coding calculating, comprising: the input of information bit data parallel;Calculate check bit data;Judge whether that input finishes, if it is, output information position data M (x), otherwise output verification position data S (x).This coding method realizes the parallelization input of data and output, the time loss for reducing process flow of equal proportion significantly improve coded treatment efficiency.

Description

A kind of configurable parallel BCH error correction/encoding method
Technical field
The invention belongs to field of data correction, the configurable parallelization BCH error correction/encoding method of specifically a kind of parameter and Hardware realization.
Background technique
BCH code is a kind of encoding and decoding algorithm that can effectively correct error in data, is calculated by coding and adds check bit Carrying out data transmission on original information position, recipient is decoded to the data of acquisition and corrects if necessary error message, The algorithm be usually used in correcting the error code of transmission that the data in communication system send and receive or data storage into Row data are written and the correcting data error during reading back.BCH code belongs to linear block codes, to the multiple mistakes occurred at random Bit error correction ability is strong, and performance is close to theoretical value especially under short or medium code length, and it is opposite to construct convenience, coding Simply, it is suitble to hardware circuit to realize.
In concrete operations, Bose-Chaudhuri-Hocquenghem Code algorithm is to generate r by the transformation of generator polynomial G (x) to k information bit M (x) Then information bit and check bit are grouped together into the process of n bit word C (x), wherein n=k+r by bit check position S (x). It for ease of description and calculates, in block code, each code word is generally represented as associated polynomial form.Want The codeword polynome of Bose-Chaudhuri-Hocquenghem Code is obtained, key is exactly to find out check polynomial, basic calculating process are as follows: first will be former Beginning message polynomial:
M (x)=mk-1xk-1+mk-2xk-2+…+m2x2+m1x+m0 mi∈{0,1}
Multiplied by xn-kPower becomes xn-k×M(x);Then, xn-k× M (x) is divided by generator polynomial
G (x)=grxr+gr-1xr-1+…+g2x2+g1x+g0 gi∈{0,1}
Quotient q (x) and remainder polynomid S (x) are obtained, i.e.,
xn-k× M (x)=q (x) × G (x)+S (x),
Finally obtain codeword polynome are as follows:
C (x)=xn-k× m (x)+S (x)=c0+c1x+c2x2+…+cn-1xn-1
Fig. 1 show the linear feedback shift register schematic diagram realized according to the prior art, as shown in Figure 1, existing It is the side using linear feedback shift register (LFSR) as shown in Figure 1 based on generator polynomial calculation code check bit Formula.S1 and S3 is enabled to be closed, S2 is got at a, initial data m (x) is inputted to calculating one by one, while exporting to C (x);It is then turned off S1 and S3, S2 are got at b, and being exported again to the n-k data of C (x) is coding checkout position.
Above method simple possible, but can only step-by-step computation, therefore computational efficiency is very low, is not able to satisfy high-speed data The requirement of processing.
Summary of the invention
Of the invention is designed to provide a kind of configurable parallel BCH error correction/encoding method, above-mentioned existing for solving There is the problem of technology.
A kind of configurable parallel BCH error correction/encoding method of the present invention, wherein include: using p as parallel computation data Bit wide, set information position k can be divided exactly by p, i.e. kmodp=0;Second is that p is less than verification bit length r;
Original message polynomial M (x) is divided into p group with the following methods, is obtained:
M (x)=M0(x)+M1(x)+...+Mp-1(x),
Wherein
It further calculates:
Wherein
G (x)=grxr+gr-1xr-1+…+g2x2+g1x+g0 gi∈ { 0,1 }
Coding checkout position S (x) is indicated are as follows:
Overall calculation channel is divided into the input of the road p, corresponds respectively to M 'i(x), i=0~p, for per input M ' all the wayi (x), with coefficient of correspondence gnMould is carried out with the knot D of last register storage and adds operation, and result is temporarily stored in corresponding post In storage.
This coding method realizes the parallelization input and output of data, the time for reducing process flow of equal proportion Consumption, significantly improves coded treatment efficiency.
Detailed description of the invention
Fig. 1 show the linear feedback shift register schematic diagram realized according to the prior art;
Fig. 2 show the realization schematic diagram of the calculating operation of S (x);
Fig. 3 show the structure chart after computing block diagram variation;
Fig. 4 show a flow chart of this method of the present invention;
Fig. 5 is the structure chart for the specific example that the method for the present invention is realized.
Specific embodiment
To keep the purpose of the present invention, content and advantage clearer, with reference to the accompanying drawings and examples, to of the invention Specific embodiment is described in further detail.
A kind of configurable parallel BCH error correction/encoding method of the present invention includes: to realize parallel to promote computational efficiency It calculates, algorithm below is using p as parallel computation data bit width.2 settings are provided first: first is that information bit k can be whole by p It removes, i.e. kmodp=0;Second is that p is less than verification bit length r.
Original message polynomial M (x) is divided into p group with the following methods first, is obtained:
M (x)=M0(x)+M1(x)+...+Mp-1(x),
Wherein
It further calculates:
Wherein
Then, coding checkout position S (x) can be indicated are as follows:
Fig. 2 show the realization schematic diagram of the calculating operation of S (x), and as indicated with 2, overall calculation channel is divided into the input of the road p, Correspond respectively to M 'i(x), i=0~p.For per input M ' all the wayi(x) for, with coefficient of correspondence gnWith last deposit The result D of device storage carries out mould and adds operation, and result is temporarily stored in corresponding register D.Due in each effective input There is the input of (p-1) a data 0 between data, (p-1) a 0 disposed of in its entirety of data is further considered to calculate to reduce Number.The calculating operation of S (x) can be realized with Fig. 2 mode.
It is available, when input is data 0, the NextState D (t+1) and current state D of the register in circuit (t) there are following matrix operation relationships between:
It is available when input organizes data 0 with continuous (p-1) for one group of valid data I (t):
Wherein
Fig. 3 show the structure chart after computing block diagram variation, as shown in figure 3, in this way, g in above-mentioned calculation processnSystem Number array can be usedIt indicates, then computing block diagram is further change in realize input data p road parallel processing shown in Fig. 3 Meanwhile calculation times scaled-back is 1/p times.
Fig. 4 show a flow chart of this method of the present invention, as shown in figure 4, the process of this method specifically includes: pre- place Reason and coding calculate;
Pretreatment comprises determining that coding configuration includes: information digit k, verifies digit r, code word size n, error correction digit t And primitive polynomial f (x);
Calculating parameter: generator polynomial g (x);Generator polynomial matrix Tg, verify calculating matrix Tg (p-1);It generates and calculates Processing circuit;
Carry out coding calculating, comprising: the input of information bit data parallel;
Calculate check bit data;
Judge whether that input finishes, if it is, output information position data M (x), otherwise output verification position data S (x).
Fig. 5 be the method for the present invention realize specific example structure chart, as shown in figure 5, present invention determine that encoding scheme It is configured that using 32byte data as input information, actual information position is k=256bit=32x8bit, carries out BCH code to it Coded treatment selects GF (29) as finite field calculating space.Error correcting capability is set as t=4bit, available verification digit For r=36bit, total code word size is n=292bit, therefore realizes and be based on binary system BCH (292,256,4) block code.Choosing Selecting primitive polynomial is f (x)=1+x4+x9, realize the processing of p=8 parallel-by-bit.
It calculates relevant parameter and obtains generator polynomial
G (x)=g36x36+g35x35+g34x34+g31x31+g30x30+g25x25+g23x23+g21x21+ g20x20+g19x19+g16x16+ g15x15+g11x11+g8x8+g7x7+g5x5+g0
, wherein gnFor finite field gf (29) in corresponding element.To obtain matrix Tg, further calculate check bit calculating Matrix obtains:
Based on above-mentioned pre-processed results, structure such as Fig. 5 that the hardware circuit of calculating is realized is encoded, initial data 256bit information bit gradually enters coder module with 8 data bit widths parallel, and each clock cycle calculating matrix are to information bit It is handled, is stored the result into register, the also output as current circuit simultaneously of primary data information (pdi) position.When all After information bit input, stop the calculating that mould removes functional unit, switches the channel MUX using selection signal, it will be in actual registers Data gradually output in a manner of 8 parallel-by-bits to get to check bit data.
Compared with the prior art, the beneficial effects of the present invention are:
The structure of this method is simple, is easy to hardware realization, can support the different realization sides such as FPGA or chip design Formula.This structure realizes that framework effect is obvious, can quickly form corresponding scheme by the different configurations of parameter.This coding staff Method realizes the parallelization input of data and output, the time loss for reducing process flow of equal proportion significantly improve volume Code treatment effeciency.
The above is only a preferred embodiment of the present invention, it is noted that for the ordinary skill people of the art For member, without departing from the technical principles of the invention, several improvement and deformations can also be made, these improve and become Shape also should be regarded as protection scope of the present invention.

Claims (7)

1. a kind of configurable parallel BCH error correction/encoding method characterized by comprising using p as parallel computation data bit Width, set information position k can be divided exactly by p, i.e. kmodp=0;Second is that p is less than verification bit length r;
Original message polynomial M (x) is divided into p group with the following methods, is obtained:
M (x)=M0(x)+M1(x)+...+Mp-1(x),
Wherein
It further calculates:
Wherein
G (x)=grxr+gr-1xr-1+…+g2x2+g1x+g0 gi∈{0,1}
Coding checkout position S (x) is indicated are as follows:
Overall calculation channel is divided into the input of the road p, corresponds respectively to M 'i(x), i=0~p, for per input M ' all the wayi(x), with it is right Answer coefficient gnMould is carried out with the knot D of last register storage and adds operation, and result is temporarily stored in corresponding register.
2. the parallel BCH error correction/encoding method that can configure as described in claim 1, which is characterized in that due to each effective Input data between exist (p-1) a data 0 input, (p-1) a 0 disposed of in its entirety of data, to reduce calculation times.
3. the parallel BCH error correction/encoding method that can configure as described in claim 1, which is characterized in that further include: pretreatment packet It includes:
Determine coding configuration: information digit k verifies digit r, code word size n, error correction digit t and primitive polynomial f (x);
Calculating parameter: generator polynomial g (x);Generator polynomial matrix Tg, verify calculating matrix Tg (p-1);Generate calculation processing electricity Road.
4. the parallel BCH error correction/encoding method that can configure as described in claim 1, which is characterized in that carry out coding calculating, wrap It includes: the input of information bit data parallel;Calculate check bit data;Judge whether that input finishes, if it is, output information position data M (x), otherwise output verification position data S (x).
5. the parallel BCH error correction/encoding method that can configure as described in claim 1, which is characterized in that with 32byte data work To input information, actual information position is k=256bit=32x8bit, and BCH code coded treatment is carried out to it, selects GF (29) make Space is calculated for finite field, sets error correcting capability as t=4bit, obtaining verification digit is r=36bit, and total code word size is n= 292bit realizes and is based on binary system BCH (292,256,4) block code, selects primitive polynomial for f (x)=1+x4+x9, realize p The processing of=8 parallel-by-bits.
6. the parallel BCH error correction/encoding method that can configure as claimed in claim 5, which is characterized in that calculate relevant parameter and obtain Include: to generator polynomial
G (x)=g36x36+g35x35+g34x34+g31x31+g30x30+g25x25+g23x23+g21x21+g20x20+g19x19+g16x16+g15x15 +g11x11+g8x8+g7x7+g5x5+g0,
Wherein gnFor finite field gf (29) in corresponding element, to obtain matrix Tg, it further calculates check bit calculating matrix and obtains:
7. the parallel BCH error correction/encoding method that can configure as described in claim 1, which is characterized in that when input is data 0 When, there are following matrix operation relationships between the NextState D (t+1) and current state D (t) of the register in circuit:
It is available when input organizes data 0 with continuous (p-1) for one group of valid data I (t):
Wherein
CN201811498136.4A 2018-12-07 2018-12-07 A kind of configurable parallel BCH error correction/encoding method Pending CN109756235A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811498136.4A CN109756235A (en) 2018-12-07 2018-12-07 A kind of configurable parallel BCH error correction/encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811498136.4A CN109756235A (en) 2018-12-07 2018-12-07 A kind of configurable parallel BCH error correction/encoding method

Publications (1)

Publication Number Publication Date
CN109756235A true CN109756235A (en) 2019-05-14

Family

ID=66403667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811498136.4A Pending CN109756235A (en) 2018-12-07 2018-12-07 A kind of configurable parallel BCH error correction/encoding method

Country Status (1)

Country Link
CN (1) CN109756235A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908827A (en) * 2019-11-19 2020-03-24 天津津航计算技术研究所 Parallel BCH decoding method for error correction of NAND Flash memory
CN111192624A (en) * 2019-12-30 2020-05-22 深圳市芯天下技术有限公司 System and method for testing performance of BCH (broadcast channel) error correcting code
CN114996050A (en) * 2022-08-01 2022-09-02 中科亿海微电子科技(苏州)有限公司 Parameter-configurable automatic error detection and correction circuit and error detection and correction method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101405A1 (en) * 2001-11-21 2003-05-29 Noboru Shibata Semiconductor memory device
CN101227194A (en) * 2008-01-22 2008-07-23 炬力集成电路设计有限公司 Circuit, encoder and method for encoding parallel BCH
CN102761340A (en) * 2012-08-10 2012-10-31 济南微晶电子技术有限公司 Broadcast channel (BCH) parallel coding circuit
CN102820892A (en) * 2012-06-20 2012-12-12 记忆科技(深圳)有限公司 Circuit for parallel BCH (broadcast channel) coding, encoder and method
CN103401566A (en) * 2013-08-06 2013-11-20 河海大学 Parameterization BCH (broadcast channel) error-correcting code parallel encoding method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101405A1 (en) * 2001-11-21 2003-05-29 Noboru Shibata Semiconductor memory device
CN101227194A (en) * 2008-01-22 2008-07-23 炬力集成电路设计有限公司 Circuit, encoder and method for encoding parallel BCH
CN102820892A (en) * 2012-06-20 2012-12-12 记忆科技(深圳)有限公司 Circuit for parallel BCH (broadcast channel) coding, encoder and method
CN102761340A (en) * 2012-08-10 2012-10-31 济南微晶电子技术有限公司 Broadcast channel (BCH) parallel coding circuit
CN103401566A (en) * 2013-08-06 2013-11-20 河海大学 Parameterization BCH (broadcast channel) error-correcting code parallel encoding method and device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908827A (en) * 2019-11-19 2020-03-24 天津津航计算技术研究所 Parallel BCH decoding method for error correction of NAND Flash memory
CN111192624A (en) * 2019-12-30 2020-05-22 深圳市芯天下技术有限公司 System and method for testing performance of BCH (broadcast channel) error correcting code
CN114996050A (en) * 2022-08-01 2022-09-02 中科亿海微电子科技(苏州)有限公司 Parameter-configurable automatic error detection and correction circuit and error detection and correction method

Similar Documents

Publication Publication Date Title
US9535788B2 (en) High-performance ECC decoder
Hou et al. BASIC codes: Low-complexity regenerating codes for distributed storage systems
CN1836394B (en) Apparatus and method for coding/decoding block ldpc codes in a mobile communication system
CN103888148B (en) A kind of LDPC code Hard decision decoding method of dynamic threshold bit reversal
CN101478314B (en) Reed-solomon coder-decoder and decoding method thereof
CN109756235A (en) A kind of configurable parallel BCH error correction/encoding method
CN100592639C (en) Low density parity check coding method, device and parity check matrix generating method
US20080040644A1 (en) Method of correcting message errors using cyclic redundancy checks
US10866857B2 (en) Encoding and decoding of permuted cyclic codes
CN112468161B (en) RS high-speed coding circuit
US8719678B2 (en) Configurable encoder for cyclic error correction codes
CN101800560B (en) Method for expanding error correcting capability of BCH (Broadcast Channel) encoding and decoding in Flash controller
CN101296053A (en) Method and system for calculating cyclic redundancy check code
CN101488762B (en) Area compact and fast BCH parallel decoding method
CN101567696B (en) Encoder and decoder of Code BCH with changeable parameters
CN102820892A (en) Circuit for parallel BCH (broadcast channel) coding, encoder and method
CN101425875B (en) Decoder
CN100417031C (en) Method of realizing Reed Solomen convolution code in broadband radio insertion system
CN103092816A (en) Generating device and generating method of constant coefficient matrixes in parallel reed solomon (RS) codes
US20060227017A1 (en) Information encoding by shortened reed-solomon codes
CN103346805A (en) System and method for coding long BCH codes
US20090249162A1 (en) Error correction system using the discrete fourier transform
CN103944589A (en) BCH (Bose, Ray-Chaudhuri and Hocquenghem) encoding and decoding method and device
CN103023512A (en) Device and method for generating constant coefficient matrix in ATSC system RS coding
KR101226439B1 (en) Rs decoder, memory system having the same and decoding method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190514

WD01 Invention patent application deemed withdrawn after publication