一种阈值电压分布预测方法及装置与流程

文档序号:17846795发布日期:2019-06-11 21:49阅读:284来源:国知局
一种阈值电压分布预测方法及装置与流程

本发明属于集成电路技术领域,具体涉及一种阈值电压分布预测方法及装置。



背景技术:

目前基于nandflash(nand闪存)的ssd(solidstatedisk,固态硬盘)技术在多个领域得到广泛应用。而随着nand器件尺寸不断缩小以及多bit(比特)存储技术的引入,其可靠性不断退化。在保持操作的情况下,逐渐减小的读阈值电压窗口使得nand出错数急剧增加。因此ecc(errorcorrectingcode,错误检查和纠正)机制被广泛应用在ssd控制器中。然而更强大ecc的设计需要提供不同操作模式下的阈值电压分布信息。

传统的nandflash阈值电压分布预测技术主要包括基于经验测试的方法以及基于模型模拟的方法。基于经验测试的方法主要是对已知测试数据进行内插或者外推,从而实现阈值电压分布的预测,该方法缺乏良好的扩展性。基于模型模拟的方法主要是将nandflash的阈值电压分布当作高斯分布与其他分布形式的叠加,缺乏潜在的物理机制。



技术实现要素:

为解决以上问题,本发明提供一种阈值电压分布预测方法及装置,基于保持噪声模型,对于每个编程态,只需要一次电压感知操作即可还原每个编程态的阈值电压分布信息,实现阈值电压分布的精准快速预测。本发明通过以下几个方面来解决以上问题。

第一方面,本发明实施例提供了一种阈值电压分布预测方法,所述方法包括:

对固态硬盘进行递增阶跃脉冲编程,统计擦除单元数、每个编程态对应的初始单元数及初始阈值电压分布信息;

为每个所述编程态分配感知电压;

保持一定时长,根据所述擦除单元数、所述每个编程态对应的所述初始单元数及所述感知电压,分别获取所述每个编程态对应的感知单元数;

根据保持噪声模型、所述每个编程态对应的所述感知单元数及所述初始阈值电压分布信息,分别确定所述每个编程态对应的保持阈值电压分布信息。

结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,根据保持噪声模型、所述每个编程态对应的所述感知单元数及所述初始阈值电压分布信息,分别确定所述每个编程态对应的保持阈值电压分布信息,包括:

根据保持噪声模型及第一编程态的所述感知单元数及所述初始阈值电压分布信息,获取所述第一编程态对应的分布扩展程度及平均损失电子数目,所述第一编程态为所述每个编程态中的任一编程态;

根据所述第一编程态对应的所述分布扩展程度、所述平均损失电子数目及所述初始阈值电压分布信息,确定所述第一编程态对应的保持阈值电压分布信息。

结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,根据保持噪声模型及第一编程态的所述感知单元数及所述初始阈值电压分布信息,获取所述第一编程态对应的分布扩展程度及平均损失电子数目,包括:

根据保持噪声模型及所述第一编程态的所述初始阈值电压分布信息,生成电子损失数据表,所述电子损失数据表包括平均损失电子数与感知单元数的对应关系;

根据第一编程态对应的感知单元数,从所述电子损失数据表中获取对应的平均损失电子数;

根据获取的所述平均损失电子数及所述保持噪声模型,计算所述第一编程态对应的分布扩展程度。

结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,根据所述第一编程态对应的所述分布扩展程度、所述平均损失电子数目及所述初始阈值电压分布信息,确定所述第一编程态对应的保持阈值电压分布信息,包括:

通过随机数将所述第一编程态对应的所述分布扩展程度及所述平均损失电子数目添加在所述第一编程态对应的所述初始阈值电压分布信息上,对每个存储单元随机分布一定电子数目,通过公式(1)分别计算所述每个存储单元的阈值电压退化量;

根据所述每个存储单元的初始阈值电压与所述阈值电压退化量,计算所述每个存储单元退化后的阈值电压;

统计每个退化后的所述阈值电压对应的存储单元个数,得到所述第一编程态对应的保持阈值电压分布信息;

δvth=-q·n/cpp…(1)

在公式(1)中,δvth为阈值电压退化量,q为电子电荷量,n为电子数目,cpp为控制栅到氮化层的耦合电容。

结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,根据所述擦除单元数、所述每个编程态对应的所述初始单元数及所述感知电压,分别获取所述每个编程态对应的感知单元数,包括:

