一种闪存信道校正的方法、装置和介质与流程

文档序号:18402203发布日期:2019-08-10 00:01阅读:223来源:国知局
一种闪存信道校正的方法、装置和介质与流程

本发明涉及存储设备技术领域,特别是涉及一种闪存信道校正的方法、装置和计算机可读存储介质。



背景技术:

闪存(flashmemory)是一种全电子设备,通过电子电路来读取数据,具有非易失、极高的读写速度、抗震、低功耗、体积小等优势,随着闪存的日益普及,目前已广泛应用于各种领域,如移动设备,个人电脑和服务器,航空航天,消费电子等领域。闪存的读写速度超过磁盘百倍以上,随着制作工艺的发展,闪存的容量不断增大,应用领域开始逐步扩展到高吞吐量、数据访问密集的企业级应用环境。

nand闪存由于其高存储密度及成本低廉等优势,逐渐占据了全球闪存市场的主导地位。随着nand闪存存储密度的增加,使每个闪存块中闪存单元的数量也随之增加,于是闪存单元之间越靠越近,由于cmos晶体管的特殊结构,导致相邻闪存单元之间的寄生电容耦合效应增加,单元间相互干扰加剧,我们称之为单元间干扰噪声(cell-to-cellinterference,cci),cci是影响数据可靠性的主要噪声源之一,除此之外还有随机电报噪声(rtn)、数据保留(retention)噪声,它们都会引起闪存阈值电压分布发生偏移。因此,闪存技术的发展,导致各种干扰噪声加剧,对闪存信道检测带来了一系列的挑战,降低了存储可靠性。

目前除了通过在闪存控制器中添加eccs(error-correctingcodes)模块来纠正出现错误的数据外,还可以采用信号处理的方式来消除闪存信道中存在的各种噪声。

传统方式中主要是利用cci噪声的特点,简单地对电压信号做处理,通过利用受到噪声干扰后的电压值减去擦除状态的均值电压,从而获得经过编程后的电压的变化量,来计算电压的偏移量,然后利用该偏移量来进行补偿。

但是该补偿技术需要读取单元电压次数过多,会造成更多的时延以及额外的读放大干扰。即,若要对某个单元进行后补偿,除了需要读取本单元的电压信息外,还需要读取该单元所在字线(world-line)的下一字线上对应的xy轴,y轴,xy轴三个方向上的单元电压信息,如图1。并且利用相邻单元先验信息的方法是默认能够读取准确的电压值,而实际上,我们在读电压时,只能获取一个电压范围,该方案在实际中难以实现。

可见,如何在保证纠错性能的前提下,降低复杂度和时延,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种闪存信道校正的方法、装置和计算机可读存储介质,可以在保证纠错性能的前提下,降低复杂度和时延。

为解决上述技术问题,本发明实施例提供一种闪存信道校正的方法,包括:

根据预先设定的参考电压值,对第一字线上的两页先后进行译码;初始状态下,第一字线为闪存块的最后一个字线;

当两页均译码成功时,则对所述第一字线上的闪存单元赋予均值电压,并输出码字;

当存在任意一页译码失败时,对所述第一字线上的各闪存单元采用分离状态非均匀量化检测,确定出所述第一字线上各闪存单元的阈值电压;

根据所述第一字线上第一闪存单元的阈值电压、第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出所述第一闪存单元补偿后的阈值电压;其中,所述第一闪存单元为所述第一字线上的任意一个闪存单元;所述第二字线为与所述第一字线相邻的上一个字线;

将所述第一字线上各闪存单元补偿后的阈值电压作为实际电压,并对电压校正后的第一字线进行译码,输出码字。

可选的,所述根据所述第一字线上第一闪存单元的阈值电压、第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出所述第一闪存单元补偿后的阈值电压包括:

根据第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出所述第一字线上第一闪存单元的电压偏移量;

根据所述第一闪存单元的电压偏移量以及阈值电压,计算出第一闪存单元补偿后的阈值电压。

可选的,所述根据第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出所述第一字线上第一闪存单元的电压偏移量包括:

按照如下公式计算第i字线上第j个比特线的电压偏移量i(i,j),

其中,表示45度方向上的耦合系数,表示垂直方向上的耦合系数,ve表示第一闪存单元擦除状态下的阈值电压均值,v(i+1,j-1)表示第i+1个字线的第j-1个比特线的电压值,v(i+1,j)表示第i+1个字线的第j个比特线的电压值,v(i+1,j+1)表示第i+1个字线的第j+1个比特线的电压值。

可选的,所述对所述第一字线上的各闪存单元采用分离状态非均匀量化检测,确定出所述第一字线上各闪存单元的阈值电压包括:

利用分离状态非均匀量化检测方法,确定出第一字线上的各闪存单元所对应的电压量化范围;

