Ldpc软译码方法、存储器及电子设备

文档序号:1339739 发布日期:2020-07-17 浏览:14次 >En<

阅读说明:本技术 Ldpc软译码方法、存储器及电子设备 (L DPC soft decoding method, memory and electronic equipment ) 是由 王颀 姜一扬 李前辉 霍宗亮 于 2020-03-23 设计创作,主要内容包括:一种LDPC软译码方法、存储器及电子设备,该方法包括:对信息位已经编码过的存储单元进行读取,根据读取时当前存储单元对应的存储时间、阈值电压分区和综合分布态,并参照一预先建立的LLR表获得当前存储单元的LLR值;根据读取的当前存储单元的LLR值对信息位已经编码过的存储单元的码字进行软译码操作;其中,当前存储单元的综合分布态根据与该当前存储单元相邻的存储单元对于该当前存储单元分布态的影响确定;所述预先建立的LLR表的输入量为:存储时间、阈值电压分区和综合分布态,输出量为LLR值。基于综合分布态确定的LLR值进行译码的方式相较于现有的LDPC软译码方式降低了误码率,提升了纠错能力,同时还减少了迭代次数。(An L DPC soft decoding method, a memory and an electronic device are provided, the method includes reading a storage unit with an encoded information bit, obtaining a LL R value of the current storage unit according to a storage time, a threshold voltage partition and a comprehensive distribution state corresponding to the current storage unit when the storage unit is read, and referring to a pre-established LL R table, and performing soft decoding operation on a code word of the storage unit with the encoded information bit according to the read LL R value of the current storage unit, wherein the comprehensive distribution state of the current storage unit is determined according to the influence of a storage unit adjacent to the current storage unit on the distribution state of the current storage unit, the input quantity of the pre-established LL R table is the storage time, the threshold voltage partition and the comprehensive distribution state, and the output quantity is a LL R value, compared with an LL R value determined based on the comprehensive distribution state, a decoding mode reduces an error rate in an existing L DPC soft decoding mode, improves error correction capability, and reduces iteration times.)

LDPC软译码方法、存储器及电子设备

技术领域

本公开属于存储器的编码与译码技术领域,涉及一种LDPC软译码方法、存储器及电子设备,特别是用于邻近存储单元对于当前存储单元的分布态具有影响的存储器的LDPC软译码方法、存储器及电子设备。

背景技术

非易失性存储器具有多种类型,诸如:只读存储器(ROM)、可编程只读存储器(PROM),电可改写只读存储器(EAROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)以及闪存(Flash Memory)等。非易失性存储器进行信息存储时需要对数据进行编码,并将编码之后的数据写入至存储器阵列中的存储单元,在读出时需要进行译码操作。

现有的非易失性存储器采用LDPC软译码时,通常而言,对于单层单元(SLC)闪存存储器,沿着阈值电压分布有两个分布态,两个分布态之间具有交叠,每个交叠处读3次,将读出的数据沿着阈值电压的分布划分成4块区域。不同区域对应不同的LLR值,LLR的表达式为:LLR=Log(P0/P1),其中,P0表示为逻辑0的概率,P1表示为逻辑1的概率。不同的LLR值体现的是不同的置信度与可靠性。LLR值越高,表示该区域读出是0的概率越高。上述LDPC软译码的方式同样适用于两层单元(MLC)以及三层单元(TLC)闪存存储器,区别之处在于MLC沿着阈值电压分布有22=4个分布态,TLC沿着阈值电压分布有23=8个分布态。然而,现有的LDPC软译码仍然存在提高LDPC软译码的纠错能力,降低误码率与迭代次数的需求。

发明内容

本公开提供了一种LDPC软译码方法、存储器及电子设备,以至少部分解决以下技术问题:对存储器进行译码操作时,降低误码率、提升纠错能力、降低迭代次数。

为了解决上述技术问题至少之一,本公开提出了一种LDPC软译码方法、存储器及电子设备,特别是用于邻近存储单元对于当前存储单元的分布态具有影响的存储器的LDPC软译码方法、存储器及电子设备。

根据本公开的一个方面,提供了一种LDPC软译码方法,用于一存储器,该存储器包括多个存储单元,所述方法包括:

步骤S13,对信息位已经编码过的存储单元进行读取,根据读取时当前存储单元对应的存储时间、阈值电压分区和综合分布态,并参照一预先建立的LLR表获得当前存储单元的LLR值;

步骤S14,根据读取的当前存储单元的LLR值对信息位已经编码过的存储单元的码字进行软译码操作;

其中,当前存储单元的综合分布态根据与该当前存储单元相邻的存储单元对于该当前存储单元分布态的影响确定;所述预先建立的LLR表的输入量为:存储时间、阈值电压分区和综合分布态,输出量为LLR值。

在本公开的一实施例中,在所述步骤S13之前还包括:步骤S12,将信息位编码得到码字并写入至存储器的存储单元中。

在本公开的一实施例中,预先建立所述LLR表的方法为:对存储器进行读取测试,在某一存储时间下,获取已经知道准确编码的当前存储单元以及该当前存储单元邻近的存储单元各自的阈值电压分布及分布态,根据与该当前存储单元相邻的存储单元对于该当前存储单元分布态的影响确定当前存储单元的综合分布态,根据综合分布态计算得到不同阈值电压分区的LLR值;获取不同的存储时间下对应的阈值电压分区和综合分布态,从而得到输入量为:存储时间、阈值电压分区和综合分布态,输出量为LLR值的LLR表。

