一种基于极化码和元数据信息的NAND FLASH差错控制方法技术

技术编号:20389270 阅读:27 留言:0更新日期:2019-02-20 02:37
本发明专利技术提供一种基于极化码和元数据信息的NAND FLASH差错控制方法,涉及信息存储技术领域。先将信息序列进行CRC编码,得到CRC码字,然后把NAND FLASH中存储的元数据信息当作信息序列,整合CRC码字和元数据信息得到待编码的信息比特,进行Polar编码,得到Polar码字,把Polar码字中元数据信息所在的极化信道划分为冻结比特信道,得到一个新的Polar码字,对该码字进行凿孔,构造出适用于NAND FLASH的高码率Polar码。本发明专利技术解决了现有技术中Polar码字不能直接适用于任意页容量的NAND FLASH的技术问题。本发明专利技术有益效果为:提高NAND FLASH纠错过程的纠错性能。

【技术实现步骤摘要】
一种基于极化码和元数据信息的NANDFLASH差错控制方法
本专利技术涉及信息存储
,尤其是涉及一种利用极化码实现对NANDFLASH差错控制的方法。
技术介绍
随着NANDFLASH储存密度的增大,对NANDFLASH执行写入、读取操作时出现错误的概率也会随之增加,因此NANDFLASH需要使用纠错码来保证存储数据的可靠性。中国专利申请公布号CN103218271A,申请公布日2013年07月24日,名称为“一种数据纠错方法及装置”的专利技术专利申请文件,公开了一种NANDFlash中读取的数据进行纠错的方法和装置。方法包括:从存储器中读取被请求的数据及所述被请求数据的N种校验数据;其中,N为大于1的正整数,且N种校验数据能够纠错的数据位数不同;按照N种校验数据的纠错位数由少到多的顺序,依次采用不同种的校验数据对被请求的数据进行纠错,直到采用N种校验数据中的一种校验数据对被请求的数据完成纠错,或直到采用纠错位数最多的校验数据对被请求的数据纠错失败。该方法需要生成N种校验数据,并且这N种校验数据都需要存储在NANDFLASH中,但不是每一种数据都会被使用,这样会造成NANDFLASH存储空间的浪费。Polar码(极化码)具有固定的编码结构和较低的编译码复杂度,因此受到了广泛的关注,在NANDFLASH中,除了存储相关的信息数据外,还存储了专用的Flash文件系统(FlashTranslationLayer,FTL)和逻辑物理地址映射等信息,把这些数据信息称之为元数据信息,元数据信息对于编码器和译码器来说是已知的,在Polar码编码的过程中可以利用元数据信息来提高纠错性能,但是Polar码的编码方式决定了它不能直接适用于任意页容量的NANDFLASH,因为Polar码的码长是2的幂次,而NANDFLASH页容量并不是2的幂次,为了使Polar码适用于任意页容量的NANDFLASH,需要构建一种码率兼容并且具有更好纠错性能的Polar码编码方案。
技术实现思路
为了解决现有技术中Polar码字不能直接适用于任意页容量的NANDFLASH的技术问题,本专利技术提供一种基于极化码和元数据信息的NANDFLASH差错控制方法,用于提高NANDFLASH纠错过程的纠错性能。本专利技术的技术方案是:一种基于极化码和元数据信息的NANDFLASH差错控制方法:步骤一:将长度为kbits的信息序列进行CRC编码,添加一个rbits的CRC校验因子,得到CRC码字;步骤二:整合CRC码字和NANDFLASH中存储的元数据信息形成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)进行凿孔,构造出适用于NANDFLASH的Polar码(N1,K-Q)并存储到NANDFLASH中,并设每个极化信道的错误概率为Pe(ui);步骤六:从NANDFLASH指定的Flashpage中读取存储的Polar码,根据凿掉的比特的信息,在相应的位置处插入对应的值,得到待译码字y1N(N,K-Q);步骤七:用CA-SCL译码算法对待译码字y1N(N,K-Q)译码,得到译码序列步骤八:从译码序列中取出最原始的kbits的信息序列。作为优选,步骤二中,NANDFLASH中存储的元数据信息包含了对于编码器和译码器来说是已知的专用的Flash文件系统和逻辑物理地址映射信息。作为优选,步骤三中,剩余的N-K个极化信道传输的为冻结比特。作为优选,步骤五中,凿掉的冻结比特信道的错误概率满足:作为优选,步骤五中,Polar码(N1,K-Q)存储在NANDFLASH中,CRC码字存储在NANDFLASH的数据区,剩余的冻结比特存储在NANDFLASH的冗余区。与现有技术相比,本专利技术的有益效果是:利用NANDFLASH固有的元数据信息作为输入信息数据的一部分进行极化编码,在把传输元数据信息的信道当作冻结比特信道,通过降低码率达到提升译码纠错性能的目的。此外,对真正需要传输的信息序列先进行CRC编码在进行Polar编码,在CA-SCL译码过程中通过对译码后的序列进行CRC校验,可以挑选出既满足CRC校验又满足路径测量值较小的最佳译码路径,也达到了提升译码纠错性能的目的。附图说明附图1为本专利技术流程图;附图2为待编码的信息比特的组成结构示意图;附图3为信道可靠度估计的分布图;附图4为Polar码字的组成结构示意图;附图5为低码率Polar码字的组成结构示意图;附图6为适用于NANDFLASH的高码率Polar码字的组成结构示意图。具体实施方式下面通过实施例,并结合附图,对本专利技术的技术方案作进一步具体的说明。实施例1:如图1-6所示,一种基于极化码和元数据信息的NANDFLASH差错控制方法,步骤一:将长度为kbits的信息序列M{m1,m2,K,mk}进行CRC编码,添加一个rbits的CRC校验因子,得到CRC码字。步骤二:在Polar码编码的过程中可以利用元数据信息来提高纠错性能,NANDFLASH中存储的元数据信息包含了对于编码器和译码器来说是已知的专用的Flash文件系统和逻辑物理地址映射信息。把NANDFLASH中存储的逻辑物理地址映射信息(记作LBA,长度为k′bits)和专用FTL信息(记作SUP,长度为k′bits)当作输入信息的一部分,总长度记作Q,其中,Q=k′+k″,整合CRC码字、LBA和SUP形成Polar码字的自由比特,记作payload,payload的总长度为K,其中,K=k+r+Q,如图2所示。步骤三:设极化信道的个数为N。利用高斯近似法估计信道的可靠度,并按照从大到小的顺序依次排列,选择可靠度较高的前K个序号,将自由比特按照先CRC码字后元数据信息的顺序依次映射到前K个序号对应的极化信道上,剩余的N-K个极化信道传输的为冻结比特,其中,信道的可靠度越高表示信道的错误概率越小,如图3所示。这一步的输出即为编码的原始比特u1N,对u1N进行Polar编码。编码方式为:x1N=u1NGN,其中,GN为极化码的生成矩阵,BN为比特翻转矩阵,RN为奇偶重排矩阵。表示冻结比特位置,表示自由比特的位置,为的补集,为编码器的符号输入序列,x1N@{x1,x2,L,xN}为编码后的序列,记作(N,K),其中,N是Polar码字的总长度,K是信息序列的总长度,码率为R1=K/N,生成的Polar码字结构如图4所示。步骤四:在Polar码(N,K)的自由比特A@{a1,a2,L,aK}中选择Q个可靠高度较低(错误概率较大)的信道当作冻结比特,构造一个新的Polar码,记作(N,K-Q)。新生成的低码率Polar码字结构如图5所示。其中,表示冻结比特位置,表示自由比特位置,码率为R2=(K-Q)/N。步骤五:为了获取适本文档来自技高网
...

【技术保护点】
1.一种基于极化码和元数据信息的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码,根据凿掉的比特的信息,在相应的位置处插入对应的值,得到待译码字y1...

【技术特征摘要】
1.一种基于极化码和元数据信息的NANDFLASH差错控制方法,其特征在于,包括以下:步骤一:将长度为kbits的信息序列进行CRC编码,添加一个rbits的CRC校验因子,得到CRC码字;步骤二:整合CRC码字和NANDFLASH中存储的元数据信息形成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)进行凿孔,构造出适用于NANDFLASH的Polar码(N1,K-Q)并存储到NANDFLASH中,并设每个极化信道的错误概率为Pe(ui);步骤六:从NANDFLASH指定的Flashpage中读取存储的Polar码,根据...

【专利技术属性】
技术研发人员:郭锐陈康妮
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

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

1