一种流水结构的BCH译码系统技术方案

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

A BCH decoding system for pipelining

The invention discloses a BCH decoding system for running water structure, which belongs to the field of computer storage and error correction technology. The system of the invention comprises: parallel correction sub calculation module for parallel computing according to receiving the data correction; key equation solving parallel Chien search module is used to calculate the key equation according to the correction, and find out the key equation; FIFO memory module is used to cache read out from the NAND Flash chip data, and in the calculation of the key equation solution, gradually FIFO output data in the memory module; BCH decoding controller module, BCH decoder is implemented for parallel execution of two stage pipeline. By multiplexing the hardware resources of different modules in the BCH decoder, the system adopts parallel pipelined structure for BCH decoding, which can effectively increase the throughput of BCH decoding and reduce the hardware cost.

【技术实现步骤摘要】
一种流水结构的BCH译码系统
本专利技术属于计算机存储纠错领域领域,更具体地,涉及一种流水结构的BCH译码系统。
技术介绍
随着以NANDFlash为介质的非易失存储设备的广泛应用,单层NANDFlash已经无法满足大容量、低成本存储器的要求,新一代多层存储器单位成本低、存储密度高、存储容量大,越来越多地应用于非易失存储系统中,然而由于芯片工艺制程和相邻编程级别的距离越来越小,NANDFlash的原始误比特率(RBER)急剧增加,传统的纠错码已经无法满足可靠性要求。BCH(Bose,Ray-Chaudhuri,Hocquenghem)码作为一种循环码,其性能优良、结构简单,是一种广泛应用于存储系统的纠错码技术。当向NANDFlash芯片写入数据时,原始数据经过8位并行BCH编码器,完成数据编码后写入NANDFlash芯片,当从NANDFlash芯片读数据时,从芯片中8位并行的读出数据,并同时输入到BCH译码器,如果存储的数据错误数量小于BCH码能够纠正的最大错误数量,则输出正确的原始数据,如果数据错误数量高于BCH码能够纠正的最大错误数量则报告译码失败。BCH码的编码过程较为简单,使用线性反馈移位寄存器(LFSR)实现。BCH码的译码过程,主要分为三个步骤,分别是校正子计算、关键方程求解和钱氏搜索。其中关键方程求解过程复杂,消耗了大量的硬件逻辑资源,是BCH译码电路中的核心模块,目前的研究主要集中于减少关键方程求解电路的实现复杂度,而提升BCH译码器的译码速度主要通过并行化的方式来实现,通过并行化译码过程中的校正子计算和钱氏搜索算法,可以显著的改善BCH的译码速度。然而分立的研究BCH译码器的各个模块,并没有从整体中考虑BCH译码器中的电路资源共享,造成了大量的硬件资源开销。目前有研究团队提出了一种共享硬件资源的校正子-钱氏搜索块电路结构,可以降低BCH译码器的整体硬件复杂度,但是无法实现译码过程的流水方式执行,制约了性能的提高。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种流水结构的BCH译码系统,其目的在于从整体上考虑BCH译码器的硬件设计和SSD存储设备中数据读取的特点,通过复用BCH译码器中不同模块中的硬件资源,采用并行流水结构进行BCH译码,由此降低BCH译码器的硬件开销,提高BCH译码器的译码速度。为实现上述目的,按照本专利技术的一个方面,提供了一种流水结构的BCH译码系统,所述系统包括:并行校正子计算模块,用于根据接收到的数据并行计算校正子;关键方程求解-并行钱氏搜索模块,用于根据校正子计算出关键方程,并通过搜索关键方程根找出关键方程的解,在计算出关键方程和搜索关键方程根的过程中复用有限域乘法器;FIFO存储器模块,用于缓存从NANDFlash芯片中读出的数据,并在计算关键方程的解时,逐步输出FIFO存储器模块中的数据;BCH译码控制器模块,用于实现BCH译码两级流水线的并行执行:在流水线的第一级,从NANDFlash芯片读出数据并同时写入到并行校正子计算模块和FIFO存储器模块中;在流水线的第二级,将并行校正子计算模块中得到的校正子输入到关键方程求解-并行钱氏搜索模块中,逐步输出FIFO存储器模块中的数据,并根据得到的关键方程的解纠正FIFO存储器模块中输出的错误数据。进一步地,所述并行校正子计算模块具体用于:接受从NANDFlash芯片读出数据,根据读出的数据并行的计算出数据对应的最小多项式的余式,并根据余式计算出对应的校正子的值。进一步地,所述关键方程求解-并行钱氏搜索模块具体用于使用SIBM算法计算出关键方程,使用钱氏搜索算法搜索关键方程根。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:(1)通过在计算出关键方程和搜索关键方程根的过程中复用有限域乘法器降低译码的硬件开销;(2)实现了BCH译码两级流水线的并行执行,提高了译码效率吞吐率。附图说明图1是本专利技术技术方案的实施例的结构示意图;图2是本专利技术实施例的并行校正子模块电路示意图图3为本专利技术实施例的SIBM算法电路示意图;图4为本专利技术实施例的并行钱氏搜索电路示意图;图5为本专利技术实施例的关键方程求解-并行钱氏搜索电路示意图;图6(a)为本专利技术实施例BCH译码无流水示意图;图6(b)为本专利技术实施例BCH译码流水示意图;具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。首先对本专利技术的技术术语进行解释和说明,并在后续描述中做出以下规定:BCH(n,k,t)码:表示码字长度为n位(n<=2m-1,m为正整数,当n=2m-1时,该BCH码为标准BCH码),信息位长度为k位,冗余位信息位为r位(r=n-k),t表示该纠错码的纠错能力,表示码字的n位中出现的任何少于t比特的错误都可以纠正。BCH缩短码:对于所有n<2m-1的BCH码字,都是标准BCH码的一种缩短码,一个缩短的BCH码可以被看成一个高位序列为0的标准的BCH码,因此缩短的BCH码的纠错能力保持不变。如图1所示为本专利技术一种实施方式的结构示意图,包括并行校正子计算模块、关键方程求解-并行钱氏搜索模块、FIFO存储器模块和BCH译码控制器模块;并行校正子计算模块,用于计算编码校正子,对于BCH(n,k,t)码,并行校正子计算模块计算2t个如下定义的校正子:其中,Si表示第i个校正子;αi表示有限域中的第i个元素;R(αi)表示接受多项式,N表示余数多项式的最大幂指数,r(αi)表示αi对应最小多项式的余式;rj(αi)表示余数多项式中次数为j的值。一个8位并行的校正子计算模块电路示意图如图2所示,数据以8位并行的方式输入,并行校正子计算模块将中间结果保持在寄存器(ParityReg)中,完成数据输入后,寄存器(ParityReg)中的值为r(x),将αi代入r(x)中得到所需的校正子。关键方程求解-并行钱氏搜索模块,用于求解BCH译码关键方程并搜索关键方程的根,其中求解BCH译码关键方程使用SIBM算法,搜索关键方程的根使用钱氏搜索算法。关键方程求解-并行钱氏搜索模块使用2t个校正子Si,0<i<2t作为输入,求解出关键方程并通过搜索关键方程根的形式来判断某个数据比特是否出错。SIBM算法电路示意图如图3所示,校正子Si,0<i<2t以移位寄存器的方式逐步移位到SIBM算法电路中,根据SIBM算法,如图3所示的电路需要使用2t个通用有限域乘法器,经过t次迭代,即可计算出关键方程。8位并行钱氏搜索电路示意图如图4所示,该8位并行的钱氏搜索电路一共需要使用(8+1)t个常数有限域乘法器,并行钱氏搜索电路接受来自SIBM算法电路的关键方程,初始化完成后将中间结果存放在寄存器D中,Chien_result的结果标志了该数据位是否出错,经过n(或者k)次迭代即可搜索完整个码字(或者信息位)。关键方程求解-并行钱氏搜索模块电路示意图如图5本文档来自技高网
...
一种流水结构的BCH译码系统

