当前位置: 首页 > 专利查询>南京大学专利>正文

一种应用于闪存的基于等差校验矩阵的LDPC码译码器制造技术

技术编号:16132015 阅读:107 留言:0更新日期:2017-09-01 22:22
本发明专利技术公开了一种属于非易失性存储器中的纠错编码领域的LDPC码译码器。本发明专利技术根据NAND闪存纠错编码所需求的译码器码率高、吞吐率高的特点,基于等差准循环LDPC码的校验矩阵,采取了按列分组的最小和译码算法。本发明专利技术的有益效果为:基于等差准循环LDPC码的校验矩阵的性质,通过避免桶形移位器的使用,降低了译码器的面积;通过增加等差准循环LDPC码子矩阵的维度,提高了译码器的吞吐率;通过本译码器对1‑bit硬信息软译码和2‑bit软信息软译码的兼容使用,降低了闪存的平均读写次数,提高了闪存的使用寿命。

【技术实现步骤摘要】
一种应用于闪存的基于等差校验矩阵的LDPC码译码器
本专利技术属于非易失性存储器中的纠错编码
,特别涉及一种应用于闪存纠错领域的低硬件面积、高通过率的等差准循环LDPC码译码器。
技术介绍
目前,NAND闪存的重点应用领域已经从桌面端向移动端大幅度倾斜,例如手机、平板、u盘和固态硬盘等。NAND闪存的一个重要的发展趋势是TLC(Trinary-LevelCell)技术的发展。最早的NAND闪存使用的是SLC(Single-LevelCell)技术,即在每个存储单元中存储1-bit信息。随着移动设备的发展所带来的对存储容量需求的不断提高,MLC(Multi-LevelCell)技术应运而生,实现了在每个存储单元中存储2-bit信息的功能。目前,市场上最受广泛应用的是TLC技术,即在每个存储单元中存储3-bit信息。相比于SLC和MLC,TLC有着存储容量更大的优点。然而,由于TLC中相邻电压的间隔变得更小,随之而来的是源误码率更高的缺点。因此,设计可靠的纠错编码技术,尤其是LDPC码的纠错编码技术,是一个刻不容缓的任务,并将成为新一代闪存应用的关键技术。NAND闪存的另一个重要的发展趋势是其芯片读写速度的急剧提升。传统的NAND闪存采用的是标准NAND闪存接口的独立存储芯片,与之相比较,eMMC(EmbeddedMultiMediaCard)和UFS(UniversalFlashStorage)标准的存储芯片是将NAND闪存和相对应的控制器集成封装成一体。这样的封装方式不仅节省了空间,还减轻了主机处理器对NAND闪存在坏块管理、错误纠正、磨损均衡和垃圾回收等管理方面的负担。UFS2.0单通道理论传输速度可达到600MB/s,如果是双通道可提高至1200MB/s,是eMMC5.0(400MB/s)的3倍。三星、东芝、闪迪、海力士等公司均在近年来扩大了UFS2.0标准的存储芯片的生产,与此同时还投入了对UFS2.1标准的存储芯片的量产,进一步提升了芯片的读写速度。因此,设计高吞吐率的LDPC解码器,也是掌握新一代闪存纠错技术的重中之重。准循环LDPC码由于其校验矩阵的规则结构,为工业界的标准所普遍采纳。目前,应用于闪存纠错的准循环LDPC码均为高码率(0.86~0.94)的LDPC码。由于高码率的限制,许多译码器通常采用按列分组的最小和译码算法,每次对校验矩阵中的一列进行操作。然而,对于一般的准循环LDPC码,在采取按列分组的最小和译码算法时,均需要采用较大的桶形移位器,以确保前后两列的变量节点可以对齐。大维度桶形移位器的使用,占据了整个译码器相当大比重的一部分硬件面积(占20%~25%)。此外,在采取按列分组的最小和译码算法时,准循环LDPC码子矩阵的维度即为其译码并行度。当采用的准循环LDPC码的子矩阵维度扩大时,桶形移位器的规模成倍扩大,使得准循环LDPC码译码器的吞吐率遭受到了严重的制约。
技术实现思路
专利技术目的:本专利技术针对目前LDPC码译码器的缺陷,公开了一种低硬件面积、高吞吐率的LDPC码译码器。特别地,本译码器适用但不局限于闪存纠错领域。技术方案:一种应用于闪存的基于等差校验矩阵的LDPC码译码器,包括输入数据存储器、变量节点单元、校验节点单元、定偏移移位器、选择器、寄存器、存储器、输出数据存储器和符号存储器;输入译码器的信道信息首先存放于输入数据存储器中;开始译码后,变量节点单元接收输入数据存储器中的信道信息和寄存器中存储的C2V(校验节点传给变量节点)信息,并计算出更新后的V2C(变量节点传给校验节点)信息。变量节点单元共1个,计算的是校验矩阵中的一列。变量节点单元同时还计算了当前变量节点所连接的校验节点是否满足校验(所连接的校验节点之和是否为零),且其结果将用于提前终止译码。变量节点单元将更新后的V2C信息的符号位存入符号存储器,用于计算下一次迭代中的C2V信息。变量节点单元更新结束后,校验节点单元接收更新后的V2C信息和符号存储器中存储的上次迭代中的C2V符号位信息,并计算出更新后的C2V信息。校验节点单元共5个,对应的是校验矩阵中连接于当前变量节点的5个校验节点。在本译码器采取按列分组的最小和译码算法时,C2V信息即每行中的first_min(第一最小值)、second_min(第二最小值)、first_min_index(第一最小值的地址)、second_min_index(第二最小值的地址),以及global_sign(全局符号)。第一最小值和第二最小值的地址表示的是其在本行中的位置。校验节点单元更新结束后,5条更新后的C2V信息分别送入5个定偏移移位器中。5个定偏移移位器的偏移量依次为0~4,对应校验矩阵中连续5行的公差。移位结束后,5条移位后的C2V信息通过选择器分配到5个寄存器以及存储器中。校验矩阵中,当前变量节点从上至下共连接了5个校验节点,后4个校验节点的C2V信息会在下一列的迭代中立即被使用,所以通过选择器存入5个寄存器之中的4个;第一个校验节点的C2V信息不会在下一列迭代中立即被使用,所以通过选择器存入存储器;存储器将会取出一条预先存放的立即被用于下一列迭代的C2V信息,通过选择器存入5个寄存器中的最后剩余的1个。至此,5个寄存器存储了5条C2V信息,且它们将被送入变量节点单元,用于下一列V2C信息的计算。当所有列的消息都被更新过一次(进行一次V2C信息与C2V信息的迭代),我们称按列分组的最小和译码算法完成了一次迭代,并令迭代次数自加1。如果译码器在规定的迭代次数内完成了译码,译码器将提前终止迭代,把结果输出到输出数据存储器,并宣告译码成功;反之,如果译码器在达到最大的迭代次数后仍未完成译码,译码器将终止迭代,并宣告译码失败。准循环LDPC码的校验矩阵可以用偏移参数Pi,j来表示。每个偏移参数对应了一个z×z的单位矩阵的循环右移矩阵,且其偏移量为Pi,j,其中,z即为子矩阵的维度。特别地,Pi,j=0对应的即是维度为z的单位矩阵。基础的等差准循环LDPC码经过矩阵扩展操作后得到扩展后的等差准循环LDPC码。等差准循环LDPC码的校验矩阵中每行(或每列)的偏移参数均为等差数列,且每行(或每列)的公差依次递增1。设等差准循环LDPC码的校验矩阵的列重(每列所包含的非空元素的个数)r=5。对基础的等差准循环LDPC码的子校验矩阵从上至下依次往后错位一列,即可得到错位后的子校验矩阵。把所得的错位后的子校验矩阵复制两份(共3份),即可得到扩展后的等差准循环LDPC码的子校验矩阵。以此类推,对多个毗邻的基础的等差准循环LDPC码的子校验矩阵采取相同的操作,可以得到扩展后等差准循环LDPC码的校验矩阵。特别地,设对毗邻的10个子校验矩阵采取相同的扩展方式,可以得到一个行列比为1:10的扩展后的校验矩阵,且此矩阵的列重r=5,行重s=50,码率R=0.9。在扩展后的等差准循环校验矩阵中,非空部分表示维度为z的单位矩阵的循环右移矩阵,空白部分表示维度为z的全零矩阵。扩展后的校验矩阵没有短环,即4元环。等差准循环LDPC码扩展后的校验矩阵中的每一列都有5个校验节点,对应了5条移位后的C2V信息。其中第1条移位后的C2V信息会被分配到存储器(因为它不会在下一时刻被使用),后本文档来自技高网
...
一种应用于闪存的基于等差校验矩阵的LDPC码译码器

