用于快闪存储器的区块管理方法、快闪储存系统及控制器的制作方法

文档序号:6470083阅读:270来源:国知局

专利名称::用于快闪存储器的区块管理方法、快闪储存系统及控制器的制作方法
技术领域
:本发明涉及一种用于快闪存储器的区块管理方法,特别是涉及一种将存i统:控制器,、''、'、
背景技术
:数字相机、手机相机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于快闪存储器(FlashMemory)具有数据非易失性、省电、体积小与无机械结构等的特性,适合便携式应用,最适合使用于这类可携式由电池供电的产品上。固态硬盘就是一种以NAND快闪存储器作为储存媒体的储存装置。一般来说,快闪储存系统的快闪存储器会划分为多个物理区块(physealblock)并且这些物理区块会分组为数据区(dataarea)与备用区(sparearea)。归类为数据区的物理区块中会储存由写入指令所写入的有效数据,而备用区中的物理区块是用以在执行写入指令时替换数据区中的物理区块。具体来说,当快闪储存系统接受到主机的写入指令而欲对数据区的物理区块进行写入时,快闪储存系统会从备用区中提取一物理区块并且将在数据区中欲写入的物理区块中的有效旧数据与欲写入的新数据写入至从备用区中提取的物理区块并且将已写入新数据的物理区块关联为数据区,并且将原本数据区的物理区块进行擦除并关联为备用区。为了能够让主机能够顺利地存取以轮替方式储存数据的物理区块,快闪储存系统会提供逻辑区块给主机。也就是说,快闪储存系统会建立逻辑-物理区块对映表,并且在此表中记录与更新逻辑区块与数据区的物理区块之间的对映关系来反映物理区块的轮替,所以主机仅需要针对所提供逻辑区块进行写入而快闪储存系统会然而,在快闪存储器工艺上的进步而使得每一物理区块的设计容量会越来越大的同时,亦造成上述搬移有效旧数据的时间会相对的增加而降低系统的效能。特别是,在当快闪储存系统用作为安装计算机操作系统的储存媒体时,操作系统会经常性的存取特定数据(例如,文档配置表(FileAllocationTable,FAT),频繁存取此类小文档的数据会使得执行搬移有效旧数据的时间更长且加速物理区块的磨损。因此,提升此类数据存取的效率与减少快闪存储器的物理区块的磨损是相当重要的。
发明内容有鉴于此,本发明提供一种区块管理方法,其能够提升数据写入的效率并且避免物理区块的磨损以延长快闪存储器储存系统的寿命。此外,本发明提供一种控制器,其使用上述区块管理方法来管理快闪存储器,其能够提升数据写入的效率并且避免物理区块的磨损以延长快闪存储器储存系统的寿命。再者,本发明提供一种储存系统,其使用上述区块管理方法来管理快闪存储器,其能够提升数据写入的效率并且避免物理区块的磨损以延长快闪存储器储存系统的寿命。本发明提出一种区块管理方法,其适于管理快闪储存系统的快闪存储取区划分为多个快取子区,其中该储存区分别具有多个物理区块且每一快取子区具有至少一个物理区块。此区块管理方法也包括配置多个逻辑区块,其中逻辑区块是对映储存区的物理区块。此方法还包括设定逻辑区块与所划分的快取子区的配置关系,其中每一逻辑区块对应快取子区的其中之一,其中当主机写入数据至逻辑区块时会先将数据暂存至逻辑区块对应的快取子区中。在本发明的一实施例中,上述区块管理方法还包括当至少其中一个快取子区已存满数据时将暂存在此已存满数据的快取子区中的数据写入至储存区中。在本发明的一实施例中,上述区块管理方法还包括当^:写入的逻辑区块对应的快取子区无空间可储存该数据时将数据暂存于其他快取子区中。在本发明的一实施例中,上述将逻辑区块对应快取子区的步骤包括依据当主机写入数据至逻辑区块时所有快取子区的目前使用率来分配逻辑区在本发明的一实施例中,上述区块管理方法还包括在逻辑-物理区块对映表中记录一快取标记以表示哪些逻辑区块的数据是暂存于快取子区中,以及建立一数据地址表以记录储存此逻辑区块的页面地址的数据的物理页面地址。在本发明的一实施例中,上述将快取区划分为快取子区的步骤包括将快取区划分为N个快取子区,且上述配置逻辑区块以供主机存取的步骤包括配置M个逻辑区块,其中N与M为正整数,以及上述将逻辑区块对应快取子区的步骤包括将第K逻辑区块对应第P快取子区,其中K为小于(M+l)的正整数并且P等于K除以N的余数。本发明亦提供一种储存系统及其控制器,此储存系统包括快闪存储器、连接器以及控制器,其中快闪存储器具有多个物理区块且这些物理区块至少分组为数据区与备用区。此控制器是电性连接至上述快闪存储器与连接器,并且此控制器包括微处理器单元以及耦接至微处理器单元的快闪存储器接口模块、緩冲存储器、主机接口模块与存储器管理模块。特别是,此存储器管理模块具有可由微处理器单元执行的多个机器指令以对快闪存储器完成上述区块管理步骤。在本发明的一实施例中,上述快闪存储器为一多层存储单元(MultiLevelCell,MLC)NAND快闪存储器,且此快闪存储器的物理区块具有多个上页地址与写入速度快于上页地址的多个下页地址,并且在本发明的一实施例中,上述将数据暂存至逻辑区块对应的快取子区中的步骤包括将数据仅暂存至快取子区的下页地址中。本发明提出一种区块管理方法,其适于管理快闪储存系统的快闪存储器,此区块管理方法包括将快闪存储器划分为快取区与储存区,并且将快取区划分为多个快取子区,其中该储存区分别具有多个物理区块且每一快取子区具有至少一个物理区块。此区块管理方法也包括设定物理区块与所划分的快取子区的配置关系,其中每一物理区块对应快取子区的其中之一,其中当主机写入数据至物理区块时会先将数据暂存至物理区块对应的快取子区中。本发明因采用将快闪存储器划分出快取区的结构,因此可提升数据写入的效率。此外,本发明会将快取区划分为多个快取子区并且将逻辑区块9对应特定的快取子区,由此可将特定的逻辑区块的数据暂存于所对应的快取子区中,基此可在整理快取子区中的数据时减少物理区块的擦除次数。为使本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。图1是根据本发明一实施例绘示快闪储存系统的概要方块图。图2A与2B是根据本发明实施例绘示图1的储存区的示意图。图2C是根据本发明实施例绘示图1的快取区的示意图。图3是根据本发明实施例绘示区块管理步骤的流程图。图4是根据本发明实施例绘示逻辑-物理区块对映表的范例。图5是根据本发明实施例绘示数据地址表的范例。图6是根据本发明另一实施例绘示区块管理步骤的流程图附图符号说明100:快闪储存系统110:控制器110a:微处理器单元110b:存储器管理模块110c:快闪存储器接口模块110d:緩冲存储器110e:主才几接口才莫块120:连接器130:快闪存储器130a:储存区130b:快取区200:主机系统202:系统区204:数据区206:备用区208:替换区块210-l210-M:逻辑区块220-l~220-N:快取子区300:总线S301、S303、S305、S307、S309、S311、S313、S315、S317、S319、S321:区块管理步骤400逻辑-物理区块对映表402逻辑区块字段404物理区块字段406快耳又标记字段500数据地址表502逻辑区块字段504逻辑页面地址字段506快取子区508物理区块字段510物理页面地址字段S601、S603:区块管理步骤具体实施例方式为了提升快闪储存系统的存取效率,本发明所提出的方法是将快闪储存系统中的快闪存储器划分出一个区域作为快取区(或称緩冲区),并且将此快取区划分为数个快取子区,同时将提供给主机存取的逻辑区块分别地配置其中一个快取子区,其中当主机系统写入数据至快闪储存系统时,此数据会根据所写入的逻辑区块将数据暂存于对应的特定快取子区中后即回应主机系统已完成此写入指令,之后在于快闪储存系统于非忙碌(busy)期间才将快取子区中的数据搬移至应写入此数据的物理区块中。因此,可有效地提升数据写入的效率并且减少物理区块的磨损。为了更清楚了解本发明的精神,以下将以范例实施例作详细说明。图1是根据本发明一实施例绘示快闪储存系统的概要方块图。请参照图1,快闪储存系统100包括控制器(亦称控制器系统)110、连接器120以及快闪存储器130。通常快闪储存系统100会与主机200—起使用,以使主机200可将数据写入至快闪储存系统100或从快闪储存系统100中读取数据。在本实施例中,快闪储存系统120为固态硬盘(SolidStateDrive,SSD)。但必须了解的是,在本发明另一实施例中快闪储存系统100亦可以是存储卡或随身盘。控制器110会执行以硬件型式或固件型式实施的多个指令以配合连接器120与快闪存储器130来进行数据的储存、读取与擦除等运作。控制器110包括微处理器单元110a、存储器管理模块110b、快闪存储器接口模块110c、緩沖存储器110d与主机接口模块110e。微处理器单元110a用以与存储器管理模块110b、快闪存储器接口模块110c、緩沖存储器110d与主机接口模块llOe等协同合作以进行快闪储存系统100的各种运作。存储器管理模块110b耦接至微处理器单元110a。存储器管理模块110b具有可由微处理器单元110a执行的多个机器指令以管理快闪存储器130,例如平均磨损、区块管理功能、维护逻辑-物理对映表(mappingtable)功能等的机器指令。特别是,在本发明实施例中,存储器管理模块110b包含可完成根据本实施例的区块管理步骤的机器指令。在本实施例中,存储器管理模块110b是以一固件型式实施在控制器110中,例如以程序语言撰写程序相关机械指令并且储存于程序存储器(例如,只读存储器(ReadOnlyMemory,ROM))来实施存储器管理模块110b。当快闪存储器储存系统100运作时,存储器管理模块110b的多个机器指令会间接地被载入至緩冲存储器110d中并且由微处理器单元110a来执行或直接由微处理器单元110a来执行以完成上述平均磨损功能、坏区块管理功能、维护逻辑-物理区块对映表功能等。特别是,控制器110藉由执行存储器管理模块110b的多个机械指令来完成根据本发明实施例的区块管理步骤。在本发明另一实施例中,存储器管理模块110b的机械指令亦可以固件型式储存于快闪存储器130的特定区域(例如,快闪存储器中专用于存放系统数据的系统区)中。同样的,当快闪存储器储存系统IOO运作时,存储器管理模块110b的多个机器指令会被载入至缓冲存储器llOd中并且由微处理器单元110a来执行。此外,在本发明另一实施例中存储器管理模块110b亦可以一硬件型式实施在控制器110中。快闪存储器接口模块110c是耦接至微处理器单元110a并且用以存取快闪存储器130。也就是,欲写入至快闪存储器130的数据会经由快闪存储器接口模块110c转换为快闪存储器130所能接受的格式。緩冲存储器110d是耦接至微处理器单元110a并且用以暂时地储存系统数据(例如逻辑-物理对映表)或者主机200所读取或写入的数据。在本实施例中,緩沖存储器110d为静态随机存取存储器(staticrandomaccessmemory,SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取存储器(DynamicRandomAccessmemory,DRAM)、磁阻式存储器(MagnetoresistiveRandomAccessMemory,MRAM)、相变存小者器(PhaseChangeRandomAccessMemory,PRAM)或其他适合的存储器亦可应用于本发明。主机接口模块110e耦接至微处理器单元110a并且用以接收与识别主机系统200所传送的指令。也就是,主机系统200所传送的指令与数据会通过主机接口;f莫块110e来传送至^f鼓处理器单元110a。在本实施例中,主机接口模块110e为SATA接口。然而,必须了解的是本发明不限于此,主机接口模块110e亦可以是USB接口、IEEE1394接口、PCIExpress接口、MS接口、MMC接口、SD接口、CF接口、IDE接口或其他适合的数据传输接口。特别是,主机接口模块110e会与连接器120相对应。也就是,主机接口模块110e必须与连接器120互相搭配。此外,虽未绘示于本实施例,但控制器110还可包括错误校正模块与电源管理模块等用于控制快闪存储器的一般功能模块。连接器120用以通过总线300连接主机系统200。在本实施例中,连接器120为SATA连接器。然而,必须了解的是本发明不限于此,连接器120亦可以是USB连接器、正EE1394连接器、PCIExpress连接器、MS连接器、MMC连接器、SD连接器、CF连接器、IDE连接器或其他适合的连接器。快闪存储器130电连接至控制器110并且用以储存数据。在本实施中快闪存储器130为多层存储单元(MultiLevelCell,MLC)NAND快闪存储器。然而,必须了解的是,本发明不限于此。在本发明另一实施例中,单层存储单元(SingleLevelCell,SLC)NAND快闪存储器亦可应用于本发明。快闪存储器130通常实质上分割为多个物理区块(physicalblock)。一般而言,在快闪存储器中物理区块为擦除的最小单位。亦即,每一物理区块含有最小数目之一并被擦除的存储单元。每一物理区块通常会分割为数个页面地址(page)。页面地址通常为编程(program)的最小单元。但要特别说明的是于有些不同的快闪存储器设计,最小的编程单位也可为一个扇区(sector)。也就是说,一页面地址中有多个扇区并以一扇区为编程的最小单元。换言之,页面地址为写入数据或读取数据的最小单元。每一页面地址通常包括使用者数据区D与冗余区R。使用者数据区用以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误校正码(errorcorrectingcode,ECC))。为对应于磁盘驱动器的扇区(sector)大小,一般而言,使用者数据区D通常为512字节,而冗余区R通常为16字节。也就是,一页为一个扇区。然而,亦可以多个扇区形成一页,例如一页包4舌4个扇区。一般而言,物理区块可由任意数目的页面地址所组成,例如64个页面地址、128个页面地址、256个页面地址等。物理区块通常也可被分组为数个区域(zone),以区域来管理存储器某种程度上是彼此独立地操作以增加操作执行的平行程度且简化管理的复杂度。在本实施例中快闪存储器130会区分为储存区130a与快取区130b,其中储存区130a是用以储存数据,而快取区是用以暂存数据,具体来说,当主机系统200写入数据至快闪储存系统100时,控制器110会先将数据暂存于快取区130b以加速写入指令的处理,之后再写入至储存区130a。图2A与2B是根据本发明实施例绘示图1的储存区130a的示意图。必须了解的是,在此描述快闪存储器的运作时以"提取"、"搬移"、"交换"、"替换"、"轮替"、"分割"、"划分"等词来操作快闪存储器130的物理区块是逻辑上的概念。也就是说,快闪存储器的物理区块的实际位置并未更动,而是逻辑上对快闪存储器的物理区块进行操作。值得一提的是,下述物理区块的运作藉由控制器110执行存储器管理模块110b的机械指令所完成。请参照图2A,在本发明实施例中,为了有效率地编程(即,写入与擦除)快闪存储器130,控制器110会将储存区130a的物理区块在逻辑上分组为一系统区202(即,物理区块1~物理区块S)、一数据区204(即,物理区块(S+1)物理区块(S+M))与一备用区206(即,物理区块(S+M+1)物理区块(S+M+C))。如前所述,快闪存储器130的物理区块会以轮替方式提供主机来储存数据,因此控制器110会提供逻辑区块210-1-210-M给主机以进行数据存取,并且通过维护逻辑-物理对映表来记录逻辑区块所对映的物理区块。在本实施例中,上述S、M与C为正整数,其代表各区配置的物理区块数量,其可14由快闪储存系统的制造商依据所使用的快闪存储器的容量而设定。系统区202中的物理区块用以记录系统数据,系统数据例如是关于快闪存储器130的区域数、每一区域的物理区块数、每一物理区块的页面地址数、记录逻辑区块与物理区块对映关系的逻辑-物理对映表(logical-physicalmappingtable)等。数据区204中的物理区块用以储存使用者的数据,一般来说就是主机200所存取的逻辑区块所对映的区块。备用区206中的物理区块是用以替换数据区204中的物理区块,因此在备用区206中的物理区块为空或可使用的区块,即无记录数据或标记为已没用的无效数据。特别是,数据区204与备用区206的物理区块会以轮替方式来储存主机系统200对快闪储存系统100写入的数据。具体来说,由于在快闪存储器中每个地址仅能编程一次,因此若要对已写过^:据位置再次写入数据时,必须先执行擦除的动作。然而,如前所述快闪存储器写入单位为页面,其小于以物理区块为单位的擦除单位。因此,若要执行物理区块的擦除动作时,必须先将欲擦除物理区块中的有效页面地址的数据复制至其它物理区块后才可进行物理区块的擦除动作。例如,当主机欲写入数据至逻辑区块210-1(即,逻辑区块l)时,控制器110会通过逻辑-物理对映表得知逻辑区块1目前是对映数据区204中的物理区块(S+1)。因此,快闪储存系统100将对物理区块(S+1)中的数据进行更新,期间,控制器110会从备用区206中提取物理区块(S+M+1)来取代数据区204的物理区块(S+1)。然而,当将新数据入至物理区块(S+M+1)的同时,不会立刻将物理区块(S+1)中的所有有效数据搬移至物理区块(S+M+1)而擦除物理区块(S+1)。具体来说,控制器110会将物理区块(S+1)中欲写入页面地址之前的有效数据(即页P0与P1)复制至物理区块(S+M+1)(如图2B的(a)),并且将新数据(即物理区块(S+M+1)的页P2与P^写入至物理区块(S+M+l)(如图2B的(b))。此时,将含有部分的有效旧数据与所写入新数据的物理区块(S+M+1)暂时地关联为替换物理区块208。这是因为物理区块(S+l)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将物理区块(S+1)中的所有有效数据搬移至替换物理区块(S+M+1)可能会造成无谓的搬移。在此案例中,物理区块(S+1)与替换物理区块(S+M+1)的内容整合起来才是所对映逻辑区块1的完整内容。此等母子区块(即,物理区块(S+1)与替换物理区块(S+M+1》的暂态关系可依据控制器110中緩冲存储器110d的大小而定,例如一般会使用五组来实施。暂时地维持这种暂态关系的动作一般可称为开启(open)母子区块。之后,当需要将物理区块(S+1)与替换物理区块(S+M+1)的内容真正合并时,控制器110才会将物理区块(S+1)与替换物理区块(S+M+1)整并为一区块,由此提升区块的使用效率,此合并的动作又可称为关闭(close)母子区块。例如,如图2B的(c)所示,当进行关闭母子区块时,控制器110会将物理区块(S+1)中剩余的有效数据(即,页P4PN)复制至替换物理区块(S+M+l),然后将物理区块(S+1)擦除并关联为备用区206,同时,将替换物理区块(S+M+1)关联为数据区204,并且在逻辑-物理对映表中将逻辑区块1的对映更改为物理区块(S+M+1),由此完成关闭母子区块的动作。随着快闪存储器的容量逐渐变大,使得开启上述母子区块与搬移有效旧数据的时间会随之增加,因此会使得控制器110完成写入指令所需时间更长。因此,在本实施例中控制器110会将快闪存储器130中的部分物理区块划分作为快取区130b。快取区130b中的物理区块是用以暂存主机系统200所写入的数据。也就是说,当主机系统200对快闪储存系统IOO下达写入指令时,控制器110会将欲写入的数据暂存于快取区130b中,并且回复主机系统200已完成此写入指令。之后,控制器110会在快闪储存系统100的非忙碌(non-busy)期间将快取区130b的数据搬移至数据区204。也就是,控制器110会在快闪储存系统100的非忙碌期间执行上述耗时的开启母子区块的运作(如图2B所示)来将暂存于快取区130b中的数据写入其应写入的物理区块中。图2C是根据本发明实施例绘示图1的快取区130b的示意图。请参照图2C,在本实施例中控制器110会将快取区130b分为多个快取子区220-l220-N,并且为逻辑区块210-1~210-M分别地配置快耳又子区220-l~220-N的其中之一(在此,N与M为正整数)。也就是说,每一逻辑区块会对应一个特定快取子区。一般来说,快取子区的数目会少于逻辑区块数,因此多个逻辑区块会共用一个快取子区。之后,当控制器110将主机系统200所写入的数据暂存于快取区130b时,控制器110会根据欲写入的逻辑区块将数据暂存所配置的特定快取子16区中。例如,在本实施例中控制器UO会将配置快取子区220-P以用于逻辑区块210-K,其中K与P为整数并且P为K除以N的余数,如下式(l):P-K(modN)l^K^M(1)也就是,例如在本实施例中假设N为4时,则名夂写入至逻辑区块210-1、210-5、210-9...的数据会暂存于快取子区220-1中,欲写入至逻辑区块210-2、210-6、210-10...的数据会暂存于快取子区220-2中,欲写入至逻辑区块210-3、210-7、210-11...的数据会暂存于快取子区220-3中以及欲写入至逻辑区块210-4、210-8、210-12...的数据会暂存于快取子区220-4中。在本实施例中是将逻辑区块以非连续方式对应至快取子区。然而,在本发明另一实施例中亦可以连续的逻辑区块来对应快取子区。例如,在上述例子中逻辑区块210-1、210-2、210-3…210-S会对应快取子区220-1,逻辑区块210-(S+l)、210画(S+2)、210隱(S+3)…210-2S会对应220-2,逻辑区块210-(2S+l)、210-(2S+2)、210-(2S+3)…210-3S会对应220-3以及逻辑区块210-(3S+l)、210-(3S+2)、210-(3S+3)…会对应220-4。此外,在本实施例中是以静态方式事先设定逻辑区块与快取子区的配置关系。然而,在本发明另一实施例中亦可于控制器110暂存数据于快取子区时以动态方式设定所配置的快取子区。例如,当控制器110欲暂存数据于快取子区时,其会判断此数据所属的逻辑区块是否已配置特定快取子区,倘若此数据所属的逻辑区块还未配置特定快取子区时控制器110会选择目前快取子区之中最少逻辑区块使用的快取子区作为其对应的快取子区。如上所述,在本实施例中控制器110是以逻辑区块来配置快取子区,也就是依据数据欲写入的逻辑区块来写入至不同的快取子区中。然而,在本发明另一实施例中,控制器110亦可以储存区130a的物理区块来分组快取子区,也就是依据数据欲写入至储存区130a的物理区块来写入至不同的快取子区中,其中其分组方式亦可如上所述公式(l)的方式来设定物理区块与快取子区的配置关系。值得一提的是,在本实施例中是以一个物理区块的大小作为一个快取子区,但本发明不限于此,在本发明另一实施例中亦可以多个物理区块作为一个快取子区。以下将结合附图详细说明上述快闪储存系统100管理区块的方法。图3是根据本发明实施例绘示区块管理步骤的流程图,其中这些步骤是控制器110的微处理器单元110a执行存储器管理模块110b的机械指令所完成。必须了解的是,本发明所提出的区块管理步骤不限于图3所示的执行顺序,本领域技术人员可根据本发明的精神任意更动区块管理步骤的顺序。请参照图3,在步骤S301中控制器IIO会将快闪存储器130划分为储存区130a与快取区130b。接着,在步骤S303中,控制器IIO会将快取区130b划分为多个快取子区220-l~220-N。划分快取区130b的方法已详细描述如上,在此不再重复描述。在步骤S305中控制器110会配置逻辑区块210-1~210-M以供主机系统200存取,并且在步骤S307中会设定逻辑区块210-1-210-M与所划分的快取子区220-l220-N的配置关系。之后,在步骤S309中会待命与接收主机系统200的写入指令与数据。必须了解的是,在此流程图中仅描述快闪储存系统100针对写入指令所执行的特殊步骤,因此在步骤S309中仅于接收到写入指令时才产生后续的运作。然而,在快闪储存系统100亦会执行其他指令(例如,读取指令)。在步骤S311中控制器IIO会依据欲写入数据所属的逻辑区块确认其所配置的快取子区。然后,在步骤S313中控制器IIO会将数据暂存于所配置的快取子区中。接着,在步骤S315中控制器IIO会判断在快取区130b中是否有任何一快取子区已存满数据。倘若在步骤S315中判断有其中一个快取子区已存满数据时,则在步骤S317中控制器IIO会整理此已存满数据的快取子区。也就是说,控制器110会将此快取子区中的数据写入至储存区,并且将对此快取子区进行区块擦除动作。此被擦除后的快取子区就可继续提供后续控制器IIO执行写入指令时使用。接着,在步骤S319中控制器110会在逻辑-物理区块对映表中记录或更新快取标记以表示数据是否暂存于快取子区中。具体来说,控制器110会在逻辑-物理区块对映表400中新增一个比特(bit)的数据来表示数据是否暂存于快取子区中。例如,逻辑-物理区块对映表400包括逻辑区块字段402、物理区块字段404与快取标记字段406,其中逻辑区块字段402与物理区块字段404用以记录对映的逻辑区块与物理区块,并且倘若此快取标记字段406中的值为'T,时表示此逻辑区块的部分数据是存在快取区130b中,倘若此快取标记字段406中的值为"O"时则表示此逻辑区块的数据并无存在快取区130b中。例如,如图4中的范例所示,逻辑区块1是对映物理区块(S+1)并且逻辑区块1中的部分数据是在快取区130b中。同时,在步骤S321中控制器110会为有数据在快取区130b的逻辑区块建立与维护一数据地址表500,其中此数据地址表500是用以记录每一逻辑区块的每一页面地址的数据目前实际上是储存在哪个快取子区中。例如,在本发明一实施例中,如图5所示数据地址表500包括逻辑区块字段502、逻辑页面地址字l殳504、快取子区506、物理区块字賴508与物理页面地址字段510。例如,控制器IIO可从此记录中得知逻辑区块1的页面地址O的数据是记录在快取子区220-1的物理区块1的页面地址2中(如图5所示的范例)。之后,控制器110执行读取指令时可依据在步骤S319与S321所记录的信息正确地读取数据。值得一提的是,步骤S319与S321所记录数据地址表可使控制器110快速地读取所欲读取地址上的数据。然而,在本发明另一实施例中,控制器100亦可直接从页面地址的冗余区R中的信息来寻找出记录数据的正确地址而不需记录数据地址表。在步骤S321之后,区块管理步骤会返回至步骤S309中等待下一个写入指令。虽未绘示于图3中,但本领域的技术人员可轻易了解图3的区块管理步骤会在接收到关机或电源中断指令后结束。值得一提的是,在本发明另一实施例中,控制器110会在快闪储存系统100关机前将上述快取区的划分以及与逻辑区块的配置关系储存于快闪存储器130中(例如,系统区202),因此当快闪储存系统IOO再次启动时,控制器110可直接读取所储存的数据而不需再次执行步骤S301、S303与S305的步骤。此外,在本发明另一实施例中,在上述步骤S315与S317的步骤亦可省略。具体来说,控制器110不会在对应的快取子区存满数据时立刻进行整理的动作,而是先将数据暂存于其他快取子区,并且之后在快闪储存系统100的非忙碌期间才进行整理的动作。如图6所示,在步骤S601中控制器IIO会判断对应的快取子区是否已存满数据。倘若在步骤S601中判断快取子区还未存满数据时,则执行步骤S313,倘若在步骤S601中判断快取子区已存满数据时,则在步骤S603中控制器IIO会将此数据暂存于在另一快取子区中。值得一提的是,本发明实施例的快闪存储器130为MLCNAND快闪存储器,并且MLCNAND快闪存储器的物理区块的编程可分为多阶段。例如,以4层存储单元为例,物理区块的编程可分为2阶段。第一阶段是下页地址(lowerpage)的写入部分,其物理特性类似于单层存储单元SLCNAND快闪存储器,在完成第一阶段之后才会编程上页地址(upperpage),其中下页地址的写入速度会快于上页地址。因此,每一物理区块的页面地址可区分为快慢页面(即,上页地址)与快速页面(即,下页地址)。类似地,在8层存储单元或16层存储单元的案例中,存储单元会包括更多个页面地址并且会以更多阶段来写入。在此,将写入速度最快的页面地址称为下页地址,其他写入速度较慢的页面地址统称为上页地址。例如,上页地址包括具有不同写入速度的多个页面。此外,在其他实施例中,上页地址也可为写入速度最慢的页面,或者写入速度最慢与部份写入速度快于写入速度最慢页面的页面。例如,在4层存储单元中,下页地址为写入速度最快与写入速度次快的页面,上页则为写入速度最慢与写入速度次慢的页面。因此,在本发明另一实施例中,控制器110可利用下页地址写入速度较快的特性在执行步骤S311中仅将数据暂存至快取子区的物理区块的下页地址中,以加速快取区130b的写入速度。综上所述,本发明将快取区划分为多个快取子区,并且将逻辑区块分组对应特定的快取子区,由此在暂存数据于快取区时可依据不同的逻辑区块将数据暂存于特定的快取子区中。基此,当快闪储存系统需整理快取区时可以快取子区为单位进行整理,以减少搬移数据所需的时间。再者,由于同一快取子区内的数据是属于特定逻辑区块,因此可避免因为数据过于分散于不同的逻辑区块而造成需整并过多逻辑区块而造成物理区块的磨损。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。<table>tableseeoriginaldocumentpage21</column></row><table><image>imageseeoriginaldocumentpage22</image><image>imageseeoriginaldocumentpage23</image>权利要求1.一种区块管理方法,适于管理一快闪储存系统的一快闪存储器,该区块管理方法包括将该快闪存储器划分为一快取区与一储存区,其中该储存区分别具有多个物理区块;将该快取区划分为多个快取子区,其中每一快取子区具有至少一个物理区块;配置多个逻辑区块,其中所述逻辑区块是对映该储存区的物理区块;以及设定所述逻辑区块与所述快取子区的一配置关系,其中每一所述逻辑区块会对应所述快取子区的其中之一,其中当该主机写入数据至所述逻辑区块时将该数据暂存至所述逻辑区块对应的所述快取子区中。2.如权利要求1所述的区块管理方法,还包括当至少其中一个所述快取子区已存满数据时将暂存在该至少其中一个快取子区中的数据写入至该储存区中。3.如权利要求1所述的区块管理方法,还包括当所述逻辑区块对应的所述快取子区无空间可储存该数据时将该数据暂存于其他所述快取子区中。4.如权利要求1所述的区块管理方法,其中将所述逻辑区块对应所述快取子区的步骤包括依据当该主机写入该数据至所述逻辑区块时所述快取子区的目前使用率来分配所述逻辑区块对应的快取子区。5.如权利要求1所述的区块管理方法,还包括在一逻辑-物理区块对映表中记录一快取标记以表示所述逻辑区块的数据是暂存于所述快取子区中;以及建立一数据地址表以记录用以储存每一逻辑区块的每一页面地址的数据的物理页面地址。6.如权利要求1所述的区块管理方法,其中将该快取区划分为所述快取子区的步骤包括将该快取区划分为N个快取子区,且配置所述逻辑区块以供该主机存取步骤包括配置M个逻辑区块,其中N与M为正整数,以及其中将所述逻辑区块对应所述快取子区的步骤包括将第K逻辑区块对应第P快取子区,其中K为小于(M+1)的正整数并且P等于K除以N的余数。7.如权利要求1所述的区块管理方法,其中该快闪存储器为一多层存储单元NAND快闪存储器且所述快取子区的物理区块具有多个上页地址与写入速度快于所述上页地址的多个下页地址,并且其中将该数据暂存至所述逻辑区块对应的所述快取子区中的步骤包括将该数据仅暂存至所述快取子区的所述下页地址中。8.—种控制器,适用于管理一快闪储存系统的一快闪存储器,该控制器包括一微处理器单元;一快闪存储器接口,耦接至该微处理器单元;一緩冲存储器,耦接至该微处理器单元;以及一存储器管理模块,耦接至该微处理器单元且具有可由该微处理器单元执行的多个机器指令以对该快闪存储器进行多个区块管理步骤,所述区块管理步骤包括将该快闪存储器划分为一快取区与一储存区,其中该储存区分别具有多个物理区块;将该快取区划分为多个快取子区,其中每一快取子区具有至少一个物理区块;配置多个逻辑区块,其中所述逻辑区块是对映该储存区的物理区块;以及设定所述逻辑区块与所述快取子区的一配置关系,其中每一所述逻辑区块会对应所述快取子区的其中之一,其中当该主机写入数据至所述逻辑区块时将该数据暂存至所述逻辑区块对应的所述快取子区中。9.如权利要求8所述的控制器,其中该区块管理步骤还包括当至少其中一个所述快取子区已存满数据时将暂存在该至少其中一个快取子区中的数据写入至该储存区中。10.如权利要求8所述的控制器,其中该区块管理步骤还包括当所述逻辑区块对应的所述快取子区无空间可储存该数据时将该数据暂存于其他所述快取子区中。11.如权利要求8所述的控制器,其中将所述逻辑区块对应所述快取子区的步骤包括依据当该主机写入该数据至所述逻辑区块时所述快取子区的目前使用率来分配所述逻辑区块对应的快取子区。12.如权利要求8所述的控制器,其中该区块管理步骤还包括在一逻辑-物理区块对映表中记录一快取标记以表示所述逻辑区块的数据是暂存于所述快取子区中;以及建立一数据地址表以记录用以储存每一逻辑区块的每一页面地址的数据的物理页面地址。13.如权利要求8所述的控制器,其中将该快取区划分为所述快取子区的步骤包括将该快取区划分为N个快取子区,且配置所述逻辑区块以供该主机存取步骤包括配置M个逻辑区块,其中N与M为正整数,以及其中将所述逻辑区块对应所述快取子区的步骤包括将第K逻辑区块对应第P快取子区,其中K为小于(M+1)的正整数并且P等于K除以N的余数。14.如权利要求8所述的控制器,其中该快闪存储器为一多层存储单元NAND快闪存储器,且该快闪存储器的物理区块具有多个上页地址与写入速度快于所述上页地址的多个下页地址,并且将该数据仅暂存至所述快取子区的所述下页地址中。15.—种快闪储存系统,包括一快闪存储器;一连接器;以及一控制器,电连接至该快闪存储器与该连接器,该控制器会执行一存储器管理模块的多个机器指令以执行多个区块管理步骤,所述区块管理步骤包括将该快闪存储器划分为一快取区与一储存区,其中该储存区分别具有多个物理区块;将该快取区划分为多个快取子区,其中每一快取子区具有至少一个物理区块;配置多个逻辑区块,其中所述逻辑区块是对映该储存区的物理区块;以及设定所述逻辑区块与所述快取子区的一配置关系,其中每一所述逻辑区块对应所述快取子区的其中之一,其中当该主机写入数据至所述逻辑区块时将该数据暂存至所述逻辑区块对应的所述快取子区中。16.如权利要求15所述的快闪储存系统,其中该区块管理步骤还包括当至少其中一个所述快取子区已存满数据时将暂存在该至少其中一个快取子区中的数据写入至该储存区中。17.如权利要求15所述的快闪储存系统,其中该区块管理步骤还包括当所述逻辑区块对应的所述快取子区无空间可储存该数据时将该数据暂存于其他所述快取子区中。18.如权利要求15所述的快闪储存系统,其中将所述逻辑区块对应所述快取子区的步骤包括依据当该主机写入该数据至所述逻辑区块时所述快取子区的目前使用率来分配所述逻辑区块对应的快取子区。19.如权利要求15所述的快闪储存系统,其中该区块管理步骤还包括在一逻辑_物理区块对映表中记录一快取标记以表示所述逻辑区块的数据是暂存于所述快取子区中;以及为每一逻辑区块建立一数据地址表以记录用以储存每一逻辑区块的每一页面地址的数据的物理页面地址。20.如权利要求15所述的快闪储存系统,其中将该快取区划分为所述快取子区的步骤包括将该快取区划分为N个快取子区,且配置所述逻辑区块以供该主机存取步骤包括配置M个逻辑区块,其中N与M为正整数,以及其中将所述逻辑区块对应所述快取子区的步骤包括将第K逻辑区块对应第P快取子区,其中K为小于(M+1)的正整数并且P等于K除以N的余数。21.如权利要求15所述的快闪储存系统,其中该快闪存储器为一多层存储单元NAND快闪存储器,且该快闪存储器的物理区块具有多个上页地址与写入速度快于所述上页地址的多个下页地址,并且将该数据仅暂存至所述快取子区的所述下页地址中。22.—种区块管理方法,适于管理一快闪储存系统的一快闪存储器,该区块管理方法包括将该快闪存储器划分为一快取区与一储存区,其中该储存区分别具有多个物理区块;将该快取区划分为多个快取子区,其中每一快取子区具有至少一个物理区块;以及设定所述物理区块与所述快取子区的一配置关系,其中每一所述物理区块会对应所述快取子区的其中之一,其中当该主机写入数据至所述物理区块时将该数据暂存至所述物理区块对应的所述快取子区中。全文摘要一种用于快闪存储器的区块管理方法、快闪储存系统及控制器。此区块管理方法包括将快闪存储器划分为快取区与储存区,并且将快取区划分为多个快取子区,其中储存区具有多个物理区块且每一快取子区具有至少一个物理区块。此区块管理方法也包括配置多个逻辑区块以对映储存区的物理区块,并且将每一逻辑区块对应所划分的快取子区的其中之一,其中当主机写入数据至逻辑区块时会先将数据暂存至逻辑区块对应的快取子区中。基此,能够提升数据写入的效率并且避免物理区块的磨损以延长快闪存储器储存系统的寿命。文档编号G06F12/06GK101661431SQ20081021424公开日2010年3月3日申请日期2008年8月29日优先权日2008年8月29日发明者叶志刚申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1