一种基于数学模型的闪存分类方法及装置转让专利

申请号 : CN202110170491.4

文献号 : CN112908391B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘政林林羽盛潘玉茜张浩明

申请人 : 置富科技(深圳)股份有限公司

摘要 :

本发明公开了一种基于数学模型的闪存分类方法及装置,该方法包括:获取目标闪存Tm次编程/擦除操作后的特征量;对所述特征量进行运算,得到特征量运算数据集合;基于特征量运算数据或所述特征量和特征量运算数据的组合构建表征闪存可靠性的数学模型;获取待分类闪存的特征量;将所述待分类闪存的特征量输入所述数学模型,得到所述待分类闪存的闪存可靠性数据,根据所述闪存可靠性数据来判断闪存可靠性等级,从而根据所述闪存可靠性等级来对所述待分类闪存进行分类。本发明能够根据闪存的可靠性等级对闪存进行分类,可以帮助使用者提前了解闪存的耗损程度,能够根据不同的使用场景选取相应等级的闪存,进而及时调整闪存的存储策略。

权利要求 :

1.一种基于数学模型的闪存分类方法,其特征在于,包括:获取目标闪存Tm次编程/擦除操作后的特征量;

对所述特征量进行运算,得到特征量运算数据集合;

基于特征量运算数据或所述特征量和特征量运算数据的组合构建表征闪存可靠性的数学模型;

获取待分类闪存的特征量;

将所述待分类闪存的特征量输入所述数学模型,得到所述待分类闪存的闪存可靠性数据,根据所述闪存可靠性数据来判断闪存可靠性等级,从而根据所述闪存可靠性等级来对所述待分类闪存进行分类,以供使用者根据不同的使用场景选取相应等级的闪存;

其中,所述可靠性等级包括以下结果中的一种或多种:待分类闪存芯片的当前错误比特数量等级、待分类闪存芯片的当前错误比特率等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特数量等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特率等级和待分类闪存芯片的剩余编程/擦除周期数量等级;

其中,所述获取目标闪存的特征量,包括:a)记录当前状态下所述目标闪存所经历的编程/擦除周期次数;

b)向所述目标闪存发送测试数据集合,对所述目标闪存执行写入数据操作,同时获取目标闪存编程时的电流、编程时的功耗、各个页面的编程时间以及编程时间所对应的存储块编号和存储页号;

c)执行所述写入数据操作之后,不保持数据存储时间或保持数据储存时间tr后,对所述目标闪存执行读数据操作,同时获取所述目标闪存的阈值电压分布、读取操作时的电流、读取操作时的功耗、各个页面的读取时间以及读取时间所对应的存储块编号和存储页号,将该步骤中获得的数据与步骤b)中的数据进行比较,计算得到错误比特数、错误率、条件错误页数及条件错误块数;

所述基于所述特征量运算数据或所述特征量和所述特征量运算数据的组合构建表征闪存可靠性等级的数学模型,包括:通过不同的构建方式构建多个不同的数学模型,在判断闪存可靠性等级时,综合分析多个不同的数学模型得到的多个闪存可靠性数据;或,基于所述特征量运算数据集合中的第一部分特征量运算数据或所述特征量和所述第一部分特征量运算数据的组合构建表征闪存可靠性的数学模型。

2.根据权利要求1所述的方法,其特征在于,所述特征量包括闪存编程时间、读取时间、擦除时间、电流、芯片功耗、阈值电压分布、存储块编号、存储页号、闪存所经历过的编程/擦除周期次数、条件错误页数、条件错误块数、错误比特数和错误率。

3.根据权利要求1所述的方法,其特征在于,所述对所述特征量中的一种特征量或多种特征量进行运算,得到特征量运算数据集合,包括:特征量的线性运算、特征量的非线性运算、不同特征量之间的线性运算、不同特征量之间的非线性运算、计算不同存储页面特征量的最大值、计算不同存储页面特征量的最小值、不同存储页面特征量之间的线性运算、不同存储页面特征量之间的非线性运算、不同存储块特征量之间的线性运算、不同存储块特征量之间的非线性运算、计算不同存储块特征量的最大值和计算不同存储块特征量的最小值。

4.根据权利要求1所述的方法,其特征在于,通过以下构建方式中的一种或多种:回归算法、正则化方法、决策树学习、基于实例的算法、贝叶斯方法、聚类算法、降低维度算法、关联规则学习、遗传算法、人工神经网络、深度学习、基于核的算法和集成算法,来构建所述数学模型。