【技术保护点】
一种应用于闪存的基于等差校验矩阵的LDPC码译码器,其特征在于:本译码器使用的码型基于等差准循环LDPC码,并对其校验矩阵作了矩阵扩展操作;本译码器使用的译码算法是按列分组的最小和译码算法,按列分组的宽度为等差准循环LDPC码子矩阵的维度;具体包括输入数据存储器、变量节点单元、校验节点单元、定偏移移位器、选择器、寄存器、存储器、输出数据存储器和符号存储器;输入译码器的信道信息首先存放于输入数据存储器中;开始译码后,变量节点单元接收输入数据存储器中的信道信息和寄存器中存储的C2V信息,并计算出更新后的V2C信息;变量节点单元同时还计算了当前变量节点所连接的校验节点是否满足校验,且其结果将用于提前终止译码;变量节点单元将更新后的V2C信息的符号位存入符号存储器,用于计算下一次迭代中的C2V信息;变量节点单元更新结束后,校验节点单元接收更新后的V2C信息和符号存储器中存储的上次迭代中的C2V符号位信息,并计算出更新后的C2V信息;校验节点单元更新结束后,更新后的C2V信息送入定偏移移位器中移位;移位结束后,移位后的C2V信息通过选择器分配到寄存器以及存储器中;当所有列的消息都被更新过一次,我们称按列分组的最小和译码算法完成了一次迭代,并令迭代次数自加1;如果译码器在规定的迭代次数内完成了译码,译码器将提前终止迭代,把结果输出到输出数据存储器,并宣告译码成功;反之,如果译码器在达到最大的迭代次数后仍未完成译码,译码器将终止迭代,并宣告译码失败。...