【技术保护点】
一种流水结构的BCH译码系统,其特征在于,所述系统包括:并行校正子计算模块,用于根据接收到的数据并行计算校正子;关键方程求解‑并行钱氏搜索模块,用于根据校正子计算出关键方程,并通过搜索关键方程的根找出关键方程的解,在计算出关键方程和搜索关键方程根的过程中复用有限域乘法器;FIFO存储器模块,用于缓存从NAND Flash芯片中读出的数据,并在计算关键方程的解时,逐步输出FIFO存储器模块中的数据;BCH译码控制器模块,用于实现BCH译码两级流水线的并行执行:在流水线的第一级,从NAND Flash芯片读出数据并同时写入到并行校正子计算模块和FIFO存储器模块中;在流水线的第二级,将并行校正子计算模块中得到的校正子输入到关键方程求解‑并行钱氏搜索模块中,逐步输出FIFO存储器模块中的数据,并根据得到的关键方程的解纠正FIFO存储器模块中输出的错误数据。

【技术特征摘要】
1.一种流水结构的BCH译码系统,其特征在于,所述系统包括:并行校正子计算模块,用于根据接收到的数据并行计算校正子;关键方程求解-并行钱氏搜索模块,用于根据校正子计算出关键方程,并通过搜索关键方程的根找出关键方程的解,在计算出关键方程和搜索关键方程根的过程中复用有限域乘法器;FIFO存储器模块,用于缓存从NANDFlash芯片中读出的数据,并在计算关键方程的解时,逐步输出FIFO存储器模块中的数据;BCH译码控制器模块,用于实现BCH译码两级流水线的并行执行:在流水线的第一级,从NANDFlash芯片读出数据并同时写入到并行校正子计算模块和FIFO存储器模块...

【专利技术属性】
技术研发人员:童薇冯丹刘景宁刘传奇纪少彬
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1