准循环低密度奇偶校验码译码器及译码方法

文档序号:6773284阅读:151来源:国知局
专利名称:准循环低密度奇偶校验码译码器及译码方法
技术领域
本发明涉及固态硬盘纠错系统和方法,尤其涉及一种准循环低密度奇偶校验码 (QC-LDPC)译码器及译码方法。
背景技术
目前应用于固态硬盘的纠错技术主要是BCH技术,编码过程通过线性反馈移位寄 存器实现,寄存器的数目和纠错能力要求成正比;译码过程分为三部分,首先是伴随式计 算,随后是关键方程求解,最后是钱搜索过程。这种技术译码过程复杂,导致硬件实现电路 复杂,需要付出延迟和芯片面积的代价。随着工艺水平提高,闪存阵列页单元增大,纠错的 扇区大小从512B向1KB发展,码长增加同时要求纠错能力也增加。而随着码长和纠错能力 要求的增加,要求更大的伽罗瓦域,编码解码算法在更高数量级上进行,传统的BCH纠错技 术变得更复杂,硬件实现复杂程度和成本将大幅度增加。在大的伽罗瓦域进行编码译码设 计时,需要利用计算机进行复杂的设计运算,一般的计算机显然不能满足要求。同时,随着MLC(Multi-Level Cell,多层单元闪存)成为主流闪存,对纠错能力的 要求不断提高。其出错主要原因包括浮栅晶体管单元之间的干扰和一个单元内不同层次信 息之间的互相干扰,体现在影响阈值电压的分布上。BCH码对于MLC这种出错的修正能力有 限,因此成为阻碍MLC Flash发展的因素。传统BCH纠错技术对于特定的应用纠错位数是 固定的,意味着在译码过程中即使发生错误个数少于设定纠错位数时,译码过程中的伴随 式计算耗费的时钟周期没有减少,浪费了不必要的时钟周期。更多的比特信息存储在一个 浮栅晶体管单元上,存储密度的大幅度提升,要求更低误比特率,这些要求对BCH提出了巨 大的挑战,实现变得复杂甚至困难,而纠错性能则严重下降。综上可知,现有固态硬盘纠错系统及方法在实际使用上,显然存在不便与缺陷,所 以有必要加以改进。

发明内容
针对上述的缺陷,本发明的目的在于提供一种准循环低密度奇偶校验码译码器及 译码方法,其能在纠错完成时,控制结束伴随式计算以及节点更新,降低不必要的时钟周期 浪费,从而提高了译码速度。为了实现上述目的,本发明提供一种准循环低密度奇偶校验码译码器,所述译码 器包括校验节点处理模块,用于迭代信息的传递和更新,对待译码数据的校验节点进行 计算和更新;变量节点处理模块,用于对所述待译码数据的变量节点进行计算和更新;判决模块,用于根据所述变量节点处理模块的计算结果进行译码判决;伴随式处理模块,用于计算所述待译码数据的伴随式,并判断所述伴随式是否为 0,若是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。
根据本发明的译码器,所述译码器还包括初始化模块,用于对所述待译码数据进 行初始化以及设定最大迭代译码次数。根据本发明的译码器,所述译码器还包括迭代次数判断模块,用于判断译码迭代 次数是否达到所述最大迭代译码次数,若达到所述最大迭代译码次数,则终止译码。根据本发明的译码器,所述伴随式计算通过顺序电路结构或者并行电路结构实 现,所述并行电路结构包括多个并行设置的顺序电路结构。根据本发明的译码器,所述顺序电路结构包括第一寄存器组,用于存储校验矩阵 位;第二寄存器组,用于缓存伴随式计算中间结果;运算单元,用于对所述待译码数据和校 验矩阵位按位进行“与”运算,得到的结果与所述第二寄存器组缓存的伴随式计算中间结果 按位进行“异或”运算,并将“异或”运算结果缓存到所述第二寄存器组,并对所述第一寄存 器组中存储的校验矩阵位进行移位。本发明还提供一种准循环低密度奇偶校验码译方法,所述译码方法包括校验节点处理步骤,进行迭代信息的传递和更新,对所述待译码数据的校验节点 进行计算和更新;变量节点处理步骤,对所述待译码数据的变量节点进行计算和更新;译码判决步骤,根据变量节点计算结果进行译码判决;伴随式处理步骤,计算所述待译码数据的伴随式,并判断所述伴随式是否为0,若 是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。根据本发明的译码方法,所述校验节点处理步骤之前还包括对所述待译码数据 进行初始化以及设定最大迭代译码次数。根据本发明的译码方法,所述译码方法还包括迭代次数判断步骤判断译码迭代 次数是否达到所述最大迭代译码次数,若达到所述最大迭代译码次数,则终止译码。根据本发明的译码方法,所述伴随式计算通过顺序电路结构或者并行电路结构实 现,所述并行电路结构包括多个并行设置的顺序电路结构。根据本发明的译码方法,所述顺序电路结构包括第一寄存器组,用于存储校验矩 阵位;第二寄存器组,用于缓存伴随式计算中间结果;运算单元,用于对待译码数据和校验 矩阵位按位进行“与”运算,得到的结果与所述第二寄存器组缓存的伴随式计算中间结果按 位进行“异或”运算,并将“异或”运算结果缓存到所述第二寄存器组,并对所述第一寄存器 组中存储的校验矩阵位进行移位。本发明通过在译码时对待译码数据进行伴随式计算和伴随式判断,当伴随式为0 时,则输出译码结果并终止伴随式计算和节点更新,若伴随式不为0,则进行下一次迭代。借 此,与传统的BCH算法相比,本发明能在纠错完成时停止伴随式的计算,输出译码数据,降 低不必要的时钟周期浪费,从而提高了译码速度。


