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
data
module
key equation
key
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

本发明公开了一种流水结构的BCH译码系统,属于计算机存储纠错技术领域。本发明系统包括:并行校正子计算模块,用于根据接受到的数据并行计算校正子;关键方程求解‑并行钱氏搜索模块,用于根据校正子计算出关键方程,并找出关键方程的解;FIFO存储器模块,用于缓存从NAND Flash芯片中读出的数据,并在计算关键方程的解时,逐步输出FIFO存储器模块中的数据;BCH译码控制器模块,用于实现BCH译码两级流水线的并行执行。本发明系统通过复用BCH译码器中不同模块中的硬件资源,采用并行流水结构进行BCH译码,能够有效增加BCH译码的吞吐率和降低硬件开销。

The invention discloses a BCH decoding system with a pipeline structure, which belongs to the technical field of computer storage error correction. The system of the present invention includes: a parallel syndrome calculation module, which is used to calculate the syndrome in parallel according to the received data; a key equation solving-parallel chien search module, which is used to calculate the key equation according to the syndrome, and find out the solution of the key equation ; The FIFO memory module is used to buffer the data read from the NAND Flash chip, and when calculating the solution of the key equation, gradually output the data in the FIFO memory module; the BCH decoding controller module is used to realize the BCH decoding two Parallel execution of stage pipelines. The system of the invention multiplexes hardware resources in different modules of the BCH decoder and adopts a parallel pipeline structure for BCH decoding, which can effectively increase the throughput rate of BCH decoding and reduce hardware overhead.

Description

一种流水结构的BCH译码系统A Pipeline Structured BCH Decoding System

技术领域technical field

本发明属于计算机存储纠错领域领域,更具体地,涉及一种流水结构的BCH译码系统。The invention belongs to the field of computer storage error correction, and more specifically relates to a BCH decoding system with a pipeline structure.

背景技术Background technique

随着以NAND Flash为介质的非易失存储设备的广泛应用,单层NAND Flash已经无法满足大容量、低成本存储器的要求,新一代多层存储器单位成本低、存储密度高、存储容量大,越来越多地应用于非易失存储系统中,然而由于芯片工艺制程和相邻编程级别的距离越来越小,NAND Flash的原始误比特率(RBER)急剧增加,传统的纠错码已经无法满足可靠性要求。BCH(Bose,Ray-Chaudhuri,Hocquenghem)码作为一种循环码,其性能优良、结构简单,是一种广泛应用于存储系统的纠错码技术。当向NAND Flash芯片写入数据时,原始数据经过8位并行BCH编码器,完成数据编码后写入NAND Flash芯片,当从NAND Flash芯片读数据时,从芯片中8位并行的读出数据,并同时输入到BCH译码器,如果存储的数据错误数量小于BCH码能够纠正的最大错误数量,则输出正确的原始数据,如果数据错误数量高于BCH码能够纠正的最大错误数量则报告译码失败。With the wide application of non-volatile storage devices using NAND Flash as the medium, single-layer NAND Flash can no longer meet the requirements of large-capacity and low-cost storage. The new generation of multi-layer memory has low unit cost, high storage density, and large storage capacity. It is increasingly used in non-volatile storage systems. However, due to the increasingly smaller distance between the chip process and adjacent programming levels, the raw bit error rate (RBER) of NAND Flash has increased sharply. Traditional error-correcting codes have Unable to meet reliability requirements. As a cyclic code, BCH (Bose, Ray-Chaudhuri, Hocquenghem) code has excellent performance and simple structure, and is an error correction code technology widely used in storage systems. When writing data to the NAND Flash chip, the original data passes through the 8-bit parallel BCH encoder, and after the data encoding is completed, it is written into the NAND Flash chip. When reading data from the NAND Flash chip, the 8-bit parallel read data is read from the chip. And input to the BCH decoder at the same time, if the number of stored data errors is less than the maximum number of errors that can be corrected by the BCH code, the correct original data will be output, and if the number of data errors is higher than the maximum number of errors that can be corrected by the BCH code, the decoding will be reported fail.