将每个闪存单元的电压量化范围的均值作为闪存单元的阈值电压。

本发明实施例还提供了一种闪存信道校正的装置,包括第一译码单元、赋值单元、量化单元、校正单元和第二译码单元;

所述第一译码单元,用于根据预先设定的参考电压值,对第一字线上的两页先后进行译码;初始状态下,第一字线为闪存块的最后一个字线;

所述赋值单元,用于当两页均译码成功时,则对所述第一字线上的闪存单元赋予均值电压,并输出码字;

所述量化单元,用于当存在任意一页译码失败时,则对所述第一字线上的各闪存单元采用分离状态非均匀量化检测,确定出所述第一字线上各闪存单元的阈值电压;

所述校正单元,用于根据所述第一字线上第一闪存单元的阈值电压、第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出所述第一闪存单元补偿后的阈值电压;其中,所述第一闪存单元为所述第一字线上的任意一个闪存单元;所述第二字线为与所述第一字线相邻的上一个字线;

所述第二译码单元,用于将所述第一字线上各闪存单元补偿后的阈值电压作为实际电压,并对电压校正后的第一字线进行译码,输出码字。

可选的,所述校正单元包括偏移量计算子单元和补偿子单元;

所述偏移量计算子单元,用于根据第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出所述第一字线上第一闪存单元的电压偏移量;

所述补偿子单元,用于根据所述第一闪存单元的电压偏移量以及阈值电压,计算出第一闪存单元补偿后的阈值电压。

可选的,所述偏移量计算子单元具体用于按照如下公式计算第i字线上第j个比特线的电压偏移量i(i,j),

其中,表示45度方向上的耦合系数,表示垂直方向上的耦合系数,ve表示第一闪存单元擦除状态下的阈值电压均值,v(i+1,j-1)表示第i+1个字线的第j-1个比特线的电压值,v(i+1,j)表示第i+1个字线的第j个比特线的电压值,v(i+1,j+1)表示第i+1个字线的第j+1个比特线的电压值。

可选的,所述量化单元包括电压限值确定子单元和作为子单元;

所述电压限值确定子单元,用于利用分离状态非均匀量化检测方法,确定出第一字线上的各闪存单元所对应的电压量化范围;

所述作为子单元,用于将每个闪存单元的电压量化范围的均值作为闪存单元的阈值电压。

本发明实施例还提供了一种闪存信道校正的装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如上述闪存信道校正的方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述闪存信道校正的方法的步骤。

由上述技术方案可以看出,根据预先设定的参考电压值,对第一字线上的两页先后进行译码;初始状态下第一字线为闪存块的最后一个字线;当前闪存信道噪声较低的情况下,在获取后验信息阶段各个页都译码成功。当两页均译码成功时,则对第一字线上的闪存单元赋予均值电压,并输出码字;此时不需要进行后续的后补偿操作及读取电压的操作,极大程度地降低了复杂度和时延。当存在任意一页译码失败时,对第一字线上的各闪存单元采用分离状态非均匀量化检测,确定出第一字线上各闪存单元的阈值电压;以第一字线上的任意一个闪存单元即第一闪存单元为例,根据第一闪存单元的阈值电压、第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出第一闪存单元补偿后的阈值电压;其中,第二字线为与所述第一字线相邻的上一个字线;将第一字线上各闪存单元补偿后的阈值电压作为实际电压,并对电压校正后的第一字线进行译码,输出码字。在该技术方案中,当获取后验信息阶段译码失败时,利用分离状态非均匀检测的方式,可以提高读取电压的准确度。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术提供的一种全比特结构闪存单元受单元间干扰情况的示意图;

图2为本发明实施例提供的一种闪存信道校正的方法的流程图;

图3a为现有技术提供的一种电压均匀检测的示意图;

图3b为本发明实施例提供的一种电压分离状态非均匀检测的示意图;

图4为本发明实施例提供的一种闪存信道校正的装置的结构示意图;

图5为本发明实施例提供的一种闪存信道校正的装置的硬件结构示意图。

具体实施方式

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

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种闪存信道校正的方法。图2为本发明实施例提供的一种闪存信道校正的方法的流程图,该方法包括:

s201:根据预先设定的参考电压值,对第一字线上的两页先后进行译码。

由于闪存写入数据时一般是顺序写入,所以cci干扰的产生是由于下一字线编程时,对上一字线造成的干扰,所以最后一个字线所受cci干扰最小,基于此特性,本发明实施例采用的后验信息辅助信道检测算法(posteriorinformationassistedchanneldetectionalgorithm,pia-cda)是从最后一个字线开始实施。即初始状态下,第一字线为闪存块的最后一个字线。

每个字线由高页和低页这两页组成。在多级闪存(multi-levelcell,mlc)中,每个闪存单元存储2个比特,对应的有四种形式,即11、10、00和01。“11”对应擦除状态,“10”、“00”和“01”对应编程状态。针对于这四种形式,可以设置3个参考电压值。

