存取一快闪存储器的装置、方法及平均地使用该快闪存储器的区块的方法转让专利

申请号 : CN200810109968.2

文献号 : CN101458956B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林建成张文忠

申请人 : 慧荣科技股份有限公司

摘要 :

本发明提供一种存取一快闪存储器的装置、方法及平均地使用该快闪存储器的区块的方法。该存储器装置包含一快闪存储器及一控制器。该快闪存储器包含一具有多个数据区块的数据区以及一具有多个备用区块的备用区。该控制器接收对应于一第一数据区块的一数据并选择一备用区块,当对应于该被选择的备用区块的一清除次数少于一默认值时,该控制器写入该数据至该被选择的备用区块;当对应于该被选择的备用区块的清除次数达到该默认值时,该控制器选择一第二数据区块并将储存于该第二数据区块的一数据写入至该被选择的备用区块。据此,平均地使用该快闪存储器的区块。

权利要求 :

1.一种用以存取一快闪存储器的方法,该快闪存储器划分为一数据区以及一备用区,该数据区包含多个数据区块,该备用区包含多个备用区块,该方法包含下列步骤:接收对应于一第一逻辑地址的一数据;

于该备用区中选择一备用区块;

将该数据写入至该被选择的备用区块;

将该被选择的备用区块的一实体地址链接至该第一逻辑地址;

清除一第一数据区块的内容;以及

回收该第一数据区块至该备用区的一尾端序列,其中该第一数据区块是原本对应于该第一逻辑地址。

2.根据权利要求1所述的方法,其特征在于该被选择的备用区块是位于该备用区的一顶端序列。

3.根据权利要求1所述的方法,其特征在于该被选择的备用区块是于对应于该被选择的备用区块的一清除次数少于一默认值时被选择。

4.根据权利要求3所述的方法,其特征在于该默认值是一固定值以及一范围值其中之一,且该默认值是预先被设定于一设置于该快闪存储器的固件以及一控制器其中之一当中。

5.一种用以平均地使用一快闪存储器的区块的方法,该快闪存储器包含一数据区以及一备用区,该数据区包含多个数据区块,该备用区包含多个备用区块,该方法包含下列步骤:接收对应于一第一逻辑地址的一数据;

于该备用区中选择位于该备用区的一顶端序列的一备用区块;

当对应于该被选择的备用区块的一清除次数达到一默认值时,选择一第二数据区块;

将储存于该第二数据区块的一数据写入至该被选择的备用区块;

将该被选择的备用区块的一实体地址链接至该第二数据区块的一逻辑地址;

清除该第二数据区块;

回收该第二数据区块至该备用区的一尾端序列;

于该备用区中选择位于该备用区的该顶端序列的另一备用区块;

将该数据写入至该被选择的另一备用区块;

将该被选择的另一备用区块的一实体地址链接至该第一逻辑地址;

清除一第一数据区块的内容;以及

回收该第一数据区块至该备用区的尾端序列,其中该第一数据区块是原本对应于该第一逻辑地址。

6.根据权利要求5所述的方法,其特征在于对应于该第二数据区块的一清除次数是等于零。

7.根据权利要求5所述的方法,其特征在于选择该第二数据区块的步骤还包含以下步骤:于这些数据区块当中搜寻清除次数为零的一数据区块。

8.根据权利要求7所述的方法,其特征在于还包含以下步骤:当这些数据区块当中没有清除次数为零的数据区块时,将每一数据区块的清除次数减一。

9.根据权利要求5所述的方法,其特征在于该第二数据区块是通过搜寻清除次数最小的一数据区块而被选择。

10.根据权利要求5所述的方法,其特征在于该默认值是一固定值以及一范围值其中之一,且该默认值是预先被设定于一设置于该快闪存储器的固件以及一控制器其中之一当中。

11.一种存储器装置,包含:

一快闪存储器,其包含一具有多个数据区块的数据区以及一具有多个备用区块的备用区;以及一控制器,用以接收对应于一第一逻辑地址的一数据并选择一备用区块;

