CN107688506A - A kind of BCH decoding systems of flowing structure - Google Patents

A kind of BCH decoding systems of flowing structure Download PDF

Info

Publication number
CN107688506A
CN107688506A CN201710769471.2A CN201710769471A CN107688506A CN 107688506 A CN107688506 A CN 107688506A CN 201710769471 A CN201710769471 A CN 201710769471A CN 107688506 A CN107688506 A CN 107688506A
Authority
CN
China
Prior art keywords
parallel
key equation
bch
data
module
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.)
Granted
Application number
CN201710769471.2A
Other languages
Chinese (zh)
Other versions
CN107688506B (en
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201710769471.2A priority Critical patent/CN107688506B/en
Publication of CN107688506A publication Critical patent/CN107688506A/en
Application granted granted Critical
Publication of CN107688506B publication Critical patent/CN107688506B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online 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/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/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention discloses a kind of BCH decoding systems of flowing structure, belong to computer storage error correcting technique field.Present system includes:The sub- computing module of parallel correction, for according to the data parallel syndrome received;Key equation solving parallel Chien search module, for going out key equation according to syndrome computations, and find out the solution of key equation;FIFO memory module, for caching the data that are read from NAND Flash chips, and when calculating the solution of key equation, progressively data in output fifo memory module;BCH decoding controller modules, for realizing that BCH decodes the parallel execution of two level production lines.Present system is carried out BCH decodings using parallel and pipeline structure, can be effectively increased the throughput of BCH decodings and reduce hardware spending by the hardware resource being multiplexed in BCH decoders in disparate modules.

Description

A kind of BCH decoding systems of flowing structure
Technical field
The invention belongs to computer storage field of error correction field, and system is decoded more particularly, to a kind of BCH of flowing structure System.
Background technology
With the extensive use using NAND Flash as the non-volatile memory apparatus of medium, individual layer NAND Flash without Method meets the requirement of Large Copacity, low cost storage device, and Multilayer Memory unit cost of new generation is low, storage density is high, storage is held Amount is big, is increasingly being applied in Nonvolatile memory system, yet with chip technology processing procedure and adjacent programmed rank away from From less and less, NAND Flash raw bit error rate (RBER) sharply increases, and traditional error correcting code can not meet can Required by property.BCH (Bose, Ray-Chaudhuri, Hocquenghem) codes are as a kind of cyclic code, its function admirable, structure Simply, it is a kind of error-correcting code technique for being widely used in storage system.When writing data to NAND Flash chips, original number According to 8 parallel-by-bit Bose-Chaudhuri-Hocquenghem Code devices are passed through, NAND Flash chips are write after completing data encoding, are read when from NAND Flash chips During data, the reading data of 8 parallel-by-bits from chip, and BCH decoders are input to simultaneously, if the error in data quantity of storage The maximum number of errors that can be corrected less than BCH code, then export correct initial data, if error in data quantity is higher than BCH The maximum number of errors that code can be corrected then reports decoding failure.
The cataloged procedure of BCH code is relatively simple, is realized using linear feedback shift register (LFSR).The decoding of BCH code Process, three steps are broadly divided into, are syndrome computations, key equation solving and chien search respectively.Wherein key equation is asked Solution preocess is complicated, consumes substantial amounts of hardware logic resource, is the nucleus module in BCH decoding circuits, current research is main The implementation complexity for reducing key equation solving circuit is concentrated on, and lifts the decoding speed of BCH decoders mainly by parallel The mode of change is realized, syndrome computations and chien search algorithm during being decoded by parallelization, can significantly be improved BCH decoding speed.But the modules of discrete research BCH decoders, consider not from entirety in BCH decoders Circuit resource share, cause substantial amounts of hardware resource cost.There is research team to propose a kind of shared hardware resource at present Syndrome-chien search block circuit structure, the overall hardware complexity of BCH decoders can be reduced, but can not realize and translate The pipeline mode of code process performs, and constrains the raising of performance.
The content of the invention
For the disadvantages described above or Improvement requirement of prior art, the invention provides a kind of BCH of flowing structure to decode system System, its object is to the characteristics of digital independent, lead in the hardware design of overall thinking BCH decoders and SSD storage devices The hardware resource in disparate modules in multiplexing BCH decoders is crossed, BCH decodings are carried out using parallel and pipeline structure, thus reduce BCH The hardware spending of decoder, improve the decoding speed of BCH decoders.
To achieve the above object, according to one aspect of the present invention, there is provided a kind of BCH decoding systems of flowing structure, The system includes:
The sub- computing module of parallel correction, for according to the data parallel syndrome received;
Key equation solving-parallel Chien search module, for going out key equation according to syndrome computations, and pass through search Key equation root finds out the solution of key equation, and finite field is multiplexed during key equation and search key equation root is calculated Multiplier;
FIFO memory module, for caching the data read from NAND Flash chips, and calculating key equation Solution when, progressively data in output fifo memory module;
BCH decoding controller modules, for realizing that BCH decodes the parallel execution of two level production lines:The first of streamline Level, read data from NAND Flash chips and be written to simultaneously in the sub- computing module of parallel correction and FIFO memory module; In the second level of streamline, the syndrome obtained in the sub- computing module of parallel correction is input to key equation solving-parallel money In family name's search module, the progressively data in output fifo memory module, and FIFO is corrected according to the solution of obtained key equation The wrong data exported in memory module.
Further, the sub- computing module of the parallel correction is specifically used for:
Receive to read data from NAND Flash chips, according to the data parallel of reading calculate data corresponding to it is minimum Polynomial residue, and according to corresponding to calculating residue syndrome value.
Further, the key equation solving-parallel Chien search module is specifically used for calculating using SIBM algorithms Key equation, use chien search algorithm search key equation root.
In general, by the contemplated above technical scheme of the present invention compared with prior art, have following technology special Sign and beneficial effect:
(1) translated by being multiplexed Galois field multiplier reduction during key equation and search key equation root is calculated The hardware spending of code;
(2) the parallel execution that BCH decodes two level production lines is realized, improves decoding efficiency throughput.
Brief description of the drawings
Fig. 1 is the structural representation of the embodiment of technical solution of the present invention;
Fig. 2 is the parallel correction submodular circuits schematic diagram of the embodiment of the present invention
Fig. 3 is the SIBM algorithm circuit diagrams of the embodiment of the present invention;
Fig. 4 is the parallel Chien search circuit diagram of the embodiment of the present invention;
Fig. 5 is key equation solving-parallel Chien search circuit diagram of the embodiment of the present invention;
Fig. 6 (a) is that BCH of the embodiment of the present invention is decoded without flowing water schematic diagram;
Fig. 6 (b) is that BCH of the embodiment of the present invention decodes flowing water schematic diagram;
Embodiment
In order to make the purpose , technical scheme and advantage of the present invention be clearer, it is right below in conjunction with drawings and Examples The present invention is further elaborated.It should be appreciated that specific embodiment described herein is only to explain the present invention, not For limiting the present invention.As long as in addition, technical characteristic involved in each embodiment of invention described below that Conflict can is not formed between this to be mutually combined.
The technical term of the present invention is explained and illustrated first, and following provisions are made in subsequent descriptions:
BCH (n, k, t) code:Expression code word size is n positions (n<=2m- 1, m are positive integer, work as n=2mWhen -1, the BCH code For standard BCH code), information bit length is k positions, and redundant digit information bit is r positions (r=n-k), and t represents the error correction energy of the error correcting code Power, any mistake less than t bits for representing to occur in the n positions of code word can correct.
BCH shortens code:For all n<2m- 1 BCH code word, all it is that a kind of of standard BCH code shortens code, a shortening BCH code can be seen as a high bit sequence be 0 standard BCH code, therefore shorten BCH code error correcting capability keep not Become.
It is as shown in Figure 1 the structural representation of one embodiment of the present invention, including the sub- computing module of parallel correction, key Equation solution-parallel Chien search module, FIFO memory module and BCH decoding controller modules;
The sub- computing module of parallel correction, for calculation code syndrome, for BCH (n, k, t) code, parallel correction calculates Module calculates the 2t syndromes being defined as below:
Wherein, SiRepresent i-th of syndrome;αiRepresent i-th of element in finite field;R(αi) represent to receive multinomial, N Represent the maximum power exponent of remainder polynomid, r (αi) represent αiThe residue of corresponding minimal polynomial;rji) represent that remainder is multinomial Number is j value in formula.
The syndrome computations modular circuit schematic diagram of one 8 parallel-by-bit is as shown in Fig. 2 data are defeated in a manner of 8 parallel-by-bits Entering, intermediate result is maintained in register (Parity Reg) by the sub- computing module of parallel correction, after completing data input, deposit Value in device (Parity Reg) is r (x), by αiSubstitute into r (x) and obtain required syndrome.
Key equation solving-parallel Chien search module, for solving BCH decoding key equations and searching for key equation Root, wherein solving BCH decoding key equations uses SIBM algorithms, the root for searching for key equation uses chien search algorithm.It is crucial Equation solution-parallel Chien search module uses 2t syndrome Si, 0<i<2t solves key equation and passed through as input The form for searching for key equation root judges whether some data bit malfunctions.
SIBM algorithms circuit diagram is as shown in figure 3, syndrome Si, 0<i<2t is progressively shifted in a manner of shift register Into SIBM algorithm circuits, according to SIBM algorithms, circuit as shown in Figure 3 needs to use 2t general finite domain multiplier, warp Cross t iteration, you can calculate key equation.
8 parallel-by-bit Chien search circuit schematic diagrames are as shown in figure 4, the Chien search circuit of 8 parallel-by-bit has needs altogether makes With (8+1) t constant Galois field multiplier, parallel Chien search circuit receives the key equation from SIBM algorithm circuits, just Intermediate result is stored in register D after the completion of beginningization, whether the Chien_result result mark data bit malfunctions, By n, (either k) secondary iteration can search for complete code word (or information bit).
Key equation solving-parallel Chien search modular circuit schematic diagram is as shown in figure 5, SIBM algorithms have calculated key side After journey, the digit h that code shortens is shortened according to BCH, directly calculates the value of the key equation afterwards of iteration h time.To accelerate Qian Shi The speed of search, the general finite domain multiplier being multiplexed in Chien search circuit module in SIBM circuit modules, completes Qian Shi The iterative calculation of search, in the embodiment, key equation solving-parallel Chien search block is multiplied altogether using 2t general finite domain Musical instruments used in a Buddhist or Taoist mass, 6t constant Galois field multiplier, the Chien search circuit compared to discrete SIBM algorithms circuit and 8 parallel-by-bits can subtract The use of few 3t constant Galois field multiplier.
FIFO memory module, for caching the data read from NAND Flash chips, perform chien search iteration During algorithm, progressively data in output fifo memory module.
BCH decoding controller modules, for controlling the sub- computing module of parallel correction, key equation solving-parallel Qian Shi to search Data interaction between rope module and FIFO memory module.According to the characteristics of NAND Flash pages, in a NAND Flash Multiple Bose-Chaudhuri-Hocquenghem Code code words are generally had in page, the BCH decoding controllers module is used to realize multiple BCH codes in a page The parallel execution of word two-stage flowing water, wherein parallel correction are calculated as the streamline first order, and key equation calculating-parallel Qian Shi is searched Rope is the streamline second level, and BCH decodings are shown without flowing water schematic diagram such as Fig. 6 (a), flowing water schematic diagram such as Fig. 6 (b).NAND When Flash chip reads data, data are written to the sub- computing module of parallel correction and FIFO by BCH decoding controllers module simultaneously In memory module, corresponding parallel correction as in Fig. 6 (b) calculates, after first code word reading finishes, by syndrome meter The syndrome that module obtains is calculated to be input in key equation solving-parallel Chien search block, and by the code word of subsequent readout simultaneously It is written in the sub- computing module of parallel correction and FIFO memory module, starts the decoded operation of next code word, chien search During module iteration, data in output fifo memory module simultaneously correct wrong data according to search result.
Above content as it will be easily appreciated by one skilled in the art that the foregoing is merely illustrative of the preferred embodiments of the present invention, It is not intended to limit the invention, all any modification, equivalent and improvement made within the spirit and principles of the invention etc., It should be included in the scope of the protection.

