首页> 中国专利> 用于估计和报告闪存盘存储器的预期寿命的方法

用于估计和报告闪存盘存储器的预期寿命的方法

摘要

一种用于管理存储设备的方法、如此管理的存储设备和包括这种存储设备的系统。监控在存储设备上的数据操作之后存储设备的寿命参数的值,其中所述监控由存储设备执行。从该值得出存储设备的等级。优选地,寿命参数包括成功处理后的数据与未成功处理的数据之比和在设备功耗方面的偏差。等级用作对存储器预期寿命的预报。优选的等级包括:比较等级、最大等级和平均等级。

著录项

  • 公开/公告号CN101529526A

    专利类型发明专利

  • 公开/公告日2009-09-09

    原文格式PDF

  • 申请/专利权人 晟碟以色列有限公司;

    申请/专利号CN200780003613.9

  • 申请日2007-02-08

  • 分类号G11C29/00(20060101);G11C11/34(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人赵冰

  • 地址 以色列卡法萨巴

  • 入库时间 2023-12-17 22:40:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-08-14

    授权

    授权

  • 2009-11-04

    实质审查的生效

    实质审查的生效

  • 2009-09-09

    公开

    公开

说明书

技术领域

本发明涉及一般在数字存储设备中、具体而言在可移动的闪存设备中可靠性恶化的内置检测方法。

背景技术

数字存储设备经常用作重要数据的可靠的存储设备。由于这种设备很复杂而且预期寿命有限,数字存储设备会失效,并且导致损失有价值的数据。非易失性存储系统包括存储器和控制系统,它们有时位于同一硅片上。控制系统执行的任务之一就是纠错。

纠错码(ECC)检测数据中由于存储元件的性质或操作环境的特点所产生的偶然错误,弥补该错误,并且应用户的请求提供改正后的原始信息。ECC系统对于可以校正的错误数量具有内在的限制。在遇到过多的错误时,不能修复信息,可以报告信息已丢失,或者将带有错误的信息发送给用户。

使用存储设备的软件应用程序假设信息是正确的,直到校正系统无法修复数据。只要存储器仍然完全能工作,就不会对用户给出指示说存储器正在恶化并且接近失效。应该注意到,错误水平仅是可以用于在失效之前预测存储器的预期寿命的数个预警征兆之一。

如今,用户(和应用程序)不知道所存储的数据的状态或条件。因此,用户不能采取积极措施来降低丢失数据的风险。这些措施例如包括创建数据备份、将数据转移到新的存储介质、以及将存储设备的发生问题的区域改写到其它区域。

现有技术没有提供报告存储设备的“健康状态”(即工作可靠性性能)的途径。虽然一些现有技术的方法出于内部负载平衡的目的而记录设备的使用量(即,对设备进行写入的次数),但是这些方法不是为了向用户或应用程序提供预警指示而设计的。虽然在设备的使用量和设备的剩余预期寿命之间存在关系,但是这种关系并不绝对,因为在设备之间存在固有的、随机的可变性(类似于仅根据年龄预测人的预期寿命的不精确性)。

试图监控存储设备的健康状态的方法在本领域中是已知的,但是受到主机系统上运行的程序的限制。因此,这些方法仅可以在采用了纠错方法校正错误之后处理改正的信息。现有技术系统的实例在称为“盘健康状态”的特征中提供,该特征包括在可从Symantec Corp.,Cupertino,CA获得的“Norton System Doctor(NSD)”产品中(也在NSD产品手册中包括的文档ID:2001082218352309中描述,并且可以在Norton网站www.norton.com上找到)。从存储设备读出数据;因此,主机系统在数据被校正之前不暴露于原始数据。这方面使得这种现有技术的方法对存储设备健康状态恶化的早期阶段不太敏感。

希望当设备的健康状态发生恶化并且接近高概率的失效时向存储设备的用户给出预警指示。

更好的是,希望拥有驻留在存储设备上的根据一种方法操作的系统,并且在进行任何尝试以校正数据之前,检测和报告存储设备上所指示的寿命参数的实际恶化情况。这种系统对于现代多层闪存设备来说将是非常重要的,在现代多层闪存设备中,其固有的预期寿命短于传统的单层闪存设备,并且可以测量老化的征兆而不会减慢常规操作。

发明内容

本发明的目的是提供一种一般在数字存储设备中、并且具体而言在可移动的闪存设备中用于可靠性恶化的内部检测的方法。本发明描述了闪存设备作为典型的例子,但本发明可应用于并希望覆盖任意的存储设备。

为了清楚起见,在本申请的上下文中使用具体定义的以下若干术语。术语“寿命参数”在本申请中用于表示一个存储设备的变量,它的值在存储设备的寿命期间是变化的,代表了存储设备的至少一个单元的相对恶化的健康状态,并且与设备的预期寿命相关。这种参数例如包括:当比特被写入存储器时的错误的平均数量、编程周期的数量、以及(基于编程操作的第一编程脉冲)翻转逻辑状态的比特数。

本发明应用于单层单元(SLC)闪存和多层单元(MLC)闪存。虽然以下讨论主要集中在SLC单元上,但是对于本领域技术人员来说,如何将本发明应用于MLC单元是清楚的。在此使用术语“擦除”和“写入”以指示设置存储单元的阈值电压,其中“擦除”典型地将SLC单元的电压设置为对应于逻辑状态1,“写入”典型地将SLC单元的电压设置为对应于逻辑状态0。在此可互换地使用术语“写入”和“编程”。本发明尤其可适用于一次读取和编程一页的NAND型闪存。

在本申请中使用术语“块(block)”来表示存储器中在单次操作中可以擦除的最小数量的单元。在本申请中使用术语“页(page)”来表示存储器中在单次操作中可以写入的最小数量的单元。典型地,一个块中有多个页。在本申请中使用术语“等级(grade)”来表示基于页或块的寿命参数值的存储器页或块的可靠性的量度。应注意的是,典型地针对块(而不是页)来执行擦除操作。因此,在擦除操作的情况下,“等级”表示基于块的寿命参数的块的可靠性的量度。

在本申请中使用术语“初始健康状态”来表示一个寿命参数,该寿命参数代表页或块的等级与某个参考值的偏离。块可以以不同的初始健康状态开始它们的“生命”。在本申请中使用术语“相对恶化的健康状态”来表示块或页从被生成和测试以来它们的健康状态从初始健康状态的恶化。块的健康状态可以以不同的速度恶化。在本申请中使用术语“健康单元”来表示在与数据操作相关的一系列编程脉冲之后成功改变了逻辑状态的单元。

此外,在本申请中使用术语“存储设备”来表示通过可能导致错误的物理过程存储数据的任何非易失性存储器。这种存储设备包括基于半导体、磁、全息图、光和其它物理二进制逻辑存储技术的便携式和固定的设备。

图1是针对SLC NAND型闪存设备的典型写操作过程的操作流程图。当闪存设备的存储器的控制器指示存储器将某些信息写入到一页时,该存储器进行一系列操作。数据首先被写入存储器缓冲器(方框10)。然后,选择写入操作数据的目的地(即,存储器中的物理位置,或“字行(word line)”)(方框12)。编程步骤被划分为若干个短的编程脉冲。第一个脉冲用于编程要被编程的所有比特(方框14)。在每个编程周期之后,检查被编程的比特以验证这些比特是否满足阈值电平(此电平高于标准的读阈值电平)(方框16)。如果不是所有比特都具有正确的值(方框18),则执行一个附加的编程周期(方框20)。可选地,可以以较高的电压执行所述附加的周期(方框20)。当所有比特都匹配于缓冲器值时,结束这个编程周期(即写操作)(方框22)。

通常,编程周期使用电平逐渐增加的电压,直到写操作结束。但是,在某些类型的NAND型闪存设备中,第一和第二脉冲之间的差远高于后续脉冲。在这种情况下,可以使用在一些初始的大增量之后以小步长增加电压的选项。

有选择性地把数据写入(即编程)到闪存的过程包括典型地在SLC实现中从逻辑1到逻辑0改变所选存储单元的逻辑状态。有选择性地从闪存擦除数据的过程包括将所选存储单元的值典型地从逻辑0改变为逻辑1。但是,这种指定是任意的,同样也可以以相反的指定来实现。

NAND型闪存具有一个或多个页缓冲器(即,具有读/写能力的存储单元),它们在将数据编程到闪存单元中之前接收数据。页编程方法,对于每个闪存单元包含一比特信息并且擦除的闪存单元具有逻辑1的闪存来说,页编程方法执行以下步骤:

(1)仅对在页缓冲器的相应单元中具有逻辑0的闪存单元应用编程电压脉冲,其中编程电压脉冲是将单元设置到所希望的阈值电压的单次尝试,典型地需要许多这种脉冲来实现所希望的电压电平;

(2)读取被编程到存储器中的数据;

(3)对于在被读取时返回逻辑0的所有闪存单元,将页缓冲器的相应单元设置为逻辑1;

(4)重复步骤1-3,直到页缓冲器中所有单元均包含逻辑1或者直到脉冲的数量超过所允许的最大数量;以及

(5)如果脉冲的数量超过所允许的最大数量,则为页编程操作返回故障状态。

本发明包括多个优选实施例,其中闪存设备的存储控制器可以检测闪存设备恶化的征兆,并且提供对闪存设备的预期寿命的可靠预测。从一个等级偏离的寿命参数用作对闪存设备的预期寿命的“预报”。具有较差寿命参数的设备表示预期寿命比具有较好寿命参数的设备相对较短。

在一个优选实施例中,该系统监控在从闪存读取数据时错误的概率。通常,此统计量可用于闪存控制器的ECC,并且不需要对闪存本身的任何直接访问。在某些闪存设备中,ECC被内建到闪存本身中。在这种设备中,关于错误数量的信息可通过一个命令而供存储控制器使用。

在另一个优选实施例中,该系统监控在编程期间改变数据比特的状态所需脉冲的平均数或最大数量。在闪存设备中,这个数量典型地在从4到25个编程脉冲的范围内(取决于闪存的类型)。随着闪存恶化,将数据写入闪存所需的脉冲数增加。

在另一个优选实施例中,该系统监控在给定数量的脉冲之后数据比特的逻辑状态成功改变的次数。例如,在第一脉冲之后被正确编程的比特数量随着闪存的恶化而降低,因为更多的比特需要多于一个脉冲来进行写入。

因此,根据本发明,第一次提供了一种用于管理存储设备的方法,该方法包括:(a)监控在存储设备上的数据操作之后存储设备的寿命参数的值,由存储设备执行所述监控;以及(b)从该值得出存储设备的等级。

优选地,寿命参数是成功处理后的数据与未成功处理的数据之比。

作为替代,寿命参数是存储设备的功耗方面的偏差。更优选地,该偏差是多次操作的测量结果的平均值。

优选地,等级用作存储器预期寿命的预报。

优选地,所述操作是编程操作,并且所述值是与所述操作相关的、改变存储设备的一页中至少一个单元的逻辑状态所需的编程脉冲的数量。

优选地,所述操作是擦除操作,并且所述值是与所述操作相关的、改变存储设备的一块中至少一个单元的逻辑状态所需的编程脉冲的数量。

优选地,所述操作是编程操作,并且所述值是存储设备的一页中健康单元的数量。

优选地,所述操作是擦除操作,并且所述值是存储设备的一块中健康单元的数量。

优选地,所述操作是从包括以下内容的组中选出的:写数据、读数据和擦除数据。

优选地,所述等级是从包括以下内容的组中选出的:当前值与预定的参考值的比较等级、存储在监控设备中的多个值的最大等级、以及存储在监控设备中的多个值的平均等级。

更优选地,如果所述等级是当前值与预定的参考值的比较,则该方法进一步包括以下步骤:(c)在制造存储设备时将所述预定的参考值存储在存储设备中。

优选地,监控步骤包括为了导出所述等级而访问存储设备。

优选地,该方法进一步包括以下步骤:(c)在监控设备中存储所述等级。

更优选地,所述监控设备是从包括以下内容的组中选出的:存储设备、存储设备的嵌入式控制器、以及存储设备的主机系统。

优选地,所述导出步骤由存储设备发起。

优选地,所述导出步骤由存储设备的主机系统发起。

优选地,所述导出步骤由存储设备的嵌入式控制器发起。

优选地,所述导出步骤由运行在主机系统上的应用程序发起。

优选地,所述导出步骤由运行在主机系统上的操作系统发起。

根据本发明,第一次提供了一种用于管理数据的存储设备,该设备包括:(a)存储器;以及(b)控制器,可操作用于:(i)在存储器上进行数据操作之后监控寿命参数的值;以及(ii)从该值导出存储设备的等级。

优选地,所述等级用作对存储设备的预期寿命的预报。

根据本发明,第一次提供了一种用于管理数据的系统,该系统包括:(a)包含存储器的存储设备;以及(b)处理器,容纳在所述存储设备内,可操作用于:(i)在存储器上进行数据操作之后监控寿命参数的值;以及(ii)从该值导出存储设备的等级。

优选地,所述等级用作对存储设备的预期寿命的预报。

这些和其它实施例将从以下的具体描述和实例中变得更为清楚。

附图说明

参考附图,仅通过实例的方式在此描述本发明,其中:

图1是用于闪存设备的典型的写操作的操作过程的流程图;

图2示出根据本发明的一个优选实施例,存储设备的数据页(或块)的等级恶化的质量分析图,其是时间的函数;

图3A是根据本发明的一个优选实施例,用于监控存储控制器所发现和修正的错误数量的方法的操作过程流程图;

图3B是根据本发明的一个优选实施例,用于将存储设备的健康状态报告给主机系统的方法的操作过程流程图;

图4A是根据现有技术和本发明,典型的数据页格式的简化示意图;

图4B是根据本发明的一个优选实施例,包括页的等级的数据页格式的简化示意图;

图5是根据本发明的一个优选实施例,用于监控写一页所需的脉冲数量和在给定数量的脉冲之后翻转的比特数量的方法的操作过程流程图;

图6A是根据本发明的一个优选实施例,耦合到主机系统的闪存设备的高层框图;

图6B是根据本发明的一个优选实施例,耦合到主机系统的另一闪存设备的高层框图。

具体实施方式

本发明涉及用于数字存储设备中可靠性恶化的内部检测的方法。根据本发明,数字存储设备中可靠性恶化的内部检测的原理和操作可以参考所附说明书和附图而更好地理解。

现在参考附图,图2示出根据本发明的一个优选实施例,存储设备的数据页(或块)的等级恶化的质量分析图,其是时间的函数。如上面所提到的,该等级可以根据操作而表示一页或一块。图2中的曲线表示存储设备的页或块的各自的等级。下面考虑这样的曲线30。曲线30的页/块的初始健康状态被定义为曲线30的初始等级(在t=0,即在存储器的生产/测试时)与直线32所示的参考等级值的偏差。在给定时刻曲线30的页/块的相对恶化的健康状态表示为从曲线30到直线32的等级差34。

图3A是根据本发明的一个优选实施例,用于监控存储控制器所发现和修正的错误数量的方法的操作过程流程图。从存储设备例行读取信息,或者对信息的访问由应用程序动作或在设备控制器上运行的内部程序(例如,内部测试或正常维护过程)发起(方框40)。在从存储设备读取信息,包括读取原始(即原始存储的)数据和任何存储的ECC信息的同时(方框42),检查信息中的数据错误(方框44)。

在采用检错/纠错的时,修正错误。计算(方框44)并且修复(方框46)和原始数据不匹配的比特。每页所修复的比特数为控制器提供当前所读取的页的可靠性的量度。在本实施例中,每页所修复的比特数保存在嵌入式控制器(即,嵌入到存储设备中的控制器)中,并且仅把校正后的数据传递到应用程序(方框48)。可选地,在一些ECC算法中,通过控制器将修复后的数据重写到存储器(方框50)。此外,控制器还可选地把错误比特的数量存储到存储器(方框52),作为页的可靠性的量度,被称为“等级”。

图4A是根据现有技术和本发明,典型的数据页格式的简化示意图。页70典型地具有在相关数据、即信息数据74后面紧接着存储的ECC信息,即ECC 72。ECC 72通常基于已知的检错/纠错方法(例如,Reed-Salomon或BCH算法)。这种纠错算法可以在有限的程度上修正数据(例如,每512字节的页修正最多4个错误比特)。

图4B是根据本发明一个优选实施例,包括页的等级的数据页格式的简化示意图。页76具有在信息数据74和ECC 72后面紧接着存储的等级78。典型的报告等级78是每512字节的页一个错误比特。当等级78增加到危险级别(例如每512字节的页4个错误比特)或者超过一个阈值时,应用程序通过发起一个动作而针对来自等级78的信息采取行动,即使信息数据74已经得到校正。例如,应用程序可以把信息数据74重写到不同的页,或者报告恶化情况,从而提高信息数据74的长期可靠性。

作为替代,可以采用不同类型的等级报告。图3B是根据本发明的一个优选实施例,用于将存储设备的健康状态报告给主机系统的方法的操作过程流程图。在本实施例中,“页错误等级”被存储在控制器中,并且响应于读操作被报告给应用程序(方框54)。响应于来自应用程序的直接请求(方框54),报告在整个存储器中找到的页等级或动态(例如,最差或平均)等级。在代表最差等级的动态等级的情况下,在每次读取数据时如果错误数量超过当前存储的等级,则更新这个等级,使得该等级表明对于该页或对于整个存储设备所检测出的错误的最大数量。在代表平均等级的动态等级的情况下,每次读取数据时都更新这个等级。等级读取操作(方框54)包括以下步骤。主机系统请求特定的页等级或设备等级(方框56)。控制器然后从信息的存储位置(例如,存储器、寄存器或控制器中的嵌入式存储器)读取该信息(方框58)。

可选地,如果该动作需要基于所存储的等级计算一个等级(例如,基于页的各个等级计算所有页的平均等级或最大等级),则控制器执行此计算(方框60)。然后将所请求的信息(即,等级)发送到主机应用程序(方框62)。

图5是根据本发明的一个优选实施例,用于监控写一页所需的脉冲数量和在给定数量的脉冲之后翻转的比特数量的方法的操作过程流程图。在本实施例中,控制器使用把所有比特设置为正确值所需的脉冲数量作为页恶化的量度。图5中所示的过程类似于图1中所示的过程。数据存储在存储缓冲器中(方框80),然后选择写操作的存储器中的物理位置(方框82)。将第一脉冲用于编程所有比特(方框84)。在每个编程脉冲之后,读取数据,并且与缓冲器中的目标数据进行比较(方框86)。

在一个优选实施例中,记录所述页中没有由第一脉冲或者任何后续编程脉冲成功翻转的比特的数目或百分比(方框88)。这个数目被用作存储器老化或健康状态的替代量度。在另一个优选实施例中,作为方框88所示步骤的替代或者补充,使用了一个附加的计数器,并且在每个脉冲之后使该计数器递增(方框90)。该计数器对编程周期中编程脉冲的数量进行计数。完成编程所需的脉冲的数量被用作存储器老化或健康状态的一个量度。

在每个编程周期之后,检查编程后的比特以验证它们是否满足阈值电平(此电平高于标准的读阈值电平)(方框92)。如果不是所有比特都在正确的值上(方框92),则执行一个附加的编程周期(方框94)。可选地,这个附加的周期可以以较高电压来执行(方框94)。当所有比特都匹配于缓冲器值时,结束该编程周期(即,写操作)(方框96)。

在本发明的一个优选实施例中,所报告的等级是“块等级”(与“页等级”相对),并且从读和写操作所收集的关于页等级的信息仅用于将信息贡献给包含这些页的特定块的块等级。结果,仅以“块分辨率”来报告健康状态。

在本发明的一个优选实施例中,所报告的等级代表设备在功耗方面的偏差(例如,与参考功耗或初始功耗的偏差)。这样的等级表示设备在执行数据操作时的效率。例如,需要多个编程脉冲来执行一个操作的设备将比可以以较少脉冲执行该操作的设备消耗更多功率。

在本发明的一俄优选实施例中,在一段给定时间内未访问、因此长时间未测量健康状态的页在后台被自动读取,以便可以评估该页的老化程度。

在本发明的另一个优选实施例中,通过在制造之后将该块/页的测得的健康状态与(在制造时存储在原始存储器中的)原始健康状态进行比较,评估设备的老化程度。这种方法补偿了设备的固有的非一致性,其中存储器的某些区域以比其它区域更好的健康特性被制造。

图6A是根据本发明的一个优选实施例,耦合到主机系统的闪存设备的高层框图。图6是从Ban的美国专利No.5404485的图1改编而来,通过引用将该专利整体包括在此(以下称为Ban‘485)。闪存设备100包括闪存102、控制器104和随机存取存储器(RAM)106。控制器104对应于Ban‘485的“闪存控制14”,借助于RAM 106管理闪存102,如Ban‘485和美国专利No.5937425中所描述的,该专利也是Ban的,并且在以下称为Ban‘425,其也通过引用而整体包括在此。控制器104页支持存储在闪存102中的数据的刷新。图中示出闪存设备100连接到主机系统108。

图6B是根据本发明的一个优选实施例,耦合到主机系统的另一替代闪存设备的高层框图。主机系统110包括处理器112和四个存储设备:RAM 114、引导ROM 116、大容量存储设备(例如硬盘)118和闪存设备120,它们都通过共用的总线122进行通信。类似于闪存设备100,闪存设备120也包括闪存102。与闪存设备100不同的是,闪存设备120缺少其控制器和RAM。相反,处理器112通过执行实现Ban‘485和Ban ‘425所述方法并且也实现本发明所述等级监控技术的软件驱动程序(未示出)来模拟控制器104(例如,通过以色列的Kefar Saba的msystems公司的TrueFFSTM驱动程序的方式)。闪存设备120也包括总线接口124,用于使处理器112能够与闪存102通信。

虽然针对有限数量的实施例描述了本发明,但是应当理解,可以对本发明做出许多变更、修改和其它应用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号