其中,当对应于该被选择的备用区块的一清除次数少于一默认值时,该控制器写入该数据至该被选择的备用区块,当对应于该被选择的备用区块的清除次数达到该默认值时,该控制器选择一第二数据区块并将储存于该第二数据区块的一数据写入至该被选择的备用区块,并清除该第二数据区块,回收该第二数据区块至该备用区的一尾端序列,并再次选择另一备用区块,将该数据写入至该被选择的另一备用区块,且将该被选择的另一备用区块的一实体地址链接至该第一逻辑地址,该控制器还清除一第一数据区块的内容并回收该第一数据区块至该备用区的尾端序列,其中该第一数据区块是原本对应于该第一逻辑地址,借以平均地使用该快闪存储器的区块。

12.根据权利要求11所述的存储器装置,其特征在于该控制器还包含一缓冲存储器,用以暂时储存该快闪存储器的这些区块的链接信息,该链接信息是相关于这些区块的逻辑地址以及实体地址。

13.根据权利要求12所述的存储器装置,其特征在于该链接信息还相关于每一区块的实体地址的清除次数,且该具有这些清除次数的链接信息是于一存取操作之后被储存于该快闪存储器的其中之一区块。

14.根据权利要求13所述的存储器装置,其特征在于这些清除次数是相对值。

15.根据权利要求11所述的存储器装置,其特征在于该第二数据区块是通过搜寻清除次数为零的一数据区块而被选择。

16.根据权利要求15所述的存储器装置,其特征在于当这些数据区块当中没有清除次数为零的数据区块时,该控制器用以将每一数据区块的清除次数减一。

17.根据权利要求11所述的存储器装置,其特征在于该默认值是一固定值以及一范围值其中之一,且该默认值是预先被设定于一设置于该快闪存储器的固件以及该控制器其中之一当中。

说明书 :

存取一快闪存储器的装置、方法及平均地使用该快闪存储

器的区块的方法

技术领域

[0001] 本发明是关于一种存取一快闪存储器(flash memory)及方法、及平均地使用该快闪存储器的区块的方法。

背景技术