擦除状态下对应的信道模型为

编程状态下对应的信道模型为

在本发明实施例中,主要考虑cci干扰,其它干扰简化为均值为0,标准差为σ的随机高斯噪声,即

在实际应用中,可以采用3个参考电压的方式获取软信息并对字线上的两页先后进行译码。3个参考电压可以划分出四个电压取值范围。

软信息(llr)可以按照如下公式计算得到:

其中,rr和rl表示3个参考电压所划分出的电压取值范围的其中一个电压取值范围的上限值和下限值;擦除状态下p(k)(x)=pe(x),编程状态下p(k)(x)=pp(x)。k表示第k个存储状态,si表示第i个比特为1的状态集。

译码过程相当于对软信息的不断迭代过程,译码后对于每一页可以输出一串数字。通过校验矩阵,可以判断该串数字是否正确即译码是否成功。

s202:当两页均译码成功时,则对第一字线上的闪存单元赋予均值电压,并输出码字。

均值电压可以根据需求预先设定,在此对于均值电压的取值不做限定。

当前闪存信道噪声较低的情况下,在获取后验信息阶段,两页都译码成功,此时只需对第一字线上的各闪存单元赋值均值电压,并输出码字即可,不需要进行后续的后补偿操作及读取电压的操作,极大程度地降低了复杂度和时延。

s203:当存在任意一页译码失败时,对第一字线上的各闪存单元采用分离状态非均匀量化检测,确定出第一字线上各闪存单元的阈值电压。

如图3a所示为现有技术提供的一种电压均匀检测的示意图,传统的量化检测方式是对全电压窗口区间做均匀量化。如图3b所示为本发明实施例提供的一种电压分离状态非均匀检测的示意图,分离状态非均匀量化检测则是对每一个状态的电压窗口单独做均匀量化。图3a和图3b中er表示擦除状态,p1、p2、p3均表示编程状态。

两种量化方式均为13个量化等级,但由于闪存信道噪声干扰会使4个状态的电压分布各不相同,因此,采用图3b所示的分离状态非均匀量化的方式能更好的应对这种特性。

在具体实现中,利用分离状态非均匀量化检测方法,可以确定出第一字线上的各闪存单元所对应的电压量化范围;然后将每个闪存单元的电压量化范围的均值作为闪存单元的阈值电压。

可以按照如下公式,计算闪存单元的阈值电压v:

其中,表示电压量化范围所对应的边界电压值。

s204:根据第一字线上第一闪存单元的阈值电压、第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出第一闪存单元补偿后的阈值电压。

其中,第一闪存单元为第一字线上的任意一个闪存单元;第二字线为与第一字线相邻的上一个字线。考虑到最后一个字线受到的信道干扰较小,在本发明实施例中可以将最后一个字线上的闪存单元赋予均值电压。

在具体实现中,可以根据第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出第一字线上第一闪存单元的电压偏移量;根据第一闪存单元的电压偏移量以及阈值电压,计算出第一闪存单元补偿后的阈值电压。

结合图1可知,第二字线上相应闪存单元的电压值包括位于第一闪存单元左斜方45度方向上的闪存单元的电压值、垂直方向上的闪存单元的电压值,右斜方45度方向上的闪存单元的电压值。

具体的,可以根据如下公式,计算出第i个字线第j个比特线的阈值电压的偏移量i(i,j):

其中,公式中第一个表示左斜方45度方向上的耦合系数,表示垂直方向上的耦合系数,公式中第二个表示右斜方45度方向上的耦合系数,v(i+1,j-1)表示第i+1个字线第j-1个比特线的电压值,v(i+1,j)表示第i+1个字线第j个比特线的电压值,v(i+1,j+1)表示第i+1个字线第j+1个比特线的电压值,ve表示第i个字线第j个比特线在第一字线擦除状态下的阈值电压均值。

在计算出第i个字线第j个比特线的电压偏移量之后,可以按照如下公式计算出第i个字线第j个比特线补偿后的阈值电压

其中,v(i,j)表示第i个字线第j个比特线的阈值电压。

s205:将第一字线上各闪存单元补偿后的阈值电压作为实际电压,并对电压校正后的第一字线进行译码,输出码字。

在具体实现中,可以按照如下三个公式对电压校正后的第一字线进行译码:

其中,msb表示高页,lsb表示低页;sp表示单元的存储状态,包括擦除状态(11)和编程状态(10、00和01),μsp表示存储状态概率密度函数初始均值,σsp表示存储状态概率密度函数初始标准差。

在实际应用中,管理人员可以根据输出的码字,统计闪存块中信息失败的个数,从而计算出校正后的闪存块的误码率。