通过第一编程态对应的所述感知电压进行电压感知,统计所述第一编程态对应的感知单元总数,所述第一编程态为所述每个编程态中的任一编程态;

根据所述感知单元总数、所述擦除单元数及所述每个编程态对应的初始单元数,计算所述第一编程态对应的感知单元数。

结合第一方面的第四种可能的实现方式,本发明实施例提供了上述第一方面的第五种可能的实现方式,其中,所述根据所述感知单元总数、所述擦除单元数及所述每个编程态对应的初始单元数,计算所述第一编程态对应的感知单元数,包括:

根据所述感知单元总数、所述擦除单元数及所述每个编程态对应的初始单元数,通过公式(2)计算所述第一编程态对应的感知单元数;

在公式(2)中,i和j为编程态的编号,nb(i)为第i个编程态对应的所述感知单元数,ns(i)为所述感知单元总数,ne为所述擦除单元数,np(j)为第j个编程态对应的初始单元数。

第二方面,本发明实施例提供了一种阈值电压分布预测装置,所述装置包括:

统计模块,用于对固态硬盘进行递增阶跃脉冲编程,统计擦除单元数、每个编程态对应的初始单元数及初始阈值电压分布信息;

分配模块,用于为每个所述编程态分配感知电压;

获取模块,用于保持一定时长,根据所述擦除单元数、所述每个编程态对应的所述初始单元数及所述感知电压,分别获取所述每个编程态对应的感知单元数;

确定模块,用于根据保持噪声模型、所述每个编程态对应的所述感知单元数及所述初始阈值电压分布信息,分别确定所述每个编程态对应的保持阈值电压分布信息。

结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述确定模块包括:

获取单元,用于根据保持噪声模型及第一编程态的所述感知单元数及所述初始阈值电压分布信息,获取所述第一编程态对应的分布扩展程度及平均损失电子数目,所述第一编程态为所述每个编程态中的任一编程态;

确定单元,用于根据所述第一编程态对应的所述分布扩展程度、所述平均损失电子数目及所述初始阈值电压分布信息,确定所述第一编程态对应的保持阈值电压分布信息。

结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,获取单元包括:

生成子单元,用于根据保持噪声模型及所述第一编程态的所述初始阈值电压分布信息,生成电子损失数据表,所述电子损失数据表包括平均损失电子数与感知单元数的对应关系;

获取子单元,用于根据第一编程态对应的感知单元数,从所述电子损失数据表中获取对应的平均损失电子数;

计算子单元,用于根据获取的所述平均损失电子数及所述保持噪声模型,计算所述第一编程态对应的分布扩展程度。

第三方面,本发明实施例提供了一种阈值电压分布预测设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述第一方面或第一方面的任一种可能的实现方式所述的方法。

在本发明实施例中,对固态硬盘进行递增阶跃脉冲编程,统计擦除单元数、每个编程态对应的初始单元数及初始阈值电压分布信息;为每个编程态分配感知电压;保持一定时长,根据擦除单元数、每个编程态对应的初始单元数及感知电压,分别获取每个编程态对应的感知单元数;根据保持噪声模型、每个编程态对应的感知单元数及初始阈值电压分布信息,分别确定每个编程态对应的保持阈值电压分布信息。本发明基于保持噪声模型,对于每个编程态,只需要一次电压感知操作即可还原每个编程态的阈值电压分布信息,实现阈值电压分布的精准快速预测,为读电压优化及ecc的设计提供指导。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例1所提供的一种阈值电压分布预测方法的流程示意图;

图2示出了本发明实施例1所提供的另一种阈值电压分布预测方法的流程示意图;

图3示出了本发明实施例1所提供的7个编程状态的保持阈值电压分布预测的示意图。

图4示出了本发明实施例2所提供的一种阈值电压分布预测装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例1

参见图1,本发明实施例提供了一种阈值电压分布预测方法,该方法具体包括以下步骤:

步骤101:对固态硬盘进行递增阶跃脉冲编程,统计每个编程态对应的初始单元数及初始阈值电压分布信息。

