检测静态数据区、磨损均衡、和合并数据单元的方法和装置的制作方法

文档序号:6779746阅读:162来源:国知局
专利名称:检测静态数据区、磨损均衡、和合并数据单元的方法和装置的制作方法
技术领域
本发明涉及一种磨损均衡(wear-leveling)方法,并且更加特别地,涉 及一种用于非易失性数据存储设备的装置和方法,由此通过在非易失性数据 存储设备的每个数据单元中存储指明写入时间的老化值、以及使用老化值检 测静态数据区,来使磨损均衡效果最大化。
背景技术
近来,由于闪存的特性,诸如低耗电量、小尺寸、低发热量和高稳定性, 以及由于单个闪存的快速增长的存储量,使得闪存作为在包括移动设备的各 种多媒体设备中使用的一种非易失性数据存储设备而广泛地用作优选的存 储设备。然而, 一般地,闪存具有低的编程(写入)速度,并且,为了更新记录 数据的块,必须在针对该块执行写入操作之前对该块进行擦除。构成擦除操作的基本单元的每个块可以承受多次擦除计数,称为承受条 件。例如,对于单级单元(SLC: Single Level Cell)型为100000次擦除计 数而对于多级单元(MLC)型为10000次擦除计数。承受条件也被应用到可 以执行写入和擦除操作的其它非易失性数据存储设备,因此,下面的描述一 般可应用到所有的非易失性数据存储设备中。如果在存储器的特定块中发生频繁的更新,则由于老化过程导致生成坏 的块,从而导致整个存储器的寿命的快速减少。为了防止老化过程,用于管 理闪存的文件系统,例如闪存翻译层(FTL)系统,要求磨损均衡方案,并 且存储器的寿命很大程度上取决于所采用的磨损均衡方法。存的每个块的擦除计数数量的图。用于管理擦除计数数量的磨损均衡方法一般使用存储每个块的擦除计 数数量的方法,该方法可以被分为两种方法。第一种方法是其中将包含关于 擦除计数数量的信息的管理表存储在闪存上,以及第二种方法是其中将包含 关于擦除计数数量的信息的管理表存储在用于驱动闪存的系统的存储器(随机存取存储器(RAM))上。上述第二种方法是仅对运行时间进行计数的方法。根据第一种方法(存储在闪存上),具有闪存的物理块地址的擦除计数数量被存储在包括在闪存中的块映射(map)表中,并且只有映射表高速緩 存被存储在系统存储器中。因此,因为每个块的擦除计数的数量被存储在闪 存中,所以可以执行正确的闪存磨损均衡,然而,由于关于擦除计数数量的 附加信息,块映射表的计算开销变为两倍大。根据第二种方法(仅对运行时间进行计数的方法),只有物理块地址被存储在包括在闪存中的块映射表上,并且以擦除计数阵列形式在系统存储器 中存储和管理关于擦除计数数量的信息。因为当系统的电力关断时,关于擦 除计数数量的信息被复位,所以很难执行理想的闪存磨损均衡,然而,不需 要计算开销来更新包括在闪存中的块映射表。参照图1,当使用其中没有计算开销的第二种方法(仅对运行时间进行 计数的方法)时,即使由于利用擦除计数数量管理的磨损均衡方法、基本上 通过FTL执行的地址重新映射和垃圾收集功能, 一般也显示擦除计数数量。 参考块编号0到749,可以看出每个块的擦除计数之间的差不是很大。然而,参考块编号为749到953 (参见附图标记110),每块的擦除计数 数量很小,并因此,块编号为749到953的块与其它周围块之间的擦除计数 数量的差很大。区110是静态数据区,其中数据被保护很长时间而不被更新 或擦除。当用第二种方法时,由于复位了关于擦除计数数量的信息,很难准 确地检测静态数据区110 。因为当系统电力关断时与磨损有关的信息(关于擦除计数数量的信息)被复 位,所以如果静态数据区110在存储设备中广泛地分布,则磨损均衡效果将 相当大地减小。图2是用于描述根据已有技术、关于闪存中的静态区的磨损均衡方法的流程图。参照图2,在根据已有技术的关于静态区的磨损均衡方法中,在操作210 中对写入或擦除操作的数量进行计数,并当计数值是所选数目,例如1000, 的倍数时,在操作220中执行任意处理,并且在操作230开始磨损均衡方法。 通过在操作240中设置特定的选择顺序或在操作250中激活任意处理,在操 作260中选择一单元,在操作270中将所选择的单元的数据移动到另 一个自 由单元,并且擦除所选4奪的单元。然而,根据磨损均衡方法,因为关于整个闪存使用任意功能发生块的移 动或调换(swapping),所以没有处于静态数据区中的块的调换频繁发生。 也就是说,因为在空闲单元之间的调换或频繁更新的块的调换发生、并且此 外发生伴随调换的不必要的擦除操作,所以整个闪存的寿命减小。发明内容本发明提供了 一种磨损均衡方法和装置,由此通过在非易失性数据存储 设备的每个数据单元中存储用于指明写入时间的老化值、并准确地检测静态 数据区而使磨损均衡效果最大化。根据本发明的一方面,提供一种在非易失性数据存储设备中检测静态数 据区的方法,该方法包括在被分配为在其中写入数据的每个单元中存储指 明写入时间的老化值;读取存储在单元中的老化值;以及基于所读取的老化 值确定该单元是否为静态数据区。所述老化值可指明当写入数据时的相对顺序。存储老化值的步骤可包括当在擦除每个单元之后写入数据时存储老化 值,并且可以在每个单元的备用区中存储该老化值。该老化值可以是通过存在于非易失性数据存储设备中的至少 一个老化 计数器来记录的,所述老化计数器具有老化计数器值,并且每当分配其中没 有记录数据的空闲单元时,该老化计数器改变其老化计数器值,以及所述老 化计数器值可以通过依次增加来改变。老化计数器值可被记录在关于所分配的空闲单元的映射表的备用区中, 并当该映射表^皮更新时净皮存储。所存储的老化值可以与当记录与该老化值一起存储的数据时的老化计 数器值相同。非易失性存储设备可以是闪存,每个单元可以是数据块,存储老化值的 备用区可以是该数据块的第一页的备用区,并且每一个数据块可存在一个老 化值。可以在驱动非易失性数据存储设备的系统的停歇时间期间,执行对被存 储在单元中的老化值的读取,并且所述读取在单元中存储的老化值可以是相 对于向其分配数据的所有单元来依次执行的。基于所读取的老化值来确定单元是否为静态数据区的步骤还可以包括 比较所读取的老化值和老化计数器值,并且比较所读取的老化值和老化计数器值的步骤可包括比较所读取的老化值和老化计数器值,并且如果在所读取的老化值和老化计数器值之间的差大于预定的阈值,则确定具有所读取的 老化值的单元为静态数据区。根据本发明另 一方面,提供一种用于非易失性数据存储设备中的磨损均入时间的老化值;读取存储在单元中的老化值;基于所读取的老化值确定该 单元是否为静态数据区;以及将处于被确定为静态数据区的单元中的数据移 动到另一单元。所述老化值可指明当写入数据时的相对顺序,存储老化值的步骤可包 括当记录数据时存储老化值,并且可以在每个单元的备用区中存储该老化值。该老化值可以是通过存在于非易失性数据存储设备中的至少 一个老化 计数器来记录,并且所述老化计数器可具有老化计数器值,并且每当分配其 中没有记录数据的空闲单元时,该老化计数器改变其老化计数器值。可以在驱动非易失性数据存储设备的系统的停歇时间期间,执行对所存述读取。基所读取的老化值来确定单元是否为静态数据区的步骤还可以包括 比较所读取的老化值和老化计数器值,其中,作为比较结果,如果在所读取 的老化值和老化计数器值之间的差大于预定的阈值,则将具有所读取的老化 值的单元检测为静态数据区。将被确定为静态数据区的单元中的数据移动到另一单元的步骤可包括 将被确定为静态数据区的单元中的数据移动到没有记录数据的空闲单元,并且该方法还包括更新所移动的数据已被移动到的单元的老化值。将被确定为静态数据区的单元中数据移动到另 一 单元的步骤可包括将 被确定为静态数据区的单元中的数据与记录其他数据的另一单元调换,记录 其他数据的另一单元可具有比确定为静态数据区的单元的老化值更大的老 化值,并且该方法还可包括更新已记录调换的数据的单元的老化值。在驱动非易失性数据存储设备的系统的停歇时间期间,可执行将从被确 定为静态数据区的单元中的数据移动到另一单元。根据本发明另 一方面,提供一种用于在非易失性数据存储设备中合并数据单元的方法,该方法包括在被分配为在其中写入数据的每个单元中存储 指明写入时间的老化值;读取所存储的老化值;基于所读取的老化值来检测 要被合并的多个单元;以及合并所述多个单元。所述老化值可指明当记录数据时的相对顺序,存储老化值的步骤可包 括当记录数据时存储老化值,并且可以在每个单元的备用区中存储该老化 值。该老化值可以是通过存在于非易失性数据存储设备中的至少 一个老化 计数器来记录,其中所述老化计数器可具有老化计数器值,并且每当分配其 中没有记录数据的空闲单元时,该老化计数器改变其老化计数器值。可以在驱动非易失性数据存储设备的系统的停歇时间期间,执行对所存 储的老化值的读取,并且可以相对于向其分配数据的所有单元来依次执行所 述读取。基于所读取的老化值来确定要合并的多个单元的步骤还可以包括比较 所读取的老化值的每一个和老化计数器值,其中,作为比较结果,如果在所读取的老化值的每一个和老化计数器值之间的差大于预定的阈值,则将具有 所读取的老化值的单元检测为要合并的单元。对所存储的老化值进行读取的步骤还包括计算与系统所识别的逻辑基 本单元相关的多个数据单元的老化值的平均值。基于所读取的老化值对要合并的多个单元进行检测的步骤可包括将具 有最低平均老化值的多个数据单元检测为要合并的单元。基于所读取的老化值对要合并的多个单元进行检测的步骤还可包括计 算伴随合并的计算开销和效益,其中,所述计算开销对应于根据合并要移动 的数据量和所计算的平均老化值,并且所述效益对应于由于合并而要被收集在空闲单元中的废数据量。基于所读取的老化值对要合并的多个单元进行检测的步骤还可包括计算反比于所计算出的计算开销并且正比于所计算出的效益的优先级值,其 中,具有最高优先级值的多个数据单元被检测作为要合并的单元。根据本发明的另 一方面,提供一种用于在非易失性数据存储设备中检测静态数据区的装置,该装置包括老化记录器,在被分配为具有写入在其中 的数据的每个单元中存储指明写入时间的老化值;老化读取器,读取存储在 单元中的老化值;以及静态数据确定器,基于所读取的老化值来确定静态数 据区。根据本发明的另 一方面,提供一种用于非易失性数据存储设备中的磨损 均衡装置,该装置包括老化记录器,在被分配为具有写入在其中的数据的 每个单元中存储指明写入时间的老化值;老化读取器,读取所存储的老化值; 静态数据检测器,基于所读取的老化值来检测静态数据区;以及数据单元转 换器,用于将处于所检测的静态数据区中的数据移动到另 一单元。根据本发明的另 一方面,提供一种用于在非易失性数据存储设备中合并 数据单元的装置,该装置包括老化记录器,在被分配为具有写入在其中的 数据的每个单元中存储指明写入时间的老化值;老化读取器,读取所存储的 老化值;合并目标搜索单元,其基于所读取的老化值来检测要合并的多个单 元;以及合并单元,合并所检测的多个单元。根据本发明的另一方面,提供一种计算机可读记录介质,其存储用于运 行静态数据区检测方法、磨损均衡方法、或者数据单元合并方法的计算机可 读程序。


