一种动态量化固态硬盘数据可靠性的方法与流程

文档序号:17089190发布日期:2019-03-13 23:14阅读:703来源:国知局
一种动态量化固态硬盘数据可靠性的方法与流程

本发明涉及固态硬盘控制技术,特别涉及一种动态量化固态硬盘数据可靠性的方法。



背景技术:

出现cecc的程度cecclevel为表征可靠性判断阈值的特征量,数据越可靠cecclevel越低,对应的重读水平readretrylevel也就越低,而可靠性判断阈值是通过重读水平readretrylevel来表征的,即可靠性判断阈值实际上是某一级的readretrylevel,所以可靠性与可靠性判断阈值呈负相关关系。

固件系统设计中需要对nandflash端的数据作可靠性辨别,常见的将数据的可靠性分类为pass,cecc和uecc。

数据状态的标记存在以下几种可能性:

1正常读取成功normalreadsuccess,未触发重读readretry,状态标记为pass;

2正常读取失败normalreadfail,触发重读readretry,且在重读水平readretrylevel<cecclevel时数据被正确读取,状态标记为pass;

3正常读取失败normalreadfail,触发readretry,且在readretrylevel≥cecclevel时数据被正确读取,状态标记为cecc;

4normalreadfail,readretryfail,状态标记为uecc;

其中数据的可靠性pass>cecc>uecc。固件设计中当出现cecc类型可靠性的数据时会触发搬移动作以增强该数据的可靠性,即将该数据重新写入nandflash,减少甚至消除nandflash内部存储的产生的错误。uecc类型状态则表明该数据已经无法恢复。

但随着固态硬盘的使用,nandflash的擦写次数pecycle增大以及数据保持时间retention的增加会加剧nandflash数据的不可靠。不可靠的结果就是normalread产生uecc,需要依赖readretry功能恢复出数据,而不可靠的加剧则表现在数据被正确读取的readretrylevel急剧增大。

在实际应用过程中,通常可靠性判断阈值(cecclevel)采取静态的预设值或者简单化的变量值(譬如slcblock和tlcblock采用不一样的cecclevel)。现有技术背景中,对可靠性判断阈值的简单选取会导致两个弊端:

不依赖于pecycle、retention因子的cecclevel使得系统无法区分不同生命期阶段的固态硬盘数据可靠性的高低。实际上,随着pecycle增大、retention时间增加,固态硬盘越接近生命末期,此时数据的可靠性在降低,数据无法恢复的风险在加大,所以安全的做法是越接近于生命末期的盘,其选取的cecclevel值也应该逐渐降低,进而通过不断的数据搬移动作相对增强数据的可靠性。

在固态硬盘刚数据保持运行的时间阶段,系统对主机端的响应受到数据频繁搬移的严重影响,特别是生命末期的固态硬盘。越接近生命末期的盘,其数据可靠性的越低,数据恢复出来的readretrylevel超过cecclevel的可能性更高,使得数据搬移的可能性及量级也变得更高。导致的结果是大量的数据搬移动作集中于系统数据保持的初始一段时间。抽象地描述就是系统刚运行时评估数据可靠性发现有大量数据的可靠性低于当前系统中的可靠性判断阈值,从而触发大量的数据刷新,进而延迟甚至阻塞系统对host端请求的处理。



技术实现要素:

针对以上缺陷,本发明目的是如何根据硬盘的不同生命周期动态调整期数据可靠性判断阀值,实现保证数据可靠性的同时降低对性能的负面影响。

为了解决以上问题本发明提出了一种动态量化固态硬盘数据可靠性的方法,其特征在于固体硬盘系统根据数据块的擦写次数和运行时间,动态调整可靠性判断阀值,具体为将擦写次数和运行时间划分为不同的区间,每个区间设置不同的可靠性判断阀值,当数据块的擦写次数和运行时间落入对应的区间时,动态将该数据块的可靠性判断阀值调整到该区间对应的可靠性判断阀值。

所述的动态量化固态硬盘数据可靠性的方法,其特征在于通过抽样选择固态硬盘进行数据采集获取每个区间对应的可靠性判断阀值cecclevel,具体为通过对选取的固态硬盘进行磨损试验并记录擦写次数pecycle、数据保持时间retention和重读水平readretrylevel,获得擦写次数、数据保持时间和重读水平的近似关系,根据各个擦写次数、数据保持时间和重读水平对应的区间对应的重读水平选取该区间的可靠性判断阀值。

