闪存块的寿命预测方法、闪存设备及存储介质与流程

文档序号:33504233发布日期:2023-03-17 23:11阅读:43来源:国知局
1.本技术涉及存储设备应用领域,特别是涉及一种闪存块的寿命预测方法、闪存设备及存储介质。
背景技术
::2.闪存设备,例如:固态硬盘(solidstatedrives,ssd),是一种以半导体闪存(nandflash)作为介质的存储设备,在固态硬盘的生命周期中,固态硬盘的寿命是由nand介质的寿命,即擦除次数(program/erasecycle,p/ecycle)来决定的。3.然而,由于nand介质的寿命与介质厂家的技术、工艺等密切相关,使得所有的nand介质颗粒都存在相同的问题:同一片nand颗粒上不同的闪存块(block)的寿命不是完全一样的。因此会导致同样的p/ecycle下,有的block的剩余寿命较大,而有的block的剩余寿命很小,甚至早早磨损过度,导致数据读取失败。4.现有技术通常在对block数据读取失败时,采用raid(redundantarraysofindependentdisks)纠错技术来进行数据恢复,但是在恢复数据的过程中,如果经过重试(retry)机制和深度重试(deepretry)机制等尝试,还是无法得到正确的数据,那么需要读出相同raid条带的剩余位置的数据和奇偶校验位的数据,进行raid恢复,效率低,并耗费大量的时间。技术实现要素:5.本技术实施例提供一种闪存块的寿命预测方法、闪存设备及存储介质,能够对闪存块的剩余寿命进行准确预测,以便于根据闪存块的寿命预测结果搬移数据,提高闪存设备整体的稳定性和可靠性。6.为解决上述技术问题,本技术实施例提供以下技术方案:7.第一方面,本技术实施例提供一种闪存块的寿命预测方法,应用于闪存设备,闪存设备包括闪存介质,方法包括:8.获取闪存介质中的每一闪存块中的每一数据页的比特位的数据情况;9.根据比特位的数据情况,确定每一数据页的比特位分布波形特征;10.根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命。11.在一些实施例中,方法还包括:12.若闪存介质中的任意一个闪存块的预测剩余寿命小于预期剩余寿命阈值,将该闪存块确定为第一闪存块,并将第一闪存块的数据搬移至第二闪存块中,其中,第二闪存块的预测剩余寿命不小于预期剩余寿命阈值。13.在一些实施例中,比特位的数据情况包括比特位的值为0和/或比特位的值为1的数据情况;14.获取闪存介质中的每一闪存块中的每一数据页的比特位的数据情况,包括:15.获取在不同的参考电压下每一闪存块中的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目。16.在一些实施例中,获取在不同的参考电压下每一闪存块中的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目,包括:17.计算每两个相邻参考电压下的数据页中的比特位的值为0的数据的数目的差值或比特位的值为1的数据的数目的差值,得到在不同的参考电压下的数据页中的比特位的值为0的数据的数目的差值的分布情况或比特位的值为1的数据的数目的差值的分布情况,其中,差值的分布情况由波形图表示。18.在一些实施例中,获取在不同的参考电压下每一闪存块中的每一数据页的比特位的值为0的数据或比特位的值为1的数据的数目,包括:19.读取每一数据页中的每一存储单元对应的电压;20.若存储单元对应的电压大于或等于参考电压,则确定存储单元的比特位的值为0;21.若存储单元对应的电压小于参考电压,则确定存储单元的比特位的值为1;22.对不同的参考电压分别执行上述步骤,以获取在每一参考电压下,每一闪存块中的每一数据页的比特位的值为0的数据或比特位的值为1的数据的数目。23.在一些实施例中,根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命,包括:24.根据每一数据页的比特位分布波形特征,确定闪存块的介质状态反映指标;25.根据闪存块的介质状态反映指标,得到闪存块的预测剩余寿命。26.在一些实施例中,根据闪存块的介质状态反映指标,得到闪存块的预测剩余寿命,包括:27.获取闪存块在不同擦写次数下的介质状态反映指标;28.将闪存块的介质状态反映指标与闪存块在不同擦写次数下的介质状态反映指标进行比对,得到闪存块的预测擦写次数;29.根据闪存块的预测擦写次数与预期寿命,计算闪存块的预测剩余寿命。30.在一些实施例中,方法还包括:31.若闪存块的预测剩余寿命小于预期剩余寿命阈值,则确定闪存块对应的标记信息为故障或高风险。32.第二方面,本技术实施例提供一种闪存设备,包括:33.至少一个处理器;和34.与至少一个处理器通信连接的存储器;其中,35.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面的闪存块的寿命预测方法。36.第三方面,本技术实施例还提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,当计算机可执行指令被处理器所执行时,使处理器执行如第一方面的闪存块的寿命预测方法。37.本技术实施例的有益效果是:区别于现有技术的情况下,本技术实施例提供的一种闪存块的寿命预测方法,应用于闪存设备,闪存设备包括闪存介质,方法包括:获取闪存介质中的每一闪存块中的每一数据页的比特位的数据情况;根据比特位的数据情况,确定每一数据页的比特位分布波形特征;根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命。通过根据比特位的数据情况,确定每一数据页的比特位分布波形特征,并根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命,本技术能够对闪存块的寿命进行准确预测,以便于根据闪存块的寿命预测结果搬移数据,提高闪存设备整体的稳定性和可靠性。附图说明38.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。39.图1是本技术实施例提供的一种闪存设备的结构示意图;40.图2是本技术实施例提供的一种闪存块的寿命预测方法的流程示意图;41.图3是图2中的步骤s201的细化流程图;42.图4是图3中的步骤s211的细化流程图;43.图5a是本技术实施例提供的一种闪存介质生命初期的比特位的数据情况的示意图;44.图5b是本技术实施例提供的一种闪存介质生命末期的比特位的数据情况的示意图;45.图6是图2中的步骤s202的细化流程图;46.图7是图2中的步骤s203的细化流程图;47.图8是图7中的步骤s232的细化流程图;48.图9是本技术实施例提供的一种确定闪存块对应的标记信息的流程示意图;49.图10是本技术实施例提供的一种对闪存块进行数据搬移的示意图;50.图11是本技术实施例提供的一种闪存设备的结构示意图。具体实施方式51.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。52.需要说明的是,如果不冲突,本技术实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本技术所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。53.下面结合说明书附图具体说明本技术的技术方案:54.请参阅图1,图1是本技术实施例提供的一种闪存设备的结构示意图;55.如图1所示,闪存设备100包括闪存介质110以及与闪存介质110连接的控制器120。其中,闪存设备100通过有线或无线的方式与主机200通信连接,用以实现数据交互。56.闪存介质110,作为闪存设备100的存储介质,也称作闪存、nandflash、flash存储器或flash颗粒,属于存储器件的一种,是一种非易失性存储器,在没有电流供应的条件下也能够长久地保存数据,其存储特性相当于硬盘,使得闪存介质110得以成为各类便携型数字设备的存储介质的基础。57.控制器120,包括数据转换器121、处理器122、缓存器123、闪存控制器124以及接口125。58.数据转换器121,分别与处理器122和闪存控制器124连接,数据转换器121用于将二进制数据转换为十六进制数据,以及将十六进制数据转换为二进制数据。具体地,当闪存控制器124向闪存介质110写入数据时,通过数据转换器121将待写入的二进制数据转换为十六进制数据,然后再写入闪存介质110。当闪存控制器124从闪存介质110读取数据时,通过数据转换器121将闪存介质110中存储的十六进制数据转换为二进制数据,然后从二进制数据页寄存器中读取转换后的数据。其中,数据转换器121可以包括二进制数据寄存器和十六进制数据寄存器。二进制数据寄存器可以用于保存由十六进制转换为二进制后的数据,十六进制数据寄存器可以用于保存由二进制转换为十六进制后的数据。59.处理器122,分别与数据转换器121、缓存器123、闪存控制器124以及接口125连接,其中,处理器122与数据转换器121、缓存器123、闪存控制器124以及接口125可以通过总线或者其他方式连接,处理器用于运行存储在缓存器123中的非易失性软件程序、指令以及模块,从而实现本技术任一方法实施例。在此基础上,通过固件开发,还用于负责闪存转换层(flashtranslationlayer,ftl)的核心处理。60.缓存器123,主要用于缓存主机200发送的读/写指令以及根据主机200发送的读/写指令从闪存介质110获取的读数据或者写数据。61.闪存控制器124,与闪存介质110、数据转换器121、处理器122以及缓存器123连接,用于访问后端的闪存介质110,管理闪存介质110的各种参数和数据i/o。62.接口125,连接主机200以及数据转换器121、处理器122以及缓存器123,用于接收主机200发送的数据,或者,接收处理器122发送的数据,实现主机200与处理器122之间的数据传输,接口125可以为sata-2接口、sata-3接口、sas接口、msata接口、pci-e接口、ngff接口、cfast接口、sff-8639接口和m.2nvme/sata协议。63.目前,闪存介质的寿命主要在出厂时由闪存介质厂家以颗粒指标的方式给出,闪存介质的寿命与介质厂家的技术、工艺等密切相关。但所有的闪存介质颗粒都有一致性的问题,也就是同一片闪存颗粒上不同的闪存块(block)的寿命也不是完全一样的,这同样与厂家的技术、工艺相关。64.在闪存设备的生命周期中,固件会记录每个闪存块的擦写次数,并作为闪存介质寿命的评估依据,但实际上,这个擦写次数并不总是准确的。在相同的擦写次数下,可能某些闪存块比其他闪存块更容易老化,其预期剩余寿命是缩短的,这样就会导致这些闪存块上的数据读取失败。65.因此,在出现闪存块上的数据读取失败的时候,通常采用raid技术进行数据恢复,但是在数据恢复的过程中,需要读取数据并进行解码,发生解码失败之后需要再次发送诊断读并通过解码器获取错误比特数目,效率低且耗费时间和计算资源。66.基于此,本技术实施例提供一种闪存块的寿命预测方法,以对闪存块的寿命进行预测,便于根据闪存块的寿命预测结果搬移数据,从而更好地提高固态硬盘的稳定性和可靠性。67.请参阅图2,图2是本技术实施例提供的一种闪存块的寿命预测方法的流程示意图;68.其中,该闪存块的寿命预测方法,应用于闪存设备,闪存设备包括闪存介质。69.如图2所示,该闪存块的寿命预测方法,包括:70.步骤s201:获取闪存介质中的每一闪存块中的每一数据页的比特位的数据情况;71.可以理解的是,闪存介质由多个闪存块(block)构成,每一闪存块由多个数据页(page)构成,每一数据页的比特位的数据包括比特位的值为0的数据或比特位的值为1的数据,比特位的数据情况包括比特位的值为0和/或比特位的值为1的数据情况。72.具体的,请再参阅图3,图3是图2中的步骤s201的细化流程图;73.如图3所示,该步骤s201:获取闪存介质中的每一闪存块中的每一数据页的比特位的数据情况,包括:74.步骤s211:获取在不同的参考电压下每一闪存块中的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目。75.可以理解的是,大部分闪存介质在出厂时的阈值电压都在0附近,如果闪存介质发生了磨损,阈值电压一般会向左偏移,此时,阈值电压为负值。随着闪存介质的使用,闪存介质内部存储的数据页里比特位的值为0的数据或比特位的值为1的数据的分布会随着阈值电压的偏移而发生变化,因此,合适的读操作电压也会随着阈值电压的偏移而发生变化。76.具体的,根据厂家生产的闪存介质的技术规格确定参考电压的区间范围,使用在该区间范围内的不同的参考电压作为读操作电压读取每一闪存块中的每一数据页,获取每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目。77.例如:厂家生产的闪存介质的技术规格里将在[2.4v,3.3v]区间内的阈值电压对应的数据的比特位的值判定为比特1,将在[3.3v,4.3v]区间内的阈值电压对应的数据的比特位的值判定为比特0,则参考电压的区间范围小于厂家生产的闪存介质的技术规格里的比特1和比特0对应的阈值电压的总区间范围([2.4v,3.3v]区间与[3.3v,4.3v]区间构成的[2.4v,4.3v]总区间范围),参考电压的区间范围可以设置为[2.7v,3.8v]。[0078]可以理解的是,在使用不同的参考电压作为读操作电压读取每一闪存页的数据时,比特位的值为0的数据的数目或比特位的值为1的数据的数目会发生变化。[0079]具体的,请再参阅图4,图4是图3中的步骤s211的细化流程图;[0080]在本技术实施例中,闪存介质包括读取内部电路,该读取内部电路用于读取每一存储单元对应的电压。[0081]如图4所示,该步骤s211:获取在不同的参考电压下每一闪存块中的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目,包括:[0082]步骤s2111:读取每一数据页中的每一存储单元对应的电压;[0083]具体的,闪存设备通过读取内部电路读取每一数据页中的每一存储单元对应的电压,其中,每一存储单元包括比特位的值为0的数据或比特位的值为1的数据。[0084]步骤s2112:若存储单元对应的电压大于或等于参考电压,则确定存储单元的比特位的值为0;[0085]步骤s2113:若存储单元对应的电压小于参考电压,则确定存储单元的比特位的值为1;[0086]步骤s2114:对不同的参考电压分别执行上述步骤,以获取在每一参考电压下,每一闪存块中的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目。[0087]具体的,选取在参考电压的区间范围内的不同的参考电压作为读操作电压,比较每一数据页中的每一存储单元对应的电压与该读操作电压的大小,获取在每一参考电压下,每一闪存块中的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目。[0088]例如:对于闪存介质的某个闪存块b的数据页p,指定参考电压v,下发读取原始数据命令read_raw(b,p,v),得到在参考电压v下pagep的比特位的值为0或者比特位的值为1的数目n,并将该数目缓存到闪存设备的缓冲区;改变参考电压为v1,再次下发读取原始数目命令,得到在参考电压v1下数据页p的比特位的值为0或者比特位的值为1的数目n1;在参考电压的区间范围内依次改变参考电压为v2、v3、v4、v5,……,vx,分别得到对应的比特位的值为0的数据的数目或者比特位的值为1的数据的数目n2、n3、n4、n5,……,nx。[0089]在一些实施例中,获取在不同的参考电压下每一闪存块中的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目,包括:[0090]计算每两个相邻参考电压下的数据页中的比特位的值为0的数据的数目的差值或比特位的值为1的数据的数目的差值,得到在不同的参考电压下的数据页中的比特位的值为0的数据的数目的差值的分布情况或比特位的值为1的数据的数目的差值的分布情况。[0091]具体的,计算每两个相邻参考电压下的数据页中的比特位的值为0的数据的数目的差值,得到在不同的参考电压下的数据页中的比特位的值为0的数据的数目的差值的分布情况;或者,计算每两个相邻参考电压下的数据页中的比特位的值为1的数据的数目的差值,得到在不同的参考电压下的数据页中的比特位的值为1的数据的数目的差值的分布情况,其中,差值的分布情况由波形图表示。[0092]例如:对参考电压分别为v1、v2、v3、v4、v5,……,vx对应的比特位的值为0的数目n1、n2、n3、n4、n5,……,nx进行差分处理,得到每两个相邻参考电压下的数据页中的比特位的值为0的数据的数目的差值d1、d2、d3、d4、d5,……,dx-1,将这组差值与对应的参考电压进行图示,得到在不同的参考电压下的数据页中的比特位的值为0的数据的数目的差值的分布情况,即每两个相邻参考电压下的每一数据页的比特位的值为0的数据的数目的差值与对应的参考电压的波形图。[0093]或者,对参考电压分别为v1、v2、v3、v4、v5,……,vx对应的比特位的值为1的数目n1、n2、n3、n4、n5,……,nx进行差分处理,得到每两个相邻参考电压下的数据页中的比特位的值为1的数据的数目的差值d1、d2、d3、d4、d5,……,dx-1,将这组差值与对应的参考电压进行图示,得到在不同的参考电压下的数据页中的比特位的值为1的数据的数目的差值的分布情况,即每两个相邻参考电压下的每一数据页的比特位的值为1的数据的数目的差值与对应的参考电压的波形图。[0094]请参阅图5a,图5a为本技术实施例提供的一种闪存介质生命初期的比特位的数据情况的示意图;[0095]如图5a所示,在闪存介质生命初期,闪存介质内部存储的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目随着参考电压变化的分布较一致。[0096]可以理解的是,在闪存介质生命初期,由于介质的存储单元的氧化层禁锢电子的能力强,同一个闪存块内部的一个数据页内部几乎所有存储单元的电荷都没有流失或者极少流失,当参考电压逐步变化时,读出来的数据中的比特位的值为0的数据的数目或比特位的值为1的数据的数目的变化是集中的,所以闪存介质内部存储的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目随着参考电压变化的分布较一致。[0097]请再参阅图5b,图5b为本技术实施例提供的一种闪存介质生命末期的比特位的数据情况的示意图;[0098]如图5b所示,在闪存介质生命末期,闪存介质内部存储的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目随着参考电压变化的分布不一致。[0099]可以理解的是,在闪存介质生命末期或者闪存介质经过了一定的磨损以后,随着介质的存储单元的氧化层禁锢电子的能力下降,介质存储单元中的电子比较容易流失(导致对应的阈值电压下降),会导致闪存介质内部存储的每一数据页的比特位的值为0的数据的数目或比特位的值为1的数据的数目随着参考电压的变化的分布情况如图5b所示,这个时候用某个参考电压去读取,就有可能读取到错误的数据(比特位的值为0的数据读成比特位的值为1的数据或者反过来),反映到波形上就是保持比特位的值为0的数据的数目或者比特位的值为1的数据的数目不变的电压分界区域变小了或者甚至这个分界区域消失了。[0100]步骤s202:根据比特位的数据情况,确定每一数据页的比特位分布波形特征;[0101]具体的,根据不同参考电压下的比特位的值为0或1的数据的数目,确定每一数据页的比特位分布波形特征,其中,比特位分布波形特征反映闪存介质的状态,比特位分布波形特征包括最佳参考电压、电压幅值、波谷位置、偏离正态分布的程度中的至少一种。[0102]具体的,请一并参阅图5b和图6,图6是图2中的步骤s202的细化流程图;[0103]如图6所示,该步骤s202:根据比特位的数据情况,确定每一数据页的比特位分布波形特征,包括:[0104]步骤s2021:根据不同参考电压下的比特位的值为0或1的数据的数目,确定每一数据页的比特位分布波形特征。[0105]具体的,根据不同参考电压下的比特位的值为0或1的数据的数目,确定每一数据页的比特位分布波形特征,其中,比特位分布波形特征反映闪存介质的状态,比特位分布波形特征包括最佳参考电压、电压幅值、波谷位置、偏离正态分布的程度中的至少一种。[0106]或者,根据每两个相邻参考电压下的每一数据页的比特位的值为0的数据的数目的差值与对应的参考电压的波形图,确定每一数据页的比特位分布波形特征,其中,比特位分布波形特征包括参考电压的比特位的值为0或1的计数的分布图形的特征,例如:最佳参考电压、电压幅值、波谷位置、偏离正态分布的程度中的至少一种。[0107]具体的,每两个相邻参考电压下的每一数据页的比特位的值为0的数据的数目的差值与对应的参考电压的波形图如图5b所示,在该波形图中,波谷(图中两个波形之间的部分,即在横坐标轴上的图形)对应的参考电压即为最佳参考电压,该最佳参考电压即该数据页对应的最合适的读操作电压。[0108]或者,根据每两个相邻参考电压下的每一数据页的比特位的值为1的数据的数目的差值与对应的参考电压的波形图,确定每一数据页的比特位分布波形特征,其中,比特位分布波形特征包括最佳参考电压。[0109]在本技术实施例中,根据每两个相邻参考电压下的每一数据页的比特位的值为1的数据的数目的差值与对应的参考电压的波形图确定最佳参考电压的方法,与根据每两个相邻参考电压下的每一数据页的比特位的值为0的数据的数目的差值与对应的参考电压的波形图确定最佳参考电压的方法相同,在此不再赘述。[0110]可以理解的是,当使用合适的读操作电压来读取闪存介质的数据页中的数据时,读取到的比特位的值为0的数据的数目和比特位的值为1的数据的数目大致相等,表现在波形图中,每两个相邻参考电压下的每一数据页的比特位的值为1的数据的数目的差值与对应的参考电压的波形图,和每两个相邻参考电压下的每一数据页的比特位的值为0的数据的数目的差值与对应的参考电压的波形图,大致相同,两张波形图的波谷(图中两个波形之间的部分,即在横坐标轴上的图形)对应的参考电压即最佳参考电压是相同的。[0111]步骤s203:根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命。[0112]具体的,预测剩余寿命以擦写次数进行表征。[0113]具体的,请再参阅图7,图7是图2中的步骤s203的细化流程图;[0114]如图7所示,该步骤s203:根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命,包括:[0115]步骤s231:根据每一数据页的比特位分布波形特征,确定闪存块的介质状态反映指标;[0116]具体的,对该闪存块内的所有数据页的比特位分布波形特征取交集,得到闪存块的介质状态反映指标,其中,闪存块的介质状态反映指标包括取交集后的比特位分布波形特征,例如:波形的高矮胖瘦等形状特征,或者,波谷位置、波峰位置等位置特征。[0117]例如:将该闪存块内的所有数据页的最佳参考电压划分为n个集合,其中,n为数据页的个数,对这n个最佳参考电压对应的集合取交集,得到闪存块的最佳参考电压,其中,闪存块的介质状态反映指标包括闪存块的最佳参考电压。[0118]在本技术实施例中,方法还包括:[0119]根据每两个相邻参考电压下的每一数据页的比特位的值为0的数据的数目的差值或比特位的值为1的数据的数目的差值与对应的参考电压的波形图,得到每两个相邻参考电压下的所有数据页的比特位的值为0的数据的数目的差值的平均值或比特位的值为1的数据的数目的差值的平均值与对应的参考电压的波形图,并确定该波形图中的最佳参考电压,该波形图中的最佳参考电压即为闪存块的介质状态反映指标。[0120]步骤s232:根据闪存块的介质状态反映指标,得到闪存块的预测剩余寿命。[0121]具体的,根据闪存块的介质状态反映指标以及该闪存块在不同擦写次数下的介质状态反映指标,得到闪存块的预测剩余寿命,其中,预测剩余寿命以擦写次数进行表征。[0122]具体的,请再参阅图8,图8是图7中的步骤s232的细化流程图;[0123]如图8所示,该步骤s232:根据闪存块的介质状态反映指标,得到闪存块的预测剩余寿命,包括:[0124]步骤s2321:获取闪存块在不同擦写次数下的介质状态反映指标;[0125]具体的,间隔预设擦写次数获取闪存块中的每一数据页的比特位的数据情况,并根据在不同擦写次数下的数据情况,确定在不同擦写次数下的每一数据页的比特位分布波形特征,然后根据在不同擦写次数下的每一数据页的比特位分布波形特征,确定闪存块在不同擦写次数下的的介质状态反映指标。[0126]例如:预设擦写次数为500次,那么每隔500次获取闪存块的介质状态反映指标,分别得到擦写次数为500次时的闪存块的介质状态反映指标、擦写次数为1000时的闪存块的介质状态反映指标,……,擦写次数为8500时的闪存块的介质状态反映指标、擦写次数为9000时的闪存块的介质状态反映指标,……。[0127]在本技术实施例中,可以通过随机选取一定数目的闪存块,获取每一闪存块在不同擦写次数下的介质状态反映指标,对所有闪存块在同一擦写次数下的介质状态反映指标求平均值,作为闪存块在该擦写次数下的介质状态反映指标,从而得到闪存块在不同擦写次数下的介质状态反映指标。[0128]步骤s2322:将闪存块的介质状态反映指标与闪存块在不同擦写次数下的介质状态反映指标进行比对,得到闪存块的预测擦写次数;[0129]具体的,将闪存块的介质状态反映指标与闪存块在不同擦写次数下的介质状态反映指标进行比对,将闪存块的介质状态反映指标与闪存块在不同擦写次数下的介质状态反映指标中重合度最高的那个介质状态反映指标对应的擦写次数作为闪存块的预测擦写次数。[0130]例如:将闪存块的介质状态反映指标分别与擦写次数为500次时的闪存块的介质状态反映指标、擦写次数为1000次时的闪存块的介质状态反映指标,……,擦写次数为8500次时的闪存块的介质状态反映指标,……,进行比对,若闪存块的介质状态反映指标与擦写次数为1000次时的闪存块的介质状态反映指标重合度最高,则闪存块的预测擦写次数为1000次。[0131]可以理解的是,闪存块对应一个实际擦写次数,该实际擦写次数记录在闪存设备的内部,对于一个正常的闪存块,其预测擦写次数应该与实际擦写次数相差不大,但是对于存在潜在隐患的闪存块,其预测擦写次数会大于实际擦写次数,此时需要对该存在潜在隐患的闪存块进行处理。[0132]步骤s2323:根据闪存块的预测擦写次数与预期寿命,计算闪存块的预测剩余寿命。[0133]具体的,闪存介质在出厂时会有一个厂家给出的预期寿命,预期寿命以擦写次数进行表征,根据闪存块的预测擦写次数与预期寿命,按照下述公式计算得到闪存块的预测剩余寿命:[0134]闪存块的预测剩余寿命=预期寿命-闪存块的预测擦写次数[0135]其中,闪存块的预测剩余寿命以擦写次数进行表征。[0136]请参阅图9,图9是本技术实施例提供的一种确定闪存块对应的标记信息的流程示意图;[0137]具体的,闪存块对应一个标记信息,该标记信息用于标记闪存块的风险状态,该闪存块的风险状态包括:正常使用、高风险或故障。[0138]若闪存块的预测剩余寿命小于预期剩余寿命阈值,则表明该闪存块存在严重的读取不可纠正的ecc编码错误(uncorrectableerrorcorrectingcodeerror,unc)风险,这个闪存块不应该再被使用,确定闪存块对应的标记信息为故障或高风险。[0139]如图9所示,确定闪存块对应的标记信息的流程,包括:[0140]步骤s901:根据闪存块的预测擦写次数与预期寿命,计算闪存块的预测剩余寿命;[0141]具体的,闪存块的预测剩余寿命=预期寿命-闪存块的预测擦写次数,例如:预期寿命以擦写次数进行表征,某一闪存块的预期寿命为10000次,根据该闪存块的每一数据页的比特位分布波形特征确定的预测擦写次数为9000次,则该闪存块的预测剩余寿命为:10000次-9000次=1000次。[0142]步骤s902:预测剩余寿命是否小于预期剩余寿命阈值;[0143]具体的,预期剩余寿命阈值以擦写次数进行表征,该预期剩余寿命阈值为预先设置的剩余擦写次数阈值,例如:该剩余擦写次数阈值为500次,此时:若该闪存块的预测剩余寿命对应的擦写次数为1000次,则预测剩余寿命大于预期剩余寿命阈值;若该闪存块的预测剩余寿命对应的擦写次数为400次,则预测剩余寿命小于预期剩余寿命阈值。[0144]若预测剩余寿命小于预期剩余寿命阈值,则进入步骤s903;[0145]若预测剩余寿命不小于预期剩余寿命阈值,则进入步骤s906。[0146]步骤s903:预测剩余寿命是否小于零;[0147]具体的,若预测剩余寿命小于预期剩余寿命阈值,则进一步判断预测剩余寿命是否小于零,若预测剩余寿命小于零,则进入步骤s905;若预测剩余寿命不小于零,则进入步骤s904。[0148]步骤s904:确定闪存块对应的标记信息为高风险;[0149]具体的,若预测剩余寿命≥零,并且,预测剩余寿命小于预期剩余寿命阈值,则确定闪存块对应的标记信息为高风险。可以理解的是,若闪存块对应的标记信息为高风险,此时若继续向该闪存块中写入数据,则写入的数据可能发生数据错误或者不可靠的问题,因此,此时需要对该闪存块进行数据搬移。[0150]步骤s905:确定闪存块对应的标记信息为故障;[0151]具体的,若预测剩余寿命<零,则确定闪存块对应的标记信息为故障。可以理解的是,若预测剩余寿命<零,则意味着该闪存块的擦写次数已经超额,此时将该闪存块设置为故障,即不可以再向该闪存块中写入数据。[0152]步骤s906:确定闪存块对应的标记信息为正常使用。[0153]具体的,若闪存块的预测剩余寿命不小于预期剩余寿命阈值,则确定闪存块对应的标记信息为正常使用,此时可以正常向该闪存块写入数据。[0154]请参阅图10,图10是本技术实施例提供的一种对闪存块进行数据搬移的流程示意图;[0155]在本技术实施例中,在确定闪存块的预测剩余寿命之后,根据闪存块的预测剩余寿命与预期剩余寿命阈值的大小,确定是否搬移闪存块内的数据。[0156]如图10所示,对闪存块进行数据搬移的流程,包括:[0157]步骤s1001:若闪存介质中的任意一个闪存块的预测剩余寿命小于预期剩余寿命阈值,将该闪存块确定为第一闪存块,并将第一闪存块的数据搬移至第二闪存块中。[0158]具体的,第二闪存块的预测剩余寿命不小于预期剩余寿命阈值,例如:预期剩余寿命阈值为生产闪存介质的厂家给出的预期寿命的10%,若闪存介质中的任意一个闪存块的预测剩余寿命小于预期剩余寿命阈值,则表明该闪存块存在严重的读取unc风险,将该闪存块确定为第一闪存块,并将第一闪存块的数据搬移至第二闪存块中,其中,第二闪存块的预测剩余寿命不小于预期剩余寿命阈值。[0159]或者,若闪存介质中的任意一个闪存块的预测擦写次数大于或等于预期寿命的90%,则表明该闪存块存在严重的读取unc风险,将该闪存块确定为第一闪存块,并将第一闪存块的数据搬移至第二闪存块中,其中,第二闪存块的预测擦写次数小于预期寿命的90%。优选地,第二闪存块为闪存介质中擦写次数最小的可用闪存块。[0160]例如:厂家给出的预期寿命对应的擦写次数为9000次,记录到的闪存块的实际擦写次数是7000次,但是闪存块的预测擦写次数为9200次,其预测擦写次数大于预期寿命的90%,将该闪存块确定为第一闪存块,并将第一闪存块的数据搬移至第二闪存块中,其中,第二闪存块的预测擦写次数小于预期寿命的90%。[0161]需要说明的是,本技术实施例中的预期剩余寿命阈值可以根据具体需要进行设置,例如:设置为生产闪存介质的厂家给出的预期寿命的5%,10%,15%等,或者,预期剩余寿命阈值以擦写次数进行表征,例如:设置为1000次,1500次等擦写次数。[0162]在本技术实施例中,通过提供一种闪存块的寿命预测方法,应用于闪存设备,闪存设备包括闪存介质,该方法包括:获取闪存介质中的每一闪存块中的每一数据页的比特位的数据情况;根据比特位的数据情况,确定每一数据页的比特位分布波形特征;根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命,其中,预测剩余寿命以擦写次数进行表征。通过根据比特位的数据情况,确定每一数据页的比特位分布波形特征,并根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命,本技术能够对闪存块的寿命进行准确预测,提高闪存设备整体的稳定性和可靠性。[0163]请再参阅图11,图11是本技术实施例提供的一种闪存设备的结构示意图;[0164]如图11所示,该闪存设备1100包括一个或多个处理器1101以及存储器1102。其中,图11中以一个处理器1101为例。[0165]处理器1101和存储器1102可以通过总线或者其他方式连接,图11中以通过总线连接为例。[0166]处理器1101,用于提供计算和控制能力,以控制闪存设备1100执行相应任务,例如,控制闪存设备1100执行上述任一方法实施例中的闪存块的寿命预测方法,包括:获取闪存介质中的每一闪存块中的每一数据页的比特位的数据情况;根据比特位的数据情况,确定每一数据页的比特位分布波形特征;根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命,其中,预测剩余寿命以擦写次数进行表征。[0167]通过根据比特位的数据情况,确定每一数据页的比特位分布波形特征,并根据每一数据页的比特位分布波形特征,确定闪存块的预测剩余寿命,本技术能够对闪存块的寿命进行准确预测,提高闪存设备整体的稳定性和可靠性。[0168]处理器1101可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)、硬件芯片或者其任意组合;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。[0169]存储器1102作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本技术实施例中的闪存块的寿命预测方法对应的程序指令/模块。处理器1101通过运行存储在存储器1102中的非暂态软件程序、指令以及模块,可以实现上述任一方法实施例中的闪存块的寿命预测方法。具体地,存储器1102可以包括易失性存储器(volatilememory,vm),例如随机存取存储器(randomaccessmemory,ram);存储器1102也可以包括非易失性存储器(non-volatilememory,nvm),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)或其他非暂态固态存储器件;存储器1102还可以包括上述种类的存储器的组合。[0170]存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器1102可选包括相对于处理器1101远程设置的存储器,这些远程存储器可以通过网络连接至处理器1101。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。[0171]一个或者多个模块存储在存储器1102中,当被一个或者多个处理器1101执行时,执行上述任意方法实施例中的闪存块的寿命预测方法,例如,执行以上描述的图2所示的各个步骤。[0172]本技术实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如上述一个或多个处理器可执行上述任意方法实施例中的闪存块的寿命预测方法,例如,执行上述任意方法实施例中的闪存块的寿命预测,例如,执行以上描述的各个步骤。[0173]以上所描述的装置或设备实施例仅仅是示意性的,其中作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。[0174]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。[0175]最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本技术的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1