BCH码的编码过程较为简单,使用线性反馈移位寄存器(LFSR)实现。BCH码的译码过程,主要分为三个步骤,分别是校正子计算、关键方程求解和钱氏搜索。其中关键方程求解过程复杂,消耗了大量的硬件逻辑资源,是BCH译码电路中的核心模块,目前的研究主要集中于减少关键方程求解电路的实现复杂度,而提升BCH译码器的译码速度主要通过并行化的方式来实现,通过并行化译码过程中的校正子计算和钱氏搜索算法,可以显著的改善BCH的译码速度。然而分立的研究BCH译码器的各个模块,并没有从整体中考虑BCH译码器中的电路资源共享,造成了大量的硬件资源开销。目前有研究团队提出了一种共享硬件资源的校正子-钱氏搜索块电路结构,可以降低BCH译码器的整体硬件复杂度,但是无法实现译码过程的流水方式执行,制约了性能的提高。The encoding process of the BCH code is relatively simple, and it is realized by using a linear feedback shift register (LFSR). The decoding process of the BCH code is mainly divided into three steps, which are syndrome calculation, key equation solving and Chien search. Among them, the key equation solving process is complicated and consumes a lot of hardware logic resources. It is the core module in the BCH decoding circuit. The current research mainly focuses on reducing the implementation complexity of the key equation solving circuit and improving the decoding of the BCH decoder. The speed is mainly achieved through parallelization. By parallelizing the syndrome calculation and the Chien search algorithm in the decoding process, the decoding speed of BCH can be significantly improved. However, the separate research on each module of the BCH decoder does not consider the sharing of circuit resources in the BCH decoder as a whole, resulting in a large amount of hardware resource overhead. At present, a research team has proposed a syndrome-Qian search block circuit structure that shares hardware resources, which can reduce the overall hardware complexity of the BCH decoder, but it cannot implement the pipeline execution of the decoding process, which restricts the improvement of performance. .

发明内容Contents of the invention

针对现有技术的以上缺陷或改进需求,本发明提供了一种流水结构的BCH译码系统,其目的在于从整体上考虑BCH译码器的硬件设计和SSD存储设备中数据读取的特点,通过复用BCH译码器中不同模块中的硬件资源,采用并行流水结构进行BCH译码,由此降低BCH译码器的硬件开销,提高BCH译码器的译码速度。In view of the above defects or improvement needs of the prior art, the present invention provides a BCH decoding system with a pipeline structure, the purpose of which is to consider the hardware design of the BCH decoder and the characteristics of data reading in SSD storage devices as a whole, By multiplexing the hardware resources in different modules in the BCH decoder, the parallel pipeline structure is used to decode the BCH, thereby reducing the hardware overhead of the BCH decoder and improving the decoding speed of the BCH decoder.

为实现上述目的,按照本发明的一个方面,提供了一种流水结构的BCH译码系统,所述系统包括:In order to achieve the above object, according to one aspect of the present invention, a BCH decoding system with a pipeline structure is provided, and the system includes:

并行校正子计算模块,用于根据接收到的数据并行计算校正子;Parallel syndrome calculation module, used for calculating the syndrome in parallel according to the received data;

关键方程求解-并行钱氏搜索模块,用于根据校正子计算出关键方程,并通过搜索关键方程根找出关键方程的解,在计算出关键方程和搜索关键方程根的过程中复用有限域乘法器;Key equation solving-parallel Chien search module, used to calculate key equations based on syndromes, and find the solution of key equations by searching key equation roots, and reuse finite fields in the process of calculating key equations and searching key equation roots multiplier;

FIFO存储器模块,用于缓存从NAND Flash芯片中读出的数据,并在计算关键方程的解时,逐步输出FIFO存储器模块中的数据;The FIFO memory module is used to cache the data read from the NAND Flash chip, and gradually output the data in the FIFO memory module when calculating the solution of the key equation;

BCH译码控制器模块,用于实现BCH译码两级流水线的并行执行:在流水线的第一级,从NAND Flash芯片读出数据并同时写入到并行校正子计算模块和FIFO存储器模块中;在流水线的第二级,将并行校正子计算模块中得到的校正子输入到关键方程求解-并行钱氏搜索模块中,逐步输出FIFO存储器模块中的数据,并根据得到的关键方程的解纠正FIFO存储器模块中输出的错误数据。The BCH decoding controller module is used to realize the parallel execution of the BCH decoding two-stage pipeline: at the first stage of the pipeline, data is read from the NAND Flash chip and simultaneously written into the parallel syndrome calculation module and the FIFO memory module; In the second stage of the pipeline, the syndrome obtained in the parallel syndrome calculation module is input into the key equation solving-parallel Chien search module, and the data in the FIFO memory module is gradually output, and the FIFO is corrected according to the obtained key equation solution Incorrect data output in the memory module.