本发明实施例的执行主体可以为固态硬盘的控制器。固态硬盘的内存包括多个page(页),每个page包括多个存储单元,每个存储单元中可以存储多个bit(比特)。对固态硬盘进行递增阶跃脉冲编程,通过对固态硬盘的page施加编程电压,实现在该page中存储数据。假设一个存储单元中可以存储a个bit,则在存储单元中这a个bit可能存在2a种排布方式,因此进行递增阶跃脉冲编程过程中将存在2a个编程态。例如,一个page可以包括16kb个存储单元,每个存储单元中可以存储三个bit。则在存储单元中这三个bit共存在000、001、011、111、110、100、101、010八种可能的排布方式,所以进行递增阶跃脉冲编程过程中存在8个存储状态。其中,这8个存储状态包括1个擦除态和7个编程态,擦除态为没有编程的状态,擦除态可以为最低位的存储状态000。

对固态硬盘进行递增阶跃脉冲编程,统计并存储擦除单元数,以及每个编程态对应的初始单元数及初始阈值电压分布信息。其中,编程态对应的初始阈值电压分布信息包括该编程态对应的阈值电压及该阈值电压对应的存储单元个数。

在本发明实施例中,还可以通过模拟的方式来获取每个编程态对应的初始阈值电压分布信息,模拟方式主要考虑递增阶跃脉冲编程噪声、wl-wl(word-line,字线)干扰以及rtn(randomtelegraphnoise,随机电报噪声)效应的影响最终获得各个编程态对应的初始阈值电压分布信息。

在本步骤中,对固态硬盘进行递增阶跃脉冲编程后还统计各编程态对应的电子数目,计算并存储每个编程态对应的电子数目的均值与方差。以及存储每个存储单元的初始阈值电压。

步骤102:为每个编程态分配感知电压。

步骤103:保持一定时长,根据擦除单元数、每个编程态对应的初始单元数及感知电压,分别获取每个编程态对应的感知单元数。

在步骤101通过递增阶跃脉冲编程在固态硬盘的page中写入数据之后,保持这些数据一定时长,该一定时长可以为一个月、半年或一年等。保持一定时长后,需要确定保持该一定时长后每个编程态仍然对应的感知单元数,即经过该一定时长的分布漂移之后仍然小于感知电压的存储单元的数目。由于获取每个编程态对应的感知单元数的处理都是相同的,为了便于描述,从每个编程态中取任一编程态,将该编程态称为第一编程态,仅以第一编程态的处理过程为例进行详细说明。对于其他每个编程态,都可以按照第一编程态的方式来分别获取其他每个编程态对应的感知单元数。如图2所示,具体通过如下步骤s1和s2的操作来获取第一编程态对应的感知单元数:

s1:通过第一编程态对应的感知电压进行电压感知,统计感知单元总数,第一编程态为每个编程态中的任一编程态。

在步骤102中为第一编程态分配了感知电压,通过该感知电压进行一次电压感知,统计该次电压感知过程中感知到的感知单元总数。在电压感知过程中,阈值电压小于该感知电压的存储单元能够导通,阈值电压大于或等于该感知电压的存储单元无法导通。上述感知单元总数为阈值电压小于该感知电压的存储单元个数。

s2:根据感知单元总数、擦除单元数及每个编程态对应的初始单元数,计算第一编程态对应的感知单元数。

具体地,根据感知单元总数、步骤101中存储的擦除单元数及每个编程态对应的初始单元数,通过公式(2)计算第一编程态对应的感知单元数;

在公式(2)中,i和j为编程态的编号,nb(i)为第i个编程态对应的感知单元数,ns(i)为感知单元总数,ne为擦除单元数,np(j)为第j个编程态对应的初始单元数。

从上述公式(2)中能够看出,第一编程态对应的感知单元数为阈值电压小于第一编程态对应的感知电压并属于第一编程态对应的初始单元的存储单元个数。

对于每个编程态,都通过上述方式分别获取到保持一定时长后每个编程态对应的感知单元数,之后通过步骤104的操作来确定保持一定时长后每个编程态对应的保持阈值电压分布信息。

步骤104:根据保持噪声模型、每个编程态对应的感知单元数及初始阈值电压分布信息,分别确定每个编程态对应的保持阈值电压分布信息。

在固态硬盘中,随着保持时间的延长,固态阈值电压分布的变化主要体现为两个方面,第一方面为阈值电压均值的漂移,第二方面为阈值电压分布的扩宽。上述保持噪声模型解决了分布扩宽程度与均值漂移之间的关系。保持噪声模型主要考虑三种波动源,即eees(essentialelectronemissionstatistics,电子本征波动),enf(electronnumbersfluctuation,电荷数目波动)与dpf(deviceparametersfluctuation,器件参数波动)。最终分布扩宽程度为三者叠加,即:

