CN102637146A - 用来进行区块管理的方法、记忆装置及其控制器 - Google Patents
用来进行区块管理的方法、记忆装置及其控制器 Download PDFInfo
- Publication number
- CN102637146A CN102637146A CN2011100363270A CN201110036327A CN102637146A CN 102637146 A CN102637146 A CN 102637146A CN 2011100363270 A CN2011100363270 A CN 2011100363270A CN 201110036327 A CN201110036327 A CN 201110036327A CN 102637146 A CN102637146 A CN 102637146A
- Authority
- CN
- China
- Prior art keywords
- superzone
- piece
- candidate
- controller
- those
- 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
Links
Images
Landscapes
- 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型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保记忆装置对闪存的访问控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据相关技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,相关技术的管理机制无法保证在搭配多通道的闪存进行清除运作时能达到最佳的处理效能。尤其是,在针对一超区块(Meta Block)进行一清除运作的期间,若该超区块中在某一通道没有有效页(Valid Page),则在移动/复制该超区块中的有效数据时该信道处于闲置(Idle)状态。因此,需要一种新颖的方法来进行区块管理,以在进行清除运作时能达到最佳的处理效能。
发明内容
本发明要解决的技术问题在于,针对现有技术的管理机制无法保证在搭配多通道的闪存进行清除运作时能达到最佳的处理效能的缺陷,提供一种用来进行区块管理的方法以及相关的记忆装置及其控制器,以解决上述问题。
本发明的另一目的在于提供一种用来进行区块管理的方法以及相关的记忆装置及其控制器,以在进行清除运作时能达到最佳的处理效能。
本发明解决其技术问题所采用的技术方案之一是:提供一种用来进行区块管理的方法,该方法应用于具有多通道(Channel)的闪存(Flash Memory)的控制器,该闪存包含分别对应于该些通道的多个区块,该方法包含有:选择具有至少一有效页(Valid Page)的至少一超区块(Meta Block)作为至少一候选超区块以供清除,并且累积(Accumulate)该至少一候选超区块中分别对应于该些通道的区块的各个有效页数量(Valid Page Count),以产生分别对应于该些通道的多个累积值,其中每一超区块中的区块分别对应于该些通道,且每一有效页的数据包含有效数据;以及当侦测到该些累积值均达到一第一门坎值时,针对所有的候选超区块触发一清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
上述本发明所述的方法,其中选择具有该至少一有效页的该至少一超区块作为该至少一候选超区块以供清除的步骤另包含:
将该至少一超区块的至少一索引暂时地储存在一清除清单,以将该至少一超区块标示为该至少一候选超区块,其中该些候选超区块的索引分别被暂时地储存在该清除清单。
上述本发明所述的方法,其中针对该些候选超区块触发该清除运作以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据的步骤另包含:
当侦测到该些累积值均达到该第一门坎值时,针对该些索引所指出的该些候选超区块触发该清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
上述本发明所述的方法,其另包含有:
在触发该清除运作之后,将该至少一索引从该清除列表移除。
上述本发明所述的方法,其中选择具有该至少一有效页的该至少一超区块作为该至少一候选超区块以供清除的步骤另包含:
当侦测到该些累积值中的一最大累积值与一最小累积值之间的差达到一第二门坎值时,暂时地选择具有补偿特性的一超区块作为候选超区块,其中该最大累积值与该最小累积值分别对应于该些通道中的一第一信道与一第二信道,以及于具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量小于对应于该第二通道的区块的有效页数量。
上述本发明所述的方法,其中选择具有该至少一有效页的该至少一超区块作为该至少一候选超区块以供清除的步骤另包含:
当侦测到该些累积值中的该最大累积值与该最小累积值之间的差达到该第二门坎值时,暂时地避免选择不具有补偿特性的任何超区块作为候选超区块,其中在不具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量大于或等于对应于该第二通道的区块的有效页数量。
上述本发明所述的方法,其中选择具有该至少一有效页的该至少一超区块作为该至少一候选超区块以供清除的步骤另包含:
在多个超区块中,选择具有最少有效页的一超区块作为候选超区块。
本发明解决其技术问题所采用的技术方案之二是:提供上述方法的同时,也对应地提供一种记忆装置,其包含有:具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块;以及一控制器,用来存取(Access)该闪存以及管理该多个区块。另外,该控制器选择具有至少一有效页的至少一超区块作为至少一候选超区块以供清除,并且累积该至少一候选超区块中分别对应于该些通道的区块的各个有效页数量,以产生分别对应于该些通道的多个累积值,其中每一超区块中的区块分别对应于该些通道,且每一有效页的数据包含有效数据。此外,当侦测到该些累积值均达到一第一门坎值时,该控制器针对所有的候选超区块触发一清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
上述本发明所述的记忆装置,其中该控制器将该至少一超区块的至少一索引暂时地储存在一清除清单,以将该至少一超区块标示为该至少一候选超区块;以及该些候选超区块的索引分别被暂时地储存在该清除清单。
上述本发明所述的记忆装置,其中当侦测到该些累积值均达到该第一门坎值时,该控制器针对该些索引所指出的该些候选超区块触发该清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
上述本发明所述的记忆装置,其中在触发该清除运作之后,该控制器将该至少一索引从该清除列表移除。
上述本发明所述的记忆装置,其中当侦测到该些累积值中的一最大累积值与一最小累积值之间的差达到一第二门坎值时,该控制器暂时地选择具有补偿特性的一超区块作为候选超区块;以及该最大累积值与该最小累积值分别对应于该些通道中的一第一信道与一第二信道,以及在具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量小于对应于该第二通道的区块的有效页数量。
上述本发明所述的记忆装置,其中当侦测到该些累积值中的该最大累积值与该最小累积值之间的差达到该第二门坎值时,该控制器暂时地避免选择不具有补偿特性的任何超区块作为候选超区块;以及在不具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量大于或等于对应于该第二通道的区块的有效页数量。
上述本发明所述的记忆装置,其中在多个超区块中,该控制器选择具有最少有效页的一超区块作为候选超区块。
本发明解决其技术问题所采用的技术方案之三是:提供上述方法的同时,也对应地提供一种记忆装置的控制器,该控制器用来存取具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块,该控制器包含有:一只读存储器(Read Only Memory,ROM),用来储存一程序代码;以及一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该多个区块。另外,透过该微处理器执行该程序代码的该控制器选择具有至少一有效页的至少一超区块作为至少一候选超区块以供清除,并且累积该至少一候选超区块中分别对应于该些通道的区块的各个有效页数量,以产生分别对应于该些通道的多个累积值,其中每一超区块中的区块分别对应于该些通道,且每一有效页的数据包含有效数据。此外,当侦测到该些累积值均达到一第一门坎值时,透过该微处理器执行该程序代码的该控制器针对所有的候选超区块触发一清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
上述本发明所述的控制器,其中透过该微处理器执行该程序代码的该控制器将该至少一超区块的至少一索引暂时地储存在一清除清单,以将该至少一超区块标示为该至少一候选超区块;以及该些候选超区块的索引分别被暂时地储存在该清除清单。
上述本发明所述的控制器,其中当侦测到该些累积值均达到该第一门坎值时,透过该微处理器执行该程序代码的该控制器针对该些索引所指出的该些候选超区块触发该清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
上述本发明所述的控制器,其中在触发该清除运作之后,透过该微处理器执行该程序代码的该控制器将该至少一索引从该清除列表移除。
上述本发明所述的控制器,其中当侦测到该些累积值中的一最大累积值与一最小累积值之间的差达到一第二门坎值时,透过该微处理器执行该程序代码的该控制器暂时地选择具有补偿特性的一超区块作为候选超区块;以及该最大累积值与该最小累积值分别对应于该些通道中的一第一信道与一第二信道,以及在具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量小于对应于该第二通道的区块的有效页数量。
上述本发明所述的控制器,其中当侦测到该些累积值中的该最大累积值与该最小累积值之间的差达到该第二门坎值时,透过该微处理器执行该程序代码的该控制器暂时地避免选择不具有补偿特性的任何超区块作为候选超区块;以及在不具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量大于或等于对应于该第二通道的区块的有效页数量。
上述本发明所述的控制器,其中在多个超区块中,透过该微处理器执行该程序代码的该控制器选择具有最少有效页的一超区块作为候选超区块。
实施本发明的技术方案,具有以下有益效果:依据本发明所实现的区块管理能保证在具有多通道的闪存中进行清除运作时达到最佳的处理效能。
相较于相关技术,本发明在不大幅地增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1A为依据本发明一第一实施例的一种记忆装置的示意图;
图1B为图1A所示的记忆装置在一实施例中的实施细节;
图2A为依据本发明一实施例的一种用来进行区块管理的方法的流程图;
图2B为图2A所示的方法在一实施例中的实施细节;
图3A至图3D分别为图2A所示的方法在一实施例中所涉及的候选超区块;
图4A至图4B分别为图2A所示的方法在另一实施例中所涉及的候选超区块。
【主要组件符号说明】
具体实施方式
请参考图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用来储存关于区块管理的信息,尤其是一有效页数量(Valid Page Count)表120V与一清除清单(CleanList)120L。有效页数量表120V可用来记录闪存120中的有效页(Valid Page)的数量与分布;实作上,有效页数量表120V的记录方式不拘,可采用各种不同的记录方式。依据有效页数量表120V,上述的控制器(例如:透过微处理器112执行程序代码112C的内存控制器110)能迅速地得知属于同一超区块(Meta Block)的各个区块各自的有效页数量。另外,清除列表120L可用来动态地记录预计要被清除的某些超区块的索引。在某(些)条件满足时,该控制器可迅速地清除在清除列表120L中的索引所指出的超区块。例如:该控制器可将这些超区块中的有效数据移动/复制至别处,并将这些超区块抹除。请注意到,信息区块120B中所储存的任何信息,均可储存在内存控制器110中(例如缓冲存储器116),或任何内存控制器110得取用的内存中。将有效页数量表120V与清除清单120L储存在闪存120中仅为本发明的一实施例,并非本发明的限制。
依据本实施例,缓冲存储器116包含缓冲器Buf(0)与Buf(1)。例如:缓冲器Buf(0)与Buf(1)可分别为缓冲存储器116中的多个缓冲区域。又例如:上述的至少一缓冲存储器116包含多个缓冲存储器,可分别用来实施缓冲器Buf(0)与Buf(1)。在本实施例中,上述的控制器(例如:透过微处理器112执行程序代码112C的内存控制器110)可将有效页数量表120V(全部或一部分)的一先前版本储存在闪存120,并将有效页数量表120V的一复制版本储存在缓冲器Buf(0),以供动态地更新有效页数量表120V。另外,该控制器可将缓冲器Buf(0)当中有效页数量表120V的最新版本储存至闪存120,以取代有效页数量表120V的该先前版本。相仿地,该控制器可将清除清单120L(全部或一部分)的一先前版本储存在闪存120,并将清除清单120L的一复制版本储存在缓冲器Buf(1),以供动态地更新清除列表120L。另外,该控制器可将缓冲器Buf(1)当中清除清单120L的最新版本储存至闪存120,以取代清除清单120L的该先前版本。这只是为了说明的目的而已,并非对本发明的限制。只要不妨碍本发明的实施,上述的更新/取代运作可针对有效页数量表120V与清除清单120L中的任一者的一部分或全部来进行。
图1B为图1A所示的记忆装置100在一实施例中的实施细节。如图1B所示,上述的闪存120包含多个闪存芯片诸如闪存芯片120-0、120-1、...、与120-(N-1),其中闪存120透过多信道(Channel)诸如信道Ch(0)、Ch(1)、...、与Ch(N-1)与内存控制器110沟通,而该些闪存芯片诸如闪存芯片120-0、120-1、...、与120-(N-1)分别对应于该些通道。在典型状况下,除了上述的至少一信息区块120B,闪存120另包含分别对应于该些通道的多个区块,而该控制器(例如:透过微处理器112执行程序代码112C的内存控制器110)对闪存芯片执行抹除时,最小的抹除单位得以区块为单位来进行抹除。而在本实施例中,该控制器以一超区块为单位进行抹除。其中,一超区块可包含对应于不同通道的多个区块,例如一超区块包含闪存芯片120-0中的一个区块、闪存芯片120-1中的一个区块、...、与闪存芯片120-(N-1)中的一个区块。另外,一区块可记录特定数量的页(Page),其中该控制器对每一闪存芯片进行写入时,最小的写入单位以页为单位来进行写入。
实作上,透过微处理器112执行程序代码112C的内存控制器110可利用其本身内部的组件来进行诸多控制运作,例如:利用控制逻辑114来控制每一闪存芯片的存取运作(尤其是对至少一区块或至少一页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与一主装置(Host Device)沟通。
依据本实施例,除了能存取闪存120,该控制器还能妥善地管理上述的多个区块。更明确而言,该控制器可动态地选择某(些)超区块作为候选超区块以供清除,并且动态地更新清除列表120L,以供用来作为清除超区块时的参考。另外,该控制器可动态地更新有效页数量表120V,以供进行区块管理,且可供作为清除超区块时的参考。请参考图2A,相关细节进一步说明如下。
图2A为依据本发明一实施例的一种进行区块管理的方法910的流程图。该方法可应用于在图1A至图1B所示的各个实施例(及相关的变化例)中的任一者当中的记忆装置100,尤其是搭配多通道的闪存120的控制器诸如上述的控制器(例如:透过微处理器112执行程序代码112C的内存控制器110)。该方法说明如下:
在步骤912中,该控制器选择具有至少一有效页的至少一超区块M(m)(例如:一个超区块M(m)或多个超区块{M(m)};其中每一超区块M(m)具有至少一有效页)作为至少一候选超区块以供清除,并且累积(Accumulate)上述的至少一候选超区块中分别对应于该些通道{Ch(0),Ch(1),...,Ch(N-1)}的区块的各个有效页数量{VPCm(0),VPCm(1),...,VPCm(N-1)},以产生分别对应于该些通道{Ch(0),Ch(1),...,Ch(N-1)}的多个累积值{VPCA(0),VPCA(1),...,VPCA(N-1)},其中每一超区块中的各区块分别对应于该些通道,且每一有效页的数据包含有效数据。尤其是,在多个超区块(例如被该控制器接连地检查的数个超区块)中,该控制器可选择具有最少有效页的一超区块作为候选超区块,其中该超区块具有至少一有效页的要求仍然必须满足。例如:在上述的至少一超区块仅为一个超区块M(m)的状况下,该控制器可在被该控制器本身接连地检查的一批超区块中选择具有最少有效页的一超区块作为候选超区块。又例如:在上述的至少一超区块为多个超区块{M(m)}的状况下,该控制器可在被该控制器本身接连地检查的一第一批超区块中选择具有最少有效页的一超区块作为一第一候选超区块,且在被该控制器本身接连地检查的一第二批超区块中选择具有最少有效页的一超区块作为一第二候选超区块,依此类推。
依据本实施例,该控制器将上述的至少一超区块M(m)的至少一索引m(例如:一个索引m或多个索引{m})暂时地储存在清除清单120L,以将该至少一超区块M(m)标示为该至少一候选超区块。例如:上述的至少一索引m对应于至少一组实体区块地址;尤其是,上述的至少一组实体区块地址为超区块M(m)中的各个区块的实体地址,其中索引m与该组实体区块地址之间的关系的记录方式不拘,可采用各种不同的记录方式。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,上述的至少一索引m代表至少一组实体区块地址、及/或上述的至少一索引m对应于至少一组实体区块地址。请注意到,上述的一组实体区块地址也可以一组逻辑区块地址取代,例如:超区块M(m)中的各个区块所对应的逻辑区块地址。
在步骤914中,当侦测到该些累积值{VPCA(0),VPCA(1),...,VPCA(N-1)}均达到一第一门坎值诸如门坎值THA时,该控制器针对所有的候选超区块触发一清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些通道{Ch(0),Ch(1),...,Ch(N-1)}的有效数据,尤其是同时地移动/复制至另外至少一超区块。依据本实施例,该控制器可利用闪存120中的一数据区与一备用区(Spare Region)针对各个超区块的使用状态对该些超区块进行分类,其中数据区与备用区代表逻辑上的区域划分,而非实体上的区域划分。请注意,被分类在资料区的任一超区块并非空白超区块,而被分类在备用区的任一超区块为空白超区块。当需要新的空白超区块以供写入时,该控制器可将一超区块从备用区提取(Pop)以进行写入运作。为了避免备用区中的超区块的数量不足,该控制器可预先抹除数据区中的一部分超区块以将这些超区块重新分类至备用区,其中通过进行上述的清除运作,该控制器可避免这些超区块中的任何有效数据(若存在)遗失,尤其是避免上述的候选超区块中的有效数据遗失。
例如:该些候选超区块的索引{m}分别被暂时地储存在清除清单120L。当侦测到该些累积值{VPCA(0),VPCA(1),...,VPCA(N-1)}均达到门坎值THA时,该控制器针对该些索引{m}所指出的该些候选超区块触发该清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些通道{Ch(0),Ch(1),...,Ch(N-1)}的有效数据。于是,通过同时进行各个通道{Ch(0),Ch(1),...,Ch(N-1)}的移动/复制运作,本发明可以有效率地移动/复制涉及该清除运作的全部的有效数据,使得各个信道的移动/复制运作被同时进行的时间TALL_CH对涉及该清除运作的全部的移动/复制运作的总时间TTOTAL的比率RALL_CH可以远高于相关技术,在理想状况下甚至可以趋近于1。因此,本发明能大幅地提升记忆装置的整体处理效能。
实作上,在触发该清除运作之后,该控制器可将前述的至少一索引m从清除列表120L移除,尤其是将步骤914所述的该些候选超区块的索引{m}从清除清单120L移除。在将有效数据移动/复制到别处(例如其它超区块)之后,该控制器可将该些候选超区块抹除以产生新的空白超区块,其中新的空白超区块内的每一区块均为空白区块。另外,门坎值THA可为固定的数值。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,该控制器可预先设定门坎值THA、及/或动态地调整门坎值THA,来控制上述的比率RALL_CH。
依据本实施例的一变化例,该控制器可进行部分清除(PartiallyCleaning)运作,此即在门坎值THA低于一区块内的页数的状况下所进行的清除运作。例如:门坎值THA可为固定的数值,其低于一区块内的页数。又例如:该控制器可动态地调整门坎值THA,尤其是目前恰巧将门坎值THA动态地调整至某一数值,其中该数值低于一区块内的页数。由于在将有效数据移动/复制到别处(例如其它超区块)的过程中,该控制器通常只能等待,而该主装置通常也是被迫等待且不能立即对记忆装置100进行存取,故门坎值THA如果过高,会影响该控制器的效能并妨碍该主装置对记忆装置100的存取。在本变化例中通过采用上述的部分清除运作,可提升该控制器的效能并避免妨碍该主装置对记忆装置100的存取。
请注意,储存在清除列表120L内的索引m所代表的超区块M(m)的有效页数量有可能随着后续的写入运作而减少。尤其是,在门坎值THA低于一区块内的页数的状况下,清除列表120L内的索引m所代表的超区块M(m)的有效页数量减少的机会将会提高。虽然在该控制器将索引m暂时地储存在清除列表120L时,索引m所代表的超区块M(m)的确具有至少一有效页,这绝非表示该至少一有效页永远不会变成无效页。例如:在上述后续的写入运作之后,该至少一有效页的数据可能因为其对应的更新数据的写入而变成无效数据,造成超区块M(m)变成不含有效页的超区块。
图2B为图2A所示的方法在一实施例中的实施细节。图2B所示的工作流程说明如下:
在步骤932中,该控制器选择具有至少一有效页的一超区块M(m)作为一候选超区块以供清除,并且将该候选超区块中分别对应于该些通道{Ch(0),Ch(1),...,Ch(N-1)}的区块的各个有效页数量{VPCm(0),VPCm(1),...,VPCm(N-1)}分别累积至该些累积值{VPCA(0),VPCA(1),...,VPCA(N-1)}。
在步骤933中,该控制器检查该些累积值{VPCA(0),VPCA(1),...,VPCA(N-1)}是否均达到该第一门坎值诸如门坎值THA。当侦测到该些累积值{VPCA(0),VPCA(1),...,VPCA(N-1)}均达到该第一门坎值时,进入步骤934;否则,重新进入步骤932。
在步骤934中,该控制器针对所有的候选超区块触发一清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些通道{Ch(0),Ch(1),...,Ch(N-1)}的有效数据。
依据本实施例,该控制器能将清除运作的期间当中一个或多个通道处于闲置(Idle)状态的时间的比率降到最低。尤其是,该控制器可在进行该清除运作的期间同时地移动/复制分别对应于该些通道{Ch(0),Ch(1),...,Ch(N-1)}的有效数据,故上述的比率RALL_CH可以远高于相关技术。因此,本发明能大幅地提升记忆装置的整体处理效能。
依据某些实施例,诸如图3A至图3D所示的实施例与图4A至图4B所示的实施例,在通道Ch(0)、Ch(1)、...、与Ch(N-1)的数量N等于4的状况下,上述的有效页数量{VPCm(0),VPCm(1),...,VPCm(N-1)}与累积值{VPCA(0),VPCA(1),...,VPCA(N-1)}可分别写成{VPCm(0),VPCm(1),VPCm(2),VPCm(3)}与{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}。
图3A至图3D分别为图2A所示的方法910在一实施例中所涉及的候选超区块M(m11)、M(m12)、M(m13)、与M(m14),其中各个候选超区块中的阴影部分代表有效页。为了便于理解,本实施例依据图2B所示的工作流程来说明。
首先,在初次进入步骤932之后,该控制器选择图3A所示的候选超区块M(m11),其有效页数量分别为(40,0,0,0),故该控制器将累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}由一组初始值(0,0,0,0)累积为(40,0,0,0)。在本实施例中,门坎值THA=20。由于累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}并未全部达到门坎值THA,故重新进入步骤932。
其次,该控制器选择图3B所示的候选超区块M(m12),其有效页数量分别为(0,28,0,0),故该控制器将累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}由(40,0,0,0)累积为(40,28,0,0)。由于累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}并未全部达到门坎值THA,故重新进入步骤932。
然后,该控制器选择图3C所示的候选超区块M(m13),其有效页数量分别为(0,0,39,0),故该控制器将累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}由(40,28,0,0)累积为(40,28,39,0)。由于累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}并未全部达到门坎值THA,故重新进入步骤932。
另外,该控制器选择图3D所示的候选超区块M(m14),其有效页数量分别为(0,0,0,57),故该控制器将累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}由(40,28,39,0)累积为(40,28,39,57)。由于累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}已全部达到门坎值THA,故进入步骤934。
请注意,由于该控制器可在进行该清除运作的期间同时地移动/复制分别对应于该些通道{Ch(0),Ch(1),Ch(2),Ch(3)}的有效数据,故上述的比率RALL_CH可以远高于相关技术。因此,本发明能大幅地提升记忆装置的整体处理效能。
图4A至图4B分别为图2A所示的方法910在另一实施例中所涉及的候选超区块M(m21)与M(m22),其中各个候选超区块中的阴影部分代表有效页。为了便于理解,本实施例依据图2B所示的工作流程来说明。
首先,在初次进入步骤932之后,该控制器选择图4A所示的候选超区块M(m21),其有效页数量分别为(10,60,28,0),故该控制器将累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}由一组初始值(0,0,0,0)累积为(10,60,28,0)。请注意到,在挑选候选超区块M(m21)时,得依据有效页数量进行判断,例如参考有效页数量表120V以挑选有效页数量最少的超区块作为最初的候选超区块M(m21)。在本实施例中,门坎值THA=20。由于累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}并未全部达到门坎值THA,故重新进入步骤932。
依据本实施例,当侦测到该些累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}中的一最大累积值VPCA_MAX与一最小累积值VPCA_MIN之间的差VPCA_DIFF达到一第二门坎值诸如门坎值THD时,该控制器暂时地选择具有补偿特性的一超区块作为候选超区块,其中最大累积值VPCA_MAX与最小累积值VPCA_MIN分别对应于该些信道中的两个信道,其可先暂时地分别称为一最大信道ChMAX与一最小信道ChMIN。相反地,在具有补偿特性的该超区块中,对应于最大通道ChMAX的区块的有效页数量小于对应于最小通道ChMIN的区块的有效页数量。尤其是,当侦测到该些累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}中的最大累积值VPCA_MAX与最小累积值VPCA_MIN之间的差VPCA_DIFF达到该第二门坎值诸如门坎值THD时,该控制器暂时地避免选择不具有补偿特性的任何超区块作为候选超区块,其中在不具有补偿特性的该超区块中,对应于最大通道ChMAX的区块的有效页数量大于或等于对应于最小通道ChMIN的区块的有效页数量。
在本实施例中,门坎值THD=40。在该控制器选择了候选超区块M(m21)之后,最大累积值VPCA_MAX与最小累积值VPCA_MIN分别为(10,60,28,0)当中的60与0,故最大信道ChMAX与最小信道ChMIN分别为信道Ch(1)与Ch(3),且差VPCA_DIFF等于60。此状况下,VPCA_DIFF>THD,这表示下一个待选择的超区块M(m)必须具有补偿特性,其中当超区块M(m)中对应于通道Ch(1)的区块的有效页数量VPCm(1)小于对应于通道Ch(3)的区块的有效页数量VPCm(3)时(也就是VPCm(1)<VPCm(3)),待选择的超区块M(m)可被视为具有补偿特性的超区块。
于是,该控制器选择图4B所示的候选超区块M(m22),其有效页数量分别为(50,11,20,35),故该控制器将累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}由(10,60,28,0)累积为(60,71,48,35)。由于累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}已全部达到门坎值THA,故进入步骤934。
请注意,由于该控制器可在进行该清除运作的期间同时地移动/复制分别对应于该些通道{Ch(0),Ch(1),Ch(2),Ch(3)}的有效数据,故上述的比率RALL_CH可以远高于相关技术。另外,该控制器可通过利用具有补偿特性的超区块来补偿累积值,以控制累积值{VPCA(0),VPCA(1),VPCA(2),VPCA(3)}之间的差异在一预定范围(例如:该第二门坎值诸如门坎值THD)之内,故上述的比率RALL_CH可以远高于相关技术。因此,本发明能大幅地提升记忆装置的整体处理效能。
在图4A至图4B所示的实施例中,门坎值THD可为固定的数值。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,该控制器可预先设定门坎值THD、及/或动态地调整门坎值THD,来控制上述的比率RALL_CH。
本发明的好处之一是,依据本发明所实现的区块管理能保证在具有多通道的闪存中进行清除运作时达到最佳的处理效能。相较于相关技术,本发明在不大幅地增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (21)
1.一种用来进行区块管理的方法,该方法应用于具有多通道的闪存的控制器,该闪存包含分别对应于该些通道的多个区块,其特征在于,该方法包含有:
选择具有至少一有效页的至少一超区块作为至少一候选超区块以供清除,并且累积该至少一候选超区块中分别对应于该些通道的区块的各个有效页数量,以产生分别对应于该些通道的多个累积值,其中每一超区块中的区块分别对应于该些通道,且每一有效页的数据包含有效数据;以及
当侦测到该些累积值均达到一第一门坎值时,针对所有的候选超区块触发一清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
2.根据权利要求1所述的方法,其特征在于,其中选择具有该至少一有效页的该至少一超区块作为该至少一候选超区块以供清除的步骤另包含:
将该至少一超区块的至少一索引暂时地储存在一清除清单,以将该至少一超区块标示为该至少一候选超区块,其中该些候选超区块的索引分别被暂时地储存在该清除清单。
3.根据权利要求2所述的方法,其特征在于,其中针对该些候选超区块触发该清除运作以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据的步骤另包含:
当侦测到该些累积值均达到该第一门坎值时,针对该些索引所指出的该些候选超区块触发该清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
4.根据权利要求2所述的方法,其特征在于,其另包含有:
在触发该清除运作之后,将该至少一索引从该清除列表移除。
5.根据权利要求1所述的方法,其特征在于,其中选择具有该至少一有效页的该至少一超区块作为该至少一候选超区块以供清除的步骤另包含:
当侦测到该些累积值中的一最大累积值与一最小累积值之间的差达到一第二门坎值时,暂时地选择具有补偿特性的一超区块作为候选超区块,其中该最大累积值与该最小累积值分别对应于该些通道中的一第一信道与一第二信道,以及于具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量小于对应于该第二通道的区块的有效页数量。
6.根据权利要求5所述的方法,其特征在于,其中选择具有该至少一有效页的该至少一超区块作为该至少一候选超区块以供清除的步骤另包含:
当侦测到该些累积值中的该最大累积值与该最小累积值之间的差达到该第二门坎值时,暂时地避免选择不具有补偿特性的任何超区块作为候选超区块,其中在不具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量大于或等于对应于该第二通道的区块的有效页数量。
7.根据权利要求1所述的方法,其特征在于,其中选择具有该至少一有效页的该至少一超区块作为该至少一候选超区块以供清除的步骤另包含:
在多个超区块中,选择具有最少有效页的一超区块作为候选超区块。
8.一种记忆装置,其特征在于,其包含有:
具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块;以及
一控制器,用来存取该闪存以及管理该多个区块,其中该控制器选择具有至少一有效页的至少一超区块作为至少一候选超区块以供清除,并且累积该至少一候选超区块中分别对应于该些通道的区块的各个有效页数量,以产生分别对应于该些通道的多个累积值,其中每一超区块中的区块分别对应于该些通道,且每一有效页的数据包含有效数据;
其中当侦测到该些累积值均达到一第一门坎值时,该控制器针对所有的候选超区块触发一清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
9.根据权利要求8所述的记忆装置,其特征在于,其中该控制器将该至少一超区块的至少一索引暂时地储存在一清除清单,以将该至少一超区块标示为该至少一候选超区块;以及该些候选超区块的索引分别被暂时地储存在该清除清单。
10.根据权利要求9所述的记忆装置,其特征在于,其中当侦测到该些累积值均达到该第一门坎值时,该控制器针对该些索引所指出的该些候选超区块触发该清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
11.根据权利要求9所述的记忆装置,其特征在于,其中在触发该清除运作之后,该控制器将该至少一索引从该清除列表移除。
12.根据权利要求8所述的记忆装置,其特征在于,其中当侦测到该些累积值中的一最大累积值与一最小累积值之间的差达到一第二门坎值时,该控制器暂时地选择具有补偿特性的一超区块作为候选超区块;以及该最大累积值与该最小累积值分别对应于该些通道中的一第一信道与一第二信道,以及在具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量小于对应于该第二通道的区块的有效页数量。
13.根据权利要求12所述的记忆装置,其特征在于,其中当侦测到该些累积值中的该最大累积值与该最小累积值之间的差达到该第二门坎值时,该控制器暂时地避免选择不具有补偿特性的任何超区块作为候选超区块;以及在不具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量大于或等于对应于该第二通道的区块的有效页数量。
14.根据权利要求8所述的记忆装置,其特征在于,其中在多个超区块中,该控制器选择具有最少有效页的一超区块作为候选超区块。
15.一种记忆装置的控制器,该控制器用来存取具有多通道的一闪存,该闪存包含分别对应于该些通道的多个区块,其特征在于,该控制器包含有:
一只读存储器,用来储存一程序代码;以及
一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该多个区块,其中透过该微处理器执行该程序代码的该控制器选择具有至少一有效页的至少一超区块作为至少一候选超区块以供清除,并且累积该至少一候选超区块中分别对应于该些通道的区块的各个有效页数量,以产生分别对应于该些通道的多个累积值,其中每一超区块中的区块分别对应于该些通道,且每一有效页的数据包含有效数据;
其中当侦测到该些累积值均达到一第一门坎值时,透过该微处理器执行该程序代码的该控制器针对所有的候选超区块触发一清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
16.根据权利要求15所述的控制器,其特征在于,其中透过该微处理器执行该程序代码的该控制器将该至少一超区块的至少一索引暂时地储存在一清除清单,以将该至少一超区块标示为该至少一候选超区块;以及该些候选超区块的索引分别被暂时地储存在该清除清单。
17.根据权利要求16所述的控制器,其特征在于,其中当侦测到该些累积值均达到该第一门坎值时,透过该微处理器执行该程序代码的该控制器针对该些索引所指出的该些候选超区块触发该清除运作,以在进行该清除运作的期间同时地移动/复制分别对应于该些信道的有效数据。
18.根据权利要求16所述的控制器,其特征在于,其中在触发该清除运作之后,透过该微处理器执行该程序代码的该控制器将该至少一索引从该清除列表移除。
19.根据权利要求15所述的控制器,其特征在于,其中当侦测到该些累积值中的一最大累积值与一最小累积值之间的差达到一第二门坎值时,透过该微处理器执行该程序代码的该控制器暂时地选择具有补偿特性的一超区块作为候选超区块;以及该最大累积值与该最小累积值分别对应于该些通道中的一第一信道与一第二信道,以及在具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量小于对应于该第二通道的区块的有效页数量。
20.根据权利要求19所述的控制器,其特征在于,其中当侦测到该些累积值中的该最大累积值与该最小累积值之间的差达到该第二门坎值时,透过该微处理器执行该程序代码的该控制器暂时地避免选择不具有补偿特性的任何超区块作为候选超区块;以及在不具有补偿特性的该超区块中,对应于该第一通道的区块的有效页数量大于或等于对应于该第二通道的区块的有效页数量。
21.根据权利要求15所述的控制器,其特征在于,其中在多个超区块中,透过该微处理器执行该程序代码的该控制器选择具有最少有效页的一超区块作为候选超区块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110036327.0A CN102637146B (zh) | 2011-02-11 | 2011-02-11 | 用来进行区块管理的方法、记忆装置及其控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110036327.0A CN102637146B (zh) | 2011-02-11 | 2011-02-11 | 用来进行区块管理的方法、记忆装置及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102637146A true CN102637146A (zh) | 2012-08-15 |
CN102637146B CN102637146B (zh) | 2015-02-25 |
Family
ID=46621547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110036327.0A Active CN102637146B (zh) | 2011-02-11 | 2011-02-11 | 用来进行区块管理的方法、记忆装置及其控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102637146B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790568B (zh) * | 2021-03-15 | 2023-01-21 | 宏碁股份有限公司 | 記憶體裝置的工作狀態控制方法與資料儲存系統 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250195A1 (en) * | 2000-01-06 | 2008-10-09 | Super Talent Electronics Inc. | Multi-Operation Write Aggregator Using a Page Buffer and a Scratch Flash Block in Each of Multiple Channels of a Large Array of Flash Memory to Reduce Block Wear |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
-
2011
- 2011-02-11 CN CN201110036327.0A patent/CN102637146B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250195A1 (en) * | 2000-01-06 | 2008-10-09 | Super Talent Electronics Inc. | Multi-Operation Write Aggregator Using a Page Buffer and a Scratch Flash Block in Each of Multiple Channels of a Large Array of Flash Memory to Reduce Block Wear |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790568B (zh) * | 2021-03-15 | 2023-01-21 | 宏碁股份有限公司 | 記憶體裝置的工作狀態控制方法與資料儲存系統 |
Also Published As
Publication number | Publication date |
---|---|
CN102637146B (zh) | 2015-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI446345B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
TWI425357B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
US20190129842A1 (en) | Memory system having persistent garbage collection | |
US10810127B2 (en) | Solid-state hard disk and data access method for use with solid-state hard disk | |
US8484406B2 (en) | Method of evenly using a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
CN101369451A (zh) | 固态存储器、包含其的计算机系统和操作其的方法 | |
WO2019178845A1 (zh) | 一种存储介质垃圾回收方法、存储介质和程序产品 | |
CN101533670A (zh) | 实现存储设备损耗均衡的方法及存储设备 | |
CN101499315B (zh) | 快闪存储器平均磨损方法及其控制器 | |
CN101419573A (zh) | 一种存储管理的方法、系统和存储设备 | |
US11809723B2 (en) | Unbalanced plane management method, associated data storage device and controller thereof | |
CN104866428A (zh) | 数据存取方法和数据存取装置 | |
CN101634967A (zh) | 用于闪存的区块管理方法、储存系统与控制器 | |
CN116457885A (zh) | 一种数据处理方法、装置及系统 | |
CN107967125A (zh) | 闪存转换层的管理方法、装置及计算机可读存储介质 | |
CN108563586B (zh) | 一种分离固态盘中垃圾回收数据与用户数据的方法 | |
CN101859278B (zh) | 用于闪存的数据储存方法及储存系统 | |
CN102592678B (zh) | 基于动态窗口管理的磨损均衡方法及装置 | |
US9703495B2 (en) | Memory controller, memory system, and memory control method | |
TWI435216B (zh) | 用來進行超區塊管理之方法以及記憶裝置及控制器 | |
JP2012248109A (ja) | マルチチャネルを有するメモリ装置及び同装置におけるコンパクションのためのリードコマンド群生成方法 | |
CN101894077B (zh) | 一种数据存储方法及系统 | |
CN102479156B (zh) | 用来进行区块管理的方法、记忆装置及其控制器 | |
CN102637146A (zh) | 用来进行区块管理的方法、记忆装置及其控制器 | |
CN102479154B (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 |