在本公开的一实施例中,所述存储器为3D NAND闪存存储器,当前存储单元对应的坐标为(m,n,k),k≥1,选取与该存储单元邻近的存储单元的方式为:沿着z轴向上和/或向下依次选取若干与当前存储单元具有预定距离的存储单元;

在本公开的一实施例中,确定当前存储单元的综合分布态时,包含所述当前存储单元所在物理页在内至少有两个相邻物理页被读取。

在本公开的一实施例中,确定当前存储单元的综合分布态时,只选取两层物理页进行读取操作,其中处于低层的物理页为当前存储单元所在的物理页,处于高层的物理页为该存储单元邻近的存储单元所在的物理页,通过读取这两层物理页上存储单元的分布态确定当前存储单元的综合分布态。

在本公开的一实施例中,所述LLR表中,输入量还包括:擦除次数。

根据本公开的另一个方面,提供了一种存储器,包括多个存储单元,该存储器用于执行上述提及的任一种方法。

在本公开的一实施例中,所述存储器包括闪存存储器。

根据本公开的又一个方面,提供了一种电子设备,包括:编码单元,用于将信息位编码得到码字并写入至一存储器的存储单元中;LLR存储单元,用于存储预先建立的LLR表,该LLR表的输入量为:存储时间、阈值电压分区和综合分布态,输出量为LLR值;其中,当前存储单元的综合分布态根据与当前存储单元相邻的存储单元对于该当前存储单元分布态的影响确定;读取单元,用于对信息位已经编码过的存储单元进行读取,根据读取时当前存储单元对应的存储时间、阈值电压分区和综合分布态,并从所述LLR存储单元提取预先建立的LLR表以获得当前存储单元的LLR值;以及译码单元,用于根据读取的当前存储单元的LLR值对信息位已经编码过的存储单元的码字进行软译码操作。

在本公开的一实施例中,该电子设备包括:计算机、手机、智能音响、可穿戴智能设备以及机器人。

在本公开的一实施例中,该电子设备与被写入并译码的存储器为独立的两个个体;或者被写入并译码的存储器作为该电子设备的组成部分。

在本公开的一实施例中,所述LLR存储单元位于所述存储器内部、所述电子设备内部、或者位于服务器上。

(三)有益效果

从上述技术方案可以看出,本公开提供的LDPC软译码方法、存储器及电子设备,具有以下有益效果:

提出一种新的LDPC软译码配置LLR的方法,考虑到邻近存储单元对于当前存储单元的分布态具有影响,该影响例如为横向扩散效应或者电容耦合效应等,基于上述邻近存储单元的影响效果,提出一种综合分布态来表示当前存储单元分布态的形式,并基于该综合分布态在每个分区确定LLR的值进行译码,上述基于综合分布态确定的LLR值进行译码的方式相较于现有的LDPC软译码方式降低了误码率,提升了纠错能力,同时还减少了迭代次数。

附图说明

图1为现有技术中采用LDPC软译码对读出数据划分区域计算LLR的示例,其中,(a)为对读出数据划分区域的示意图,(b)为计算不同区域LLR的示例。

图2为根据本公开一实施例所示的LDPC软译码方法的流程图。

图3为本公开实施例示例的闪存存储器结构示意图。

图4为本公开实施例示例的考虑同一沟道上相邻存储单元对当前存储单元的分布态影响的示意图。

图5为本公开实施例示例的考虑同一沟道上相邻存储单元对当前存储单元的分布态影响后确定综合分布态的示意图。

图6为本公开实施例示例的TLC闪存存储器的状态与二进制格雷码的对应关系。

图7为本公开实施例示例的将存储单元的综合分布态分为三种类型的示意图。

图8为本公开实施例所示的TLC闪存存储器划分区域的示意图,其中,(a)为划分的LLR区域;(b)为相邻的三层物理页对应各个LLR区域的二进制格雷码。

图9为本公开实施例所示的LDPC软译码方法与现有译码方式的纠错能力对比图。

图10为本公开实施例所示的LDPC软译码方法与现有译码方式的误码率对比图。

图11为根据本公开另一实施例所示的电子设备框图。

【符号说明】

电子设备3;

LLR存储单元31; 编码单元32;

读取单元33; 译码单元34。

具体实施方式

本公开提供了一种LDPC软译码方法及存储器,考虑到邻近存储单元对于当前存储单元的分布态具有影响,该影响例如为横向扩散效应或者电容耦合效应等,基于上述邻近存储单元的影响效果,提出一种综合分布态来表示当前存储单元分布态的形式,并基于该综合分布态在每个分区确定LLR的值进行译码。本公开进而由该综合分布态在各个分区得到的LLR值进行译码能够降低误码率,具有更高的纠错能力。

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。本公开中,术语“软译码”表示置信传播算法。它是基于Tanner图的迭代译码算法。在迭代过程中,可靠性信息即“消息”通过Tanner图上的边在变量节点和校验节点中来回传递,经多次迭代后趋于稳定值,然后据此进行最佳判决。

