用来进行区块管理的方法、记忆装置及其控制器转让专利

申请号 : CN201010553729.3

文献号 : CN102479156B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周柏升张敬勤沈扬智

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

摘要 :

本发明涉及一种用来进行区块管理的方法,该方法应用于具有多通道的闪存的控制器,该闪存包含分别对应于该些通道的多个区块,该方法包含有:将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块;以及当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,动态地更新该备用好区块表,以供进行区块管理。尤其是,在需要时,该好区块用来代换分组至一超区块的一区块。依据本发明所实现的区块管理可妥善利用上述剩余的储存空间,不会造成浪费;本发明在不大幅地增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。

权利要求 :

1.一种用来进行区块管理的方法,该方法应用于具有多通道的闪存的控制器,该闪存包含分别对应于该些通道的多个区块,其特征在于,该方法包含有:将所述多通道的所述多个区块分组至多个超区块,控制器将所述超区块作为最小抹除单位对该闪存进行抹除;

建立超区块映像表以作为存取数据的参考,在所述超区块映像表内分别存储有对应于每一所述超区块的每一所述区块的索引;

将未分组至任一所述超区块的至少一好区块的至少一索引暂时地储存于一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块;

将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本;以及当侦测到目前分组至所述超区块之区块当中对应于一特定通道的一特定区块为坏区块时,动态地更新该备用好区块表和所述超区块映像表,以供进行区块管理;所述备用好区块表使用特定符号来代表所述坏区块或某次更新运作中的非有效记录。

2.根据权利要求1所述的方法,其特征在于,其中在需要时,该好区块用来代换分组至一所述超区块的一区块。

3.根据权利要求1所述的方法,其特征在于,其另包含有:当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,动态地以对应于该特定通道的该好区块来取代该特定区块。

4.根据权利要求3所述的方法,其特征在于,其中动态地更新该备用好区块表以供进行区块管理的步骤另包含:当动态地以对应于该特定通道的该好区块来取代该特定区块时,自该备用好区块表移除对应于该特定通道的该好区块的索引。

5.根据权利要求1所述的方法,其特征在于,其中动态地更新该备用好区块表以供进行区块管理的步骤另包含:当侦测到对应于该特定通道的该特定区块为坏区块时,将该特定区块所属的一所述超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。

6.根据权利要求1所述的方法,其特征在于,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。

7.一种记忆装置,其特征在于,其包含有:具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块;以及一控制器,用来存取该闪存以及管理该多个区块,其中该控制器将所述多通道的所述多个区块分组至多个超区块,并将所述超区块作为最小抹除单位对该闪存进行抹除;

该控制器还建立超区块映像表以作为存取数据的参考,在所述超区块映像表内分别存储有对应于每一所述超区块的每一所述区块的索引;

该控制器还将未分组至任一所述超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块;

该控制器将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及该控制器将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本;其中当侦测到目前分组至所述超区块的区块当中对应于一特定通道的一特定区块为坏区块时,该控制器动态地更新该备用好区块表和所述超区块映像表,以供进行区块管理;所述备用好区块表使用特定符号来代表所述坏区块或某次更新运作中的非有效记录。

8.根据权利要求7所述的记忆装置,其特征在于,其中在需要时,该好区块用来代换分组至一所述超区块的一区块。

9.根据权利要求7所述的记忆装置,其特征在于,其中当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,该控制器动态地以对应于该特定通道的该好区块来取代该特定区块。

10.根据权利要求9所述的记忆装置,其特征在于,其中当动态地以对应于该特定通道的该好区块来取代该特定区块时,该控制器自该备用好区块表移除对应于该特定通道的该好区块的索引。

11.根据权利要求7所述的记忆装置,其特征在于,其中当侦测到对应于该特定通道的该特定区块为坏区块时,该控制器将该特定区块所属的一所述超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。

12.根据权利要求7所述的记忆装置,其特征在于,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。

13.一种记忆装置的控制器,该控制器用来存取具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块,其特征在于,该控制器包含有:一只读存储器,用来储存一程序代码;以及一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该多个区块,其中透过该微处理器执行该程序代码的该控制器将所述多通道的所述多个区块分组至多个超区块,并将所述超区块作为最小抹除单位对该闪存进行抹除;