5.根据权利要求1所述的方法,其特征在于,在所述基于所述特征量运算数据或所述特征量和所述特征量运算数据的组合构建表征闪存可靠性的数学模型之后,还包括验证所述数学模型,具体包括:

将所述特征量运算数据集合中的第二部分特征量运算数据输入所述数学模型得到所述目标闪存的闪存可靠性预测数据;

测量所述目标闪存进行Tm次编程/擦除操作后的闪存可靠性实际数据;

比较所述闪存可靠性预测数据和所述闪存可靠性实际数据;

若所述闪存可靠性预测数据和所述闪存可靠性实际数据相同,则表示数学模型准确;

若所述可靠性预测数据和所述可靠性实际数据不相同,则重新构建数学模型。

6.一种基于数学模型的闪存分类装置,其特征在于,包括:第一获取模块,用于获取目标闪存Tm次编程/擦除操作后的特征量;

运算模块,用于对所述特征量进行运算,得到特征量运算数据集合;

构建模块,用于基于特征量运算数据或所述特征量和特征量运算数据的组合构建表征闪存可靠性的数学模型;

第二获取模块,用于获取待分类闪存的特征量;

分类模块,用于将所述待分类闪存的特征量输入所述数学模型,得到所述待分类闪存的闪存可靠性数据,根据所述闪存可靠性数据来判断闪存可靠性等级,从而根据所述闪存可靠性等级来对所述待分类闪存进行分类,以供使用者根据不同的使用场景选取相应等级的闪存;

其中,所述可靠性等级包括以下结果中的一种或多种:待分类闪存芯片的当前错误比特数量等级、待分类闪存芯片的当前错误比特率等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特数量等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特率等级和待分类闪存芯片的剩余编程/擦除周期数量等级;

其中,所述获取目标闪存的特征量,包括:a)记录当前状态下所述目标闪存所经历的编程/擦除周期次数;

b)向所述目标闪存发送测试数据集合,对所述目标闪存执行写入数据操作,同时获取目标闪存编程时的电流、编程时的功耗、各个页面的编程时间以及编程时间所对应的存储块编号和存储页号;

c)执行所述写入数据操作之后,不保持数据存储时间或保持数据储存时间tr后,对所述目标闪存执行读数据操作,同时获取所述目标闪存的阈值电压分布、读取操作时的电流、读取操作时的功耗、各个页面的读取时间以及读取时间所对应的存储块编号和存储页号,将该步骤中获得的数据与步骤b)中的数据进行比较,计算得到错误比特数、错误率、条件错误页数及条件错误块数;

所述构建模块,还用于通过不同的构建方式构建多个不同的数学模型,在判断闪存可靠性等级时,综合分析多个不同的数学模型得到的多个闪存可靠性数据;或,基于所述特征量运算数据集合中的第一部分特征量运算数据或所述特征量和所述第一部分特征量运算数据的组合构建表征闪存可靠性的数学模型。

7.根据权利要求6所述的装置,其特征在于,还包括:验证模块,用于验证所述数学模型。

说明书 :

一种基于数学模型的闪存分类方法及装置

技术领域

[0001] 本发明涉及闪存技术领域,特别涉及一种基于数学模型的闪存分类方法及装置。

背景技术

[0002] 随着科学技术的高速发展,如今的我们不仅是信息的生产者,更是信息的依赖者,需要每时每刻对海量的信息进行处理。闪存经过数十年的技术更新,存储容量不断扩大,单
位比特价格大幅减小,同时凭借着超大的存储容量、更快的读写性能、更好的防磁抗震能力
成为了目前主流的非易失性存储器,在民用、工业、军工等各领域中发挥着越来越重要的作
用。
[0003] 随着闪存多比特技术的不断发展,伴随着的闪存可靠性问题也日渐突出。闪存信息的存储是通过编程和擦除操作来实现的,但重复的编程和擦除操作会使得闪存单元氧化
层变薄以及阈值电压偏移,导致闪存器件损坏,造成数据丢失,因此闪存的可靠性问题成为
闪存持续发展亟待解决的难题。

发明内容