进一步地,所述并行校正子计算模块具体用于:Further, the parallel syndrome calculation module is specifically used for:

接受从NAND Flash芯片读出数据,根据读出的数据并行的计算出数据对应的最小多项式的余式,并根据余式计算出对应的校正子的值。Accept the data read from the NAND Flash chip, calculate the remainder of the minimum polynomial corresponding to the data in parallel according to the read data, and calculate the value of the corresponding syndrome according to the remainder.

进一步地,所述关键方程求解-并行钱氏搜索模块具体用于使用SIBM算法计算出关键方程,使用钱氏搜索算法搜索关键方程根。Further, the key equation solving-parallel Chien search module is specifically used to use the SIBM algorithm to calculate the key equation, and use the Chien search algorithm to search for the root of the key equation.

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:Generally speaking, compared with the prior art, the above technical solution conceived by the present invention has the following technical characteristics and beneficial effects:

(1)通过在计算出关键方程和搜索关键方程根的过程中复用有限域乘法器降低译码的硬件开销;(1) Reduce the hardware overhead of decoding by multiplexing the finite field multiplier in the process of calculating the key equation and searching for the root of the key equation;

(2)实现了BCH译码两级流水线的并行执行,提高了译码效率吞吐率。(2) The parallel execution of the two-stage pipeline for BCH decoding is realized, which improves the decoding efficiency and throughput.

附图说明Description of drawings

图1是本发明技术方案的实施例的结构示意图;Fig. 1 is the structural representation of the embodiment of technical scheme of the present invention;

图2是本发明实施例的并行校正子模块电路示意图Fig. 2 is a schematic circuit diagram of a parallel calibration sub-module in an embodiment of the present invention

图3为本发明实施例的SIBM算法电路示意图;Fig. 3 is the SIBM algorithm circuit schematic diagram of the embodiment of the present invention;

图4为本发明实施例的并行钱氏搜索电路示意图;4 is a schematic diagram of a parallel chien search circuit according to an embodiment of the present invention;

图5为本发明实施例的关键方程求解-并行钱氏搜索电路示意图;Fig. 5 is the key equation solving-parallel chien search circuit schematic diagram of the embodiment of the present invention;

图6(a)为本发明实施例BCH译码无流水示意图;Figure 6 (a) is a schematic diagram of BCH decoding without pipeline according to an embodiment of the present invention;

图6(b)为本发明实施例BCH译码流水示意图;Figure 6(b) is a schematic diagram of the BCH decoding pipeline according to the embodiment of the present invention;

具体实施方式detailed description

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not constitute a conflict with each other.

首先对本发明的技术术语进行解释和说明,并在后续描述中做出以下规定:First explain and illustrate the technical terms of the present invention, and make the following provisions in the follow-up description:

BCH(n,k,t)码:表示码字长度为n位(n<=2m-1,m为正整数,当n=2m-1时,该BCH码为标准BCH码),信息位长度为k位,冗余位信息位为r位(r=n-k),t表示该纠错码的纠错能力,表示码字的n位中出现的任何少于t比特的错误都可以纠正。BCH (n, k, t) code: indicates that the code word length is n bits (n<=2 m -1, m is a positive integer, when n=2 m -1, the BCH code is a standard BCH code), information The bit length is k bits, and the redundant bit information bits are r bits (r=nk), and t represents the error correction capability of the error correction code, indicating that any errors less than t bits in the n bits of the codeword can be corrected .

BCH缩短码:对于所有n<2m-1的BCH码字,都是标准BCH码的一种缩短码,一个缩短的BCH码可以被看成一个高位序列为0的标准的BCH码,因此缩短的BCH码的纠错能力保持不变。BCH shortened code: For all BCH codewords with n<2 m -1, it is a shortened code of the standard BCH code. A shortened BCH code can be regarded as a standard BCH code with a high-order sequence of 0, so the shortened The error correction capability of the BCH code remains unchanged.

如图1所示为本发明一种实施方式的结构示意图,包括并行校正子计算模块、关键方程求解-并行钱氏搜索模块、FIFO存储器模块和BCH译码控制器模块;As shown in Figure 1, it is a structural schematic diagram of an embodiment of the present invention, including a parallel syndrome calculation module, a key equation solving-parallel Chien search module, a FIFO memory module and a BCH decoding controller module;