该控制器还建立超区块映像表以作为存取数据的参考,在所述超区块映像表内分别存储有对应于每一所述超区块的每一所述区块的索引;

该控制器还将未分组至任一所述超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,而该好区块为该多个区块当中未被判定为坏区块的一区块;

透过该微处理器执行该程序代码的该控制器将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及透过该微处理器执行该程序代码的该控制器将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本;

当侦测到目前分组至所述超区块的区块当中对应于一特定通道的一特定区块为坏区块时,透过该微处理器执行该程序代码的该控制器动态地更新该备用好区块表和所述超区块映像表,以供进行区块管理;所述备用好区块表使用特定符号来代表所述坏区块或某次更新运作中的非有效记录。

14.根据权利要求13所述的控制器,其特征在于,其中在需要时,该好区块用来代换分组至一所述超区块的一区块。

15.根据权利要求13所述的控制器,其特征在于,其中当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,透过该微处理器执行该程序代码的该控制器动态地以对应于该特定通道的该好区块来取代该特定区块。

16.根据权利要求15所述的控制器,其特征在于,其中当动态地以对应于该特定通道的该好区块来取代该特定区块时,透过该微处理器执行该程序代码的该控制器自该备用好区块表移除对应于该特定通道的该好区块的索引。

17.根据权利要求13所述的控制器,其特征在于,其中当侦测到对应于该特定通道的该特定区块为坏区块时,透过该微处理器执行该程序代码的该控制器将该特定区块所属的一所述超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。

18.根据权利要求13所述的控制器,其特征在于,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。

说明书 :

用来进行区块管理的方法、记忆装置及其控制器

技术领域

[0001] 本发明涉及关于具有多通道的闪存(Flash Memory)的存取(Access),更具体地说,涉及一种用来进行区块管理的方法以及相关的记忆装置及其控制器。

背景技术

