存储设备健康诊断的制作方法_3

文档序号:9709510阅读:来源:国知局
量,维护模块24可以实现损耗均衡。
[0044]在损耗均衡中,对于每个块或块的组,维护模块24可以追踪擦除或写入块或块的组的数目。维护模块24可引起从主机设备15进入的数据被写入到已经历相对较少的写入或擦除的块或块的组,以试图维持每个块或块的组的大约相等数目的写入或擦除。这可引起存储器设备12的每个块以近似相同的速率被损耗,并且可以增加存储设备2的使用寿命。
[0045]尽管这可通过降低擦除并写入数据到不同块的数目而减少写入放大和闪速存储器单元的损耗,这也可导致包括一些有效(新的)数据和一些无效(陈旧)数据的块。为了解决这个问题,控制器20可以执行垃圾收集。在垃圾收集操作中,控制器20可分析存储器设备12的块的内容,以确定包含高百分比的无效(陈旧)数据的块。控制器20然后可将有效数据从该块重写到不同的块,然后擦除该块。这可以减小由存储器设备12存储的无效(陈旧)数据的量,并增加空闲块的数量,但也可增加写入放大和存储器设备12的损耗。
[0046]根据本公开的一个或多个示例,存储器设备2(例如,维护模块24)可以使用在垃圾收集操作期间确定的至少一个参数监控存储设备2的健康。例如,对于每一个垃圾收集操作,维护模块24可以确定存储设备12的每个块的充满百分比。充满百分比指由块存储的有效数据的量和块的总容量之间的比率。较低的充满百分比指示该块存储较低百分比的有效数据。例如,0%的充满百分比指示该块没有存储有效数据,以及100%的充满百分比指示由该块存储的所有数据是有效的。维护模块24可在垃圾收集期间使用充满百分比,以确定哪些块包含一些有效数据和一些无效数据,并且可以在存储设备中重新分配数据以将部分填充块的数据结合起来,以腾出空块。最小的充满百分比在本文中称为T’。
[0047]图4是示出在存储设备的稳定运行期间故居充满百分比的块的分布的示例曲线图。如图4所示,具有给定的充满百分比的块数可以遵循单峰分布轮廓,具有向着低充满百分比的相对较长的尾。曲线上最左边的点(最接近0)限定最小充满百分比“C”。在稳定状态操作中,C的值可以从一个垃圾收集操作到下一个保持相对恒定。这可通过假设单个逻辑块的总容量是N,以及从充满百分比的先前采样所观察到的最小充满百分比为C进行预测。在这些假设下,在块的充满中的最坏情况下降可以表示为(N/(T-F))/N=1/(T-F卜0,指示C的值可以被预期为在不同采样之间保持基本相同。然而,当存储设备2的空闲块的数量降低时,C的值可随时间缓慢增加。
[0048]如上所述,当块损耗时,替换块可从空闲块的池被拉入以替换损耗块。这减少了空闲块的数目。因此,随着损耗块的数量增加,空闲块的数目成比例地减少。图5是对于示例存储设备,作为过度配置比率P的比率的写入放大因子的曲线图。如图5所示,当过度配置比率下降(指示较少的总可用块和较少的空闲块)时,写入放大因子增加。如果过度配置比率(和空闲块的数量)变得太低,损耗均衡和垃圾收集可能无法保持存储设备2的性能,并且性能可能不能够恢复。因此,在健康劣化到不可恢复之前,确定何时存储设备2的健康正在劣化,对于存储设备2的连续操作是重要的。最坏情况下的写入放大因子W对过度配置比率的关系可以近似为W= (l+p)/(2*p)。
[0049]图6是对于示例存储设备,最糟糕的垃圾收集开始对过度配置比率的曲线图。如图6所示,当过度配置比率减小时,最糟糕的垃圾收集开始增加,并且通常关联于写入放大因子(示于图5)。图6中所示的最糟糕的垃圾收集开始关联于最小的充满百分比C。例如,C值等于最坏的垃圾收集开始除以块数的总数的值。在图6的示例中,块的总数是16384,所以C值是图6中所示y轴的值除以16384。
[0050]维护模块24可利用最小的充满百分比C以估计存储设备2(例如,存储器设备12)的健康。维护模块24可比较最小充满百分比C和阈值,以确定存储设备2(例如,存储器设备12)的健康是否正在劣化。例如,如果最小的充满百分比C大于阈值,维护模块2 4可以确定存储设备2 (例如,存储器设备12)的健康正在劣化。
[0051]阈值可以是预定的,并且可以选择基于存储设备2的健康正劣化的确定或估计进行选择,使得在劣化变得如此糟糕以至于存储设备的性能不可恢复之前,应采取预定操作。例如,阈值TV可以被设置为TV=(W-1)/W,其中W是最坏情况的写入放大因子。响应于确定C超过TV,维护模块24可以执行至少一个预定功能,诸如修改控制器20的工作参数或向主机设备15输出信息或指示。
[0052]例如,维护模块24可以修改控制器20的操作参数,诸如暂停存储设备2的任何进一步写入。维护模块24还可以向主机设备15输出存储设备2是只读存储设备的指示,以使得主机设备15将不再输出写入命令到存储设备2。通过转换为只读设备,可避免存储设备2存储的数据丢失。作为另一示例,控制器20可以节流(减慢)存储设备2的存储器设备12的写入速度,从而允许控制器20有更多的时间来执行垃圾收集。
[0053]在一些示例中,该预定的操作可以包括:由维护模块24向主机设备12输出存储设备2的健康的指示。响应于接收指示,主机设备15然后可以可选地执行一个或多个预定操作。例如,主机设备15可被配置为节流(减少)写入指令到存储设备2,允许存储设备2的控制器20有更多时间来执行垃圾收集操作。作为另一个示例,主机设备15可被配置为改变存储设备2的标识为只读,使得主机设备15不再发送写入指令到存储设备2。作为附加的示例,主机设备15可被配置为改变主机设备15访问的存储设备2的容量,有效地增加存储设备2的控制器20可用地空闲块的数目,以执行损耗均衡和垃圾收集。
[0054]在一些示例中,维护模块24可以利用多个最小充满百分比值以确定平均最小充满百分比值,每个最小充满百分比值用于多个垃圾收集操作的每一个。图7是示出用于基于最小充满百分比值估计存储设备的健康的示例技术的流程图。为了易于描述,图7的技术将并发参照图1和3的存储设备2和控制器20进行描述。然而,在其他示例中,不同的存储设备或控制器可以实现图7的技术,图1和2的存储设备2和控制器20可实现不同的技术,用于估计存储设备2或两者的健康。
[0055]图7的技术可包括:由维护模块24确定所有的块中的最小充满百分比C(42)。如上所述,维护模块24可为存储器设备12的每个块确定相应的充满百分比,作为垃圾收集操作的一部分。
[0056]图7的技术还包括:对于多个垃圾收集操作,由维护模块24确定平均最小充满百分比值,平均值C(44)。维护模块24可以确定每个垃圾收集操作的C值。维护模块24可使得例如在C值缓冲器或其他数据结构中存储C值。在一些示例中,C值缓冲器或其他数据结构可以包括N个条目,一个C值用于每个最后的N个垃圾收集操作(包括当前的垃圾收集操作)。当维护模块24执行垃圾收集操作并确定垃圾收集操作的C值时,最新的C值可置于C值缓冲器或其它数据结构的条目0中,以及在C值缓冲或其它数据结构中预先存储的每个值可被递增一个更大的值(例如,先前的条目0成为条目1,先前的条目N-m成为N-m+1)。条目N-1,在C值缓冲器或其他数据结构中的最后条目将被丢弃。以这种方式,C值缓冲器或其他数据结构对于最后的N个垃圾收集操作存储该C值。
[0057]N、C值缓冲器或其他数据结构的大小可被选择,使得平均化N C值平滑C值,降低C值信号中的噪声。此外,N可以被选择,以使平均C值仅并入相对最近的C值。在一些示例中,N可以是1024。维护模块24使用在C值缓存或其他数据结构中存储的N C值确定平均最小充满百分比值(平均C值)(44)。以这种方式,平均值C值可以是最后N个垃圾收集操作的C值的移动平均值。
[0058]图8是对于示例存储设备,平均垃圾收集开始对过度配置比率的曲线图。如图8所示,当过度配置比率减小时,平均垃圾收集开始增加,并且通常关联于写入放大因子(示于图5)。在图8中所示的平均垃圾收集开始关联于平均最小充满百分比,平均值C。例如,该平均值C值等于最坏的垃圾收集开始除以块数的总数。在图8的示例中,块的总数为16,384,所以平均值C值是图8所示的y轴值除以16,384。
[0059]维护模块24然后比较平均值C值和预定阈值(46)。所述阈值可以是预定的,并且可以基于当存储设备2的健康正劣化的确定或估计进行选择,使得在劣化变得如此糟糕以至于存储设备的性能是不可恢复之前,应采取预定操作。例如,阈值TV可以被设置为TV=(W-1)/1
[0060]响应于确定平均C值超过TV(判定块48的“YES”分支),维护模块24可以执行至少一个预定功能(50)。当超过TV的平均值C值指示存储器设备12的健康正在劣化时,预定功能可以涉及存储设备2(例如,存储器设备12)的健康。例如,维护模块24可输出消息,使得控制器20修改操作参数或输出被传递到主机设备15的消息或指令。例如,控制器20可通过减慢对从主机设备15接收的写入请求的响应,以考虑到当前(较低)的过度配置比率允许存储设备2(例如,控制器20)保持写入和垃圾收集操作,或通过将存储设备2转换成只读设备以防止数据丢失,而修改操作参数。作为另一个示例,主机设备15可以通过降低存储设备2的写入吞吐量(例如,写入指令)而修改其操作。
[0061 ]然而,响应于确定平均值C值不超过TV(判定块48的“N0”分支),维护模块24可以再次开始图7的技术,并一旦执行下一个垃圾收集操作则确定C值(42)。维护模块24可将该新的C值添加到C值缓冲器或其它数据结构,并且从C值缓冲器或其它数据结构丢弃最旧的C值。维护模块24可以使用在C值缓存或其他数据结构中存储的N C值确定平
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1