并行校正子计算模块,用于计算编码校正子,对于BCH(n,k,t)码,并行校正子计算模块计算2t个如下定义的校正子:The parallel syndrome calculation module is used to calculate the encoding syndrome. For the BCH (n, k, t) code, the parallel syndrome calculation module calculates 2t syndromes defined as follows:

其中,Si表示第i个校正子;αi表示有限域中的第i个元素;R(αi)表示接受多项式,N表示余数多项式的最大幂指数,r(αi)表示αi对应最小多项式的余式;rji)表示余数多项式中次数为j的值。Among them, S i represents the i-th syndrome; α i represents the i-th element in the finite field; R(α i ) represents the acceptance polynomial, N represents the maximum power exponent of the remainder polynomial, r(α i ) represents the corresponding The remainder of the minimum polynomial; r ji ) represents the value of degree j in the remainder polynomial.

一个8位并行的校正子计算模块电路示意图如图2所示,数据以8位并行的方式输入,并行校正子计算模块将中间结果保持在寄存器(Parity Reg)中,完成数据输入后,寄存器(Parity Reg)中的值为r(x),将αi代入r(x)中得到所需的校正子。An 8-bit parallel syndrome calculation module circuit diagram is shown in Figure 2, the data is input in 8-bit parallel mode, and the parallel syndrome calculation module keeps the intermediate results in the register (Parity Reg), after completing the data input, the register ( The value in Parity Reg) is r(x), and α i is substituted into r(x) to get the required syndrome.

关键方程求解-并行钱氏搜索模块,用于求解BCH译码关键方程并搜索关键方程的根,其中求解BCH译码关键方程使用SIBM算法,搜索关键方程的根使用钱氏搜索算法。关键方程求解-并行钱氏搜索模块使用2t个校正子Si,0<i<2t作为输入,求解出关键方程并通过搜索关键方程根的形式来判断某个数据比特是否出错。The key equation solving-parallel Chien search module is used to solve the key equations of BCH decoding and search for the roots of the key equations. The SIBM algorithm is used to solve the key equations of BCH decoding, and the Chien search algorithm is used to search for the roots of the key equations. The key equation solving-parallel chien search module uses 2t syndromes S i , 0<i<2t as input, solves the key equation and judges whether a certain data bit is wrong by searching the form of the root of the key equation.

SIBM算法电路示意图如图3所示,校正子Si,0<i<2t以移位寄存器的方式逐步移位到SIBM算法电路中,根据SIBM算法,如图3所示的电路需要使用2t个通用有限域乘法器,经过t次迭代,即可计算出关键方程。The schematic diagram of the SIBM algorithm circuit is shown in Figure 3. The syndrome S i , 0<i<2t, is gradually shifted into the SIBM algorithm circuit in the form of a shift register. According to the SIBM algorithm, the circuit shown in Figure 3 needs to use 2t The general finite field multiplier can calculate the key equation after t iterations.

8位并行钱氏搜索电路示意图如图4所示,该8位并行的钱氏搜索电路一共需要使用(8+1)t个常数有限域乘法器,并行钱氏搜索电路接受来自SIBM算法电路的关键方程,初始化完成后将中间结果存放在寄存器D中,Chien_result的结果标志了该数据位是否出错,经过n(或者k)次迭代即可搜索完整个码字(或者信息位)。The schematic diagram of the 8-bit parallel chien search circuit is shown in Figure 4. The 8-bit parallel chien search circuit needs to use (8+1) t constant finite-field multipliers in total, and the parallel chien search circuit receives input from the SIBM algorithm circuit. The key equation, after the initialization is completed, the intermediate result is stored in the register D. The result of Chien_result marks whether the data bit is wrong, and the entire codeword (or information bit) can be searched after n (or k) iterations.