Claims (3)

1. the BCH decoding systems of a kind of flowing structure, it is characterised in that the system includes:
The sub- computing module of parallel correction, for according to the data parallel syndrome received;
Key equation solving-parallel Chien search module, for going out key equation according to syndrome computations, and it is crucial by searching for Equation root finds out the solution of key equation, and being multiplexed finite field during key equation and search key equation root is calculated multiplies Musical instruments used in a Buddhist or Taoist mass;
FIFO memory module, for caching the data read from NAND Flash chips, and in the solution for calculating key equation When, progressively data in output fifo memory module;
BCH decoding controller modules, for realizing that BCH decodes the parallel execution of two level production lines:In the first order of streamline, from NAND Flash chips read data and are written to simultaneously in the sub- computing module of parallel correction and FIFO memory module;In flowing water The second level of line, the syndrome obtained in the sub- computing module of parallel correction is input to key equation solving-parallel Chien search In module, the progressively data in output fifo memory module, and FIFO memory is corrected according to the solution of obtained key equation The wrong data exported in module.
2. BCH decoding systems according to claim 1, it is characterised in that the sub- computing module of parallel correction is specifically used In:
Receive to read data from NAND Flash chips, according to the data parallel of reading calculate data corresponding to it is minimum multinomial The residue of formula, and according to corresponding to calculating residue syndrome value.
3. BCH decoding systems according to claim 1, it is characterised in that the key equation solving-parallel Chien search Module is specifically used for calculating key equation using SIBM algorithms, uses chien search algorithm search key equation root.
CN201710769471.2A 2017-08-31 2017-08-31 BCH decoding system with flow structure Active CN107688506B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710769471.2A CN107688506B (en) 2017-08-31 2017-08-31 BCH decoding system with flow structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710769471.2A CN107688506B (en) 2017-08-31 2017-08-31 BCH decoding system with flow structure