在公式(3)中,为分布扩展程度,为电子本征波动量,为电荷数目波动量,为器件参数波动量。其中,代入上述公式(3)即可得到如下公式(4)所示的保持噪声模型:

在公式(4)中,为平均损失电子数,为电子数目的均值,为初始的电子数目的方差,w为器件参数波动校准参数。不同工艺生产的固态硬盘的器件参数不同,器件参数波动校准参数w也不同,w用于对工艺造成的器件参数的波动性进行校准,体现器件参数的差异性,各个编程态对应同一个器件参数波动校准参数w。

在步骤101中存储了各编程态对应的电子数目的均值及方差因此上述公式(4)中平均损失电子数是唯一的变量,只要获得某个编程态对应的平均损失电子数即可通过上述公式(4)计算出该编程态对应的分布扩展程度。计算出该编程态对应的分布扩展程度,结合步骤101中存储的该编程态的初始阈值电压分布信息即可得到保持一定时长后该编程态对应的保持阈值电压分布信息。

由于确定每个编程态对应的保持阈值电压分布信息的处理都是相同的,为了便于描述,同样仅以第一编程态的处理过程为例进行详细说明,第一编程态为每个编程态中的任一编程态。对于其他每个编程态,都可以按照第一编程态的方式来分别确定其他每个编程态对应的保持阈值电压分布信息,如图2所示,具体通过如下步骤a1和a2的操作来确定第一编程态对应的保持阈值电压分布信息,包括:

a1:根据保持噪声模型及第一编程态的感知单元数及初始阈值电压分布信息,获取第一编程态对应的分布扩展程度及平均损失电子数目。

进一步地,通过如下步骤a11-a13的操作来确定第一编程态对应的分布扩展程度及平均损失电子数目:

a11:根据保持噪声模型及第一编程态的初始阈值电压分布信息,生成电子损失数据表,电子损失数据表包括平均损失电子数与感知单元数的对应关系。

步骤101中获得第一编程态的初始阈值电压分布信息后,多次变化第一编程态对应的电子数目,每次变化第一编程态的电子数目为假设的该次变化对应的平均损失电子数将每次变化对应的平均损失电子数分别代入上述公式(4)所示的保持噪声模型,计算出每次变化对应的分布扩展程度。将每次变化对应的分布扩展程度分别添加到第一编程态对应的初始阈值电压分布信息上,得到每次变化对应的阈值电压分布信息。对于每次变化对应的阈值电压分布信息,分别统计第一编程态对应的存储单元个数,得到每次变化后第一编程态对应的感知单元数。将每次变化后第一编程态对应的平均损失电子数与对应的感知单元数对应存储为上述电子损失数据表。

a12:根据第一编程态对应的感知单元数,从电子损失数据表中获取对应的平均损失电子数。

根据步骤103获得的第一编程态对应的感知单元数,遍历上述电子损失数据表,从上述电子损失数据表中,确定出与第一编程态对应的感知单元数之间的差值最小的感知单元数,从电子损失数据表中获取该差值最小的感知单元数对应的平均损失电子数。将获取的该平均损失电子数作为保持一定时长后第一编程态对应的平均损失电子数。

a13:根据获取的平均损失电子数及保持噪声模型,计算第一编程态对应的分布扩展程度。

将上述保持一定时长后第一编程态对应的平均损失电子数代入公式(4)所示的保持噪声模型中,计算出保持一定时长后第一编程态对应的分布扩展程度。

a2:根据第一编程态对应的分布扩展程度、平均损失电子数目及初始阈值电压分布信息,确定第一编程态对应的保持阈值电压分布信息。

由于阈值电压分布信息包括阈值电压与对应该阈值电压的存储单元个数,因此本发明实施例在确定阈值电压分布时将其打散,也就是转化为每个存储单元的阈值电压,然后针对每个存储单元进行操作,最后得到每个存储单元的保持后的阈值电压,再将其统计为分布形式,编程态对应的保持阈值电压分布信息包括退化后的阈值电压及其对应的存储单元个数。