通过参考附图详细描述本发明的具体实施例,本发明实施例的上面和其 它特征以及优点将变得更加明显,在附图中图l是示出了根据已有技术借助于仅对运行时间进行计数的方法的、闪 存的每个块的擦除计数数量的图;图2是用于描述根据已有技术关于闪存中的静态区的磨损均衡方法的流 程图;图3是根据本发明的实施例、检测非易失性数据存储设备中的静态数据区的方法的流程图;图4是根据本发明的实施例、借助于如图3中所图示的读取的老化值来 确定静态数据区的处理的流程图;图5图示了根据本发明的实施例的每个数据单元的老化值和老化计数器值;图6是根据本发明另一个实施例、在非易失性数据存储设备中的磨损均 衡方法的流程图;图7是根据本发明的实施例、图6所示的将静态数据移动到另一单元的 处理的流程图;图8是根据本发明另一实施例、如图6所示的将静态数据移动到另一单 元的处理的流程图;图9是根据本发明另一个实施例、在非易失性数据存储设备中合并数据 单元的方法的流程图;图10图示了根据本发明另一实施例的数据单元合并处理;图11图示了根据本发明另一实施例、如图9所示的读取所存储的老化图12是根据本发明另一实施例、如图9所示的读取存储的老化值并基 于所读取的老化值;险测将被合并的单元的处理的流程图;图13是根据本发明另一实施例、在非易失性数据存储设备中用于检测 静态数据区的装置的框图;图14是根据本发明另一实施例、在非易失性数据存储设备中的磨损均 衡装置的框图;图15是根据本发明另一实施例、在非易失性数据存储设备用于合并数 据单元的装置的框图。
具体实施方式
下文中,本发明的优选实施例将参照附图被详细说明。尽管下文中所描 述的是闪存,但该描述可以应用到所有的非易失性数据存储设备。图3是根据本发明实施例、检测非易失性数据存储设备中的静态数据区 的方法的流程图。参照图3,在操作310中将老化值存储在每个数据单元。所述数据单元可以是闪存的数据块。老化值是指明写入时间的参数,并且每次对于所有数据块记录数据时, 存储每个数据块的一个老化值。也就是说,当在数据块的第一页中记录数据时,可以在该第一页备用(spare)区中记录老化值。数据块的每一页具有 16或64字节的备用区,用于在其中记录纠错码(ECC)信息等等。因为要 存储的老化值具有整数大小,因此该老化值可以使用一部分备用区。指明写 入时间的老化值指明了数据块之间的相对写入顺序而不是绝对时间。通过在 非易失性数据存储设备(例如闪存)中存在的至少一个老化计数器来记录每 一个老化值,其中指明数据何时被存储的老化计数器值被记录为老化值。每 当分配其中没有数据被记录的空闲(free)单元,例如空闲块时,老化计数 器改变其值。例如,如果老化计数器值依次地增加1,则在数据块具有老化 值20和数据块具有老化值21的情况下,对前者记录要相对比后者早。如上 所述,老化值指明数据块的相对写入顺序。重要地,因为当数据块被擦除后 将数据记录在数据块时存储老化值,所以如果老化值相对较小,则具有该老 化值的数据块先被擦除。另外,因为当分配空闲区时总是更新映射表,所以 当映射表被更新时可以将老化计数器值记录在映射表的相关页的备用区中。 因此,没有附加的计算开销来操作老化值和老化计数器,并且不管电力是开 启还是关断,非易失性数据存储设备总可以保持被称为"老化"的写入时间 信息。在操作320中读取存储在数据块中的老化值。读取所存储的老化值的操 作在系统停歇(idle)时间执行,并且对于被分配了数据的所有数据块来依 次执行。在操作330中基于所读取的老化值来确定静态数据区,将参照图4进行 i羊纟田4苗述。图4是根据本发明的实施例、图3所示的操作330的流程图。 参照图4,为了确定静态数据区,在操作410中将所读取的老化值与当 前老化计数器值进行比较。因为老化值是在相关数据块中记录数据的时间的 代表值,所以将该老化值与当前老化计数器值进行比较。这是因为每当分配 空闲块时,老化计数器值增加,通过比较老化计数器值与所选择的数据块的 老化值,可以确定相对的写入时间。因此,如果在操作420中从当前老化计数器值减去所读取的老化值所获得的结果大于预定的阈值,这意味着在相对长时间前在具有该所读取的老化 值的数据块中记录了数据并且该数据没有被更新。所述预定阈值可以由系统 设计者根据存储设备的目的来确定,或可以确定为导出最佳性能的值。因此,如果从当前老化计数器值减去所读取的老化值获得的结果大于预定的阈值,则在操作430中可以将具有所述老化值的数据块确定为静态数据 区。图5图示了根据本发明的实施例、在闪存中使用老化值的示例。参照图5,现在将描述图5中所示的老化值和老化计数器值之间的相互 关系。示出了作为非易失性数据存储设备的闪存510、以及与空白单元对应 的第O到第2物理数据块511、 512和513。将第O数据块作为数据块的代表 示例,第一页包括数据区511a和备用区511b。如上所述,第O数据块的老 化值520被存储在备用区511b中,并且在该情况下为12。在其它数据块的 情况下,第1数据块512的老化值520是5,以及第2数据块513的老化值 520为21。因为当前老化计数器值530是30,通过比较当前老化计数器值 530和具有最小老化值的第l数据块512,可以知道因为分配了第1数据块 512所以25个(=30-5)空闲块被另外地分配。因为第1数据块512没有被 擦除,所以可以将第1数据块512确定为相对静态数据区。图6是根据本发明另一实施例、在非易失性数据存储设备中的磨损均衡 方法的流程图,以及图7和8是如图6所示的操作640的流程图。参照图6、 7和8,在被分配为在其中记录数据的每个单元(数据块)中 存储用于指明写入时间的老化值(称为610)、读取所存储的老化值(称为 620 )、并通过所读取的老化值检测静态数据区(称为630 )的操作610、 620 和630与图3所示的操作310、 320和330相同。用两种方法中的一种而在操作640中将所检测数据区中的数据移动到另 一数据块。根据第一种方法,在操作710中将静态数据移动到空闲块。因为被检测 为静态数据区的数据块是很长时间没有被更新或擦除的数据块,所以通过将 静态数据移动到空闲块、并指定具有静态数据的数据块作为新的空闲块,被 指定为新的空闲块的数据块可以在下一次更新中被用作要新分配的空闲块, 并因此,对于被指定为新的空闲块的数据块将更加频繁发生擦除和写入操 作。如上所述,在操作720中,因为新的老化值(当前老化值)被更新、并被存储在静态数据要移动到的第一页数据块的备用区中,该数据块最初为空 闲块,所以在静态数据要移动到的数据块中存储的数据将不再被移动直到数 据被检测为静态数据(当然,如果数据块连续地保持为静态数据区,则该数 据块中的静态数据将再被移动到空闲块)。根据第二种方法,静态数据区的数据和没有被确定为静态数据区的另一数据块的数据被调换。为了调换,在操作810中检测具有比记录静态数据的 数据块的老化值相对大的老化值的数据块。在操作820中,所检测数据块的 数据与记录静态数据的数据块中的数据调换。在操作830中,更新已经记录 所调换的数据的数据块的老化值。因为已知具有相对大老化值的数据块被后 更新,所以被确定并检测为具有静态数据的数据块的数据块中的数据与具有 相对大的老化值的数据块中的数据调换。因为这意味着再次更新具有相对大 老化值的数据块中的数据的可能性大,所以可以通过调换实现磨损均衡。这 是因为频繁更新导致垃圾收集操作更加频繁,导致空闲块的更多指定,从而 允许对空闲块重复擦除和写入操作。在系统的停歇时间期间,可以执行检测静态数据区并移动或调换所检测 的静态数据的操作,并且可以根据系统设计者的指定而选择性地应用第一种 和第二种方法。图9是根据本发明另一实施例、在非易失性数据存储设备中合并数据单 元的方法的流程图。在闪存存储设备中,通过使用频繁更新操作而将单个逻辑数据块分布并 存储在多个物理数据块中。这种情况下,合并操作通常被用作通过收集由于 更新(无效页)出现的未用区而生成空闲块的方法。也就是说,合并操作提 供了一种将在多个数据块中分布并存储的数据收集到单个数据块、将多个数 据块改变为空闲块、并重新使用该空闲块的方法。参照图9,该方法包括在被分配为在其中写入数据的每个单元中存储指 明写入时间的老化值(操作910),读取存储的老化值(操作920 ),利用所 读取的老化值检测多个要合并的单元(操作930 ),以及合并多个单元(操作 940)。也就是说,当检测要合并的数据块时,选择存储静态数据的数据块。因 此,利用合并操作将在静态数据区中的数据块收集为空闲块,使在下一个更 新操作中在所收集的空闲块中执行擦除和写入操作,从而实现磨损均衡。图10图示了根据本发明另一实施例的数据单元合并处理。参照图10,图示了逻辑基本单元(4个数据块1010、 1020、 1030、和 1040)。假设每个数据块具有4页。第一数据块1010具有4页无效页,第二 数据块1020和第三数据块1030只有1页有效页,和第4数据块1040具有2 页有效页和2页无效页。因为逻辑基本单元被写入并不具有任何干净(clean ) 页,所以在下一更新中,首先执行对4个数据块1010、 1020、 1030、和1040 的合并操作。因此,通过将4页有效页收集(复制回)在一个空闲块1050 中,生成了有效块1060和4个空闲块1070、 1080、 1090和1100。 图ll和12是图9所图示的操作920和930的流程图。 如图10所图示的合并操作可通过应用两种方法之一、使用静态数据区 来执行。第 一 种方法是计算多个数据块中每组老化值的平均值的方法,每组构成 一个逻辑基本单元,并选择具有最低平均老化值的数据块合并。也就是说,老化值相对低时,根据当前实施例、通过选择要合并的静态数据生成空闲块 实现了磨损均衡的目的。因此,在操作1110中计算关于系统所识别的逻辑 基本单元的数据单元的老化值的平均值,并且在操作1120中检测具有最低 平均值的数据单元作为要合并的单元。第二种方法是考虑计算开销和效益以能够以高速度写入成批数据的方 法。示意性地,第二种方法包括计算关于逻辑基本单元的数据单元的老化值 的平均值(操作1210),考虑优先级(操作1220),并基于该优先级检测要 合并的数据块(操作1230)。合并操作的一个目的在于收集多个空闲块。因此,合并操作通过合并静 态数据区中的数据块而实现了磨损均衡,并同时利用较低的计算开销而获得 了更多的效益。计算开销对应于由于合并操作要移动的数据(有效数据)量, 并且计算开销对应于在更新执行之前、作为合并操作的结果而被收集到空闲 块的数据,即废的或无效的数据。如上所述,如果数据单元具有较低的平均 老化值,则数据单元更适合合并,并因此当计算所述计算开销时可以考虑平 均老化值。通过选择常数C1、 C2和C3以便与计算开销成反比并与效益成 正比,可以通过公式1计算优先级。优先级=要移动的数据x Cl/ (要收集的无效数据x C2 x老化值的平均值xC3) ( 1 )因此,如果数据块具有更高的优先级,则该数据块所具有的效益与计算 开销的比率就更高,并因此具有更高优先级的数据块被选择为要合并的数据块。常数Cl和C3可以由系统设计者根据系统的目的来选择,或可确定为通过试验示出最高性能的值。图13是根据本发明另一实施例、在非易失性数据存储设备中用于检测 静态数据区的装置1300的框图。参照图13,装置1300包括老化记录器1310,在被分配为具有写入在 其中的数据的每个单元中存储用于指明写入时间的老化值;老化读取器 1320,读取存储在单元中的老化值;以及静态数据确定器1330,通过所读取 的老化值来确定静态数据区。图14是根据本发明另一实施例、在非易失性数据存储设备中的磨损均 衡装置1400的框图。参照图14,磨损均衡装置1400包括老化记录器1410,在被分配为具 有写入在其中的数据的每个单元中存储用于指明写入时间的老化值;老化读 取器1420,读取所存储的老化值;静态数据检测器1430,通过所读取的老 化值来检测静态数据区;以及数据单元转换器1440,将所检测的静态数据区 中的数据移动到另一单元。图15是根据本发明另一实施例、在非易失性数据存储设备中用于合并 数据单元的装置1500的框图。参照图15,装置1500包括老化记录器1510,在被分配为具有在其中 写入的数据的每个单元上存储指明写入时间的老化值;老化读取器1520,读 取所存储的老化值;合并目标搜索单元1530,通过所读取的老化值来检测多 个要合并的单元;以及合并单元1540,合并多个所检测的单元。根据本发明实施例的检测静态数据区的方法、磨损均衡方法、以及合并 数据单元方法也可以实施为计算机可读记录介质上的计算机可读代码。计算 机可读记录介质是可以存储其后可由计算机系统读取的数据的任何数据存 储设备。计算机可读取记录介质的示例包括只读存储器(ROM)、随机存取 存储器(RAM)、 CD-ROM、磁带、软盘、光数据存储设备、以及载波(例 如通过因特网的数据传输)。计算机可读记录介质还可以分布在与计算机系 统耦接的网络上,使得计算机可读代码被以分布方式存储并执行。如上所述,根据依据本发明实施例在非易失性数据存储设备中的磨损均 衡方法,由于使用存储在每个数据单元的老化值检测静态数据区,所以通过据单元的方法,通过增加静态数据区作为在选择要合并的单元时可变的因 素,可以增加选择静态数据作为要合并的数据的可能性。因此,可以在不增 加计算开销的情况下正确地检测静态数据区,并且通过从和向静态数据区移动数据可以增加整个存储设备的磨损均衡效果增加,从而延长了存储设备的 寿命。虽然参照本发明的优选实施例而具体示出并描述了本发明,但本领域技 术人员将理解,在不脱离所附权利要求所限定的本发明的精神和范围的情况 下,可以在其中进行形式和细节上的各种改变。优选实施例应只被认为描述 意义而不以限定为目的。因此,本发明的范围不是由本发明的详细描述而是 由所附权利要求来限定,并且在所述范围内的所有差异被理解为包括在本发 明中。
权利要求
1.一种在非易失性数据存储设备中检测静态数据区的方法,该方法包括在被分配为在其中写入数据的每个单元中存储指明写入时间的老化值;读取存储在单元中的老化值;以及基于所读取的老化值确定该单元是否为静态数据区。
2. 如权利要求1所述的方法,其中老化值指明当写入数据时的相对顺序。
3. 如权利要求2所述的方法,其中存储老化值的步骤包括在每个单元 的备用区存储该老化值。
4. 如权利要求3所述的方法,其中该老化值是通过存在于非易失性数 据存储设备中的至少 一个老化计数器来记录的。
5. 如权利要求4所述的方法,其中所述老化计数器具有老化计数器值, 并且每当分配其中没有记录数据的空闲单元时,该老化计数器改变其老化计 数器值。
6. 如权利要求5所述的方法,其中老化计数器值被记录在关于所分配 的空闲单元的映射表的备用区中,并当该映射表被更新时存储所述老化计数 器值。
7. 如权利要求6所述的方法,其中所存储的老化值与当记录与该老化 值一起存储的数据时的老化计数器值相同。
8. 如权利要求2所述的方法,其中在驱动非易失性数据存储设备的系 统的停歇时间期间执行对被存储在单元中的老化值的读取。
9. 如权利要求8所述的方法,其中对被存储在单元中的老化值的读取 是相对于向其分配数据的所有单元来依次执行的。
10. 如权利要求9所述的方法,其中比较所读取的老化值和老化计数器 值的步骤包括比较所读取的老化值和老化计数器值,并且如果在所读取的 老化值和老化计数器值之间的差大于预定的阈值,则确定具有所读取的老化 值的单元为静态数据区。
11. 如权利要求l所述的方法,还包括通过将确定为静态数据区的单 元中的数据移动到另 一单元来进行磨损均衡。
12. 如权利要求11所述的方法,其中老化值是通过存在于非易失性数据存储设备的至少一个老化计数器来记录的,以及该老化计数器具有该老化计数器值,并且每次分配其中没有数据记录的 空闲单元时,该老化计数器改变其老化计数器值。
13. 如权利要求12所述的方法,其中基于所读取的老化值来确定单元 是否是静态数据区的步骤还包括比较所读取的老化值和老化计数器值,其中,作为比较的结果,如果在所读取的老化值和老化计数器值之间的 差大于预定的阈值,则具有所读取的老化值的单元被检测为静态数据区。
14. 如权利要求11所述的方法,其中将被确定为静态数据区的单元中 的数据移动到另 一单元的步骤包括将被确定为静态数据区的单元中的数据 与记录其它数据的另 一 单元的数据调换。
15. —种用于在非易失性数据存储设备中合并数据单元的方法,该方法包括在被分配为具有写入在其中的数据的每个单元中存储指明写入时间的 老化值;读取所存储的老化值;基于所读取的老化值来检测要被合并的多个单元;以及 合并所述多个单元。
16. 如权利要求15所述的方法,其中该老化值是通过存在于非易失性 存储设备中的至少一个老化计数器来记录的,其中老化计数器具有老化计数器值,并且每当分配没有记录数据的空闲 单元时,该老化计数器改变其老化计数器值。
17. 如权利要求16所述的方法,其中,在用于驱动非易失性数据存储 设备的系统的停歇时间期间,执行对所存储的老化值的读取,并且该读取是 相对于将数据分配到的所有单元来依次执行的。
18. 如权利要求17所述的方法,其中基于所读取的老化值对要合并的 多个单元进行检测的步骤还包括将所读取的老化值的每一个与老化计数器 值进行比较,其中,作为比较的结果,如果在所读取的老化值的每一个与和老化计数 器值之间的差大于预定的阈值,则具有所读取的老化值的单元被检测为要合 并的单元。
19. 如权利要求17所述的方法,其中对所存储的老化值进行读取的步骤还包括计算与系统所识别的逻辑基本单元相关的多个数据单元的老化值 的平均值。
20. 如权利要求19所述的方法,其中基于所读取的老化值对要合并的 多个单元进行检测的步骤还包括计算伴随合并的计算开销和效益,其中所述计算开销对应于根据合并而要移动的数据量和所计算的平均 老化值,并且所述效益对应于由于合并而要被收集在空闲单元中的废数据量。
21. 如权利要求20所述的方法,其中基于所读取的老化值对要合并的 多个单元进行检测的步骤还包括计算反比于所计算出的计算开销并且正比 于所计算出的效益的优先级值,其中,具有最高优先级值的多个数据单元被检测作为要合并的单元。
22. —种装置,包括老化记录器,在被分配为具有写入在其中的数据的每个单元中存储指明 写入时间的老化值;老化读取器,读取存储在单元中的老化值;以及 静态数据确定器,基于所读取的老化值来确定静态数据区。
23. 如权利要求22所述的装置,还包括磨损均衡数据单元转换器,将处于所确定的静态数据区中的数据移动到 另一单元。
24. —种用于在非易失性数据存储设备中合并数据单元的装置,该装置 包括老化记录器,在被分配为具有写入在其中的数据的每个单元中存储指明 写入时间的老化值;老化读取器,读取所存储的老化值;合并目标搜索单元,其基于所读取的老化值来检测要合并的多个单元;以及合并单元,合并所检测的多个单元。
25. —种计算机可读记录介质,其存储用于运行包括如下步骤的方法的 计算机可读程序,所述方法包括在被分配为在其中写入数据的每个单元中存储指明写入时间的老化值;读取存储在单元中的老化值;以及基于所读取的老化值来确定所述单元是否是静态数据区。
全文摘要
提供了一种用于非易失性数据存储设备的磨损均衡的方法和装置,从而通过在非易失性数据存储设备的每个数据单元中存储指明写入时间的老化值、并基于老化值检测静态数据区来使磨损均衡效果最大化。该方法包括在被分配为在其中写入数据的每个单元中存储指明写入时间的老化值;读取存储在单元中的老化值;以及基于所读取的老化值确定静态数据区。因此,可以在不增加计算开销的情况下正确地检测静态数据区能,并且可以通过向和从静态数据区移动数据来增加整个存储装置的磨损均衡效果,从而延长了存储设备的寿命。
文档编号G11C29/00GK101236789SQ20071018006
公开日2008年8月6日 申请日期2007年12月17日 优先权日2006年12月18日
发明者郑圣勋 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1