关键方程求解-并行钱氏搜索模块电路示意图如图5所示,SIBM算法计算完关键方程之后,根据BCH缩短码缩短的位数h,直接计算出迭代h次之后关键方程的值。以加快钱氏搜索的速度,在钱氏搜索电路模块中复用SIBM电路模块中的通用有限域乘法器,完成钱氏搜索的迭代计算,该实施例中,关键方程求解-并行钱氏搜索块一共使用2t个通用有限域乘法器,6t个常数有限域乘法器,相比分立的SIBM算法电路和8位并行的钱氏搜索电路可以减少3t个常数有限域乘法器的使用。The key equation solving-parallel Qian’s search module circuit schematic diagram is shown in Figure 5. After the SIBM algorithm calculates the key equation, it directly calculates the value of the key equation after h iterations according to the number of digits h shortened by the BCH shortening code. To speed up the chien search, multiplex the general finite field multiplier in the SIBM circuit module in the chien search circuit module to complete the iterative calculation of the chien search. In this embodiment, the key equation solving-parallel chien search block A total of 2t general finite field multipliers and 6t constant finite field multipliers are used, which can reduce the use of 3t constant finite field multipliers compared with discrete SIBM algorithm circuits and 8-bit parallel Chien search circuits.

FIFO存储器模块,用于缓存从NAND Flash芯片中读出的数据,执行钱氏搜索迭代算法时,逐步输出FIFO存储器模块中的数据。The FIFO memory module is used to cache the data read from the NAND Flash chip, and when executing the Chien's search iterative algorithm, gradually output the data in the FIFO memory module.

BCH译码控制器模块,用于控制并行校正子计算模块、关键方程求解-并行钱氏搜索模块和FIFO存储器模块之间的数据交互。根据NAND Flash页的特点,在一个NAND Flash页中通常会有多个BCH编码码字,所述BCH译码控制器模块用于实现一个页内的多个BCH码字两级流水的并行执行,其中并行校正子计算为流水线第一级,关键方程计算-并行钱氏搜索为流水线第二级,BCH译码无流水示意图如图6(a),流水示意图如图6(b)所示。NANDFlash芯片读出数据时,BCH译码控制器模块将数据同时写入到并行校正子计算模块和FIFO存储器模块中,对应如图6(b)中的并行校正子计算,第一个码字读出完毕之后,将校正子计算模块得到的校正子输入到关键方程求解-并行钱氏搜索块中,并将后续读出的码字同时写入到并行校正子计算模块和FIFO存储器模块中,开始下一个码字的译码操作,钱氏搜索模块迭代时,输出FIFO存储器模块中的数据并根据搜索结果纠正错误数据。The BCH decoding controller module is used to control the data interaction between the parallel syndrome calculation module, the key equation solving-parallel Chien search module and the FIFO memory module. According to the characteristics of the NAND Flash page, there are usually multiple BCH code words in a NAND Flash page, and the BCH decoding controller module is used to realize the parallel execution of the two-stage pipeline of multiple BCH code words in one page. Among them, the parallel syndrome calculation is the first stage of the pipeline, and the key equation calculation-parallel Chien search is the second stage of the pipeline. The schematic diagram of BCH decoding without pipeline is shown in Figure 6(a), and the schematic diagram of pipeline is shown in Figure 6(b). When the NANDFlash chip reads data, the BCH decoding controller module writes the data into the parallel syndrome calculation module and the FIFO memory module at the same time, corresponding to the parallel syndrome calculation in Figure 6(b), the first codeword read After the output is completed, the syndrome obtained by the syndrome calculation module is input into the key equation solving-parallel Chien search block, and the subsequent read codewords are simultaneously written into the parallel syndrome calculation module and the FIFO memory module, and start For the decoding operation of the next code word, when the Qian's search module iterates, it outputs the data in the FIFO memory module and corrects the wrong data according to the search result.

以上内容本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。It is easy for those skilled in the art to understand the above content. The above description is only a preferred embodiment of the present invention, and is not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention etc., should be included within the protection scope of the present invention.

Claims (3)

