首页> 中国专利> 基于动态神经网络的闪存可靠性等级在线预测方法和装置

基于动态神经网络的闪存可靠性等级在线预测方法和装置

摘要

本发明公开了一种基于动态神经网络的闪存可靠性等级在线预测方法、装置、存储介质及计算机设备。其中方法包括:对待预测闪存芯片进行闪存操作,并在闪存操作过程中采集待预测闪存芯片的至少一种特征量;对待预测闪存芯片的至少一种特征量进行运算操作,得到待预测闪存芯片的特征运算值,依据待预测闪存芯片的特征量和待预测闪存芯片的特征运算值,建构待预测闪存芯片的数据集合;将待预测闪存芯片的数据集合中的第一子集作为动态神经网络的输入,运行动态神经网络,得到第一闪存可靠性等级预测模型,并通过第一闪存可靠性等级预测模型得到初始可靠性等级预测结果;根据初始可靠性等级预测结果和待预测闪存芯片的实际可靠性等级测试结果,优化第一闪存可靠性等级预测模型的模型参数,得到第二闪存可靠性等级预测模型;将待预测闪存芯片数据集合中的第二子集输入到第二闪存可靠性等级预测模型中,得到待预测闪存芯片的可靠性等级的预测结果。上述方法可以提高闪存芯片可靠性等级的预测准确度和灵活度。

著录项

  • 公开/公告号CN112817524A

    专利类型发明专利

  • 公开/公告日2021-05-18

    原文格式PDF

  • 申请/专利权人 置富科技(深圳)股份有限公司;

    申请/专利号CN202110066133.9

  • 发明设计人 齐明阳;潘玉茜;张浩明;刘政林;

    申请日2021-01-19

  • 分类号G06F3/06(20060101);G11C29/50(20060101);

  • 代理机构11448 北京中强智尚知识产权代理有限公司;

  • 代理人黄耀威

  • 地址 518000 广东省深圳市龙岗区坂田街道吉华路龙璧工业城13#2层

  • 入库时间 2023-06-19 11:02:01

说明书

技术领域

本发明涉及存储器技术领域,尤其是涉及一种基于动态神经网络的闪存可靠性等级在线预测方法、装置、存储介质及计算机设备。

背景技术

随着科学技术的高速发展,数据存储的需求也在爆炸式增长。闪存经过数十年的技术更新,存储容量不断扩大,单位比特价格大幅减小,同时凭借着其超大的存储容量、更快的读写性能、更好的防磁抗震能力逐渐取代了磁质介质成为主流的非易失性存储器,在民用,工业,军工等各领域中均发挥着越来越重要的作用。

另一方面,在闪存容量和集成度不断提高的同时,闪存的可靠性问题也日渐突出。闪存的信息存储是通过编程和擦除操作实现的,但重复的P-E(编程-擦除)操作会使得闪存的半导体器件的氧化层变薄以及使得阈值电压有所偏移,最终导致闪存器件损坏,造成数据丢失。基于此,如何准确预测闪存芯片的可靠性,以及将闪存芯片的可靠性预测方法灵活的运用在各种型号不同的闪存芯片上已成为闪存持续发展亟待解决的重要难题。

发明内容

有鉴于此,本申请提供了一种基于动态神经网络的闪存可靠性等级在线预测方法、装置、存储介质及计算机设备,主要目的在于解决现有技术中无法准确预测闪存芯片的可靠性等级以及无法对闪存芯片可靠性预测方法进行灵活应用的技术问题。

根据本发明的第一个方面,提供了一种基于动态神经网络的闪存可靠性等级在线预测方法,该方法包括:

对待预测闪存芯片进行闪存操作,并在闪存操作过程中采集待预测闪存芯片的至少一种特征量;

对待预测闪存芯片的至少一种特征量进行运算操作,得到待预测闪存芯片的特征运算值,依据待预测闪存芯片的特征量和待预测闪存芯片的特征运算值,建构待预测闪存芯片的数据集合;