[0002] 近年来,诸如SD/MMC、CF、MS、XD卡等可携式存储器装置被广泛地用于诸多应用中。图1是绘示现有存储器装置的方块图。存储器装置10包含一存储器控制器11与一非挥发性快闪存储器12。存储器控制器11包含一界面逻辑110、一挥发性缓冲存储器112、一控制逻辑114以及一微处理器116,其中界面逻辑110用以与一主机(图未绘示)传输数据,挥发性缓冲存储器112则用以暂时储存正写入或正读取自非挥发性快闪存储器12的数据。这些电路单元110、112、114及116相互连接并受控于微处理器116。非挥发性快闪存储器12包含多个单元(标记为区块)以及只有于清除之后方能直接覆写的数据区块(标记为被写入区块)。换言的,只有空区块可被写入。
[0003] 然而,快闪存储器12的各该区块只能被清除一定次数,此称为耐久次数(endurance times)。举例而言,一个区块只能被清除几万次,此后便无法再被进一步清除,使该区块不再可用。当快闪存储器12具有无法被清除的区块时,无论其是否存在任何其它可被清除的区块,都仅能被读取或者无法使用。一般而言,单级单元(single-level-cell)快闪存储器的区块可被清除十万次,而多级单元(multi-level-cell)快闪存储器的区块只能被清除一万次。
[0004] 图2是绘示一用以将逻辑地址链接至实体地址的链接表20。链接表20可被储存于缓冲存储器112或控制逻辑114中。链接表20表示由主机所传送逻辑地址与快闪存储器12的各区块的实体地址之间的关系。链接表20包含对应于快闪存储器12中各该区块的清除次数。清除次数是表示区块已被清除或重新写入的次数。而对应于各该区块的清除次数是预设为0。
[0005] 图3A~图3D是绘示现有平均抹写(wear-leveling)方法的示意图。于图3A中,假定快闪存储器12于区块0、区块1、区块2、区块3及区块4中具有数据,且一新数据有待写入或写入至快闪存储器12内以取代区块1的陈旧数据。首先清除区块1。使对应于区块1的清除次数递增1,并随后将新数据写入区块1中。而如图3B所示,储存于快闪存储器12的区块1中的数据发生变化,且区块1的清除次数变为“1”。如图3C中所示,应了解,当快闪存储器被长时间重新写入/存取之后,对应于频繁使用的区块的清除次数会比较大。例如,区块0的清除次数是500,区块1的清除次数是1000,区块2的清除次数是360,区块3的清除次数是410,区块4的清除次数是230等等。区块1的清除次数较大,是肇因于储存在区块1中的数据经常得到更新。清除次数较大亦意味着区块1中的数据是较热门数据。
一旦新数据再次被写入于区块1中的逻辑地址(LA1)且区块1的清除次数已达到一默认值(例如1000),便可通过搜最小清除次数而选择含有冷门数据的不常使用的区块4,以与区块1进行交换。首先,自区块4中读取不常使用的区块4中的冷门数据,并将其暂时储存于缓冲存储器112中,随后于区块1被清除后重新写入于区块4中。接着,于区块4亦被清除后,将新数据重新写入至区块4中。再接着,如图3D中所示,于查找表20中重新链接LA1、LA4、区块0及区块4间的关系。应注意,于交换之后,对应于区块1及区块4的清除次数亦递增1。借此,将对应于LA1的热门数据引导并写入至清除次数较小的区块4中,以防止区块1故障或失效。
[0006] 然而,前段所述现有的平均抹写方法具有数种缺点。首先,所有区块的清除次数皆为绝对值,当运作平均抹写方法时将其记录于缓冲存储器12中需要使用许多位,且于将“空位(blank)”记录回存至快闪存储器12时,亦需要占用快闪存储器12的容量。第二,比较及搜寻清除次数较小的区块会极大地影响效能。第三,其代价是使清除次数最小的区块(即区块4)会被清除一次或多次。最重要的是,现有的平均抹写方法是一种粗糙的方法,无法充分利用每一区块。
[0007] 因此,于存储器行业中需要一种用以管控快闪存储器的区块,使其的使用并更平均、充分、有效且低成本地利用区块的方式。

发明内容

[0008] 本发明提供一种用以存取一快闪存储器(flash memory)的方法。该快闪存储器划分为一数据区以及一备用区。该数据区包含多个数据区块,该备用区包含多个备用区块。该方法包含下列步骤:接收对应于一第一逻辑地址的数据;于该备用区中选择一备用区块;将该数据写入至该被选择的备用区块;将该被选择的备用区块的一实体地址链接至该第一逻辑地址;清除一第一数据区块的内容;以及回收该第一数据区块至该备用区的一尾端序列,其中该第一数据区块是原本对应于该第一逻辑地址。
[0009] 本发明亦提供一种用以平均地使用一快闪存储器的区块的方法。该快闪存储器包含一数据区以及一备用区。该数据区包含多个数据区块,该备用区包含多个备用区块。该方法包含下列步骤:接收对应于一第一逻辑地址的数据;于该备用区中选择位于该备用区的一顶端序列的一备用区块;当对应于该被选择的备用区块的一清除次数达到一默认值时,选择一第二数据区块;将储存于该第二数据区块的一数据写入至该被选择的备用区块;将该被选择的备用区块的一实体地址链接至该第二数据区块的一逻辑地址;清除该第二数据区块;回收该第二数据区块至该备用区的一尾端序列;于该备用区中选择位于该备用区的该顶端序列的另一备用区块;将该数据写入至该被选择的另一备用区块;将该被选择的另一备用区块的一实体地址链接至该第一逻辑地址;清除一第一数据区块的内容;以及回收该第一数据区块至该备用区的尾端序列,其中该第一数据区块是原本对应于该第一逻辑地址。
[0010] 本发明还提供一种存储器装置,其包含一快闪存储器及一控制器。该快闪存储器包含一具有多个数据区块的数据区以及一具有多个备用区块的备用区。该控制器用以接收对应于一第一数据区块的数据并选择一备用区块,其中当对应于该被选择的备用区块的一清除次数少于一默认值时,该控制器写入该数据至该被选择的备用区块;当对应于该被选择的备用区块的清除次数达到该默认值时,则该控制器选择一第二数据区块并将储存于该第二数据区块的一数据写入至该被选择的备用区块,并清除该第二数据区块,回收该第二数据区块至该备用区的一尾端序列,并再次选择另一备用区块,将该数据写入至该被选择的另一备用区块,且将该被选择的另一备用区块的一实体地址链接至该第一逻辑地址,该控制器还清除一第一数据区块的内容并回收该第一数据区块至该备用区的尾端序列,其中该第一数据区块是原本对应于该第一逻辑地址,借以平均地使用该快闪存储器的区块。
[0011] 通过利用此种配置,本发明能够平均地使用一快闪存储器的区块,例如数据区块及备用区块。借此,可提高快闪存储器的寿命,以较低的成本管控快闪存储器的数据区块及备用区块,并增强快闪存储器的存取效能。

