以动态门槛进行区块管理的方法及存储装置及控制器的制作方法

文档序号:6424215阅读:212来源:国知局
专利名称:以动态门槛进行区块管理的方法及存储装置及控制器的制作方法
技术领域
本发明涉及快闪存储器(Flash Memory)的存取(Access),更具体地说,涉及一种用来进行区块管理的方法以及相关的存储装置及其控制器。
背景技术
近年来由于快闪存储器的技术不断地发展,各种便携式存储装置(例如符合SD/ MMC、CF、MS、》)标准的记忆卡)或具备快闪存储器的固态硬盘(Solid State Drive, SSD) 被广泛地实施于诸多应用中。因此,这些存储装置中的快闪存储器的存取控制遂成为相当热门的议题。以常用的NAND型快闪存储器而言,其主要可区分为单阶细胞(Single Level Cell,SLC)与多阶细胞(Multiple Level Cell,MLC)两大类的快闪存储器。单阶细胞快闪存储器中的每个被当作记忆单元的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞快闪存储器中的每个被当作记忆单元的晶体管的储存能力则被充分利用,采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录两组(或以上)二进制位信息(00、01、11、10);理论上,多阶细胞快闪存储器的记录密度可以达到单阶细胞快闪存储器的记录密度的两倍,这对于曾经在发展过程中遇到瓶颈的NAND型快闪存储器的相关产业而言,是非常好的消息。相较于单阶细胞快闪存储器,由于多阶细胞快闪存储器的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞快闪存储器很快地成为市面上的便携式存储装置竞相采用的主流。然而,多阶细胞快闪存储器的不稳定性所导致的问题也一一浮现。为了确保存储装置对快闪存储器的存取控制能符合相关规范,快闪存储器的控制器通常备有某些管理机制以妥善地管理数据的存取。依据相关技术,有了这些管理机制的存储装置还是有不足之处。例如在该存储装置被设计成具有较高储存容量及/或较高弹性的状况下,所述管理机制可能变得非常复杂,这可能会导致硬件资源的芯片面积以及相关成本增加。因此,需要一种新颖的方法来进行区块管理,以增进具备快闪存储器的存储装置的存取效能。

发明内容
因此本发明所要解决的技术问题是提供一种用来进行区块管理的方法以及相关的存储装置及其控制器,以解决上述问题。本发明所要解决的另一技术问题是提供一种用来进行区块管理的方法以及相关的存储装置及其控制器,以增进该存储装置的存取效能并且控制该存储装置以适应性的方式来运作。本发明的较佳实施例中提供一种用来进行区块管理的方法,该方法应用于一快闪存储器(Flash Memory)的控制器,该快闪存储器包含多个区块,该方法包含有依据至少一条件调整一动态门槛;以及比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。本发明于提供上述方法的同时,也对应地提供一种存储装置,其包含有一快闪存储器,该快闪存储器包含多个区块;以及一控制器,用来存取(Access)该快闪存储器以及管理该多个区块。另外,该控制器依据至少一条件调整一动态门槛。此外,该控制器比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。本发明于提供上述方法的同时,也对应地提供一种存储装置的控制器,该控制器用来存取一快闪存储器,该快闪存储器包含多个区块,该控制器包含有一只读存储器 (Read Only Memory,ROM),用来储存一程序码;以及一微处理器,用来执行该程序码以控制对该快闪存储器的存取以及管理该多个区块。另外,在该微处理器的控制下,该控制器依据至少一条件调整一动态门槛,并且比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。本发明的好处之一是,通过调整该动态门槛,本发明可妥善地进行区块管理,增进该存储装置的效能。于是,通过调整该动态门槛,该存储装置能以适应性的方式来运作。