【技术特征摘要】
1.一种应用于闪存的基于等差校验矩阵的LDPC码译码器,其特征在于:本译码器使用的码型基于等差准循环LDPC码,并对其校验矩阵作了矩阵扩展操作;本译码器使用的译码算法是按列分组的最小和译码算法,按列分组的宽度为等差准循环LDPC码子矩阵的维度;具体包括输入数据存储器、变量节点单元、校验节点单元、定偏移移位器、选择器、寄存器、存储器、输出数据存储器和符号存储器;输入译码器的信道信息首先存放于输入数据存储器中;开始译码后,变量节点单元接收输入数据存储器中的信道信息和寄存器中存储的C2V信息,并计算出更新后的V2C信息;变量节点单元同时还计算了当前变量节点所连接的校验节点是否满足校验,且其结果将用于提前终止译码;变量节点单元将更新后的V2C信息的符号位存入符号存储器,用于计算下一次迭代中的C2V信息;变量节点单元更新结束后,校验节点单元接收更新后的V2C信息和符号存储器中存储的上次迭代中的C2V符号位信息,并计算出更新后的C2V信息;校验节点单元更新结束后,更新后的C2V信息送入定偏移移位器中移位;移位结束后,移位后的C2V信息通过选择器分配到寄存器以及存储器中;当所有列的消息都被更新过一次,我们称按列分组的最小和译码算法完成了一次迭代,并令迭代次数自加1;如果译码器在规定的迭代次数内完成了译码,译码器将提前终止迭代,把结果输出到输出数据存储器,并宣告译码成功;反之,如果译码器在达到最大的迭代次数后仍未完成译码,译码器将终止迭代,并宣告译码失败。2.如权利要求1所述的应用于闪存的基于等差校验矩阵的LDPC码译码器,其特征在于:译码器采取按列分组的最小和译码算法时,C2V信息即每行中的first_min、second_min、first_min_index、second_min_index,以及global_sign;第一最小值和第二最小值的地址表示的是其在本行中的位置。3.如权利要求1所述的应用于闪存的基于等差校验矩阵的LDPC码译码器,其特征在于:译码器的每个校验节点单元包括多个子校验节点单元;这多个子校验节点单元并行计算C2V(校验节点传给变量节点)信息,且并行度为等差准循环LDPC码子矩阵的维度。4.如权利要求1所述的应用于闪存的基于等差校验矩阵的LDPC码译...

【专利技术属性】
技术研发人员:沙金邵炜胡光辉刘镜伯闫锋
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

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

1