当前位置: 首页 > 专利查询>殷民专利>正文

一种优化的BCH解码器制造技术

技术编号:7555811 阅读:195 留言:0更新日期:2012-07-14 04:25
本发明专利技术提供闪存控制器中一种优化的BCH解码方法和装置,方法包括:读取闪存信息,存储到FIFO中,并且根据读取信息计算伴随子;关键方程求解,即根据伴随子利用迭代算法计算错误位置多项式;根据错误位置多项式通过钱搜索(Chien?Search)验根决定错误位置;对错位位置上的错误信息取反纠错,得到闪存中纠正信息。在关键方程求解步骤中,利用二进制BCH码的特性,对现有的riBM算法优化,使逻辑几乎减小一半,迭代延迟只有原始算法的1/2,解决闪存控制器中ECC逻辑复杂的技术难点。本发明专利技术的电路高度对称、结构化,一方面有利于采用叠层的方式在逻辑复杂和译码延迟上权衡,另一方有利于VLSI后端布局布线。优化后的riBM算法亦可用于数字电视广播、空间通信等其他应用领域。

【技术实现步骤摘要】

本专利技术属于纠错控制编码的
,主要涉及BCH解码器的优化,可用于闪存控制器、数字视频广播系统、空间通信等应用场合。
技术介绍
与非闪存(nand flash memory)是一种非易失(non-volatile)的存储芯片,在功耗、速度、散热等方面具有明显的优势,广泛用于消费电子产品和便携式存储等领域。随着工艺的进步和新的接口标准推出,闪存的存储速度得到极大的提高,目前推出的0NFI3. 0 标准已经支持400MB/S的存储速度。据预计,基于闪存的固态硬盘(SSD),也会代替机械硬盘,成为数据存储的主流发展方向。根据每个浮栅存储的信息比特数,闪存可分为单层单元SLC (Single Layer Cell)、多层单元MLC (Multi-Level Cell)两种。相比于SLC,MLC存储密度大,成本低,但误码率较高,需要差错控制编码(ECC)支持,例如,美光(Micron)的MI^9F32G08CBABA系列要求每540字节12比特的纠错能力。BCH码是闪存控制器中常用的差错控制编码。BCH码是循环码的一个重要子类,有着严密的代数理论,其编码相对简单,而译码可分为伴随子计算、关键方程求解、钱搜索验根、纠错四个步骤。在BCH编解码的各个环节,关键方程求解是技术难点。Dilip V. Sarwate等人在 《High-speed architectures for Reed-Solomon decoders》一文中推导出 riBM 算法禾口 RiBM算法,解决传统的iBM算法硬件实现时速度问题,改善时序,除去不必要的逻辑。对纠错能力为T的RS码,riBM算法硬件实现时需要3T个加法器、6T个乘法器,迭代延迟为2T个时钟周期,相对于欧几里德算法面积更优化。在这两种算法的基础上,又衍生出其它算法, 例如采用叠层(FOLDER)形式复用逻辑等。专利技术者注意到,riBM、RiBM算法是针对RS码提出的通用算法,如果不加修改使用在BCH码上,会忽略BCH码许多特有的性质,造成硬件资源的浪费。在闪存控制器中,ECC纠错能力强,硬件消耗大,成为设计的瓶颈,所以面积上的优化非常重要。本专利技术在riBM算法的基础上,利用BCH码的特性,提出优化的关键方程求解算法和硬件实现方案,面积和译码的迭代延迟均减小为1/2,从较高层次上解决闪存控制器中 ECC逻辑的技术难点;此外,电路实现时逻辑对称、规则,结构清晰,一方面有利于采用叠层的方式在逻辑复杂和译码延迟上权衡,另一方有利于VLSI后端布局布线。
技术实现思路
本专利技术设施提供了一种闪存控制器中BCH解码器的设施和装置,能够占用较少的硬件资源,完成BCH的解码过程。为达到上述目的,本专利技术采用的技术方案有对纠错能力为T比特的BCH码,解码过程采用如下的方法读取闪存信息,存储到FIFO中,根据读取信息只计算前2T-1个伴随子,不需要计算第2T个伴随子;关键方程求解,即根据伴随子利用迭代算法计算错误位置多项式;根据错误位置多项式通过钱搜索(Chien Search)验根决定错误位置;对错位位置上的错误信息取反纠错,得到闪存中纠正信息。附图说明图1是解码的流程图。其中,关键方程求解采用的优化的riBM算法,输入信息是接收信息的伴随子Si (i = 0,1,……,2T-2),求解主要流程包括首先在零次迭代下根据伴随子设置差值多项式权利要求1.一种BCH码译码方法,其特征在于,所述方法包括读取接收信息,存储到FIFO中,并且根据读取信息计算伴随子;关键方程求解,即根据伴随子利用迭代算法计算错误位置多项式,对纠错能力为T的BCH码,该步骤包括首先在零次迭代下根据伴随子设置差值多项式系数及其辅助多项式系数初值,迭代系数为0,迭代限制条件为1 ;其次根据设定的初始值迭代T次,每次迭代更新差值多项式、辅助多项式、迭代系数、迭代限制条件;在迭代完毕后输出最终的错误位置多项式系数。通过钱搜索(Chien Search)验根决定错误位置。对错位位置上的错误信息取反纠错,得到闪存中纠正信息。2.根据权利要求1所述,伴随子计算过程的特征在于对纠错能力为T的BCH码,只需要计算前2T-1个伴随子Si = Σ r」(α i+1)1 (i = 0,1,...,2T-2),不需要计算第2T个伴随子&H。3.根据权利要求1所述,关键方程求解的方法、特征在于根据伴随子设置差值多项式t+rΓ TtIΓ+/ AW = I^'' (R= ~表示小于等于τ/2的最大整数)及其辅助多项式Θ(χ)=Σ&'的系数初值,/=0LzJ/-()数学表达式为 Si(O) = S2i (i = 0,……,T-1), δτ(0) = 1,Si(O) = 0(i = Τ+l,……,T+R), θ i(0) = S2i+1(i = 0,……,T-2),θ ^o) = 0(i = τ-l,……,T+R-l),θτ+Ε(0)=1。迭代系数在零次迭代下的初始值为0,数学表达式为K =O0迭代限制条件在零次迭代下的初始值为0,数学表达式为γ =0。4.根据权利要求3所述方法,关键方程求解的方法、特征在于根据权利要求3所设置的初始值迭代计算差值多项式系数、辅助多项式系数、迭代系数和迭代限制条件在第 Hr = 0,1,...,2T-1)次迭代过程中,总是有 δ々+1) = y (r) δ i+1 (r)+50(r)θ i(r) (i = 0,1,2, . . . , T+R) θ T_2_r(r+1) = 0,θ T+K+r(r+l) = 0如果 Mr) Φ 0&&κ (r)彡 0,则θ i (r+1) = δ i+1 (r) (i Φ T-2-r, T+R-l-r)Y(r+1) = λ0(Γ)κ (r+1) = - κ (r)否则θ i (r+1) = θ j (r) (i ^ T-2-r, T+R-l-r)Y(r+1) = y (r)κ (r+1) = κ (r)+l迭代结束后,输出错位位置多项式系数X2i = Si(T) (i =0,1,……,R),λ 2i+1 =5 i+i+E(T) (i = 0,1,……,T-R-l)。5.一种BCH译码装置,其特征在于,所述装置包括第一个计算单元,用于接收闪存中读取信息,计算前2T-1个伴随子。相对于传统的伴随子计算电路,该计算单元只需要前2T-1个伴随子计算逻辑,而第2T个伴随子的计算逻辑可以移去。第二个计算单元接收第一个单元计算出的伴随子,利用权利要求3、4中所描述的方法,迭代计算出接收信息对应的错误位置多项式。该计算单元包括两组寄存器组,第一组寄存器组用来保存差值多项式系数S ^,……,δ τ+κ,第二组寄存器组用来保存辅助多项式系数Θ。,……,θ T+R ;T+R+1个基本处理单元(Process Element),用来描述迭代前后δ ”θ i的变化关系;控制逻辑,用于产生其他模块的控制信号和判断迭代结束条件。第三个计算单元根据错误位置多项式,利用钱搜索算法,逐位验根,判断该位置是否是错误位置。第四个计算单元将读取信息中对应错误位置的信息取反,得到纠正后的信息。6.根据权利要求5所述装置,其特征在于,所述设置模块的初始值具体为存储差值多项式系数的寄存器组@ (i =本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:殷民
申请(专利权)人:殷民
类型:发明
国别省市:

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

1
相关领域技术