以闪存举例,图1为现有技术中采用LDPC软译码对读出数据划分区域计算LLR的示例,其中,(a)为对读出数据划分区域的示意图,(b)为计算不同区域LLR的示例,参照图1所示,现有的NAND(与非)闪存中通过LDPC软译码读出存储单元的状态,比如对于单层单元(SLC),一个物理页对应一个逻辑页,对于某个存储单元来说,读出数据具有随着阈值电压连续分布的两个分布态(Distribution),分别以E1和P0表示,分布态E1对应大概率为逻辑1,分布态P0对应大概率为逻辑0。进行LDPC编码时,这两个分布态E1和P0之间的交点对应的阈值电压作为一个分界线RL2,沿着该分界线RL2左右相邻预设距离可以得到另外两条分界线RL1和RL3,如此对应这三条分界线RL1、RL2和RL3可以将读出数据划分为4个区域,参照图1中(a)所示,以E_H、E_L、P_L、P_H表示这4个区域。参照图1中(b)所示,在各个区域可以计算LLR值,对应在区域E_H,逻辑0的概率P0为0.01,逻辑1的概率P1为0.99,计算出该区域E_H的LLR值为-6.63,表示在该区域E_H大概率会读出1。对应在区域E_L,逻辑0的概率P0为0.12,逻辑1的概率P1为0.88,计算出该区域E_L的LLR值为-2.87,表示在该区域E_H大概率会读出1,不过在区域E_L读出1的概率值要小于在区域E_H读出1的概率值。同理,对应在区域P_L和P_H的LLR值分别为:2、6.63,表示在区域P_L和P_H大概率会读出0,不过在区域P_H读出0的概率值要大于在区域P_L读出0的概率值。上述译码方式还是会存在一定的误码率,尤其在两个分布态交叠区域附近,出错的概率较高。

考虑到在上述3D NAND闪存存储器中存在横向扩散效应,(Lateral spreadingeffect),即同一沟道的相邻存储单元存储的信息会对当前存储单元的存储特性具有很大的影响,本公开提出了采用综合分布态来表示当前存储单元分布态的形式,在每个分区内根据考虑了相邻存储单元分布态影响的综合分布态来配置LLR的值,并根据该LLR的值进行译码。当然,基于上述技术构思提出的LDPC软译码方法,不局限于3D NAND闪存存储器,也不局限于横向扩散效应造成的邻近存储单元相互的影响,只要具有多个存储器单元且多个存储器单元之间会存在相互影响的作用,使得某个存储单元的分布态受到影响的存储器均适用于本公开的软译码方法,且本公开的方法相较于现有技术具有较大的优势。

本公开提出一种新的LDPC软译码配置LLR的方法,基于存储单元所处环境的考虑,考虑当前存储单元附近的存储单元对该当前存储单元分布态的影响得到当前存储单元的综合分布态,并基于该综合分布态在每个分区确定LLR的值进行译码。上述综合分布态涵盖了当前存储单元实际的状态,具有更准确且全面的参考价值。

某个存储单元所处环境的其它存储单元对该存储单元都有影响,不过影响的大小程度存在差异。从实现精确计算LLR的角度上讲,可以在当前存储单元的周围环境选取尽可能多的存储单元,以使周围存储单元的影响尽可能精确,但是这种方式对应得到综合分布态需要确定的其它存储单元个数目庞大,时间成本、读取操作的成本较高。在一优选的实施方式中,考虑某个存储单元所处环境的其它存储单元对该存储单元分布态影响的大小程度,选取影响作用占主要地位的存储单元得到当前存储单元的综合分布态,实现准确度与代价(cost)之间的均衡。

在一些存储器结构中,例如二维或三维(2D或3D)的闪存存储器,该存储器具有多个存储单元,多个存储单元构成二维或者三维的存储器阵列,在二维或三维存储器阵列内部的存储器单元或者边缘的存储器单元的周围会有若干存储器单元,当前存储单元附近的存储器单元会影响到当前存储单元的分布态。例如在3D NAND闪存存储器中,位于同一沟道上相互邻近的存储单元之间由于存在横向扩散效应会影响其中某个存储单元的分布态。或者在一些存储器结构中,在邻近的存储单元之间存在电容耦合作用。当然,全文中,在当前存储单元的附近只要存在其他存储单元会影响当前存储单元的分布态的情况均适用于本公开的方法,引起影响的原理可以是横向扩散效应或者其他效应。

以闪存存储器作为示例,由于闪存存储器采取共享电荷存储空间的设计,同一沟道的相邻存储单元存储的信息会对当前存储单元的存储特性具有很大的影响,在每个分区内根据考虑了相邻存储单元分布态影响的综合分布态来配置LLR的值,实验证明,根据上述综合分布态确定的LLR值进行译码的方式相较于现有的LDPC软译码方式降低了误码率,提升了纠错能力,同时还减少了迭代次数。

在本公开的第一个示例性实施例中,提供了一种LDPC软译码方法。

图2为根据本公开一实施例所示的LDPC软译码方法的流程图。

参照图2所示,本实施例的LDPC软译码方法,包括步骤S11、步骤S13和步骡S14。

在步骤S11,预先建立LLR表,该LLR表的输入量为:存储时间、阈值电压分区和综合分布态,输出量为LLR值。其中,当前存储单元的综合分布态根据与当前存储单元邻近的存储单元对当前存储单元分布态的影响确定。

