存储器管理方法、存储器控制器与存储器储存装置制造方法

文档序号:6486398阅读:129来源:国知局
存储器管理方法、存储器控制器与存储器储存装置制造方法
【专利摘要】一种存储器管理方法、存储器控制器与存储器储存装置。该存储器管理方法,用于控制有多个物理擦除单元的可重写式非易失性存储器模块。该方法包括以下步骤。设定物理擦除单元的操作模式包括三种模式。第一模式表示所有的物理编程单元可被编程,第二模式与第三模式表示上物理编程单元为不可被编程,但第三模式无法被切换至其他模式。将物理擦除单元划分为第一区与第二区。物理擦除单元在第一区时,是可切换地操作在第一模式或第二模式,在第二区时则固定为第三模式。当符合一个情况时,将一个物理擦除单元从第一区划分为第二区。藉此,可以延长可重写式非易失性存储器的使用寿命。
【专利说明】存储器管理方法、存储器控制器与存储器储存装置
【技术领域】
[0001]本发明涉及一种存储器管理方法,特别是涉及一种用于控制可重写式非易失性存储器模块的存储器管理方法与使用此方法的存储器控制器与存储器储存装置。
【背景技术】
[0002]数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可重写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种便携式多媒体装置中。
[0003]依据每个存储单元可储存的位数,与非(NAND)型快闪存储器可区分为单阶储存单元(Single Level Cell, SLC) NAND 型快闪存储器、多阶储存单元(Multi Level Cell1MLC)NAND型快闪存储器与多阶储存单元(Trinary Level Cell, TLC) NAND型快闪存储器,其中SLC NAND型快闪存储器的每个存储单元可储存I个位的数据(即,“I”与“0”),MLC NAND型快闪存储器的每个存储单元可储存2个位的数据并且TLC NAND型快闪存储器的每个存储单元可储存3个位的数据。
[0004]以MLC NAND型快闪存储器来说,每个物理区块会包括多个物理页面,每个物理区块会包括下物理页面以及上物理页面。而每一个物理区块都会有擦除次数的上限。当一个物理区块的擦除次数超过上限时,表示此物理区块无法再被使用。相对的来说,当一个物理区块仅使用下物理页面来储存数据时,其擦除次数的上限较大;而当一个物理区块使用下物理页面与上物理页面来储存数据时,其擦除次数的上限较小。因此,如何依照这些特性来管理物理区块,使得可重写式非易失性存储器的使用寿命可以延长,为本领域所关心的议题。

【发明内容】