Publications (2)

Publication Number Publication Date
CN107688506A true CN107688506A (en) 2018-02-13
CN107688506B CN107688506B (en) 2019-12-20

Family

ID=61155878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710769471.2A Active CN107688506B (en) 2017-08-31 2017-08-31 BCH decoding system with flow structure

Country Status (1)

Country Link
CN (1) CN107688506B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110875746A (en) * 2018-08-29 2020-03-10 南京大学 Hardware architecture of high-speed GII decoder
CN112099986A (en) * 2020-08-11 2020-12-18 西安电子科技大学 ECC decoding system and method of branch pipeline structure

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442677A (en) * 2007-11-23 2009-05-27 卓胜微电子(上海)有限公司 Hardware architecture for decoding FEC of DMB-T demodulation chip and decoding method
CN101488369A (en) * 2009-02-20 2009-07-22 苏州国芯科技有限公司 Interface circuit for BCH code controller
CN102354535A (en) * 2011-08-04 2012-02-15 记忆科技(深圳)有限公司 Logical unit multiplexing system
CN103916138A (en) * 2012-12-28 2014-07-09 深圳艾科创新微电子有限公司 Chien search circuit, and ECC decoding apparatus and method based on the Chien search circuit
CN106663463A (en) * 2014-07-03 2017-05-10 桑迪士克科技有限责任公司 On-chip copying of data between nand flash memory and reram of a memory die

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442677A (en) * 2007-11-23 2009-05-27 卓胜微电子(上海)有限公司 Hardware architecture for decoding FEC of DMB-T demodulation chip and decoding method
CN101488369A (en) * 2009-02-20 2009-07-22 苏州国芯科技有限公司 Interface circuit for BCH code controller
CN102354535A (en) * 2011-08-04 2012-02-15 记忆科技(深圳)有限公司 Logical unit multiplexing system
CN103916138A (en) * 2012-12-28 2014-07-09 深圳艾科创新微电子有限公司 Chien search circuit, and ECC decoding apparatus and method based on the Chien search circuit
CN106663463A (en) * 2014-07-03 2017-05-10 桑迪士克科技有限责任公司 On-chip copying of data between nand flash memory and reram of a memory die

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘杰: "长BCH码的编码和译码设计", 《桂林航天工业高等专科学校学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110875746A (en) * 2018-08-29 2020-03-10 南京大学 Hardware architecture of high-speed GII decoder
CN112099986A (en) * 2020-08-11 2020-12-18 西安电子科技大学 ECC decoding system and method of branch pipeline structure
CN112099986B (en) * 2020-08-11 2022-02-01 西安电子科技大学 ECC decoding system and method of branch pipeline structure