存储时间为该存储器中存储数据的时间,可以通过译码时对应的时间减去编码后对应的时间计算得到存储时间。

其中,阈值电压分区、综合分布态均为存储时间的函数,随着存储时间的变化,阈值电压分区和综合分布态会发生变化。

在本公开的一实施例中,预先建立所述LLR表的方法为:对存储器进行读取测试,在某一存储时间下,获取已经知道准确编码的当前存储单元以及该当前存储单元邻近的存储单元各自的阈值电压分布及分布态,根据与该当前存储单元相邻的存储单元对于该当前存储单元分布态的影响确定当前存储单元的综合分布态,根据综合分布态计算得到不同阈值电压分区的LLR值;获取不同的存储时间下对应的阈值电压分区和综合分布态,从而得到输入量为:存储时间、阈值电压分区和综合分布态,输出量为LLR值的LLR表。

该步骤S11中,可以通过预实验的方式建立LLR表。预实验的过程例如为:挑选随机数A,存入闪存后按一定时间间隔烘烤得到A1,A2等数据(阈值电压)。之后根据A中数据对每个存储单元的综合分布态进行判定,根据判定结果对存储单元分类,对每一类综合分布态单元的阈值电压进行统计。最后根据分区计算对应不同时刻不同分布态的LLR值,并记录进表内。

在本公开的一实施例中,确定当前存储单元的综合分布态时,包含所述当前存储单元所在物理页在内至少有两个相邻物理页被读取。

在本公开的一实施例中,确定当前存储单元的综合分布态时,只选取两层物理页进行读取操作,其中处于低层的物理页为当前存储单元所在的物理页,处于高层的物理页为该存储单元邻近的存储单元所在的物理页,通过读取这两层物理页上存储单元的分布态确定当前存储单元的综合分布态。

在本公开的一实施例中,所述LLR表中,输入量还包括:擦除次数。

在步骤S13,对信息位已经编码过的存储单元进行读取,根据读取时当前存储单元对应的存储时间、阈值电压分区和综合分布态,并参照预先建立的LLR表获得当前存储单元的LLR值。

在步骤S14,根据读取的当前存储单元的LLR值对信息位已经编码过的存储单元的码字进行软译码操作。

在一实施例中,本公开还可以包括步骤S12,该步骤S12在步骤S13前执行,在步骤S12,将信息位编码得到码字并写入至存储器的存储单元中。

在一实施例中,对于3D NAND闪存存储器而言,上述建立LLR表的步骤S11中,输入量还包括:擦写次数(P/E cycle)。

下面结合附图对上述各步骤的实施方式进行详细说明。

参照图3来以闪存存储器对应的结构来示例性描述非易失性存储器进行读取操作时的基本过程。

图3为本公开实施例示例的闪存存储器结构示意图。参照图3所示,示意了三维电荷俘获型的NAND闪存存储器块(3D charge trap NAND Flash block),对应每一层的存储单元阵列为一物理页,同一沟道上的相邻存储单元的x、y坐标相同且z坐标不同,即同一沟道的相邻存储单元处于不同的物理页中。在SLC、MLC和TLC中,物理页和逻辑页之间存在以下关系:物理页=i×逻辑页,对于SLC,i=1,对于MLC,i=2,对于TLC,i=3,因此,相关技术中,采用二进制编码时,SLC具有21=2种分布态,MLC具有22=4种分布态,TLC具有23=8种分布态。在对存储单元阵列读取的过程中,可以按照字线(WL)自下而上依次对每个物理层进行读取。相邻的三层物理层中,本公开按照沿着字线延伸的方向(即z方向)分别描述为:下层物理页(Lower Page)、中间物理页(Middle Page)和上层物理页(Upper Page)。

在步骤S11中,当前存储单元的综合分布态根据与当前存储单元邻近的存储单元对当前存储单元分布态的影响确定。这里的“与当前存储单元邻近的存储单元”的含义为:以当前存储单元为起点,辐射的周围环境中的存储单元,包括与当前存储单元相邻(不间隔其他存储单元)、次相邻的存储单元、次次相邻的存储单元等。

对应不同的存储器结构,当前存储单元邻近的存储单元的排布形式可以各式各样,例如对于3D NAND闪存存储器,位于某一物理页上的存储单元邻近的存储单元为:处于上述物理页相邻的物理页上的与该存储单元位于同一沟道的存储单元。由于位于同一物理页上各个存储单元之间具有较好的电隔离特性,因此可以认为处于同一物理页上的其它存储单元对当前存储单元不存在影响,这里在确定综合分布态时,空间上与当前存储单元邻近但是实质上不具有影响的存储单元不计算在内,或者将其影响记为0。

参照图3所示,3D NAND闪存存储器中,某一字线WL(n)对应当前存储单元所在的物理页,n为正整数,在n≥1的情况下,此时与当前存储单元邻近的存储单元所在物理页对应的字线可以是:WL(n+1)、WL(n+2)、……;在n≥2的情况下,此时与当前存储单元邻近的存储单元所在物理页对应的字线可以是:WL(n-1)、WL(n+1)、WL(n+2)……。按照当前存储单元所在位置,沿着单一方向或者多个(2个或大于2个)方向辐射的方向可以得到邻近的存储单元,邻近的距离(即选取邻近的存储单元的数目或层次)可以根据实际计算的效率、代价以及准确度进行设置。例如,在n=2的情况下,与当前存储单元邻近的存储单元所在物理页对应的字线可以是WL(1),也可以是WL(3),也可以是WL(1)、WL(3),也可以是WL(1)、WL(3)、WL(4),也可以是WL(1)、WL(3)、WL(4)、WL(5)。

