首页 > 专利 > 杭州电子科技大学 > 一种基于极化码和元数据信息的NANDFLASH差错控制方法专利详情

一种基于极化码和元数据信息的NANDFLASH差错控制方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2018-08-22
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-03-15
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2022-03-25
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2038-08-22
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201810962407.0 申请日 2018-08-22
公开/公告号 CN109358978B 公开/公告日 2022-03-25
授权日 2022-03-25 预估到期日 2038-08-22
申请年 2018年 公开/公告年 2022年
缴费截止日
分类号 G06F11/10H03M13/13H03M13/09 主分类号 G06F11/10
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 2
权利要求数量 3 非专利引证数量 1
引用专利数量 1 被引证专利数量 0
非专利引证 1、2017.08.03CN 1420488 A,2003.05.28魏一鸣.“极化码性能研究及其SCL译码算法的FPGA实现”《.中国优秀硕士学位论文全文数据库(信息科技辑)》.2018,(第03期),第I136-141页. 郭锐等.“基于缩短极化码的MLC NANDFlash差错控制技术研究”《.电子与信息学报》.2017,第39卷(第07期),第1658-1665页.;
引用专利 US2017222757A 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 郭锐、陈康妮 第一发明人 郭锐
地址 浙江省杭州市江干区下沙高教园区 邮编 310018
申请人数量 1 发明人数量 2
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州杭诚专利事务所有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
尉伟敏
摘要
本发明提供一种基于极化码和元数据信息的NAND FLASH差错控制方法,涉及信息存储技术领域。先将信息序列进行CRC编码,得到CRC码字,然后把NAND FLASH中存储的元数据信息当作信息序列,整合CRC码字和元数据信息得到待编码的信息比特,进行Polar编码,得到Polar码字,把Polar码字中元数据信息所在的极化信道划分为冻结比特信道,得到一个新的Polar码字,对该码字进行凿孔,构造出适用于NAND FLASH的高码率Polar码。本发明解决了现有技术中Polar码字不能直接适用于任意页容量的NAND FLASH的技术问题。本发明有益效果为:提高NAND FLASH纠错过程的纠错性能。
  • 摘要附图
    一种基于极化码和元数据信息的NANDFLASH差错控制方法
  • 说明书附图:图1
    一种基于极化码和元数据信息的NANDFLASH差错控制方法
  • 说明书附图:图2
    一种基于极化码和元数据信息的NANDFLASH差错控制方法
  • 说明书附图:图3
    一种基于极化码和元数据信息的NANDFLASH差错控制方法
  • 说明书附图:图4
    一种基于极化码和元数据信息的NANDFLASH差错控制方法
  • 说明书附图:图5
    一种基于极化码和元数据信息的NANDFLASH差错控制方法
  • 说明书附图:图6
    一种基于极化码和元数据信息的NANDFLASH差错控制方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-03-25 授权
2 2019-03-15 实质审查的生效 IPC(主分类): G06F 11/10 专利申请号: 201810962407.0 申请日: 2018.08.22
3 2019-02-19 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种基于极化码和元数据信息的NAND FLASH差错控制方法,其特征在于,包括以下:
步骤一:将长度为K比特的信息序列进行CRC编码,添加一个r比特的CRC校验因子,得到CRC码字;
步骤二:整合CRC码字和NAND FLASH中存储的元数据信息形成Polar码字的自由比特,记作payload,payload的总长度为K;
步骤三:设极化信道的个数为N,对N个极化信道进行可靠度估计,并按照从大到小的顺序依次排列,选出可靠度较高的前K个序号,将自由比特按照先CRC码字后元数据信息的顺序依次映射到前K个序号对应的极化信道上,进行Polar编码,得到Polar码字(N,K);
步骤四:在Polar码(N,K)的自由比特中选择Q个可靠度较低的信道当作冻结比特,构造出一个新的Polar码,记作(N,K‑Q);
步骤五:对新构造的Polar码(N,K‑Q)进行凿孔,构造出适用于NAND FLASH的Polar码(N1,K‑Q)并存储到NAND FLASH中,并设每个极化信道的错误概率为Pe(ui),凿掉的冻结比特信道的错误概率满足: 表示冻结比特位置集合;
步骤六:从NAND FLASH指定的Flash page中读取存储的Polar码,根据凿掉的比特的信N
息,在相应的位置处插入对应的值,得到待译码字y1(N,K‑Q);
N
步骤七:用CA‑SCL译码算法对待译码字y1(N,K‑Q)译码,得到译码序列步骤八:从译码序列 中取出最原始的K比特的信息序列;
所述NAND FLASH中存储的元数据信息包含了对于编码器和译码器来说是已知的专用的Flash文件系统和逻辑物理地址映射信息。