所述的动态量化固态硬盘数据可靠性的方法,其特征在于根据试验数据获取初始时刻的cecclevel为l+rr,最终稳定的cecclevel为x-rr,系统数据保持后,cecclevel是随运行时间动态变化的,cecclevel∈[x-rr,l+rr],且随着系统运行时间的增加,当前系统选取的cecclevel逐渐降低、逼近x-rr,所述的rr通过试验获得的各个生命周期的经验重读水平。

一种固态硬盘,其特征在于固体硬盘控制器根据固态硬盘各个固体硬盘的数据块的擦写次数和运行时间,动态调整可靠性判断阀值,具体为将擦写次数和运行时间划分为不同的区间,每个区间设置不同的可靠性判断阀值,当数据块的擦写次数和运行时间落入对应的区间时,动态将该数据块的可靠性判断阀值调整到该区间对应的可靠性判断阀值。

所述的固态硬盘,其特征在于通过抽样选择固态硬盘进行数据采集获取每个区间对应的可靠性判断阀值cecclevel,具体为通过对选取的固态硬盘进行磨损试验并记录擦写次数pecycle、数据保持时间retention和重读水平readretrylevel,获得擦写次数、数据保持时间和重读水平的近似关系,根据各个擦写次数、数据保持时间和重读水平对应的区间对应的重读水平选取该区间的可靠性判断阀值。

所述的固态硬盘,其特征在于根据试验数据获取初始时刻的cecclevel为l+rr,最终稳定的cecclevel为x-rr,系统数据保持后,cecclevel是随运行时间动态变化的,cecclevel∈[x-rr,l+rr],且随着系统运行时间的增加,当前系统选取的cecclevel逐渐降低、逼近x-rr,所述的rr通过试验获得的各个生命周期的经验重读水平。

本发明的有益效果是:通过固态硬盘数据可靠性判断阈值动态量化的方法,可避免在系统数据保持初始化的一段时间内出现大量数据搬移动作带来对系统性能的影响,实现将为了提高数据可靠性而触发的数据搬移分散到不同的时间阶段,在兼顾数据可靠性的同时,能有效保证其性能。

附图说明

图1是目前常见的ssd映射管理策略示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对现有的数据可靠性判断方案的缺陷,本专利的解决办法是动态量化可靠性判断,将可靠性判断阈值与影响可靠性的pecycle、retention因子形成关系表达式,同时也将系统运行时间与可靠性判断阈值形成一定的关系,通过盘数据保持已运行的时间这个因子动态设定可靠性判断阈值,将可靠性集中在某一段区间内的数据通过不同的可靠性判断阈值实现分段,进而实现批量的数据刷新分散到不同的时间阶段,同时数据可靠性越低的数据越早实现刷新。综合而言,可靠性动态判断方案先确定可靠性判断阈值的上下限,再在系统运行时刻动态地在可靠性判断阈值区间内选择当前时刻的可靠性判断阈值。

应用动态量化可靠性判断方案的前提是抽象出pecycle、retention和正确读取数据的readretrylevel之间关系。可以在颗粒验证阶段提前采集pecycle、retention和readretrylevel三者的数据,并进行分析导出近似的关系式。将pecycle、retention值进行一定颗粒度的划分,由于readretrylevel对pecycle、retention值变化不敏感,可以将pecycle进行100的颗粒度划分,retention进行1个月的颗粒度划分,再与readretrylevel形成三维关系表。固件系统运行中可以获取到pecycle值和近似化的retention时间,从而计算出近似的readretrylevel,并根据readretrylevel值选取合适的系统运行初始时刻的可靠性判断阈值cecclevel和系统运行最终稳定的可靠性判断阈值cecclevel;初始时刻的cecclevel应大于readretrylevel,可选择一个合适的余度值+readretrylevel,此余度值即为下文的“l”,这样选取的cecclevel能保证初期被标记为cecc状态的比例尽量低,“l”值不能偏大,否则初始时刻的可靠性不能保证。

图1是动态调整的流程示意图,cecclevel是否需要更新由当前cecclevel是否达到最终cecclevel和当前系统已运行时间是否达到更新时间点共同决定的。根据pecycle、retention和readretrylevel的关系表中推导出的readretrylevel记为rr,则初始时刻的cecclevel为l+rr,最终稳定的cecclevel为x-rr。系统数据保持后,选择初始时刻的cecclevel,是随运行时间动态变化的,cecclevel∈[x-rr,l+rr],且随着系统运行时间的增加,当前系统选取的cecclevel逐渐降低、逼近x-rr。对于不同生命期阶段的盘来说,其rr不同,可靠性判断阈值选取区间也就不同。pecycle越小retention越短的盘,数据可靠性越高,rr越小,则可靠性判断阈值区间范围越小(区间范围是l-x+2rr)。

以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

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