具体地,通过随机数将保持一定时长后第一编程态对应的分布扩展程度及平均损失电子数目添加在第一编程态对应的初始阈值电压分布信息上。该随机数的分布服从通过该随机数将保持噪声添加到第一编程态对应的初始阈值电压分布信息上。其中保持噪声为第一编程态对应的平均损失电子数目,为第一编程态对应的分布扩展程度。

对每个存储单元随机分布一定电子数目,通过公式(1)分别计算每个存储单元的阈值电压退化量;根据每个存储单元的初始阈值电压与阈值电压退化量,计算每个存储单元退化后的阈值电压;统计每个退化后的阈值电压对应的存储单元个数,得到第一编程态对应的保持阈值电压分布信息;

δvth=-q·n/cpp…(1)

在公式(1)中,δvth为阈值电压退化量,q为电子电荷量,n为电子数目,cpp为控制栅到氮化层的耦合电容。

对于其他每个编程态,都通过上述方式分别确定其他每个编程态对应的保持阈值电压分布信息。

在本发明实施例中,由于不考虑擦除态,如此只对其他位的编程态进行处理即可。如对于当一个存储单元中存储3个bit,存在8个存储状态的情况下,只对7位编程态进行处理,只进行7次电压感知即可预测出保持之后的阈值电压分布信息。当一个存储单元中存储4个bit,存在16个存储状态的情况下,只对15位编程态进行处理,只进行15次电压感知即可预测出保持之后的阈值电压分布信息。

为了更直观地理解本发明实施例提供的预测方法的流程,下面结合附图3进行详细说明,图3中是对7个编程状态进行保持阈值电压分布预测的流程示意图。b1:递增阶跃脉冲编程完成之后,计算并存储擦除单元数、每个编程态pv(i)对应的初始单元数及初始阈值电压分布信息。b2:为每个编程态pv(i)分配一个感知电压。b3:根据保持噪声模型及编程态pv(i)的初始阈值电压分布信息,生成电子损失数据表,电子损失数据表包括平均损失电子数与感知单元数的对应关系。b4:保持数据一定时长。b5:根据保持噪声模型、编程态pv(i)对应的感知单元数及初始阈值电压分布信息,确定编程态pv(i)对应的保持阈值电压分布信息。b6:判断i是否等于7,如果是,得到最终的保持阈值电压分布信息,如果否,将i+1赋给i,返回步骤b5。

在本发明实施例中,对固态硬盘进行递增阶跃脉冲编程,统计擦除单元数、每个编程态对应的初始单元数及初始阈值电压分布信息;为每个编程态分配感知电压;保持一定时长,根据擦除单元数、每个编程态对应的初始单元数及感知电压,分别获取每个编程态对应的感知单元数;根据保持噪声模型、每个编程态对应的感知单元数及初始阈值电压分布信息,分别确定每个编程态对应的保持阈值电压分布信息。本发明基于保持噪声模型,对于每个编程态,只需要一次电压感知操作即可还原每个编程态的阈值电压分布信息,实现阈值电压分布的精准快速预测,为读电压优化及ecc的设计提供指导。

实施例2

参见图4,本发明实施例提供了一种阈值电压分布预测装置,该装置用于执行上述实施例1所提供的阈值电压分布预测方法,该装置包括:

统计模块20,用于对固态硬盘进行递增阶跃脉冲编程,统计擦除单元数、每个编程态对应的初始单元数及初始阈值电压分布信息;

分配模块21,用于为每个编程态分配感知电压;

获取模块22,用于保持一定时长,根据擦除单元数、每个编程态对应的初始单元数及感知电压,分别获取每个编程态对应的感知单元数;

确定模块23,用于根据保持噪声模型、每个编程态对应的感知单元数及初始阈值电压分布信息,分别确定每个编程态对应的保持阈值电压分布信息。

上述确定模块23包括:

获取单元,用于根据保持噪声模型及第一编程态的感知单元数及初始阈值电压分布信息,获取第一编程态对应的分布扩展程度及平均损失电子数目,第一编程态为每个编程态中的任一编程态;

确定单元,用于根据第一编程态对应的分布扩展程度、平均损失电子数目及初始阈值电压分布信息,确定第一编程态对应的保持阈值电压分布信息。

上述获取单元包括:

生成子单元,用于根据保持噪声模型及第一编程态的初始阈值电压分布信息,生成电子损失数据表,电子损失数据表包括平均损失电子数与感知单元数的对应关系;

获取子单元,用于根据第一编程态对应的感知单元数,从电子损失数据表中获取对应的平均损失电子数;