在其它示例性实例中,例如对于2D闪存存储器,多个存储器单层呈网格状阵列形式排布,当前存储单元位于中心,邻近的存储单元可以是环绕该中心处存储单元的8个存储单元,或者与该中心存储单元处于同一直线的4个存储单元,或者选取更大范围、更多个数得到邻近的存储单元。另外,上述邻近存储单元按照与当前存储单元之间的距离由近及远可以分为:第一邻近存储单元、第二邻近存储单元、……第k邻近存储单元,k为正整数,与前面描述的相邻(不间隔其他存储单元)、次相邻的存储单元、次次相邻的存储单元具有类似的排布方式。

接下来参照图6来以三层单元TLC为例,描述不同的存储状态与二进制格雷码(Binary Gray Code)之间的对应关系。

图6为本公开实施例示例的TLC闪存存储器的状态与二进制格雷码的对应关系。参照图6所示,每层物理页均有8种分布态,这8种分布态在图6中分别以E、P1、P2、P3、P4、P5、P6和P7表示,在下层物理页中,对应这8个分布态的格雷码依次为:1 0 0 0 0 1 1 1,图6中的双向箭头示意可以交换。同理,在中间物理页中,对应这8个分布态的格雷码依次为:1 1 0 01 1 0 0,在上层物理页中,对应这8个分布态的格雷码依次为:1 1 1 0 0 0 0 1。

在一实施步骤S12的示例中,可以利用上面描述的格雷码将信息位进行编码得到码字,并写入至存储器的存储单元中。

下面参照图4-图8来描述实施步骤S11的示例,并且详细介绍本公开提出的综合分布态(Pattern set)的概念以及如何根据相邻存储单元对于当前存储单元分布态的影响确定当前存储单元的综合分布态。

图4为本公开实施例示例的考虑同一沟道上相邻存储单元对当前存储单元的分布态影响的示意图。图5为本公开实施例示例的考虑同一沟道上相邻存储单元对当前存储单元的分布态影响后确定综合分布态的示意图。

以TLC闪存存储器的两个分布态P6和P7为例,参照图4所示,现有的读取和译码方式是基于图4中实线示意的P6分布态和P7分布态,按照之前参照图1描述的方式进行读取和译码操作。而在本公开中,考虑到E分布态对应低电子浓度,按照分布态对应的阈值电压范围升高的顺序E、P1、P2、P3、P4、P5、P6和P7,各个分布态对应的电子浓度也具有差异,P7分布态对应的电子浓度高于P1分布态、P2分布态的电子浓度,那么在同一沟道上对应的相邻存储单元之间,如果存在较大的电子浓度差异,则会促进电子在沟道内的扩散运动,沿着高浓度向低浓度方向进行扩散,从而影响相邻存储单元中某个存储单元的实际分布态。因此,某个存储单元当前的分布态会受与该存储单元处于同一沟道的相邻存储单元的分布态的影响,例如图4中示例性示出的虚线对应的综合分布态EP6E,或者也可以表示为E-P6-E,形如A-X-B或者AXB的表示方式中,X表示当前物理页上的某个存储单元的分布态;A和B分别表示与上述存储单元处于同一沟道的上、下相邻物理页上的存储单元的分布态,后面的描述中,一般以A表示与上述存储单元处于同一沟道的下相邻物理页上存储单元的分布态,B表示与上述存储单元处于同一沟道的上相邻物理页上存储单元的分布态。

具体而言,X表示当前物理页上的某个存储单元的分布态;A表示位于当前物理页相邻的第一物理页上的与上述存储单元相邻的第一存储单元(与上述存储单元的x、y坐标相同且z坐标不同)的分布态;B表示位于当前物理页相邻的第二物理页上的与上述存储单元相邻的第二存储单元的分布态。参照图3所示,当前物理页例如为中间物理页,第一物理页例如为下层物理页,第二物理页例如为上层物理页,当前物理页上的某个存储单元的坐标为:(a,b,c),其中a,b,c均为正整数,c≥2,则第一存储单元的坐标为:(a,b,c-1),第二存储单元的坐标为:(a,b,c+1)。该EP6E示例性示出了综合分布态的表达形式。类似的,图4中示例性示出的虚线分布态中,对于当前存储单元的分布态P6而言,考虑了同一沟道上相邻存储单元对当前存储单元的分布态影响后确定的综合分布态可以是P7P6P7或者EP6E。同样地,对于当前存储单元的分布态P7而言,考虑了同一沟道上相邻存储单元对当前存储单元的分布态影响后确定的综合分布态可以是P7P7P7或者EP7E。需要说明的是,上述示例仅以P7和E作为示例,上述A、B对应的实际分布态可以是E、P1、P2、P3、P4、P5、P6和P7中任一个。