[0005]本发明的范例实施例中提出一种存储器管理方法、存储器控制器与存储器储存装置,可以延长可重写式非易失性存储器的使用寿命。
[0006]本发明在一范例实施例中提出一种存储器管理方法,用于控制可重写式非易失性存储器模块。此可重写式非易失性存储器模块包括多个物理擦除单元,每一个物理擦除单元包括多个物理编程单元组,每一个物理编程单元组包括多个物理编程单元,每一个物理编程单元组的物理编程单元包括一个下物理编程单元与上物理编程单元,其中上物理编程单元编程的速度慢于下物理编程单元。此存储器管理方法包括:设定每一个物理擦除单元的操作模式包括第一模式、第二模式与第三模式,其中第一模式表示所有的物理编程单元可被编程,第二模式表示上物理编程单元为不可被编程,第三模式表示上物理编程单元为不可被编程,并且操作模式无法从第三模式切换至第一模式或第二模式。此存储器管理方法也包括:将物理擦除单元划分为第一区与第二区,其中第一区的每一个物理擦除单元是可切换地操作在第一模式或第二模式,并且第二区的每一个物理擦除单元的操作模式为第三模式;以及,当第一区的第一物理擦除单元属于危险擦除单元时,将第一物理擦除单元的操作模式设定为第三模式,并且将第一物理擦除单元划分为第二区。
[0007]在一范例实施例中,上述的存储器管理方法还包括:当第一物理擦除单元的擦除次数大于一个临界值时,判断第一物理擦除单元是属于危险擦除单元。
[0008]在一范例实施例中,上述的每一个物理编程单元包括一个数据位区与一个冗余位区。数据位区是用以储存使用者数据,并且冗余位区是用以储存错误检查与校正码。上述的存储器管理方法还包括:读取第一物理擦除单元中的一个第一物理编程单元;根据第一物理编程单元中的错误检查与校正码来判断第一物理编程单元中的使用者数据是否发生错误;若第一物理编程单元的使用者数据发生错误,判断使用者数据的一个错误位数是否超过一个预设值;若此错误位数超过预设值,判断第一物理擦除单元是属于危险擦除单元。
[0009]在一范例实施例中,上述的预设值为第一物理编程单元的错误检查与校正码所能校正的上限。
[0010]在一范例实施例中,上述的存储器管理方法还包括:配置多个逻辑地址以映射至一部分的物理编程单元,其中逻辑地址相对应的存储器空间的集合为开放存储器空间;判断在第一物理擦除单元被划分为第二区以后,物理擦除单元的可用存储器空间容量是否小于开放存储器空间的容量,其中,可用存储器空间容量为物理擦除单元中可用于储存使用者信息的物理擦除单元的容量总和;以及,若可用存储器空间容量小于开放存储器空间的容量,宣告可重写式非易失性存储器进入一个写入保护状态。
[0011]在一范例实施例中,上述的存储器管理方法,还包括:建立一个映射表,其中此映射表示用以记录每一个物理擦除单元的操作模式。
[0012]以另外一个角度来说,本发明一范例实施例提出一种存储器储存装置,包括连接器、可重写式非易失性存储器模块与存储器控制器。连接器是用以电性连接至一个主机系统。可重写式非易失性存储器模块包括多个物理擦除单元,其中每一个物理擦除单元包括多个物理编程单元组,每一个物理编程单元组包括多个物理编程单元,并且每一个物理编程单元组的物理编程单元包括一个下物理编程单元与一上物理编程单元,其中上物理编程单元编程的速度慢于下物理编程单元。存储器控制器是电性连接至连接器与可重写式非易失性存储器模块。存储器控制器是用以设定每一个物理擦除单元的操作模式包括第一模式、第二模式与第三模式。第一模式表示所有的物理编程单元可被编程。第二模式表示上物理编程单元为不可被编程。第三模式表示上物理编程单元为不可被编程,并且操作模式无法从第三模式切换至第一模式或第二模式。存储器控制器也用以将物理擦除单元划分为第一区与第二区。其中第一区的每一个物理擦除单元是可切换地操作在第一模式或第二模式,并且第二区的每一个物理擦除单元的操作模式为第三模式。当第一区的第一物理擦除单元是属于危险擦除单元时,存储器控制器用以将第一物理擦除单元的操作模式设定为第三模式,并且将第一物理擦除单元划分为第二区。
[0013]在一范例实施例中,上述的存储器控制器还用以在第一物理擦除单元的擦除次数大于一个临界值时,判断第一物理擦除单元是属于危险擦除单元。
[0014]在一范例实施例中,上述的每一个物理编程单元包括一个数据位区与一个冗余位区。数据位区是用以储存使用者数据,并且冗余位区是用以储存错误检查与校正码。存储器控制器还用以读取第一物理擦除单元中的第一物理编程单元,并根据第一物理编程单元中的错误检查与校正码来判断第一物理编程单元的使用者数据是否发生错误。若第一物理编程单元的使用者数据发生错误,存储器控制器还用以判断判断使用者数据的一个错误位数是否超过一个预设值。若此错误位数超过预设值,存储器控制器还用以判断第一物理擦除单元是属于危险擦除单元。
[0015]在一范例实施例中,上述的预设值为第一物理编程单元的错误检查与校正码所能校正的上限。
[0016]在一范例实施例中,上述的存储器控制器还用以配置多个逻辑地址以映射至一部分的物理编程单元,其中逻辑地址相对应的存储器空间的集合为一个开放存储器空间。存储器控制器还用以判断在第一物理擦除单元被划分为第二区以后,这些物理擦除单元的可用存储器空间容量是否小于开放存储器空间的容量。此可用存储器空间容量为可用于储存使用者信息的物理擦除单元的容量总和。若可用存储器空间容量小于开放存储器空间的容量,存储器控制器还用以宣告可重写式非易失性存储器进入为一个写入保护状态。
[0017]在一范例实施例中,上述的存储器控制器还用以建立一个映射表。此映射表示用以记录每一个物理擦除单元的操作模式。
[0018]以另外一个角度来说,本发明一范例实施例提出一种存储器控制器,包括主机接口、存储器接口与存储器管理电路。主机接口是用以电性连接至一个主机系统。存储器接口是用以电性连接至一个可重写式非易失性存储器模块。此可重写式非易失性存储器模块包括多个物理擦除单元,其中每一个物理擦除单元包括多个物理编程单元组,每一个物理编程单元组包括多个物理编程单元,并且每一个物理编程单元组的物理编程单元包括一个下物理编程单元与一上物理编程单元,其中上物理编程单元编程的速度慢于下物理编程单元。存储器管理电路是电性连接至主机接口与存储器接口。存储器管理电路是用以设定每一个物理擦除单元的操作模式包括第一模式、第二模式与第三模式。第一模式表示所有的物理编程单元可被编程。第二模式表示上物理编程单元为不可被编程。第三模式表示上物理编程单元为不可被编程,并且操作模式无法从第三模式切换至第一模式或第二模式。存储器管理电路也用以将物理擦除单元划分为第一区与第二区。其中第一区的每一个物理擦除单元是可切换地操作在第一模式或第二模式,并且第二区的每一个物理擦除单元的操作模式为第三模式。当第一区的第一物理擦除单元是属于危险擦除单元时,存储器管理电路用以将第一物理擦除单元的操作模式设定为第三模式,并且将第一物理擦除单元划分为第二区。
[0019]在一范例实施例中,上述的存储器管理电路还用以在第一物理擦除单元的擦除次数大于一个临界值时,判断第一物理擦除单元是属于危险擦除单元。
[0020]在一范例实施例中,上述的每一个物理编程单元包括一个数据位区与一个冗余位区。数据位区是用以储存使用者数据,并且冗余位区是用以储存错误检查与校正码。存储器管理电路还用以读取第一物理擦除单元中的第一物理编程单元,并根据第一物理编程单元中的错误检查与校正码来判断第一物理编程单元的使用者数据是否发生错误。若第一物理编程单元的使用者数据发生错误,存储器管理电路还用以判断使用者数据的一个错误位数是否超过一个预设值。若此错误位数超过此预设值,存储器管理电路还用以判断第一物理擦除单元是属于危险擦除单元。
[0021]在一范例实施例中,上述的预设值为第一物理编程单元的错误检查与校正码所能校正的上限。
[0022]在一范例实施例中,上述的存储器管理电路还用以配置多个逻辑地址以映射至一部分的物理编程单元,其中逻辑地址相对应的存储器空间的集合为一个开放存储器空间。存储器管理电路还用以判断在第一物理擦除单元被划分为第二区以后,这些物理擦除单元的一个可用存储器空间容量是否小于开放存储器空间的容量,其中可用存储器空间容量为可用于储存使用者信息的物理擦除单元的容量总和。若可用存储器空间容量小于开放存储器空间的容量,存储器管理电路还用以宣告可重写式非易失性存储器进入一个写入保护状态。
[0023]在一范例实施例中,上述的存储器管理电路还用以建立一个映射表。此映射表示用以记录每一个物理擦除单元的操作模式。
[0024]基于上述,本发明范例实施例所提出的存储器管理方法、存储器控制器与存储器储存装置,可以将物理擦除单元划分为第一区与第二区。并且,第二区的物理擦除单元会被固定为第三模式。藉此,可以延长可重写式非易失性存储器的使用寿命。
[0025]为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。
【专利附图】