Also Published As

Publication number Publication date
CN107688506B (en) 2019-12-20

Similar Documents

Publication Publication Date Title
JP5913560B2 (en) Encoding and decoding techniques using low density parity check codes
US10445175B2 (en) Controller and operating method thereof
US9710327B2 (en) Flash memory system and operating method thereof
US20160164543A1 (en) Turbo product codes for nand flash
US11632135B2 (en) Apparatuses and methods for interleaved BCH codes
Wang et al. Reliable MLC NAND flash memories based on nonlinear t-error-correcting codes
CN105553485B (en) BCH coding and decoding device and its decoding method based on FPGA
JP2010218634A (en) Error detector/corrector, memory controller, and semiconductor memory device
Pontarelli et al. Low delay single symbol error correction codes based on reed solomon codes
CN101483442B (en) BCH decoder for configuring error correcting capability according to Nand Flash extra space
Spinner et al. Decoder architecture for generalised concatenated codes
CN101800560B (en) Method for expanding error correcting capability of BCH (Broadcast Channel) encoding and decoding in Flash controller
US9960788B2 (en) Memory controller, semiconductor memory device, and control method for semiconductor memory device
CN107688506A (en) A kind of BCH decoding systems of flowing structure
US10133628B2 (en) Apparatuses and methods for encoding using error protection codes
US20160179616A1 (en) Operating method of flash memory system
Xueqiang et al. A high-speed two-cell BCH decoder for error correcting in MLC nor flash memories
CN110113058A (en) Coding and decoding method, device, equipment and computer readable storage medium
US11689216B1 (en) Low gate-count generalized concatenated code (GCC) by online calculation of syndromes instead of buffer
CN101931415B (en) Encoding device and method, decoding device and method as well as error correction system
Lee et al. Implementation of parallel BCH encoder employing tree-type systolic array architecture
KR102021560B1 (en) Error bit search circuit, error check and correction circuit therewith, and memory device therewith
Wang et al. An on-chip high-speed 4-bit BCH decoder in MLC NOR flash memories
CN206077362U (en) BCH pre-searchs circuit and BCH decoding circuits
CN106067825B (en) BCH pre-searchs circuit, BCH decoding circuits, BCH pre-searching methods and BCH error correction methods

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
GR01 Patent grant
GR01 Patent grant