由上述技术方案可以看出,根据预先设定的参考电压值,对第一字线上的两页先后进行译码;初始状态下第一字线为闪存块的最后一个字线;当前闪存信道噪声较低的情况下,在获取后验信息阶段各个页都译码成功。当两页均译码成功时,则对第一字线上的闪存单元赋予均值电压,并输出码字;此时不需要进行后续的后补偿操作及读取电压的操作,极大程度地降低了复杂度和时延。当存在任意一页译码失败时,对第一字线上的各闪存单元采用分离状态非均匀量化检测,确定出第一字线上各闪存单元的阈值电压;以第一字线上的任意一个闪存单元即第一闪存单元为例,根据第一闪存单元的阈值电压、第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出第一闪存单元补偿后的阈值电压;其中,第二字线为与所述第一字线相邻的上一个字线;将第一字线上各闪存单元补偿后的阈值电压作为实际电压,并对电压校正后的第一字线进行译码,输出码字。在该技术方案中,当获取后验信息阶段译码失败时,利用分离状态非均匀检测的方式,可以提高读取电压的准确度。

图4为本发明实施例提供的一种闪存信道校正的装置的结构示意图,包括第一译码单元41、赋值单元42、量化单元43、校正单元44和第二译码单元45;

第一译码单元41,用于根据预先设定的参考电压值,对第一字线上的两页先后进行译码;初始状态下,第一字线为闪存块的最后一个字线;

赋值单元42,用于当两页均译码成功时,则对第一字线上的闪存单元赋予均值电压,并输出码字;

量化单元43,用于当存在任意一页译码失败时,则对第一字线上的各闪存单元采用分离状态非均匀量化检测,确定出第一字线上各闪存单元的阈值电压;

校正单元44,用于根据第一字线上第一闪存单元的阈值电压、第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出第一闪存单元补偿后的阈值电压;其中,第一闪存单元为所述第一字线上的任意一个闪存单元;第二字线为与第一字线相邻的上一个字线;

第二译码单元45,用于将第一字线上各闪存单元补偿后的阈值电压作为实际电压,并对电压校正后的第一字线进行译码,输出码字。

可选的,校正单元包括偏移量计算子单元和补偿子单元;

偏移量计算子单元,用于根据第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出第一字线上第一闪存单元的电压偏移量;

补偿子单元,用于根据第一闪存单元的电压偏移量以及阈值电压,计算出第一闪存单元补偿后的阈值电压。

可选的,偏移量计算子单元具体用于按照如下公式计算第i字线上第j个比特线的电压偏移量i(i,j),

其中,表示45度方向上的耦合系数,表示垂直方向上的耦合系数,ve表示第一闪存单元擦除状态下的阈值电压均值,v(i+1,j-1)表示第i+1个字线的第j-1个比特线的电压值,v(i+1,j)表示第i+1个字线的第j个比特线的电压值,v(i+1,j+1)表示第i+1个字线的第j+1个比特线的电压值。

可选的,量化单元包括电压限值确定子单元和作为子单元;

电压限值确定子单元,用于利用分离状态非均匀量化检测方法,确定出第一字线上的各闪存单元所对应的电压量化范围;

作为子单元,用于将每个闪存单元的电压量化范围的均值作为闪存单元的阈值电压。

图4所对应实施例中特征的说明可以参见图2所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,根据预先设定的参考电压值,对第一字线上的两页先后进行译码;初始状态下第一字线为闪存块的最后一个字线;当前闪存信道噪声较低的情况下,在获取后验信息阶段各个页都译码成功。当两页均译码成功时,则对第一字线上的闪存单元赋予均值电压,并输出码字;此时不需要进行后续的后补偿操作及读取电压的操作,极大程度地降低了复杂度和时延。当存在任意一页译码失败时,对第一字线上的各闪存单元采用分离状态非均匀量化检测,确定出第一字线上各闪存单元的阈值电压;以第一字线上的任意一个闪存单元即第一闪存单元为例,根据第一闪存单元的阈值电压、第二字线上相应闪存单元的电压值、耦合系数以及第一闪存单元擦除状态下的阈值电压均值,确定出第一闪存单元补偿后的阈值电压;其中,第二字线为与所述第一字线相邻的上一个字线;将第一字线上各闪存单元补偿后的阈值电压作为实际电压,并对电压校正后的第一字线进行译码,输出码字。在该技术方案中,当获取后验信息阶段译码失败时,利用分离状态非均匀检测的方式,可以提高读取电压的准确度。

图5为本发明实施例提供的一种闪存信道校正的装置50的硬件结构示意图,包括:

存储器51,用于存储计算机程序;

处理器52,用于执行计算机程序以实现如上述闪存信道校正的方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述闪存信道校正的方法的步骤。

以上对本发明实施例所提供的一种闪存信道校正的方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1