接下来参照图5所示,分布态P6和分布态P7之间交叠处的阈值电压通常会作为一个分界线,例如图5中以3.8V示意的交叠处分界线,在该3.8V分界线的左右相邻预设距离可以得到另外两条分界线,这里分别以3.7V和3.9V分界线作为示例,上述3.7V、3.8V和3.9V分界线将目前视图中的读取数据划分为①、②、③、④共四个LLR区域(分区),实际上该交叠处分界线左右的预设距离可以根据实际需要进行调整。

本实施例在配置或计算LLR时,考虑的是虚线对应的综合分布态,而不是实线对应的分布态,为了便于与本文中描述的综合分布态区分,可以将现有技术中考虑的实线对应的分布态称之初始分布态,该初始分布态并没有考虑同一沟道上相邻存储单元对当前存储单元分布态的影响。由于综合分布态基于横向扩散效应,考虑了同一沟道上相邻存储单元对于当前存储单元分布态的影响,因此基于综合分布态配置的LLR值能够更加准确且全面地反映出当前存储单元的实际分布态及读取数据概率。

对比图5中初始分布态和综合分布态的曲线可知,在一示例性说明的实例中,初始分布态P6的峰值(最大存储单元个数值)对应的阈值电压为3.4V,初始分布态P7的峰值(最大存储单元个数值)对应的阈值电压为4.2V,考虑了同一沟道的相邻存储单元对于当前存储单元分布态的影响确定的当前存储单元的综合分布态(pattern set)例如分别为EP6E以及EP7E,图5中以EP6E中的P6分布态(P6distribution in EP6E)来描述综合分布态EP6E,以EP7E中的P7分布态(P7 distribution in EP7E)来描述综合分布态EP7E。

从图5可以看出,综合分布态EP6E的峰值对应的阈值电压为3.35V,综合分布态EP7E的峰值对应的阈值电压为4.15V,与初始分布态的峰值对应的阈值电压存在差异,由此在各个分区中计算LLR值对应的概率也并不相同。图5示意的实施例中,采用现有技术中初始分布态计算得到的各个分区的LLR值和采用本公开的综合分布态得到的各个分区的LLR值参照表1所示,现有技术中,区域①、②、③、④对应的LLR值的符号分别对应为++--,而采用本公开实施例的方法,基于综合分布态得到的各个分区①、②、③、④的LLR值的符号分别对应为:+---,本公开的方法与现有的方法在区域②处得出的结果完全相反,经过实验验证,本公开的方法有效减少了误码率,提升了器件的纠错能力。

表1采用初始分布态和综合分布态获得的各分区LLR值对比

下面结合图9和10示例的实验结果来说明基于综合分布态配置的LLR值进行译码的过程具有的有益效果。

图9为本公开实施例所示的LDPC软译码方法与现有译码方式的纠错能力对比图。图10为本公开实施例所示的LDPC软译码方法与现有译码方式的误码率对比图。

对于同一存储单元,具有8个分布态,相邻的分布态交叠部分容易发生错误。如上面表1示例的现有方法得出的区域②的LLR进行译码的结果是错误,而通过本公开实施例提出的基于综合分布态得出的LLR值进行译码的结果实现了纠错的效果。图9中,横坐标为原始比特错误率(RBER,Raw Bit Error Rate),纵坐标为不可修复的错误比特率(UBER,Uncorrectable Bit Error Rate),图10中,横坐标为存储时间,纵坐标为码字出错平均个数。参照图9和图10所示,本公开的LDPC软译码方法相较于现有方法有效降低了RBER,并且有效提升了纠错能力。

在本公开的一实施例中,将闪存存储器的综合分布态分为三种类型,分别为:整体偏左类型、整体居中类型以及整体偏右类型,下面结合图7进行详细介绍。

图7为本公开实施例示例的将存储单元的综合分布态分为三种类型的示意图。

该实施例中,以TLC闪存存储器为例,参照图3和图7所示,针对某一当前物理页上的存储单元,其相邻的物理页上的与上述存储单元处于同一沟道的存储单元的分布态会影响当前物理页上的存储单元的分布态,因此可以按照字线自下而上读取的方式依次获取三层物理页上存储单元的阈值电压分布情况,例如依次获取物理页1,物理页2和物理页3上存储单元的阈值电压分布情况,对应中间层物理页——物理页2上存储单元的综合分布态可以根据上述获取的三层物理页上存储单元的阈值电压分布情况确定。

以TLC为例,基于上述方式确定的综合分布态划分三种类型,分别为整体偏左类型、整体居中类型以及整体偏右类型。其中,整体偏左类型为:低/中-X-低,LLR在区域①为正,在区域②、③和④均为负。整体偏右类型为:低/中/高-X-高,中/高-X-中,LLR在区域①、②和③均为正,在区域④为负。其余形式的情形为整体居中类型,LLR在区域①和②均为正,在区域③和④均为负,本段中的“/”表示或者的含义。其中,低对应分布态为:E、P1、P2;中对应分布态为:P3、P4,高对应分布态为:P5、P6、P7。按照字线WL自下而上读取的方式,对应关系如下:低(0~2),中(3~4)与高(5~7),括号中的数字表示字线在z轴的位置,0表示字线从最底层存储单元阵列开始读取。例如图7中示意出的初始分布态P6和P7,基于横向扩散效应之后得到的综合分布态中EP6E、EP7E为整体偏左类型,综合分布态P4P6P4、P7P6P7、P4P7P4、P7P7P7为整体偏右类型。示例性的,整体居中类型对应的综合分布态可以形如:P7P6E、P7P7E。当然,X是以P6和P7进行示例,实际上可以是分布态E、P1、P2、P3、P4、P5、P6和P7中任一个。