图1是本发明准循环低密度奇偶校验码译码器的原理结构图;图2是本发明伴随式计算电路的顺序电路结构图;图3是本发明伴随式计算电路的并行电路结构图;图4是本发明固态硬盘纠错系统的系统结构图5是本发明QC-LDPC编码器一种实施例的电路结构图;图6是本发明QC-LDPC编码器另一实施例的电路结构图;图7是本发明准循环低密度奇偶校验码译码方法的流程图;图8是本发明实施例提供的准循环低密度奇偶校验码译码具体流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。如图1所示,本发明一种准循环低密度奇偶校验码译码器10,基于 BeliefPropagation算法迭代译码,适用于对纠错能力要求高的具有长码长的固态硬盘纠 错系统100。译码器10主要包括初始化模块11、校验节点处理模块12、变量节点处理模块 13、判决模块14、伴随处理模块15。初始化模块11,用于对待译码数据进行初始化,设定最大迭代译码次数,进行初始 化之前需先经过速度匹配等处理。校验节点处理模块12,用于迭代信息的传递和更新,对待译码数据的校验节点进 行计算并更新。变量节点处理模块13,用于对待译码数据的变量节点进行计算和更新。判决模块14,用于根据变量节点处理模块的计算结果进行译码判决。伴随式处理模块15,用于对经过译码判决后的待译码数据进行伴随式计算,并判 断伴随式是否为0,若伴随式为0则控制输出译码结果并终止伴随式计算、节点更新以及译 码判决,若伴随式不为0则进行下一次迭代。从而本发明能在纠错完成时停止伴随式的计 算,输出译码序列,降低不必要的时钟周期浪费,从而提高了译码速度。优选的是,译码器10还包括迭代次数判断模块,用于判断译码迭代次数是否达到 预设最大迭代次数,若达到预设最大迭代次数,则终止译码。优选的是,译码器10还包括数据寄存器,译码时,从固态硬盘读出的待译码数据 首先存储于数据寄存器中,该数据寄存器还用于缓存译码过程中的待译码数据以及缓存译 码结果。根据本发明的一个实施例,译码器10的译码原理基于因子图,校验矩阵H为MXN 矩阵,M = mXb, N = nXb,变量i、j。M⑴表示与变量节点i相连的校验节点的集合,即 H矩阵中第i列中1的位置;N(j)表示参与第j个校验方程的变量节点的集合,即H矩阵中 第j行中1的位置;N(j)\i表示从集合N(j)中去掉元素i之后的子集;M(i)\j表示从集合 M(i)中去掉元素j之后的子集。译码器10根据从固态硬盘接收到的数据译码过程如下步骤一,初始化模块11根据接收数据初始化设定最大迭代次数Imax,并初始化式 子L (Qij) = L (Pi) = L (Xi | Yi) = log (P (Xi = 0 | Yi) /P (xn = 11 yn)) = 2yn/ σ 2 (1)步骤二,校验节点处理模块12进行校验节点更新,对每个校验节点j以及 i e N(j),计算
权利要求
1.一种准循环低密度奇偶校验码译码器,其特征在于,所述译码器包括校验节点处理模块,用于迭代信息的传递和更新,对待译码数据的校验节点进行计算 和更新;变量节点处理模块,用于对所述待译码数据的变量节点进行计算和更新;判决模块,用于根据所述变量节点处理模块的计算结果进行译码判决;伴随式处理模块,用于计算所述待译码数据的伴随式,并判断所述伴随式是否为0,若 是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。
2.根据权利要求1所述的译码器,其特征在于,所述译码器还包括初始化模块,用于对 所述待译码数据进行初始化以及设定最大迭代译码次数。
3.根据权利要求2所述的译码器,其特征在于,所述译码器还包括迭代次数判断模块, 用于判断译码迭代次数是否达到所述最大迭代译码次数,若达到所述最大迭代译码次数, 则终止译码。
4.根据权利要求1所述的译码器,其特征在于,所述伴随式计算通过顺序电路结构或 者并行电路结构实现,所述并行电路结构包括多个并行设置的顺序电路结构。
5.根据权利要求4所述的译码器,其特征在于,所述顺序电路结构包括第一寄存器组,用于存储校验矩阵位;第二寄存器组,用于缓存伴随式计算中间结果;运算单元,用于对所述待译码数据和校验矩阵位按位进行“与”运算,得到的结果与所 述第二寄存器组缓存的伴随式计算中间结果按位进行“异或”运算,并将“异或”运算结果 缓存到所述第二寄存器组,并对所述第一寄存器组中存储的校验矩阵位进行移位。
6.一种准循环低密度奇偶校验码译方法,其特征在于,所述译码方法包括校验节点处理步骤,进行迭代信息的传递和更新,对所述待译码数据的校验节点进行 计算和更新;变量节点处理步骤,对所述待译码数据的变量节点进行计算和更新;译码判决步骤,根据变量节点计算结果进行译码判决;伴随式处理步骤,计算所述待译码数据的伴随式,并判断所述伴随式是否为0,若是则 控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。
7.根据权利要求6所述的译码方法,其特征在于,所述校验节点处理步骤之前还包括 对所述待译码数据进行初始化以及设定最大迭代译码次数。
8.根据权利要求7所述的译码方法,其特征在于,所述译码方法还包括迭代次数判断 步骤判断译码迭代次数是否达到所述最大迭代译码次数,若达到所述最大迭代译码次数, 则终止译码。
9.根据权利要求6所述的译码方法,其特征在于,所述伴随式计算通过顺序电路结构 或者并行电路结构实现,所述并行电路结构包括多个并行设置的顺序电路结构。
10.根据权利要求8所述的译码方法,其特征在于,所述顺序电路结构包括第一寄存器组,用于存储校验矩阵位;第二寄存器组,用于缓存伴随式计算中间结果;运算单元,用于对待译码数据和校验矩阵位按位进行“与”运算,得到的结果与所述第 二寄存器组缓存的伴随式计算中间结果按位进行“异或”运算,并将“异或”运算结果缓存到所述第二寄存器组,并对所述第一寄存器组中存储的校验矩阵位进行移位。
全文摘要
本发明公开了一种准循环低密度奇偶校验码译码器,所述译码器包括校验节点处理模块,用于迭代信息的传递和更新以及对待译码数据的校验节点进行计算并更新;变量节点处理模块,用于对待译码数据的变量节点进行计算和更新;判决模块,用于根据变量节点处理模块的计算结果进行译码判决;伴随式处理模块,用于计算待译码数据的伴随式,并判断伴随式是否为0,若是则控制输出译码结果并终止伴随式计算及节点更新,若否则进行下一次迭代。本发明相应提供一种准循环低密度奇偶校验码译码方法。借此,本发明能在纠错完成时,控制结束伴随式计算以及节点更新,降低不必要的时钟周期浪费,从而提高了译码速度。
文档编号G11C29/42GK102005250SQ20101052350
公开日2011年4月6日 申请日期2010年10月27日 优先权日2010年10月27日
发明者张耀辉, 朱从义, 莫海锋, 贾宗铭 申请人:记忆科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1