[0004] 鉴于此,本发明提供一种基于数学模型的闪存分类方法及装置,能够根据闪存的可靠性等级对闪存进行分类,可以帮助使用者提前了解闪存的耗损程度,能够根据不同的
使用场景选取相应等级的闪存,进而及时调整闪存的存储策略。
[0005] 具体而言,包括以下的技术方案:
[0006] 第一方面,本发明实施例提供一种基于数学模型的闪存分类方法,包括:
[0007] 获取目标闪存Tm次编程/擦除(P/E)操作后的特征量;
[0008] 对所述特征量进行运算,得到特征量运算数据集合;
[0009] 基于特征量运算数据或所述特征量和特征量运算数据的组合构建表征闪存可靠性的数学模型;
[0010] 获取待分类闪存的特征量;
[0011] 将所述待分类闪存的特征量输入所述数学模型,得到所述待分类闪存的闪存可靠性数据,根据所述闪存可靠性数据来判断闪存可靠性等级,从而根据所述闪存可靠性等级
来对所述待分类闪存进行分类,
[0012] 其中,所述可靠性等级包括以下结果中的一种或多种:
[0013] 待分类闪存芯片的当前错误比特数量等级、待分类闪存芯片的当前错误比特率等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特数量等级、Tm次编程/擦除操作后待分
类闪存芯片的错误比特率等级和待分类闪存芯片的剩余编程/擦除周期数量等级。
[0014] 可选地,所述特征量包括闪存编程时间、读取时间、擦除时间、电流、芯片功耗、阈值电压分布、存储块编号、存储页号、闪存所经历过的编程/擦除周期次数、条件错误页数、
条件错误块数、错误比特数和错误率。
[0015] 可选地,所述获取目标闪存的特征量,包括:
[0016] a)记录当前状态下所述目标闪存所经历的编程/擦除周期次数;
[0017] b)向所述目标闪存发送测试数据集合,对所述目标闪存执行写入数据操作,同时获取目标闪存编程时的电流、编程时的功耗、各个页面的编程时间以及编程时间所对应的
存储块编号和存储页号;
[0018] c)对所述目标闪存执行读数据操作,同时获取所述目标闪存的阈值电压分布、读取操作时的电流、读取操作时的功耗、各个页面的读取时间以及读取时间所对应的存储块
编号和存储页号,将该步骤中获得的数据与步骤b)中的数据进行比较,计算得到错误比特
数、错误率、条件错误页数及条件错误块数。
[0019] 可选地,所述对所述特征量中的一种特征量或多种特征量进行运算,得到特征量运算数据集合,包括:
[0020] 特征量的线性运算、特征量的非线性运算、不同特征量之间的线性运算、不同特征量之间的非线性运算、计算不同存储页面特征量的最大值、计算不同存储页面特征量的最
小值、不同存储页面特征量之间的线性运算、不同存储页面特征量之间的非线性运算、不同
存储块特征量之间的线性运算、不同存储块特征量之间的非线性运算、计算不同存储块特
征量的最大值和计算不同存储块特征量的最小值。
[0021] 可选地,通过以下构建方式中的一种或多种:回归算法、正则化方法、决策树学习、基于实例的算法、贝叶斯方法、聚类算法、降低维度算法、关联规则学习、遗传算法、人工神
经网络、深度学习、基于核的算法和集成算法,来构建所述数学模型。
[0022] 可选地,所述基于所述特征量运算数据或所述特征量和所述特征量运算数据的组合构建表征闪存可靠性等级的数学模型,包括:
[0023] 通过不同的构建方式构建多个不同的数学模型,在判断闪存可靠性等级时,综合分析多个不同的数学模型得到的多个闪存可靠性数据。
[0024] 可选地,所述基于所述特征量运算数据或所述特征量和所述特征量运算数据的组合构建表征闪存可靠性的数学模型,包括:
[0025] 基于所述特征量运算数据集合中的第一部分特征量运算数据或所述特征量和所述第一部分特征量运算数据的组合构建表征闪存可靠性的数学模型。
[0026] 可选地,在所述基于所述特征量运算数据或所述特征量和所述特征量运算数据的组合构建表征闪存可靠性的数学模型之后,还包括验证所述数学模型,具体包括:
[0027] 将所述特征量运算数据集合中的第二部分特征量运算数据输入所述数学模型得到所述目标闪存的闪存可靠性预测数据;
[0028] 测量所述目标闪存进行Tm次编程/擦除操作后的闪存可靠性实际数据;
[0029] 比较所述闪存可靠性预测数据和所述闪存可靠性实际数据;
[0030] 若所述闪存可靠性预测数据和所述闪存可靠性实际数据相同,则表示数学模型准确;
[0031] 若所述可靠性预测数据和所述可靠性实际数据不相同,则重新构建数学模型。
[0032] 第二方面,本发明实施例提供一种基于数学模型的闪存分类装置,包括:
[0033] 第一获取模块,用于获取目标闪存Tm次编程/擦除操作后的特征量;
[0034] 运算模块,用于对所述特征量进行运算,得到特征量运算数据集合;
[0035] 构建模块,用于基于特征量运算数据或所述特征量和特征量运算数据的组合构建表征闪存可靠性的数学模型;
[0036] 第二获取模块,用于获取待分类闪存的特征量;
[0037] 分类模块,用于将所述待分类闪存的特征量输入所述数学模型,得到所述待分类闪存的闪存可靠性数据,根据所述闪存可靠性数据来判断闪存可靠性等级,从而根据所述
闪存可靠性等级来对所述待分类闪存进行分类,
[0038] 其中,所述可靠性等级包括以下结果中的一种或多种:
[0039] 待分类闪存芯片的当前错误比特数量等级、待分类闪存芯片的当前错误比特率等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特数量等级、Tm次编程/擦除操作后待分
类闪存芯片的错误比特率等级和待分类闪存芯片的剩余编程/擦除周期数量等级。
[0040] 可选地,所述的装置还包括:
[0041] 验证模块,用于验证所述数学模型。
[0042] 本发明实施例提供的技术方案的有益效果至少包括:
[0043] 本发明通过采集闪存的一种特征量或几种特征量的组合,并对所有特征量或组合中的部分特征量进行运算,基于特征量运算数据或特征量与特征量运算数据的组合来建立
数学模型,采集待分类闪存的特征量,将该特征量输入数学模型,得到待分类闪存的闪存可
靠性数据,根据所述闪存可靠性数据来判断闪存可靠性等级,从而根据所述闪存可靠性等
级来对所述待分类闪存进行分类。可以帮助使用者提前了解闪存的耗损程度,能够根据不
同的使用场景选取相应等级的闪存,进而及时调整闪存的存储策略。
[0044] 本发明基于多种与闪存可靠性相关的特征量以及它们的运算结果来构建数学模型,与仅有一种特征量且没有做运算操作的情况相比,所构建的数学模型的准确度更高。
[0045] 本发明分类预测所使用的数学模型具有快速反映闪存可靠性的能力,通过对闪存进行少量非破坏性测试后,迅速得到闪存的可靠性等级。
[0046] 本发明可准确预测闪存在经过一定次数编程/擦除操作后的可靠性等级,可以为闪存控制器厂商在优化调度策略方面提供有力的数据支持。