将待预测闪存芯片的数据集合中的第一子集作为动态神经网络的输入,运行动态神经网络,得到第一闪存可靠性等级预测模型,并通过第一闪存可靠性等级预测模型得到初始可靠性等级预测结果;

根据初始可靠性等级预测结果和待预测闪存芯片的实际可靠性等级测试结果,优化第一闪存可靠性等级预测模型的模型参数,得到第二闪存可靠性等级预测模型;

将待预测闪存芯片数据集合中的第二子集输入到第二闪存可靠性等级预测模型中,得到待预测闪存芯片的可靠性等级的预测结果。

可选的,待预测闪存芯片的特征量包括以下特征量中的一种或多种:闪存芯片各闪存操作的时间、各闪存操作时的电流、芯片功耗、阈值电压分布及电压变化量、闪存块编号、闪存页编号、当前编程-擦除周期数、闪存块中条件错误页数、条件错误块数、原始错误比特数和原始错误比特率。

可选的,对待预测闪存芯片进行闪存操作,并在闪存操作过程中采集待预测闪存芯片的至少一种特征量,包括:通过闪存测试装置记录待预测闪存芯片的当前编程-擦除周期数;对待预测闪存芯片执行擦除操作和编辑操作,并通过闪存测试装置采集待预测闪存芯片执行编辑操作时的电流、功耗,以及待预测闪存芯片各个页面的编程时间和编程时间对应的存储块号和存储页号;对待预测闪存芯片执行读取操作,并通过闪存测试装置采集待预测闪存芯片执行读取操作时的阈值电压分布、电流、功耗以及待预测闪存芯片各个页面的读取时间;将读取操作时读取的数据与编辑操作时写入的数据进行比较,得到待预测闪存芯片的条件错误页数、条件错误块数、原始错误比特数和原始错误比特率。

可选的,待预测闪存芯片的特征量的运算操作方法包括以下运算操作方法中的一种或多种:特征量的线性运算、特征量的非线性运算、不同特征量间的线性运算、不同特征量间的非线性运算、计算不同存储页面特征量的最大值、计算不同存储页面特征量的最小值、不同存储页面特征量之间的线性运算、不同存储页面特征量之间的非线性运算、不同存储块特征量之间的线性运算、不同存储块特征量之间的非线性运算、计算不同存储块特征量的最大值和计算不同存储块特征量的最小值。

可选的,将待预测闪存芯片的数据集合中的第一子集作为动态神经网络的输入,运行动态神经网络,得到第一闪存可靠性等级预测模型,包括:初始化动态神经网络,并设置动态神经网络的各个神经元的连接权值和阈值;将待预测闪存芯片的数据集合中的第一子集划分为多个互斥子集,其中,多个互斥子集中包含训练子集和验证子集;分别多次将训练子集输入到动态神经网络中,计算得到误差损失函数,并得到动态神经网络的各个神经元的连接权值和阈值;将验证子集输入到动态神经网络中,得到训练误差值和测试误差值;当训练误差值和测试误差值均小于预设误差阈值时,输出第一闪存可靠性等级预测模型。

可选的,初始可靠性等级预测结果中包括T

可选的,编程-擦除操作周期数T

可选的,待预测闪存芯片的可靠性等级的预测结果中包括以下结果中的一种或多种:待预测闪存芯片的当前错误比特数量等级、待预测闪存芯片的当前错误比特率等级、T

根据本发明的第二个方面,提供了一种基于动态神经网络的闪存可靠性等级在线预测装置,该装置包括:

特征量采集模块,用于对待预测闪存芯片进行闪存操作,并在闪存操作过程中采集待预测闪存芯片的至少一种特征量;

数据集合构建模块,用于对待预测闪存芯片的至少一种特征量进行运算操作,得到待预测闪存芯片的特征运算值,依据待预测闪存芯片的特征量和待预测闪存芯片的特征运算值,建构待预测闪存芯片的数据集合;

预测模型训练模块,用于将待预测闪存芯片的数据集合中的第一子集作为动态神经网络的输入,运行动态神经网络,得到第一闪存可靠性等级预测模型,并通过第一闪存可靠性等级预测模型得到初始可靠性等级预测结果;

