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

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

Info

Publication number
CN102479156A
CN102479156A CN2010105537293A CN201010553729A CN102479156A CN 102479156 A CN102479156 A CN 102479156A CN 2010105537293 A CN2010105537293 A CN 2010105537293A CN 201010553729 A CN201010553729 A CN 201010553729A CN 102479156 A CN102479156 A CN 102479156A
Authority
CN
China
Prior art keywords
block
controller
subsequent use
good block
superzone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105537293A
Other languages
English (en)
Other versions
CN102479156B (zh
Inventor
周柏升
张敬勤
沈扬智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to CN201010553729.3A priority Critical patent/CN102479156B/zh
Publication of CN102479156A publication Critical patent/CN102479156A/zh
Application granted granted Critical
Publication of CN102479156B publication Critical patent/CN102479156B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

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

Description

用来进行区块管理的方法、记忆装置及其控制器
技术领域
本发明涉及关于具有多通道的闪存(Flash Memory)的存取(Access),更具体地说,涉及一种用来进行区块管理的方法以及相关的记忆装置及其控制器。
背景技术
近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)或具备闪存的固态硬盘(Solid State Drive,SSD)被广泛地实施于诸多应用中。因此,这些记忆装置中的闪存的访问控制遂成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶细胞(Single LevelCell,SLC)与多阶细胞(Multiple Level Cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆单元的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的储存能力则被充分利用,采用较高的电压来驱动,以透过不同级别的电压在一个晶体管中记录两组(或以上)位信息(00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的两倍,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保记忆装置对闪存的访问控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据相关技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,相关技术的管理机制无法保证在具有多通道的闪存中的储存空间得以被妥善利用;尤其是,有些区块可能自始至终都不会被终端使用者用到。因此,需要一种新颖的方法来进行区块管理,以妥善利用闪存中的储存空间。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述无法保证在具有多通道的闪存中的储存空间得以被妥善利用的缺陷,因此本发明的目的之一在于提供一种用来进行区块管理的方法以及相关的记忆装置及其控制器,以解决上述问题。
本发明的另一目的在于提供一种用来进行区块管理的方法以及相关的记忆装置及其控制器,以妥善利用闪存中的储存空间。
本发明解决其技术问题所采用的技术方案之一是:构造一种用来进行区块管理的方法,该方法应用于具有多通道(Channel)的闪存(Flash Memory)的控制器,该闪存包含分别对应于该些通道的多个区块,该方法包含有:将未分组(Group)至任一超区块(Meta Block)的至少一好区块的至少一索引暂时地储存于一备用好区块(Spare Good Block)表,其中该好区块为该多个区块当中未被判定为坏区块的一区块;以及当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,动态地更新该备用好区块表,以供进行区块管理。
上述本发明所述的方法,其中在需要时,该好区块用来代换分组至一超区块的一区块。
上述本发明所述的方法,其另包含有:
当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,动态地以对应于该特定通道的该好区块来取代该特定区块。
上述本发明所述的方法,其中动态地更新该备用好区块表以供进行区块管理的步骤另包含:
当动态地以对应于该特定通道的该好区块来取代该特定区块时,自该备用好区块表移除对应于该特定通道的该好区块的索引。
上述本发明所述的方法,其中动态地更新该备用好区块表以供进行区块管理的步骤另包含:
当侦测到对应于该特定通道的该特定区块为坏区块时,将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
上述本发明所述的方法,其另包含有:
将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及
将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本。
上述本发明所述的方法,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
本发明解决其技术问题所采用的技术方案之二是:构造上述方法的同时,也对应地构造一种记忆装置,其包含有:具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块;以及一控制器,用来存取(Access)该闪存以及管理该多个区块。另外,该控制器将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块。此外,当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,该控制器动态地更新该备用好区块表,以供进行区块管理。
上述本发明所述的记忆装置,其中在需要时,该好区块用来代换分组至一超区块的一区块。
上述本发明所述的记忆装置,其中当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,该控制器动态地以对应于该特定通道的该好区块来取代该特定区块。
上述本发明所述的记忆装置,其中当动态地以对应于该特定通道的该好区块来取代该特定区块时,该控制器自该备用好区块表移除对应于该特定通道的该好区块的索引。
上述本发明所述的记忆装置,其中当侦测到对应于该特定通道的该特定区块为坏区块时,该控制器将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
上述本发明所述的记忆装置,其中该控制器将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及该控制器将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本。
上述本发明所述的记忆装置,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
本发明解决其技术问题所采用的技术方案之三是:构造上述方法的同时,也对应地构造一种记忆装置的控制器,该控制器用来存取具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块,该控制器包含有:一只读存储器(Read Only Memory,ROM),用来储存一程序代码;以及一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该多个区块。另外,透过该微处理器执行该程序代码的该控制器将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块。此外,当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,透过该微处理器执行该程序代码的该控制器动态地更新该备用好区块表,以供进行区块管理。
上述本发明所述的控制器,其中在需要时,该好区块用来代换分组至一超区块的一区块。
上述本发明所述的控制器,其中当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,透过该微处理器执行该程序代码的该控制器动态地以对应于该特定通道的该好区块来取代该特定区块。
上述本发明所述的控制器,其中当动态地以对应于该特定通道的该好区块来取代该特定区块时,透过该微处理器执行该程序代码的该控制器自该备用好区块表移除对应于该特定通道的该好区块的索引。
上述本发明所述的控制器,其中当侦测到对应于该特定通道的该特定区块为坏区块时,透过该微处理器执行该程序代码的该控制器将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
上述本发明所述的控制器,其特征在于,其中透过该微处理器执行该程序代码的该控制器将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及透过该微处理器执行该程序代码的该控制器将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本
上述本发明所述的控制器,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
本发明解决其技术问题所采用的技术方案之四是:构造一种用来进行区块管理的方法,该方法应用于具有多通道的闪存的控制器,该闪存包含分别对应于该些通道的多个区块,该闪存得以该些区块中单一区块进行抹除,该方法包含有:建立一超区块,其中该超区块包含位于不同通道的多个区块,且该控制器以该超区块为最小抹除单位对该闪存进行抹除;以及依据该多个区块的损坏状况,更新该超区块的区块组成或更新该超区块的损坏状况。尤其是,依据该多个区块的损坏状况更新该超区块的区块组成的步骤更包含:当该超区块中属于一第一通道的一区块被判定为一坏区块,以该第一通道中的一好区块替代该坏区块。
实施本发明的技术方案,具有以下有益效果:依据本发明所实现的区块管理可妥善利用上述剩余的储存空间,不会造成浪费。
相较于相关技术,本发明在不大幅地增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1A为依据本发明一第一实施例的一种记忆装置的示意图;
图1B为图1A所示的记忆装置在一实施例中的实施细节;
图2为依据本发明一实施例的一种用来进行区块管理的方法的流程图;
图3A至图3C为图2所示的方法在一实施例中的实施细节;
图4A至图4C为图2所示的方法在另一实施例中的实施细节;
图5A至图5C为图2所示的方法在另一实施例中的实施细节。
【主要组件符号说明】
Figure BDA0000033590920000061
Figure BDA0000033590920000071
具体实施方式
请参考图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或任何形式的内存内。
如图1A所示,上述的至少一信息区块120B用来储存关于区块管理的信息,尤其是一超区块(Meta Block)映射表120M与一备用好区块(Spare GoodBlock)表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的该先前版本。
图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)。
实作上,透过微处理器112执行程序代码112C的内存控制器110可利用其本身内部的组件来进行诸多控制运作,例如:利用控制逻辑114来控制每一闪存芯片的存取运作(尤其是对至少一区块或至少一页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与一主装置(Host Device)沟通。
依据本实施例,除了能存取闪存120,该控制器还能妥善地管理上述的多个区块。更明确而言,该控制器可将上述的多个区块动态地分组(Group)至多个超区块(Meta Block)诸如超区块M(0)、M(1)、M(2)、...等,并且动态地更新超区块映像表120M,以供用来作为存取数据时的参考。另外,该控制器可动态地更新备用好区块表120F,以供进行区块管理。请参考图2,相关细节进一步说明如下。
图2为依据本发明一实施例的一种进行区块管理的方法910的流程图。该方法可应用于在图1A至图1B所示的各个实施例(及相关的变化例)中的任一个当中的记忆装置100,尤其是具有多通道的闪存120的控制器诸如上述的控制器(例如:透过微处理器112执行程序代码112C的内存控制器110)。该方法说明如下:
在步骤912中,该控制器将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表诸如上述的备用好区块表120F,其中该好区块为该多个区块当中未被判定为坏区块的一区块。尤其是,上述的至少一索引对应于至少一实体地址。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,上述的至少一索引代表至少一实体地址、及/或上述的至少一索引对应于至少一实体地址。
在步骤914中,当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,该控制器动态地更新备用好区块表120F,以供进行区块管理。例如:在需要时,该好区块可用来代换分组至一超区块的一区块;尤其是,此超区块为包含至少一坏区块的一损坏的超区块。因应此代换运作,该控制器动态地更新备用好区块表120F。又例如:上述的控制器可取消对应于一损坏的超区块的分组关系,而非进行任何代换运作。因应取消该分组关系的运作,该控制器动态地更新备用好区块表120F。
图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。
如图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)的各个字段。
如图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」。
图4A至图4C为图2所示的方法910在另一实施例中的实施细节,其中本实施例为图3A至图3C所示实施例的变化例。依据本实施例,当侦测到对应于该特定通道的该特定区块为坏区块时,该控制器可将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存在备用好区块表120F。
例如:在本实施例中所考虑的「对应于该特定通道的该特定区块」可为对应于通道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中也得不记录坏区块,而仅记录备用好区块。坏区块得另记录在一坏区块表中。
图5A至图5C为图2所示的方法910在另一实施例中的实施细节,其中本实施例为图3A至图3C所示实施例的变化例。依据本实施例,当侦测到对应于该特定通道的该特定区块为坏区块以及备用好区块表120F指出对应于该特定通道的一好区块存在时,该控制器可动态地以对应于该特定通道的该好区块来取代该特定区块(坏区块)。尤其是,当动态地以对应于该特定通道的该好区块来取代该特定区块时,该控制器可自备用好区块表120F移除对应于该特定通道的该好区块的索引。
请注意,本实施例也可视为图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」。本实施例与前述各个实施例/变化例相仿之处不再重复赘述。
本发明的好处之一是,依据本发明所实现的区块管理可妥善利用上述剩余的储存空间,不会造成浪费。相较于相关技术,本发明在不大幅地增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (23)

1.一种用来进行区块管理的方法,该方法应用于具有多通道的闪存的控制器,该闪存包含分别对应于该些通道的多个区块,其特征在于,该方法包含有:
将未分组至任一超区块的至少一好区块的至少一索引暂时地储存于一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块;以及
当侦测到目前分组至超区块之区块当中对应于一特定通道的一特定区块为坏区块时,动态地更新该备用好区块表,以供进行区块管理。
2.根据权利要求1所述的方法,其特征在于,其中在需要时,该好区块用来代换分组至一超区块的一区块。
3.根据权利要求1所述的方法,其特征在于,其另包含有:
当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,动态地以对应于该特定通道的该好区块来取代该特定区块。
4.根据权利要求3所述的方法,其特征在于,其中动态地更新该备用好区块表以供进行区块管理的步骤另包含:
当动态地以对应于该特定通道的该好区块来取代该特定区块时,自该备用好区块表移除对应于该特定通道的该好区块的索引。
5.根据权利要求1所述的方法,其特征在于,其中动态地更新该备用好区块表以供进行区块管理的步骤另包含:
当侦测到对应于该特定通道的该特定区块为坏区块时,将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
6.根据权利要求1所述的方法,其特征在于,其另包含有:
将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及
将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本。
7.根据权利要求1所述的方法,其特征在于,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
8.一种记忆装置,其特征在于,其包含有:
具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块;以及
一控制器,用来存取该闪存以及管理该多个区块,其中该控制器将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,其中该好区块为该多个区块当中未被判定为坏区块的一区块;
其中当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,该控制器动态地更新该备用好区块表,以供进行区块管理。
9.根据权利要求8所述的记忆装置,其特征在于,其中在需要时,该好区块用来代换分组至一超区块的一区块。
10.根据权利要求8所述的记忆装置,其特征在于,其中当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,该控制器动态地以对应于该特定通道的该好区块来取代该特定区块。
11.根据权利要求10所述的记忆装置,其特征在于,其中当动态地以对应于该特定通道的该好区块来取代该特定区块时,该控制器自该备用好区块表移除对应于该特定通道的该好区块的索引。
12.根据权利要求8所述的记忆装置,其特征在于,其中当侦测到对应于该特定通道的该特定区块为坏区块时,该控制器将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
13.根据权利要求8所述的记忆装置,其特征在于,其中该控制器将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及该控制器将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本。
14.根据权利要求8所述的记忆装置,其特征在于,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
15.一种记忆装置的控制器,该控制器用来存取具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块,其特征在于,该控制器包含有:
一只读存储器,用来储存一程序代码;以及
一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该多个区块,其中透过该微处理器执行该程序代码的该控制器将未分组至任一超区块的至少一好区块的至少一索引暂时地储存在一备用好区块表,而该好区块为该多个区块当中未被判定为坏区块的一区块;
当侦测到目前分组至超区块的区块当中对应于一特定通道的一特定区块为坏区块时,透过该微处理器执行该程序代码的该控制器动态地更新该备用好区块表,以供进行区块管理。
16.根据权利要求15所述的控制器,其特征在于,其中在需要时,该好区块用来代换分组至一超区块的一区块。
17.根据权利要求15所述的控制器,其特征在于,其中当侦测到对应于该特定通道的该特定区块为坏区块以及该备用好区块表指出对应于该特定通道的一好区块存在时,透过该微处理器执行该程序代码的该控制器动态地以对应于该特定通道的该好区块来取代该特定区块。
18.根据权利要求17所述的控制器,其特征在于,其中当动态地以对应于该特定通道的该好区块来取代该特定区块时,透过该微处理器执行该程序代码的该控制器自该备用好区块表移除对应于该特定通道的该好区块的索引。
19.根据权利要求15所述的控制器,其特征在于,其中当侦测到对应于该特定通道的该特定区块为坏区块时,透过该微处理器执行该程序代码的该控制器将该特定区块所属的一超区块中的至少一其它区块的至少一索引暂时地储存于该备用好区块表。
20.根据权利要求15所述的控制器,其特征在于,其中透过该微处理器执行该程序代码的该控制器将该备用好区块表的一先前版本储存于该闪存,并将该备用好区块表的一复制版本储存于该控制器的一缓冲器,以供动态地更新该备用好区块表;以及透过该微处理器执行该程序代码的该控制器将该缓冲器当中该备用好区块表的最新版本储存至该闪存,以取代该备用好区块表的该先前版本。
21.根据权利要求15所述的控制器,其特征在于,其中该至少一索引代表至少一实体地址、及/或该至少一索引对应于至少一实体地址。
22.一种用来进行区块管理的方法,该方法应用于具有多通道的闪存的控制器,该闪存包含分别对应于该些通道的多个区块,该闪存得以该些区块中单一区块进行抹除,其特征在于,该方法包含有:
建立一超区块,其中该超区块包含位于不同通道的多个区块,且该控制器以该超区块为最小抹除单位对该闪存进行抹除;以及
依据该多个区块的损坏状况,更新该超区块的区块组成或更新该超区块的损坏状况。
23.根据权利要求22所述的方法,其特征在于,其中依据该多个区块的损坏状况,更新该超区块的区块组成的步骤更包含:
当该超区块中属于一第一通道的一区块被判定为一坏区块,以该第一通道中的一好区块替代该坏区块。
CN201010553729.3A 2010-11-22 2010-11-22 用来进行区块管理的方法、记忆装置及其控制器 Active CN102479156B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010553729.3A CN102479156B (zh) 2010-11-22 2010-11-22 用来进行区块管理的方法、记忆装置及其控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010553729.3A CN102479156B (zh) 2010-11-22 2010-11-22 用来进行区块管理的方法、记忆装置及其控制器

Publications (2)

Publication Number Publication Date
CN102479156A true CN102479156A (zh) 2012-05-30
CN102479156B CN102479156B (zh) 2015-03-11

Family

ID=46091808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010553729.3A Active CN102479156B (zh) 2010-11-22 2010-11-22 用来进行区块管理的方法、记忆装置及其控制器

Country Status (1)

Country Link
CN (1) CN102479156B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106940623A (zh) * 2016-01-04 2017-07-11 群联电子股份有限公司 内存管理方法、内存控制电路单元及内存储存装置
CN108121669A (zh) * 2016-11-29 2018-06-05 爱思开海力士有限公司 存储器系统及其操作方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930635A (zh) * 2003-12-30 2007-03-14 桑迪士克股份有限公司 对多个区块进行适应性确定群组以成为多个多区块单元
US20080052445A1 (en) * 2006-08-24 2008-02-28 Eun-Kyoung Kim Flash memory devices including block information blocks and methods of operating same
CN101593157A (zh) * 2008-05-27 2009-12-02 中兴通讯股份有限公司 非线性闪存的坏块管理方法及装置
US20090327840A1 (en) * 2008-06-25 2009-12-31 Stec, Inc. Redundant data distribution in a flash storage device
CN101866319A (zh) * 2009-04-17 2010-10-20 智微科技股份有限公司 存取储存装置的方法及相关控制电路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930635A (zh) * 2003-12-30 2007-03-14 桑迪士克股份有限公司 对多个区块进行适应性确定群组以成为多个多区块单元
US20080052445A1 (en) * 2006-08-24 2008-02-28 Eun-Kyoung Kim Flash memory devices including block information blocks and methods of operating same
CN101593157A (zh) * 2008-05-27 2009-12-02 中兴通讯股份有限公司 非线性闪存的坏块管理方法及装置
US20090327840A1 (en) * 2008-06-25 2009-12-31 Stec, Inc. Redundant data distribution in a flash storage device
CN101866319A (zh) * 2009-04-17 2010-10-20 智微科技股份有限公司 存取储存装置的方法及相关控制电路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106940623A (zh) * 2016-01-04 2017-07-11 群联电子股份有限公司 内存管理方法、内存控制电路单元及内存储存装置
CN106940623B (zh) * 2016-01-04 2020-06-09 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器储存装置
CN108121669A (zh) * 2016-11-29 2018-06-05 爱思开海力士有限公司 存储器系统及其操作方法
CN108121669B (zh) * 2016-11-29 2023-08-08 爱思开海力士有限公司 存储器系统及其操作方法

Also Published As

Publication number Publication date
CN102479156B (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
TWI425357B (zh) 用來進行區塊管理之方法以及記憶裝置及控制器
US10209902B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
US8484406B2 (en) Method of evenly using a plurality of blocks of a flash memory, and associated memory device and controller thereof
KR20040038706A (ko) 비휘발성 메모리 시스템에서 아우트-오브-시퀀스 기록프로세스를 효과적으로 수행하기 위한 방법 및 장치
US20060112221A1 (en) Method and Related Apparatus for Data Migration Utilizing Disk Arrays
CN101369451A (zh) 固态存储器、包含其的计算机系统和操作其的方法
US10108342B2 (en) Method for reducing use of DRAM in SSD and the SSD using the same
CN106227471A (zh) 固态硬盘和应用于固态硬盘的数据存取方法
CN108897492B (zh) 一种数据写入方法和装置
CN102135942A (zh) 一种存储设备中实现损耗均衡的方法及存储设备
CN102890655B (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
CN101634967A (zh) 用于闪存的区块管理方法、储存系统与控制器
CN101425338B (zh) 非易失性存储器的写入方法及使用此方法的控制器
US20110093649A1 (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
CN101661431B (zh) 用于快闪存储器的区块管理方法、快闪储存系统及控制器
CN102968385B (zh) 数据写入方法、存储器控制器与储存装置
TWI435216B (zh) 用來進行超區塊管理之方法以及記憶裝置及控制器
CN108563586B (zh) 一种分离固态盘中垃圾回收数据与用户数据的方法
CN102592678B (zh) 基于动态窗口管理的磨损均衡方法及装置
US7234036B1 (en) Method and apparatus for resolving physical blocks associated with a common logical block
CN102479156B (zh) 用来进行区块管理的方法、记忆装置及其控制器
US8364894B2 (en) Data update method and flash memory apparatus utilizing a cache block
CN102479154B (zh) 用来进行超区块管理的方法、记忆装置及其控制器
CN102141944B (zh) 用来减少无法更正的错误的方法以及记忆装置及其控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant