用于异常值管理的方法和装置与流程
- 国知局
- 2024-07-31 19:20:36
背景技术:
1、设备的可靠性是该设备将在规定条件下在指定时间段期间执行其预期功能的概率的指示。由于闪存存储器设备的老化通常按照闪存存储器设备的编程和擦除(pe)循环数目(或闪存存储器设备的单独块的pe循环数目)测量,因此闪存存储器设备的可靠性通常基于闪存存储器设备的pe循环数目(或闪存存储器设备的每一块的pe循环数目)来确定。对应于闪存存储器设备或闪存存储器设备的块的特定pe循环数目(或范围)的可靠性状态在下文中称为基于pe的可靠性状态。
2、基于pe的可靠性状态通常通过识别在闪存存储器设备的预期寿命或闪存存储器设备的单独块的预期寿命中的pe循环数目并基于该pe循环数目来将闪存存储器设备(或闪存存储器设备的块)的预期寿命划分成若干周期来创建,使得该周期跨越闪存存储器设备(或闪存存储器设备的块)的整个寿命。
3、例如,在一个示例性系统中,每个闪存存储器设备或该闪存存储器设备的块(闪存存储器设备/块)具有5,000个pe循环的预期寿命,并且该闪存存储器设备/块的寿命基于pe循环数目被划分为五个周期,使得第一周期(其定义第一基于pe的可靠性状态)对应于该闪存存储器设备/块的前一千个pe循环(0个至1000个pe循环),第二周期(其定义第二基于pe的可靠性状态)对应于该闪存存储器设备/块的下一千个pe循环(1001个至2000个pe循环),第三周期(其定义第三基于pe的可靠性状态)对应于该闪存存储器设备/块的下一千个pe循环(2001个至3000个pe循环),第四周期(其定义第四基于pe的可靠性状态)对应于该闪存存储器设备/块的下一千个pe循环(3001个至4000个pe循环),并且第五周期(其定义第五基于pe的可靠性状态)对应于该闪存存储器设备/块的后一千个pe循环(4001个至5000个pe循环)。
4、一些固态驱动器(ssd)使用阈值电压移位读取来读取闪存存储器设备以获得客户端和企业ssd所需的低水平的不可校正误码率(uber)。通过从闪存控制器向要读取的闪存存储器设备发送阈值电压移位读取指令来执行阈值电压移位读取。一个或多个阈值-电压-移位补偿(tvso)值与阈值电压移位读取指令一同发送。tvso值指示用于执行读取的阈值电压与由闪存存储器设备的制造商指定的对应默认阈值电压的补偿的量。使用阈值电压移位读取指令来读取闪存存储器设备的系统通常使用对应于基于pe的可靠性状态的一组tvso值来执行闪存存储器设备的读取。闪存存储器制造商通常发布产品规范,该产品规范包括每个基于pe的可靠性状态的一组tvso值(例如,多组tvso值,以及对于每组tvso值,推荐该组tvso值的pe循环范围)。然后,闪存控制器仅需要识别要读取的闪存存储器设备或该闪存存储器设备的块的当前pe循环数目并查找一组对应tvso值(例如,使用查找表),并且然后将该组所识别的tvso值与要读取的地址一起发送到闪存存储器设备。作为响应,闪存存储器以指定tvso值执行地址的读取并将该读取的结果返回到闪存控制器。
5、一些用户和闪存控制器制造商执行示例性闪存存储器设备的闪存存储器特性测试以识别比由闪存存储器设备的制造商指定的tvso值更精确的tvso值。为了更准确地识别要在读取时使用的tvso值,这些用户和闪存控制器制造商中的一些用户和闪存控制器制造商通过使用其他特性来定义基于pe的可靠性状态(诸如保留时间和/或要读取的块的读取干扰数目)来扩展在基于pe的可靠性状态中的特性数目。这些常规的基于pe的可靠性状态和设备对于ssd的几乎所有块都极为奏效。然而,在ssd接近寿命终止时,在特定的基于pe的可靠性状态中,一些块开始偏离其他块的性能。这些块通常称为″异常值块″。异常值块通常通过如下事实来识别:该异常值块在其基于pe的可靠性状态下具有比其他块更高的原始误码率(rber)。
6、一些ssd执行在ssd中的存储器块中的每个存储器块的后台错误测试以识别在每次读取中的rber。当rber超过预定错误阈值时,块被识别为坏块。一旦块被识别为坏块,其就不再被ssd使用,以便防止在操作期间的不可校正位错误(例如,当在特定页中存在太多错误要进行软错误校正时)。当在操作期间发生不可校正位错误时,要求独立磁盘冗余阵列(raid)操作来恢复所存储的数据,从而导致增加的系统延时并负面地影响ssd的服务质量(qos)。
7、常规的ssd通常不尝试管理异常值块,而是测试该异常值块并在该异常值块达到预定错误阈值时将其从服务中移除。然而,从服务中移除异常值块减少了可用于存储数据的存储空间量。
8、因此,对于使用阈值电压移位读取指令来读取闪存存储器设备的系统,需要将延长异常值块的可用寿命而同时在ssd的寿命期间将该ssd的uber维持在可接受水平内的方法和装置。
技术实现思路
1、一种用于在使用tvso值来执行闪存存储器设备的读取的闪存控制器处的异常值块管理的方法包括:测试该闪存存储器设备以识别该闪存存储器设备的一个或多个异常值块,该一个或多个异常值块具有大于异常值错误阈值的错误数目;以及将深度神经网络(dnn)的超参数加载到该闪存控制器的训练电路中。执行该一个或多个异常值块的多次测试读取,并且识别在该测试读取中的错误数目。使用小批量训练过程并使用在该测试读取中的所识别的错误数目来在该训练电路处训练该dnn。测试所训练的dnn以确定所训练的dnn是否满足训练错误阈值(tet),并且重复该执行该多次测试读取、该识别在该测试读取中的该错误数目、该训练和该测试,直至所训练的dnn满足该tet,以识别异常值块dnn的参数。使用异常值块dnn的所识别的参数在该闪存控制器的神经网络引擎处执行神经网络操作以预测对应于该一个或多个异常值块的tvso值;以及使用预测的tvso值来执行读取。
2、一种闪存控制器包括:读取电路,该读取电路耦合到tvso读取表,该tvso读取表指示要用于读取闪存存储器设备的tvso值;和解码电路,该解码电路耦合到该读取电路,该解码电路被配置为对该闪存存储器设备的读取进行解码。该闪存控制器包括训练电路和耦合到该训练电路的控制电路。该控制电路用于识别该闪存存储器设备的一个或多个异常值块,该异常值块具有大于异常值错误阈值的错误数目;以及将深度神经网络(dnn)的超参数加载到该训练电路中。该读取电路要执行所识别的一个或多个异常值块的多次测试读取。该解码电路要识别在所识别的一个或多个异常值块的该测试读取中的该错误数目。该训练电路要使用小批量训练过程并使用在所识别的测试读取中的该错误数目来训练该dnn并要测试所训练的dnn以确定所训练的dnn是否满足训练错误阈值。该训练电路、该解码电路和该控制电路要重复执行该多次测试读取、识别在该测试读取中的该错误数目、训练和测试,直至所训练的dnn满足tet,以识别异常值块dnn的参数。神经网络引擎耦合到该训练电路和该控制电路,该神经网络引擎用于使用该异常值块dnn的该参数来执行神经网络操作以预测对应于该一个或多个异常值块的tvso值。该控制电路要存储预测的tvso值,并且该读取电路要使用预测的tvso值来执行读取。
3、一种用于在使用阈值电压移位补偿(tvso)值来执行闪存存储器设备的读取的闪存控制器处的异常值管理的方法包括:执行异常值块的多次测试读取,该异常值块具有大于训练错误阈值的错误数目;以及识别在该测试读取中的错误数目。将深度神经网络(dnn)的超参数加载到该闪存控制器的训练电路中。使用小批量训练过程并使用在该测试读取中的所识别的错误数目来在该训练电路处训练该dnn;并且测试所训练的dnn以确定所训练的dnn是否满足tet。重复该执行该多次测试读取、该识别在该测试读取中的该错误数目、该训练和该测试,直至所训练的dnn满足该tet,以识别异常值块dnn的参数。使用异常值块dnn的所识别的参数来在该闪存控制器的神经网络引擎处执行神经网络操作以预测对应于该一个或多个异常值块的tvso值。存储预测的tvso值,并且使用预测的tvso值来执行读取。
4、所公开的方法和装置通过执行准确地预测要用于读取异常值块的tvso值的神经网络操作来管理异常值块,从而允许异常值块即使在其被识别为异常值块之后也继续使用。因此,本发明的方法和装置不要求异常值块被标记为坏块并只要其被识别为异常值块就被止用,从而增加可供ssd使用的块数目。因此,本方法和装置延长了异常值块的可用寿命,而同时在该ssd的寿命期间将ssd的uber维持在可接受水平内。
本文地址:https://www.jishuxx.com/zhuanli/20240731/182341.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表