附图说明

[0047] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
[0048] 图1为根据本发明一实施例的基于数学模型的闪存分类方法的流程图。
[0049] 图2为根据本发明另一实施例的基于数学模型的闪存分类方法的流程图。
[0050] 图3为根据本发明一实施例的基于数学模型的闪存分类装置的结构框图。
[0051] 图4为根据本发明另一实施例的基于数学模型的闪存分类装置的结构框图。
[0052] 通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为
本领域技术人员说明本发明的概念。

具体实施方式

[0053] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发
明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本发明保护的范围。
[0054] 存储器为计算机系统的记忆设备,用来存放程序和数据。存储器大致可分为两大类:易失性存储器和非易失性存储器。易失性存储器在系统关闭时立即失去存储在内的数
据,它需要持续的电源供应以保持数据;非易失性存储器在系统关闭或无电源供应时仍能
保持数据,目前应用最为广泛的非易失性存储器为闪存(Flash Memory)。
[0055] 可靠性(Reliability)的定义是:产品在规定条件下和规定时间内完成规定操作的能力。对于闪存而言,数据保持能力(Data Retention)、耐久力(Endurance)、干扰
(Disturb)等是评价闪存可靠性的重要参数,其中,数据保持力指的是闪存存储的数据经过
一段时间之后没有失真或丢失还可以有效读出的能力。闪存信息的存储是通过编程和擦除
操作来实现的,但重复的编程和擦除操作会使得闪存单元氧化层变薄以及阈值电压偏移,
导致闪存器件损坏,造成数据丢失。因此,对闪存的可靠性等级进行分类,可以帮助使用者
提前了解闪存的耗损程度,能够根据不同的使用场景选取相应等级的闪存,进而及时调整
闪存的存储策略,避免不必要的损失。
[0056] 为了实现对闪存的可靠性等级进行分类,本发明提供了一种基于数学模型的闪存分类方法及装置。
[0057] 为使本发明的技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0058] 图1为根据本发明实施例的基于数学模型的闪存分类方法的流程图。
[0059] 如图1所示,本发明一实施例提供了一种基于数学模型的闪存分类方法,包括:
[0060] 步骤S101:获取目标闪存Tm次编程/擦除(P/E)操作后的特征量。
[0061] 闪存的特征量可以由闪存测试装置进行测量,采集并保存测量所得的闪存特征量。闪存测试装置可以通过市售的渠道来获得,闪存测试装置可以对闪存进行全方位测试。
利用该装置,可以自动化快速获取闪存可靠性、读写性能、内部参数等核心信息。可以支持
最新3D闪存芯片测试;支持多片闪存同时测试。
[0062] 可选地,在该步骤S101中获取的闪存的特征量包括但不限于:闪存编程时间、读取时间、擦除时间、电流、芯片功耗、阈值电压分布、存储块编号、存储页号、闪存所经历过的编
程/擦除周期次数、条件错误页数、条件错误块数、错误比特数和错误率。
[0063] 在步骤S101中,具体地可以包括以下步骤:
[0064] 步骤S101a:记录当前状态下目标闪存所经历的编程/擦除周期次数;
[0065] 步骤S101b:向目标闪存发送测试数据集合,对目标闪存执行写入数据操作,同时获取目标闪存编程时的电流、编程时的功耗、各个页面的编程时间以及编程时间所对应的
存储块编号和存储页号;
[0066] 步骤S101c:执行完数据写入操作之后,不保持数据存储或保持数据储存时间tr后,对目标闪存执行读数据操作,同时获取目标闪存的阈值电压分布、读取操作时的电流、
读取操作时的功耗、各个页面的读取时间以及读取时间所对应的存储块编号和存储页号,
将该步骤中获得的数据与步骤S101b中的数据进行比较,计算得到错误比特数、错误率、条
件错误页数及条件错误块数。
[0067] 其中,对于闪存存储单元阈值电压分布,闪存测试装置可以对闪存执行READ‑RETRY操作所需的命令集,使得闪存的读取数据操作参考电压产生偏移,然后对Read‑Retry
操作所得的数据进行数学分析与运算,获得对应的闪存存储单元阈值电压分布。数据储存
时间tr为正整数。
[0068] 步骤S102:对特征量进行运算,得到特征量运算数据集合。
[0069] 可选地,对特征量中的一种特征量或多种特征量进行运算,包括:
[0070] 特征量的线性运算、特征量的非线性运算、不同特征量之间的线性运算、不同特征量之间的非线性运算、计算不同存储页面特征量的最大值、计算不同存储页面特征量的最
小值、不同存储页面特征量之间的线性运算、不同存储页面特征量之间的非线性运算、不同
存储块特征量之间的线性运算、不同存储块特征量之间的非线性运算、计算不同存储块特
征量的最大值和计算不同存储块特征量的最小值。
[0071] 步骤S103:基于特征量运算数据或特征量和特征量运算数据的组合构建表征闪存可靠性的数学模型。
[0072] 所选取的特征量可根据实际预测需求进行组合,而非固定的搭配。
[0073] 优选地,所述方法的可靠性等级预测结果可表示为原始错误比特率等级或者闪存剩余寿命等级。原始错误比特率等级是指闪存读取操作后未经纠错的数据与编程操作写入
的数据相比产生的错误比特数所占比例等级。闪存剩余寿命等级是指闪存由当前直至超过
一定的错误率之间经历的编程/擦除周期数量等级。
[0074] 可选地,可以通过以下构建方式中的一种或多种:回归算法、正则化方法、决策树学习、基于实例的算法、贝叶斯方法、聚类算法、降低维度算法、关联规则学习、遗传算法、人
工神经网络、深度学习、基于核的算法和集成算法,来构建数学模型。
[0075] 可选地,基于特征量运算数据或特征量和特征量运算数据的组合构建表征闪存可靠性等级的数学模型,包括:
[0076] 通过不同的构建方式构建多个不同的数学模型,在判断闪存可靠性等级时,综合分析多个不同的数学模型得到的多个闪存可靠性数据。不同构建方法构建的数学模型对闪
存可靠性的侧重点不同,根据不不同模型的输出,综合比对分析得到闪存的可靠性等级。
[0077] 本发明实施例基于多种与闪存可靠性相关的特征量以及它们的运算结果来构建数学模型,与仅有一种特征量且没有做运算操作的情况相比,所构建的数学模型的准确度
更高。
[0078] 步骤S104:获取待分类闪存的特征量。
[0079] 对于步骤S104中待分类闪存的特征量的获取可以参照步骤S101来进行。
[0080] 步骤S105:将待分类闪存的特征量输入数学模型,得到待分类闪存的闪存可靠性数据,根据闪存可靠性数据来判断闪存可靠性等级,从而根据闪存可靠性等级来对待分类
闪存进行分类,
[0081] 其中,所述可靠性等级包括以下结果中的一种或多种:
[0082] 待分类闪存芯片的当前错误比特数量等级、待分类闪存芯片的当前错误比特率等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特数量等级、Tm次编程/擦除操作后待分
类闪存芯片的错误比特率等级和待分类闪存芯片的剩余编程/擦除周期数量等级。
[0083] 根据本发明实施例的基于数学模型的闪存分类方法能够根据闪存的可靠性等级对闪存进行分类,可以帮助使用者提前了解闪存的耗损程度,能够根据不同的使用场景选
取相应等级的闪存,进而及时调整闪存的存储策略。
[0084] 本发明分类预测所使用的数学模型具有快速反映闪存可靠性的能力,通过对闪存进行少量非破坏性测试后,迅速得到闪存的可靠性等级。
[0085] 本发明可准确预测闪存在经过一定次数编程/擦除操作后的可靠性等级,可以为闪存控制器厂商在优化调度策略方面提供有力的数据支持。
[0086] 图2为根据本发明另一实施例的基于数学模型的闪存分类方法的流程图。
[0087] 如图2所示,本发明另一实施例提供了一种基于数学模型的闪存分类方法,包括:
[0088] 步骤S201:获取目标闪存Tm次编程/擦除(P/E)操作后的特征量。
[0089] 步骤S201与前述实施例中的步骤S101相同,可以参考步骤S101,在此不再赘述。
[0090] 步骤S202:对特征量进行运算,得到特征量运算数据集合。
[0091] 步骤S202与前述实施例中的步骤S102相同,可以参考步骤S102,在此不再赘述。
[0092] 步骤S203:基于特征量运算数据集合中的第一部分特征量运算数据或特征量和第一部分特征量运算数据的组合构建表征闪存可靠性的数学模型。
[0093] 在步骤S203中,可以选取特征量运算数据集合中的一部分数据(第一部分特征量运算数据)用于构建数学模型,该一部分数据可以例如占特征量运算数据集合的60%、70%
或80%,在此不对此进行限定。特征量运算数据集合中的另一部分数据可以用于后续的数
学模型的验证。
[0094] 步骤S204:验证数学模型。
[0095] 步骤S204具体地可以包括:
[0096] 将特征量运算数据集合中的第二部分特征量运算数据输入数学模型得到目标闪存的闪存可靠性预测数据;
[0097] 测量目标闪存进行Tm次编程/擦除操作后的闪存可靠性实际数据;
[0098] 比较闪存可靠性预测数据和闪存可靠性实际数据;
[0099] 若闪存可靠性预测数据和闪存可靠性实际数据相同,则表示数学模型准确;
[0100] 若可靠性预测数据和可靠性实际数据不相同,则需要返回到步骤S201,重新构建数学模型。
[0101] 步骤S205:获取待分类闪存的特征量。
[0102] 步骤S205是在步骤S204中数学模型被验证为准确后而进行的,对于步骤S205中待分类闪存的特征量的获取可以参照步骤S201来进行。
[0103] 步骤S206:将待分类闪存的特征量输入数学模型,得到待分类闪存的闪存可靠性数据,根据闪存可靠性数据来判断闪存可靠性等级,从而根据闪存可靠性等级来对待分类
闪存进行分类,
[0104] 其中,所述可靠性等级包括以下结果中的一种或多种:
[0105] 待分类闪存芯片的当前错误比特数量等级、待分类闪存芯片的当前错误比特率等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特数量等级、Tm次编程/擦除操作后待分
类闪存芯片的错误比特率等级和待分类闪存芯片的剩余编程/擦除周期数量等级。
[0106] 相较于上一实施例,在本实施例中增加了对所构建的数学模型进行验证的步骤,通过对数学模型的验证可以使最终所得到的数学模型更加准确。将特征量运算数据集合中
的一部分数据用于构建数学模型,剩余的另一部分数据输入已构建数学模型,得到闪存的
可靠性预测数据,再对闪存进行实际测试来获得闪存的可靠性实际数据,通过将可靠性预
测数据与可靠性实际数据进行比较,来验证数学模型,若可靠性预测数据与可靠性实际数
据相同,则表示数学模型是准确的,如果二者不同,则需要重新构建数学模型。
[0107] 下面以市售的一种MLC NAND Flash闪存为例,来详细描述本发明上述实施例所述的基于数学模型的闪存分类方法。
[0108] 步骤S301:由闪存测试装置采集闪存芯片的特征量。
[0109] 具体地,对闪存芯片采集特征量的步骤包括:
[0110] 将闪存芯片放置在闪存测试装置中,配置闪存信息、测试信息、测试图样。
[0111] 闪存测试装置对闪存芯片先进行块擦除操作,然后根据所选测试图样进行页编程操作,写入数据。
[0112] 闪存测试装置对闪存芯片进行读数据操作,通过与编程操作写入的测试图样比对得到页原始错误比特数,同时采集闪存芯片的读取时间。
[0113] 闪存测试装置记录闪存芯片的编程/擦除(P/E)周期次数,记作Cpe,并在每一次P/E操作后进行更新:Cpe=Cpe+1。
[0114] 本例中,采集的样本闪存芯片特征量包括:闪存块的页原始错误比特数,闪存块当前已经历的编程/擦除周期数,闪存块的读取时间。
[0115] 步骤S302:对步骤S301得到的特征量采集结果进行运算操作,保存特征量运算数据,建立用于构建数学模型所需的闪存芯片数据集合。
[0116] 本例中,选择将闪存芯片的页原始错误比特数等级作为芯片的可靠性等级。
[0117] 本例中,对样本闪存芯片特征量的运算操作包括:对闪存块内所有页的页原始错误比特数取算数平均数 其中xi为第i页的页原始错误比特数,n
为最大闪存页编号);对闪存块内所有页的页原始错误比特数取平方平均数
其中xi为第i页的页原始错误比特数,n为最大闪存页编号),
对闪存块内所有页的页原始错误比特数取中位数。对闪存块内所有页的读取时间取算数平
均数。
[0118] 步骤S303:取步骤S302得到的特征量运算数据集合中70%的数据用来构建数学模型。
[0119] 具体地,利用数学工具建立数学模型的步骤如下:
[0120] 选择违背非线性优化条件推导结果的特征量作为α1,本例中选择闪存的原始错误比特数。定义数学模型的输入输出个数,同时设置模型的约束条件。本例中的数学模型输入
个数为5,输出个数为1;约束条件为原始错误比特数大于1400或时间点大于1000。本例中采
用的构建数学模型为:序列最小优化的向量机模型。
[0121] 随机选取特征量运算数据集合中70%的数据用来构建数学模型,剩余30%的数据用于验证数学模型。
[0122] 使用高斯核完成数学模型的建立。
[0123] 步骤S304:取步骤S302得到的特征量运算数据集合中剩余30%的数据验证数学模型的准确性,将剩余30%的数据输入数学模型,并得到Tm次P/E操作后的闪存芯片可靠性预
测数据,记为Ymodel。
[0124] 步骤S305:对闪存芯片进行Tm次P/E操作,测量芯片经过Tm次P/E操作后的可靠性实际数据,记为Yobs。
[0125] 步骤S306:比较数学模型的可靠性预测数据Ymodel与可靠性实际数据Yobs,若二者相同,则表示数学模型建立准确,否则重新回到步骤S301。
[0126] 步骤S307:由闪存测试装置采集待分类闪存的特征量。
[0127] 步骤S308:将待分类闪存的特征量输入经过验证的数学模型,得到待分类闪存的闪存可靠性数据,根据闪存可靠性数据来判断闪存可靠性等级,从而根据闪存可靠性等级
来对待分类闪存进行分类。
[0128] 图3为根据本发明一实施例的基于数学模型的闪存分类装置的结构框图。
[0129] 进一步地,作为图1所示的方法的具体实现,如图3所示,本发明一实施例提供一种基于数学模型的闪存分类装置,包括第一获取模块10、运算模块20、构建模块30、第二获取
模块40和分类模块50。
[0130] 第一获取模块10用于获取目标闪存Tm次编程/擦除操作后的特征量。
[0131] 具体地可以执行以下操作:
[0132] 记录当前状态下所述目标闪存所经历的编程/擦除周期次数;
[0133] 向所述目标闪存发送测试数据集合,对所述目标闪存执行写入数据操作,同时获取目标闪存编程时的电流、编程时的功耗、各个页面的编程时间以及编程时间所对应的存
储块编号和存储页号;
[0134] 对所述目标闪存执行读数据操作,同时获取所述目标闪存的阈值电压分布、读取操作时的电流、读取操作时的功耗、各个页面的读取时间以及读取时间所对应的存储块编
号和存储页号,将该步骤中获得的数据与上一步骤中的数据进行比较,计算得到错误比特
数、错误率、条件错误页数及条件错误块数。
[0135] 运算模块20用于对特征量进行运算,得到特征量运算数据集合。
[0136] 构建模块30用于基于特征量运算数据或特征量和特征量运算数据的组合构建表征闪存可靠性的数学模型。
[0137] 第二获取模块40用于获取待分类闪存的特征量。
[0138] 分类模块50用于将待分类闪存的特征量输入数学模型,得到待分类闪存的闪存可靠性数据,根据闪存可靠性数据来判断闪存可靠性等级,从而根据闪存可靠性等级来对待
分类闪存进行分类,
[0139] 其中,所述可靠性等级包括以下结果中的一种或多种:
[0140] 待分类闪存芯片的当前错误比特数量等级、待分类闪存芯片的当前错误比特率等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特数量等级、Tm次编程/擦除操作后待分
类闪存芯片的错误比特率等级和待分类闪存芯片的剩余编程/擦除周期数量等级。
[0141] 根据本发明实施例的基于数学模型的闪存分类装置能够根据闪存的可靠性等级对闪存进行分类,可以帮助使用者提前了解闪存的耗损程度,能够根据不同的使用场景选
取相应等级的闪存,进而及时调整闪存的存储策略。
[0142] 图4为根据本发明另一实施例的基于数学模型的闪存分类装置的结构框图。
[0143] 进一步地,作为图2所示的方法的具体实现,如图4所示,本发明另一实施例提供一种基于数学模型的闪存分类装置,包括第一获取模块10、运算模块20、构建模块30、第二获
取模块40、分类模块50和验证模块60。
[0144] 第一获取模块10用于获取目标闪存Tm次编程/擦除操作后的特征量。
[0145] 具体地第一获取模块10可以执行以下操作:
[0146] 记录当前状态下所述目标闪存所经历的编程/擦除周期次数;
[0147] 向所述目标闪存发送测试数据集合,对所述目标闪存执行写入数据操作,同时获取目标闪存编程时的电流、编程时的功耗、各个页面的编程时间以及编程时间所对应的存
储块编号和存储页号;
[0148] 对所述目标闪存执行读数据操作,同时获取所述目标闪存的阈值电压分布、读取操作时的电流、读取操作时的功耗、各个页面的读取时间以及读取时间所对应的存储块编
号和存储页号,将该步骤中获得的数据与上一步骤中的数据进行比较,计算得到错误比特
数、错误率、条件错误页数及条件错误块数。
[0149] 运算模块20用于对特征量进行运算,得到特征量运算数据集合。
[0150] 构建模块30用于基于特征量运算数据或特征量和特征量运算数据的组合构建表征闪存可靠性的数学模型。
[0151] 第二获取模块40用于获取待分类闪存的特征量。
[0152] 分类模块50用于将待分类闪存的特征量输入数学模型,得到待分类闪存的闪存可靠性数据,根据闪存可靠性数据来判断闪存可靠性等级,从而根据闪存可靠性等级来对待
分类闪存进行分类,
[0153] 其中,所述可靠性等级包括以下结果中的一种或多种:
[0154] 待分类闪存芯片的当前错误比特数量等级、待分类闪存芯片的当前错误比特率等级、Tm次编程/擦除操作后待分类闪存芯片的错误比特数量等级、Tm次编程/擦除操作后待分
类闪存芯片的错误比特率等级和待分类闪存芯片的剩余编程/擦除周期数量等级。
[0155] 验证模块60用于验证数学模型。
[0156] 具体地验证模块60可以执行以下操作:
[0157] 将所述特征量运算数据集合中的第二部分特征量运算数据输入所述数学模型得到所述目标闪存的闪存可靠性预测数据;
[0158] 测量所述目标闪存进行Tm次编程/擦除操作后的闪存可靠性实际数据;
[0159] 比较所述闪存可靠性预测数据和所述闪存可靠性实际数据;
[0160] 若所述闪存可靠性预测数据和所述闪存可靠性实际数据相同,则表示数学模型准确;
[0161] 若所述可靠性预测数据和所述可靠性实际数据不相同,则重新构建数学模型。
[0162] 相较于上一实施例,在本实施例中增加了对所构建的数学模型进行验证的验证模块,通过对数学模型的验证可以使最终所得到的数学模型更加准确。将特征量运算数据集
合中的一部分数据用于构建数学模型,剩余的另一部分数据输入已构建数学模型,得到闪
存的可靠性预测数据,再对闪存进行实际测试来获得闪存的可靠性实际数据,通过将可靠
性预测数据与可靠性实际数据进行比较,来验证数学模型,若可靠性预测数据与可靠性实
际数据相同,则表示数学模型时准确的,如果二者不同,则需要重新构建数学模型。
[0163] 本领域技术人员在考虑说明书并且实践这里所公开的本发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、
用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公
知常识或惯用技术手段。说明书和实施例仅被视为示例性的。
[0164] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。