模型参数调整模块,用于根据初始可靠性等级预测结果和待预测闪存芯片的实际可靠性等级测试结果,优化第一闪存可靠性等级预测模型的模型参数,得到第二闪存可靠性等级预测模型;

预测结果输出模块,用于将待预测闪存芯片数据集合中的第二子集输入到第二闪存可靠性等级预测模型中,得到待预测闪存芯片的可靠性等级的预测结果。

根据本发明的第三个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于动态神经网络的闪存可靠性等级在线预测方法。

根据本发明的第四个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于动态神经网络的闪存可靠性等级在线预测方法。

本发明提供的一种基于动态神经网络的闪存可靠性等级在线预测方法、装置、存储介质及计算机设备,首先通过采集闪存芯片的至少一种特征量,并对采集到的至少一种特征量进行运算操作得到特征运算值,以及将闪存芯片的特征量和特征运算值作为闪存可靠性等级预测模型的输入,训练和优化闪存可靠性等级预测模型,得到待预测闪存芯片的可靠性等级的预测结果,相比单一的只以闪存芯片的特征量为预测模型的输入,并通过预测模型直接得到预测结果,本方法可以有效的提高闪存可靠性等级预测模型的预测准确度。并且,上述方法通过利用具有动态建模能力的动态神经网络进行建模,能够在闪存芯片的使用过程中实时在线训练和优化闪存可靠性等级预测模型的相关参数,并得到预测范围较广和预测结果较为准确的预测模型,具有良好的使用灵活度。此外,本方法通过对闪存的可靠性等级进行在线分类,可以帮助闪存使用者提前了解闪存的耗损程度,进而及时调整闪存的存储策略,能够有效避免因为闪存可靠性问题而带来的数据流失。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了本发明实施例提供的一种基于动态神经网络的闪存可靠性等级在线预测方法的流程示意图;

图2示出了本发明实施例提供的另一种基于动态神经网络的闪存可靠性等级在线预测方法的流程示意图;

图3示出了本发明实施例提供的一种闪存可靠性等级预测模型的训练方法的流程示意图;

图4示出了本发明实施例提供的一种基于动态神经网络的闪存可靠性等级在线预测装置的结构示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在一个实施例中,如图1所示,提供了一种基于动态神经网络的闪存可靠性等级在线预测方法,以该方法应用于计算机设备为例进行说明,包括以下步骤:

101、对待预测闪存芯片进行闪存操作,并在闪存操作过程中采集待预测闪存芯片的至少一种特征量。

其中,闪存操作是指对闪存芯片进行编程操作、读取操作和擦除操作,一般来说,在对闪存芯片进行测试时会将编程操作和擦除操作算作一次操作周期,这个操作周期通常称为P-E(编程-擦除)操作。特征量指的是闪存芯片在进行闪存操作过程中计算机设备可以通过闪存测试装置采集到的物理信息和闪存芯片寿命信息,如闪存操作的时间、电流、电压分布、闪存块的编号、闪存块的页原始错误比特数,闪存块当前已经历的编程-擦除周期数等等。

具体的,在对待预测闪存芯片进行可靠性等级预测时,首先要对待预测闪存芯片进行若干次的闪存操作,并在闪存操作的过程中采集待预测闪存芯片的一种或多种特征量。在本实施例中,较为重要的特征量是闪存芯片的寿命信息,如闪存块的页原始错误比特数和闪存块当前已经历的编程-擦除周期数,通过这些寿命信息,计算机设备可以了解到待预测闪存芯片的当前状态,从而做出更加准确的预测。

在一个可选的实施方式中,采集的待预测闪存芯片的特征量可以包括以下特征量中的一种或多种:闪存芯片各闪存操作的时间(包括编程时间、读取时间和擦除时间等)、各闪存操作时的电流(包括编程时的电流、读取时的电流和擦除时的电流等)、芯片功耗、阈值电压分布及电压变化量、闪存块编号、闪存页编号、当前编程-擦除周期数、闪存块中条件错误页数、条件错误块数、原始错误比特数和原始错误比特率。可以理解的是,采集到的样本闪存芯片的特征量的种类和数量越多,越有助于训练和优化闪存可靠性等级预测模型,并得到准确的预测结果。

