一种存储媒体上的数据管理方法

文档序号:9667271阅读:477来源:国知局
一种存储媒体上的数据管理方法
【技术领域】
[0001]本发明涉及一种存储媒体上的数据管理方法。
【背景技术】
[0002]美国专利US35,896,393中介绍了开始段落中定义的方法。永久存储器,如电可擦可编程只读存储器(EFPR0M)和闪存储器是具有杬势的,因为当切断电流时,数据会存储其上。但是,除了具有相当长的存储时间之外,它们还具有一些缺陷,每次写入操作都需要事先进行一个删除操作,每次写入和删除操作降低了存储媒体的性能。这样一种存储媒体通常被细分为可以单独写入、读出和删除的块。其中的一个问题是在块损坏之前,仅可进行有限数量的变更,如擦除和写入操作。
[0003]美国专利US5,896,393描述了一种包括不同的块的存储媒体的管理方法。该方法一开始是在存储媒体中选择一个第一块,作为一个存储块(存储阵列)和一个第二块,作为一个更新块(更新阵列)。文件被储存到第一块中,然后被标明是“活动的”。可以擦除存储的文件。这是通过将其标注为“非活动的”来完成的,而不用在一个块中执行一个擦除操作。定期地将标注为“活动”的存储块复制到第二块中,然后,擦除第一块。接下来,笫二块被标志为一个存储块,另一个块被选择为更新块。通过从块簇中选择一个任意的块,或在逻辑上选择该存储块前面的块,来选择另外的块。定期地将所有存储的文件复制到第二块是不利的,因为有些文件是不需复制的。任意选择是不利的,因为不能保证所有的块都曾被选作一个存储块,这样一些块就会比其它的块磨损得多些。此外,该方法是不利的,还因为没有考虑有些文件需要改写许多,而其它的很少需要改写。通常,所有的文件都是一样复制的,即使这是不必要的。结果是,存储媒体磨损不均匀,某些部分先于其它部分损坏。

【发明内容】

[0004]为解决上述现有的缺点,本发明的主要目的在于提供一种实用的存储媒体上的数据管理方法,能最大延长存储媒体在最大可用容量下的使用寿命。
[0005]为达成以上所述的目的,本发明的一种存储媒体上的数据管理方法采取如下技术方案:
一种存储媒体上的数据管理方法,存储媒体包括不同的可以存储数据的块,选择块簇中的第一块来执行一个变更,其特征在于,确定第一块的磨损程度是否是可接受进行变更的,如果是,则在第一块上执行数据变更,否则从块簇中选择一个具有比第一块磨损程度低的一个第二块和复制该第二块的数据到第一块,所述块簇中的块具有一个关联计数器,来记录所关注的块的变更次数,当第一块的计数器的值小于一个限定值时,增加计数器的值,并执行变更操作,否则,一个计数器的值低于第一块计数器的值的块被选择作为第二块,块簇中的块计数器值的最低值,当该块簇中绝大多数块计数器超过该限定值时,增加该限定值,在第二块的数据被复制到第一块之后,擦除第二块,变更包括擦除第一块。
[0006]所述较低值是该块簇中的块的计数器值的最低值,当该块簇中绝大多数块计数器超过该限定值时,增加该限定值,配置该系统,初始建立一个表,表明块计数器的值,配置控制单元,在第二块的数据被复制到第一块之后,擦除第二块。
[0007]采用如上技术方案的本发明,具有如下有益效果:
本发明能最大延长存储媒体在最大可用容量下的使用寿命。
【附图说明】
[0008]图1概要表示一个存储媒体。
[0009]图2概要表示一个依照本发明的数据管理系统。
【具体实施方式】
[0010]为了进一步说明本发明,下面结合附图进一步进行说明:
图1概要表示一个存储媒体;和图2概要表示一个依照本发明的数据管理系统。在全部的图中,相同的标号表示相似的或相应的部件。图中表示的有些部件通常是用软件实现的,因而表示的是软件实体,如软件块或对象。
[0011]图1显示了用于本发明的系统的存储媒体10。该存储媒体10包括不同的块。一个块11又包括多个页。一个页12可能包括一个第一部分13和一个笫二部分14,第一部分13被用于存储数据,第二部分14被用于存储相关的信息,诸如存储在第一部分13的数据的误差校正码。这种存储媒体10的一个例子是Samsung KM29U128T NAND闪存储器。该存储媒体被细分为1024个块,每个块有16K字节。一个页再被细分为512个字节的第一部分和16个字节的第二部分。
[0012]利用诸如NAND闪存储器的存储媒体,不能直接访问单独的字节。对每个页12的数据进行读和写是有效的。通过一次性擦除一个具有页的完整块11来完成擦除操作。在某种限度内(通常5 - 10次)可以重写一页,而不用擦除包含该页的块。
[0013]在一页上的数据不再有效时擦除整个块是不理想的。解决该问题的一种已知的方法是定义一个页的各种可能的状态。一个页12的状态可以被存储在第二部分14中,例如,以一个或多个位的方式。
[0014]然后,可以通过将该状况更改为“已擦除”来擦除一个页12。当
一个块被擦除时,该块的所有页的状态也被更改为“空闲的”。一个被写入的页被更改为“已写入”状态。这样,不能再使用一个具有“已擦除”状态的页,直到其所在的块被擦除为止。
[0015]使用这种技术,擦除一页不会在存储媒体上腾出空间。存储媒体使用得越多,可用的空间越少。回收这一自由空间的唯一方法是擦除一个块。例如,定期地,或者当自由空间的数量低于某一限定值时,擦除块来回收自由空间是有效的。
[0016]最好是擦除没有“已写入”状态的页的块,因为这样在擦除时没有数据丟失。但是,如果没有这样的块,或者所需的自由空间多于仅通过擦除这些块可回收的空间,那么就不得不擦除包括“已写入”状态的页的块。这意味着要找到第一个另外的块,将所有具有“已写入”状态的页复制到该块中,以一这些页中的数据。
[0017]在复制操作之后,可能需要改写管理的数据。例如,如果文件存储在存储媒体10上,可能存在一个属于存储媒体10的文件定位表,其中说明了一个文件和一个或多个包含该文件内容的页之间的对应关系。而后该表被改写,表明属于该文件的正确的页。另外,可能存在一个接口,通过该接口,存储数据的逻辑地址被转化为相应的存储这些数据的页。在这种情况下,接口所用的信息被改写。对于其它的系统,可釆用类似的方法。
[0018]由于这种方法中回收自由空间是耗时的,建议限制擦除块的数量,例如,限制为存储新数据所需的,或不超过某一上限值的块数量。
[0019]存储媒体的每个块仅可以承受有限次数的擦除操作。当一个块被擦除的次数过多时,磨损的程度就会很大,以至于损坏,不能再用于存储新的数据。对于典型的NAND闪存储器,可以在不使用误差校正码时操作100,000次,在使用误差校正码时,可以操作1,000,000次。图2显示了一个在存储媒体10上管理数据的系统。例
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1