存储设备的存储块筛选方法、装置、设备及存储介质与流程

文档序号:37154214发布日期:2024-02-26 17:13阅读:20来源:国知局
存储设备的存储块筛选方法、装置、设备及存储介质与流程

本发明涉及存储设备,具体涉及一种存储设备的存储块筛选方法、装置、设备及存储介质。


背景技术:

1、固态硬盘的核心部件主要是控制芯片和搭载的nand flash,其中控制芯片接收和管理写入固态硬盘的数据,而nand flash是一种非易失性随机访问存储介质,用于存储控制芯片写入的数据。nand flash存储的原理是通过量子隧道效应,电子跃迁到浮栅层,通过浮栅来锁存电子,但是随着时间的流逝,锁存在浮栅中的电子会有一定的几率回到沟道中,这种电子的驻留能力称为数据保持(data retention)。通常时间越长,温度越高,电子的驻留能力越弱,此时可能会导致存储单元产生读取错误,称为数据保持错误(data retentionerror)。差错控制编码(error correcting code,ecc)可以纠正读出数据的错误,是保证写入数据和读出数据的一致性,提高存储系统可靠性的重要手段。但ecc也有一定的纠错范围,如果读出数据的原始误码率较高,将会超出差错控制编码的纠错能力,无法正确的恢复出写入的数据。

2、在固态硬盘的生产过程中通常需要进行可靠性测试(reliability developmenttest,rdt),用于筛选nand flash中不可用的坏块,包含原厂坏块和新增坏块,经过可靠性测试之后才能成为真正可用的ssd硬盘。为了避免出现达到数据保持错误,导致数据丢失,业界目前会采用定期去检查写入的数据,如果发现即将达到数据保持错误时,会重新寻找一个存储块(block)进行数据写入。由于受到nand flash的生产工艺和良率等因素,nandflash内部存储可能存在差异,在出厂时可能部分存储块的数据驻留能力比其他的存储块要更弱。如果数据写入此部分天生数据保持能力弱的区域,会在较短的时间内检测到里面存储的数据即将失效,从而造成数据频繁的搬移。但是频繁的数据搬移会加速nand flash的磨损,同时也会占用固态硬盘内部大量的cpu和内部带宽资源,期间固态硬盘对外的io性能会下降,也会造成性能的抖动。因此,针对存储设备中数据保持能力弱的存储块需要在可靠性测试过程中筛选出来,从而提高存储设备的性能。


技术实现思路

1、鉴于现有技术的上述不足,本发明提供一种存储设备的存储块筛选方法、装置、设备及存储介质,有效解决现有技术中数据写入存储设备中天生数据保持能力弱的存储块,造成数据频繁的搬移导致存储设备性能下降甚至磨损的问题。

2、第一方面,本发明提供一种存储设备的存储块筛选方法,所述存储设备包括nandflash,所述方法包括:

3、获取所述nand flash的存储块数据保持能力的参考曲线;

4、对所述nand flash进行数据保持能力测试,获得每个存储块的测试曲线;所述参考曲线和所述测试曲线以时间作为横轴,以所述存储设备中存储块的平均比特翻转数作为纵轴;

5、将所述参考曲线和各个所述测试曲线进行对比,根据预设指标筛选所述存储块中的数据保持弱块;所述预设指标包括所述参考曲线与各个所述存储块的测试曲线的平均比特翻转数差值,以及所述参考曲线与各个所述存储块的测试曲线的斜率差值。

6、进一步的,获取所述nand flash的存储块数据保持能力的参考曲线具体包括:

7、将多个所述存储设备置于温箱中并写入数据,随机选择n个存储块每隔相同的时间间隔t1,分n次读取n个所述存储块的全部数据;

8、统计并记录每次n个所述存储块的平均比特翻转数,每个存储块取最后两次平均比特翻转数的均值作为所述存储块的采样数据;

9、计算所述存储设备n个所述存储块的采样数据均值,作为所述参考曲线的起点;

10、根据所述存储设备的数据保持时间规格和最大纠错能力确定所述参考曲线的终点。

11、进一步的,所述统计并记录每次n个所述存储块的平均比特翻转数具体包括:

12、依次读取n个所述存储块中各个存储页中的数据,数据读出时经过所述存储设备的纠错单元,获得各个所述存储页的比特翻转数;

13、计算各个所述存储页的比特翻转数总数,所述比特翻转数总数除以存储页总数得到所述存储块的平均比特翻转数。

14、进一步的,对所述nand flash进行数据保持能力测试,获得每个存储块的测试曲线包括:

15、将所述存储设备输入可靠性测试程序并置于温箱中,所述可靠性测试程序对全部存储块写入数据;

16、每隔相同的时间间隔t2,分m次读取全部存储块中的数据,计算每个存储块每次读取数据的平均比特翻转数;

17、设定总的测试时间,以时间作为横轴,每个存储块每次读取数据的平均比特翻转数作为纵轴,获得每个存储块的测试曲线。

18、进一步的,计算每个存储块每次读取数据的平均比特翻转数具体包括:

19、依次读取每个存储块中各个存储页中的数据,数据读出时经过所述存储设备的纠错单元,获得各个所述存储页的比特翻转数;

20、计算每个存储页的比特翻转数的总数,所述比特翻转数的总数除以存储页的总数得到每个存储块的平均比特翻转数。

21、进一步的,计算所述存储块每次读取数据的平均比特翻转数还包括:

22、获取各个所述存储页的比特翻转数,若在测试时间内存在比特翻转数超过存储页最大比特翻转数的目标存储页,则直接判定所述目标存储页对应的存储块为数据保持弱块。

23、进一步的,根据预设指标筛选所述存储块中的数据保持弱块包括:

24、将所述测试曲线位于所述参考曲线之上的存储块判定为待筛选存储块;

25、若所述待筛选存储块存在所述参考曲线与所述测试曲线的平均比特翻转数差值大于第一设定值的目标存储块,则所述目标存储块判定为数据保持弱块;

26、若所述待筛选存储块存在所述参考曲线与所述测试曲线的斜率差值大于第二设定值的目标存储块,则所述目标存储块判定为数据保持弱块。

27、第二方面,本发明提供一种存储设备的存储块筛选装置,所述存储设备包括nandflash,所述装置包括:

28、获取模块,用于获取所述nand flash的存储块数据保持能力的参考曲线;

29、测试模块,用于对所述nand flash进行数据保持能力测试,获得每个存储块的测试曲线;所述参考曲线和所述测试曲线以时间作为横轴,以所述存储设备中存储块的平均比特翻转数作为纵轴;

30、筛选模块,用于将所述参考曲线和各个所述测试曲线进行对比,根据预设指标筛选所述存储块中的数据保持弱块;所述预设指标包括所述参考曲线与各个所述存储块的测试曲线的平均比特翻转数差值,以及所述参考曲线与各个所述存储块的测试曲线的斜率差值。

31、第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明第一方面所述存储设备的存储块筛选方法的步骤。

32、第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述存储设备的存储块筛选方法的步骤。

33、本发明提供的方法可以提前识别存储设备中数据保持弱块,在可靠性测试过程中成功将其筛选出来,避免在存储设备中使用这些数据保持弱块,从而减少存储设备的nandflash多余磨损和系统资源开销,有效提高存储设备的性能和质量。

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