使用参考块的固态驱动保持监控器的制造方法
【专利摘要】一种使用参考块的固态驱动保持监控器。一种固态存储保持监控器确定固态设备中的用户数据是否需要清理操作。可使用已知的数据模式编程一个或更多个参考块,其中参考块基本上经历与用户块相似的P/E循环、存储温度、存储时间和其他情况。因此该参考块可有效表示用户块的数据保持性质并提供有关是否/何时需要数据刷新操作的信息。
【专利说明】使用参考块的固态驱动保持监控器
【技术领域】
[0001]本公开涉及固态存储设备。更具体地,本公开涉及用于监控固态存储设备内的数据保持的系统和方法。
【背景技术】
[0002]随着时间的推移,非易失性固态介质会因各种与时间相关的因素和环境因素而损坏。定期的数据清理(读出数据并重新编程纠错后的版本)通过在数据块的数据保持性质退化超出可接受的阈值之前传送物理数据存储位置,可降低用户数据错误不可纠正的可能性。尽管可实施多种方法来监控固态存储的数据保持性质,例如通过存储真实时间戳信息,但这些方法通常要求大量的存储空间来容纳这些数据。
【专利附图】
【附图说明】
[0003]现将参考以下附图描述体现本发明的各特征的系统和方法,其中:
[0004]图1是图示具有数据保持监控模块的存储设备实施例的方框图。
[0005]图2是显示根据一个或更多个实施用于监控固态存储设备的数据保持特性/性质的过程的流程图。
[0006]图3是显示根据一个或更多个实施例的调度固态存储设备内数据清理操作的过程的流程图。
[0007]图4图示根据一个实施例提供数据保持评估信息的图表。
[0008]图5A是显示根据一个实施例的非易失性固态存储设备内单元的概率分布的图表。
[0009]图5B是显示根据一个实施例的非易失性固态存储设备内具有减少的读取裕度(margin)的单元的概率分布的图表。
[0010]图5C是显示图5B中所示单元在各种电压读取水平下编程错误的图表。
[0011]图是显示图5B中所示单元在各种电压读取水平下的编程错误的图表。
[0012]图6是显示根据一个或更多个实施例的在固态存储器设备内调度数据清理操作的过程的流程图。
[0013]图7图示根据一个实施例用于在通电后恢复先前初始化的数据清理操作的过程的流程图。
【具体实施方式】
[0014]尽管描述特定实施例,但是这些实施例仅以示例的方式呈现,而不是要限制保护的范围。事实上,这里所描述的新颖的方法和系统可以各种其他形式来体现。而且,在不偏离保护范围的情况下,可以对这里所描述的方法和系统的形式做出各种省略、替代和变化。
[0015]鐘述
[0016]数据刷新或清理通常用于固态驱动器(SSD)应用以在数据保持退化到无法正确读出数据的那一点之前刷新存储在SSD中的数据。数据清理是纠错技术,其使用后台任务定期检查存储器的错误,然后使用错误纠正代码(ECC)存储器或数据的其他副本纠正该错误。数据清理可以降低发生不可纠正错误的风险。特定数据存储系统监控内存/存储器块的保持特性并且在这种保持特性可能退化超出阈值时执行数据清理。为了确定何时需要清理存储器块,可使用真实时间戳监控SSD系统内的数据年龄,其可指示保持特性。然后,系统基于自这些块被编程开始的时间量决定是否需要进行数据刷新或清理。
[0017]为了实施真实时间戳方案,必须分配一些存储空间来存储大小为若干字节数据的时间戳。因此,对于固态存储模块而言,时间戳数据消耗可用容量,由此减少用户可用容量。另外,为了准确考虑在不同时间被编程的不同页,可能期望在页级实施时间戳存储,这可能要求大量的存储空间来容纳这些数据。
[0018]除了年龄,环境因素也会对固态驱动器的数据保持产生影响,尤其是大量的循环块。例如,随时间和位置变化的存储设备的温度会影响硬盘的保持特性。实际上,根据Arrhenius等式,由提高的温度导致的数据保持退化加速是一个指数函数,且因此可能非常大。仅通过记录时间戳数据,通常不考虑温度和其他环境因素(例如电/磁场),并且因此为了更准确地或更有效地确定数据保持,其他技术/机制可能是人们想要的或所要求的。
[0019]这里所公开的一些实施例使控制器固件在通电时或在另一时间检查来自指定参考块的信息并评估固态存储器的块和/或页的数据保持特性。例如,如下面更详细描述的,通过读取参考块,系统可评估在固态驱动器上编程的数据的有效年龄和/或其他数据保持因素。这种确定本身有利地考虑了驱动器经历的各种环境条件,甚至在设备断电时。使用该评估的年龄,控制器固件可以被配置成调度数据清理过程。
[0020]该系统可在参考块内保存预定值且然后从该块中读取数据以及以某种方式确定该块的数据保持性质。基于这种读取,系统可确定编程数据的等价年龄,从而考虑SSD处于断电状态的温度和持续时间;断电期间,与数据保持有关的信息内在地包含在参考块中,且由此当再次通电时控制器能够确定后续的刷新/清理时间。
[0021]在本公开中描述的各种实施例提高了数据保持评估的有效性和/或准确性,这可改善数据存储系统的性能。
[0022]如该申请中所使用的,“非易失性存储器”可以指代诸如NAND闪存的固态存储器。然而,在更传统的硬盘驱动器和包括固态和硬盘驱动部件的混合驱动器中,本公开的系统和方法也可能是有用的。固态存储器可包括各种技术,例如闪存式集成电路(flashintegrated circuits)、相变存储器(PC-RAM 或 PRAM)、可编程金属化单兀 RAM (PMC-RAM或PMCm)、奥弗辛斯基效应统一存储器(OUM)、组抗RAM (RRAM)、NAND存储器、NOR存储器、EEPR0M、铁电体存储器(FeRAM)、MRAM或其他独立NVM (非易失性存储器)芯片。固态存储设备可以物理划分成多个平面、块、页和扇区,正如本领域所公知的。另外或可替代地,可以使用其他形式的存储(例如,电池备份易失性DRAM或SRAM设备、磁盘驱动器等)。
[0023]系统综沭
[0024]图1是图示具有数据保持监控模块的数据存储设备实施例的方框图。如图所示,存储设备120包括控制器130,其依次包括数据保持监控模块140。在特定实施例中,数据保持监控模块140负责监控一个或更多个非易失性固态存储器阵列150的一个或更多个页或块的数据保持特性并发出数据清理命令,而控制器130将这些命令转送给非易失性固态存储器阵列150来执行。在一个实施例中,数据保持监控模块被配置成根据这里描述的一个或更多方法选择非易失性固态存储器阵列150的参考块并调度数据清理操作。在特定实施例中,控制器130被配置为从位于主机系统110上的存储接口(例如驱动器)112处接收存储器命令并响应于这种主机发出的存储器命令在非易失性固态存储器阵列150中执行命令。数据可以基于这些命令被访问/传送。
[0025]数据保持监控
[0026]在某些固态存储设备中,例如包含NAND闪存部件的存储设备,该设备内存储的块或页可配置成在应用到其上的一定数量的编程和擦除(P/E)操作对这些块或页的数据保持性质产生重大负影响之前经受住这些操作。在包含NANA闪存部件的固态驱动器内,存储的块可包含大约2MB或4MB的存储空间。通常,一旦块的循环次数达到一个限度(例如对于2xnm MLC而言3K/3000次的循环),该块的质量可能开始大幅退化。
[0027]这里描述的特定实施例提供在一个或更多个固态存储器设备上分配一个或更多个块作为参考块。每个参考块可以用预定的数据值编程,例如随机数据模式。例如,可以通过伪随机数发生器使用已知种子产生预定数据值,使得不需要以特定形式存储该预定数据。参考块有利地可具有与相关数据块相似的设备使用历史,这意味着从参考块收集的信息可反映相关数据块经历过的真实情况,其反映的接近程度足以使得可以将该参考块视为关于相关数据块的有效参考。
[0028]在特定实施例中,在SSD通电后,控制器固件可以从参考块中读取数据并使用这里描述的数据保持评估机制来评估自参考块被编程以来所经过的时间。这种评估可以允许确定改善的数据清理调度。所评估的经过时间可包含与断电之前的持续时间以及SSD系统处于断电模式的持续时间有关的信息。
[0029]图2是显示根据一个或更多个实施例的监控固态存储器设备的数据保持特性/性质的过程200的流程图。如上面讨论的,数据清理可能涉及将数据从非易失性固态存储设备的一个位置转移到另一个位置,并且为了阻止在数据保持因素导致不可纠正的ECC之前存储在设备中的数据退化,数据清理可能是令人期望的。在一个实施例中,过程200至少部分通过控制器130和/或数据保持监控模块140执行。在方框202中,为数据存储设备通电。通电后,在方块204中,从非易失性固态存储器设备的一个或更多个预定参考块中读取数据。在一些实施例中,可以在除通电后不久以外的其他时间读取参考块,例如当检测到空闲时间时(没有主机初始化命令的期间),或者该读取被诸如P/E循环计数、温度等一些其他因素触发时。在特定实施例中,参考块的数据保持性质至少部分代表着该存储设备内较大分组的数据块的数据保持性质。因此,从参考块中读取数据值以确定块的数据保持情况可能有助于评估相关块的数据保持情况。
[0030]在方框206中,响应于从一个或更多个参考块中读取数据,确定到下一个数据清理操作的时间。这种评估可基于这里公开的数据保持评估机制中的一种或更多种执行。一旦数据清理调度被确定,则在方框208中,根据这一调度执行数据清理,由此至少部分保持固态存储设备的数据保持功能性。
[0031]调度数据清理操作
[0032]图3是显示根据一个或更多个实施例在固态存储设备内调度数据清理操作的过程300的流程图。在一个实施例中,过程300至少部分通过控制器130和/或数据保持监控模块140执行。在方框302中,使用已知的数据模式(例如伪随机数数据模式)编程存储器设备的一个或更多个参考块。在经过一时间段后,在方框304中,为确定参考块的数据保持性质,从一个或更多个块中读取数据。
[0033]在特定实施例中,比较读取的数据和已知的一种数据模式或多种模式。这在方框306中执行。在方框308中,可计算误比特率/比特错误率,例如,翻转的(flipped)比特计数。在一个以上参考块的情形下,多页可以被读取且平均原始误比特率(RBER)可用于评估。可以以多种方法计算平均RBER,包括任何类型的加权平均计算方法。基于期望的比特错误计算,过程300可包括评估自块被编程后的有效时间量和/或直到期望实现后续数据清理操作的时间量。该过程内在地考虑断电和/或通电状态下设备经历的环境因素。例如,如果存储设备经受过热,则这种热可能影响参考块的数据保持性质,从而对存储在参考块内的值的分析考虑热的影响。另一方面,简单地使用时间戳不能以同样的方式考虑环境的影响。
[0034]可根据任何期望的方式执行方框310的评估。例如,在数据清理的阈值是ERl (例如,其中ER1〈〈1)的实施例中,基于测量的RBER值和ERl的差,可以评估应当执行下一次数据清理操作之前的时间段。例如,RBER和ERl之间的差很小(其指示错误率接近阈值)可导致在短的时间段内调度下一次清理。
[0035]在特定实施例中,可以动态地重新分配参考块。例如,当静态损耗均衡(SWL)事件(例如,对于整个设备最高P/E计数块具有的P/E循环比最低P/E计数块多400)发生时,最高P/E计数块(SWL源)的数据可移动到参考块之一(SWL目的地)。由此,可擦除具有最高P/E计数的SWL源块并将其分配给参考块。以这种方式,可动态地重新分配参考块,其中各块的P/E计数基本上接近于设备内的最高值。随着垃圾收集和数据清理在后台继续进行,某些数据块(用户或系统)P/E计数将增加,从而SWL事件将继续发生,此时可将其他参考块选作SWL目的地。
[0036]在特定实施例中,参考块内的一些、全部或基本上全部页被编程。然而,出于数据保持评估的目的,有必要读取的参考块的页可能只有一或两个典型页。因此,参考块读取可能只需要通电期间的短时间段(例如,大约50μ S)。另外,可通过伪随机数发生器使用已知种子(例如O)产生参考块的预定义数据模式。因此,可能不需要物理存储该数据模式。
[0037]通讨RBER评估自h—个编稈以来的时间
[0038]过程300可以与不同的固态存储器设备相兼容,并且可以执行过程300以便从参考块收集数据,从而确定自先前的程序操作以来经过的时间。图4中所示的图表提供关于根据一个实施例如何基于所确定的原始误比特率(RBER)调度数据清理的额外信息。图4显示自编程以来所经过的时间(X轴)和RBER (Y轴)之间的关系。曲线402显示随着自上一个编程以来所经过的时间的增加,RBER上升。一旦自编程以来经过特定量的时间(时间点404),数据保持的退化达到一点,在该点尝试读取存储器模块(例如,读取页)将导致RBER达到ECC限制(例如,页的ECC限制)。换句话说,在时间点404,页的读取可能导致比特错误的数量超过配置ECC要纠正的比特错误的数量,导致潜在的数据损失。为了阻止这种情况发生,清理阈值被设定在ECC限制下,因此在时间点406将触发数据清理。因为数据清理包括新的程序操作,所以它将重置曲线402到时间点410 (该数据立即被重新编程)。
[0039]可以为参考存储器块预先表征曲线402的斜率/形状。由此,在特定的给定时间点上(例如,时间点408),一旦确定该时间点的RBER,则可以评估自上一个编程以来所经过的时间(即,时间点410和408之间的距离)。也可外推RBER以评估相关块或几个块将到达清理阈值的时间(时间点408和406之间的距离)。如所能看到的,RBER越高,当前时间和触发清理的时间之间的时间越短,反之亦然。在一个实施例中,可根据环境因素调整这种外推。例如,如果当前驱动器温度高,那么下一次调度的清理可能比现在图表中所标记的时间还要提前,或者相对于系统中的其他任务,下一次调度的清理被赋予更高的优先级,以便其可以被更快地执行。
[0040]通过读取电压阈值评估自上一个编程以来的时间
[0041]除了使用误比特率以外,可以根据这里公开的实施例利用其他方法或机制来评估固态存储设备内一组块的数据保持性质。例如,读取的电压阈值的变化可提供数据保持评估可以依据的信息。为了有助于解释该概念,图5A提供显示非易失性固态存储设备内单元的概率分布的实施例的图表。闪存(诸如多层单元(MLC) NAND闪存)可以每单元存储2比特的信息。尽管本文公开的特定实施例是在MLC的背景下描述的,但是应该理解这里公开的概念可以与单层单元(SLC)技术或其他类型的技术相兼容。
[0042]图5A中所示的水平轴表示电压读取水平。垂直轴表示具有相应电压值的单元的数量。由此,4条分布曲线表示具有相应电压值的单元数量,它们被4种分布所分开。如图所示,存储器单元500A的电压分布可包括多种不同水平(例如,对于MLC,为水平L0-L3)。读取参考值(即电压阈值水平R1-R3)可能置于这些水平之间。各水平之间的间隙(即编程状态之间的边界)称为“读取裕度(margin)”,在特定实例中可有利地将读取电压参考设置在其中。各个分布水平之间的读取裕度可能随时间以及由于各种物理情况和来自重复P/E循环的损耗而减小,这导致数据保持问题和超出特定限制的更高读取错误。读取裕度的这种减小可能是由多种因素导致的,例如由闪存单元氧退化引起的电荷损失、异常程序步骤引起的过编程、在单元位置进行大量读或写导致的对邻近已擦除单元的编程和/或其他因素。
[0043]图5B是显示根据一个或更多个实施例的非易失性固态存储设备内具有减小的读取裕度的单元的概率分布的图表。图5B所示单元的编程逻辑值(L3)可设定为特定二进制值,例如10。类似地,每个剩余水平(L0-L2)可对应于不同的二进制值(例如,分别为11、01和00)。如图所示,表示各种读取水平的各峰已经向左迁移,从而读取水平之间的各读取裕度被减小或整个消失。结果,需要对电压阈值R1-R3进行移位以补偿这种变化。因此,通过确定两个读取水平之间的当前电压阈值水平以及比较该当前电压阈值水平和原始阈值水平,可推导出关于单元的数据保持性质如何变化的信息。如上面公开的实施例一样,使用数据保持信息可确定数据清理调度。
[0044]如图5C所不,在特定实施例中,最闻电压水平(例如L3)和下一个最闻电压水平(例如L2)之间的Vt移位可用于评估数据清理调度。例如,图6示出可用于基于Vt (Vwtt)移位计算数据清理调度的过程。在一个实施例中,过程600至少部分由控制器130和/或数据保持监控模块140执行。过程600包括在方框602中编程参考块。在参考块被编程后的时间段,为该块的一个或更多单元确定两个电压水平之间(例如最高水平和下一个最高水平之间)的Vt移位。这在方框604中执行。在方框606中,Vt移位用于评估自参考块被编程以来的时间段和/或将执行后续数据清理操作的时间。[0045]基于Vt移位评估数据保持性质和/或数据清理调度可通过多种方法来实现。参考图5B和图5C的501,可通过将电压阈值R3向左平移(看图5B_C “R3起始”到“R3终止”)直到达到饱和点来实现Vt移位,其中进一步向左平移(swe印)提供具有减少的翻转比特的裕度改进。对于图5B的实施例,平移Vt时所检测到的比特错误可能对应于从I到O的翻转上部页比特,这就是最高水平(L3)和下一个最高水平(L2)之间的差。
[0046]图的图表对应于第二(L2)和第三电压(LI)水平之间的Vt移位。如图5B和图5D的502处所示,阈值R2以与图5C的实施例相似的方式向左平移直到达到饱和点。在所示实施例中,当平移^时所检测到的比特错误可能相应于从O到I的翻转下部页比特,这是相关电压水平之间的差别。移位502提供可推导出数据保持性质的信息。
[0047]对于检测Vt移位的各实施例而言,图5C的实施例可能是优选的,因为较高的电压水平可能经受由数据保持问题造成的更大程度的电压移位,如通过501和502的相对移位大小示出的。在特定实施例中,为了减小块或单元经历不可纠正的错误的可能性,人们期望用参考块和/或测量的单元表示最高或相对高的错误。尽管这里公开的实施例通常是在两比特调制技术背景下描述的,但是所公开的系统和方法可应用到使用每单元任何数量比特的技术的系统上。应注意到,上面公开的任何系统可配置成至少部分考虑多种数据保持因素(例如时间和温度)的累积影响。
[0048]图7图示用于在供电后恢复先前初始化的数据清理操作的过程的流程图。在一个实施例中,至少部分通过控制器130和/或数据保持监控140执行过程700。在数据清理完成之前终止数据清理的情形下(例如由于断电),图7的过程可提供在利用参考块的功能性时处理这种情况的机制。
[0049]过程700在方框702开始,其中为数据存储设备通电。在特定初始化后,可以从固态存储器中读取特定系统数据以检查值(例如,活动标志)从而确定是否存在断电状态下运行的数据清理、垃圾收集和/或静态损耗均衡操作。该步骤在决策方框704中执行。如果存在,则使存储设备继续执行这样的操作是令人期望的。如果没有这样的操作等待处理,则过程700恢复正常操作,其中可根据这里公开的一个或更多实施例调度下一次数据清理事件。所检查的标志可指示在上一个通电`期间未完成的数据操作。因此,系统需要记录在断电之前清理或其他操作已经执行到哪个块。
[0050]在方框706中,恢复清理或其他操作,优选在与操作先前被终止相关的点恢复。这允许先于其他任何事件执行未完成操作,包括可能的清理、垃圾收集和静态损耗均衡。在特定实施例中,首先清理一个或更多个参考块。
[0051]过程700可以继续从一个或更多参考块中读取数据并基于以上公开的一个或更多个方法评估数据保持性质/特性。基于结果,该过程可相应地包括重新调度数据清理。通常,数据保持性质越差,将越快地调度数据清理。
[0052]这里公开的各种实施例可提供以下优势中的一种或更多种。首先,如上面讨论的,一些已知的追踪数据保持时间的技术是每当页被编程时在元数据区域中添加真实时间戳。通过这种方式,可以记录数据保持的持续时间,但是这种数据不能说明P/E循环或温度因素。参考块具有与数据炔基本相同的经历,因此通过从参考块读取原始数据且将其与预定义的模式比较而获得的RBER值可反映固态存储器设备上特性变化的几乎全部可能因素。这些因素可包括P/E循环、单元间干扰、数据保持时间和温度,甚至关于断电期间的设备情况。另外,参考块的实施可实现动态的数据清理计划,其可提高系统系能,而几乎不损失可靠性,例如通过对新产品使用不频繁的数据清理而对循环产品使用更频繁的数据清理。
[0053]另外,由于参考块不是专有块,因此与浪费存储容量相关的问题,如使用真实时间戳方法发现的问题被排除。每当静态损耗均衡发生时,可从数据块中动态分配参考块。另夕卜,由于使用预定义数据模式编程参考块,所以可以确保使用参考块的校准结果微调读取水平的可行性。
[0054]其他变型
[0055]如本申请中所用的,“非易失性存储器”通常涉及固态存储器,例如但不限于NAND闪存。然而,在更传统的硬盘驱动器和包括固态和硬盘驱动部件的混合硬盘驱动器中,本公开的系统和方法也是有用的。如本领域公知的,固态存储设备(例如管芯)可物理上划分成平面、块、页和扇区。额外地或替代地,可使用其他形式的存储(例如,电池备份易失性DRAM或SRAM设备、磁盘驱动器等)。
[0056]本领域的技术人员将意识到,在一些实施例中,可以实施其他类型的数据存储系统和/或数据保持监控。另外,图2、3、6和7所示过程中所采取的实际步骤可能不同于附图中所示的步骤。根据实施例,可以删除上面描述的特定步骤,可以添加其他步骤。因此,本公开的范围倾向于仅通过参考所附的权利要求被限定。
[0057]在描述特定的实施例的同时,仅通过示例的方式呈现这些实施例,并不是要限制保护的范围。事实上,可以通过多种其他形式体现这里描述的新颖的方法和系统。另外,可以对这里描述的方法和系统做出各种忽略、替换和改变。所附的权利要求及其等价物倾向于覆盖在本保护的范围和精神内的这些形式或变体。例如,附图中示出的各种部件可实施成处理器、ASIC/FPGA或专用硬件上的软件和/或固件。而且,可以用不同方法组合上面公开的特定实施例的特征和属性以形成其他的实施例,它们全部都在本公开的范围内。尽管本公开提供特定优选的实施例和应用,但是对本领域技术人员而言,其他实施例是明显的,包括不提供这里记载的全部特征和优势的实施例,这些实施例也在本公开的范围内。因此,本公开的范围倾向于仅通过参考所附的权利要求来限定。
【权利要求】
1.一种能够监控固态存储器的数据保持性质的固态存储设备,其包括: 非易失性固态存储器阵列,其包括多组块;和 控制器,所述控制器被配置成: 在所述多组块中的一组块的参考块中存储预定数据模式,所述参考块具有至少部分代表所述一组块的数据保持性质的数据保持性质; 读取存储在所述参考块中的数据值; 基于读取的质量,确定预定数据模式的存储和所述数据值的读取之间经过的时间的评估量;和 至少部分基于经过的时间的评估量确定数据清理调度计划。
2.根据权利要求1所述的存储设备,其中所述控制器配置成响应损耗均衡事件将所述预定数据模式存入所述参考块。
3.根据权利要求1所述的存储设备,其中所述控制器还配置成选择所述一组块中具有最高程序擦除计数的块作为参考块。
4.根据权利要求1所述的存储设备,其中所述预定数据模式包括使用已知的种子值产生的伪随机数。
5.根据权利要求1所述的存储设备,其中所述控制器还配置成至少部分通过计算从所述参考块中读取的数据值相比所述预定数据模式的误比特率确定经过的时间的评估量。
6.根据权利要求5所述的`存储设备,其中所述误比特率提供与物理环境相关的信息,其中在过去的时间段内,非易失性固态存储器阵列布置在该物理环境中。
7.—种监控包括存储器块的非易失性固态存储设备中的数据保持的方法,该方法包括: 在非易失性固态存储设备的一组块的第一参考块内存储第一预定数据模式,该第一参考块具有至少部分代表所述一组块的数据保持性质的数据保持性质; 读取存储在第一参考块中的数据值以确定所述第一参考块的数据保持性质;以及 至少部分基于所述数据值,计算执行未来数据清理操作的时间段; 其中所述方法是在存储设备的控制器的控制下执行的。
8.根据权利要求7所述的方法,还包括在所述时间段内对所述一组块的至少一个块执行数据清理操作。
9.根据权利要求8所述的方法,还包括在执行所述数据清理操作后,动态地向所述一组块的另一参考块重新分配所述第一参考块。
10.根据权利要求7所述的方法,还包括: 确定是否存在在之前的固态存储设备关闭期间待处理的过去的数据清理操作;以及当确定存在待处理的过去的数据清理操作时,在计算未来数据清理时间段之前恢复所述数据清理操作的执行。
11.根据权利要求10所述的方法,还包括在第二参考块中存储第二预定数据模式,其中所述第一参考块和第二参考块存储在固态存储设备的不同物理存储器单元内。
12.根据权利要求7所述的方法,其中计算未来数据清理时间段包括计算存储在所述第一参考块中的数据值相比于所述第一预定数据模式的误比特率。
13.根据权利要求12所述的方法,其中计算未来数据清理时间段至少部分基于所述误比特率和预定的阈值错误率之间的差。
14.根据权利要求7所述的方法,还包括在一个或更多个额外参考块中存储所述第一预定数据模式,其中计算未来数据清理时间段包括计算第一参考块和额外参考块相对于所述第一预定数据模式的平均误比特率。
15.根据权利要求7所述的方法,其中计算未来数据清理时间段包括使用预定的参考读取水平电压读取第一参考块的页以及平移所述读取水平电压直到从所述第一参考块中读取第二预定数据模式。
16.根据权利要求7所述的方法,其中计算未来数据清理时间段包括确定第一参考块的页的阈值电压读取水平以及比较所述阈值电压读取水平与预定的默认电压读取水平。
17.—种监控包括存储器块的非易失性固态存储设备的数据保持的方法,该方法包括: 从非易失性固态存储设备的一组块中选择第一参考块,该第一参考块具有至少部分代表所述一组块的数据保持性质的数据保持性质; 读取存储在所述第一参考块中的数据值以确定阈值读取电压水平在参考块中存储器单元的两种编程水平之间的移位;以及 至少部分基于所确定的阈值读取电压水平的移位,计算执行未来数据清理操作的时间段, 其中所述方法是在存储设 备的控制器的控制下进行的。
18.根据权利要求17所述的方法,其中两种编程水平包括存储器单元的最高编程水平。
19.根据权利要求17所述的方法,其中两种编程水平包括存储器单元的第二最高和第二最闻编程水平。
20.根据权利要求17所述的方法,其中读取存储在所述第一参考块中的数据值以确定阈值读取电压水平的移位包括对所述单元使用不同的电压阈值执行多次读取来确定所述移位。
21.根据权利要求20所述的方法,其中对所述单元执行多次读取包括: 使用电压阈值读取单元; 确定所遇到的错误量; 调整所述电压阈值; 使用调整的电压阈值重新读取所述单元并确定所遇到的错误量的变化;以及 重复读取、确定以及调整直到所遇到的错误量的变化的比率达到预定的饱和阈值。
22.一种能够监控固态存储器的数据保持性质的固态存储设备,其包括: 非易失性固态存储器阵列,其包括多组块;和 控制器,其配置成: 从非易失性固态存储设备的一组块中选择第一参考块,该第一参考块具有至少部分代表所述一组块的数据保持性质的数据保持性质; 读取存储在所述第一参考块中的数据值以确定阈值读取电压水平在所述参考块的存储器单元的两种编程水平之间的移位;以及 至少部分基于所确定的阈值读取电压水平的移位,计算执行未来数据清理操作的时间段。
23.根据权利要求22所述的固态存储设备,其中所述两种编程水平包括存储器单元的最闻编程水平。
24.根据权利要求22所述的固态存储设备,其中所述两种编程水平包括存储器单元的第二最闻和第二最闻编程水平。
25.根据权利要求22所述的固态存储设备,其中所述控制器配置成来读取存储在第一参考块中的数据值以确定阈值读取电压水平的移位,采用的方式是通过使用不同的电压阈值对所述单元执行多次读取来确定所述移位。
26.根据权利要求25所述的固态存储设备,其中对所述单元执行多次读取包括: 使用电压阈值读取单元; 确定所遇到的错误量; 调整所述电压阈值; 使用调整的电压阈值再次读取所述单元并确定所遇到的错误量的变化;以及 重复读取、确定和调整直到所遇到的错误量的变化的比率达到预定的饱和阈值。
【文档编号】G11C29/42GK103632730SQ201310363219
【公开日】2014年3月12日 申请日期:2013年8月20日 优先权日:2012年8月21日
【发明者】M-M·L·苏, J-Y·杨, D·赵 申请人:西部数据技术公司