在一个可选的实施方式中,采集待预测闪存芯片的特征量的方法可以包括以下步骤:首先通过闪存测试装置记录待预测闪存芯片的当前编程-擦除周期数,然后向待预测闪存芯片发送测试数据,并对待预测闪存芯片执行擦除操作和编辑操作,同时通过闪存测试装置采集待预测闪存芯片执行编辑操作时的电流和功耗,以及待预测闪存芯片各个页面的编程时间和编程时间对应的存储块号和存储页号,在执行完编辑操作之后,不保持数据存储或保持数据储存一定时长后,对待预测闪存芯片执行读取操作,同时通过闪存测试装置采集待预测闪存芯片执行读取操作时的阈值电压分布、电流、功耗以及待预测闪存芯片各个页面的读取时间,最后将读取操作时读取的数据与编辑操作时写入的数据进行比较,得到待预测闪存芯片的条件错误页数、条件错误块数、原始错误比特数和原始错误比特率。在本实施方式中,采集待预测闪存芯片的阈值电压分布的方式为:通过闪存测试装置执行读取操作所需的命令集,使得待预测闪存芯片的读取操作参考电压产生偏移,然后对读取操作所得的数据进行数学分析和运算,得到待预测闪存芯片的阈值电压分布。需要说明的是,在对待预测闪存芯片的可靠性等级进行预测的过程中,需要通过上述方式对待预测闪存芯片进行多轮的编程-擦除操作,并在操作的过程中不断采集每一轮编程-擦除操作的至少一种特征量。

102、对待预测闪存芯片的至少一种特征量进行运算操作,得到待预测闪存芯片的特征运算值,依据待预测闪存芯片的特征量和待预测闪存芯片的特征运算值,建构待预测闪存芯片的数据集合。

具体的,计算机设备可以对待预测闪存芯片的一种或多种特征量进行运算操作,并得到待预测闪存芯片的一种或多种特征运算值,如计算机设备可以对待预测闪存芯片闪存块内所有页的页原始错误比特数进行平均数运算操作,并得到待预测闪存芯片闪存块内所有页的页原始错误比特数的算数平均数,此外,计算机设备还可以对特征量进行其他形式的运算,并得到闪存块内所有页的页原始错误比特数的平方平均数,闪存块内所有页的页原始错误比特数的中位数等多种特征运算值。

进一步的,计算机设备可以将采集到的待预测闪存芯片的特征量以及运算得到的待预测闪存芯片的特征运算值存在同一个数据集合中,从而建构出待预测闪存芯片的数据集合,需要说明的是,待预测闪存芯片的数据集合在构建完成后,计算机设备还可以在后续的预测过程中不断地对待预测芯片进行闪存操作,以获取到更多的特征量以及特征运算值,并将这些特征量和特征运算值存储在待预测闪存芯片的数据集合中,从而不断丰富数据集合中的数据。在本实施例中,计算机设备可以对待预测闪存芯片的一种特征量进行单独运算操作,也可以对待预测闪存芯片的多种特征量进行组合运算操作,计算机设备还可以根据采集到的不同种类的特征量进行多种形式的运算,从而得到多种特征运算值。

在一个可选的实施方式中,待预测闪存芯片的特征量的运算操作方法可以包括以下运算操作方法中的一种或多种:特征量的线性运算、特征量的非线性运算、不同特征量间的线性运算、不同特征量间的非线性运算、计算不同存储页面特征量的最大值、计算不同存储页面特征量的最小值、不同存储页面特征量之间的线性运算、不同存储页面特征量之间的非线性运算、不同存储块特征量之间的线性运算、不同存储块特征量之间的非线性运算、计算不同存储块特征量的最大值和计算不同存储块特征量的最小值。可以理解的是,待预测闪存芯片的特征量的运算操作方式越丰富,越有助于训练和优化闪存可靠性等级预测模型,并得到准确的预测结果,具体的运算操作方法可以根据实际情况进行选择,本实施例不做具体限定。