1.一种流水结构的BCH译码系统,其特征在于,所述系统包括:1. a BCH decoding system of pipeline structure, is characterized in that, described system comprises: 并行校正子计算模块,用于根据接收到的数据并行计算校正子;Parallel syndrome calculation module, used for calculating the syndrome in parallel according to the received data; 关键方程求解-并行钱氏搜索模块,用于根据校正子计算出关键方程,并通过搜索关键方程的根找出关键方程的解,在计算出关键方程和搜索关键方程根的过程中复用有限域乘法器;Key equation solving-parallel Chien search module, used to calculate key equations based on syndromes, and find out the solutions of key equations by searching the roots of key equations, with limited reuse in the process of calculating key equations and searching for keys. domain multiplier; FIFO存储器模块,用于缓存从NAND Flash芯片中读出的数据,并在计算关键方程的解时,逐步输出FIFO存储器模块中的数据;The FIFO memory module is used to cache the data read from the NAND Flash chip, and gradually output the data in the FIFO memory module when calculating the solution of the key equation; BCH译码控制器模块,用于实现BCH译码两级流水线的并行执行:在流水线的第一级,从NAND Flash芯片读出数据并同时写入到并行校正子计算模块和FIFO存储器模块中;在流水线的第二级,将并行校正子计算模块中得到的校正子输入到关键方程求解-并行钱氏搜索模块中,逐步输出FIFO存储器模块中的数据,并根据得到的关键方程的解纠正FIFO存储器模块中输出的错误数据。The BCH decoding controller module is used to realize the parallel execution of the BCH decoding two-stage pipeline: at the first stage of the pipeline, data is read from the NAND Flash chip and simultaneously written into the parallel syndrome calculation module and the FIFO memory module; In the second stage of the pipeline, the syndrome obtained in the parallel syndrome calculation module is input into the key equation solving-parallel Chien search module, and the data in the FIFO memory module is gradually output, and the FIFO is corrected according to the obtained key equation solution Incorrect data output in the memory module. 2.根据权利要求1所述的BCH译码系统,其特征在于,所述并行校正子计算模块具体用于:2. The BCH decoding system according to claim 1, wherein the parallel syndrome calculation module is specifically used for: 接受从NAND Flash芯片读出数据,根据读出的数据并行的计算出数据对应的最小多项式的余式,并根据余式计算出对应的校正子的值。Accept the data read from the NAND Flash chip, calculate the remainder of the minimum polynomial corresponding to the data in parallel according to the read data, and calculate the value of the corresponding syndrome according to the remainder. 3.根据权利要求1所述的BCH译码系统,其特征在于,所述关键方程求解-并行钱氏搜索模块具体用于使用SIBM算法计算出关键方程,使用钱氏搜索算法搜索关键方程根。3. The BCH decoding system according to claim 1, wherein the key equation solving-parallel Chien search module is specifically used to use the SIBM algorithm to calculate the key equation, and use the Chien search algorithm to search for the root of the key equation.
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 (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
CN114070454A (en) * 2020-07-30 2022-02-18 新岸线(北京)科技集团有限公司 Data storage processing method and device for iterative decoder

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 (4)

* 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
CN114070454A (en) * 2020-07-30 2022-02-18 新岸线(北京)科技集团有限公司 Data storage processing method and device for iterative 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
CN106888025B (en) A kind of cascade Error-correcting Encoding and Decoding method and system based on polarization code
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US11632135B2 (en) Apparatuses and methods for interleaved BCH codes
CN105553485B (en) BCH coding and decoding device and its decoding method based on FPGA
JP7012479B2 (en) Reed-Solomon Decoder and Decoding Method
CN101882467B (en) Memory control device with configurable ECC (Error Correction Code) parameter
CN107688506B (en) BCH decoding system with flow structure
US20170214415A1 (en) Memory system using integrated parallel interleaved concatenation
CN106708654A (en) Circuit structure for BCH error correcting code of NAND flash
Wang et al. Reliable MLC NAND flash memories based on nonlinear t-error-correcting codes
Spinner et al. Soft input decoder for high‐rate generalised concatenated codes
CN109935263A (en) The coding and decoding method and storage system of nonvolatile memory
US10133628B2 (en) Apparatuses and methods for encoding using error protection codes
CN112286716A (en) 1024-byte storage system error control module
Xueqiang et al. A high-speed two-cell BCH decoder for error correcting in MLC nor flash memories
CN103346805B (en) The decoding system of a kind of long BCH code and method
KR101154923B1 (en) BCH decoder, memory system having the same and BCHBCH decoding method
CN110708077B (en) LDPC code large number logic decoding method, device and decoder
CN103475378A (en) High-throughput-rate LDPC decoder suitable for optical communication
CN101931415A (en) Encoding device and method, decoding device and method as well as error correction system
Spinner et al. A decoder with soft decoding capability for high-rate generalized concatenated codes with applications in non-volatile flash memories
Lee et al. Implementation of parallel BCH encoder employing tree-type systolic array architecture
CN101447234B (en) Memory module and writing and reading method thereof
CN108170554B (en) NAND data coding method and device
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
GR01 Patent grant
GR01 Patent grant