专利名称:存储设备、存储设备寿命监控装置及监控方法
技术领域:
本发明涉及电数字处理技术,尤其涉及存储设备,存储设备寿命监控装置及监控方法。
背景技术:
现在有多种基于闪存(FLASH)的存储设备,如U盘、SD卡及固态硬盘等。FLASH由多个擦写块组成,擦写块的使用寿命是由最大可擦写次数决定的,超过最大可擦写次数,擦写块就会成为坏块,无法正常读写。从而,需要对存储设备的寿命进行监控,根据已使用寿命及时提示用户备份数据,以免造成数据丢失。
现有的一种寿命监控方案为,对擦写块的已擦写次数进行监控,如果某个擦写块的已擦写次数已到达某一阈值,则认为存储设备的寿命已到期。
现有的这种寿命监控方案针对各擦写块分别监控。虽然为了避免某个擦写块被过度擦写以至于该擦写块过早地先于其他擦写块达到最大可擦写次数,许多基于FLASH的存储设备采用磨损平衡技术,使擦写操作均匀分布在每个擦写块上,但是,现有的磨损平衡(wear leveling)并不能保证擦写操作完全均匀地分布在每个擦写块上,从而,现有的针对各擦写块分别监控的寿命监控方案并不能实现对整个存储设备寿命的监控,这可能导致一些错误的提示信息。
例如,有时,存储设备的许多擦写块的已擦写次数还未到达最大擦写次数,存储设备能够继续使用,但是由于擦写不均匀,某些擦写块的已擦写次数已到达预定的阈值,此时,错误提示用户存储设备寿命到期。
再如,有时,存储设备的一些擦写块的已擦写次数已经到达预定的阈值,应该提示用户存储设备的寿命即将到期,及时进行数据备份。但是,由于这些寿命即将到期的擦写块没有被监控,而被监控的擦写块的已擦写次数还未到达预定阈值,因此并不会提示用户存储设备寿命即将到期。当被监控的擦写块的已擦写次数到达预定阈值,提示用户寿命即将到期时,未被监控的擦写块可能早已无法进行正常读写,从而会造成数据损失。
发明内容
本发明实施例的目的在于,提供存储设备、存储设备寿命监控装置及监控方法,对基于闪存的存储设备的整体寿命进行监控。
为了实现上述目的,本发明实施例提供了一种存储设备寿命监控装置,包括擦写次数获得模块,用于获得存储设备各擦写块的已擦写次数;正常块比例阈值模块,用于存储正常块比例阈值,该正常块比例阈值为当存储设备能够正常使用时,该存储设备中正常擦写块个数与擦写块总数的比值的最小值;擦写次数提取模块,用于根据正常块比例阈值,按照各已擦写次数数值的大小提取数个已擦写次数;寿命指标获得模块,用于根据提取出的数个已擦写次数获得表征所述存储设备寿命状况的寿命指标。
为了实现上述目的,本发明实施例还提供了一种存储设备寿命监控方法,包括如下步骤获得存储设备各擦写块的已擦写次数;根据正常块比例阈值,按照各已擦写次数数值的大小提取数个已擦写次数;根据所述数个已擦写次数获得表征所述存储设备寿命状况的寿命指标。
为了实现上述目的,本发明在提供了一种存储设备,包括存储单元、控制单元及寿命监控单元,该寿命监控单元包括擦写次数获得模块,用于获得存储设备各擦写块的已擦写次数;正常块比例阈值模块,用于存储正常块比例阈值,该正常块比例阈值为当存储设备能够正常使用时,该存储设备中正常擦写块个数与擦写块总数的比值的最小值;擦写次数提取模块,用于根据所述正常块比例阈值,按照各已擦写次数数值的大小提取数个所述已擦写次数;寿命指标获得模块,用于根据提取出的数个已擦写次数获得表征所述存储设备寿命状况的寿命指标。
本发明实施例根据正常块比例阈值提取多个擦写块的已擦写次数,并根据多个已擦写次数获得表征存储设备整体寿命状况的指标,实现了对存储设备整体寿命的监控。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例的存储设备寿命监控装置第一结构示意图;图2为本发明实施例的存储设备寿命监控装置第二结构示意图;图3为本发明实施例的存储设备寿命监控装置第三结构示意图;图4为本发明实施例的存储设备寿命监控方法第一流程图;图5为本发明实施例的存储设备寿命监控方法第二流程图;图6为本发明实施例的存储设备监控方法第三流程图;图7为本发明实施例的存储设备一结构示意图。
具体实施例方式
如图1所示,为本发明实施例的存储设备寿命监控装置第一结构示意图,包括擦写次数获得模块10,正常块比例阈值模块20、擦写次数提取模块30及寿命指标获得模块40。
擦写次数获得模块10用于获得存储设备各擦写块的已擦写次数。
正常块比例阈值模块20,用于存储正常块比例阈值。
擦写次数提取模块30,用于根据正常块比例阈值,按照各已擦写次数数值的大小提取数个已擦写次数;寿命指标获得模块40,用于根据提取出的数个已擦写次数获得表征存储设备寿命状况的寿命指标。
其中,该正常块比例阈值为当存储设备能够正常使用时,该存储设备中正常擦写块个数与擦写块总数的比值的最小值。设C%表示正常块比例阈值,N表示擦写块总数,那么N*C%即为该存储设备能够正常使用时允许的正常块个数最小值,N*(1-C%)即为允许的最大坏块个数。如果正常块个数小于N*C%,或者坏块个数大于N*(1-C%),则剩余空间无法存储一些必要数据,可认为该存储设备的寿命已到期,不能再使用了。
正常块比例阈值C%可由用户根据需要设定。当所需的安全程度比较高时,可设定一个较大的C%。
本实施例根据正常块比例阈值获得存储设备的寿命,实现了对存储设备整体寿命的监控;可有效避免因某个或某些擦写块的已擦写次数已到达预定的阈值,而错误提示用户存储设备寿命到期的情况;通过调整正常块比例阈值,可以实现不同的安全级别,从而满足用户不同的需要。
如图2所示,为本发明实施例的存储设备寿命监控装置第二结构示意图。在图1所示实施例的基础上,本实施例的擦写次数提取模块30具体包括排序模块31、指向模块32、规则模33块及提取模块34。
排序模块31用于对各擦写块的已擦写次数排序,生成已擦写次数序列。指向模块32用于确定正常块比例阈值指向的已擦写次数在已擦写次数序列中的位置。规则模块33用于设置提取规则,提取规则可包括提取方式及提取的已擦写次数的个数。提取模块34用于根据提取规则及位置提取已擦写次数。指向模块32从排序模块31获得已擦写次数序列,并将确定的位置与已擦写次数序列输出至提取模块34;提取模块34从规则模块33获得提取规则,根据提取规则以及指向模块32确定的位置从已擦写次数序列中提取已擦写次数。
提取方式是指如何在正常块比例阈值指向的已擦写次数附近提取已擦写次数。提取方式可有多种,例如,设需要提取的已擦写次数的个数为n,用B(i),i=1,2,......,N,表示擦写次数序列,B(1)为最小的已擦写次数,B(C%*N)为正常块比例阈值所指向的已擦写次数,B(N)为最大的已擦写次数,那么,提取方式可以为从B(C%*N)向右连续提取n个排列序号大于C%*N的已擦写次数,即提取B(C%*N+1),B(C%*N+2),......,B(C%*N+n-1);或者,以B(C%*N)为中心,向左右各提取(n-1)/2个已擦写次数(为了保证序号为整数,此时n应为奇数),即提取B(C%*N-(n-1)/2+1),B(C%*N-(n-1)/2+2),......,B(C%*N),B(C%*N+1),B(C%*N+2),......,B(C%*N+(n-1)/2-1);另外,也可不连续提取,而每个一个提取一个。
提取方式和提取的已擦写次数的个数n均可预先设定,也可由用户根据需要修改或设置。
在设定个数n时可参考两个因素为了防止抖动造成寿命计算不准确,个数n不能太小;为防止计算出来的擦写次数偏大,个数n又不能过大。例如,个数n可在大于80小于N*2%的范围内选择,可取n=N*C%*2%。
本实施例中可采用多种提取方式提取已擦写次数,提取方式及提取的已擦写次数的个数均可由用户根据需要而设定,从而对存储设备整体寿命的监控能更好的满足用户的多种监控需求,并可有效避免因某个或某些擦写块的已擦写次数已到达预定的阈值,而错误提示用户存储设备寿命到期的情况。
在另一实施例中,擦写次数提取模块30的提取模块34可从排序模块31获得已擦写次数序列,此时,指向模块32将确定的位置输出至提取模块34,提取模块34从排序模块31中获取已擦写次数序列。
如图3所示,为本发明实施例的存储设备寿命监控装置第三结构示意图。在图2所示实施例的基础上,寿命指标获得模块40具体包括最大可擦写次数模块41、平均值模块42以及比值模块43。
最大可擦写次数模块41用于存储擦写块的最大可擦写次数。最大可擦写次数可根据存储设备采用的FLASH的类型确定,例如,与非(NAND)型FLASH的最大可擦写次数可达一百万次,或非(NOR)型FLASH的最大可擦写次数可达十万次;也可根据FLASH厂商的性能参数确定最大可擦写次数;还可由用户根据具体情况设置。
平均值模块42用于获得提取出的数个已擦写次数的平均值。
比值模块43用于获得平均值与最大可擦写次数的比值,并将该比值作为表征存储设备寿命状况的寿命指标。
本实施例还进一步加入了告警模块50,该模块用于在寿命指标达到预先设定的寿命阈值时输出告警信号,提示用户存储设备寿命已到期。
寿命阈值可预先设定也可由用户根据情况设定。例如,若寿命阈值设置为85%,那么当寿命指标达到85%时,则可提示用户存储设备寿命即将到期,并提示用户进行必要的备份措施。
本实施例可设定擦写块的最大可擦写次数,并采用提取的已擦写次数的平均值与最大可擦写次数的比值作为寿命指标,当寿命指标到达寿命阈值时,自动告警,从而可根据对存储设备整体寿命的监控,及时提醒用户对数据进行备份,避免不必要的数据损失。
如图4所示,为本发明实施例的存储设备寿命监控方法第一流程图,包括如下步骤步骤A1、获得存储设备各擦写块的已擦写次数;由于设备管理的需要,存储设备中会存储各擦写块的已擦写次数,可通过读取相关的数据获得各擦写块的已擦写次数;步骤A2、根据正常块比例阈值,按照各已擦写次数数值的大小提取数个已擦写次数;步骤A3、根据提取出的数个已擦写次数获得表征存储设备寿命状况的寿命指标。
本实施例根据正常块比例阈值获得存储设备的寿命,实现了对存储设备整体寿命的监控。通过调整正常块比例阈值,可以实现不同的安全级别,从而满足用户不同的需要。
如图5所示,为本发明实施例的存储设备寿命监控方法第二流程图,包括如下步骤步骤B1、获得存储设备各擦写块的已擦写次数;步骤B2、对各擦写块的已擦写次数从小到大排序,生成已擦写次数序列;步骤B3、根据正常块比例阈值确定其指向的已擦写次数在已擦写次数序列中的位置;步骤B4、根据提取规则提取已擦写次数;提取规则可包括提取方式及提取的个数,可预先设定,也可由用户根据需要确定;步骤B5、计算提取出的已擦写次数的平均值;步骤B6、计算该平均值与最大可擦写次数的比值,将该比值作为表征存储设备寿命状况的寿命指标。
本实施例根据提取规则提取已擦写次数,并将提取的已擦写次数的平均值与最大可擦写次数的比值作为寿命指标,从而实现对存储设备整体寿命的监控;提取规则可预先设定,也可由用户根据需要确定,从而可灵活满足用户的多种监控需求。
如图6所示,为本发明实施例的存储设备监控方法第三流程图,包括如下步骤步骤C1、获得存储设备各擦写块的已擦写次数;步骤C2、对各擦写块的已擦写次数从小到大排序,生成已擦写次数序列B(i),i=1,2,......,N;其中N为擦写块总个数;
步骤C3、根据正常块比例阈值C%确定其指向的已擦写次数在已擦写次数序列中的位置为N*C%;步骤C4、根据从第N*C%+1处开始,连续提取N*C%*2%个已擦写次数,即提取B(N*C%+1),B(N*C%+2),...,B(N*C%+N*C%*%2-1);步骤C5、计算提取出的N*C%*2%个已擦写次数的平均值;步骤C6、计算该平均值与最大可擦写次数的比值,将该比值作为表征存储设备寿命状况的寿命指标;步骤C7、判断寿命指标是否大于寿命阈值85%,若是,执行步骤C8;步骤C8、输出告警信息,提示用户存储设备寿命即将到期。
本实施例根据正常块比例阈值提取N*C%*2%个已擦写次数,并根据提取的已擦写次数的平均值与最大可擦写次数的比值作为寿命指标,从而实现对存储设备整体寿命的监控;提取N*C%*2%个已擦写次数既能防止抖动造成的擦写次数计算不准确,又能防止计算出来的已擦写次数偏大;在寿命指标大于寿命阈值时,输出告警信号,从而及时提示用户存储设备寿命即将到期,进行必要的数据备份。
寿命监控可以在任何时候进行。例如,对于固态硬盘,可根据需要在工作期间的任何时候,获取每个擦写块当前已擦写次数,得出当前寿命;也可每隔一定的时间,获取每个擦写块当前已擦写次数,得出当前寿命。
如图7所示,为本发明实施例的存储设备一结构示意图,包括存储单元60、控制单元70及寿命监控单元80。
存储单元60包括多个擦写块,每个擦写块为基本的擦写单元。
控制单元70解释读、写请求,将从存储单元60读取数据并向存储单元60写入数据。
寿命监控单元80监控存储设备的整体寿命,该寿命监控单元80包括擦写次数获得模块81、正常阈值模块82、擦写次数提取模块83、寿命指标获得模块84及告警模块85。
擦写次数获得模块81用于获得存储单元60各擦写块的已擦写次数。
正常块比例阈值模块82用于存储正常块比例阈值,该正常块比例阈值为当存储设备能够正常使用时,该存储单元60中正常擦写块个数与擦写块总数的比值的最小值,正常块比例阈值可预先存储与正常块比例阈值模块82,也可由用户根据实际情况设置。
擦写次数提取模块83用于根据正常块比例阈值,按照各已擦写次数数值的大小提取数个已擦写次数。
寿命指标获得模块84用于根据提取出的数个已擦写次数获得表征存储设备寿命状况的寿命指标。
告警模块85用于在寿命指标达到预先设定的寿命阈值时输出告警信号,寿命阈值可由预设,也可由用户设定。
擦写次数提取模块83包括排序模块831、指向模块832、规则模块833及提取模块834。排序模块831用于对各擦写块的已擦写次数排序,生成已擦写次数序列。指向模块832用于确定正常块比例阈值指向的已擦写次数在已擦写次数序列中的位置。规则模块833用于存储提取规则,该提取规则可包括提取方式及提取的已擦写次数的个数,可预先存储与规则模块833中,可以有用户根据需要而设定。提取模块834用于根据提取规则提取已擦写次数。
寿命指标获得模块84包括最大可擦写次数模块841、平均值模块842及比值模块843。最大可擦写次数模块841用于存储擦写块的最大可擦写次数,最大可擦写次数可由FLASH的类型或FLASH厂商提供的技术指标确定,也可由用户设定。平均值模块842用于获得提取出的数个已擦写次数的平均值。比值模块843用于获得平均值与最大可擦写次数的比值,并将该比值作为寿命指标输出至告警模块85。
本实施例可实现对存储设备整体寿命的监控,正常块比例阈值、提取规则、最大可擦写次数及寿命阈值等均可由用户设置,从而可满足用户的多种监控需求;在设置提取已擦写次数的个数时,既防止了抖动造成的擦写次数计算不准确,又防止了计算出来的已擦写次数偏大,从而实现了对存储设备整体寿命更为精确的监控;在寿命指标大于寿命阈值时,输出告警信号,从而及时提示用户存储设备寿命即将到期,进行必要的数据备份。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质如ROM/RAM、磁碟、光盘等。
本发明实施例根据正常块比例阈值提取多个擦写块的已擦写次数,并根据多个已擦写次数获得存储设备的寿命,实现了对存储设备整体寿命的监控,可有效避免因某个或某些擦写块的已擦写次数已到达预定的阈值,而错误提示用户存储设备寿命到期的情况;正常块比例阈值、提取规则、最大可擦写次数及寿命阈值等均可由用户设置,从而可满足用户的多种监控需求;在设置提取已擦写次数的个数时,既防止了抖动造成的擦写次数计算不准确,又防止了计算出来的已擦写次数偏大,从而实现了对存储设备整体寿命更为精确的监控;在寿命指标大于寿命阈值时,输出告警信号,及时提示用户存储设备寿命即将到期,进行必要的数据备份,从而可避免不必要的数据损失。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种存储设备寿命监控装置,其特征在于,所述存储设备寿命监控装置包括擦写次数获得模块,用于获得存储设备各擦写块的已擦写次数;正常块比例阈值模块,用于存储正常块比例阈值,所述正常块比例阈值为当所述存储设备能够正常使用时,所述存储设备中正常擦写块个数与擦写块总数的比值的最小值;擦写次数提取模块,用于根据所述正常块比例阈值,按照各已擦写次数数值的大小提取数个所述已擦写次数;寿命指标获得模块,用于根据提取出的数个所述已擦写次数获得表征所述存储设备寿命状况的寿命指标。
2.根据权利要求1所述的存储设备寿命监控装置,其特征在于,所述擦写次数提取模块包括排序模块,用于对各擦写块的已擦写次数排序,生成已擦写次数序列;指向模块,用于确定所述正常块比例阈值指向的已擦写次数在所述已擦写次数序列中的位置;提取模块,用于根据提取规则及所述位置提取已擦写次数,所述提取规则至少包括提取方式及提取的擦写次数的个数。
3.根据权利要求2所述的存储设备寿命监控装置,其特征在于,所述擦写次数提取模块还包括规则模块,用于设置所述提取规则。
4.根据权利要求1所述的存储设备寿命监控装置,其特征在于,所述寿命指标获得模块包括最大可擦写次数模块,用于存储所述擦写块的最大可擦写次数;平均值模块,用于获得提取出的数个所述已擦写次数的平均值;比值模块,用于获得所述平均值与所述最大可擦写次数的比值,并将所述比值作为表征所述存储设备寿命状况的寿命指标。
5.根据权利要求1所述的存储设备寿命监控装置,其特征在于,所述存储设备寿命监控装置还包括告警模块,用于在所述寿命指标达到预先设定的寿命阈值时输出告警信号。
6.一种存储设备寿命监控方法,其特征在于,所述存储设备寿命监控方法包括如下步骤获得存储设备各擦写块的已擦写次数;根据正常块比例阈值,按照各已擦写次数数值的大小提取数个已擦写次数;根据所述数个已擦写次数获得表征所述存储设备寿命状况的寿命指标。
7.根据权利要求6所述的存储设备寿命监控方法,其特征在于,所述根据正常块比例阈值,按照各已擦写次数数值的大小提取数个已擦写次数的步骤具体包括对各擦写块的已擦写次数排序,生成已擦写次数序列;确定正常块比例阈值指向的已擦写次数在所述已擦写次数序列中的位置;根据提取规则及所述位置提取已擦写次数,所述提取规则至少包括提取方式及提取的擦写次数的个数。
8.根据权利要求7所述的存储设备寿命监控方法,其特征在于,所述根据提取规则及所述位置提取已擦写次数的步骤之前还包括设置提取规则。
9.根据权利要求6所述的存储设备寿命监控方法,其特征在于,所述根据所述数个已擦写次数获得表征所述存储设备寿命状况的寿命指标的步骤包括获得所述数个已擦写次数的平均值;获得所述平均值与所述最大可擦写次数的比值,并将所述比值作为表征所述存储设备寿命状况的寿命指标。
10.根据权利要求6所述的存储设备寿命监控方法,其特征在于,所述存储设备寿命监控方法还包括在所述寿命指标达到预先设定的寿命阈值时输出告警信号。
11.一种存储设备,包括存储单元及控制单元,其特征在于,所述存储设备还包括寿命监控单元,所述寿命监控单元包括擦写次数获得模块,用于获得存储设备各擦写块的已擦写次数;正常块比例阈值模块,用于存储正常块比例阈值,所述正常块比例阈值为当所述存储设备能够正常使用时,所述存储设备中正常擦写块个数与擦写块总数的比值的最小值;擦写次数提取模块,用于根据所述正常块比例阈值,按照各已擦写次数数值的大小提取数个所述已擦写次数;寿命指标获得模块,用于根据提取出的数个所述已擦写次数获得表征所述存储设备寿命状况的寿命指标。
12.根据权利要求11所述的存储设备,其特征在于,所述擦写次数提取模块包括排序模块,用于对各擦写块的已擦写次数排序,生成已擦写次数序列;指向模块,用于确定所述正常块比例阈值指向的已擦写次数在所述已擦写次数序列中的位置;提取模块,用于根据提取规则及所述位置提取已擦写次数,所述提取规则至少包括提取方式及提取的擦写次数的个数。
13.根据权利要求12所述的存储设备,其特征在于,所述擦写次数提取模块还包括规则模块,用于设置提取规则。
14.根据权利要求11所述的存储设备,其特征在于,所述寿命指标获得模块包括最大可擦写次数模块,用于存储所述擦写块的最大可擦写次数;平均值模块,用于获得提取出的数个已擦写次数的平均值;比值模块,用于获得所述平均值与所述最大可擦写次数的比值,并将所述比值作为表征所述存储设备寿命状况的寿命指标。
15.根据权利要求10所述的存储设备,其特征在于,所述寿命监控单元还包括告警模块,用于在所述寿命指标达到预先设定的寿命阈值时输出告警信号。
全文摘要
本发明涉及存储设备、存储设备寿命监控装置及监控方法。本发明实施例的存储设备寿命监控装置包括擦写次数获得模块,正常块比例阈值模块,擦写次数提取模块及寿命指标获得模块。本发明实施例的存储设备寿命监控方法包括如下步骤获得存储设备各擦写块的已擦写次数;根据正常块比例阈值,按照各已擦写次数数值的大小提取数个已擦写次数;根据所述数个已擦写次数获得表征所述存储设备寿命状况的寿命指标。在寿命指标达到寿命阈值时,输出告警信息。本发明实施例根据正常块比例阈值提取多个擦写块的已擦写次数,并根据多个已擦写次数获得存储设备的寿命,实现了对存储设备整体寿命的监控。
文档编号G11C29/00GK101079324SQ20071011897
公开日2007年11月28日 申请日期2007年6月15日 优先权日2007年6月15日
发明者张少林, 王少勇, 李敏秋, 饶兴, 龚颜, 陶林, 石磊, 杨剑, 陈宣 申请人:华为技术有限公司