经过实验证明,对于3D NAND闪存存储器而言,处于上层物理页的存储单元对于当前存储单元分布态的影响相较于处于下层物理页的存储单元对于当前存储单元分布态的影响更大,因此,在一优选实施例中,可以只选取两层物理页进行读取操作,其中处于低层(字线序号较小)的物理页为当前存储单元所在的物理页,处于高层的物理页为该存储单元邻近的存储单元所在的物理页,以最小的读取成本实现较高的读取准确度。

在本公开的一实施例中,所述存储器为3D NAND闪存存储器,当前存储单元对应的坐标为(m,n,k),k≥1,选取与该存储单元邻近的存储单元的方式为:沿着z轴向上和/或向下依次选取若干与当前存储单元具有预定距离的存储单元。

例如,对于3D NAND闪存存储器,上述方法在确定综合分布态的过程中,不局限选取物理页的层数、选取方向和距离,例如至少可以选取2层物理页,当前存储单元对应的坐标为(m,n,1),计算综合分布态时可以选取坐标对应为(m,n,2)的一个存储单元,也可以选取坐标对应为(m,n,2)、(m,n,3)的两个或更多个存储单元。

在另一实例中,当前存储单元对应的坐标为(m,n,5),计算综合分布态时可以按照单一方向选取不同的距离作为邻近的存储单元,例如选取坐标对应为(m,n,6)的一个存储单元,或者选取坐标对应为(m,n,6)、(m,n,7)的两个存储单元;当然,也可以按照相反的方向选取,例如,选取坐标对应为(m,n,4)的存储单元。另外,可以按照多个方向选取各自的距离,例如选取(m,n,4)、(m,n,6);或者选取(m,n,3)、(m,n,4)、(m,n,6);或者选取(m,n,4)、(m,n,6)、(m,n,7);或者选取(m,n,3)、(m,n,4)、(m,n,6)、(m,n,7)。

上述实施例以3D NAND闪存存储器对应的结构进行说明,需要说明的是,其他存储器的结构对应的与当前存储单元邻近的存储单元的选取方向、选取距离等可以根据存储器的结构特征、分布态影响作用以及选取成本综合进行考虑。

下面结合图8来说明本公开的LDPC软译码方法的操作过程。下面的介绍中,以上层物理页作为示例性介绍,中间物理页与下层物理页的方式与之相同。

图8为本公开实施例所示的TLC闪存存储器划分区域的示意图,其中,(a)为划分的LLR区域;(b)为相邻的三层物理页对应各个LLR区域的二进制格雷码。

按照之前描述的方式进行分区的设置,按照相邻分布态的交叠处对应的阈值电压作为分界线,并选择交叠处分界线的左右相邻预设距离的阈值电压作为邻近的两条分界线,图8中(a)选择性示例了多组分界线:Rv4、Rv5、Rv6,Rv7、Rv8、Rv9,Rv19、Rv20、Rv21,则对于TLC而言,共有8个分布态,产生7个交叠分界线,对应每个交叠分界线实际产生3条分界线,共有21条分界线,则整体上将TLC划分成22个区域,即得到22个LLR分区,LLR分区的情形可以参照图8中(a)所示,为了以上层物理页分区的整体情况示例,省略掉了部分分布态的示意,仅以P2、P3、P6和P7示意,同样对应的,图8中(b)对应示意了不同物理页中示出的部分分布态的二进制格雷码,对应不同物理页中各个分布态设置格雷码的编码方式可以参照前述有关图6的描述,这里不再赘述。

结合图6和图8中(b)所示,在上层物理页中,对应E、P1、P2、P3、P4、P5、P6和P7这8个分布态的格雷码依次为:11100001,则根据格雷码可以将读取数据分为三个大区域:E~P2,P3~P6与P7。取Rv7、Rv8、Rv9,Rv19、Rv20、Rv21与额外的Rv6、Rv10和Rv18作为大区域内部分界,获得细分的1+4+1+4=10个LLR小区域。将区域11~18的LLR值设置为10,将区域1~6的LLR值设置为-10,对于小区域7~10(图8中(b)以⑦~⑩示意)与小区域19~22(等同于圆圈19和圆圈22),根据综合分布态在各个小区域设置LLR的值。该过程中,可以根据实际闪存存储器的测试数据进行LLR值的配置。

根据综合分布态在各个分区(小区域)7~10、19~22设置各自的LLR值之后,可以建立在不同存储时间、不同阈值电压分区以及综合分布态下的LLR值,得到了LLR表,该LLR表中,输入为:存储时间、阈值电压分区以及综合分布态,输出为LLR值。

上述过程描述了在TLC闪存存储器中,根据同一沟道的相邻存储单元对于当前存储单元分布态的影响确定当前存储单元的综合分布态,对应建立在不同的存储时间、阈值电压分区、以及综合分布态下的LLR值的具体实施过程,即实施步骤S11的过程。上述步骤S11可以是预先进行,在后续的译码过程中,不必每次译码都建立一遍LLR表,可以将预先建立的LLR表存储在存储器中,在后续译码时直接调用即可。

实施步骤S12,将信息位编码得到码字并写入至存储器的存储单元中。