附图说明

[0012] 在参阅附图及随后描述的实施方式后,此技术领域具有通常知识者便可清楚了解本发明的目的、特点和优点,以及本发明的技术手段及实施态样,其中:
[0013] 图1是现有存储器装置的方块图;
[0014] 图2是用以将逻辑地址链接至实体地址的查找表;
[0015] 图3A~图3D是现有的平均抹写方法的示意图;
[0016] 图4是本发明的存储器装置;
[0017] 图5是本发明的数据区块及备用区块的映像表;
[0018] 图6A~图6D是本发明的非挥发性快闪存储器的存取示意图;
[0019] 图7是本发明的快闪存储器存取方法的流程图;以及
[0020] 图8是图7的步骤S714中选择第二数据区块的方法的流程图。

具体实施方式

[0021] 以下将更详细地说明本发明的一种用以存取快闪存储器的方法、一种用以平均使用一快闪存储器的区块的方法以及一种存储器装置。
[0022] 图4是绘示本发明的一存储器装置的方块图。存储器装置40包含一存储器控制器41及一非挥发性快闪存储器42。存储器控制器41包含一界面逻辑410、一挥发性缓冲存储器412、一微处理器416及一控制逻辑414,其中界面逻辑410用以与一主机(图未绘示)传输数据,挥发性缓冲存储器412则用以暂时储存正写入至或正读取自非挥发性快闪存储器42的数据。这些电路单元410、412、414及416相互连接且受控于微处理器416。非挥发性快闪存储器42被划分成数据区422及备用区424。数据区422包含多个数据区块,备用区424则包含多个备用区块。举例而言,数据区包含“k”个数据区块,备用区包含“(N-k)”个备用区块。
[0023] 图5则绘示本发明的数据区块及备用区块的映像表。该数据区块映像表包含逻辑地址列502、实体地址列504及清除次数列506。该备用区块映像表则包含实体地址列524及清除次数列526。于初始情形中,逻辑地址LA 0是链接至实体地址区块0,逻辑地址LA 1是链接至实体地址区块1,逻辑地址LA 2是连接至实体地址区块2,依此类推。对应于备用区块的许多实体地址则不链接至逻辑地址。此外,对应于各该区块的清除次数为0。
[0024] 图6A~图6D绘示本发明的非挥发性快闪存储器的存取示意图。于图6A中,数据区422的各该数据区块皆填充有数据,而各该备用区块则为空的(即没有填充数据)。一方面,逻辑地址LA 0链接至清除次数为50的实体区块0,LA 1链接至清除次数为70的区块1,LA 2链接至清除次数为100的区块2,依此类推。另一方面,备用区块映像表52显示实体区块“k”的清除次数为100,实体区块(k+1)的清除次数为200,实体区块(k+2)的清除次数为400,亦依此类推。
[0025] 当由一主机(图未绘示)传送逻辑地址为LA 1的数据时,存储器控制器41暂时储存该数据于缓冲存储器412中,并随后于备用区424中选择一用以写入/储存数据的备用区块。于一实施态样中,当备用区块的清除次数少于一默认值(例如400)时,该备用区块是排位于备用区424的顶端序列中。换言之,因该备用区块的清除次数100小于400,故该备用区块的实体地址是区块“k”。接着,控制器41相应地重新映像实体地址区块1的数据区块与实体地址区块“k”的备用区块之间的关系。亦即,控制器41将逻辑地址LA 1链接至实体地址区块“k”。于另一实施态样中,则可清除对应于实体地址区块1的数据区块,并回收该数据区块至备用区424的一尾端序列。如图6B中所绘示的数据区422包含一对应于实体地址区块“k”的区块,备用区424包含一对应于实体地址区块“1”的区块。亦应注意的是,LA 1于映像表50中是与区块“k”相链接,且清除次数为71的实体地址区块“1”被记录至映像表52中。
[0026] 接着,由一主机(图未绘示)传送逻辑地址为LA 2的新数据,存储器控制器41暂时储存该新数据于缓冲存储器412中,并接着于备用区424中选择一备用区块,以于其中写入/储存数据。于一实施态样中,该备用区块是位于备用区424的顶端序列中。换言之,当该备用区块的清除次数少于默认值(例如400)时,该备用区块的实体地址是区块(k+1)。接着,存储器控制器41相应地重新映像实体地址区块2的数据区块与实体地址区块“k+1”的备用区块之间的关系。亦即,控制器41将逻辑地址LA 2链接至实体地址区块(k+1)。于另一实施态样中,则可清除对应于实体地址区块2的数据区块,并回收该数据区块至备用区424的尾端序列中。如图6C中所绘示的数据区422包含一对应于实体地址区块(k+1)的区块,备用区424包含一对应于实体地址区块2的区块。亦应注意的是,LA 2于映像表
50中是与区块(k+1)相链接,且清除次数为101的实体地址区块2被记录至映像表52中。
[0027] 接着,由一主机(图未绘示)传送逻辑地址为LA 3的新数据,存储器控制器41暂时储存该新数据于缓冲存储器412中,并接着于备用区424中选择一备用区块,以于其中写入/储存数据。然而,备用区424的顶端序列中备用区块的清除次数达到一默认值(例如400)。存储器控制器41于数据区422中搜寻一清除次数等于0的数据区块。若不存在清除次数为0的数据区块,则存储器控制器41将对应于所有区块的所有清除次数减去1并重新搜寻。于一实施态样中,是选择对应于区块(k-1)的数据区块,是因其清除次数为0。接着,存储器控制器41将对应于实体地址区块(k-1)的数据区块重新映像至对应于实体地址区块“k+2”的备用区块。亦即,控制器读取储存于区块(k-1)中的数据并将数据写入/写入至对应于实体地址区块(k+1)的备用区块中。同时,存储器控制器41将逻辑地址LA(k-2)链接至实体地址区块(k+2)。于另一实施态样中,则可清除对应于实体地址区块(k-2)的数据区块,并回收该数据区块至备用区424的尾端序列中。如图6C中所绘示的数据区422包含一对应于实体地址区块(k+2)的区块,备用区424包含一对应于实体地址区块(k-2)的区块。亦应注意的是,LA(k-2)于映像表50中是与区块(k+2)相链接,且清除次数为1的实体地址区块(k-2)被记录至映像表52中。
[0028] 于将数据区块(k-2)重新映像至备用区块(k+2)之后,存储器控制器41还于备用区424的顶端序列中选择一备用区块,以于其中写入/储存数据。此时,选择对应于清除次数为80(小于一默认值400)的实体地址区块(k+3)的备用区块。存储器控制器41接着将储存于缓冲存储器412中的数据写入至对应于实体地址区块(k+3)的备用区块中,并相应地重新映像实体地址区块3的数据区块与实体地址区块(k+3)的备用区块之间的关系。亦即,控制器41将逻辑地址LA 3链接至实体地址区块(k+3)。于另一实施态样中,可清除对应于实体地址区块3的数据区块,并回收该数据区块至备用区424的尾端序列中。如图6D中所绘示的数据区422包含一对应于实体地址区块(k+3)的区块,备用区424包含一对应于实体地址区块3的区块。亦应注意的是,LA 3于映像表50中是与区块(k+3)相链接,且清除次数为91的实体地址区块3被记录至映像表52中。
[0029] 图7是本发明的快闪存储器存取方法的流程图。其归纳如下说明。于步骤S702中,存储器控制器41首先自主机接收对应于第一数据区块的第一逻辑地址的数据。于步骤S704中,存储器控制器41于备用区424中选择一位于顶端序列的备用区块。于步骤S706中,存储器控制器41判断该备用区块的清除次数是否达到一默认值(例如400)。若已达到,则执行步骤S714,反之,则执行步骤S708。于步骤S708中,当对应于该备用区块的清除次数少于400时,存储器控制器41将数据写入至该备用区块中。于步骤S710中,存储器控制器41清除第一数据区块并回收该第一数据区块至备用区424的尾端序列中,其中该第一数据区块是原本对应于该第一逻辑地址。该步骤是可选择的,亦即本发明并不限制所有步骤皆需要被执行,其可以仅仅执行某些步骤以达成本发明的目的。
[0030] 于步骤S712中,存储器控制器41重新映像该备用区块的实体地址。亦即,存储器控制器41将该备用区块的实体地址链接至第一逻辑地址。于步骤S712执行之后,再回到步骤S702。于步骤S714中,当对应于该备用区块的清除次数达到默认值(例如400)时,存储器控制器41选择一清除次数等于0的第二数据区块。于步骤S716中,存储器控制器41将储存于第二数据区块中的数据写入至备用区块中。于步骤S718中,存储器控制器41清除第二数据区块,并回收第二数据区块至备用区424的尾端序列中。该步骤是可选择的,亦即本发明并不限制所有步骤皆需要被执行,其可以仅仅执行某些步骤以达成本发明的目的。
[0031] 于步骤S720中,存储器控制器41重新映像第二数据区块与备用区块。亦即,存储器控制器41将第二数据区块的逻辑地址链接至备用区块的实体地址。于步骤S720执行之后,再回到步骤S704,以进一步处理对应于第一数据区块的一逻辑地址的数据。若对应于下一备用区块的清除次数少于400,则执行步骤S708。该默认值可预先被设定于一储存于该存储器控制器41中的固件中或者快闪存储器42其中的一区块中。该默认值亦可是一固定值(例如400)或者一范围值(例如400±5%)。
[0032] 图8是绘示图7的步骤S714中选择第二数据区块的方法。于步骤S7142中,存储器控制器41于对应于各该数据区块的清除次数中搜寻一为0的清除次数。若不存在为0的清除次数,则执行步骤S7144,存储器控制器41将对应于所有区块的清除次数减去1。直到这些数据区块其中之一的清除次数等于0时,由存储器控制器41选择该数据区块。
[0033] 借此,本发明具有数种优点。首先,清除次数是相对值,且所耗用的位数较现有技术为少。此意味着不仅快闪存储器本身所需的记录容量减小,而且缓冲存储器412于运作期间所需的容量亦得以减小。第二,存储器控制器41无需比较所有清除次数便能如于背景技术部分中所述发现数据区块具有该次数。因此整个系统的效能亦得到增强。
[0034] 据此,本发明能够平均地使用一快闪存储器的区块,例如数据区块及备用区块。可进一步提高快闪存储器的寿命,以较低的成本管控快闪存储器的数据区块及备用区块,并增强快闪存储器的存取效能。
[0035] 上述的实施例仅用来例举本发明的实施态样,以及阐释本发明的技术特征,并非用来限制本发明的范畴。任何熟悉此技术者可轻易完成的改变或均等性的安排均属于本发明所主张的范围,本发明的权利范围应以申请专利范围为准。