掌桥专利:专业的专利平台
掌桥专利
首页

一种用于NAND闪存芯片信号检测的方法及装置

文献发布时间:2023-06-19 09:57:26


一种用于NAND闪存芯片信号检测的方法及装置

技术领域

本申请涉及存储器技术领域,尤其涉及一种用于NAND闪存芯片信号检测的方法及装置。

背景技术

闪存是一种层级结构的存储介质,闪存从高到低的存储层级结构分别为:芯片、晶圆、分组、块、字线、页、单元。随着NAND闪存存储的密度增加,NAND闪存面临着越来越多的数据可靠性的挑战,因此,提高NAND闪存的信号检测性能成为存储领域研究热点。

现有的NAND闪存芯片信号检测技术,需知信道分布偏移,再找出最优的判决阈值电压对闪存芯片信号进行检测。然而,在实际中闪存信道是一个非稳定信道,随数据失配保持时间的变化,信道偏移是未知,因此很难得到精确的闪存信道模型;而且现有技术忽略了闪存单元之间的干扰,导致无法准确地对NAND闪存芯片信号进行检测。

发明内容

本申请实施例提供了一种用于NAND闪存芯片信号检测的方法及装置,用于解决现有技术无法准确地对NAND闪存芯片信号进行检测的技术问题。

有鉴于此,本申请第一方面提供了一种用于NAND闪存芯片信号检测的方法,所述方法包括:

S1、设置闪存信道参数以及耦合强度因子;

S2、当闪存单元被编程后,读取闪存控制器的第一闪存字线的阈值电压,根据所述第一闪存字线的阈值电压获得LLR值,并对所述LLR值进行译码得到信息符号标签,将所述信息符号标签编码为一维序列;

S3、读取所述第一闪存字线的受干扰字线的阈值电压,将所述受干扰字线的阈值电压与所述第一闪存字线的阈值电压组成二维序列;

S4、通过所述一维序列和所述二维序列对CNN网络进行训练,得到所述闪存信道的CNN网络模型;

S5、获取所述闪存控制器的阈值电压量化值,根据预置的失配保持时间、失配擦除和编程循环次数生成失配测试集,通过所述失配测试集对所述CNN网络模型进行测试,得到所述CNN网络模型的鲁棒性。

可选地,步骤S4之后还包括:

基于所述CNN网络模型,对若干个预置阈值电压分别进行特征提取,得到各所述预置阈值电压的序列,并分别计算各所述预置阈值电压的序列的所属状态概率;

基于LLR值计算公式,根据各所述预置阈值电压的序列的所属状态概率计算所述闪存单元的LLR值。

可选地,所述LLR值计算公式为:

其中,