2.根据权利要求1所述的一种基于极化码和元数据信息的NAND FLASH差错控制方法,其特征在于:步骤三中,剩余的N‑K个极化信道传输的为冻结比特。

3.根据权利要求1所述的一种基于极化码和元数据信息的NAND FLASH差错控制方法,其特征在于:步骤五中,Polar码(N1,K‑Q)存储在NAND FLASH中,CRC码字存储在NAND FLASH的数据区,剩余的冻结比特存储在NAND FLASH的冗余区。
说明书

技术领域

[0001] 本发明涉及信息存储技术领域,尤其是涉及一种利用极化码实现对NAND FLASH差错控制的方法。

背景技术

[0002] 随着NAND FLASH储存密度的增大,对NAND FLASH执行写入、读取操作时出现错误的概率也会随之增加,因此NAND FLASH需要使用纠错码来保证存储数据的可靠性。中国专利申请公布号CN103218271A,申请公布日2013年07月24日,名称为“一种数据纠错方法及装置”的发明专利申请文件,公开了一种NAND Flash中读取的数据进行纠错的方法和装置。方法包括:从存储器中读取被请求的数据及所述被请求数据的N种校验数据;其中,N为大于1的正整数,且N种校验数据能够纠错的数据位数不同;按照N种校验数据的纠错位数由少到多的顺序,依次采用不同种的校验数据对被请求的数据进行纠错,直到采用N种校验数据中的一种校验数据对被请求的数据完成纠错,或直到采用纠错位数最多的校验数据对被请求的数据纠错失败。该方法需要生成N种校验数据,并且这N种校验数据都需要存储在NAND FLASH中,但不是每一种数据都会被使用,这样会造成NAND FLASH存储空间的浪费。Polar码(极化码)具有固定的编码结构和较低的编译码复杂度,因此受到了广泛的关注,在NAND FLASH中,除了存储相关的信息数据外,还存储了专用的Flash文件系统(Flash Translation Layer,FTL)和逻辑物理地址映射等信息,把这些数据信息称之为元数据信息,元数据信息对于编码器和译码器来说是已知的,在Polar码编码的过程中可以利用元数据信息来提高纠错性能,但是Polar码的编码方式决定了它不能直接适用于任意页容量的NAND FLASH,因为Polar码的码长是2的幂次,而NAND FLASH页容量并不是2的幂次,为了使Polar码适用于任意页容量的NAND FLASH,需要构建一种码率兼容并且具有更好纠错性能的Polar码编码方案。

发明内容

[0003] 为了解决现有技术中Polar码字不能直接适用于任意页容量的NAND FLASH的技术问题,本发明提供一种基于极化码和元数据信息的NAND FLASH差错控制方法,用于提高NAND FLASH纠错过程的纠错性能。
[0004] 本发明的技术方案是:一种基于极化码和元数据信息的NAND FLASH差错控制方法:步骤一:将长度为kbits的信息序列进行CRC编码,添加一个rbits的CRC校验因子,得到CRC码字;步骤二:整合CRC码字和NAND FLASH中存储的元数据信息形成Polar码字的自由比特,记作payload,payload的总长度为K;步骤三:设极化信道的个数为N,对N个极化信道进行可靠度估计,并按照从大到小的顺序依次排列,选出可靠度较高的前K个序号,将自由比特按照先CRC码字后元数据信息的顺序依次映射到前K个序号对应的极化信道上,进行Polar编码,得到Polar码字(N,K);步骤四:在Polar码(N,K)的自由比特中选择Q个可靠度较低的信道当作冻结比特,构造出一个新的Polar码,记作(N,K‑Q);步骤五:对新构造的Polar码(N,K‑Q)进行凿孔,构造出适用于NAND FLASH的Polar码(N1,K‑Q)并存储到NAND FLASH中,并设每个极化信道的错误概率为Pe(ui);步骤六:从NAND FLASH指定的Flash page中读取存储的Polar码,根据凿掉的比特的信息,在相应的位置处插入对应的值,得到待译码字N Ny1(N,K‑Q);步骤七:用CA‑SCL译码算法对待译码字y1 (N,K‑Q)译码,得到译码序列 步骤八:从译码序列 中取出最原始的kbits的信息序列。
[0005] 作为优选,步骤二中,NAND FLASH中存储的元数据信息包含了对于编码器和译码器来说是已知的专用的Flash文件系统和逻辑物理地址映射信息。
[0006] 作为优选,步骤三中,剩余的N‑K个极化信道传输的为冻结比特。
[0007] 作为 优选 ,步 骤五中 ,凿掉的 冻结比 特信道的 错误概 率满足 :
[0008] 作为优选,步骤五中,Polar码(N1,K‑Q)存储在NAND FLASH中,CRC码字存储在NAND FLASH的数据区,剩余的冻结比特存储在NAND FLASH的冗余区。
[0009] 与现有技术相比,本发明的有益效果是:利用NAND FLASH固有的元数据信息作为输入信息数据的一部分进行极化编码,在把传输元数据信息的信道当作冻结比特信道,通过降低码率达到提升译码纠错性能的目的。此外,对真正需要传输的信息序列先进行CRC编码在进行Polar编码,在CA‑SCL译码过程中通过对译码后的序列进行CRC校验,可以挑选出既满足CRC校验又满足路径测量值较小的最佳译码路径,也达到了提升译码纠错性能的目的。