【附图说明】
[0026]图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
[0027]图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
[0028]图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
[0029]图2是绘示图1A所示的存储器储存装置的概要方块图。
[0030]图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
[0031]图4是根据一范例实施例说明物理擦除单元的操作模式的范例示意图。
[0032]图5是根据一范例实施例说明将物理擦除单元分成第一区与第二区的范例示意图。
[0033]图6是根据一范例实施例说明写入数据的范例示意图。
[0034]图7是根据一范例实施例说明读取物理编程单元的范例示意图。
[0035]图8是根据一范例实施例说明存储器管理方法的流程图。
[0036]附图符号说明
[0037]1000:主机系统
[0038]1100:计算机
[0039]1102:微处理器
[0040]1104:随机存取存储器
[0041]1106:输入/输出装置
[0042]1108:系统总线
[0043]1110:数据传输接口
[0044]1202:鼠标
[0045]1204:键盘[0046]1206:显示器
[0047]1208:打印机
[0048]1212:随身盘
[0049]1214:存储卡
[0050]1216:固态硬盘
[0051]1310:数码相机
[0052]1312:SD 卡
[0053]1314:MMC 卡
[0054]1316:存储棒
[0055]1318:CF 卡
[0056]1320:嵌入式储存装置
[0057]100:存储器储存装置
[0058]102:连接器
[0059]104:存储器控制器
[0060]106:可重写式非易失性存储器模块
[0061]304 (O)?304 (R):物理擦除单元
[0062]202:存储器管理电路
[0063]204:主机接口
[0064]206:存储器接口
[0065]252:缓冲存储器
[0066]254:电源管理电路
[0067]256:错误检查与校正电路
[0068]402:第一模式
[0069]404:第二模式
[0070]406:第三模式
[0071]502 (O)?502 (A):逻辑地址
[0072]540:第一区
[0073]520:第二区
[0074]622、624、632、634:物理编程单元
[0075]702:数据位区
[0076]704:冗余位区
[0077]722:使用者数据
[0078]724:错误检查与校正码
[0079]S802、S804、S806:存储器管理方法的步骤
【具体实施方式】
[0080]一般而言,存储器储存装置(亦称,存储器储存系统)包括可重写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。[0081]图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
[0082]请参照图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可还包括其他装置。
[0083]在本发明实施例中,存储器储存装置100是通过数据传输接口 1110与主机系统1000的其他元件电性连接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(SolidState Drive, SSD) 1216等的可重写式非易失性存储器储存装置。
[0084]一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可重写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick) 1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC, eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
[0085]图2是绘示图1A所示的存储器储存装置的概要方块图。
[0086]请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可重写式非易失性存储器模块106。
[0087]在本范例实施例中,连接器102是相容于序列先进附件(Serial AdvancedTechnologyAttachment, SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel Advanced Technology Attachment, PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers, IEEE) 1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express, PCI Express)标准、通用序列总线(UniversalSerial Bus, USB)标准、安全数字(Secure Digital, SD)接口标准、超高速一代(Ultra High Speed-1, UHS-1)接口标准、超高速二代(Ultra HighSpeed-1I, UHS-1I)接口标准、存储棒(Memory Stick, MS)接口标准、多媒体储存卡(MultiMedia Card, MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card, eMMC)接口标准、通用快闪存储器(Universal Flash Storage, UFS)接口标准、小型快闪(CompactFlash, CF)接口标准、整合式驱动电子接口 (Integrated Device Electronics, IDE)标准或其他适合的标准。
[0088]存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可重写式非易失性存储器模块106中进行数据的写入、读取与擦除等运作。
[0089]可重写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可重写式非易失性存储器模块106具有物理擦除单元304(0)~304(R)。例如,物理擦除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每个物理擦除单元包括多个物理编程单元组,其中每个物理编程单元组包括多个物理编程单元。属于同一个物理擦除单元的物理编程单元可被独立地写入且被同时地擦除。例如,每一物理擦除单元是由128个物理编程单元所组成。然而,必须了解的是,本发明不限于此,每一物理擦除单元是可由64个物理编程单元、256个物理编程单元或其他任意个物理编程单元所组成。
[0090]更详细来说,物理擦除单元为擦除的最小单位。亦即,每一物理擦除单元含有最小数目的一并被擦除的存储单元。物理编程单元为编程的最小单元。即,物理编程单元为写入数据的最小单元。每一物理编程单元通常包括数据位区与冗余位区。数据位区包含多个物理存取地址用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误检查与校正码)。在本范例实施例中,每一个物理编程单元的数据位区中会包含4个物理存取地址,且一个物理存取地址的大小为512字节(byte,B)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的物理存取地址,本发明并不限制物理存取地址的大小以及个数。例如,物理擦除单元为物理区块,并且物理编程单元为物理页面。
[0091]在本范例实施例中,可重写式非易失性存储器模块106为多阶存储单元(MultiLevel Cell, MLC)NAND快闪存储器模块,即一个存储单元中可储存至少2个位数据。也就是说,排列在同一条字符线上的数个存储单元可以组成下物理编程单元与上物理编程单元。编程单元组所包括的编程单元便包括下物理编程单元与上物理编程单元。其中,下物理编程单元的写入速度会大于上物理编程单元的写入速度。另一方面,每一个物理擦除单元有擦除次数的上限。当仅使用下物理编程单元时,擦除次数的上限是第一临界值(例如,5000次)。当使用下物理编程单元与上物理编程单元时,擦除次数的上限为第二临界值(例如,50000次)。第二临界值会大于第一临界值。然而,在其他范例实施例中,可重写式非易失性存储器模块106亦可是多阶存储单元(Trinary Level Cell,TLC) NAND型快闪存储器模块、其他快闪存储器模块或其他具有相同特性的存储器模块。
[0092]图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
[0093]请参照图3,存储器控制器104包括存储器管理电路202、主机接口 204与存储器接口 206。
[0094]存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,这些控制指令会被执行以进行数据的写入、读取与擦除等运作。
[0095]在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且这些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,这些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。
[0096]在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可重写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可重写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转这些控制指令以进行数据的写入、读取与擦除等运作。
[0097]此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器擦除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器擦除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可重写式非易失性存储器模块106的物理擦除单元;存储器写入单元用以对可重写式非易失性存储器模块106下达写入指令以将数据写入至可重写式非易失性存储器模块106中;存储器读取单元用以对可重写式非易失性存储器模块106下达读取指令以从可重写式非易失性存储器模块106中读取数据;存储器擦除单元用以对可重写式非易失性存储器模块106下达擦除指令以将数据从可重写式非易失性存储器模块106中擦除;而数据处理单元用以处理欲写入至可重写式非易失性存储器模块106的数据以及从可重写式非易失性存储器模块106中读取的数据。
[0098]主机接口 204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口 204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口 204亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
[0099]存储器接口 206是电性连接至存储器管理电路202并且用以存取可重写式非易失性存储器模块106。也就是说,欲写入至可重写式非易失性存储器模块106的数据会经由存储器接口 206转换为可重写式非易失性存储器模块106所能接受的格式。
[0100]在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
[0101]缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可重写式非易失性存储器模块106的数据。
[0102]电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
[0103]错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code, ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可重写式非易失性存储器模块106中。之后,当存储器管理电路202从可重写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
[0104]图4是根据一范例实施例说明物理擦除单元的操作模式的范例示意图。
[0105]请参照图4,每一个物理擦除单元会有一个操作模式,而存储器管理电路202可分别切换各物理擦除单元的操作模式。具体来说,存储器管理电路202会设定物理擦除单元的操作模式可包括第一模式402、第二模式404与第三模式406。这些模式限定了一个物理擦除单元中可以被编程的编程单元。第一模式402表示一个物理擦除单元中所有的物理编程单元都可被编程(例如,物理地址0-255)。第二模式404表示一个物理擦除单元内上物理编程单元为不可被编程,换言之,仅下物理编程单元可被编程(例如,物理地址0-127)。第三模式406亦表示一个物理擦除单元中上物理编程单元为不可被编程,但其中,存储器管理电路202会设定第一模式402与第二模式404之间可以互相切换,而第三模式406无法切换至第一模式402与第二模式404。当一个物理擦除单元的操作模式在第一模式402时,物理擦除单元的擦除次数的上限为第一临界值。当一个物理擦除单元的操作模式在第二模式404或第三模式406时,物理擦除单元的擦除次数的上限为第二临界值。然而,当一个物理擦除单元的操作模式在第二模式404时,若其擦除次数已超过第一临界值并且其操作模式被切换至第一模式402,则此物理擦除单元会成为损坏物理擦除单元。因此,在本范例实施例中,存储器管理电路202会将擦除次数已超过第一临界值的物理擦除单元设定为第三模式406,使得此物理擦除单元的操作模式无法被切换至第一模式402或第二模式404。
[0106]在另一范例实施例中,可重写式非易失性存储器模块106亦可是多阶存储单元NAND型快闪存储器模块。换言之,每个存储器单元(memory cell)可储存多个位数,例如3个、4个或其他数目,亦即每一个物理编程单元组还会包括至少一个中物理编程单元,其中,此中物理编程单元编程的速度快于上物理编程单元,但慢于下物理编程单元,且当此中物理编程单元是包含多个时,各中物理编程单元的编程速度可不相同。此时,第一模式402表示下物理编程单元、中物理编程单元与上物理编程单元皆可被编程。第二模式404与第三模式406表示上物理编程单元与中物理编程单元不可被编程,而下物理编程单元可被编程,并且,第三模式460不能被切换至其他模式。
[0107]更具体来说,存储器管理电路202会将物理擦除单元304(0r304(R)的操作模式记录在一个映射表当中。例如,每一个操作模式可以用两个位来记录,用以表示第一模式402、第二模式404与第三模式406。然而,在其他范例实施例中,存储器管理电路202也可以使用其他的符号或更多位来记录操作模式,本发明并不在此限。
[0108]图5是根据一范例实施例说明将物理擦除单元分成第一区与第二区的范例示意图。
[0109]请参照图5,存储器管理电路202会将物理擦除单元304 (O) ^304 (R)至少划分为第一区520与第二区540。第一区520包括物理擦除单元304 (0广304 (B),而第二区包括物理擦除单元304(B+ir304(R)。其中,第一区520中每一个物理擦除单元是可切换地操作在第一模式402或第二模式404。而第二区540中的每一个物理擦除单元是操作在第三模式406。然而,在其他范例实施例中,存储器管理电路202也可以物理擦除单元304 (O) ^304 (R)划分出其他区域,本发明并不在此限。
[0110]此外,存储器管理电路202会配置逻辑地址502(0)~502(Α)给主机系统1000。这些逻辑地址是映射至物理擦除单元304 (0)~304 (R)中一部份的物理编程单元。本范例实施例中,存储器管理电路202是以物理编程单元来管理可重写式非易失性存储器106。也就是说,每一个逻辑地址会映射到一个物理编程单元。存储器管理电路202会记录一个逻辑地址-物理编程单元映射表,来记录逻辑地址502 (O)飞02 (A)与物理擦除单元304 (O)~304 (R)中物理编程单元之间的映射关系。[0111]另一方面,快闪存储器芯片于出厂时通常会预留多个物理编程单元作为更换或运作过程中使用。亦即,出厂时,逻辑地址502(0)-502(Α)相对应的存储器空间的容量的总和会小于可重写试非易失性存储器106的存储器空间的容量的总和。举例来说,物理擦除单元304 (O)~304 (R)的存储器空间的容量的总合是100GB,而逻辑地址502 (O)~502 (A)的存储器空间的容量的总合是93GB。逻辑地址502 (O)-502 (A)的存储器空间的集合亦被称为开放存储器空间,是用以提供给主机系统1000。另一方面,快闪存储器芯片中所有可被映射至逻辑地址502(0-502(Α)的物理编程单元或可用以储存使用者信息(例如,影片或是文字档)的存储器空间的容量大小亦被称为可用存储器空间容量。
[0112]未映射至逻辑地址502 (O)-502 (A)的物理编程单元可以被分为系统区以及闲置区。值得一提的是,系统区与闲置区为逻辑上的概念,在一范例实施例中,系统区的物理编程单元是分布在第一区520,而闲置区的物理编程单元可以分布第一区520以及第二区540。然而,系统区的物理编程单元也可以分布在第二区540,本发明并不在此限。
[0113]系统区可用以储存系统数据。例如,此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的物理擦除单元数、每一物理擦除单元的物理编程单元数等。[0114]闲置区的编程单元可以用以做为暂存的物理擦除单元。具体来说,当主机系统1000要更新储存在可重写式非易失性存储器106的数据时,会下达存取逻辑地址502 (O)^502 (A)的写入指令与一个写入数据给存储器管理电路202。由于一个物理擦除单元在被擦除之前无法被重重写入,因此存储器管理电路202会把未映射至逻辑地址502 (O) ^502 (A)的物理编程单元作为暂存的物理编程单元。而存储器管理电路202会将写入数据写入这些暂存的物理编程单元。特别的是,存储器管理电路202会优先使用第二区540的物理擦除单元来暂存数据。
[0115]图6是根据一范例实施例说明写入数据的范例示意图。
[0116]请参照图6,物理擦除单元304(Β+1)的操作模式为第一模式,物理擦除单元304(0)的操作模式为第三模式。逻辑地址502 (O)是原始映射至物理擦除单元304 (Β+1)的下物理编程单元622。在此假设主机系统1000传送了一个要更新逻辑地址502(0)的写入指令与一个写入数据与给存储器管理电路202。在接收到此写入指令以后,即使物理擦除单元304 (Β+1)有闲置的物理编程单元(例如,物理编程单元624),存储器管理电路202会优先把写入数据编程至闲置的物理编程单元632。接着,存储器管理电路202会把逻辑地址502(0)重新映射至物理编程单元632。因此,物理编程单元622中所储存的会是无效数据。例如,主机系统1000继续下达存取逻辑地址502 (O)的写入指令给存储器管理电路202。存储器管理电路202会把此写入数据编程至闲置的物理编程单元634。接着,存储器管理电路202会把逻辑地址502 (O)重新映射至物理编程单元632。因此,完成上述动作以后,物理编程单元622与632中所储存的会是无效数据,而物理编程单元634中所储存的会是有效数据。
[0117]当物理擦除单元304 (O)已没有空闲的物理编程单元以后,存储器管理电路202会把物理擦除单元304(0)中的有效数据复制到物理擦除单元304(Β+1)。并且,存储器管理电路202会对物理擦除单元304 (O)执行擦除的动作,用以储存其他数据。换言之,由于物理擦除单元304(0)中的物理编程单元被优先用以作为暂存的物理编程单元,因此物理擦除单元304 (O)的擦除次数会物理擦除单元304 (Β+1)的擦除次数较高。[0118]然而,存储器管理电路202也可以使用第二区540中多个物理擦除单元的物理编程单元做为暂存的物理编程单元。存储器管理电路202可以在第二区540中多个物理擦除单元都没有闲置的物理编程单元以后,才把有效数据复制到第一区520,本发明并不在此限。换言之,存储器管理电路202可以将可重写式非易失性存储器106的擦除次数集中在第二区540的物理擦除单元。然而,在其他范例实施例中,第一区520中的物理编程单元也可以用以做为暂存的物理编程单元,本发明并不在此限。
[0119]此外,存储器管理电路202会判断第一区520的物理擦除单元是否符合一个第一情况。当一个物理擦除单元符合第一情况时,亦表示此物理擦除单元是属于危险擦除单元(即,易于发生编程错误或读取错误的物理擦除单元)时。存储器管理电路202也会将符合第一情况(或属于危险擦除单元)的物理擦除单元设定为第三模式406并划分为第二区540。以下称一个物理擦除单元符合第一情况时,亦表示此物理擦除单元属于危险擦除单元,并不再赘述。
[0120]例如,当物理擦除单元304 (B+1)(亦称为第一物理擦除单元)的擦除次数大于第一临界值时,存储器管理电路202会判断物理擦除单元304(B+1)符合第一情况。换言之,存储器管理电路202会将物理擦除单元304(B+1)的操作模式从第一模式402切换至第三模式406并将物理擦除单元304(B+1)划分为第二区540。由于操作模式在第三模式406时,物理擦除单元的擦除次数的上限会增加(从第一临界值变为第二临界值),因此物理擦除单元304(B+1)被划分为第二区540以后可以继续被使用。然而,存储器管理电路202也可以将一个物理擦除单元从第二模式404切换至第三模式404,并把此物理擦除单元从第一区520划分为第二区540,本发明并不在此限。
[0121]图7是根据一范例实施例说明读取物理编程单元的范例示意图。
[0122]请参照图7,当读取一个物理编程单元时,存储器管理电路202会从冗余位区中读取错误检查与校正码(ECC),并根据错误检查与校正码来判断数据位区中的使用者数据是否发生错误。例如,物理擦除单元304 (B+1)包括了物理编程单元622 (亦称为第一物理编程单元),而物理编程单元622包括数据位区702与冗余位区704。数据位区702储存有使用者数据722,冗余位区704储存了错误检查与校正码724。当读取物理编程单元622时,存储器管理电路202会根据错误检查与校正码724来判断使用者数据722是否发生错误。若使用者数据722发生错误,存储器管理电路202会判断使用者数据722的错误位数是否超过一个预设值。此错误位数表示使用者数据722中发生错误的位个数。如果使用者数据722的错误位数超过了预设值,则存储器管理电路202会判断物理擦除单元304(B+1)符合上述的第一情况。换言之,存储器管理电路202会将物理擦除单元304 (B+1)的操作模式切换至第三模式406并将物理擦除单元304(B+1)划分为第二区540。例如,此预设值为错误检查与校正码724所能校正的上限。然而,在其他范例实施例中,此预设值也可被设定为其他数值,本发明并不在此限。
[0123]如上所述,可用存储器空间容量是被映射至逻辑地址502(0)-502(Α),且可用以储存使用者数据的物理擦除单元的存储器空间的容量总和。然而,当物理擦除单元304(Β+1)从第一区520被切换至第二区540以后,由于物理擦除单元304 (Β+1)仅能使用下物理编程单元,因此物理擦除单元304 (Β+1)中可使用的物理编程单元便会减少。在将物理擦除单元304(Β+1)被划分至第二区540以后,存储器管理电路202会判断可用存储器空间容量是否小于逻辑地址502(0~502(Α)的存储器空间的容量的总和(即,开放存储器空间的容量)。若可用存储器空间容量小于开放存储器空间的容量,则存储器管理电路202会宣告可重写式非易失性存储器模块106进入一个写入保护(write protect)状态,亦即此可重写式非易失性存储器模块106仅可被读取,不可再写入新数据。
[0124]图8是根据一范例实施例说明存储器管理方法的流程图。
[0125]请参照图8,在步骤S802中,存储器管理电路202会设定每一个物理擦除单元的操作模式包括第一模式、第二模式与第三模式。其中,第一模式表示所有的物理编程单元可被编程,第二模式表示上物理编程单元为不可被编程,第三模式表示上物理编程单元为不可被编程,并且操作模式无法从第三模式切换至第一模式或第二模式。
[0126]在步骤S804中,存储器管理电路202会将物理擦除单元划分为第一区与第二区,其中第一区的每一个物理擦除单元是可切换地操作在第一模式或第二模式,并且第二区的每一个物理擦除单元的操作模式为第三模式。
[0127]在步骤S806中,当第一区的一个物理擦除单元符合一个第一情况时,存储器管理电路202会将此物理擦除单元的操作模式设定为第三模式,并且将此物理擦除单元划分为
第二区。
[0128]然而,图8中各步骤已详细说明如上,在此便不再赘述。
[0129]综上所述,本发明依范例实施例所提出的存储器管理方法、存储器控制器与存储器储存装置,可以将一个物理擦除单元的操作模式划分为三种。藉此,擦除的操作可以集中在擦除次数上限较大的物理擦除单元,进而增加可重写式非易失性存储器的使用寿命。
[0130]虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前 提下,可作若干的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。
【权利要求】
1.一种存储器管理方法,用于控制一可重写式非易失性存储器模块,其中该可重写式非易失性存储器模块包括多个物理擦除单元,每一所述物理擦除单元包括多个物理编程单元组,每一所述物理编程单元组包括多个物理编程单元,每一所述物理编程单元组的所述物理编程单元包括一下物理编程单元与上物理编程单元,其中所述上物理编程单元编程的速度慢于所述下物理编程单元,该存储器管理方法包括: 设定每一所述物理擦除单元的一操作模式包括一第一模式、一第二模式与一第三模式,其中该第一模式表示所述物理编程单元可被编程,该第二模式表示所述上物理编程单元为不可被编程,该第三模式表示所述上物理编程单元为不可被编程,并且该操作模式无法从该第三模式切换至该第一模式或该第二模式; 将所述物理擦除单元划分为一第一区与一第二区,其中该第一区的每一所述物理擦除单元是可切换地操作在该第一模式或该第二模式,并且该第二区的每一所述物理擦除单元的该操作模式为该第三模式;以及 当判断该第一区的一第一物理擦除单元是属于危险擦除单元时,将该第一物理擦除单元的该操作模式设定为该第三模式,并且将该第一物理擦除单元划分为该第二区。
2.如权利要求1所述的存储器管理方法,还包括: 当该第一物理擦除单元的一擦除次数大于一临界值时,判断该第一物理擦除单元是属于该危险擦除单元。
3.如权利要求1所述的存储器管理方法,其中每一所述物理编程单元包括一数据位区与一冗余位区,该数据位区是用以储存一使用者数据,并且该冗余位区是用以储存一错误检查与校正码,该存储器管理方法还包括: 读取该第一物理擦除单元中所述物理编程单元的一第一物理编程单元; 根据该第一物理编程单元中的`该错误检查与校正码来判断该第一物理编程单元的该使用者数据是否发生错误; 若该第一物理编程单元的该使用者数据发生错误,判断该使用者数据的一错误位数是否超过一预设值;以及 若该错误位数超过该预设值,判断该第一物理擦除单元是属于该危险擦除单元。
4.如权利要求3所述的存储器管理方法,其中判断第一物理编程单元的该使用者数据的该错误位数是否超过该预设值的步骤包括: 设定该预设值为该第一物理编程单元的该错误检查与校正码所能校正的上限。
5.如权利要求1所述的存储器管理方法,还包括: 配置多个逻辑地址以映射至一部分的所述物理编程单元,其中所述逻辑地址相对应的存储器空间的集合为一开放存储器空间; 判断在该第一物理擦除单元被划分为该第二区以后,所述物理擦除单元的一可用存储器空间容量是否小于该开放存储器空间的容量,其中,该可用存储器空间容量为所述物理擦除单元中可用于储存使用者信息的物理擦除单元的容量总和;以及 若该可用存储器空间容量小于该开放存储器空间的容量,宣告该可重写式非易失性存储器进入一写入保护状态。
6.如权利要求1所述的存储器管理方法,还包括: 建立一映射表,其中该映射表用以记录每一所述物理擦除单元的该操作模式。
7.一种存储器储存装置,包括: 一连接器,用以电性连接至一主机系统; 一可重写式非易失性存储器模块,包括多个物理擦除单元,其中每一所述物理擦除单元包括多个物理编程单元组,每一所述物理编程单元组包括多个物理编程单元,并且每一所述物理编程单元组的所述物理编程单元包括一下物理编程单元与一上物理编程单元,其中所述上物理编程单元编程的速度慢于所述下物理编程单元;以及 一存储器控制器,电性连接至该连接器与该可重写式非易失性存储器模块,用以设定每一所述物理擦除单元的一操作模式包括一第一模式、一第二模式与一第三模式,其中该第一模式表示所述物理编程单元可被编程,该第二模式表示所述上物理编程单元为不可被编程,该第三模式表示所述上物理编程单元为不可被编程,并且该操作模式无法从该第三模式切换至该第一模式或第二模式, 其中,该存储器控制器用以将所述物理擦除单元划分为一第一区与一第二区,其中该第一区的每一所述物理擦除单元是可切换地操作在该第一模式或该第二模式,并且该第二区的每一所述物理擦除单元的该操作模式为该第三模式, 其中,当判断该第一区的一第一物理擦除单元是属于危险擦除单元时,该存储器控制器用以将该第一物理擦除单元的该操作模式设定为该第三模式,并且将该第一物理擦除单元划分为该第二区。
8.如权利要求7所述的存储器储存装置,其中该存储器控制器还用以在该第一物理擦除单元的一擦除次数大于一临界值 时,判断该第一物理擦除单元是属于该危险擦除单元。
9.如权利要求7所述的存储器储存装置,其中每一所述物理编程单元包括一数据位区与一冗余位区,该数据位区是用以储存一使用者数据,并且该冗余位区是用以储存一错误检查与校正码, 该存储器控制器还用以读取该第一物理擦除单元中所述物理编程单元的一第一物理编程单元,并根据该第一物理编程单元中的该错误检查与校正码来判断该第一物理编程单元的该使用者数据是否发生错误, 其中,若该第一物理编程单元的该使用者数据发生错误,该存储器控制器还用以判断该使用者数据的一错误位数是否超过一预设值, 若该错误位数超过该预设值,该存储器控制器还用以判断该第一物理擦除单元是属于该危险擦除单元。
10.如权利要求9所述的存储器储存装置,其中该存储器控制器还用以设定该预设值为该第一物理编程单元的该错误检查与校正码所能校正的上限。
11.如权利要求7所述的存储器储存装置,其中该存储器控制器还用以配置多个逻辑地址以映射至一部分的所述物理编程单元,其中所述逻辑地址相对应的存储器空间的集合为一开放存储器空间, 该存储器控制器还用以判断在该第一物理擦除单元被划分为该第二区以后,所述物理擦除单元的一可用存储器空间容量是否小于该开放存储器空间的容量,其中该可用存储器空间容量为所述物理擦除单元中可用于储存使用者信息的物理擦除单元的容量总和, 若该可用存储器空间容量小于该开放存储器空间的容量,该存储器控制器还用以宣告该可重写式非易失性存储器进入为一写入保护状态。
12.如权利要求7所述的存储器储存装置,其中该存储器控制器还用以建立一映射表,其中该映射表用以记录每一所述物理擦除单元的该操作模式。
13.一种存储器控制器,用于控制一可重写式非易失性存储器模块,该存储器控制器包括: 一主机接口,用以电性连接至一主机系统; 一存储器接口,用以电性连接至该可重写式非易失性存储器模块,其中该可重写式非易失性存储器模块包括多个物理擦除单元,每一所述物理擦除单元包括多个物理编程单元组,每一所述物理编程单元组包括多个物理编程单元,并且每一所述物理编程单元组的所述物理编程单元包括一下物理编程单元与一上物理编程单元,其中所述上物理编程单元编程的速度慢于所述下物理编程单元;以及 一存储器管理电路,电性连接至该主机接口与该存储器接口,用以设定每一所述物理擦除单兀的一操作模式包括一第一模式、一第二模式与一第三模式,其中该第一模式表不所述物理编程单元可被编程,该第二模式表示所述上物理编程单元为不可被编程,该第三模式表示所述上物理编程单元为不被编程,并且该操作模式无法从该第三模式切换至该第一模式或第二模式, 其中,该存储器管理电路用以将所述物理擦除单元划分为一第一区与一第二区,其中该第一区的每一所述物理擦除单元是可切换地操作在该第一模式或该第二模式,并且该第二区的每一所述物理擦除单元的该操作模式为该第三模式, 其中,当判断该第一区的一第一物理擦除单元是属于危险擦除单元时,该存储器管理电路用以将该第一物理擦除单元的该操作模式设定为该第三模式,并且将该第一物理擦除单元划分为该第二区。
14.如权利要求13所述的 存储器控制器,其中该存储器管理电路还用以在该第一物理擦除单元的一擦除次数大于一临界值时,判断该第一物理擦除单元是属于该危险擦除单J Li ο
15.如权利要求13所述的存储器控制器,其中每一所述物理编程单元包括一数据位区与一冗余位区,该数据位区是用以储存一使用者数据,并且该冗余位区是用以储存一错误检查与校正码, 该存储器管理电路还用以读取该第一物理擦除单元中所述物理编程单元的一第一物理编程单元,并根据该第一物理编程单元中的该错误检查与校正码来判断该第一物理编程单元的该使用者数据是否发生错误, 其中,若该第一物理编程单元的该使用者数据发生错误,该存储器管理电路还用以判断该使用者数据的一错误位数是否超过一预设值, 若该错误位数超过该预设值,该存储器管理电路还用以判断该第一物理擦除单元是属于该危险擦除单元。
16.如权利要求15所述的存储器控制器,其中该存储器管理电路还用以设定该预设值为该第一物理编程单元的该错误检查与校正码所能校正的上限。
17.如权利要求13所述的存储器控制器,其中该存储器管理电路还用以配置多个逻辑地址以映射至一部分的所述物理编程单元,其中所述逻辑地址相对应的存储器空间的集合为一开放存储器空间,该存储器管理电路还用以判断在该第一物理擦除单元被划分为该第二区以后,所述物理擦除单元的一可用存储器空间容量是否小于该开放存储器空间的容量,其中该可用存储器空间容量为所述物理擦除单元中可用于储存使用者信息的物理擦除单元的容量总和,若该可用存储器空间容量小于该开放存储器空间的容量,该存储器管理电路还用以宣告该可重写式非易失性存储器进入为一写入保护状态。
18.如权利要求13所述的存储器控制器,其中该存储器管理电路还用以建立一映射表,其中该映射表用以记录每一`所述物理擦除单元的该操作模式。
【文档编号】G06F12/06GK103513930SQ201210209085
【公开日】2014年1月15日 申请日期:2012年6月20日 优先权日:2012年6月20日
【发明者】叶志刚 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1