计算子单元,用于根据获取的平均损失电子数及保持噪声模型,计算第一编程态对应的分布扩展程度。

上述确定单元,用于通过随机数将所述第一编程态对应的所述分布扩展程度及所述平均损失电子数目添加在所述第一编程态对应的所述初始阈值电压分布信息上,对每个存储单元随机分布一定电子数目,通过公式(1)分别计算所述每个存储单元的阈值电压退化量;

根据所述每个存储单元的初始阈值电压与所述阈值电压退化量,计算所述每个存储单元退化后的阈值电压;

统计每个退化后的所述阈值电压对应的存储单元个数,得到所述第一编程态对应的保持阈值电压分布信息;

δvth=-q·n/cpp…(1)

在公式(1)中,δvth为阈值电压退化量,q为电子电荷量,n为电子数目,cpp为控制栅到氮化层的耦合电容。

上述获取模块22包括:

统计单元,用于通过第一编程态对应的感知电压进行电压感知,统计感知单元总数,第一编程态为每个编程态中的任一编程态;

计算单元,用于根据感知单元总数、擦除单元数及每个编程态对应的初始单元数,计算第一编程态对应的感知单元数。

上述计算单元,用于根据感知单元总数、擦除单元数及每个编程态对应的初始单元数,通过公式(2)计算第一编程态对应的感知单元数;

在公式(2)中,i和j为编程态的编号,nb(i)为第i个编程态对应的感知单元数,ns(i)为感知单元总数,ne为擦除单元数,np(j)为第j个编程态对应的初始单元数。

在本发明实施例中,对固态硬盘进行递增阶跃脉冲编程,统计擦除单元数、每个编程态对应的初始单元数及初始阈值电压分布信息;为每个编程态分配感知电压;保持一定时长,根据擦除单元数、每个编程态对应的初始单元数及感知电压,分别获取每个编程态对应的感知单元数;根据保持噪声模型、每个编程态对应的感知单元数及初始阈值电压分布信息,分别确定每个编程态对应的保持阈值电压分布信息。本发明基于保持噪声模型,对于每个编程态,只需要一次电压感知操作即可还原每个编程态的阈值电压分布信息,实现阈值电压分布的精准快速预测,为读电压优化及ecc的设计提供指导。

实施例3

本发明实施例提供一种阈值电压分布预测设备,该设备包括一个或多个处理器,以及一个或多个存储装置,一个或多个存储装置中存储有一个或多个程序,一个或多个程序被一个或多个处理器加载并执行时,实现上述实施例1所提供的阈值电压分布预测方法。

其中该阈值电压分布预测设备可以为固态硬盘,处理器可以为固态硬盘包括的控制器,存储装置可以为固态硬盘包括的内存。

在本发明实施例中,对固态硬盘进行递增阶跃脉冲编程,统计擦除单元数、每个编程态对应的初始单元数及初始阈值电压分布信息;为每个编程态分配感知电压;保持一定时长,根据擦除单元数、每个编程态对应的初始单元数及感知电压,分别获取每个编程态对应的感知单元数;根据保持噪声模型、每个编程态对应的感知单元数及初始阈值电压分布信息,分别确定每个编程态对应的保持阈值电压分布信息。本发明基于保持噪声模型,对于每个编程态,只需要一次电压感知操作即可还原每个编程态的阈值电压分布信息,实现阈值电压分布的精准快速预测,为读电压优化及ecc的设计提供指导。

实施例4

本发明实施例提供一种计算机可存储介质,该存储介质中存储有可执行程序,可执行程序被处理器加载并执行时实现上述实施例1所提供的阈值电压分布预测方法。

在本发明实施例中,对固态硬盘进行递增阶跃脉冲编程,统计擦除单元数、每个编程态对应的初始单元数及初始阈值电压分布信息;为每个编程态分配感知电压;保持一定时长,根据擦除单元数、每个编程态对应的初始单元数及感知电压,分别获取每个编程态对应的感知单元数;根据保持噪声模型、每个编程态对应的感知单元数及初始阈值电压分布信息,分别确定每个编程态对应的保持阈值电压分布信息。本发明基于保持噪声模型,对于每个编程态,只需要一次电压感知操作即可还原每个编程态的阈值电压分布信息,实现阈值电压分布的精准快速预测,为读电压优化及ecc的设计提供指导。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备有固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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