103、将待预测闪存芯片的数据集合中的第一子集作为动态神经网络的输入,运行动态神经网络,得到第一闪存可靠性等级预测模型,并通过第一闪存可靠性等级预测模型得到初始可靠性等级预测结果。

其中,第一闪存可靠性等级预测模型指的是基于动态神经网络模型训练得到的初始预测模型,第一子集为从预测闪存芯片的数据集合随机选取出的一个数据子集,第一子集中的数据量小于等于预测闪存芯片的数据集合中的数据量,并且第一子集中包含多轮编程-擦除操作的过程中采集到的特征量和运算得到的特征运算值,第一子集中的数据可以根据实际预测需求进行更改,非固定的数据集合。

具体的,计算机设备可以将待预测闪存芯片的数据集合中的第一子集作为动态神经网络的输入,运行动态神经网络,从而得到第一闪存可靠性等级预测模型,然后再将待预测闪存芯片的数据集合中最新采集到的特征量和最新运算得到的特征运算值输入到第一闪存可靠性等级预测模型中,得到初始可靠性等级预测结果,其中,初始可靠性等级预测结果中包含预设次编程-擦除操作后待预测闪存芯片的预测可靠性等级。

在一个可选的实施方式中,第一闪存可靠性等级预测模型输出的初始可靠性等级预测结果中可以包括T

在一个可选的实施方式中,第一闪存可靠性等级预测模型的训练方法可以包括以下步骤:首先初始化动态神经网络,并设置动态神经网络的各个神经元的连接权值和阈值,然后对待预测闪存芯片的数据集合中的第一子集中的数据进行预处理,并将第一子集划分为多个大小相近互斥子集,其中,多个互斥子集中包含训练子集和验证子集(例如将第一子集划分为5个互斥子集,5个互斥子集中包含4个训练子集和1个验证子集),继而分别多次将训练子集输入到动态神经网络中,计算误差损失函数,并从后往前调整各层神经元的连接权值和阈值,连续训练多次后,得到动态神经网络的各个神经元的连接权值和阈值,最后将验证子集输入到动态神经网络中,得到训练误差值和测试误差值,当训练误差值和测试误差值均小于预设误差阈值时,训练终止并输出第一闪存可靠性等级预测模型。训练完成后,还可以利用待预测闪存芯片的数据集合中的其他数据作为测试数据继续调整模型的相关参数,从而得到最终的第一闪存可靠性等级预测模型。

104、根据初始可靠性等级预测结果和待预测闪存芯片的实际可靠性等级测试结果,优化第一闪存可靠性等级预测模型的模型参数,得到第二闪存可靠性等级预测模型。

具体的,在得到第一闪存可靠性等级预测模型之后,还需要对待预测闪存芯片进行多次闪存操作,并在闪存操作过程中持续采集待预测闪存芯片的特征量,以及对待预测闪存芯片的特征量进行运算操作,得到待预测闪存芯片的特征运算值,然后将特征量和特征运算值更新到待预测闪存芯片的数据集合中。进一步的,当编程-擦除操作的次数达到预设次数之后,计算机设备可以采集预设次编程-擦除操作后待预测闪存芯片的实际可靠性等级,并将这个实际可靠性等级与初始可靠性等级预测结果中的预测可靠性等级进行比较,并得到实际可靠性等级与预测可靠性等级之间的偏差,根据二者之间的偏差即可不断调整第一闪存可靠性等级预测模型的相关参数,从而得到第二闪存可靠性等级预测模型。在本实施例中,预测结果和实际测试结果的比较过程可以持续多轮,在比较的过程中,如果预测可靠性等级与实际可靠性等级不一致,就调整第一闪存可靠性等级预测模型的相关参数,如果预测可靠性等级与实际可靠性等级一致,就生成新的预测可靠性等级,并将其与实际可靠性等级进行比较,如此反复多次,即可得到预测范围较广且预测结果较为准确的第二闪存可靠性等级预测模型。