图1为依据本发明一第一实施例的一种存储装置的示意图。图2为依据本发明一实施例的一种用来进行区块管理的方法的流程图。图3A至图3C为图2所示的方法于某些实施例中的实施细节。其中,附图标记说明如下100存储装置110存储器控制器112微处理器112C程序码112M只读存储器114控制逻辑116缓冲存储器118接口逻辑120快闪存储器910用来进行区块管理的方法912,914步骤Dv检测值DTa调整量R(O),R(I),R(2),R(3),R(4),R(5),R(6)范围TH10, TH11,TH21, TH30, TH31, TH32, 预定门槛TH33, TH34,TH3具体实施例方式
请参考图1,图1为依据本发明一第一实施例的一种存储装置100的示意图,其中本实施例的存储装置100尤其可为便携式存储装置,例如符合SD/MMC、CF、MS、XD标准的记忆卡,或通用串行总线闪存盘(Universal Serial Bus Flash Drive,USB Flash Drive, 也称为USB Flash Disk),即所谓的优盘,但不以此为限。存储装置100包含有一快闪存储器(Flash Memory) 120 ;以及一控制器,用来存取(Access)快闪存储器120,其中该控制器例如一存储器控制器110。依据本实施例,存储器控制器110包含一微处理器112、一只读存储器(Read Only Memory, ROM) 112M、一控制逻辑114、至少一缓冲存储器116、与一接口逻辑118。另外,本实施例的只读存储器112M用来储存一程序码112C,而微处理器112则用来执行程序码112C以控制对快闪存储器120的存取。请注意到,程序码112C也能储存在缓冲存储器116或任何形式的存储器内。请注意,在此以便携式存储装置为例;这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,存储装置100可为固态硬盘(Solid State Drive, SSD)。于本实施例中,只读存储器112M用来储存一程序码112C,而微处理器112则用来执行程序码112C以控制对快闪存储器120的存取(Access)。于典型状况下,快闪存储器 120包含多个区块(Block),而该控制器(例如通过微处理器112执行程序码112C的存储器控制器110)对快闪存储器120进行擦除数据的运作以区块为单位来进行擦除。例如于本实施例或其某些变化例中,该控制器能通过以区块为单位及/或以超区块(Meta-block) 为单位进行擦除,来对快闪存储器120进行擦除数据的运作,其中每一超区块可具有一预定数量的区块。另外,一区块可记录特定数量的页O^age),尤其是实体页(Physical Page), 其中上述的控制器对快闪存储器120进行写入数据的运作以页为单位来进行写入。例如 该控制器能通过以页为单位及/或以一数量的页为单位进行写入,来对快闪存储器120进行写入数据的运作,其中一实体页可包含多个区段Gector),诸如8个区段。实作上,通过微处理器112执行程序码112C的存储器控制器110可利用其本身内部的元件来进行诸多控制运作,例如利用控制逻辑114来控制快闪存储器120的存取运作(尤其是对至少一区块或至少一页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与一主机(Host Device ;未显示于图1)沟通。存储器控制器 110可依据该主机所发出的存取指令来控制快闪存储器120。依据本实施例,除了能存取快闪存储器120,存储器控制器110还能妥善地管理该多个区块。请参考图2,该控制器所进行的区块管理的相关细节进一步说明如下。图2为依据本发明一实施例的一种用来进行区块管理的方法910的流程图。该方法可应用于图1所示的存储装置100,尤其是上述的控制器(例如通过微处理器112执行程序码112C的存储器控制器110)。另外,该方法可通过利用图1所示的存储装置100来实施,尤其是通过利用上述的控制器来实施。该方法说明如下于步骤912中,该控制器依据至少一条件(例如一个或多个条件)调整一动态门槛DT。尤其是,动态门槛DT是可用来判断是否擦除所述区块中的一区块的可调门槛。例如该控制器可依据该多个区块当中空白/已使用的区块的数量来调整动态门槛DT。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,该控制器可依据空白/已使用的区块的数量对该多个区块的数量的比率来调整动态门槛DT。于步骤914中,该控制器利用比较该多个区块中的一特定区块的一有效/无效页数以及动态门槛DT,以判断是否擦除该特定区块。该有效/无效页数代表该特定区块中的有效/无效页的数量,其中一有效页代表储存有用的数据(或有效数据)的一实体页,而一无效页代表没有储存有用的数据的一实体页。实作上,由于每一完全写入(Fully Programmed)区块包含一预定数量的页(例如在某些实施例可为1 页),同一个完全写入区块的有效页数与无效页数是彼此互补的。请注意,该控制器诸如存储器控制器110可从存储装置100中的一有效/无效页数表读取该有效/无效页数,其中该有效/无效页数表是用来储存该多个区块各自的有效 /无效页数。例如存储器控制器Iio可将该有效/无效页数表储存于快闪存储器120中。 当需要时,存储器控制器110从快闪存储器120载入该有效/无效页数表的至少一部分(例如一部分或全部),并且暂时地将该有效/无效页数表的上述至少一部分储存于缓冲存储器116中,以更新该有效/无效页数表。之后,存储器控制器110可进一步将该有效/无效页数表的更新版本储存于快闪存储器120中。存储器控制器110可依据关于存储器控制器110及/或快闪存储器120的一检测值DV来调整动态门槛DT。例如检测值DV可包含(但不限于)上述该多个区块当中空白/已使用的区块的数量,以及上述空白/已使用的区块的数量对该多个区块的数量的比率。尤其是,存储器控制器110可依据检测值DV是否落入多个范围R(k)当中的一特定范围(或值)来调整动态门槛DT,其中k = 0、1、…、或K,且K可为一正整数。如此,该多个范围包含(K+1)个范围R(O)、R(I)、…、与R(K)。针对步骤912当中进行的调整,不同的范围的调整量,诸如该(K+1)个范围R(O)、R(I)、…、与R(K)中的一部分或全部的各自的调整量,可视为检测值DV的一函数,且因此可合称为调整量DTA (DV)。相仿地,不同的范围的动态门槛DT,诸如该(K+1)个范围R(O)、R(I)、…、与R(K)中的一部分或全部的各自的动态门槛DT,可视为动态门槛DT的一函数,且因此可合称为动态门槛DT (DV)。例如 在上述的特定范围代表该(K+1)个范围R(O)、R(I)、…、与R(K)中的一范围R(kl)并且对应于范围R(kl)的调整量{DTA(DV) |DV e R(kl)}为正(尤其是一正值)的状况下,存储器控制器110增加动态门槛DT。又例如在上述的特定范围代表该(K+1)个范围R(O)、 R⑴、…、与R(K)中的一范围R(k2)并且对应于范围R(k2)的调整量{DTA(DV) DVeR(k2)} 为负(尤其是一负值)的状况下,存储器控制器110减少动态门槛DT。又例如在上述的特定范围代表该(K+1)个范围R(O)、R(I)、…、与R(K)中的一范围R(k3)并且对应于范围R(k3)的调整量{DTA(DV) DV e R(k3)}是零的状况下,存储器控制器110将零调整量 {DTA(DV) DV e R(k3)}施加于动态门槛DT,且因此就不会调整到动态门槛DT。依据上面实施例的一变化例,存储器控制器110可依据存储器控制器110的一忙碌/闲置等级来调整动态门槛DT,且因此,检测值DV可为存储器控制器110的该忙碌/闲置等级。例如当该忙碌/闲置等级指出存储器控制器110下在忙碌中(例如该忙碌/闲置等级诸如一忙碌等级达到一预定等级),存储器控制器110可调整动态门槛DT以减少一擦除运作的发生机率,使得工作负荷得以被减少。如此,于步骤914中,存储器控制器110更倾向于判断不要擦除该特定区块。又例如当该忙碌/闲置等级指出存储器控制器110并非忙碌中(例如该忙碌/闲置等级诸如一忙碌等级小于一预定等级),存储器控制器110 可调整动态门槛DT以增加一擦除运作的发生机率,使得其硬件资源得以被充分利用。如此,于步骤914中,存储器控制器110更倾向于判断要擦除该特定区块。依据本发明的某些实施例,诸如以上公开的实施例/变化例中的一部分或全部,存储器控制器110可立即进行一擦除运作以确保整体效能。例如在上述的有效/无效页数代表一有效页数的状况下,当检测到该特定区块的有效页数等于零时,存储器控制器110 立即擦除该特定区块。又例如在上述的有效/无效页数代表一无效页数的状况下,当检测到该特定区块的无效页数达到其可能的最大值(例如一完全写入区块中的页数)时,存储器控制器110立即擦除该特定区块。依据本发明的某些实施例,诸如以上公开的实施例/变化例中的一部分或全部, 上述的至少一条件包含「一事件是否发生」的条件。如此,当存储器控制器110被该事件触发时,存储器控制器110可调整动态门槛DT。图3A至图3C为图2所示的方法于某些实施例中的实施细节。在这些实施例中, 上述的至少一条件可包含用来判断调整量DTA(DV)及/或用来判断是否调整动态门槛DT 的一个或多个条件。请参考图3A。在K = 2的状况下,上述的该(K+1)个范围包含三个范围R(O)、R(1)、 与W2)。调整量DTA(DV)绘示为一函数(于图3A标示为「DTA」)的某些曲线,尤其是图3A 所示的粗线。于本实施例中,上述的至少一条件包含「检测值DV是否达到一预定门槛(诸如预定门槛TH11)」的一第一条件,且另包含「检测值DV是否低于另一预定门槛(诸如预定门槛TH10)」的一第二条件,其中该第一条件与该第二条件中的至少一部分(例如一部分或全部)可于步骤912中被存储器控制器110所检查。于是,通过将这个函数应用于步骤 912的运作,存储器控制器110可于检测值DV达到预定门槛THll时增加动态门槛DT,或于检测值DV低于预定门槛THlO时减少动态门槛DT。尤其是,本实施例的检测值DV可为该多个区块当中空白区块的数量。请参考图;3B。在K = 1的状况下,上述的该(K+1)个范围包含两个范围R(O)与 R(I)。调整量DTA(DV)绘示为一函数(于图;3B标示为「DTA」)的某些曲线,尤其是图所示的粗线。于本实施例中,上述的至少一条件包含「检测值DV是否达到一预定门槛(诸如预定门槛TH21)」的该第一条件,其中该第一条件于步骤912中被存储器控制器110所检查。于是,通过将这个函数应用于步骤912的运作,存储器控制器110可于检测值DV达到预定门槛TH21时增加动态门槛DT,或于检测值DV未达到预定门槛TH21时减少动态门槛 DT。尤其是,本实施例的检测值DV可为该多个区块当中空白区块的数量。请参考图3C。在K = 6的状况下,上述的该(K+1)个范围包含七个范围R(0)、 R(I)、…、与R(6)。调整量DTA(DV)绘示为一函数(于图3C标示为「DTA」)的某些曲线, 尤其是图3C所示的粗线。于本实施例中,上述的至少一条件包含多个条件,诸如该第一条件与该第二条件的某些组合/变化。由于图3C所示的预定门槛TH30、TH31、TH32、TH33、 TH34、与 TH35 分别定义了范围 R(O) ,R(I)、R(2)、R(3)、R(4)、R(5)、与 R(6),预定门槛 TH30、 TH31、TH32、TH33、TH34、与TH35可分别用来判断检测值DV是否落于范围R(O)、R⑴、…、 与R(6)中的任何一个。相仿地,该多个条件中的至少一部分(例如一部分或全部)可于步骤912中被存储器控制器110所检查。于是,通过将这个函数应用于步骤912的运作,存储器控制器110可于检测值DV达到预定门槛TH33、TH34、与TH35中的任何一个时增加动态门槛DT,或于检测值DV低于预定门槛TH32、TH31、与TH30中的任何一个时减少动态门槛 DT0更明确而言,在上述的特定范围代表范围R(O)、R(I)、…、与R(6)中的一范围R(k4), 存储器控制器110将对应于范围R(k4)的调整量{DTA(DV) DV e R(k4)}施加于动态门槛DT,且因此以调整量{DTA(DV) |DV e R(k4)}调整动态门槛DT。尤其是,本实施例的检测值 DV可为该多个区块当中空白区块的数量。本发明的好处之一是,通过妥善地设计用来调整动态门槛DT的一函数,诸如图3A 至图3C所示的实施例中所公开的各个函数的任何一个,本发明可妥善地进行区块管理,增进该存储装置的效能。于是,通过调整该动态门槛,该存储装置能以适应性的方式来运作。 例如当该存储装置刚被使用且具有许多空白区块时,该动态门槛可被决定为一高值;因此,一擦除运作的发生机率得以减少,且该存储装置的耐用度可被增强。又例如当该存储装置被使用许久且仅具有少许空白区块时,该动态门槛可被决定为一低值;因此,一擦除运作的发生机率得以增加,且该存储装置可提供更多的空白区块以供用来储存传送自该主机的数据。另外,依据以上各个实施例/变化例来实施并不会增加许多额外的成本,甚至比相关技术更能节省成本。因此,基于以上公开的内容,相关技术的问题已被解决,且整体成本不会增加太多。以上所述仅为本发明的优选实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种用来进行区块管理的方法,该方法应用于一快闪存储器的控制器,该快闪存储器包含多个区块,其特征是,该方法包含有依据至少一条件调整一动态门槛;以及比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
2.如权利要求1所述的方法,其特征是,依据该至少一条件调整该动态门槛的步骤另包含依据该多个区块当中空白/已使用的区块的数量调整该动态门槛。
3.如权利要求2所述的方法,其特征是,依据该至少一条件调整该动态门槛的步骤另包含依据所述空白/已使用的区块的数量对该多个区块的数量的比率来调整该动态门槛。
4.如权利要求1所述的方法,其特征是,依据该至少一条件调整该动态门槛的步骤另包含依据关于该控制器/快闪存储器的一检测值是否落入多个范围当中的一特定范围来调整该动态门槛。
5.如权利要求4所述的方法,其特征是,该检测值代表该多个区块当中空白/已使用的区块的数量,或代表所述空白/已使用的区块的数量对该多个区块的数量的比率。
6.如权利要求4所述的方法,其特征是,该检测值代表该控制器的一忙碌/闲置等级。
7.如权利要求4所述的方法,其特征是,该至少一条件包含该检测值是否达到一预定门槛的一第一条件;以及依据该至少一条件调整该动态门槛的步骤另包含于该检测值达到该预定门槛时,增加该动态门槛。
8.如权利要求7所述的方法,其特征是,依据该至少一条件调整该动态门槛的步骤另包含于该检测值未达到该预定门槛时,减少该动态门槛。
9.如权利要求7所述的方法,其特征是,该至少一条件包含该检测值是否低于另一预定门槛的一第二条件;以及依据该至少一条件调整该动态门槛的步骤另包含于该检测值低于该另一预定门槛时,减少该动态门槛。
10.如权利要求7所述的方法,其特征是,该检测值代表该多个区块当中空白区块的数量。
11.如权利要求1所述的方法,其特征是,该至少一条件包含一事件是否发生的一条件;以及依据该至少一条件调整该动态门槛的步骤另包含当被该事件触发时,调整该动态门槛。
12.—种存储装置,其特征是,包含有一快闪存储器,该快闪存储器包含多个区块;以及一控制器,用来存取该快闪存储器以及管理该多个区块,其中该控制器依据至少一条件调整一动态门槛,并且比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
13.如权利要求12所述的存储装置,其特征是,该控制器依据该多个区块当中空白/已使用的区块的数量调整该动态门槛。
14.如权利要求13所述的存储装置,其特征是,该控制器依据所述空白/已使用的区块的数量对该多个区块的数量的比率来调整该动态门槛。
15.如权利要求12所述的存储装置,其特征是,该控制器依据关于该控制器/快闪存储器的一检测值是否落入多个范围当中的一特定范围来调整该动态门槛。
16.如权利要求12所述的存储装置,其特征是,该控制器依据该多个区块当中空白/已使用的区块的数量来调整该动态门槛。
17.如权利要求12所述的存储装置,其特征是,该至少一条件包含一事件是否发生的一条件;以及当该控制器被该事件触发时,该控制器调整该动态门槛。
18.一种存储装置的控制器,该控制器用来存取一快闪存储器,该快闪存储器包含多个区块,其特征是,该控制器包含有一只读存储器,用来储存一程序码;以及一微处理器,用来执行该程序码以控制对该快闪存储器的存取以及管理该多个区块, 其中在该微处理器的控制下,该控制器依据至少一条件调整一动态门槛,并且比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。
19.如权利要求18所述的控制器,其特征是,该控制器依据关于该控制器/快闪存储器的一检测值是否落入多个范围当中的一特定范围来调整该动态门槛。
20.如权利要求18所述的控制器,其特征是,该控制器依据该多个区块当中空白/已使用的区块的数量调整该动态门槛。
全文摘要
本发明公开了一种用来进行区块管理的方法,该方法应用于一快闪存储器的控制器,该快闪存储器包含多个区块,该方法包含依据至少一条件调整一动态门槛;以及比较该多个区块中的一特定区块的一有效/无效页数以及该动态门槛,以判断是否擦除该特定区块。本发明另提供相关的存储装置及其控制器,其中该存储装置包含该快闪存储器及该控制器。该控制器包含一只读存储器,用来储存一程序码;以及一微处理器,用来执行该程序码以控制对该快闪存储器的存取以及管理该多个区块;在该微处理器的控制下,该控制器依据该方法来运作。本发明通过调整该动态门槛,可妥善地进行区块管理,增进该存储装置的效能。
文档编号G06F12/02GK102262594SQ20111012618
公开日2011年11月30日 申请日期2011年5月13日 优先权日2010年5月24日
发明者林建成, 王启龙, 陈家新 申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1