式中,L(b

可选地,所述设置闪存信道参数包括:设置所述闪存信道的闪存结构为全位线结构。

可选地,步骤S2,具体包括:

当所述闪存单元被编程后,对所述闪存单元的阈值电压区间进行均匀量化,读取所述闪存控制器的第一闪存字线的阈值电压,根据所述第一闪存字线的阈值电压获得LLR值;

通过LDPC编码器对所述LLR值进行译码得到信息符号标签,对所述信息符号标签进行独热编码得到所述一维序列。

可选地,所述获取所述闪存控制器的阈值电压量化值,具体包括:

对所述闪存控制器进行感应和解码,得到所述闪存控制器的阈值电压和状态标签;

读取所述闪存控制器的阈值电压后,对所述闪存控制器的阈值电压进行计算得到阈值电压量化值。

本申请第二方面提供一种用于NAND闪存芯片信号检测的装置,所述装置包括:

设置单元,用于设置闪存信道参数以及耦合强度因子;

第一读取单元,用于当闪存单元被编程后,读取闪存控制器的第一闪存字线的阈值电压,根据所述第一闪存字线的阈值电压获得LLR值,并对所述LLR值进行译码得到信息符号标签,将所述信息符号标签编码为一维序列;

第二读取单元,用于读取所述第一闪存字线的受干扰字线的阈值电压,将所述受干扰字线的阈值电压与所述第一闪存字线的阈值电压组成二维序列;

训练单元,用于通过所述一维序列和所述二维序列对CNN网络进行训练,得到所述闪存信道的CNN网络模型;

测试单元,用于获取所述闪存控制器的阈值电压量化值,根据预置的失配保持时间、失配擦除和编程循环次数生成失配测试集,通过所述失配测试集对所述CNN网络模型进行测试,得到所述CNN网络模型的鲁棒性。

可选地,还包括:

计算单元,用于基于所述CNN网络模型,对若干个预置阈值电压分别进行特征提取,得到各所述预置阈值电压的序列,并分别计算各所述预置阈值电压的序列的所属状态概率;

基于LLR值计算公式,根据各所述预置阈值电压的序列的所属状态概率计算所述闪存单元的LLR值。

可选地,所述设置单元具体用于:

设置所述闪存信道的闪存结构为全位线结构并设置耦合强度因子。

可选地,所述第一读取单元,具体用于:

当所述闪存单元被编程后,对所述闪存单元的阈值电压区间进行均匀量化,读取所述闪存控制器的第一闪存字线的阈值电压,根据所述第一闪存字线的阈值电压获得LLR值;

通过BP译码器对所述LLR值进行译码得到信息符号标签,对所述信息符号标签进行独热编码得到所述一维序列。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中,提供了一种用于NAND闪存芯片信号检测的方法,包括:设置闪存信道参数以及耦合强度因子;当闪存单元被编程后,读取闪存控制器的第一闪存字线的阈值电压,根据第一闪存字线的阈值电压获得LLR值,并对LLR值进行译码得到信息符号标签,将信息符号标签编码为一维序列;读取第一闪存字线的受干扰字线的阈值电压,将受干扰字线的阈值电压与第一闪存字线的阈值电压组成二维序列;通过一维序列和二维序列对CNN网络进行训练,得到闪存信道的CNN网络模型;获取闪存控制器的阈值电压量化值,根据预置的失配保持时间、失配擦除和编程循环次数生成失配测试集,通过失配测试集对CNN网络模型进行测试,得到CNN网络模型的鲁棒性。

本申请用于NAND闪存芯片信号检测的方法,申请人通过实验分析发现,不同状态的受干扰闪存单元不是交错呈现,而是与受干扰单元的阈值电压具有正相关关系,随着耦合强度增大受干扰闪存单元的阈值电压向右偏移越明显,也就是说闪存单元之间的阈值电压具有相关性,而CNN网络模型又能很好对相关性这种特征进行提取,因此本申请通过训练建立闪存信道的CNN网络模型来对闪存芯片信号进行检测;同时考虑到闪存信道是非稳定性的,因此计算出CNN网络模型的鲁棒性,用于对网络参数进行更新,使得CNN网络模型能够准确地对NAND闪存芯片信号进行检测。解决了现有技术无法准确地对NAND闪存芯片信号进行检测的技术问题。

附图说明

图1为本申请实施例中提供的一种用于NAND闪存芯片信号检测的方法实施例一的流程示意图;

图2为本申请实施例中提供的一种用于NAND闪存芯片信号检测的方法实施例一的流程示意图。

图3为本申请实施例中提供的一种用于NAND闪存芯片信号检测的装置的结构图;

图4为本申请实施例中提供的一种全位线结构中闪存单元之间的干扰示意图;

图5a为本申请实施例中提供的耦合强度因子s=0的受干扰单元和干扰单元的阈值电压关系示意图;

图5b为本申请实施例中提供的耦合强度因子s=1.4的受干扰单元和干扰单元的阈值电压关系示意图;

图5c为本申请实施例中提供的耦合强度因子s=2.5的受干扰单元和干扰单元的阈值电压关系示意图;

图6为本申请实施例中提供的根据鲁棒性对闪存信道的CNN网络模型的网络参数进行定期更新的示意图;

图7为本申请实施例中提供的失配编程和循环次数比较图;

图8为本申请实施例中提供的最大迭代次数比较图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参阅图5a、图5b、图5c,可以发现不同状态的受干扰单元不是交错呈现,而是与干扰单元的阈值电压具有正相关关系,随着耦合强度增大,受干扰单元的阈值电压向右偏移越明显。这现象显示,单元间的阈值电压具有相关性。当观测的干扰单元越多,即干扰单元阈值电压与受干扰单元阈值电压通过高维坐标观察,这种相关性更清楚。现有的研究没有考虑相关噪声下的闪存非稳定信道检测问题,这种复杂信道难以进行精确建模。而CNN网络能很好提取这种特征,并且本申请可以根据得到CNN网络模型的鲁棒性,定期更新CNN网络参数,能适用CCI噪声、随机电报噪声、数据保持噪声共存的闪存信道变化的检测。

本申请的实验仿真在Window10操作系统下进行,采用Keras深度学习框架,实验选择了码率约0.889(2048,2304)的QC-LDPC码写入一个字线。CNN结构由卷积核和特征图大小组成,可以表示为:{L;f

请参阅图1,本申请实施例中提供的一种用于NAND闪存芯片信号检测的方法实施例一,包括:

步骤101、设置闪存信道参数以及耦合强度因子。

可以理解的是,在做仿真实验时,需要对闪存信道的各项参数进行设置,本实施例设置:擦除状态下阈值电压分布的参数μ

由于本实施例考虑了单元间干扰对闪存信道的影响,因此对于单元间干扰,设置γ

步骤102、当闪存单元被编程后,读取闪存控制器的第一闪存字线的阈值电压,根据第一闪存字线的阈值电压获得LLR值,并对LLR值进行译码得到信息符号标签,将信息符号标签编码为一维序列。

当闪存单元被编程时,闪存单元之间会有电容耦合效应,阈值电压改变会造成被干扰闪存阈值电压的变化;由于闪存控制器最小的读取单位是页,因此读取闪存控制器的闪存字线的阈值电压,通过闪存字线的阈值电压的大小找到LLR查找表每个阈值电压的上页和下页,分别对应一个LLR值,将LLR值输入到译码器中进行译码得到信息符号标签,并将信息符号标签编码为序列;需要说明的是,MLC类型是每个单元存两个比特位,所以有上页和下页。TLC存三个比特位有上页,中页和下页。

步骤103、读取第一闪存字线的受干扰字线的阈值电压,将受干扰字线的阈值电压与第一闪存字线的阈值电压组成二维序列。

需要说明的是,不同的闪存结构,闪存字线与受干扰字线的结构都不同,本实施例的闪存字线与受干扰字线的结构如图4所示。

读取第一闪存字线的受干扰字线的阈值电压,并将受干扰字线的阈值电压与第一闪存字线的阈值电压组成序列,该序列中的元素是二维的。

步骤104、通过一维序列和二维序列对CNN网络进行训练,得到闪存信道的CNN网络模型。

申请人通过实验分析发现,不同状态的受干扰闪存单元不是交错呈现,而是与受干扰单元的阈值电压具有正相关关系,随着耦合强度增大受干扰闪存单元的阈值电压向右偏移越明显,也就是说闪存单元之间的阈值电压具有相关性,而CNN网络模型又能很好对相关性这种特征进行提取,因此本申请通过数据样本(一维序列和二维序列)对CNN网络进行训练,得到闪存信道的CNN网络模型,该网络模型可以用于对NAND闪存芯片信号进行检测。

步骤105、获取闪存控制器的阈值电压量化值,根据预置的失配保持时间、失配擦除和编程循环次数生成失配测试集,通过失配测试集对CNN网络模型进行测试,得到CNN网络模型的鲁棒性。

考虑到闪存信道是非稳定性的,本实施例通过生成失配测试集对CNN网络模型进行测试得到CNN网络模型的鲁棒性。

其中,失配保持时间(retention time)即数据被编程写入闪存时的时间到下次被擦除时的时间,可以理解为数据存放在闪存存储的保存时间;失配擦除和编程循环次数为:测试数据集的擦除和编程循环次数,与训练数据集的擦除和编程循环次数的差值。

需要说明的是,为了适应非稳定噪声的变化,可以根据的鲁棒性对CNN网络模型的网络参数进行定期更新,保证CNN网络模型能够准确地对NAND闪存芯片信号进行检测。

通过图6,本申请根据鲁棒性对闪存信道的CNN网络模型的网络参数进行定期更新情况可以知道,前期更新周期短,后期更新周期长,可以一年或者数年更新一次网络参数。

本申请用于NAND闪存芯片信号检测的方法,申请人通过实验分析发现,不同状态的受干扰闪存单元不是交错呈现,而是与受干扰单元的阈值电压具有正相关关系,随着耦合强度增大受干扰闪存单元的阈值电压向右偏移越明显,也就是说闪存单元之间的阈值电压具有相关性,而CNN网络模型又能很好对相关性这种特征进行提取,因此本申请通过训练建立闪存信道的CNN网络模型来对闪存芯片信号进行检测;同时考虑到闪存信道是非稳定性的,因此计算出CNN网络模型的鲁棒性,用于对网络参数进行更新,使得CNN网络模型能够准确地对NAND闪存芯片信号进行检测。解决了现有技术无法准确地对NAND闪存芯片信号进行检测的技术问题。

以上为本申请实施例提供的一种用于NAND闪存芯片信号检测的方法实施例一,以下为本申请实施例提供的一种用于NAND闪存芯片信号检测的方法实施例二。

请参阅图2,本申请实施例提供的一种用于NAND闪存芯片信号检测的方法实施例二,包括:

步骤201、设置闪存信道的闪存结构为全位线结构并设置耦合强度因子。

本实施例将闪存信道的闪存结构设置为全位线结构,以及全位线结构对应的耦合强度因子,需要说明的是,本实施例考虑了图4中右半部分的情况,这样可以减少干扰单元的数量,降低被干扰单元阈值电压受到的干扰,这样受干扰单元阈值电压会受到三个被编程的相邻单元阈值电压的影响,如图4所示。

步骤202、当闪存单元被编程后,对闪存单元的阈值电压区间进行均匀量化,读取闪存控制器的第一闪存字线的阈值电压,根据第一闪存字线的阈值电压获得LLR值;通过BP译码器对LLR值进行译码得到信息符号标签,对信息符号标签进行独热编码得到一维序列。

可以理解的是,通常无法精确读取到阈值电压,因此需要对闪存单元的阈值电压区间进行均匀量化。当获得LLR值时,本实施例通过BP译码器对LLR值进行译码得到信息符号标签,并采用独热编码技术对信息符号标签进行编码。需要说明的是,信息符号标签为闪存存储的信息符号标签。

步骤203、读取第一闪存字线的受干扰字线的阈值电压,将受干扰字线的阈值电压与第一闪存字线的阈值电压组成二维序列。

本实施例步骤203与实施例一步骤103描述相同,请参见步骤103描述,在此不再赘述。

步骤204、通过一维序列和二维序列对CNN网络进行训练,得到闪存信道的CNN网络模型。

本实施例步骤204与实施例一步骤104描述相同,请参见步骤104描述,在此不再赘述。

步骤205、对闪存控制器进行感应和解码,得到闪存控制器的阈值电压和状态标签;读取闪存控制器的阈值电压后,对闪存控制器的阈值电压进行计算得到阈值电压量化值;根据预置的失配保持时间、失配擦除和编程循环次数生成失配测试集,通过失配测试集对CNN网络模型进行测试,得到CNN网络模型的鲁棒性。

需要说明的是,获取闪存控制器的阈值电压量化值的过程包括:对闪存控制器进行感应和解码,得到闪存控制器的阈值电压和状态标签,并在读取闪存控制器的阈值电压后,对闪存控制器的阈值电压进行计算得到阈值电压量化值。然后再根据预置的失配保持时间、失配擦除和编程循环次数生成失配测试集,通过失配测试集对CNN网络模型进行测试,得到CNN网络模型的鲁棒性。

步骤206、基于CNN网络模型,对若干个预置阈值电压分别进行特征提取,得到各预置阈值电压的序列,并分别计算各预置阈值电压的序列的所属状态概率;基于LLR值计算公式,根据各预置阈值电压的序列的所属状态概率计算闪存单元的LLR值。

需要说明的是,LLR是为对数拟然比(log-likelihood ratio),在闪存中的ECC,越多的阈值电压感知次数得到的LLR信息精度越高,精确的LLR信息能提高LDPC的纠错性能,可是电压感知次数会带来读取延迟,并且传统的LLR信息计算需要知道信道模型分布,但由于无法获得精确的信道模型,使得传统的LDPC的纠错性能比较差。

因此,本实施例基于训练得到的CNN网络模型,通过CNN输出层产生的软信息,基于LLR值计算公式可以计算出LLR,这种LLR获得不需信道先验知识,跟传统的评估出信道分布计算出LLR比,LDPC译码性能得到了提升。

其中,LLR值计算公式为:

其中,

式中,L(b

通过图7可以知道,本实施例的CNN网络模型在编程和擦除循环次数的间隔内,网络参数不需要不断更新;并且通过图8可以知道,本实施例的LLR值(CNN-LLR)与现有的LLR值(Con-LLR)在BP译码算法下的对比,本实施例得到LLR值相较于现有的LLR值,能让BP译码算法收敛较快且误码率较低,也就是通过本实施例得到的LLR值能提升BP译码的纠错性能。

本申请用于NAND闪存芯片信号检测的方法,申请人通过实验分析发现,不同状态的受干扰闪存单元不是交错呈现,而是与受干扰单元的阈值电压具有正相关关系,随着耦合强度增大受干扰闪存单元的阈值电压向右偏移越明显,也就是说闪存单元之间的阈值电压具有相关性,而CNN网络模型又能很好对相关性这种特征进行提取,因此本申请通过训练建立闪存信道的CNN网络模型来对闪存芯片信号进行检测;同时考虑到闪存信道是非稳定性的,因此计算出CNN网络模型的鲁棒性,用于对网络参数进行更新,使得CNN网络模型能够准确地对NAND闪存芯片信号进行检测。

进一步地,基于训练得到的CNN网络模型,通过CNN输出层产生的软信息可以计算出LLR,这种LLR获得不需信道先验知识,跟传统的评估出信道分布计算出LLR比,LDPC译码性能得到了提升,解决了现有技术无法准确地对NAND闪存芯片信号进行检测的技术问题。

以上为本申请实施例提供的一种用于NAND闪存芯片信号检测的方法实施例二,以下为本申请实施例提供的一种用于NAND闪存芯片信号检测的装置实施例。

本申请实施例提供的一种用于NAND闪存芯片信号检测的装置,包括:

设置单元301,用于设置闪存信道参数以及耦合强度因子。

第一读取单元302,用于当闪存单元被编程后,读取闪存控制器的第一闪存字线的阈值电压,根据第一闪存字线的阈值电压获得LLR值,并对LLR值进行译码得到信息符号标签,将信息符号标签编码为一维序列。

第二读取单元303,用于读取第一闪存字线的受干扰字线的阈值电压,将受干扰字线的阈值电压与第一闪存字线的阈值电压组成二维序列。

训练单元304,用于通过一维序列和二维序列对CNN网络进行训练,得到闪存信道的CNN网络模型。

测试单元305,用于获取闪存控制器的阈值电压量化值,根据预置的失配保持时间、失配擦除和编程循环次数生成失配测试集,通过失配测试集对CNN网络模型进行测试,得到CNN网络模型的鲁棒性。

计算单元306,用于基于CNN网络模型,对若干个预置阈值电压分别进行特征提取,得到各预置阈值电压的序列,并分别计算各预置阈值电压的序列的所属状态概率;基于LLR值计算公式,根据各预置阈值电压的序列的所属状态概率计算闪存单元的LLR值。

本申请用于NAND闪存芯片信号检测的装置,通过训练建立闪存信道的CNN网络模型来对闪存芯片信号进行检测;同时考虑到闪存信道是非稳定性的,因此计算出CNN网络模型的鲁棒性,用于对网络参数进行更新,使得CNN网络模型能够准确地对NAND闪存芯片信号进行检测;同时基于训练得到的CNN网络模型,通过CNN输出层产生的软信息可以计算出LLR,这种LLR获得不需信道先验知识,跟传统的评估出信道分布计算出LLR比,LDPC译码性能得到了提升。解决了现有技术无法准确地对NAND闪存芯片信号进行检测的技术问题。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 一种用于NAND闪存芯片信号检测的方法及装置
  • 一种用于NAND闪存的获取译码软值的方法和装置
技术分类

06120112359781