在一个可选的实施方式中,优化第一闪存可靠性等级预测模型的模型参数,并得到第二闪存可靠性等级预测模型的方法可以包括以下步骤:首先对待预测闪存芯片进行T

105、将待预测闪存芯片数据集合中的第二子集输入到第二闪存可靠性等级预测模型中,得到待预测闪存芯片的可靠性等级的预测结果。

具体的,计算机设备可以将待预测闪存芯片数据集合中的第二子集输入到参数优化后的第二闪存可靠性等级预测模型中,从而得到待预测闪存芯片的可靠性等级的预测结果。在本实施例中,第二子集为从预测闪存芯片的数据集合随机选取出的另一个数据子集,第二子集中的数据量小于等于预测闪存芯片的数据集合中的数据量,并且第二子集中包含第二闪存可靠性等级预测模型建立之后在编程-擦除操作过程中采集到的特征量和运算得到的特征运算值。此外,本实施例得到的待预测闪存芯片的可靠性等级可以包括待预测闪存芯片当前的可靠性等级,待预测闪存芯片经过预设次数编程-擦除后的可靠性等级等级以及待预测闪存芯片的剩余寿命等级等多种结果,其中,可靠性等级可以用错误比特数量等级和/或错误比特率等级来表示,剩余寿命等级可以用剩余编程-擦除周期数量等级来表示。

在一个可选的实施方式中,待预测闪存芯片的可靠性等级的预测结果中包括以下结果中的一种或多种:待预测闪存芯片的当前错误比特数量等级、待预测闪存芯片的当前错误比特率等级、T

本实施例提供的基于动态神经网络的闪存可靠性等级在线预测方法,首先通过采集闪存芯片的至少一种特征量,并对采集到的至少一种特征量进行运算操作得到特征运算值,以及将闪存芯片的特征量和特征运算值作为闪存可靠性等级预测模型的输入,训练和优化闪存可靠性等级预测模型,得到待预测闪存芯片的可靠性等级的预测结果,相比单一的只以闪存芯片的特征量为预测模型的输入,并通过预测模型直接得到预测结果,本方法可以有效的提高闪存可靠性等级预测模型的预测准确度。并且,上述方法通过利用具有动态建模能力的动态神经网络进行建模,能够在闪存芯片的使用过程中实时在线训练和优化闪存可靠性等级预测模型的相关参数,并得到预测范围较广和预测结果较为准确的预测模型,具有良好的使用灵活度。此外,本方法通过对闪存的可靠性等级进行在线分类,可以帮助闪存使用者提前了解闪存的耗损程度,进而及时调整闪存的存储策略,能够有效避免因为闪存可靠性问题而带来的数据流失。

进一步的,下面结合一个具体的实例对上述实施例提出的方法进行具体描述,可以理解的是,下述所举实例只用于解释本发明,并非用于限定本发明的范围。

图2为本实施例通过动态神经网络分类预测闪存可靠性等级的流程示意图,图2中所示分类预测流程适用于所有类型的闪存,下面以市面上一种MLC NAND Flash闪存为实施例,介绍特征量采集,预测模型建立优化的步骤,对图2作详细的解释说明。

步骤一,由闪存测试装置采集闪存芯片的特征量。

本实施例中,对闪存芯片采集特征量的步骤为:

步骤(1):将闪存芯片放置在闪存测试装置中,配置闪存信息,测试信息,测试图样。

步骤(2):闪存测试装置对闪存芯片先进行块擦除操作,然后根据所选测试图样进行页编程操作,写入数据。

步骤(3):闪存测试装置对闪存芯片进行读数据操作,通过与编程操作写入的测试图样比对得到页原始错误比特数,同时采集闪存芯片的读取时间。

步骤(4):闪存测试装置记录闪存芯片的P/E周期数,记作Cpe,并在每一次P/E操作后进行更新:Cpe=Cpe+1;。

本实施例中,采集的样本闪存芯片特征量包括:闪存块的页原始错误比特数,闪存块当前已经历的编程-擦除周期数,闪存块的读取时间。

