区块管理方法、存储器控制器与存储器存储装置的制作方法

文档序号:6437880阅读:143来源:国知局

专利名称::区块管理方法、存储器控制器与存储器存储装置的制作方法
技术领域
:本发明涉及一种区块管理方法,尤其涉及一种管理可复写式非易失性存储器模组的实体区块的方法,以及使用此方法的存储器控制器与存储器存储装置。
背景技术
:可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小与无机械结构等特性,故被广泛地应用于各种电子装置。可复写式非易失性存储器具有多个实体区块(physicalblock),且每一实体区块具有多个实体页面(physicalpage)。其中,实体区块为数据抹除的最小单位,而实体页面则是数据写入的最小单位。当使用可复写式非易失性存储器的存储装置(以下称为存储器存储装置)被制造完成而进行第一次格式化(亦称为开卡)时,存储器存储装置的存储器控制器会对可复写式非易失性存储器的所有实体区块进行磁盘扫瞄以识别出正常及损毁的实体区块。存储器控制器会将正常的实体区块优先分组至数据区与闲置区并且将剩余的实体区块分组至取代区。其中,数据区的实体区块是用以存储来自主机系统的数据,闲置区的实体区块是用以轮替数据区中的实体区块,而取代区的实体区块则是用以在存储器存储装置运作过程中取代发生损坏的实体区块。一般来说,正常的实体区块亦会有不同的使用寿命,因此在使用存储器存储装置的过程中,倘若实体区块之间的使用寿命差距过大,则容易造成数据不稳定的情况。
发明内容有鉴于此,本发明提供一种区块管理方法、存储器控制器与存储器存储装置,能减少因可复写式非易失性存储器模组中实体区块的寿命差距过大而造成数据不稳定的现象。本发明提出一种区块管理方法,用以管理可复写式非易失性存储器模组中的多个实体区块。此方法包括维护错误信息对应表以记录上述实体区块中至少一错误可修正实体区块以及错误可修正实体区块所对应的错误位元数。此方法还包括依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。从另一观点来看,本发明提出一种存储器控制器,用于管理存储器存储装置中的可复写式非易失性存储器模组。此存储器控制器包括主机系统介面、存储器介面,以及存储器管理电路。主机系统介面用以耦接至主机系统。存储器介面用以耦接可复写式非易失性存储器模组,此可复写式非易失性存储器模组包括多个实体区块。存储器管理电路耦接至主机系统介面与存储器介面,存储器管理电路用以维护错误信息对应表以记录上述实体区块中至少一错误可修正实体区块以及错误可修正实体区块所对应的错误位元数,并且依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。从又一观点来看,本发明提出一种存储器存储装置,包括可复写式非易失性存储器模组、连接器以及存储器控制器。可复写式非易失性存储器模组包括多个实体区块。连接器用以耦接主机系统。存储器控制器耦接至可复写式非易失性存储器模组与连接器,存储器控制器用以维护错误信息对应表以记录上述实体区块中至少一错误可修正实体区块以及错误可修正实体区块所对应的错误位元数,并且依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。基于上述,本发明是依据各实体区块是否通过写入测试与抹除测试以及其错误位元数来对实体区块进行管理。进一步来说,本发明是依照实体区块的错误位元数来决定是否使用该实体区块来写入数据。据此,能让可复写式非易失性存储器模组中的实体区块使用寿命更为平均,从而增加数据稳定性。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。图1A是根据本发明一范例实施例显示的使用存储器存储装置的主机系统的示意图。图1B是根据本发明范例实施例所显示的电脑、输入/输出装置与存储器存储装置的示意图。图1C是根据本发明另一范例实施例所显示的主机系统与存储器存储装置的示意图。图2是显示图1A所示的存储器存储装置的概要方块图。图3是根据本发明一范例实施例显示的存储器控制器的概要方块图。图4是根据本发明的一范例实施例所显示的管理实体区块的示意图。图5A、5B是根据本发明的一范例实施例所显示的错误信息对应表的示意图。图6是根据本发明的一范例实施例所显示的区块管理方法的流程图。图7是根据本发明的另一范例实施例所显示的区块管理方法的流程图。主要元件符号说明:1000:主机系统1100:电脑1102:微处理器1104:随机存取存储器1106:输入/输出装置1108:系统汇流排1110:数据传输介面1202:鼠标1204:键盘1206:显示器1208:印表机1212:移动盘1214:记忆卡1216:固态硬盘1310:数码相机1312:SD卡1314:MMC卡1316:记忆棒1318:CF卡1320:嵌入式存储装置100:存储器存储装置102:连接器104:存储器控制器106:可复写式非易失性存储器模组1041:主机系统介面1043:存储器管理电路1045:存储器介面3002:错误检查与校正电路3004:缓冲存储器3006:电源管理电路410(0)~410(N):实体区块502:数据区504:闲置区506:系统区508:取代区610(0)610(L):逻辑区块700、800:错误信息对应表PBA(i)、PBA(j)、PBA(k)、PBA(I)、PBA(m)、PBA(η)、PBA(a)、PBA(b)、PBA(c)、PBA(d):实体区块位址800-0、800-l、800-2、800-(N-1)、800_N:分表S610S640:本发明的一实施例所述的区块管理方法的各步骤S710S740:本发明的另一实施例所述的区块管理方法的各步骤具体实施例方式一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模组与控制器(亦称,控制电路)。通常存储器存储装置会与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。另外,亦有存储器存储装置是包括嵌入式存储器与可执行于主机系统上以实质地作为此嵌入式存储器的控制器的软件。一般来说在存储器存储装置出厂时,可复写式非易失性存储器模组便包括正常的实体区块与损坏的实体区块(亦称,坏实体区块),而各正常实体区块随着其读取数据错误率的不同会有相异的使用寿命。本发明便是基于上述观点而提出的一种区块管理方法、存储器控制器与存储器存储装置,藉由平均实体区块的使用寿命来增加数据的正确性。图1A是根据本发明一范例实施例所显示的使用存储器存储装置的主机系统的示意图。主机系统1000包括电脑1100与输入/输出(Input/Output,I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(RandomAccessMemory,RAM)1104、系统汇流排1108以及数据传输介面1110。输入/输出装置1106包括如图1B所示的鼠标1202、键盘1204、显示器1206与印表机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。在本发明范例实施例中,存储器存储装置100是通过数据传输介面1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至存储器存储装置100,或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图1B所示的记忆卡1214、移动盘1212、或固态硬盘(SolidStateDrive,SSD)1216。一般而言,主机系统1000为可存储数据的任意系统。虽然在本范例实施例中主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是手机、数码相机、摄影机、通讯装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数码相机1310时,存储器存储装置则为其所使用的安全数位(SecureDigital,SD)卡1312、多媒体记忆(MultimediaCard,MMC)卡1314、记忆棒(MemoryStick)1316、小型快闪(CompactFlash,CF)卡1318或嵌入式存储装置1320(如图1C所示)。嵌入式存储装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。图2是显示图1A所示的存储器存储装置100的方块图。请参照图2,存储器存储装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模组106。连接器102耦接至存储器控制器104,并且用以耦接主机系统1000。在本范例实施例中,连接器102所支援的传输介面种类为序列先进附件(SerialAdvancedTechnologyAttachment,SATA)介面。然而在其他范例实施例中,连接器102的传输介面种类也可以是通用序列汇流排(UniversalSerialBus,USB)介面、多媒体存储卡(MultimediaCard,MMC)介面、平行先进附件(ParallelAdvancedTechnologyAttachment,PATA)介面、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394介面、高速周边零件连接介面(PeripheralComponentInterconnectExpress,PCIExpress)介面、安全数位(SecureDigital,SD)介面、记忆棒(MemoryStick,MS)介面、小型快闪(CompactFlash,CF)介面,或整合驱动电子(IntegratedDriveElectronics,IDE)介面等任何适用的介面,在此并不加以限制。存储器控制器104会执行以硬件型式或韧体型式实作的多个逻辑闸或控制指令,并根据主机系统1000的指令在可复写式非易失性存储器模组106中进行数据的写入、读取与抹除等运作。其中,存储器控制器104还特别用以根据本范例实施例的区块管理方法而依照错误位元数来对可复写式非易失性存储器模组106中的实体区块进行使用与否的管理。本范例实施例的区块管理方法将于后配合图示再作说明。可复写式非易失性存储器模组106耦接至存储器控制器104。可复写式非易失性存储器模组106包括多个实体区块,且每一实体区块包括多个实体页面。举例来说,可复写式非易失性存储器模组106为多阶记忆胞(MultiLevelCelI,MLC)NAND快闪存储器模组,但本发明不限于此,可复写式非易失性存储器模组106也可以是单阶记忆胞(SingleLevelCell,SLC)NAND快闪存储器模组、其他快闪存储器模组或任何具有相同特性的存储器模组。图3是根据本发明一范例实施例所显示的存储器控制器的概要方块图。请参照图3,存储器控制器104包括主机系统介面1041、存储器管理电路1043,以及存储器介面1045。主机系统介面1041耦接至存储器管理电路1043,并通过连接器102以耦接主机系统1000。主机系统介面1041是用以接收与识别主机系统1000所传送的指令与数据。据此,主机系统1000所传送的指令与数据会通过主机系统介面1041而传送至存储器管理电路1043。在本范例实施例中,主机系统介面1041对应连接器102而为SATA介面,而在其他范例实施例中,主机系统介面1041也可以是USB介面、MMC介面、PATA介面、IEEE1394介面、PCIExpress介面、SD介面、MS介面、CF介面、IDE介面或符合其他介面标准的介面。存储器管理电路1043是用以控制存储器控制器104的整体运作。具体来说,存储器管理电路1043具有多个控制指令,在存储器存储装置100运作时,上述控制指令会被执行以实现本范例实施例的区块管理方法。在一范例实施例中,存储器管理电路1043的控制指令是以韧体型式来实作。例如,存储器管理电路1043具有微处理器单元(未显示)与只读存储器(未显示),且上述控制指令是被烧录在只读存储器中。当存储器存储装置100运作时,上述控制指令会由微处理器单元来执行以完成本范例实施例的区块管理方法。在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以程式码型式存储于可复写式非易失性存储器模组106的特定区域(例如,可复写式非易失性存储器模组106中专用于存放系统数据的系统区)中。此外,存储器管理电路1043具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。其中,只读存储器具有驱动码段,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模组106中的控制指令载入至存储器管理电路1043的随机存取存储器中。之后,微处理器单元会运转上述控制指令以执行本范例实施例的区块管理方法。此外,在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以一硬件型式来实作。存储器介面1045耦接至存储器管理电路1043,以使存储器控制器104与可复写式非易失性存储器模组106相耦接。据此,存储器控制器104可对可复写式非易失性存储器模组106进行相关运作。也就是说,欲写入至可复写式非易失性存储器模组106的数据会经由存储器介面1045转换为可复写式非易失性存储器模组106所能接受的格式。在本发明的另一范例实施例中,存储器控制器104还包括错误检查与校正电路3002。错误检查与校正电路3002耦接至存储器管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路3002会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),且存储器管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模组106。之后当存储器管理电路1043从可复写式非易失性存储器模组106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3002会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序,以识别该笔数据是否存在错误位元。在本发明的另一范例实施例中,存储器控制器104还包括缓冲存储器3004。缓冲存储器3004可以是静态随机存取存储器(StaticRandomAccessMemory,SRAM)、或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等,本发明并不加以限制。缓冲存储器3004耦接至存储器管理电路1043,用以暂存来自于主机系统1000的数据,或暂存来自于可复写式非易失性存储器模组106的数据。在本发明又一范例实施例中,存储器控制器104还包括电源管理电路3006。电源管理电路3006耦接至存储器管理电路1043,用以控制存储器存储装置100的电源。图4是根据本发明的一范例实施例所显示的管理可复写式非易失性存储器模组的实体区块的示意图。请参照图4,本范例实施例的可复写式非易失性存储器模组106包括实体区块410(0)410(N),且每一实体区块包括数个实体页面。存储器控制器104中的存储器管理电路1043会将实体区块410(O)410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。其中,图4所标示的F、S、R与N为正整数,代表各区配置的实体区块数量,其可由存储器存储装置100的制造商依据所使用的可复写式非易失性存储器模组106的容量来设定。逻辑上属于数据区502与闲置区504的实体区块是用以存储来自于主机系统1000的数据。具体来说,数据区502的实体区块是被视为已存储数据的实体区块,而闲置区504的实体区块是用以写入新数据的实体区块。换句话说,闲置区504的实体区块为空或可使用的实体区块(无记录数据或标记为已没用的无效数据)。当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路1043会从闲置区504中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区502的实体区块。或者,当需要对一逻辑区块执行数据合并程序时,存储器管理电路1043会从闲置区504提取实体区块并将数据写入其中,以替换原先映射此逻辑区块的实体区块。逻辑上属于系统区506的实体区块是用以记录系统数据。举例来说,系统数据包括关于可复写式非易失性存储器模组106的制造商与型号、可复写式非易失性存储器模组106的实体区块数、每一实体区块的实体页面数等等。逻辑上属于取代区508的实体区块是用以在数据区502、闲置区504或系统区506中的实体区块损毁时,取代损坏的实体区块。具体而言,在存储器存储装置100运作期间,倘若取代区508中仍存有正常的实体区块且数据区502的实体区块损坏时,存储器管理电路1043会从取代区508中提取正常的实体区块来更换数据区502中损坏的实体区块。也因此,在存储器存储装置100的运作过程中,数据区502、闲置区504、系统区506与取代区508的实体区块会动态地变动。例如,用以轮替存储数据的实体区块会变动地属于数据区502或闲置区504。为了让主机系统1000能对可复写式非易失性存储器模组106进行存取,存储器管理电路1043会配置数个逻辑区块610(0)610(L)以映射数据区502中的实体区块410(0)410(F-1)。其中每一逻辑区块包括多个逻辑页面,而逻辑区块610(O)610(L)中的逻辑页面会依序映射实体区块410(O)410(F-1)中的实体页面。详言之,存储器管理电路1043将所配置的逻辑区块610(O)610(L)提供给主机系统1000,并维护逻辑区块-实体区块映射表(logicalblock-physicalblockmappingtable)以记录逻辑区块610(0)610(L)与实体区块410(O)410(F-1)的映射关系。因此,当主机系统1000欲存取一逻辑存取位址时,存储器管理电路1043会将此逻辑存取位址转换为对应的逻辑区块的逻辑页面,再透过逻辑区块-实体区块映射表找到其所映射的实体页面来进行存取。在本范例实施例中,当存储器存储装置100被制造完成而进行第一次格式化(亦称为开卡)时,存储器控制器104中的存储器管理电路1043会对可复写式非易失性存储器模组106的所有实体区块进行写入测试、抹除测试,以及读取测试。针对所有通过写入测试与抹除测试的实体区块,倘若其经过读取测试而产生的错误位元数小于或等于错误位元数门槛值,则该些实体区块将被存储器管理电路1043识别为错误可修正实体区块(亦即,其中的错误位元可被错误检查与校正电路3002校正)。一般来说,存储器管理电路1043在开卡程序中会优先将错误可修正实体区块分组至数据区502与闲置区504。错误位元数门槛值的大小与可复写式非易失性存储器模组106的规格有关。举例而言,倘若错误位元数门槛值为48,表示错误检查与校正电路3002具有检查与校正48个错误位元的能力。亦即,一旦所读取的数据有超过48个错误位元,该笔数据便无法被错误检查与校正电路3002校正。然而必须了解的是,本发明并不对错误位元数门槛值的大小加以限制。除此之外,存储器管理电路1043会将有通过写入测试与抹除测试,但在经过读取测试所产生的错误位元数大于错误位元数门槛值的实体区块,以及未通过写入测试及/或抹除测试的实体区块都识别为错误不可修正实体区块。在本范例实施例中,存储器管理电路1043会将各错误可修正实体区块与其错误位元数的对应关系记录于一错误信息对应表。在另一范例实施例中,存储器管理电路1043可仅对可复写式非易失性存储器模组106的所有实体区块进行写入测试及读取测试来取得错误位元数,并据以建立错误信息对应表。在又一范例实施例中,存储器管理电路1043也可在存储器存储装置100的运行中藉由数据写入及读取来建立错误信息对应表。图5A是根据本发明的一范例实施例所显示的错误信息对应表的示意图。如图5A的错误信息对应表700所示,假设错误位元数门槛值为48,存储器管理电路1043将以O至48个错误位元为键值建立49个栏位,以分别记录所对应的错误位元数以及符合该栏位的键值的错误可修正实体区块的实体区块位址。此外,存储器管理电路1043会在错误信息对应表700建立一不可用实体区块栏位,以记录所有错误不可修正实体区块的实体区块位址。举例来说,参照错误信息对应表700可得知实体区块位址为PBA(k)以及PBA(I)的错误可修正实体区块具有I个错误位元、实体区块位址为PBA(a)以及PBA(b)的错误可修正实体区块具有48个错误位元,且实体区块位址为PBA(c)以及PBA(d)的实体区块则属于错误不可修正实体区块。图5B是根据本发明的另一范例实施例所显示的错误信息对应表的示意图。假设错误位元数门槛值为48,图5B的错误信息对应表800包括50个分表(例如,分表800-0、800-1,800-2,800-(N-1)、800_N)以分别记录所对应的错误位元数为O至48的错误可修正实体区块的实体区块位址以及错误不可修正实体区块的实体区块位址。在本范例实施例中,分表800-0是用以记录所有具有O个错误位元的错误可修正实体区块的实体区块位址(例如,实体区块位址PBA⑴、PBA⑴)、分表800-1是用以记录所有具有I个错误位元的错误可修正实体区块的实体区块位址(例如,实体区块位址PBA(k)、PBA(I)),而分表800-N则是用以记录所有错误不可修正实体区块的实体区块位址(例如,实体区块位址PBA(C)、PBA(d))。必须特别说明的是,图5A、5B仅是为了说明而举出的范例,本发明并不对存储器管理电路1043如何实作错误信息对应表加以限制。且标示在图5A、5B中的各实体区块位址也仅是为了方便说明,与其所对应的实体区块实际在可复写式非易失性存储器模组106是否相邻无关。存储器管理电路1043会将进行开卡程序后首次建立完成的错误信息对应表存储在可复写式非易失性存储器模组106中的某一错误可修正实体区块(例如,被区分为是统区506的错误可修正实体区块)。尔后,在主机系统100对存储器存储装置100进行存取时,存储器管理电路1043会由系统区506将错误信息对应表读回缓冲存储器3004,并利用错误信息对应表来依据各错误可修正实体区块的错误位元数去选择用以写入数据的实体区块。基本上,存储器管理电路1043会较常使用所对应的错误位元数较少的错误可修正实体区块。进一步来说,在存储器存储装置100被使用的期间,存储器管理电路1043会查询错误信息对应表来取得各错误可修正实体区块的错误位元数,并据以将所有错误可修正实体区块分为多个区块队列。其中各区块队列分别对应一区块使用率,且所对应的错误位元数越少的区块队列的区块使用率越高。在一范例实施例中,存储器管理电路1043是直接依据错误位元数的数值将所有错误可修正实体区块分为数个区块队列。例如,存储器管理电路1043将所对应的错误位元数为O的所有错误可修正实体区块分为同一个区块队列,并将所对应的错误位元数为I的所有错误可修正实体区块分为同一个区块队列,以此类推。在另一范例实施例中,存储器管理电路1043会依据错误检查与校正电路3002能校正的错误位元数的上限(即,错误位元数门槛值)定义数个错误位元数区间,并将所对应的错误位元数属于相同错误位元数区间的所有错误可修正实体区块分为同一区块队列。举例来说,假设错误位元数门槛值为48,本范例实施例的存储器管理电路1043会将对应的错误位元数为O的所有错误可修正实体区块分为第一区块队列、将对应的错误位元数介于I至20位元的错误可修正实体区块分为第二区块队列、将对应的错误位元数介于21至40位元的错误可修正实体区块分为第三区块队列,以及将对应的错误位元数介于41至48位元的错误可修正实体区块分为第四区块队列。然而必须说明的是,本发明并不对区块队列的数量以及划分规则加以限定。每当要将一数据写入可复写式非易失性存储器模组106时,存储器管理电路1043根据各区块队列的区块使用率选择一区块队列,并利用所选的区块队列中的错误可修正实体区块来写入数据。举例来说,假设存储器管理电路1043将所有的错误可修正实体区块分为4个区块队列(以下称第一、第二、第三,以及第四区块队列),且这4个区块队列分别对应的区块使用率为70%、15%、10%,以及5%。那么在100次写入数据的操作中,存储器管理电路1043会有70次从第一区块队列取得用以写入数据的错误可修正实体区块、有15次从第二区块队列取得用以写入数据的错误可修正实体区块、有10次从第三区块队列取得用以写入数据的错误可修正实体区块,并且有5次从第四区块队列取得用以写入数据的错误可修正实体区块。在另一范例实施例中,为了提供更佳的数据稳定性,对于所有的错误可修正实体区块,存储器管理电路1043仅会将所对应的错误位元数小于或等于特定预设值的错误可修正实体区块分为数个区块队列。举例来说,假设特定预设值为40且错误位元数门槛值为48,对于所对应的错误位元数大于40位元的所有错误可修正实体区块,即便其错误位元数并未超过错误检查与校正电路3002能校正的错误位元数上限,存储器管理电路1043仍不会将其分入任何区块队列。亦即,在有数据需要被写入可复写式非易失性存储器模组106时,存储器管理电路1043并不会使用所对应的错误位元数大于特定预设值的错误可修正实体区块来写入数据。如此一来可避免该些错误可修正实体区块因已有较高的错误位元数,而在此次写入数据时发生错误位元数激增且超过错误位元数门槛值的情况。必须特别说明的是,在使用可复写式非易失性存储器模组106的过程中,存储器管理电路1043会依据各错误可修正实体区块的错误位元数的变化来动态更新错误信息对应表。亦即,存储器管理电路1043将使错误信息对应表能反映每一错误可修正实体区块目前的错误位元数。而一旦有错误可修正实体区块的错误位元数变为大于错误位元数门槛值,存储器管理电路1043则重新将此错误可修正实体区块识别为错误不可修正实体区块,并将其记录在错误信息对应表(例如,记录在图5A所示的不可用实体区块栏位,或图5B所示的不可用实体区块分表800-N)。当需要抹除某个已使用的实体区块中的数据时,存储器管理电路1043也会根据错误信息对应表决定此实体区块在被抹除后是否要加入区块队列。具体来说,存储器管理电路1043会查找错误信息对应表以取得此实体区块的错误位元数,再根据区块队列的划分规则来判断具有此错误位元数的实体区块是否可被分入任何区块队列。举例来说,假设存储器管理电路1043定义有三个区块队列,其中第一区块队列包括错误位元数为O的错误可修正实体区块、第二区块队列包括错误位元数介于I至20位元的错误可修正实体区块,且第三区块队列包括错误位元数介于21至40位元的错误可修正实体区块。若在查找错误信息对应表取得即将执行抹除程序的实体区块的错误位元数为25个位元,那么在抹除其中的数据后,存储器管理电路1043会将该实体区块记录在第三区块队列中。而倘若在查找错误信息对应表取得此实体区块的错误位元数为45位元,那么在抹除其中的数据后该实体区块将不会被加入任何区块队列。图6是根据本发明的一范例实施例所显示的区块管理方法的流程图。请参阅图6,在存储器存储装置100被制造完成而进行开卡程序时,首先如步骤S610所示,存储器控制器104中的存储器管理电路1043对可复写式非易失性存储器模组106中的所有实体区块执行写入测试、抹除测试,以及读取测试。接着在步骤S620中,存储器管理电路1043从所有的实体区块中识别出错误可修正实体区块,并将错误可修正实体区块与所对应的错误位元数的对应关系记录于错误信息对应表。其中,错误可修正实体区块是指通过写入测试与抹除测试,且经过读取测试所产生的错误位元数小于或等于错误位元数门槛值的实体区块。接着如步骤S630所示,存储器管理电路1043依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。在本范例实施例中,所对应的错误位元数较低的实体区块会具有较高的使用率。并且如步骤S640所示,存储器管理电路1043依据错误可修正实体区块的错误位元数的变化来动态更新错误信息对应表。在使用可复写式非易失性存储器模组106的过程中,存储器管理电路1043会反复执行步骤S630及S640的动作来维护错误信息对应表,以确保错误信息对应表记录的是各错误可修正实体区块目前的错误位元数,而存储器管理电路1043是根据错误信息对应表所记录的错误可修正实体区块与错误位元数的对应关系来决定如何使用错误可修正实体区块。图7是根据本发明的另一范例实施例所显示的区块管理方法的流程图。在本范例实施例中,存储器管理电路1043可在存储器存储装置100出厂前藉由测试操作来维护错误信息对应表,亦可在存储器存储装置100运行中藉由数据写入及读取操作来建立错误信息对应表。详细地说,在存储器存储装置100被制造完成后,如步骤S710所示,在存储器存储装置100出厂前,存储器管理电路1043于开卡程序时对可复写式非易失性存储器模组106中的所有实体区块执行写入测试、抹除测试,以及读取测试,以从中识别出错误可修正实体区块,并据以维护错误信息对应表。亦即,存储器管理电路1043将错误可修正实体区块与所对应的错误位元数的对应关系记录在错误信息对应表。尔后如步骤S720所示,在存储器存储装置100出厂后,存储器管理电路1043对可复写式非易失性存储器模组106中的所有实体区块执行数据写入操作以及数据读取操作,进而在上述实体区块中识别出错误可修正实体区块,并据以维护错误信息对应表。具体来说,存储器管理电路1043会从实体区块中找出经过数据读取操作而产生的错误位元数小于或等于错误位元数门槛值的实体区块以识别为错误可修正实体区块,并将错误可修正实体区块与所对应的错误位元数的对应关系记录于错误信息对应表。接下来如步骤S730所示,存储器管理电路1043依据错误信息对应表中的错误可修正实体区块以及错误可修正实体区块所对应的错误位元数来选择用以写入数据的实体区块。并如步骤S740所示,存储器管理电路1043依据错误可修正实体区块的错误位元数的变化来动态更新错误信息对应表。综上所述,本发明所述的区块管理方法、存储器控制器与存储器存储装置会维护一错误信息对应表以记录每一错误可修正实体区块所对应的错误位元数,并根据各实体区块的错误位元数来选择要利用哪个实体区块来写入数据。以上述方式对实体区块进行管理不仅能平均可复写式非易失性存储器模组中的各实体区块的使用寿命,还能增加存储器存储装置中的数据稳定性。虽然本发明已以实施例揭示如上,但其并非用以限定本发明,任何所属
技术领域
的技术人员,在不脱离本发明的精神和范围内,当可作适当的改动和同等替换,故本发明的保护范围应当以本申请权利要求所界定的范围为准。权利要求1.一种区块管理方法,用以管理一可复写式非易失性存储器模组中的多个实体区块,其特征在于,该方法包括:维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数;以及依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数来选择用以写入数据的实体区块。2.根据权利要求1所述的区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:对该些实体区块执行一写入测试、一抹除测试,以及一读取测试;在该些实体区块中识别出该至少一错误可修正实体区块,其中该至少一错误可修正实体区块是通过该写入测试与该抹除测试,且经过该读取测试所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块;以及将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表。3.根据权利要求2所述的区块管理方法,其中在对该些实体区块执行该写入测试、该抹除测试,以及该读取测试的步骤之后,该方法还包括:在该些实体区块中识别出至少一错误不可修正实体区块,其中该至少一错误不可修正实体区块是未通过该写入测试及/或该抹除测试的实体区块,或是通过该写入测试与该抹除测试但对应的该错误位元数大于该错误位元数门槛值的实体区块;以及将该至少一错误不可修正实体区块记录在该错误信息对应表。4.根据权利要求1所述的区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:对该些实体区块执行一数据写入操作以及一数据读取操作;在该些实体区块中识别出该至少一错误可修正实体区块,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块;以及将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表。5.根据权利要求1所述的区块管理方法,其中维护该错误信息对应表以记录该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数的步骤包括:在使用该可复写式非易失性存储器模组的过程中,依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态更新该错误信息对应表。6.根据权利要求1所述的区块管理方法,其中依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数选择用以写入数据的实体区块的步骤包括:查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率;以及当要将一数据写入该可复写式非易失性存储器模组时,根据该至少一区块队列的该区块使用率选择实体区块来写入该数据。7.根据权利要求6所述的区块管理方法,其中查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为该至少一区块队列的步骤还包括:在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修正实体区块分为该至少一区块队列。8.根据权利要求6所述的区块管理方法,还包括:根据该错误信息对应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。9.根据权利要求1所述的区块管理方法,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门滥值。10.一种存储器控制器,用于管理一存储器存储装置中的一可复写式非易失性存储器模组,其特征在于,该存储器控制器包括:一王机系统介面,用以I禹接一王机系统;一存储器介面,用以耦接该可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组包括多个实体区块;以及一存储器管理电路,耦接至该主机系统介面与该存储器介面,该存储器管理电路用以维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数,并且依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数来选择用以写入数据的实体区块。11.根据权利要求10所述的存储器控制器,其中该存储器管理电路对该些实体区块执行一数据写入操作以及一数据读取操作,并在该些实体区块中识别出该至少一错误可修正实体区块,且将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块。12.根据权利要求10所述的存储器控制器,其中在使用该可复写式非易失性存储器模组的过程中,该存储器管理电路依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态还新该错误信息对应表。13.根据权利要求10所述的存储器控制器,其中该存储器管理电路查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率,当要将一数据写入该可复写式非易失性存储器模组时,该存储器管理电路根据该至少一区块队列的该区块使用率选择实体区块来写入该数据。14.根据权利要求13所述的存储器控制器,其中该存储器管理电路还用以在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修正实体区块分为该至少一区块队列。15.根据权利要求13所述的存储器控制器,其中该存储器管理电路根据该错误信息对应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。16.根据权利要求10所述的存储器控制器,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门槛值。17.一种存储器存储装置,其特征在于,包括:一可复写式非易失性存储器模组,包括多个实体区块;一连接器,用以耦接一主机系统;以及一存储器控制器,耦接至该可复写式非易失性存储器模组与该连接器,该存储器控制器用以维护一错误信息对应表以记录该些实体区块中至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的一错误位元数,并且依据该错误信息对应表中的该至少一错误可修正实体区块以及该至少一错误可修正实体区块所对应的该错误位元数来选择用以写入数据的实体区块。18.根据权利要求17所述的存储器存储装置,其中该存储器控制器对该些实体区块执行一数据写入操作以及一数据读取操作,并在该些实体区块中识别出该至少一错误可修正实体区块,且将该至少一错误可修正实体区块与所对应的该错误位元数的对应关系记录于该错误信息对应表,其中该至少一错误可修正实体区块是该些实体区块经过该数据读取操作所产生的该错误位元数小于或等于一错误位元数门槛值的实体区块。19.根据权利要求17所述的存储器存储装置,其中在使用该可复写式非易失性存储器模组的过程中,该存储器控制器依据该至少一错误可修正实体区块所对应的该错误位元数的变化来动态更新该错误信息对应表。20.根据权利要求17所述的存储器存储装置,其中该存储器控制器查询该错误信息对应表来取得该至少一错误可修正实体区块的该错误位元数,并据以将该至少一错误可修正实体区块分为至少一区块队列,其中该至少一区块队列分别对应一区块使用率,当要将一数据写入该可复写式非易失性存储器模组时,该存储器控制器根据该至少一区块队列的该区块使用率选择实体区块来写入该数据。21.根据权利要求20所述的存储器存储装置,其中该存储器控制器还用以在该至少一错误可修正实体区块中,仅将所对应的该错误位元数小于或等于一特定预设值的错误可修正实体区块分为该至少一区块队列。22.根据权利要求20所述的存储器存储装置,其中该存储器控制器根据该错误信息对应表决定一已使用的实体区块在被抹除后是否要加入该至少一区块队列。23.根据权利要求17所述的存储器存储装置,其中该至少一错误可修正实体区块所对应的该错误位元数是小于或等于一错误位元数门滥值。全文摘要一种区块管理方法、存储器控制器与存储器存储装置。此方法用以管理存储器存储装置中可复写式非易失性存储器模组的多个实体区块。此方法包括维护错误信息对应表以记录上述实体区块中错误可修正实体区块与错误可修正实体区块所对应的错误位元数。此方法还包括依据错误信息对应表中的错误可修正实体区块及其所对应的错误位元数来选择用以写入数据的实体区块。据此可以提升存储器存储装置的数据稳定性。文档编号G06F3/06GK103106148SQ201110354608公开日2013年5月15日申请日期2011年11月10日优先权日2011年11月10日发明者朱健华申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1