专利名称:使用相对等级来实现闪存中的磨损均衡的方法
技术领域:
本发明涉及闪存,并且更准确地说,涉及通过实现存储器中的块
的磨损均衡(wear leveling )来延长闪存的使用寿命的方法。
背景技术:
闪存装置已经为人所知多年。闪存装置被用于制造高度可靠的固 态盘、用于PDA和蜂窝电话的数据存储、用于MP3播放器的音频文 件存储以及用于许多其它应用。当设计将闪存用于数据存储的产品时 必须考虑的一个方面是,闪存块可被擦除和重写的次数是有限的。例 如当前可以商用的NAND闪存装置通常由其制造商指定支持每块多 达100,000个写入/擦除周期,而每单元存储两位的更高密度多层单元 (MLC, Multi-Level-Cell) NAND闪存装置通常被指定支持每块多达 10,000个写入/擦除周期。当一个块达到其指定的写入/擦除周期极限 后,装置制造商将不再确保其可以根据其规范进行操作。因此,必须 注意避免存储器的块不必要地达到该极限的情况。
由于不同的闪存供应商使用不同的术语来描述存储的单位,为了 本公开的用途,我们在此定义"块"是可以在单个操作中被擦除的最小 存储单位,而"页"是可以在单个操作中被写入(或"被编程")的最小 存储单位。
如果没有避免非均匀磨损的措施,存储器系统的一般操作可能导 致块群上的这种非均勻磨损。这是因为大多数软件系统趋向于以不均 匀的方式在其存储地址空间上进行写入。当在存储系统中维护诸如 Microsoft FAT的文件系统时尤其是这样。在这种情况下, 一些管理 数据通常由文件系统保存在存储系统地址空间的开头。这些数据可以 是文件分配表或存储巻的根目录的一个或多个副本。对这些管理数据区域的写入频率远比向其它存储区域的写入频率高,并且因此,除非 采用特殊措施,包含它们的块会经历高得多的写入/擦除周期次数,并 且较其它块更快地达到其寿命终点。因此,我们就有其中大多数块距 离它们的寿命终点限制还很远但是因为 一些关键块已经到达该条件而 巻作为一个整体已经到达其寿命终点的存储巻。
由上可以明白,我们应该尝试均衡装置的块上的写入/擦除周期 的次数。如果所有块具有大致相似的写入/擦除历史,则作为一个整体 的存储系统的寿命被最大化。
现有技术讲授了用于解决上述闪存磨损均衡问题的许多解决方
案。 一些例子是
授予Lofgren等人的美国专利第6,230,233号
授予Wells的美国专利第5,341,339号
授予Jou等人的美国专利第5,568,423号
授予Assar等人的美国专利第5,388,083号
授予Harari的美国专利第5,712,819号
授予Harari的美国专利第6,570,790号
授予Harari的美国专利第5,963,480号
授予Chang等人的美国专利第6,831,865号
所有上述专利通过引用而并入,用于在此全面阐明的所有用途。
上述所有现有技术的共同之处在于,其均是基于计数每个块所经 历的擦除周期的数量。出于本公开的用途,"擦除计数"是代表闪存块 在其使用历史中被擦除的次数的数字。擦除计数被存储在存储系统内 并且在系统操作过程中被维护。只要块被擦除,其擦除计数就递增。 上述解决方案中的一些将块的擦除计数存储在块内。 一些将所有块的 所有擦除计数存储在闪存内特别分配的位置的一个集中表中。除了将 擦除计数存储在非易失性存储器中之外,还有其它的将擦除计数存储 在管理闪存的控制器的RAM中。但是在所有情况下,由块执行的擦 除周期的次数是公知的并且用于实现磨损均衡目标。通过查看块的擦 除计数,闪存管理软件可以检测哪些块被使用得最多以及哪些块被使用得最少。
在如何使用该擦除计数的知识来实现磨损均衡方面有两种主要 等级。当需要分配使用新的块并且闪存管理系统必须决定哪些可用的 空闲块应该被分配时激活最简单的等级。通常,较具有较高擦除周期 次数的其它块,决策算法优选具有较低擦除周期次数的块,使得计数 的差距将更小并且块的磨损将更均勻。该磨损均衡的等级在此被称为 "动态磨损均衡"。更先进的等级考虑一些文件本质上是静态的并且通 常被一次写入并且几乎从不更新或重新写入的事实。这是大多数诸如 文字处理程序的操作系统代码文件或软件应用的情况。不釆取特殊措块,因为那些块在系统操作的一般过程中不会再变为空闲。这就剩下 了那些具有非常低的擦除计数的块,并且实际上意味着存储器系统的 寿命比其应该具有的寿命短。因此,先进的磨损均衡解决方案通过偶 尔强制静态文件移动到其它块来处理这个问题,即使这些文件没有被 重写。这允许静态文件的块重新进入参与分配的经常分配的块的池, 并且因此改善擦除计数的整体磨损以及因此提高存储系统的寿命。该 磨损均衡的等级在此被称为"静态磨损均衡。没有额外限定的术语"磨 损均衡"适用于动态和静态磨损均衡两者。
上述现有技术参考公开了许多实现期望的磨损均衡结果的算法, 但是所有这些算法都依赖于知道块的擦除计数。
该一般规则的一个例外是授予Ban的美国专利6,732,221。 Ban 公开了不依赖于计数每个块的擦除周期的实现闪存磨损均衡的方法。 作为替代,Ban使用统计方法来选择要分配和使用的块,使得最后, 在系统经过擦除块的许多周期之后,所有块的磨损很有可能接近一致。 然而,Ban并不能保证仅在相对较低的擦除周期次数之后在短期内实 现磨损均衡的一致性。因此,Ban的解决方案对于具有非常低的写入/擦除周期极限,诸如1,000的闪存装置并不能起到好的作用。
在依赖于计数每个块的擦除周期的所有现有技术的解决方案中, 需要存储每个块的计数。无论计数被保存在其所施加的同一个块或任何其它位置,必须分配存储用于计数。对于100,000周期的闪存装置, 每次计数至少需要17位,并且对于10,000的闪存装置每次计数至少 需要14位。在一些情况下,这对于该用途而言保留了过多空间。例如, 假定用于管理NAND闪存装置的闪存管理系统使得用户数据的512字 节的每个页伴有16字节用于存储系统的控制信息的"额外区域"。因为 擦除计数是完整块而不是单页的属性,通常这种擦除计数仅存储在块 的一页中,通常在第一页中。因此第一页的额外区域的至少三个字节 (假定100,000周期装置)应该被分配用于存储块的擦除计数。但是 这些额外区域字节可能需要用于存储闪存管理软件用于有效管理所需 的其它管理信息,或用于存储在页中的数据的误差校正方案的奇偶校 验位。
同样地,如果擦除计数被保存在中央表中,那么所需空间量可能 会过高。如果闪存盘包括四个1Gbit的闪存装置,每个闪存装置具有 4,096个32K字节的块,并且每个闪存装置需要三字节的擦除计数, 那么表的大小为4x4,096x3=49,152字节。即使在包括多个用于备份的 副本之前,这比块的大小还大。更重要地,由于性能原因在RAM中 保留擦除计数表的副本很有用,但是上述量太大,通常超过闪存控制 器中的可用RAM的量。
因此,广泛地认识到需要并且将是非常有利地具有用于实现闪存块的磨损均衡的方法, 一方面在块群上提供统一的擦除周期,另一方免吡技术擦除周期并且存储它们的数目的现有技术方法消耗更少的存储器.
发明内容
根据本发明,提供了一种管理包括多个块的存储器装置的存储器 的方法,所述方法包括对于每个块执行的下列步骤(a)计算作为每 个块已被擦除的次数和至少一个其它块已被擦除的次数的函数的数; 以及(b)将所述数存储在所述存储器装置中。
根据本发明,提供了一种存储器装置,包括(a)包括多个块
的存储器;以及(b)用于通过对于每个块执行下列步骤来管理存储 器的控制器(i)计算作为每个块已被擦除的次数和至少一个其它块 已被擦除的次数的函数的数;以及(ii)将所述数存储到所述存储器 装置中。
根据本发明,提供了一种具有嵌入计算机可读存储介质上的计算 机可读代码的计算机可读存储介质,所述计算机可读代码用于管理包 括多个块的存储装置的存储器,所述计算机可读代码包括(a)用于 对于每个块计算作为每个块已被擦除的次数和至少一个其它块已被擦 除的次数的函数的数的程序代码;以及(b)用于对于每个块将所述 数存储到存储器装置中的程序代码,。
根据本发明的基本方法,存储器装置的存储器的块的管理包括对 于每个块计算作为块已被擦除的次数和一个或更多其它块已被擦除的 次数的函数的数,以及将所述数存储到存储器装置中。优选地,每当 块被擦除以及每当擦除计数是函数的自变数的一个其它块被擦除时, 更新每个块的数。
优选地,所述方法包括至少部分根据所述数来选择擦除至少一个 块的步骤。
每个块的数可以存储在块自身中或存储在块之外。
优选地,对于每个块,所述函数是块的相对等级。如在此理解的,块的"相对等级"是该块已被擦除的次数相对于至少一个其它块已被擦 除的次数的度量。如将在下面看到的, 一般不需要明确地计数块被擦 除的次数以便计算其相对等级。
在本发明的一个优选实施例中,所使用的特定"相对等级,,是这样 的,对于至少一个块,该块的相对等级取决于该块的擦除计数和另一 个块的擦除计数之间的差。最优选地,其它块是目标块的相邻块。
在本发明的另 一个优选实施例中,所使用的特定"相对等级,,是这 样的,对于至少一个块,该块的相对等级取决于该块的擦除计数和至 少两个其它块的平均擦除计数之间的差。最优选地,至少一个其它块 是目标块的相邻块。
优选地,计算所述数包括在不足以存储每个块的期望最大擦除周 期数的位数截取每个块的函数。
本发明的范围还包括根据本发明的方法管理的存储器装置,以及 具有在其上嵌入根据本发明的方法来管理存储器的计算机可读编码的 计算机可读存储介质。
在此将参考附图仅通过例子来描述本发明,其中
图l是根据本发明如何分配空闲块来使用的流程图2是如何更新图1的块的相对等级的流程图3是如何更新图1的块的相邻块的相对等级的流程图4是本发明的闪存装置的高级方块图5是本发明的数据存储系统的高级局部方块图。
具体实施例方式
本发明是一种实现诸如闪存的存储器中的磨损均衡而不明确地 计数擦除周期的方法。
参考附图和所附说明书,可以更好地理解根据本发明的磨损均衡 的原理和操作。
本发明基于观察到为了均衡块的擦除周期,并不真正需要知道每 个块的擦除周期的精确数目。因为擦除周期的等同性实际上是不同块 的周期数之间的关系问题,可以通过依赖于仅保存不同块的周期数之 间的关系,而不依赖于保存周期数的绝对值的度量来实现该目标。
这种方法的一个例子是,对于每个块,保存等于该块已被擦除的 次数和其最近的两个相邻块已被擦除的次数的平均数之间的差的值。 在本上下文中,"相邻块,,由块地址来定义。例如,如果块被连续编号, 块10的"相邻块"是块9和块11。或者以更正式的符号一与块n相关 的数是EC(n)-(EC(n-l)+EC(n+l))/2,其中EC(i)是块i的擦除计数。 由于分数不方便处理,我们稍微修改值的定义为上述表达式的两倍,使得在下面的说明中所述值等于2EC(n)-EC(n-l)-EC(n+l)。
该值是在此被称为块的"相对等级"的简单实例。为了使上述相对 等级的定义同样适用于第一和最后一个块,第一和最后一个块被定义 为彼此的相邻块,使得所有块被认为是第一块跟随最后一个块的循环 顺序排列。因此,第一个块的相对等级(假定块被从0到N-1编号) 是2EC(0)-EC(N-1)-EC(1), 并且最后一个块的相对等级是 2EC(N画1)画EC(N画2)-EC(0)。
对于每个块存储的不是块的擦除计数,而是块的相对等级。应该 注意到,尽管相对等级是由擦除计数唯一确定的,擦除计数不是由相 对等级唯一确定的。这可以通过考虑其中所有块被擦除正好相同次数 的简单情况来轻松检验。在这种情况下,所有块具有为零的相对等级。 但是知道所有块的相对等级并不允许我们来推想擦除计数。有可能所 有块已经经过了 IO个擦除周期或可能所有块已经经过了 1,000个擦除 周期。对于任意整数N,所有块经过N个擦除周期的情况导致正好相 同的相对等级所有块的相对等级为零。
因此很清楚,相对等级的概念与擦除计数的概念是根本不同的。 块的擦除计数是单独块的特征,而块的相对等级不是该单独块的特征, 而是该块与其它块相比的相对条件的度量。块的相对等级不包含有关 该块自身的条件的绝对信息。这将相对等级方法区别于使用擦除计数 作为实现磨损均衡的基础的现有技术解决方案,并且还区别于使用"块 的特征"作为擦除计数的概括的美国5,712,819、 Harari的广义解决方 案。
相对等级的概念与对于每个块存储诸如擦除计数的两倍或擦除 计数的平方的块的擦除计数的一些函数有根本不同。尽管擦除计数的 平方肯定与擦除计数不同,但是因为它只取决于所述块的条件,它还 是落入"块的特征"的范围内。应该注意到,使得相对等级与块的特征 不同的相对等级的关键特征不是不能从相对等级中推想擦除计数,而 是块的相对等级不是由仅仅该同一个块的擦除计数来唯一确定的。例 如,如果我们对于每个块存储当其擦除计数被某个整数M除时的余
数,则尽管不可能由该余数推想出擦除计数,该值仍然是该块的特征, 因为余数是由块的擦除计数唯一确定的。
存储相对等级而不是擦除计数的一个优点是节约存储空间。如果
那么相对等级的绝对值会很小。这意味着,为使磨损均衡小于现有技 术解决方案,我们可以在非易失性或易失性存储器中的每个块和投入 的整个存储中使用更少的位。例如,即使一个块所允许的最大擦除周
期数为100,000,我们可以只分配每个块8位存储。这小于存储擦除计 数的现有技术系统中所用的存储量的一半。应该注意,与擦除计数总 是正整数不同,相对等级可以为正或负。因此,当使用每个相对等级 8位时,假设使用"二的补码"方法来表示负数,则可以表示的值的范 围在-128和+127之间。
给定所有块的相对等级,这些相对等级被用于取代擦除计数来实 现块的磨损均衡。现有技术中公开的使用擦除计数的磨损均衡算法的 每一个可被容易地调整为使用相对等级来代替擦除计数。现在参阅附 图,图1示出了这是如何实现的例子。图1是当需要分配空闲块来使 用时采取的步骤的流程图(即,用于进行动态磨损均衡)。在步骤100, 从闪存管理系统接收用于分配空闲块来使用的请求。在步骤110,扫 描所有空闲块的相对等级以找到具有最低相对等级的空闲块。如果超 过一个空闲块具有相同的最低值,则随机选择这些块中的一个。在步 骤120,被选择的块(自此以后被称为"块K")被擦除。这假设闪存 管理系统保持其空闲块池处于未擦除状态。 一些闪存管理系统保持其 空闲块池处于已擦除状态,用于加速将空闲块投入使用的过程。业内
内工作。在步骤130,块K被投入使用。如何做到这个以及作为结果 更新哪些控制字段的细节在不同闪存管理系统之间不同,并且与理解
本发明的方法无关。
在步骤140,块K的相对等级被更新,以反映块K刚刚经过又 一个擦除周期的事实。这在图2被进一步详细阐述。
在步骤150,块K-1的相对等级被更新,以反映块K刚刚经过又 一个擦除周期的事实。这在图3被进一步详细阐述。
在步骤160,块K+l的相对等级被更新,以反映块K刚刚经过 又一个擦除周期的事实。这也在图3被进一步详细阐述。
图2详细阐述了如何更新块K的相对等级(图1的步骤140)。 在步骤200,我们检查块K的相对等级是否等于可被存储的最大值。 对于上面使用8位相对等级的例子,这意味着询问相对等级是否等于 127。如果答案是肯定的,我们不能进一步递增相对等级并且我们什么 都不做(步骤210)。如果答案是否定的,则有空间递增相对等级, 并且随后我们进一步检查(步骤220 )块K的相对等级是否等于可被 存储的最大值减去1。对于上面使用8位相对等级的例子,这意味着 询问相对等级是否等于126。如果答案是肯定的,那么在步骤230我 们将相对等级递增1。如果答案是否定的,那么在步骤240我们将相 对等级递增2。该逻辑的最终结果是相对等级被递增2,除非没有空间 进行这种递增,在这种情况下,相对等级在最大可能值被截断。该结的两倍的相对等级;定义。让块经过一个附加擦除周^ (而在此阶段 两个相邻块并不经过附加擦除周期)无疑会导致相对等级增加2。
图3详细阐述了如何更新块K-l和K+l的相对等级(分别地, 图1的步骤150和160 )。在步骤300,我们检查块K-l或块K+l的 相对等级是否等于可被存储的最小值。对于上面使用8位相对等级的 例子,这意味着询问相对等级是否等于-128。如果答案是肯定的,我 们不能进一步递减相对等级并且我们什么都不做(步骤310)。如果 答案是否定的,则有空间递减相对等级并且随后在步骤320我们将相 对等级递减1。该逻辑的最终结果是相对等级被递减1,除非没有空间 进行这种递减,在这种情况下,相对等级在最小可能值被截断。该结的差的两倍的相对等级的定义。让一个相邻块通过一个附加周期(而 在此阶段该块或另一个相邻块不经过附加擦除周期)无疑会导致相对等级减少1。
相对等级值有可能在最小或最大值被截断的事实意味着,相对等级的保存值可以仅仅是理论真实值的近似值。然而,因为使用相对等级来实现磨损均衡导致相对等级通常很小并且接近零,该近似值对于大多数块都相当精确。磨损均衡算法通常对于与擦除周期的精确计数的小偏差不敏感,并且因此通过使用更小的位数来存储相对等级而节约存储空间来交换值的一些不精确和近似是合理的。
上述解释处理基于相对等级来实现动态磨损均衡。相对等级还可以被用作静态磨损均衡的用途。为实现这个用途,不时扫描所有使用 的块的相对等级,寻找具有非常低的相对等级的块。找到具有这种低 相对等级的块意味着,该块比其相邻块循环少得多。闪存管理系统随后留意将该块的内容复制到被分配用于替代它的另一个块中并且随后 将该块带回到空闲块池中。这最后导致所期望的与其它块相比均衡该 块的擦除周期数。扫描具有非常低的相对等级的块可以在每个一定时 间间隔被周期性地触发一次,或并入动态磨损均衡机制中,使得静态 块仅当进行一些用户发起的写操作时才被带回到空闲池中。两种方法 在现有技术中被教导用于实施静态磨损均衡。
应该理解,使用相对等级作为磨损均衡的基础是近似,可能不会 导致最优的均衡。这是因为相对等级仅提供块相对于块的相邻块的使 用量的局部信息。它不提供适用于整个装置的全面信息。可能发生一 个块具有比第二个块的相对等级高的相对等级,但是实际上第二个块 已经经过比第一个块多的擦除周期。尽管如此,平均起来并且经过长 时间的操作,依赖于相对等级提供了接近最优的磨损均衡。
等级一起存储到中央位^的系统尤其有用:这是因为更新三个相邻块 或一个块的相对等级的成本实际上是一样的。在将每个块的等级存储 在该块内的系统中不是这样,因为在这种情况下,更新三个块的相对 等级意味着写入三个块,并且这是更新单个块的时间的三倍之多。然 而,本发明的方法即使在分离存储相对等级的这种情况下也是适用的,即使它们比在中央存储的情况具有更低的效率。
上面介绍的是所述块的擦除周期数和其两个相邻块的平均擦除周期数之间的差的两倍的用于计算k的相对一级的公式不是计算相对 等级的仅有方法。例如,我们可以定义相对等级代表所述块的擦除周 期数和其每侧两个共四个最近的相邻块的平均擦除周期数之间的差。
一般地,对于每个偶数N,我们可以计算代表所述块的擦除周期数和 其每侧N/2个块共N个最近的相邻块的平均擦除周期数之间的差的相 对等级。上面介绍的两块相邻计算的优势在于,它在每个块擦除操作 时需要更新仅三个块的相对等级,而在N块相邻计算的一般情况下, 必须在每个块擦除操作时更新N+l个块的相对等级。该要更新的相对 等级数的最小化在当每个相对等级被分别存储在其块内时尤其重要, 因为这需要写入更多的块,并且向闪存中写入是相对较慢的操作。另 一方面,使用 >2使得本发明对于本地波动更不敏感。
相对等级的计算还可以通过采用在块周围非对称地居中的相对 等级来进一步近似和简化。例如,相对等级可以被定义成代表所述块
的擦除周期数和比方说在它前面的一个相邻块的擦除周期数之间的 差。因此块i的相对等级等于EC(i)-EC(i-l),并且块0的相对等级是 EC(0)-EC(N-1),其中,N是块的数量。这种一侧的定义提供了比上面 讨论的对称定义更粗略的块的擦除周期数的相对非平均的近似,但是 它仍然在最后提供了足够好的磨损均衡。该简化的相对等级的定义的 优点是,每次块擦除操作仅需要更新两个相对等级。
此外,甚至不需要用于计算给定块的相对等级的其它块真正是相 邻的块。只要我们注意保持在所有块上的计算一致,任何其它块都可 以。例如,我们可以使用其中块i的相对等级等于 2EC(i)-EC(i+30)-EC(i+70)的定义。为了使计算对于所有块都有意义, 我们认为第一块是最后一块的跟随者。该相对等级的定义与上面提出 的第一个定义类似,差别是使用偏移量(+30)和(+70)而非偏移量(-l)和 (+1)。基于这两种相对等级的定义的磨损均衡算法被期望以平均相同 的水平执行。
作为所有上述的结果,我们看到本发明的方法提供了用于实现基 于闪存的存储系统的块的磨损均衡的有效方法。本发明的范围包括上 面提出的方法、采用这些方法的存储器系统、以及具有嵌入到其中并 且实施那些方法的计算机可读代码的计算机可读存储介质。
再次参看附图,图4是与主机30耦合的本发明的闪存装置20的 高级方块图。图4改编自图1的Ban的美国专利第5,404,485号,其 专利由于在此阐明的全部用途通过引用而并入。(请注意US 5,404,485 使用与本公开不同的术语US 5,404,485称闪存的擦除块为"单元")。 闪存装置20包括闪存24、控制器22和随机存取存储器(RAM) 26。 如US 5,404,485所描述的,控制器22相应于US 5,404,485的"闪存控 制器14",在RAM 26的帮助下,管理闪存24。控制器22还支持如 上所述使用相对等级的闪存24的块的磨损均衡。
图5是本发明的可替换数据存储系统50的高级局部方块图。数 据存储系统50包括处理器52和四个存储器装置RAM 54、引导ROM 56、大容量存储装置(硬盘)58和闪存装置40,全都通过公用总线 60通信。与闪存装置20相同,闪存装置40包括闪存42。与闪存装置 20不同,闪存装置40没有自己的控制器和RAM。替代地,处理器 52通过执行以例如以色列的Kfar Saba的M-系统闪存先锋公司的 TrueFFSTM驱动器的方式实施US 5,404,485的方法的软件驱动器来仿 真控制器22,并且同样采用本发明的磨损均衡方法。闪存装置还包括 总线接口 44,以使能处理器52与闪存42通信。
处理器52执行用于管理闪存42的软件驱动器的代码被存储在大 容量存储装置58中并且转移到RAM 54用于执行。大容量存储装置 58因此是计算机可读代码存储介质的例子,其中嵌入用于根据本发明 的原理来管理闪存42的计算机可读代码。
尽管参考有限个数的实施例对本发明进行了描述,应该意识到, 可以进行本发明的许多变化、修改和其它应用。
权利要求
1.一种管理包括多个块的存储器装置的存储器的方法,所述方法包括对于每个块执行的下列步骤(a)计算作为所述每个块已被擦除的次数和至少一个其它块已被擦除的次数的函数的数;以及(b)将所述数存储在所述存储器装置中。
2. 根据权利要求1所述的方法,还包括对于每个块执行的步骤(c) 每当所述每个块被擦除时更新所述数。
3. 根据权利要求1所述的方法,还包括对于每个块执行的步骤 (c)每当所述至少一个其它块中的一个被擦除时,更新所述数。
4. 根据权利要求1所述的方法,还包括对于每个块执行的步骤 (c)至少部分根据所述数来选择至少一个要被擦除的块。
5. 根据权利要求1所述的方法,其中,对于至少一个所述块的 每一个,所述存储是通过包括将所述数存储到所述每个块中的步骤来 实现的。
6. 根据权利要求1所述的方法,其中,对于至少一个所述块的 每一个,所述存储是通过包括将所述数存储到所述每个块之外的步骤 来实现的。
7. 根据权利要求1所述的方法,其中,对于每个块,所述函数 是所述每个块的相对等级。
8. 根据权利要求7所述的方法,其中,对于所述至少一个块的 每一个,所述相对等级取决于所述每个块的擦除计数和一个其它块的 擦除计数之间的差。
9. 根据权利要求8所述的方法,其中,所述一个其它块是所述 每个块的相邻块。
10. 根据权利要求7所述的方法,其中,对于所述至少一个块的 每一个,所述相对等级取决于所述每个块的擦除计数和至少两个其它 块的平均擦除计数之间的差。
11. 根据权利要求10所述的方法,其中,所述至少两个其它块 的至少一个是所述每个块的相邻块。
12. 根据权利要求10所述的方法,其中,所述计算包括,对于 每个块,在不足以存储每个块的最大允许擦除周期数的位数截断所述 函数。
13. —种存储器装置,包括(a) 包括多个块的存储器;以及(b) 用于通过对于每个块执行下列步骤来管理所述存储器的控制 器,所述步骤包括(i) 计算作为所述每个块已被擦除的次数和至少一个其它所述块 已被擦除的次数的函数的数;以及(ii) 将所述数存储在存储器装置中。
14. 根据权利要求13所述的存储器,其中,所述存储器是闪存。
15. —种计算机可读存储介质,具有嵌入所述计算机可读存储介 质中的计算机可读代码,所述计算机可读代码用于管理包括多个块的 存储器装置的存储器,所述计算机可读代码包括(a) 用于对于每个块计算作为所述每个块已被擦除的次数和至少 一个其它所述块已被擦除的次数的函数的数的程序代码;以及(b) 用于对于每个块将所述数存储到存储器装置中的程序代码。
全文摘要
对于存储器的每个块,计算作为所述块已被擦除的次数和至少一个其它块已被擦除的次数的函数的数。所述数被存储到包括存储器的存储器装置中。当块被擦除时根据需要更新所述数。根据块的数来选择要被擦除的块。优选地,每个块的函数是所述块的相对等级。
文档编号G11C16/06GK101208753SQ200680015052
公开日2008年6月25日 申请日期2006年3月12日 优先权日2005年3月14日
发明者曼纳切姆·拉瑟 申请人:晟碟以色列有限公司