存储器管理方法、存储器控制器与存储器储存装置制造方法
【专利摘要】一种存储器管理方法,用于具有多个物理单元集合的可复写式非易失性存储器模块且每个物理单元集合至少包括第一物理单元。此方法包括:将物理单元集合分组为第一区与第二区,设定第一区的物理单元集合属于表示所有的物理单元都可被编程的第一编程模式,设定第二区的物理单元集合属于表示仅第一物理单元可被编程的第二编程模式。此方法还包括:当第一区或第二区有物理单元集合损坏时,将一个物理单元集合从第一编程模式转变为第二编程模式,且无法再被设定为第一编程模式。藉此,可增加可复写式非易失性存储器的使用寿命。
【专利说明】存储器管理方法、存储器控制器与存储器储存装置
【技术领域】
[0001]本发明是有关于ー种存储器管理方法,且特别是有关于ー种用于可复写式非易失性存储器模块的存储器管理方法、存储器控制器与存储器储存装置。
【背景技术】
[0002]数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速増加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
[0003]依据每个存储单元可储存的位数,与非(NAND)型闪存可区分为单阶储存单元(Single Level Cell, SLC)NAND 型闪存、多阶储存单元(Multi Level Cell, MLC)NAND 型闪存与多阶储存单元(Trinary Level Cell, TLC)NAND型闪存,其中SLC NAND型闪存的每个存储单元可储存I个位的数据(即,“I”与“0”),MLC NAND型闪存的每个存储单元可储存2个位的数据并且TLC NAND型闪存的每个存储单元可储存3个位的数据。
[0004]以TLC NAND型闪存来说,每个物理区块会包括多个物理页面组,每个物理页面组会包括下物理页面,中物理页面以及上物理页面。一般来说,闪存中的物理区块会被分为多个使用区域,取代区中也会包括多个物理区块。当使用区域的物理区块损坏时,取代区的物理区块可以被用来替换损坏的物理区块。然而,当其中取代区中已没有物理区块时,即代表闪存的使用寿命已经结束。因此,如何有效地管理物理区块,使得闪存的寿命可以延长,为本领域技术人员所关心的议题。
【发明内容】
[0005]本发明ー范例实施例提出一种存储器管理方法、存储器控制器与存储器储存装置,可以延长可复写式非易失性存储器模块的使用寿命。
[0006]本发明ー范例实施例提出一种存储器管理方法,用于控制一可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括多个物理単元集合,每ー个物理単元集合包括多个物理単元组,每ー个物理单元组包括多个物理単元,每ー个物理单元组的物理单元至少包括ー个第一物理単元。此存储器管理方法包括:将物理単元集合至少分割为第一区与第二区,设定第一区的物理単元集合属于第一编程模式,设定第二区的物理単元集合属于第二编程模式。其中第一编程模式表示所有的物理単元可被编程,第二编程模式表示仅第一物理単元可被编程。本方法还包括:当第二区的第一物理単元集合符合第二损坏条件时,使用第一区的第二物理単元集合来替换第一物理単元集合,设定第二物理単元集合属于第二编程模式并且第二物理単元集合无法再被设定为第一编程模式。
[0007]在一范例实施中,上述的第二损坏条件包括:第一物理单元集合的抹除次数达到第二临界值、第一物理単元集合发生编程错误或第一物理単元集合发生错误的位个数超过错误检查与校正码所能更正的上限。[0008]在一范例实施中,上述当第二区的第一物理单元集合符合第二损坏条件时,使用第一区的第二物理单元集合来替换第一物理单元集合的步骤包括:从第一区的物理单元集合中,取得符合第一损坏条件的第二物理单元集合来替换第一物理单元集合。第一损坏条件包括:第二物理单元集合的抹除次数达到第一临界值、第二物理单元集合发生一编程错误或第二物理单元集合发生错误的位个数超过错误检查与校正码所能更正的上限。
[0009]在一范例实施中,上述当第二区的第一物理单元集合符合第二损坏条件时,使用第一区的第二物理单元集合来替换第一物理单元集合的步骤包括:从第一区的物理单元集合中,取得抹除次数介于O至第一临界值的第二物理单元集合来替换第一物理单元集合。
[0010]在一范例实施中,上述的存储器管理方法还包括:当第一区的第三物理单元集合符合第一损坏条件时,将第三物理单元集合划分为第二区;以及设定第三物理单元集合属于第二编程模式并且第三物理单元集合无法再被设定为第一编程模式。第一损坏条件包括:第三物理单元集合的抹除次数达到第一临界值、第三物理单元集合发生编程错误或第三物理单元集合发生错误的位个数超过错误检查与校正码所能更正的上限。
[0011]在一范例实施中,上述的存储器管理方法还包括:当第一区的第三物理单元集合符合第一损坏条件时,取得第一区中多个符合第一损坏条件的第四物理单元集合;设定这些第四物理单元集合属于第二编程模式;以及使用第四物理单元集合来替换第三物理单元集合。第一损坏条件包括:第四物理单元集合的抹除次数达到第一临界值、第四物理单元集合发生一编程错误或第四物理单元集合发生错误的位个数超过一错误检查与校正码所能更正的上限。
[0012]在一范例实施中,上述当第一区的第三物理单元集合符合第一损坏条件时,取得第一区中属于第一损坏条件的第四物理单元集合的步骤包括;判断第一区中是否有物理单元集合可在第一编程模式下储存数据,若否,取得第四物理单元集合来替换第三物理单元
隹A
口 O
[0013]以另外一个角度来说,本发明一范例实施例提出一种存储器储存装置,包括连接器、可复写式非易失性存储器模块与存储器控制器。其中连接器是用以电性连接至主机系统。可复写式非易失性存储器模块包括多个物理单元集合,每一个物理单元集合包括多个物理单元组。而每一个物理单元组又包括多个物理单元,每一个物理单元组的物理单元至少包括第一物理单元。存储器控制器是电性连接至连接器与可复写式非易失性存储器模块。存储器控制器会将物理单元集合至少分割为第一区与第二区。并且,存储器控制器会设定第一区的物理单元集合属于第一编程模式,并且设定第二区的物理单元集合属于第二编程模式。其中第一编程模式表示所有的物理单元可被编程,第二编程模式表示仅第一物理单元可被编程。当第二区的第一物理单元集合符合第二损坏条件时,存储器控制器用以使用第一区的第二物理单元集合来替换第一物理单元集合,并且设定第二物理单元集合属于第二编程模式且第二物理单元集合无法再被划分为第一编程模式。
[0014]在一范例实施中,上述的第二损坏条件包括:第一物理单元集合的抹除次数达到第二临界值、第一物理单元集合发生编程错误或第一物理单元集合发生错误的位个数超过错误检查与校正码所能更正的上限。
[0015]在一范例实施中,上述的存储器控制器还用以从第一区的物理单元集合中,取得符合第一损坏条件的第二物理单元集合来替换第一物理单元集合。第一损坏条件包括:第ニ物理単元集合的抹除次数达到第一临界值、第二物理単元集合发生编程错误或第二物理単元集合发生错误的位个数超过错误检查与校正码所能更正的上限。
[0016]在一范例实施中,上述的存储器控制器还用以从第一区的物理単元集合中,取得抹除次数介于0至第一临界值的第二物理単元集合来替换第一物理単元集合。
[0017]在一范例实施中,当第一区的第三物理単元集合符合第一损坏条件时,存储器控制器还用以将第三物理単元集合划分为第二区,并设定第三物理単元集合属于第二编程模式且无法再被设定为第一编程模式。第一损坏条件包括:第三物理単元集合的抹除次数达到第一临界值、第三物理単元集合发生ー编程错误或第三物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
[0018]在一范例实施中,上述的存储器控制器还用以在第一区的第三物理単元集合损坏时,取得第一区中多个符合第一损坏条件的第四物理単元集合,设定第四物理単元集合属于第二编程模式,并且使用第四物理単元集合来替换第三物理単元集合。第一损坏条件包括:第四物理単元集合的抹除次数达到第一临界值、第四物理単元集合发生编程错误或第四物理単元集合发生错误的位个数超过错误检查与校正码所能更正的上限。
[0019]在一范例实施中,上述的存储器控制器还用以判断第一区中是否有物理単元集合可在第一编程模式下储存数据,若否,取得第四物理単元集合来替换第三物理単元集合。
[0020]以另外ー个角度来说,本发明ー范例实施例提出一种存储器控制器,包括主机接ロ、存储器接ロ与存储器管理电路。主机接ロ是用以电性连接至主机系统。存储器接ロ是用以电性连接至上述的可复写式非易失性存储器模块。存储器管理电路是电性连接至主机接ロ与存储器接ロ。存储器管理电路会将物理単元集合至少分割为第一区与第二区。并且,存储器管理电路用以设定第一区的物理単元集合属于第一编程模式,设定第二区的物理单元集合属于第二编程模式。其中,第一编程模式表示所有的物理単元可被编程,第二编程模式表示仅第一物理単元可被编程。当第二区的第一物理単元集合符合第二损坏条件吋,存储器管理电路会使用第一区的第二物理単元集合来替换第一物理単元集合,并且设定第二物理単元集合为第二编程模式并且第二物理単元集合无法再被划分为第一编程模式。
[0021]在一范例实施中,上述的第二损坏条件包括:第一物理单元集合的抹除次数达到第二临界值、第一物理単元集合发生编程错误或第一物理単元集合发生错误的位个数超过错误检查与校正码所能更正的上限。
[0022]在一范例实施中,上述的存储器管理电路还用以从第一区的物理単元集合中,取得符合第一损坏条件的第二物理単元集合来替换第一物理単元集合。第一损坏条件包括:第二物理単元集合的抹除次数达到第一临界值、第二物理単元集合发生ー编程错误或第二物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
[0023]在一范例实施中,上述的存储器管理电路还用以从第一区的物理単元集合中,取得抹除次数介于0至第一临界值的第二物理単元集合来替换第一物理単元集合。
[0024]在一范例实施中,当第一区的第三物理単元集合符合第一损坏条件时,存储器管理电路还用以将第三物理単元集合划分为第二区,设定第三物理単元集合属于第二编程模式并且第三物理単元集合不会再被设定为第一编程模式。第一损坏条件包括:第三物理单元集合的抹除次数达到第一临界值、第三物理単元集合发生编程错误或第三物理単元集合发生错误的位个数超过错误检查与校正码所能更正的上限。[0025]在一范例实施中,上述的存储器管理电路还用以在第一区的第三物理单元集合损坏时,取得第一区中多个符合第一损坏条件的第四物理单元集合,设定这些第四物理单元集合属于第二编程模式,并且使用第四物理单元集合来替换第三物理单元集合。第一损坏条件包括:第四物理单元集合的抹除次数达到第一临界值、第四物理单元集合发生编程错误或第四物理单元集合发生错误的位个数超过错误检查与校正码所能更正的上限。
[0026]在一范例实施中,上述的存储器管理电路还用以判断第一区中是否有物理单元集合可在第一编程模式下储存数据,若否,取得第四物理单元集合来替换第三物理单元集合。
[0027]以另外一个角度来说,本发明一范例实施例提出一种存储器管理方法,用于控制上述的可复写式非易失性存储器模块。此存储器管理方法包括:将物理单元集合至少分割为第一区与第二区,设定第一区的物理单元集合属于第一编程模式,设定第二区的物理单元集合属于第二编程模式,其中第一编程模式表示物理单元可被编程,第二编程模式表示仅第一物理单元可被编程。此方法还包括:当第一区的至少一个第一物理单元集合符合第一损坏条件时,将第一物理单元集合划分至第二区,设定第一物理单元集合属于第二编程模式,并且第一物理单元集合无法再被设定为第一编程模式。
[0028]在一范例实施中,上述的第一损坏条件包括:第一物理单元集合的抹除次数达到第一临界值、第一物理单元集合发生编程错误或第一物理单元集合发生错误的位个数超过一错误检查与校正码所能更正的上限。
[0029]在一范例实施中,上述的存储器管理方法还包括:将第一区划分为一个数据区与一个第三区,配置多个逻辑单元集合映射至数据区的物理单元集合;当至少第一物理单元集合符合第一损坏条件时,判断第三区是否存有物理单元集合可在第一编程模式下储存数据,若否,从第二区中取得多个第二物理单元集合;以及将第二物理单元集合划分为第三区。
[0030]基于上述,本发明范例实施例提出一种存储器管理方法、存储器控制器与存储器储存装置,可以增加可复写式非易失性存储器的使用寿命。
[0031]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
【专利附图】
【附图说明】
[0032]图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
[0033]图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
[0034]图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
[0035]图2是绘示图1A所示的存储器储存装置的概要方块图。
[0036]图3A与图3B是根据一范例实施例所绘示的存储单元储存架构与物理区块的范例示意图。
[0037]图3C是根据一范例实施例说明物理页面的写入顺序的范例示意图。
[0038]图4是根据一范例实施例所绘示的存储器控制器的概要方块图。
[0039]图5是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。[0040]图6是根据另ー范例实施例说明将数据写入至第二区的物理区块的范例示意图。
[0041]图7是根据一范例实施例说明用第三区的物理区块替换第一区的物理区块的范例示意图。
[0042]图8是根据一范例实施例说明存储器管理方法的流程图。
[0043]图9是根据一范例实施例说明以物理页面为単元时将物理区块划分为第一区与第二区的范例示意图。
[0044]图10是根据一范例实施例说明以物理页面为单位时,将数据写入的范例示意图。
[0045]图11是根据一范例实施例说明将ー个物理区块的有效数据复制到三个设定为第ニ编程模式的物理区块的范例示意图。
[0046]图12是根据一范例实施例所绘示的存储器管理方法的流程图。
[0047][主要元件标号说明]
[0048] 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:可复写式非易失性存储器模块
304(0) ~ 304(R):物理区块322:字线字段
324:下物理页面字段326:中物理页面字段
328:上物理页面字段202:存储器管理电路
204:主机接口206:存储器接口
252:缓冲存储器254:电源管理电路
256:错误检查与校正电路520:第三区
540:数据区560' 940;第二区
580、920:第一区LBA(A+1) ~ LBA(B):逻辑区块地址
S802、S804、S1202、S1204:存储器管理方法的步骤
702(0)?702(F):逻辑页面地址902、904、906:物理页面
【具体实施方式】
[0049][第一范例实施例]
[0050]在本说明书中,所指的物理单元亦被称为物理页面,物理单元集合亦被称为物理区块,物理单元组亦被称为物理页面组。其中,物理单元集合是被抹除的最小单位。并且,被一个逻辑单元群映射的多个物理单元集合可以被称为一个物理单元群。此外,上物理单元亦被称为上物理页面,中物理单元亦被称为中物理页面,而下物理单元亦被称为下物理页面。然而,在其它范例实施例中,物理单元可以为其它具有可复写与非易失特性的一或多个电子元件,例如实体扇,本发明并不在此限。另外,逻辑区块亦被称为逻辑单元集合,逻辑页面组亦被称为逻辑单元组,逻辑页面亦被称为逻辑单元。而多个逻辑单元集合亦可称为一个逻辑单元群。[0051]一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
[0052]图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
[0053]请參照图1A,主机系统1000 —般包括计算机1100与输入/输出(input/output, I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random accessmemory, RAM) 1104、系统总线1108与数据传输接ロ 1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。
[0054]在本发明实施例中,存储器储存装置100是通过数据传输接ロ 1110与主机系统1000的其它元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(SolidState Drive, SSD) 1216等的可复写式非易失性存储器储存装置。
[0055]一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来做说明,然而,在本发明另ー范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick) 1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC, eMMC)。值得ー提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
[0056]图2是绘示图1A所示的存储器储存装置的概要方块图。
[0057]请參照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
[0058]在本范例实施例中,连接器102是兼容于安全数字(Secure Digital,SD)接ロ标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel Advanced Technology Attachment, PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers, IEEE) 1394 标准、高速外围零件连接接 ロ(Peripheral Component Interconnect Express, PCI Express)标准、通用序列总线(Universal Serial Bus, USB)标准、序列先进附件(Serial Advanced TechnologyAttachment, SATA)标准、存储棒(Memory Stick, MS)接ロ标准、多媒体储存卡(MultiMedia Card, MMC)接ロ标准、小型快闪(Compact Flash, CF)接ロ标准、集成式驱动电子接ロ(Integrated Device Electronics, IDE)标准或其它适合的标准。
[0059]存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
[0060]可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理区块304(0)?304(R)。例如,物理区块304(0)?304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。在本范例实施例中,每一物理区块分别具有多个物理页面组并且每一物理页面组包括由位于同一条字线的存储单元所构成的至少一个物理页面,其中属于同一个物理区块的物理页面必须被同时地抹除。更详细来说,物理区块为抹除的最小单位。亦即,每一物理区块含有最小数目的一并被抹除的存储单元。
[0061]图3A与图3B是根据第一范例实施例所绘示的存储单元储存架构与物理区块的范例示意图。
[0062]请参照图3A,可复写式非易失性存储器模块106的每个存储单元的储存状态可被识别为“ 111 ”、“ 110 ”、“ 101 ”、“ 100 ”、“011 ”、“010”、“001 ” 或“000 ”(如图 3A 所示),其中左侧算起的第I个位为LSB (Least significant bit)、从左侧算起的第2个位为CSB (centersignificant bit)以及从左侧算起的第3个位为MSB (most significant bit)。此外,排列在同一条字线上的数个存储单元可组成3个物理页面,其中由此些存储单元的LSB所组成的物理页面称为下物理页面,由此些存储单元的CSB所组成的物理页面称为中物理页面,并且由此些存储单元的MSB所组成的物理页面称为上物理页面。
[0063]请参照图3B,一个物理区块是由多个物理页面组所组成,其中每个物理页面组包括由排列在同一条字线上的数个存储单元所组成的下物理页面、中物理页面与上物理页面。例如,图3B中的数字表示物理页面的排列顺序,在物理区块中,属于下物理页面的第O个物理页面、属于中物理页面的第I个物理页面和属于上物理页面的第2个物理页面会被视为一个物理页面组。类似地,第3、4、5个物理页面会被视为一个物理页面组,并且以此类推其它物理页面亦是依据此方式被区分为多个物理页面组。物理页面为编程的最小单元。即,物理页面为写入数据的最小单元。特别的是,对排列在同一条字线上的数个存储单元进行编程时,仅能在编程下物理页面以后或者是在编程下物理页面、中物理页面与上物理页面之后才能进行读取,否则所储存的数据可能会遗失。例如,当第O个物理页面与第I个物理页面被编程以后,必须要先编程第2个物理页面以后才能读取第O?2个物理页面。
[0064]图3C是根据一范例实施例说明物理页面的写入顺序的范例示意图。
[0065]请参照图3C,一个物理区块也可以由锯齿状的顺序来编程物理页面。字线字段322中每一个数字代表每一个字线的编号。而下物理页面字段324、中物理页面字段326与上物理页面字段328中的每一个数字为物理页面的写入顺序。例如,当要把数据编程至物理区块时,存储器控制器104会先编程至第O个字线的下物理页面。接着,存储器控制器104会编程第I个字线的下物理页面以及编程第O个字线的中物理页面。接着,存储器控制器104会编程第2个字线的下物理页面、第I个字线的中物理页面以及第O个字线的上物理页面,以此类推。藉此,不同字线的物理页面可以同时地被编程。然而,在其它范例实施例中,存储器控制器104也可以用不同的顺序来编程一个物理区块,本发明并不在此限。
[0066]除此之外,当一个物理区块满足多个损坏条件的其中之一时,此物理区块便会被称为损坏的物理区块。例如,物理区块的抹除次数会有一上限,若物理区块的抹除次数到达此上限则会满足损坏条件。在此假设若选择编程下物理页面、中物理页面与上物理页面时,则物理区块的抹除次数的上限为第一临界值。若仅选择编程下物理页面,则物理区块的抹除次数的上限为第二临界值。特别的是,第一临界值会小于第二临界值。例如,第一临界值为3000,而第二临界值为20000。下物理页面的写入速度会快于中物理页面与上物理页面的写入速度。也就是说,当把ー笔数据编程至ー个物理区块时,把数据写入至下物理页面所需的时间会比把数据写入至中物理页面或上物理页面所需的时间较短。此外,若把数据写入物理区块时发生了编程错误,则发生编程错误的物理区块也会满足损坏条件。或者,若从物理区块读取数据时发生错误的位个数超过错误检查与校正码(error detection andcorrection code)所能更正的上限,则此物理区块也满足损坏条件。综上所述,当ー个物理区块满足上述的损坏条件的其中之ー时,此物理区块便会被称为损坏的物理区块。然而,本发明并不限制损坏的条件。
[0067]另ー方面,在物理区块304(0)?304(R)中写入数据时必须依据物理页面的排列顺序写入数据。此外,已被写入数据的物理页面必需先被抹除后才能再次用于写入数据。因此,一般来说,物理区块为管理可复写式非易失性存储器模块106的最小単位。例如,倘若ー个物理区块中仅部分页面的数据被更新时,此物理区块中的有效数据必须被搬移至另ー个空的物理区块,此物理区块才能被执行抹除操作。在此,搬移有效数据的操作称为数据合并运作。然而,在另ー范例实施例中,也可以用物理页面当作管理可复写式非易失性存储器模块106的最小単位,本发明并不在此限。
[0068]每ー个物理页面通常包括数据位区与冗余位区。数据位区用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误检查与校正码)。在本范例实施例中,每ー物理区块是由258个物理页面所组成,并且每一物理页面的容量为8千字节(Kilobyte, KB)。然而,必须了解的是,本发明不限于此。
[0069]在本范例实施例中,可复写式非易失性存储器模块106为ー多阶储存单元(Trinary Level Cell, TLC)NAND型闪存模块,亦即姆一个物理页面组包括了下物理页面、中物理页面以及上物理页面。然而,必须了解的是,可复写式非易失性存储器模块106并非限于TLC NAND型闪存模块。在本发明另一范例实施例中,可复写式非易失性存储器模块106亦可是四阶以上,或其它具有相同特性的存储器模块。
[0070]图4是根据一范例实施例所绘示的存储器控制器的概要方块图。
[0071]请參照图4,存储器控制器104包括存储器管理电路202、主机接ロ 204与存储器接 ロ 206。
[0072]存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
[0073]在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器単元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
[0074]在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器単元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能吋,微处理器単元会先执行此驱动码段来将储存于可复写式非易失性存储器模块106中的控制指令加载至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
[0075]此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的物理区块;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
[0076]主机接口 204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口 204来传送至存储器管理电路202。在本范例实施例中,主机接口 204是兼容于SD标准。然而,必须了解的是本发明不限于此,主机接口 204亦可以是兼容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SATA标准、MS标准、MMC标准、CF标准、IDE标准或其它适合的数据传输标准。
[0077]存储器接口 206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口 206转换为可复写式非易失性存储器模块106所能接受的格式。
[0078]在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
[0079]缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
[0080]电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
[0081]错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code, ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
[0082]一般来说,存储器管理电路202会将物理区块304 (O)?304 (R)划分为系统区、数据区、取代区以及闲置区。
[0083]数据区与闲置区的物理区块是用以储存来自于主机系统1000的数据。数据区是已储存数据的物理区块,而闲置区的物理区块是用以替换数据区的物理区块。因此,闲置区的物理区块为空或可使用的物理区块,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区中的物理区块已被执行抹除运作,或者当闲置区中的物理区块被提取用于储存数据之前所提取的物理区块会先被执行抹除运作。
[0084]逻辑上属于系统区的物理区块是用以记录系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的物理区块数、每一物理区块的物理页面数等。
[0085]逻辑上属于取代区中的物理区块是替代物理区块。例如,可复写式非易失性存储器模块于出厂时会预留4%的物理区块作为更换使用。也就是说,当数据区、闲置区与系统区中的物理区块损毁时,预留于取代区中的物理区块是用以取代损坏的物理区块(即,坏物理区块(bad block))。
[0086]然而,在本范例实施例中,存储器管理电路202会将传统的取代区与闲置区合并成一个区域(亦称第三区)来使用。也就是说,当有物理区块损坏时,会从第三区来提取物理区块来替换。当有数据要暂存时,也会从第三区中提取物理区块来使用。
[0087]图5是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。
[0088]请参照图5,存储器管理电路202会将物理区块304 (O)?304 (R)至少划分为第一区580与第二区560。特别的是,存储器管理电路202会设定第一区580的物理区块属于第一编程模式,并设定第二区560的物理区块属于第二编程模式。其中,第一编程模式表不所有的下物理页面、中物理页面与上物理页面都可被编程。第二编程模式表示只有下物理页面(亦称为第一物理页面)可被编程。换言之,存储器管理电路202会使用第一区580中每个物理区块的下物理页面、中物理页面与上物理页面来储存数据。而在第二区560中,存储器管理电路202仅使用每个物理区块的下物理页面来储存数据。第一区580的物理区块是用以提供大量的储存空间,但相对地抹除次数的上限(即,第一临界值)较小。而第二区560的物理区块的储存空间相对的较小,但其抹除次数的上限(即,第二临界值)较大。
[0089]当第一区580的一个物理区块符合一个第一损坏条件时,此物理区块会被称为损坏的物理区块。例如,第一损坏条件包括:抹除次数达到第一临界值、发生编程错误、或是物理区块中发生错误的位个数超过错误检查与校正码所能更正的上限。当第二区580的一个物理区块符合一个第二损坏条件时,此物理区块会被称为损坏的物理区块。例如,第二损坏条件包括:抹除次数达到第二临界值、发生编程错误、或是物理区块中发生错误的位个数超过错误检查与校正码所能更正的上限。
[0090]例如,存储器管理电路202会将第一区580再划分为第三区520与数据区540。第三区520包括了物理区块304(0)?304(A),数据区540包括了物理区块304(A+1)?304 (B),而第二区包括了物理区块304 (B+1)?304 (P)。然而,在其它范例实施例中,存储器管理电路202也可以将物理区块304(0)?304(R)再划分出一个系统区,本发明并不限制所划分出的区域的个数。
[0091]在本范例实施例中,存储器管理电路202会分配逻辑区块地址LBA (A+1)?LBA⑶以映射至数据区540的物理区块304 (A+1)?304 (B)。并且,存储器管理电路202会建立一个逻辑区块地址-物理区块映射表,以记录逻辑区块地址LBA(A+1)?LBA(B)与物理区块304(A+1)?304(B)之间的映射关系。存储器管理电路202还会将逻辑区块地址LBA(A+1)?LBA(B)提供给主机系统1000。如此一来,主机系统1000便可以存取逻辑区块地址 LBA (A+1)?LBA (B)。
[0092]第三区520的物理区块可用以替换数据区540或是第二区560中损坏的物理区块。在本范例实施例中,若第三区520中已没有可用的物理区块时,则存储器管理电路202会将整个存储器储存装置100宣告为写入保护(write protect)状态,而无法再写入数据。
[0093]图6是根据另ー范例实施例说明将数据写入至第二区的物理区块的范例示意图。
[0094]请參照图6,当ー个物理区块被设定从第一编程模式转换至第二编程模式时,存储器管理电路202会下达ー个指令给可复写式非易失性存储器模块106,使得被设定为第二编程模式的物理区块仅会提供下物理页面来写入数据。也就是说,存储器管理电路202只能取得此物理区块的下物理页面的物理地址。例如,在将物理区块304(B+1)?304(B+3)转换为第二编程模式以后,物理区块304(B+1)?304(B+3)仅能提供下物理页面的物理地址0-85给存储器管理电路202。当从主机系统1000接收到写入指令以后,存储器管理电路202可先把数据写入至物理区块304(B+1)?304(B+3)的下物理页面。接下来,存储器管理电路202会把数据从物理区块304 (B+1)?304 (B+3)的下物理页面复制到物理区块304 (A+1)。
[0095]当第一区580的ー个物理区块满足第一损坏条件时,存储器管理电路202会设定此物理区块属于第二编程模式并划分为第二区560。并且,存储器管理电路202会设定此物理区块无法被再转变为第一编程模式。
[0096]图7是根据一范例实施例说明用第三区的物理区块替换数据区的物理区块的范例示意图。
[0097]请參照图7,当数据区540的物理区块304(A+1)(亦称第一物理区块)满足第一损坏条件时,表示物理区块304(A+1)无法再用下物理页面、中物理页面与上物理页面来写入数据。存储器管理电路202会判断物理区块304(A+1)为损坏的物理区块,并且使用第三区520的物理区块来替换物理区块304 (A+1)。例如,存储器管理电路202会取得第三区520的物理区块304 (0)来替换物理区块304 (A+1)。在此假设物理区块304 (A+1)原本是映射至逻辑区块地址LBA(A+1),因此当存储器管理电路202用物理区块304(0)来替换物理区块304(A+1)时,会将逻辑区块地址LBA(A+1)重新映射至物理区块304(0)。并且,存储器管理电路202会把物理区块304(A+1)中的有效数据复制到物理区块304(0)。此外,存储器管理电路202会把物理区块304 (A+1)划分为第二区560,并设定物理区块304 (A+1)从第一编程模式转变为第二编程模式。特别的是,物理区块304(A+1)被转变为第二编程模式以后便无法再被转变回第一编程模式。由于当仅使用下物理页面来写入数据时,ー个物理区块的抹除次数的上限会増加(从第一临界值变为第二临界值)。因此,物理区块304(A+1)被设定为第二编程模式以后还可以继续被使用。
[0098]在一范例实施例中,存储器管理电路202也可以先收集第一区580中三个损坏的物理区块,并将这三个物理区块同时划分为第二区560。然而,存储器管理电路202也可以同时划分数目更多或更少的物理区块至第二区560,本发明并不在此限。
[0099]然而,当第三区520已没有可用的物理区块时,存储器管理电路202也会从第二区560中取得三个属于第二编程模式的物理区块并划分至第三区520。这三个物理区块可以用以取代第三区520的ー个物理区块。具体来说,存储器管理电路202会将这三个物理区块的下物理页面当做ー个物理区块的下物理页面、中物理页面以及上物理页面来使用。换言之,当第三区520已没有可以使用的物理区块时,存储器管理电路202会提取第二区560的物理区块来避免将整个存储器储存装置100宣告为写入保护,进而延长其使用寿命。[0100] 图8是根据一范例实施例说明存储器管理方法的流程图。
[0101 ] 请参照图8,在步骤S802中,存储器管理电路202会将物理区块至少划分为第一区与第二区,设定第一区的物理区块属于第一编程模式,设定第二区的物理区块属于第二编程模式。其中第一编程模式表示所有的物理页面都可被编程,第二编程模式表示仅第一物理页面可被编程。
[0102]在步骤S804中,当第一区有物理区块符合第一损坏条件时,存储器管理电路202会将此物理区块划分至第二区,设定此物理区块属于第二编程模式并且无法再被设定回第一编程模式。其中第一损坏条件包括:此物理区块的抹除次数达到第一临界值、发生编程错误或发生错误的位个数超过错误检查与校正码所能更正的上限。
[0103]然而,图8中各步骤已详细说明如上,在此便不再赘述。
[0104][第二范例实施例]
[0105]在第一范例实施例中,当第一区有物理区块损坏时,存储器管理电路202便会将损坏的物理区块转变为第二编程模式并划分为第二区。然而,在第二范例实施例中,存储器管理电路202是在第二区有物理区块损坏时,才从第一区中挑选一个物理区块,并将挑选的物理区块划分为第二区并设定为第二编程模式。此外,在第一范例实施例中,存储器管理电路202是以物理区块为单元来管理可复写式非易失性存储器模块106,但在第二范例实施例中,存储器管理电路202是以物理页面为单位来管理可复写式非易失性存储器模块106。然而,在第二范例实施例中,存储器管理电路202也可以以物理区块为单位来管理可复写式非易失性存储器模块106,本发明并不在此限。
[0106]图9是根据一范例实施例说明将物理区块划分为第一区与第二区的范例示意图。
[0107]请参照图9,存储器管理电路202会将物理区块304(0)?304(R)划分出第一区920与第二区940。第一区920包括物理区块304(0)?304(D),而第二区940包括物理区块304 (D+1)?304 (E)。物理区块304 (O)?304 (D)会被设定为第一编程模式,而物理区块304(D+1)?304(E)会被设定为第二编程模式。
[0108]当存储器管理电路202从主机系统1000接收到一个写入指令与写入数据以后,会先把写入数据写入至第二区940中的物理区块。接着,存储器管理电路202会把这些写入数据从第二区940复制到第一区920。也就是说,第二区940的物理区块是作为暂存的物理区块,而第一区920的物理区块可以提供大的储存空间。
[0109]图10是根据一范例实施例说明以物理页面为单位将数据写入的范例示意图。
[0110]请参照图10,逻辑区块地址LBA(A+1)包括了逻辑页面地址702(0)?702 (F),而逻辑页面地址702 (O)是映射至物理区块304 (O)中的下物理页面902。当主机系统1000要更改物理页面902中的数据时,会下达存取逻辑页面地址702 (O)的写入指令与写入数据给存储器管理电路202。存储器管理电路202会先把写入数据写入至物理区块304(D+1)的下物理页面904。接着,存储器管理电路202会把物理页面902标记为无效,并把逻辑页面地址702(0)重新映射至物理页面904。若主机系统1000又下达了一个存取逻辑页面地址702 (O)的写入指令与写入数据,存储器管理电路202会将写入数据写入至物理页面906,把物理页面904标记为无效,并且把逻辑页面地址702 (O)重新映射至物理页面906。经过上述操作以后,物理页面902与904中所储存的是无效数据,而物理页面906中储存的是有效数据。当物理区块304(D+1)中没有可用的物理页面以后,存储器管理电路202也可以使用物理区块304(D+2)中的物理页面来储存数据。当物理区块304(D+l)、304(D+2)与其它物理区块中的有效数据的大小符合第一区的物理区块(例如,物理区块304 (0))的大小时,存储器管理电路202会把这些有效数据复制回第一区的物理区块。并且,存储器管理电路202会对物理区块304 (D+1)与304 (D+2)下达抹除指令,以供储存其它来自于主机系统1000的写入数据。
[0111]在第二范例实施例中,当第一区920的ー个物理区块满足第一损坏条件以后,存储器管理电路202会将此物理区块中的有效数据复制到第一区920中其它的物理区块,并且会把此物理区块标记为损坏的物理区块。换句话说,第一区920会包括多个符合第一损坏条件的物理区块,而这些物理区块无法在第一编程模式下储存数据。特别的是,这些物理区块可以被设定为第二编程模式,用以替换第一区920中ー个物理区块的下物理页面、中物理页面与上物理页面。举例来说,当存储器管理电路202要把有效数据从第二区940复制到第一区920时,若第一区920已经没有物理区块可在第一编程模式下储存数据时,则存储器管理电路202会把三个符合第一损坏条件的物理区块设定为第二编程模式,并且使用这三个物理区块的下物理页面来储存有效数据。或者,当第一区的一物理区块损坏时,存储器管理电路202会把三个物理区块设定为第二编程模式,并用这些物理区块来替换ー个物理区块。
[0112]图11是根据一范例实施例说明将ー个物理区块的有效数据复制到三个设定为第ニ编程模式的物理区块的范例示意图。
[0113]请參照图11,当物理区块304(0)(亦称第三物理区块)满足损坏条件时,存储器管理电路202会取得符合第一损坏条件物理区块304 (I)?304 (3)(亦称第四物理区块)。存储器管理电路202会把物理区块304(1)?304(3)设定为第二编程模式,并且使用物理区块304 (I)?304 (3)来替换物理区块304 (O)。详细来说,每ー个逻辑区块地址LBA (A+1)?LBA(B)会包括多个逻辑页面地址。其中至少ー个逻辑页面地址(亦称第三逻辑页面地址)会映射至物理区块304(0)中储存有效数据的物理页面(亦称第三物理页面)。接下来,存储器管理电路202会把第三物理页面中的有效数据复制到物理区块304(1)?304(3)中的至少ー个物理页面(亦称第四物理页面)。并且,存储器管理电路202会把原本映射至物理区块304(0)的第三逻辑页面地址重新映射至物理区块304(1)?304 (3)中的第四物理页面。
[0114]在图11所示的范例实施例中,存储器管理电路202是在第一区920已经没有物理区块可在第一编程模式下储存数据时,才把符合第一损坏条件的物理区块304(1)?304(3)设定为第二编程模式。然而,在其它范例实施例中,存储器管理电路202也可以在其它时间点将第一区920中三个符合第一损坏条件的物理区块设定为第二编程模式并继续使用,本发明并不在此限。此外,在另ー范例实施例中,当ー个物理页面组包括四个物理页面时,存储器管理电路202也可以使用四个设定为第二编程模式的物理区块来替换ー个物理区块,以及当设定为第二编程模式的物理区块可编程2个物理页面时,存储器管理电路202会使用两个设定为第二编程模式的物理区块来替换ー个物理区块,本发明并不在此限。
[0115]另ー方面,当第二区940的物理区块(亦称第一物理区块)满足第二损坏条件以后,存储器管理电路202会从第一区920中选取一个物理区块(亦称第二物理区块)来替换第一物理区块。例如,存储器管理电路202可以从第一区920优先挑选符合第一损坏条件的物理区块作为替换用的物理区块。然而,存储器管理电路202也可以从第一区920中挑选抹除次数介于O到第一临界值的物理区块作为替换用的物理区块,本发明并不在此限。值得注意的是,在将第二物理区块被划分为第二区940以后,存储器管理电路202会设定第二物理区块为第二编程模式并无法再被设定回第一编程模式。
[0116]图12是根据一范例实施例所绘示的存储器管理方法的流程图。
[0117]请参照图12,在步骤S1202中,存储器管理电路202会将物理区块至少分割第一区与第二区。并且,存储器管理电路202会设定第一区的物理区块属于第一编程模式,并设定第二区的物理区块属于第二编程模式。其中第一编程模式表示所有的物理页面都可被编程,第二编程模式表示仅第一物理页面可被编程。
[0118]在步骤S1204中,当第二区的第一物理区块符合第二损坏条件时,存储器管理电路202会使用第一区的第二物理区块来替换第一物理区块。存储器管理电路202会设定第二物理区块为第二编程模式,并且第二物理区块无法再被设定为第一编程模式,其中第二损坏条件包括:第一物理区块的抹除次数达到第二临界值、第一物理区块发生一编程错误或第一物理区块发生错误的位个数超过错误检查与校正码所能更正的上限。
[0119]然而,图12中的各步骤已详细说明如上,在此便不再赘述。
[0120]综上所述,本发明范例实施例提出了一种存储器管理方法、存储器控制器与存储器储存装置。其中当第二区的物理区块损坏时,会使用第一区中已经使用过的物理区块来替换。或者,当第一区的物理区块损坏时,损坏的物理区块会被设定为第二编程模式继续使用。如此一来,可以增加可复写式非易失性存储器的使用寿命。
[0121]虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属【技术领域】中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
【权利要求】
1.一种存储器管理方法,用于控制一可复写式非易失性存储器模块,该可复写式非易失性存储器模块包括多个物理単元集合,每ー该多个物理単元集合包括多个物理単元组,每ー该多个物理单元组包括多个物理単元,每ー该多个物理单元组的该多个物理単元至少包括一第一物理単元,其中该存储器管理方法包括: 将该多个物理単元集合至少分割为ー第一区与一第二区,设定该第一区的该些物理单元集合属于ー第一编程模式,设定该第二区的该些物理単元集合属于ー第二编程模式,其中该第一编程模式表示该些物理単元可被编程,该第二编程模式表示仅该第一物理単元可被编程;以及 当该第二区的一第一物理単元集合符合一第二损坏条件时,使用该第一区的一第二物理单元集合来替换该第一物理単元集合,其中设定该第二物理単元集合属于该第二编程模式并且该第二物理単元集合无法再被设定为该第一编程模式。
2.根据权利要求1所述的存储器管理方法,其中该第二损坏条件包括:该第一物理单元集合的抹除次数达到ー第二临界值、该第一物理単元集合发生ー编程错误或该第一物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
3.根据权利要求1所述的存储器管理方法,其中当该第二区的该第一物理単元集合符合该第二损坏条件时,使用该第一区的该第二物理単元集合来替换该第一物理単元集合的步骤包括: 从该第一区的该些物理単元集合中,取得符合一第一损坏条件的该第二物理単元集合来替换该第一物理単元集合,其中该第一损坏条件包括:该第二物理単元集合的抹除次数达到ー第一临界值、该第二物理単元集合发生ー编程错误或该第二物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
4.根据权利要求1所述的存储器管理方法,其中当该第二区的该第一物理単元集合符合该第二损坏条件时,使用该`第一区的该第二物理単元集合来替换该第一物理単元集合的步骤包括: 从该第一区的该些物理単元集合中,取得抹除次数介于O至一第一临界值的该第二物理单元集合来替换该第一物理単元集合。
5.根据权利要求1所述的存储器管理方法,还包括: 当该第一区的一第三物理単元集合符合一第一损坏条件时,将该第三物理単元集合划分为该第二区;以及 设定该第三物理単元集合属于该第二编程模式并且该第三物理単元集合无法再被设定为该第一编程模式,其中该第一损坏条件包括:该第三物理単元集合的抹除次数达到ー第一临界值、该第三物理単元集合发生ー编程错误或该第三物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
6.根据权利要求1所述的存储器管理方法,还包括: 当该第一区的一第三物理単元集合符合一第一损坏条件时,取得该第一区中多个符合该第一损坏条件的第四物理単元集合; 设定该些第四物理単元集合属于该第二编程模式;以及 使用该些第四物理単元集合来替换该第三物理単元集合,其中该第一损坏条件包括:该些第四物理単元集合的抹除次数达到ー第一临界值、该些第四物理単元集合发生ー编程错误或该些第四物理单元集合发生错误的位个数超过一错误检查与校正码所能更正的上限。
7.根据权利要求6所述的存储器管理方法,其中当该第一区的该第三物理单元集合符合该第一损坏条件时,取得该第一区中属于该第一损坏条件的该些第四物理单元集合的步骤包括; 判断该第一区中是否有物理单元集合可在该第一编程模式下储存数据,若否,取得该些第四物理单元集合来替换该第三物理单元集合。
8.一种存储器储存装置,包括: 一连接器,用以电性连接至一主机系统; 一可复写式非易失性存储器模块,包括多个物理单元集合,每一该些物理单元集合包括多个物理单元组,每一该些物理单元组包括多个物理单元,每一该些物理单元组的该些物理单元至少包括一第一物理单元;以及 一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块, 其中,该存储器控制器用以将该些物理单元集合至少分割为一第一区与一第二区,设定该第一区的该些物理单元集合属于一第一编程模式,设定该第二区的该些物理单元集合属于一第二编程模式,其中该第一编程模式表示该些物理单元可被编程,该第二编程模式表示仅该些第一物理单元可被编程, 其中,当该第二区的一第一物理单元集合符合一第二损坏条件时,该存储器控制器用以使用该第一区的一第二物理单元集合来替换该第一物理单元集合,并且设定该第二物理单元集合属于该第二编程模式且该第二物理单元集合无法再被设定为该第一编程模式。
9.根据权利要求8所述的存储器储存装置,其中该第二损坏条件包括:该第一物理单元集合的抹除次数达到一第二临界值、该第一物理单元集合发生一编程错误或该第一物理单元集合发生错误的位个数超过一错误检查与校正码所能更正的上限。
10.根据权利要求9所述的存储器储存装置,其中该存储器控制器还用以从该第一区的该些物理单元集合中,取得符合一第一损坏条件的该第二物理单元集合来替换该第一物理单元集合,其中该第一损坏条件包括:该第二物理单元集合的抹除次数达到一第一临界值、该第二物理单元集合发生一编程错误或该第二物理单元集合发生错误的位个数超过一错误检查与校正码所能更正的上限。
11.根据权利要求8所述的存储器储存装置,其中该存储器控制器还用以从该第一区的该些物理单元集合中,取得抹除次数介于O至一第一临界值的该第二物理单元集合来替换该第一物理单元集合。
12.根据权利要求8所述的存储器储存装置,其中当该第一区的一第三物理单元集合符合一第一损坏条件时,该存储器控制器还用以将该第三物理单元集合划分为该第二区,并设定该第三物理单元集合属于该第二编程模式且无法再被设定为该第一编程模式,其中该第一损坏条件包括:该第三物理单元集合的抹除次数达到一第一临界值、该第三物理单元集合发生一编程错误或该第三物理单元集合发生错误的位个数超过一错误检查与校正码所能更正的上限。
13.根据权利要求8所述的存储器储存装置,其中该存储器控制器还用以在该第一区的一第三物理单元集合损坏时,取得第一区中多个符合一第一损坏条件的第四物理单元集合,设定该些第四物理単元集合属于该第二编程模式,并且使用该些第四物理単元集合来替换该第三物理単元集合,其中该第一损坏条件包括:该些第四物理単元集合的抹除次数达到ー第一临界值、该些第四物理単元集合发生ー编程错误或该些第四物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
14.根据权利要求13所述的存储器储存装置,其中该存储器控制器还用以判断该第一区中是否有物理単元集合可在该第一编程模式下储存数据,若否,取得该些第四物理単元集合来替换该第三物理単元集合。
15.一种存储器控制器,包括: 一主机接ロ,用以电性连接至一主机系统; 一存储器接ロ,用以电性连接至一可复写式非易失性存储器模块,该可复写式非易失性存储器模块包括多个物理単元集合,每ー该些物理単元集合包括多个物理単元组,每ー该些物理单元组包括多个物理単元,每ー该些物理单元组的该些物理単元至少包括一第一物理単元;以及 一存储器管理电路,电性连接至该主机接ロ与该存储器接ロ, 其中,该存储器管理电路用以将该些物理単元集合至少分割为ー第一区与一第二区,设定该第一区的该些物理単元集合属于ー第一编程模式,设定该第二区的该些物理単元集合属于ー第二编程模式,其中该第一编程模式表示该些物理単元可被编程,并且该第二编程模式表示仅该些第一物理単元可被编程, 其中,当该第二区的一第一物理単元集合符合一第二损坏条件吋,该存储器管理电路使用该第一区的一第二物理単元集合来替换该第一物理単元集合,设定该第二物理単元集合属于该第二编程模式并且该第二物理単元集合无法再被设定为该第一编程模式。
16.根据权利要求15所 述的存储器控制器,其中该第二损坏条件包括:该第一物理单元集合的抹除次数达到ー第二临界值、该第一物理単元集合发生ー编程错误或该第一物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
17.根据权利要求16所述的存储器控制器,其中该存储器管理电路还用以从该第一区的该些物理単元集合中,取得符合一第一损坏条件的该第二物理単元集合来替换该第一物理单元集合,其中该第一损坏条件包括:该第二物理単元集合的抹除次数达到ー第一临界值、该第二物理単元集合发生ー编程错误或该第二物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
18.根据权利要求16所述的存储器控制器,其中该存储器管理电路还用以从该第一区的该些物理単元集合中,取得抹除次数介于O至一第一临界值的该第二物理単元集合来替换该第一物理単元集合。
19.根据权利要求15所述的存储器控制器,其中当该第一区的一第三物理単元集合符合一第一损坏条件吋,该存储器管理电路还用以将该第三物理単元集合划分为该第二区,设定该第三物理単元集合属于该第二编程模式并且该第三物理単元集合不会再被设定为该第一编程模式,其中该第一损坏条件包括:该第三物理単元集合的抹除次数达到ー第一临界值、该第三物理単元集合发生ー编程错误或该第三物理単元集合发生错误的位个数超过ー错误检查与校正码所能更正的上限。
20.根据权利要求15所述的存储器控制器,其中该存储器管理电路还用以在该第一区的一第三物理单元集合损坏时,取得第一区中多个符合一第一损坏条件的第四物理单元集合,设定该些第四物理单元集合属于该第二编程模式,并且使用该些第四物理单元集合来替换该第三物理单元集合,其中该第一损坏条件包括:该些第四物理单元集合的抹除次数达到一第一临界值、该些第四物理单元集合发生一编程错误或该些第四物理单元集合发生错误的位个数超过一错误检查与校正码所能更正的上限。
21.根据权利要求20所述的存储器控制器,其中该存储器管理电路还用以判断该第一区中是否有物理单元集合可在该第一编程模式下储存数据,若否,取得该些第四物理单元集合来替换该第三物理单元集合。
22.—种存储器管理方法,用于控制一可复写式非易失性存储器模块,该可复写式非易失性存储器模块包括多个物理单元集合,每一该些物理单元集合包括多个物理单元组,每一该些物理单元组包括多个物理单元,每一该些物理单元组的该些物理单元至少包括一第一物理单元,该存储器管理方法包括: 将该些物理单元集合至少分割为一第一区与一第二区,设定该第一区的该些物理单元集合属于一第一编程模式,设定该第二区的该些物理单元集合属于一第二编程模式,其中该第一编程模式表示该些物理单元可被编程,该第二编程模式表示仅该些第一物理单元可被编程;以及 当该第一区的至少一第一物理单元集合符合一第一损坏条件时,将该至少一第一物理单元集合划分至该第二区,设定该至少一第一物理单元集合属于该第二编程模式,并且该至少一第一物理单元集合无法再被设定为该第一编程模式。
23.根据权利要求22所述的存储器管理方法,其中该第一损坏条件包括:该至少一第一物理单元集合的抹除次数达到一第一临界值、该至少一第一物理单元集合发生一编程错误或该至少一第一物理单元集合发生错误的位个数超过一错误检查与校正码所能更正的上限。
24.根据权利要求23所`述的存储器管理方法,还包括: 将该第一区划分为一数据区与一第三区,配置多个逻辑单元集合映射至该数据区的该些物理单元集合; 当该至少一第一物理单元集合符合该第一损坏条件时,判断该第三区是否存有物理单元集合可在该第一编程模式下储存数据,若否,从该第二区中取得多个第二物理单元集合;以及 将该些第二物理单元集合划分为该第三区。
【文档编号】G06F3/06GK103488579SQ201210191603
【公开日】2014年1月1日 申请日期:2012年6月11日 优先权日:2012年6月11日
【发明者】黄金汉, 林盈志 申请人:群联电子股份有限公司