实施步骤S13,用Rv6、Rv7、Rv8、Rv9、Rv10、Rv18、Rv19、Rv20和Rv21对应的阈值电压读出存储单元在上层物理页中的分区归属,并根据存储时间、分区以及综合分布态查询LLR表,赋予上层物理页对应的LLR值。

实施步骤S14,对上层物理页码字的LLR进行软译码。

综上所述,本实施例公开了一种LDPC软译码方法,考虑到在存储单元阵列中存在横向扩散效应,由于存储器采取共享电荷存储空间的设计,相邻存储单元存储的信息会对当前存储单元的存储特性具有很大的影响,在基于初始分布态的交叠处划分区域后,在每个区域内根据考虑了相邻存储单元分布态影响的综合分布态来确定LLR的值,根据上述综合分布态确定的LLR值进行软译码的方式相较于现有的LDPC软译码方式降低了误码率,提升了纠错能力,同时还减少了迭代次数。

在本公开的第二个示例性实施例中,提供了一种存储器,该存储器用于执行上述LDPC软译码方法。特别是一种非易失性存储器,该非易失性存储器可以是2D或3D闪存存储器。例如为3D NAND闪存存储器。

需要说明的是,不局限于前述实施例提及的横向扩散效应或者电容耦合作用等,只要存在周围环境中存储单元对当前存储单元分布态的影响或者干扰作用的存储器均在本公开的保护范围之内。

在一实施例中,该存储器可以是计算机可读存储介质,可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

本实施例的存储器作为上述软译码方法的实施对象,在该存储器上执行步骤S11、步骤S13和步骤S14的操作。其中,步骤S11只需预先执行一次,并不是每次进行译码操作都需要执行。另外,在步骤S13之前可以执行步骤S12。在另外的实施例中,预先建立LLR表的步骤S11也可以预先在存储器上实施,将建立的LLR存储在一存储模块中,该存储模块可以位于该存储器上,或者也可以位于该存储器之外的其它存储装置或者服务器中。在存储器上每次执行步骤S12、步骤S13和步骤S14,步骤S13中直接从存储模块调取LLR表即可。

本实施例的存储器为3D NAND闪存存储器,在执行译码操作时对LLR配置时采用综合分布态,考虑了同一沟道相邻存储单元对当前存储单元分布态的影响,降低了误码率,提升了纠错能力,同时还减少了迭代次数。

在本公开的第三个示例性实施例中,提供了一种电子设备,该电子设用于实施上述LDPC软译码方法。本实施例的电子设备作为上述方法的施加对象。

图11为根据本公开另一实施例所示的电子设备框图。

参照图11所示,本实施例的电子设备3,包括:LLR存储单元31,编码单元32,读取单元33以及译码单元34。

LLR存储单元31,用于存储预先建立的LLR表,该LLR表的输入量为:存储时间、阈值电压分区和综合分布态,输出量为LLR值。其中,当前存储单元的综合分布态根据与当前存储单元相邻的存储单元对于该当前存储单元分布态的影响确定。

编码单元32,用于将信息位编码得到码字并写入至一存储器的存储单元中。

读取单元33,用于对信息位已经编码过的存储单元进行读取,根据读取时当前存储单元对应的存储时间、阈值电压分区和综合分布态,并从所述LLR存储单元提取预先建立的LLR表以获得当前存储单元的LLR值。

译码单元34,用于根据读取的当前存储单元的LLR值对信息位已经编码过的存储单元的码字进行软译码操作。

在本公开的实施例中,该电子设备3包括:计算机、手机、智能音响、可穿戴智能设备、机器人、智能芯片等。

在一实施例中,该电子设备可以与执行编码和译码的上述存储器为独立的两个个体,例如,电子设备为计算机,上述存储器为U盘。也可以是上述存储器作为该电子设备的组成部分,例如电子设备为计算机,上述存储器为该计算机内部的NAND闪存芯片。对应的,LLR存储单元31可以是上述执行编码和译码操作的存储器中的存储单元,也可以是位于该存储器之外的其它存储装置中的具有存储功能的硬件或者软硬件结合体,例如,在电子设备与存储器为两个独立个体时,该LLR存储单元31可以位于上述存储器中,也可以位于上述电子设备中,也可以位于可以与上述执行主体(电子设备和/或存储器)通信的服务器中,在需要时调用即可。

根据本公开实施例的方法流程可以被实现为计算机软件程序。上述编码单元32、读取单元33和译码单元34可以是计算机程序指令。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。

综上所述,本公开提供了一种LDPC软译码方法、存储器及电子设备,考虑到在存储单元阵列中存在横向扩散效应,由于存储器采取共享电荷存储空间的设计,相邻存储单元存储的信息会对当前存储单元的存储特性具有很大的影响,在基于初始分布态的交叠处划分区域后,在每个区域内根据考虑了相邻存储单元分布态影响的综合分布态来确定LLR的值,根据上述综合分布态确定的LLR值进行译码的方式相较于现有的LDPC软译码方式降低了误码率,提升了纠错能力,同时还减少了迭代次数。

本公开的实施例中,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。流程图和实施例示例性描述的执行顺序并不是唯一的,其他合乎逻辑的执行顺序均在本公开的保护范围之内。

以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:改善闪存的读取重试的方法、控制器以及相关存储装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!