[0002] 近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)或具备闪存的固态硬盘(Solid State Drive,SSD)被广泛地实施于诸多应用中。因此,这些记忆装置中的闪存的访问控制遂成为相当热门的议题。
[0003] 以常用的NAND型闪存而言,其主要可区分为单阶细胞(Single Level Cell,SLC)与多阶细胞(Multiple Level Cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆单元的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的储存能力则被充分利用,采用较高的电压来驱动,以透过不同级别的电压在一个晶体管中记录两组(或以上)位信息(00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的两倍,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
[0004] 相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保记忆装置对闪存的访问控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。
[0005] 依据相关技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,相关技术的管理机制无法保证在具有多通道的闪存中的储存空间得以被妥善利用;尤其是,有些区块可能自始至终都不会被终端使用者用到。因此,需要一种新颖的方法来进行区块管理,以妥善利用闪存中的储存空间。

发明内容

[0006] 本发明要解决的技术问题在于,针对现有技术的上述无法保证在具有多通道的闪存中的储存空间得以被妥善利用的缺陷,因此本发明的目的之一在于提供一种用来进行区块管理的方法以及相关的记忆装置及其控制器,以解决上述问题。
[0007] 本发明的另一目的在于提供一种用来进行区块管理的方法以及相关的记忆装置及其控制器,以妥善利用闪存中的储存空间。
[0008] 本发明解决其技术问题所采用的技术方案之一是:构造一种用来进行区块管理的方法,该方法应用于具有多通道(Channel)的闪存(Flash Memory)的控制器,该闪存包含分别对应于该些通道的多个区块,该方法包含有:将未分组(Group)至任一超区块(Meta Block)的至少一好区块的至少一索引暂时地储存于一备用好区块(Spare Good Block)表,其中该好区块为该多个区块当中未被判定为坏区块的一区块;以及当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,动态地更新该备用好区块表,以供进行区块管理。
[0009] 上述本发明所述的方法,其中在需要时,该好区块用来代换分组至一超区块的一区块。
[0010] 上述本发明所述的方法,其另包含有:
[0011] 当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,动态地以对应于该特定通道的该好区块来取代该特定区块。
[0012] 上述本发明所述的方法,其中动态地更新该备用好区块表以供进行区块管理的步骤另包含:
[0013] 当动态地以对应于该特定通道的该好区块来取代该特定区块时,自该备用好区块表移除对应于该特定通道的该好区块的索引。
[0014] 上述本发明所述的方法,其中动态地更新该备用好区块表以供进行区块管理的步骤另包含:
[0015] 当侦测到对应于该特定通道的该特定区块为坏区块时,将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
[0016] 上述本发明所述的方法,其另包含有:
[0017] 将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及
[0018] 将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本。
[0019] 上述本发明所述的方法,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
[0020] 本发明解决其技术问题所采用的技术方案之二是:构造上述方法的同时,也对应地构造一种记忆装置,其包含有:具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块;以及一控制器,用来存取(Access)该闪存以及管理该多个区块。另外,该控制器将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块。此外,当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,该控制器动态地更新该备用好区块表,以供进行区块管理。
[0021] 上述本发明所述的记忆装置,其中在需要时,该好区块用来代换分组至一超区块的一区块。
[0022] 上述本发明所述的记忆装置,其中当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,该控制器动态地以对应于该特定通道的该好区块来取代该特定区块。
[0023] 上述本发明所述的记忆装置,其中当动态地以对应于该特定通道的该好区块来取代该特定区块时,该控制器自该备用好区块表移除对应于该特定通道的该好区块的索引。
[0024] 上述本发明所述的记忆装置,其中当侦测到对应于该特定通道的该特定区块为坏区块时,该控制器将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
[0025] 上述本发明所述的记忆装置,其中该控制器将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及该控制器将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本。
[0026] 上述本发明所述的记忆装置,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
[0027] 本发明解决其技术问题所采用的技术方案之三是:构造上述方法的同时,也对应地构造一种记忆装置的控制器,该控制器用来存取具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块,该控制器包含有:一只读存储器(Read Only Memory,ROM),用来储存一程序代码;以及一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该多个区块。另外,透过该微处理器执行该程序代码的该控制器将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块。此外,当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,透过该微处理器执行该程序代码的该控制器动态地更新该备用好区块表,以供进行区块管理。
[0028] 上述本发明所述的控制器,其中在需要时,该好区块用来代换分组至一超区块的一区块。
[0029] 上述本发明所述的控制器,其中当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,透过该微处理器执行该程序代码的该控制器动态地以对应于该特定通道的该好区块来取代该特定区块。
[0030] 上述本发明所述的控制器,其中当动态地以对应于该特定通道的该好区块来取代该特定区块时,透过该微处理器执行该程序代码的该控制器自该备用好区块表移除对应于该特定通道的该好区块的索引。
[0031] 上述本发明所述的控制器,其中当侦测到对应于该特定通道的该特定区块为坏区块时,透过该微处理器执行该程序代码的该控制器将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
[0032] 上述本发明所述的控制器,其特征在于,其中透过该微处理器执行该程序代码的该控制器将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及透过该微处理器执行该程序代码的该控制器将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本
[0033] 上述本发明所述的控制器,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
[0034] 本发明解决其技术问题所采用的技术方案之四是:构造一种用来进行区块管理的方法,该方法应用于具有多通道的闪存的控制器,该闪存包含分别对应于该些通道的多个区块,该闪存得以该些区块中单一区块进行抹除,该方法包含有:建立一超区块,其中该超区块包含位于不同通道的多个区块,且该控制器以该超区块为最小抹除单位对该闪存进行抹除;以及依据该多个区块的损坏状况,更新该超区块的区块组成或更新该超区块的损坏状况。尤其是,依据该多个区块的损坏状况更新该超区块的区块组成的步骤更包含:当该超区块中属于一第一通道的一区块被判定为一坏区块,以该第一通道中的一好区块替代该坏区块。
[0035] 实施本发明的技术方案,具有以下有益效果:依据本发明所实现的区块管理可妥善利用上述剩余的储存空间,不会造成浪费。
[0036] 相较于相关技术,本发明在不大幅地增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。

附图说明

[0037] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0038] 图1A为依据本发明一第一实施例的一种记忆装置的示意图;
[0039] 图1B为图1A所示的记忆装置在一实施例中的实施细节;
[0040] 图2为依据本发明一实施例的一种用来进行区块管理的方法的流程图;
[0041] 图3A至图3C为图2所示的方法在一实施例中的实施细节;
[0042] 图4A至图4C为图2所示的方法在另一实施例中的实施细节;
[0043] 图5A至图5C为图2所示的方法在另一实施例中的实施细节。
[0044] 【主要组件符号说明】
[0045]
[0046]

具体实施方式

[0047] 请参考图1A,图1A为依据本发明一第一实施例的一种记忆装置100的示意图,其中本实施例的记忆装置100尤其为可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)或固态硬盘(SSD,Solid State Drive)等。记忆装置100包含有:一闪存(Flash Memory)120,其包含至少一信息区块(Block)120B;以及一控制器,用来存取(Access)闪存120,其中该控制器例如一内存控制器110。依据本实施例,内存控制器110包含一微处理器
112、一只读存储器(Read Only Memory,ROM)112M、一控制逻辑114、至少一缓冲存储器116、与一接口逻辑118。另外,本实施例的只读存储器112M用来储存一程序代码112C,而微处理器112则用来执行程序代码112C以控制对闪存120的存取。请注意到,程序代码112C也得储存在缓冲存储器116或任何形式的内存内。
[0048] 如图1A所示,上述的至少一信息区块120B用来储存关于区块管理的信息,尤其是一超区块(Meta Block)映射表120M与一备用好区块(Spare Good Block)表120F。依据本实施例,缓冲存储器116包含缓冲器Buf(0)与Buf(1)。例如:缓冲器Buf(0)与Buf(1)可分别为缓冲存储器116中的多个缓冲区域。又例如:上述的至少一缓冲存储器116包含多个缓冲存储器,可分别用来实施缓冲器Buf(0)与Buf(1)。在本实施例中,上述的控制器(例如:透过微处理器112执行程序代码112C的内存控制器110)可将备用好区块表120F的一先前版本储存在闪存120,并将备用好区块表120F的一复制版本储存在缓冲器Buf(0),以供动态地更新备用好区块表120F。另外,该控制器将缓冲器Buf(0)当中备用好区块表120F之最新版本储存至闪存120,以取代备用好区块表120F的该先前版本。相仿地,该控制器可将超区块映像表120M的一先前版本储存在闪存120,并将超区块映像表120M的一复制版本储存于缓冲器Buf(1),以供动态地更新超区块映射表120M。另外,该控制器将缓冲器Buf(1)当中超区块映像表120M的最新版本储存至闪存120,以取代超区块映像表120M的该先前版本。
[0049] 图1B为图1A所示的记忆装置100在一实施例中的实施细节。如图1B所示,上述的闪存120包含多个闪存芯片诸如闪存芯片120-0、120-1、...、与120-(N-1),其中闪存120具有多信道(Channel)诸如信道Ch(0)、Ch(1)、...、与Ch(N-1),而该些闪存芯片诸如闪存芯片120-0、120-1、...、与120-(N-1)分别属于该些通道。在典型状况下,除了上述的至少一信息区块120B,闪存120另包含分别对应于该些通道的多个区块,而该控制器(例如:透过微处理器112执行程序代码112C的内存控制器110)。闪存芯片执行抹除时,最小的抹除单位得以区块为单位来进行抹除。而在本实施例中,该控制器以一超区块为单位进行抹除。另外,一区块可记录特定数量的页(Page),其中该控制器对每一闪存芯片进行写入时,最小的写入单位系以页为单位来进行写入。此外,信息区块120B得设置在某一信道的一特定位置中,例如,信道Ch(0)的第一区块,也得散置在各通道之中(未绘示在图1B)。
[0050] 实作上,透过微处理器112执行程序代码112C的内存控制器110可利用其本身内部的组件来进行诸多控制运作,例如:利用控制逻辑114来控制每一闪存芯片的存取运作(尤其是对至少一区块或至少一页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与一主装置(Host Device)沟通。
[0051] 依据本实施例,除了能存取闪存120,该控制器还能妥善地管理上述的多个区块。更明确而言,该控制器可将上述的多个区块动态地分组(Group)至多个超区块(Meta Block)诸如超区块M(0)、M(1)、M(2)、...等,并且动态地更新超区块映像表120M,以供用来作为存取数据时的参考。另外,该控制器可动态地更新备用好区块表120F,以供进行区块管理。请参考图2,相关细节进一步说明如下。
[0052] 图2为依据本发明一实施例的一种进行区块管理的方法910的流程图。该方法可应用于在图1A至图1B所示的各个实施例(及相关的变化例)中的任一个当中的记忆装置100,尤其是具有多通道的闪存120的控制器诸如上述的控制器(例如:透过微处理器112执行程序代码112C的内存控制器110)。该方法说明如下:
[0053] 在步骤912中,该控制器将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表诸如上述的备用好区块表120F,其中该好区块为该多个区块当中未被判定为坏区块的一区块。尤其是,上述的至少一索引对应于至少一实体地址。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,上述的至少一索引代表至少一实体地址、及/或上述的至少一索引对应于至少一实体地址。
[0054] 在步骤914中,当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,该控制器动态地更新备用好区块表120F,以供进行区块管理。例如:在需要时,该好区块可用来代换分组至一超区块的一区块;尤其是,此超区块为包含至少一坏区块的一损坏的超区块。因应此代换运作,该控制器动态地更新备用好区块表120F。又例如:上述的控制器可取消对应于一损坏的超区块的分组关系,而非进行任何代换运作。因应取消该分组关系的运作,该控制器动态地更新备用好区块表120F。
[0055] 图3A至图3C为图2所示的方法910在一实施例中的实施细节。如图3A所示,在通道Ch(0)、Ch(1)、...、与Ch(N-1)的数量N等于4的状况下,各个通道Ch(0)、Ch(1)、Ch(2)、与Ch(3)当中的各个区块可分别以索引0、1、2、3、...、(K-3)、(K-2)、与(K-1)来表示,其中符号「X」在图3A中可用来代表坏区块。该控制器可将这些索引所代表的好区块动态地分组至超区块M(0)、M(1)、M(2)、...等,并舍弃这些坏区块而不予采用。请注意到,该控制器得在初次对闪存120进行开卡运作时,建立超区块映射表120M与备用好区块表120F,也得在开卡后依特定事件的触发动态地更新超区块映射表120M与备用好区块表120F。
[0056] 如图3B所示,因应图3A所示的分组运作,该控制器对应地将分组的区块的索引暂时地储存在超区块映像表120M。例如:超区块M(0)包含分别对应于通道Ch(0)、Ch(1)、Ch(2)、与Ch(3)的区块B0(0)、B1(0)、B2(0)、与B3(1),故该控制器将分组的区块B0(0)、B1(0)、B2(0)、与B3(1)的索引{0,0,0,1}暂时地储存在超区块映像表120M当中对应于超区块M(0)的各个字段。又例如:超区块M(1)包含分别对应于通道Ch(0)、Ch(1)、Ch(2)、与Ch(3)的区块B0(1)、B1(2)、B2(1)、与B3(2),故该控制器将分组的区块B0(1)、B1(2)、B2(1)、与B3(2)的索引{1,2,1,2}暂时地储存在超区块映像表120M当中对应于超区块M(1)的各个字段。又例如:超区块M(2)包含分别对应于通道Ch(0)、Ch(1)、Ch(2)、与Ch(3)的区块B0(3)、B1(3)、B2(3)、与B3(3),故该控制器将分组的区块B0(3)、B1(3)、B2(3)、与B3(3)的索引{3,3,3,3}暂时地储存在超区块映像表120M当中对应于超区块M(2)的各个字段。
[0057] 如图3C所示,针对通道Ch(1)、Ch(2)、与Ch(3),该控制器分别将未分组至任一超区块的好区块B1(K-3)、B1(K-2)、B1(K-1)、B2(K-3)、B2(K-2)、B2(K-1)、B3(K-3)、B3(K-2)、与B3(K-1)的索引暂时地储存在备用好区块表120F。请注意,符号「X」在图3C中可用来代表坏区块。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,备用好区块表120F当中的符号「X」可代表某次更新运作中的非有效记录。例如:符号「X」所标示的字段可代表未予以记录的字段。又例如:符号「X」所标示的字段可代表记录非有效值的字段。依据本实施例的某些变化例,备用好区块表120F当中的符号「X」可代表坏区块、及/或某次更新运作中的非有效记录。实作上,该控制器可在备用好区块表120F当中以符号「X」所标示的字段记录负值或是落在一预定索引范围(例如:区间[0,(K-1)])之外的值,或根本不利用任何字段(物理内存)记录「X」。
[0058] 图4A至图4C为图2所示的方法910在另一实施例中的实施细节,其中本实施例为图3A至图3C所示实施例的变化例。依据本实施例,当侦测到对应于该特定通道的该特定区块为坏区块时,该控制器可将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存在备用好区块表120F。
[0059] 例如:在本实施例中所考虑的「对应于该特定通道的该特定区块」可为对应于通道Ch(0)的区块B0(0)。在多次的写入、抹除运作后,区块B0(0)已转变为坏区块的状况下,这表示图3A至图3C所示实施例的超区块M(0)此刻变成损坏的超区块,该控制器可舍弃坏区块B0(0)以及好区块B1(0)、B2(0)、与B3(1)而不予采用。例如:该控制器可调整至少一指标或修改超区块映射表120M当中对应于损坏的超区块M(0)的信息,使得损坏的超区块M(0)不被使用,其中该控制器不需要改变图4B所示的超区块映射表120M当中对应于其它超区块诸如超区块M(1)、M(2)、...等的信息。另外,该控制器将坏区块B0(0)所属的超区块M(0)中的其它区块B1(0)、B2(0)、与B3(1)的索引0、0、与1暂时地储存在备用好区块表120F中的相对应字段,其中该控制器更新备用好区块表120F,如图4C所示。请注意,在备用好区块表120F的最新更新之后,其最下面一列(即具有记录{X,0,0,1}的这一列)当中的符号「X」代表此次更新运作中的非有效记录。本实施例与前述各个实施例/变化例相仿之处不再重复赘述。请注意到,在一实施例中,备用好区块表120F中也得不记录坏区块,而仅记录备用好区块。坏区块得另记录在一坏区块表中。
[0060] 图5A至图5C为图2所示的方法910在另一实施例中的实施细节,其中本实施例为图3A至图3C所示实施例的变化例。依据本实施例,当侦测到对应于该特定通道的该特定区块为坏区块以及备用好区块表120F指出对应于该特定通道的一好区块存在时,该控制器可动态地以对应于该特定通道的该好区块来取代该特定区块(坏区块)。尤其是,当动态地以对应于该特定通道的该好区块来取代该特定区块时,该控制器可自备用好区块表120F移除对应于该特定通道的该好区块的索引。
[0061] 请注意,本实施例也可视为图4A至图4C所示实施例的变化例;然而,请参考图5A当中对应于损坏的超区块M(0)的信息,在本实施例中所考虑的「对应于该特定通道之该特定区块(坏区块)」为对应于通道Ch(1)的区块B1(0),而非图4A至图4C所示实施例中的区块B0(0)。例如:当侦测到对应于通道Ch(1)的区块B1(0)为转变为坏区块以及备用好区块表120F指出对应于通道Ch(1)存在好区块时,例如B1(K-3),该控制器可动态地以对应于信道Ch(1)的好区块B1(K-3)来取代超区块M(0)中的区块B1(0),其中该控制器以区块B1(K-3)的索引(K-3)更新超区块映射表120M中对应于通道Ch(1)与超区块M(0)的字段,如图5B所示。尤其是,当动态地以对应于信道Ch(1)的好区块B1(K-3)来取代区块B1(0)时,该控制器可自备用好区块表120F移除对应于通道Ch(1)的好区块B1(K-3)的索引(K-3)。实作上,该控制器可在图5C所示的备用好区块表120F的最上面一列(即具有记录{X,X,(K-3),(K-3)}的这一列)当中对应于通道Ch(1)的字段填入用来代表非有效记录的信息,诸如一负值或是落在该预定索引范围(例如:区间[0,(K-1)])之外的值。如此,这个字段在本实施例中可标示为符号「X」。本实施例与前述各个实施例/变化例相仿之处不再重复赘述。
[0062] 本发明的好处之一是,依据本发明所实现的区块管理可妥善利用上述剩余的储存空间,不会造成浪费。相较于相关技术,本发明在不大幅地增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。
[0063] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。