实施方案

[0016] 下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0017] 实施例1:
[0018] 如图1‑6所示,一种基于极化码和元数据信息的NAND FLASH差错控制方法,步骤一:将长度为k bits的信息序列M{m1,m2,K,mk}进行CRC编码,添加一个rbits的CRC校验因子,得到CRC码字。
[0019] 步骤二:在Polar码编码的过程中可以利用元数据信息来提高纠错性能,NAND FLASH中存储的元数据信息包含了对于编码器和译码器来说是已知的专用的Flash文件系统和逻辑物理地址映射信息。把NAND FLASH中存储的逻辑物理地址映射信息(记作LBA,长度为k′bits)和专用FTL信息(记作SUP,长度为k′bits)当作输入信息的一部分,总长度记作Q,其中,Q=k′+k″,整合CRC码字、LBA和SUP形成Polar码字的自由比特,记作payload,payload的总长度为K,其中,K=k+r+Q,如图2所示。
[0020] 步骤三:设极化信道的个数为N。利用高斯近似法估计信道的可靠度,并按照从大到小的顺序依次排列,选择可靠度较高的前K个序号,将自由比特按照先CRC码字后元数据信息的顺序依次映射到前K个序号对应的极化信道上,剩余的N‑K个极化信道传输的为冻结比特,其中,信道的可靠度越高表示信道的错误概率越小,如图3所示。这一步的输出即为编N N N N码的原始比特u1 ,对u1进行Polar编码。编码方式为:x1=u1GN,其中,GN为极化码的生成矩阵, BN为比特翻转矩阵,RN为奇偶重排矩阵。
表示冻结比特位置, 表示自
N
由比特的位置,为 的补集, 为编码器的符号输入序列,x1@{x1,x2,L,xN}为编码后的序列,记作(N,K),其中,N是Polar码字的总长度,K是信息序列的总长度,码率为R1=K/N,生成的Polar码字结构如图4所示。
[0021] 步骤四:在Polar码(N,K)的自由比特A@{a1,a2,L,aK}中选择Q个可靠高度较低(错误概率较大)的信道当作冻结比特,构造一个新的Polar码,记作(N,K‑Q)。新生成的低码率Polar码字结构如图5所示。其中, 表示冻结比特位置,表示自由比特位置,码率为R2=(K‑Q)/N。
[0022] 步骤五:为了获取适用于NAND FLASH的高码率Polar码,对新构造的Polar码(N,K‑Q)进行凿孔。设每个极化信道的错误概率为Pe(ui),则凿掉的冻结比特信道的错误概率满足: 即凿掉的冻结比特信道的错误概率为最小值,构造出适用于NAND FLASH的Polar码(N1,K‑Q),码率为R3=(K‑Q)/N1,其中需要凿去的比特个数为N‑N1,如图6所示。把该码字存储在NAND FLASH指定的Flash page中,其中CRC码字存储到NAND FLASH的数据区,剩余的冻结比特存储在NAND FLASH的冗余区。
[0023] 步骤六:从NAND FLASH指定的Flash page中读取存储的Polar码(N1,K‑Q)。根据凿掉的比特的信息,在相应的位置处插入对应的值。在步骤五中被凿掉的比特实际上并没有传输,但接收端可以将这些凿孔比特信道视为容量为0的信道,也就是凿孔比特可以视为被传输了,只是在容量为0的信道上传输。所以可以在凿掉的N‑N1个比特的位置处补上相应的值,即把N‑N1个极化信道按照可靠度由大到小排列,前Q个极化信道补上元数据信息,剩余N的极化信道补上0,得到待译码字y1(N,K‑Q),R2=(K‑Q)/N。
[0024] 步骤七:用CA‑SCL译码算法对待译码字y1N(N,K‑Q)译码,得到译码序列[0025] 步骤八:从译码序列 中取出最原始的kbits的信息序列
[0026] 下面结合型号为MT29F128G08CBCAB芯片具体说明:
[0027] MT29F128G08CBCAB芯片总容量为(128G+9728M)bits,每片分为2048块,每块分为512页,每页包含16kByte数据区容量和1216Byte冗余大小。如果直接采用页容量(16k+
1216)Byte作为码长,则编译码所需的存储容量过大,因此本实施例中将(16k+1216)Byte拆分成512段,每段将分配到256bits的数据区和16bits的冗余区,即每段需要构造(272,256)的Polar码字,然后一起写进页内。
[0028] 步骤一:对长度为240bits的信息序列M{m1,m2,K,m240}采用g(D)=D16+D15+D2+1的生成多项式进行CRC编码,即添加一个16bits的CRC校验因子,得到CRC码字。
[0029] 步骤二:把NAND FLASH中存储的逻辑物理地址映射信息(记作LBA)和专用FTL信息(记作SUP)当作输入信息的一部分,在本实施例中LBA和SUP和均采用4个字节即32bits来记录,总长度Q等于64bits,整合CRC码字、LBA和SUP形成Polar码字的自由比特,记作payload,payload的总长度为320bits。
[0030] 步骤三:根据payload的总长度为320bits,假设N是大于对payload总长度的最小2的幂次,即N取512。首先利用高斯近似法估计信道的可靠度,并按照从大到小的顺序依次排列,选择可靠度较高的前320个序号,将自由比特按照先CRC码字后元数据信息的顺序依次映射到前320个序号对应的极化信道上,剩余的192个极化信道传输的是冻结比特。这一步N N N N的输出即为编码的原始比特u1 ,对u1 进行Polar编码。编码方式为:x1=u1GN,其中,GN为极化码的生成矩阵, BN为比特翻转矩阵,RN为奇偶重排矩
阵。 表示冻结比特位置, 表
N
示自由比特的位置,为 的补集, 为编码器的符号输入序列,x1 @{x1,x2,L,xN}为编码后的序列,记作(512,320),码率为0.625。
[0031] 步骤四:在Polar码的自由比特A@{a1,a2,L,aK}中选择64个可靠度较低(错误概率较大)的信道,把它们当作冻结比特信道,构造一个新的Polar码,记作(512,320‑64),码率为0.5,其中, 表示冻结比特位置,表示自由比特位置。
[0032] 步骤五:对新构造的Polar码(512,320‑64)进行凿孔。在冻结比特中选择240个可靠度较高(错误概率较小)的比特信道凿掉,构造出适用于NAND FLASH的Polar码(272,256,240),其中240表示需要凿去的比特个数,然后把Polar码(272,256,240)存储到NAND FLASH指定的Flash page中,存储的位置由LBA决定。此时,NAND FLASH中数据区存储的是256bits的CRC码字,冗余区存储的是16bits的冻结比特,即校验位,新构造的适用于NAND FLASH的Polar码字的码率为0.941。
[0033] 步骤六:从NAND FLASH指定的Flash page中读取存储的Polar码(272,256,240),根据凿掉的240个比特的信息,在相应的位置处插入对应的值,即把240个极化信道按照可靠度由大到小排列,前64个极化信道补上元数据信息,剩余的极化信道补上0,得到待译码N字y1(512,256),此时的码率为0.5。
[0034] 步骤七:利用CA‑SCL译码算法对码字y1N进行译码,得到译码序列[0035] 步骤八:从译码序列 中取出最原始的240bits的信息序列

附图说明

[0010] 附图1为本发明流程图;
[0011] 附图2为待编码的信息比特的组成结构示意图;
[0012] 附图3为信道可靠度估计的分布图;
[0013] 附图4为Polar码字的组成结构示意图;
[0014] 附图5为低码率Polar码字的组成结构示意图;
[0015] 附图6为适用于NAND FLASH的高码率Polar码字的组成结构示意图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号