步骤二:对步骤一得到的特征量采集结果进行运算操作,保存特征量运算操作结果,构建建立模型所需的闪存芯片数据集合。

本实施例中,选择将闪存芯片的页原始错误比特数等级作为芯片的可靠性等级。

本实施例中,对样本闪存芯片特征量的运算操作包括:对闪存块内所有页的页原始错误比特数取算数平均数(

步骤三:取步骤二得到的芯片特征量数据集合中的子集作为神经网络的输入,训练初始预测模型,并得到T

本实施例中,利用神经网络建立模型的步骤如下:

步骤(1):初始化人工神经网络,令时间点(Epoch)等于1。定义人工神经网络的输入输出个数,同时设置训练终止条件。本实施例中的人工神经网络输入个数为5,输出个数为1;训练终止条件为训练误差与测试误差均小于1或时间点大于1000。本实施例中采用的初始化人工神经网络为:激活函数为sigmod函数,隐藏层(hidden layer)数为100,连接权和阈值在(0,1)范围内随机初始化的前馈人工神经网络。Sigmod函数的表达式为:

步骤(2):随机选择30%的数据集做为测试集,剩余70%的数据用于模型训练;

步骤(3):使用五折交叉验证法训练模型,将预处理后的数据分为5个大小相近的互斥子集,每次选择4个子集的并集做为训练集,另一个子集为验证集,训练集输入模型计算误差损失函数,从后往前调整各层权值和阈值,连续训练200Epoch,得到模型的各个神经元的连接权值和阈值。进行5次上述训练,训练结果取平均值;

步骤(4):用测试集输入模型计算测试误差,当测试误差和训练误差都较小时,训练终止输出模型,否则回到步骤(1)重新训练。

图3为本实施例利用神经网络建立预测模型的流程示意图。

步骤四:对闪存芯片进行T

步骤五:比较可靠性等级预测值Y

进一步的,作为图1至图3所示方法的具体实现,本实施例提供了一种基于动态神经网络的闪存可靠性等级在线预测装置,如图4所示,该装置包括:特征量采集模块31、数据集合构建模块32、预测模型训练模块33、模型参数调整模块34和预测结果输出模块35。

特征量采集模块31,可用于对待预测闪存芯片进行闪存操作,并在闪存操作过程中采集待预测闪存芯片的至少一种特征量;

数据集合构建模块32,可用于对待预测闪存芯片的至少一种特征量进行运算操作,得到待预测闪存芯片的特征运算值,依据待预测闪存芯片的特征量和待预测闪存芯片的特征运算值,建构待预测闪存芯片的数据集合;

预测模型训练模块33,可用于将待预测闪存芯片的数据集合中的第一子集作为动态神经网络的输入,运行动态神经网络,得到第一闪存可靠性等级预测模型,并通过第一闪存可靠性等级预测模型得到初始可靠性等级预测结果;

模型参数调整模块34,可用于根据初始可靠性等级预测结果和待预测闪存芯片的实际可靠性等级测试结果,优化第一闪存可靠性等级预测模型的模型参数,得到第二闪存可靠性等级预测模型;

预测结果输出模块35,可用于将待预测闪存芯片数据集合中的第二子集输入到第二闪存可靠性等级预测模型中,得到待预测闪存芯片的可靠性等级的预测结果。

在具体的应用场景中,所述待预测闪存芯片的特征量包括以下特征量中的一种或多种:闪存芯片各闪存操作的时间、各闪存操作时的电流、芯片功耗、阈值电压分布及电压变化量、闪存块编号、闪存页编号、当前编程-擦除周期数、闪存块中条件错误页数、条件错误块数、原始错误比特数和原始错误比特率。

在具体的应用场景中,所述特征量采集模块31,具体可用于通过闪存测试装置采集所述待预测闪存芯片的当前编程-擦除周期数;对所述待预测闪存芯片执行擦除操作和编辑操作,并通过所述闪存测试装置采集所述待预测闪存芯片执行编辑操作时的电流、功耗,以及所述待预测闪存芯片各个页面的编程时间和所述编程时间对应的存储块号和存储页号;对所述待预测闪存芯片执行读取操作,并通过闪存测试装置采集所述待预测闪存芯片执行读取操作时的阈值电压分布、电流、功耗以及所述待预测闪存芯片各个页面的读取时间;将所述读取操作得到的数据与所述编辑操作对应的数据进行比较,得到所述待预测闪存芯片的条件错误页数、条件错误块数、原始错误比特数和原始错误比特率。

在具体的应用场景中,所述待预测闪存芯片的特征量的运算操作方法包括以下运算操作方法中的一种或多种:特征量的线性运算、特征量的非线性运算、不同特征量间的线性运算、不同特征量间的非线性运算、计算不同存储页面特征量的最大值、计算不同存储页面特征量的最小值、不同存储页面特征量之间的线性运算、不同存储页面特征量之间的非线性运算、不同存储块特征量之间的线性运算、不同存储块特征量之间的非线性运算、计算不同存储块特征量的最大值和计算不同存储块特征量的最小值。

在具体的应用场景中,所述预测模型训练模块33,具体可用于初始化动态神经网络,并设置动态神经网络的各个神经元的连接权值和阈值;将待预测闪存芯片的数据集合中的第一子集划分为多个互斥子集,其中,多个互斥子集中包含训练子集和验证子集;分别多次将训练子集输入到动态神经网络中,计算得到误差损失函数,并得到动态神经网络的各个神经元的连接权值和阈值;将验证子集输入到动态神经网络中,得到训练误差值和测试误差值;当训练误差值和测试误差值均小于预设误差阈值时,输出第一闪存可靠性等级预测模型。

在具体的应用场景中,所述初始可靠性等级预测结果包括T

在具体的应用场景中,编程-擦除操作周期数T

在具体的应用场景中,待预测闪存芯片的可靠性等级的预测结果中包括以下结果中的一种或多种:待预测闪存芯片的当前错误比特数量等级、待预测闪存芯片的当前错误比特率等级、T

需要说明的是,本实施例提供的一种基于动态神经网络的闪存可靠性等级在线预测装置所涉及各功能单元的其它相应描述,可以参考图1至图3中的对应描述,在此不再赘述。

基于上述如图1至图3所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1至图3所示的基于动态神经网络的闪存可靠性等级在线预测方法。

基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该待识别软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

基于上述如图1至图3所示的方法,以及图4所示的基于动态神经网络的闪存可靠性等级在线预测装置实施例,为了实现上述目的,本实施例还提供了一种基于动态神经网络的闪存可靠性等级在线预测的实体设备,具体可以为个人计算机、服务器、智能手机、平板电脑、智能手表、或者其它网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图3所示的方法。

可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。

本领域技术人员可以理解,本实施例提供的一种基于动态神经网络的闪存可靠性等级在线预测的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和待识别软件资源的程序,支持信息处理程序以及其它待识别软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,对待预测闪存芯片进行闪存操作,并在闪存操作过程中采集待预测闪存芯片的至少一种特征量;对待预测闪存芯片的至少一种特征量进行运算操作,得到待预测闪存芯片的特征运算值,依据待预测闪存芯片的特征量和待预测闪存芯片的特征运算值,建构待预测闪存芯片的数据集合;将待预测闪存芯片的数据集合中的第一子集作为动态神经网络的输入,运行动态神经网络,得到第一闪存可靠性等级预测模型,并通过第一闪存可靠性等级预测模型得到初始可靠性等级预测结果;根据初始可靠性等级预测结果和待预测闪存芯片的实际可靠性等级测试结果,优化第一闪存可靠性等级预测模型的模型参数,得到第二闪存可靠性等级预测模型;将待预测闪存芯片数据集合中的第二子集输入到第二闪存可靠性等级预测模型中,得到待预测闪存芯片的可靠性等级的预测结果。与现有技术相比,上述方法可以有效的提高闪存可靠性等级预测模型的预测准确度和预测灵活度,能够有效避免因为闪存可靠性问题而带来的数据流失。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号