CN103425586B - 储存单元管理方法、存储器控制器与存储器储存装置 - Google Patents
储存单元管理方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN103425586B CN103425586B CN201210154727.6A CN201210154727A CN103425586B CN 103425586 B CN103425586 B CN 103425586B CN 201210154727 A CN201210154727 A CN 201210154727A CN 103425586 B CN103425586 B CN 103425586B
- Authority
- CN
- China
- Prior art keywords
- memory module
- rewritable nonvolatile
- memory
- physical location
- nonvolatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明涉及一种储存单元管理方法、存储器控制器与存储器储存装置。该储存单元管理方法,用以管理可重写式非易失性存储器模块中的物理单元,上述物理单元分为数据区与闲置区。此方法包括配置数个逻辑单元以映射属于数据区的物理单元,并判断可重写式非易失性存储器模块中是否存在冷数据。此方法还包括若判定可重写式非易失性存储器模块中不存在冷数据,则对所有物理单元执行第一平均磨损程序,若判定可重写式非易失性存储器模块中存在冷数据,则对所有物理单元执行第二平均磨损程序。
Description
技术领域
本发明涉及一种存储器储存装置的储存单元管理方法,特别是涉及一种识别冷数据以管理储存单元的方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
可重写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小与无机械结构等特性,故被广泛地应用于各种电子装置。一般来说,可重写式非易失性存储器具有多个存储器区块,且每一存储器区块包括多个页面。其中,存储器区块为数据抹除的最小单位,而页面则是数据写入的最小单位。虽然可重写式非易失性存储器具有上述优点,然而每一存储器区块的抹除次数是有限的。例如,存储器区块在抹除一万次后就会磨损,当存储器区块磨损导致储存容量的部分容量损失或性能明显退化时,会造成使用者所储存的数据遗失或无法储存数据等不利影响。
存储器区块的磨损取决于每一存储器区块中被编程(program)或抹除的次数。也就是,若一存储器区块仅被编程(或者写入)一次,尔后未被再次编程时,此存储器区块的磨损将相对地低。反之,若一存储器区块被重复地编程与抹除时,则此存储器区块的磨损就会相对地高。例如,当存取存储器区块的主机重复地使用相同逻辑区块地址来写入数据时,则可重写式非易失性存储器内的相同物理位置的存储器区块会被重复地写入与抹除。
当某些存储器区块被磨损而其他存储器区块相对地未磨损时,受磨损存储器区块的存在会降低可重写式非易失性存储器的性能。除了受磨损存储器区块本身性能的退化之外,可重写式非易失性存储器整体的性能亦会降低。也就是,当可重写式非易失性存储器发生超过一阈值数的受磨损存储器区块时,即使仍有其他存储器区块未磨损,此可重写式非易失性存储器仍会被判定为无法再使用。当实质上未磨损存储器区块被视为无法使用时,将会造成资源实际上的浪费。
为了增加可重写式非易失性存储器的寿命,会尽可能平均地使用其中的存储器区块。一般来说,可重写式非易失性存储器的存储器区块会区分为数据区与闲置区,传统平均磨损(wear-leveling)的方法是在可重写式非易失性存储器每执行一段固定的时间后,便将数据区中的存储器区块与闲置区中的存储器区块交换,以期让在数据区中抹除次数较少的存储器区块可被交换至闲置区以供编程(或写入)使用。
在将数据区中抹除次数较少的存储器区块交换至闲置区时,通常会从闲置区中选择具有较高抹除次数的存储器区块交换至数据区,但倘若此存储器区块储存的数据属于频繁更新的数据,则此存储器区块很可能在数据更新时再次被关联至闲置区。然而,在下一次需执行平均磨损时,已再被关联至闲置区的这个存储器区块因其具有抹除次数高于其他存储器区块,而再次被交换至数据区的机会将远比其他存储器区块高出许多。
发明内容
有鉴于此,本发明提供一种存储器储存装置,其存储器控制器与储存单元管理方法,其能避免物理单元的抹除次数不平均,以延长存储器储存装置的使用寿命。
本发明提出一种储存单元管理方法,用以管理可重写式非易失性存储器模块中的多个物理单元。此方法包括配置数个逻辑单元以映射部分的物理单元。判断可重写式非易失性存储器模块中是否存在冷数据(cold data)。若判定可重写式非易失性存储器模块中不存在冷数据,则对所有物理单元执行第一平均磨损程序,若判定可重写式非易失性存储器模块中存在冷数据,则对所有物理单元执行第二平均磨损程序。
在本发明的一范例实施例中,其中上述物理单元至少分组为数据区与闲置区,在判断可重写式非易失性存储器模块中是否存在冷数据的步骤包括在数据区与闲置区之间执行物理单元交换时,记录第一存储器抹除次数,其中第一存储器抹除次数为属于闲置区的一特定物理单元被交换至数据区时,可重写式非易失性存储器模块的目前存储器抹除次数。随着可重写式非易失性存储器模块的使用更新可重写式非易失性存储器模块的存储器抹除次数。当特定物理单元被再次关联至闲置区时,取得可重写式非易失性存储器模块在此时的存储器抹除次数以作为第二存储器抹除次数。将第一与第二存储器抹除次数之间的差值与预定值进行比较。若差值小于或等于预定值,则判定可重写式非易失性存储器模块中不存在冷数据。若差值大于预定值,则判定可重写式非易失性存储器模块中存在冷数据。
在本发明的一范例实施例中,其中预定值为物理单元的总数。
在本发明的一范例实施例中,其中判断可重写式非易失性存储器模块中是否存在冷数据的步骤包括记录各逻辑单元的写入次数。在所有逻辑单元中取得所对应的写入次数大于0的数个已使用逻辑单元,并根据各已使用逻辑单元的写入次数的分布特性,判断可重写式非易失性存储器模块中是否存在冷数据。
在本发明的一范例实施例中,其中根据各已使用逻辑单元的写入次数的分布特性,判断可重写式非易失性存储器模块中是否存在冷数据的步骤包括若各已使用逻辑单元两两之间的写入次数的差值均不超过误差范围,则判定可重写式非易失性存储器模块中不存在冷数据。若各已使用逻辑单元两两之间的写入次数的差值有超过误差范围,则判定可重写式非易失性存储器模块中存在冷数据。
在本发明的一范例实施例中,其中根据各已使用逻辑单元的写入次数的分布特性,判断可重写式非易失性存储器模块中是否存在冷数据的步骤包括若各已使用逻辑单元的写入次数均大于或等于特定次数,则判定可重写式非易失性存储器模块中不存在冷数据。若在各已使用逻辑单元的写入次数中存在小于特定次数的写入次数,则判定可重写式非易失性存储器模块中存在冷数据。
在本发明的一范例实施例中,其中特定次数为各已使用逻辑单元的写入次数中一最大写入次数的分数值。
在本发明的一范例实施例中,其中上述物理单元至少分组为数据区与闲置区,第一平均磨损程序是每隔第一时间间隔在数据区与闲置区之间执行物理单元交换。第二平均磨损程序是每隔第二时间间隔在数据区与闲置区之间执行物理单元交换。其中第一时间间隔大于第二时间间隔。
在本发明的一范例实施例中,其中每隔第一时间间隔在数据区与闲置区之间执行物理单元交换时,是从属于闲置区的所有物理单元中随机选择物理单元或选择抹除次数较高但非最高的物理单元来与数据区中具有最小抹除次数的物理单元交换。每隔第二时间间隔在数据区与闲置区之间执行物理单元交换时,是从属于闲置区的所有物理单元中选择抹除次数最高的物理单元来与数据区中具有最小抹除次数的物理单元交换。
在本发明的一范例实施例中,其中上述物理单元至少分组为数据区与闲置区,第一平均磨损程序是不在数据区与闲置区之间执行物理单元交换。第二平均磨损程序是每隔预设时间间隔在数据区与闲置区之间执行物理单元交换。
从另一观点来看,本发明提出一种存储器控制器,用于具有可重写式非易失性存储器模块的存储器储存装置。此存储器控制器包括主机系统接口、存储器接口,以及存储器管理电路。主机系统接口用以电性连接主机系统。存储器接口用以电性连接可重写式非易失性存储器模块,其中可重写式非易失性存储器模块包括多个物理单元。存储器管理电路电性连接至主机系统接口与存储器接口,用以配置多个逻辑单元以映射部分的物理单元。其中,存储器管理电路判断可重写式非易失性存储器模块中是否存在冷数据。若判定可重写式非易失性存储器模块中不存在冷数据,则存储器管理电路对物理单元执行第一平均磨损程序。若判定可重写式非易失性存储器模块中存在冷数据,则存储器管理电路对物理单元执行第二平均磨损程序。
在本发明的一范例实施例中,其中存储器管理电路将所有物理单元至少分组为数据区与闲置区,并在数据区与闲置区之间执行物理单元交换时,记录第一存储器抹除次数,其中第一存储器抹除次数为属于闲置区的一特定物理单元被交换至数据区时,可重写式非易失性存储器模块的目前存储器抹除次数。存储器管理电路随着可重写式非易失性存储器模块的使用更新可重写式非易失性存储器模块的存储器抹除次数。当特定物理单元被再次关联至闲置区时,存储器管理电路取得可重写式非易失性存储器模块在此时的存储器抹除次数以作为第二存储器抹除次数。存储器管理电路将第一与第二存储器抹除次数之间的差值与预定值进行比较。若差值小于或等于预定值,存储器管理电路判定可重写式非易失性存储器模块中不存在冷数据。若差值大于预定值,存储器管理电路判定可重写式非易失性存储器模块中存在冷数据。
在本发明的一范例实施例中,其中存储器管理电路记录各逻辑单元的写入次数,在所有逻辑单元中取得所对应的写入次数大于0的数个已使用逻辑单元,并根据各已使用逻辑单元的写入次数的分布特性,判断可重写式非易失性存储器模块中是否存在冷数据。
在本发明的一范例实施例中,其中若各已使用逻辑单元两两之间的写入次数的差值均不超过误差范围,存储器管理电路判定可重写式非易失性存储器模块中不存在冷数据。若各已使用逻辑单元两两之间的写入次数的差值有超过误差范围,存储器管理电路判定可重写式非易失性存储器模块中存在冷数据。
在本发明的一范例实施例中,其中存储器管理电路将所有物理单元至少分组为数据区与闲置区,第一平均磨损程序是每隔第一时间间隔在数据区与闲置区之间执行物理单元交换。第二平均磨损程序是每隔第二时间间隔在数据区与闲置区之间执行物理单元交换。其中第一时间间隔大于第二时间间隔。
在本发明的一范例实施例中,其中存储器管理电路在每隔第一时间间隔在数据区与闲置区之间执行物理单元交换时,是从属于闲置区的所有物理单元中随机选择物理单元或选择抹除次数较高但非最高的物理单元来与数据区中具有最小抹除次数的物理单元交换。存储器管理电路在每隔第二时间间隔在数据区与闲置区之间执行物理单元交换时,是从属于闲置区的所有物理单元中选择抹除次数最高的物理单元来与数据区中具有最小抹除次数的物理单元交换。
在本发明的一范例实施例中,其中存储器管理电路将所有物理单元至少分组为数据区与闲置区,第一平均磨损程序是不在数据区与闲置区之间执行物理单元交换。第二平均磨损程序是每隔预设时间间隔在数据区与闲置区之间执行物理单元交换。
从又一观点来看,本发明提出一种存储器储存装置,包括可重写式非易失性存储器模块、连接器,以及存储器控制器。其中可重写式非易失性存储器模块具有多个物理单元。连接器用以电性连接主机系统。存储器控制器电性连接至可重写式非易失性存储器模块与连接器,用以配置多个逻辑单元以映射部分的物理单元。其中,存储器控制器判断可重写式非易失性存储器模块中是否存在冷数据。若判定可重写式非易失性存储器模块中不存在冷数据,则存储器控制器对物理单元执行第一平均磨损程序。若判定可重写式非易失性存储器模块中存在冷数据,则存储器控制器对物理单元执行一第二平均磨损程序。
在本发明的一范例实施例中,其中存储器控制器将所有物理单元至少分组为数据区与闲置区,并在数据区与闲置区之间执行物理单元交换时,记录第一存储器抹除次数,其中第一存储器抹除次数为属于闲置区的一特定物理单元被交换至数据区时,可重写式非易失性存储器模块的目前存储器抹除次数。存储器控制器随着可重写式非易失性存储器模块的使用更新可重写式非易失性存储器模块的存储器抹除次数。当特定物理单元被再次关联至闲置区时,存储器控制器取得可重写式非易失性存储器模块在此时的存储器抹除次数以作为第二存储器抹除次数。存储器控制器将第一与第二存储器抹除次数之间的差值与预定值进行比较。若差值小于或等于预定值,存储器控制器判定可重写式非易失性存储器模块中不存在冷数据。若差值大于预定值,存储器控制器判定可重写式非易失性存储器模块中存在冷数据。
在本发明的一范例实施例中,其中存储器控制器记录各逻辑单元的写入次数,在所有逻辑单元中取得所对应的写入次数大于0的数个已使用逻辑单元,并根据各已使用逻辑单元的写入次数的分布特性,判断可重写式非易失性存储器模块中是否存在冷数据。
在本发明的一范例实施例中,其中若各已使用逻辑单元两两之间的写入次数的差值均不超过误差范围,则存储器控制器判定可重写式非易失性存储器模块中不存在冷数据。若各已使用逻辑单元两两之间的写入次数的差值有超过误差范围,则存储器控制器判定可重写式非易失性存储器模块中存在冷数据。
在本发明的一范例实施例中,其中存储器控制器将所有物理单元至少分组为数据区与闲置区,第一平均磨损程序是每隔第一时间间隔在数据区与闲置区之间执行物理单元交换。第二平均磨损程序是每隔第二时间间隔在数据区与闲置区之间执行物理单元交换。其中第一时间间隔大于第二时间间隔。
在本发明的一范例实施例中,其中存储器控制器在每隔第一时间间隔在数据区与闲置区之间执行物理单元交换时,是从属于闲置区的所有物理单元中随机选择物理单元或选择抹除次数较高但非最高的物理单元来与数据区中具有最小抹除次数的物理单元交换。存储器控制器在每隔第二时间间隔在数据区与闲置区之间执行物理单元交换时,是从属于闲置区的所有物理单元中选择抹除次数最高的物理单元来与数据区中具有最小抹除次数的物理单元交换。
在本发明的一范例实施例中,其中存储器控制器将所有物理单元至少分组为数据区与闲置区,第一平均磨损程序是不在数据区与闲置区之间执行物理单元交换。第二平均磨损程序是每隔预设时间间隔在数据区与闲置区之间执行物理单元交换。
基于上述,本发明是藉由判断可重写式非易失性存储器模块中是否存在冷数据而依据判断结果采取对应方式来管理其中的物理单元。例如,依据是否存在冷数据而对物理单元施以不同的平均磨损程序。如此能有效平均物理单元的抹除次数,以延长存储器储存装置的使用寿命。
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。
附图说明
图1A是根据本发明一范例实施例绘示的使用存储器储存装置的主机系统的示意图。
图1B是根据本发明范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据本发明一范例实施例绘示的存储器控制器的概要方块图。
图4是根据本发明的一范例实施例所绘示的管理物理区块的示意图。
图5是根据本发明的一范例实施例所绘示的储存单元管理方法的流程图。
图6是根据本发明的另一范例实施例所绘示的储存单元管理方法的流程图。
图7是根据本发明的又一范例实施例所绘示的储存单元管理方法的流程图。
图8是根据本发明的再一范例实施例所绘示的储存单元管理方法的流程图。
附图符号说明
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):逻辑区块
S510~S580:本发明的一实施例所述的储存单元管理方法的各步骤
S610~S670:本发明的另一实施例所述的储存单元管理方法的各步骤
S710~S770:本发明的又一实施例所述的储存单元管理方法的各步骤
S810~S830:本发明的再一实施例所述的储存单元管理方法的各步骤
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存系统)包括可重写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图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可还包括其他装置。
在本发明范例实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至存储器储存装置100,或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的存储卡1214、随身盘1212、或固态硬盘(Solid State Drive,SSD)1216。
一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是手机、数码相机、摄影机、通讯装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数码相机1310时,存储器储存装置则为其所使用的安全数字(Secure Digital,SD)卡1312、多媒体存储(Multimedia Card,MMC)卡1314、存储棒(Memory Stick)1316、小型快闪(Compact Flash,CF)卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置100的方块图。请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可重写式非易失性存储器模块106。
连接器102电性连接至存储器控制器104,并且用以电性连接主机系统1000。在本范例实施例中,连接器102所支持的传输接口种类为序列先进附件(Serial Advanced Technology Attachment,SATA)接口。然而在其他范例实施例中,连接器102的传输接口种类也可以是通用序列总线(UniversalSerial Bus,USB)接口、多媒体储存卡(Multimedia Card,MMC)接口、平行先进附件(Parallel Advanced Technology Attachment,PATA)接口、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394接口、高速周边零件连接接口(Peripheral Component InterconnectExpress,PCI Express)接口、安全数字(Secure Digital,SD)接口、存储棒(Memory Stick,MS)接口、小型快闪(Compact Flash,CF)接口,或整合驱动电子(Integrated Drive Electronics,IDE)接口等任何适用的接口,在此并不加以限制。
存储器控制器104会执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并根据主机系统1000的指令在可重写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。其中,存储器控制器104还特别用以根据本范例实施例的储存单元管理方法来采取对应的规则进行管理。例如,分别在可重写式非易失性存储器模块106具有冷数据以及不具有冷数据的情况下采取不同的平均磨损(wear-leveling)程序。本范例实施例的储存单元管理方法将于后结合附图再作说明。
可重写式非易失性存储器模块106电性连接至存储器控制器104。可重写式非易失性存储器模块106包括多个物理单元。在一范例实施例中,每一物理单元是由一个物理区块(一物理区块包括多个物理页面)所组成,然而本发明并不局限于此。在其他范例实施例中,每一物理单元也可由数个物理区块所组成,在此并不对物理单元的组成加以限制。举例来说,可重写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,MLC)NAND快闪存储器模块,但本发明不限于此,可重写式非易失性存储器模块106也可以是单阶存储单元(Single Level Cell,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接口、PCI Express接口、SD接口、MS接口、CF接口、IDE接口或符合其他接口标准的接口。
存储器管理电路1043用以控制存储器控制器104的整体运作。具体来说,存储器管理电路1043具有多个控制指令,在存储器储存装置100被运转(power on)时,上述控制指令会被执行以实现本范例实施例的储存单元管理方法。
在一范例实施例中,存储器管理电路1043的控制指令是以固件型式来实作。例如,存储器管理电路1043具有微处理器单元(未绘示)与只读存储器(未绘示),且上述控制指令是被烧录在只读存储器中。当存储器储存装置100运作时,上述控制指令会由微处理器单元来执行以完成本范例实施例的储存单元管理方法。
在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以程序码型式储存于可重写式非易失性存储器模块106的特定区域(例如,可重写式非易失性存储器模块106中专用于存放系统数据的系统区)中。此外,存储器管理电路1043具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。其中,只读存储器具有驱动码段,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可重写式非易失性存储器模块106中的控制指令载入至存储器管理电路1043的随机存取存储器中。之后,微处理器单元会运转上述控制指令以执行本范例实施例的储存单元管理方法。
此外,在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以一硬件型式来实作。举例来说,存储器管理电路1043包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可重写式非易失性存储器模块106的物理单元。存储器写入单元用以对可重写式非易失性存储器模块106下达写入指令以将数据写入至可重写式非易失性存储器模块106中。存储器读取单元用以对可重写式非易失性存储器模块106下达读取指令以从可重写式非易失性存储器模块106中读取数据。存储器抹除单元用以对可重写式非易失性存储器模块106下达抹除指令以将数据从可重写式非易失性存储器模块106中抹除。而数据处理单元用以处理欲写入至可重写式非易失性存储器模块106的数据以及从可重写式非易失性存储器模块106中读取的数据。
存储器接口1045电性连接至存储器管理电路1043,以使存储器控制器104与可重写式非易失性存储器模块106相电性连接。据此,存储器控制器104可对可重写式非易失性存储器模块106进行相关运作。也就是说,欲写入至可重写式非易失性存储器模块106的数据会经由存储器接口1045转换为可重写式非易失性存储器模块106所能接受的格式。
在本发明的另一范例实施例中,存储器控制器104还包括错误检查与校正电路3002。错误检查与校正电路3002电性连接至存储器管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路3002会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorChecking and Correcting Code,ECC Code),且存储器管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可重写式非易失性存储器模块106。之后当存储器管理电路1043从可重写式非易失性存储器模块106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3002会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序,以识别该笔数据是否存在错误位。
在本发明的另一范例实施例中,存储器控制器104还包括缓冲存储器3004。缓冲存储器3004可以是静态随机存取存储器(Static Random AccessMemory,SRAM)、或动态随机存取存储器(Dynamic Random AccessMemory,DRAM)等,本发明并不加以限制。缓冲存储器3004电性连接至存储器管理电路1043,用以暂存来自于主机系统1000的指令与数据,或暂存来自于可重写式非易失性存储器模块106的数据。
在本发明又一范例实施例中,存储器控制器104还包括电源管理电路3006。电源管理电路3006电性连接至存储器管理电路1043,用以控制存储器储存装置100的电源。
为了方便说明,在以下的范例实施例中假设每一物理单元是由一个物理区块组成。图4是根据本发明的一范例实施例所绘示的管理可重写式非易失性存储器模块的物理区块的示意图。必须说明的是,以下虽然是以物理区块作为管理的单位,然而本发明并不拘限于此。
此外,在以下描述可重写式非易失性存储器模块106的物理区块的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作物理区块是逻辑上的概念。也就是说,可重写式非易失性存储器模块106的物理区块的实际位置并未更动,而是逻辑上对可重写式非易失性存储器模块106的物理区块进行上述操作。
请参照图4,本范例实施例的可重写式非易失性存储器模块106包括物理区块410(0)~410(N)。存储器控制器104中的存储器管理电路1043会将物理区块410(0)~410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。其中,图4所标示的F、S、R与N为正整数,代表各区配置的物理区块数量,其可由存储器储存装置100的制造商依据所使用的可重写式非易失性存储器模块106的容量来设定。
逻辑上属于数据区502与闲置区504的物理区块是用以储存来自于主机系统1000的数据。具体来说,对于被分组至数据区502的物理区块,在其尚未储存任何数据之前,会被视为空的物理区块。当主机系统1000下达写入指令欲将数据写入至可重写式非易失性存储器模块106时,存储器管理电路1043会从数据区502中提取空的物理区块来写入数据。然而在主机系统1000下达写入指令而数据区502中已无空的物理区块时,存储器管理电路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(0)~610(L)中的逻辑页面会映射物理区块410(0)~410(F-1)中的物理页面。
详言之,存储器管理电路1043将所配置的逻辑区块610(0)~610(L)提供给主机系统1000,并维护逻辑区块-物理区块映射表(logical block-physicalblock mapping table)以记录逻辑区块610(0)~610(L)与物理区块410(0)~410(F-1)的映射关系。因此,当主机系统1000欲存取一逻辑存取地址时,存储器管理电路1043会将此逻辑存取地址转换为对应的逻辑区块的逻辑页面,再通过逻辑区块-物理区块映射表找到其所映射的物理页面来进行存取。
基于可重写式非易失性存储器模块106的特性,已写入数据的物理区块必须先被抹除后才可再用于写入数据。由于物理区块为抹除的最小单位,存储器管理电路1043会记录每一物理区块的抹除次数。举例来说,物理区块与其抹除次数可记录为一对应表并储存于缓冲存储器3004。存储器管理电路1043亦能据此统计可重写式非易失性存储器模块106到目前为止所发生的存储器抹除次数(即,物理区块410(0)~410(N)的抹除次数总合)。
在存储器储存装置100被使用的期间,每当有物理区块被执行抹除运作,存储器管理电路1043会更新此物理区块的抹除次数。举例来说,当主机系统1000需更新已储存在数据区502的物理区块410(0)中的数据时,存储器管理电路1043会从闲置区504提取物理区块(例如,物理区块410(F))来写入欲更新的新数据以及不需更新的旧有效数据,并将属于数据区502的物理区块410(0)抹除并关连至闲置区504,以及将物理区块410(F)关连至数据区502。由此可见,频繁地更新数据会导致可重写式非易失性存储器模块106的部分物理区块经常需要在数据区502与闲置区504之间轮替,而经常轮替的物理区块会有较高的抹除次数。反之,对于被写入可重写式非易失性存储器模块106后就长时间未曾更动或甚至被设定成只读属性的数据(以下将这类数据称为冷数据(cold data)),储存此类数据的物理区块因数据鲜少更新或不能更新,因此其抹除次数会相对较低。
一般来说,存储器管理电路1043会执行平均磨损(wear-leveling)程序来平均可重写式非易失性存储器模块106内所有物理区块的磨损程度。详言之,平均磨损程序是分别在数据区502与闲置区504选择一物理区块并进行这两个物理区块的交换动作。基本上,存储器管理电路1043在执行物理区块交换时会从数据区502中选择具有较低抹除次数的物理区块和闲置区504中具有较高抹除次数的物理区块进行交换,以期将抹除次数低的物理区块换至闲置区504以供后续写入使用。
倘若可重写式非易失性存储器模块106中存在冷数据,由于用以储存冷数据的物理区块具有较低的抹除次数,因此容易被选择和闲置区504中具有较高抹除次数的物理区块交换。且当原属于闲置区504且具有较高抹除次数的物理区块被换至数据区502来储存冷数据时,因冷数据的更新机会低,此物理区块因数据更新而快速轮替回闲置区504的机率也不高。
反之,倘若可重写式非易失性存储器模块106所储存的都是更新频率高的数据(即,不存在冷数据),存储器管理电路1043在要进行平均磨损程序时,即便是从数据区502选择抹除次数较低的物理区块与闲置区504中具有较高抹除次数的物理区块交换,被换至数据区502且具有较高抹除次数的物理区块很可能因为储存的是需要经常更新的数据,而很快地轮替回闲置区504。待下次需要执行平均磨损程序时,此物理区块因具有较高的抹除次数容易再次被选择交换至数据区502。
举例来说,假设可重写式非易失性存储器106的数据区502中具有一千个未使用的物理区块且其中有一物理区块具有高于其他物理区块的抹除次数。在固定每隔一段时间便执行一次平均磨损程序的情况下(例如,可重写式非易失性存储器106每经历一百次抹除操作便执行一次平均磨损程序),此物理区块不断在数据区502与闲置区504之间交换的次数将是其他物理区块的10倍,因而此物理区块的磨损程度会大幅高出其他物理区块。如此一来,原用以平均使用物理区块所进行的平均磨损程序却会导致物理区块的抹除次数不平均的结果。
为避免上述情况,存储器管理电路1043会识别可重写式非易失性存储器模块106中是否存在冷数据,并根据识别结果采取不同的平均磨损程序,以达到平均物理区块的磨损的目的。以下将以数个范例实施例说明存储器管理电路1043如何识别可重写式非易失性存储器模块106是否具有冷数据,以及根据识别结果采取不同平均磨损程序的详细步骤。
在一范例实施例中,每当存储器管理电路1043在执行平均磨损程序而将闲置区504中的一物理区块换至数据区502,存储器管理电路1043会判断该物理区块是否很快从数据区502被再次换回闲置区504。若该物理区块很快地被换回闲置区504,表示可重写式非易失性存储器模块106所储存的都是更新频率高的数据(即,不存在冷数据),而倘若该物理区块历经长时间才被换回闲置区504,则判定可重写式非易失性存储器模块106具有冷数据。在本范例实施例中,存储器管理电路1043是以可重写式非易失性存储器模块106发生的抹除次数来判断物理区块由数据区502被再次关联至闲置区504的时间长短。
图5是根据本发明的一范例实施例所绘示的储存单元管理方法的流程图。请参阅图5,首先如步骤S510所示,每当要执行平均磨损程序而在数据区502与闲置区504之间进行物理区块交换时,存储器管理电路1043记录一第一存储器抹除次数。此第一存储器抹除次数是当原属于闲置区504的物理区块(以下称之为特定物理区块)被交换至数据区502时,可重写式非易失性存储器模块106目前的存储器抹除次数。
接下来在步骤S520中,随着可重写式非易失性存储器模块106的使用,存储器管理电路1043会不断更新可重写式非易失性存储器模块106的存储器抹除次数。
在步骤S530中,一旦特定物理区块被再次关联至闲置区504时,存储器管理电路1043取得可重写式非易失性存储器模块106在此时的存储器抹除次数以作为第二存储器抹除次数。
并如步骤S540所示,将第一存储器抹除次数与第二存储器抹除次数之间的差值与一预定值进行比较,以判断差值是否小于或等于预定值。
倘若差值小于或等于预定值,则如步骤S550所示,存储器管理电路1043识别可重写式非易失性存储器模块106中不存在冷数据。若差值大于预定值,如步骤S570所示,存储器管理电路1043识别可重写式非易失性存储器模块106中存在冷数据。
在本范例实施例中,预定值例如是物理区块410(0)~410(N)的总数。举例来说,假设物理区块410(0)~410(N)的总数为两千,且假设在特定物理区块被交换至数据区502之际,可重写式非易失性存储器模块106的存储器抹除次数为一百次,而当特定物理区块再次被关联至闲置区504时,可重写式非易失性存储器模块106的存储器抹除次数为一万次。亦即,特定物理区块被交换至数据区502后,在存储器储存装置100发生9900次抹除操作后才再次回到闲置区504,由于存储器抹除次数的差值大于物理区块总数,存储器管理电路1043会认为特定物理区块在上一次执行平均磨损程序时是被换到数据区502来储存冷数据,因而产生在可重写式非易失性存储器模块106中存在冷数据的识别结果。
然而,倘若在特定物理区块再次被关联至闲置区504时,可重写式非易失性存储器模块106的存储器抹除次数为一千次,表示特定物理区块在可重写式非易失性存储器模块106发生900次抹除操作后便从数据区502再次被关联为闲置区504。由于特定物理区块被交换至数据区502与被换回闲置区504的存储器抹除次数差值小于或等于物理区块总数,存储器管理电路1043会判定特定物理区块在前次执行平均磨损程序时是被换到数据区502以储存经常需要更新的数据。据此,存储器管理电路1043识别在可重写式非易失性存储器模块106中不存在冷数据。
在识别可重写式非易失性存储器模块106中不存在冷数据的情况下,如步骤S560所示,存储器管理电路1043每隔第一时间间隔进行一次平均磨损程序(即,在数据区502与闲置区504之间执行物理区块交换)。而在识别可重写式非易失性存储器模块106中存在冷数据时,如步骤S580所示,存储器管理电路1043每隔第二时间间隔进行一次平均磨损程序。在本范例实施中,第一时间间隔与第二时间间隔是以可重写式非易失性存储器模块106发生的存储器抹除次数为单位,且第一时间间隔大于第二时间间隔。例如,第一时间间隔为可重写式非易失性存储器模块106发生1000次存储器抹除,而第二时间间隔为可重写式非易失性存储器模块106发生100次存储器抹除。
在图5所示的范例实施例中,存储器管理电路1043会根据识别结果动态调整执行平均磨损程序的时间间隔。如果特定物理区块需要较长的时间才回到闲置区504,则可知特定物理区块先前是被换到数据区502以储存冷数据,因此存储器管理电路1043会以较短的时间间隔来执行平均磨损程序,例如在可重写式非易失性存储器模块106每发生100次存储器抹除次数便执行一次平均磨损程序。但若是特定物理区块在相当短的时间内便回到闲置区504,则表示特定物理区块先前是被换到数据区502中用以储存需经常更新的数据,此情况表示可重写式非易失性存储器模块106可能没有冷数据,基此,存储器管理电路1043会以较长的时间间隔来执行平均磨损程序,例如在可重写式非易失性存储器模块106每发生1000次存储器抹除次数才执行一次平均磨损程序,以避免原本就具有较高抹除次数的物理区块因频繁的平均磨损程序而产生大幅高出其他物理区块的抹除次数。
除了根据可重写式非易失性存储器模块106是否存在冷数据来调整平均磨损程序的执行频率,在另一范例实施例中,存储器管理电路1043亦会根据可重写式非易失性存储器模块106是否存在冷数据,而以不同的方式在数据区502与闲置区504中选择要交换的物理区块。例如,在不具有冷数据的情况下,存储器管理电路1043每隔第一时间间隔在数据区502与闲置区504之间执行物理区块交换时,会从属于闲置区504的所有物理区块中随机选择物理区块,或选择抹除次数较高但非最高的物理区块来与数据区502中具有最小抹除次数的物理区块交换。而在有冷数据的情况下,存储器管理电路1043每隔第二时间间隔在数据区502与闲置区504之间执行物理区块交换时,会从属于闲置区504的所有物理区块中选择抹除次数最高的物理区块来与数据区502中具有最小抹除次数的物理区块交换。
必须特别说明的是,上述范例实施例在执行平均磨损程序时是使数据区502与闲置区504彼此交换一个物理区块,然而本发明并不对交换的单位加以限定。在另一范例实施例中,倘若每一物理单元是由m个物理区块所组成(m为大于1的整数),则每当要进行平均磨损程序时,存储器管理电路1043会在数据区502选出具有较小抹除次数的m个物理区块来和闲置区504中具有较高抹除次数的m个物理区块做交换。在又一范例实施例中,执行平均磨损程序而交换的单位也可以是任何预设单位,而不限定于与物理单元的大小相符。
在另一范例实施例中,存储器管理电路1043会根据逻辑区块610(0)~610(L)的写入次数来判断可重写式非易失性存储器模块106中是否存在冷数据。具体来说,每当主机系统1000欲将数据写入一逻辑存取地址时,存储器管理电路1043会将此逻辑存取地址转换为对应的逻辑区块,并更新此逻辑区块的写入次数。写入次数大于0的逻辑区块以下称之为已使用逻辑区块。存储器管理电路1043会根据所有已使用逻辑区块的写入次数的分布特性来判断可重写式非易失性存储器模块106中是否存在冷数据。
图6是根据本发明的另一范例实施例所绘示的储存单元管理方法的流程图。首先如步骤S610所示,存储器管理电路1043在存储器储存装置100被使用的期间,持续记录每一逻辑区块610(0)~610(L)的写入次数。
在步骤S620中,存储器管理电路1043从所有逻辑区块610(0)~610(L)的中,取得所对应的写入次数大于0的数个已使用逻辑区块。
接着如步骤S630所示,存储器管理电路1043判断各已使用逻辑区块两两之间的写入次数的差值是否均不超过误差范围。其中,误差范围例如为25,但本发明并不局限于此。
若两两写入次数之间的差值都未超过误差范围,表示主机系统1000是平均地对这些已使用逻辑区块进行写入操作,因此各已使用逻辑区块对应的物理区块所储存的数据被更新的频率接近,故如步骤S640所示,存储器管理电路1043判定可重写式非易失性存储器模块106中不存在冷数据。反之,倘若步骤S630的判断结果为否,表示至少有一已使用逻辑区块的写入次数与其他已使用逻辑区块的写入次数差距较大,亦即,其对应的物理区块所储存的数据相对来说较少被更新,因此如步骤S660所示,存储器管理电路1043判定可重写式非易失性存储器模块106中存在冷数据。
举例来说,假设存储器管理电路1043从所有逻辑区块610(0)~610(L)中取得3个已使用逻辑区块,其分别对应的写入次数为100、80、80。由于这3个已使用逻辑区块两两之间的写入次数的差值全都小于误差范围(例如,25),因此存储器管理电路1043判定可重写式非易失性存储器模块106中不存在冷数据。
假设存储器管理电路1043所取得的3个已使用逻辑区块所分别对应的写入次数为100、80、10,则因并非所有写入次数两两之间的差值都小于误差范围,故存储器管理电路1043判定可重写式非易失性存储器模块106中存在冷数据。
在本范例实施例中,当存储器管理电路1043判定可重写式非易失性存储器模块106不存在冷数据,接着如步骤S650所示,存储器管理电路1043每隔第一时间间隔在数据区502与闲置区504之间执行物理区块交换。而当存储器管理电路1043判定可重写式非易失性存储器模块106中存在冷数据,则如步骤S670所示,存储器管理电路1043每隔第二时间间隔在数据区502与闲置区504之间执行物理区块交换。由于每隔第一或第二时间间隔在数据区502与闲置区504之间执行物理区块交换的详细步骤与图5所示的范例实施例相同或相似,故在此不再赘述。必须说明的是,在前述范例实施例中虽是以交换一个物理区块为例来进行说明,但本发明并不限定执行平均磨损程序时的交换单位。
图7是根据本发明的又一范例实施例所绘示的储存单元管理方法的流程图。图7与图6的差异在于步骤S730的判断机制,由于图7的其余步骤均与图6相似,故以下仅就差异之处进行说明。
在步骤S730中,存储器管理电路1043判断各个已使用逻辑区块的写入次数是否均大于或等于一特定次数。在本范例实施例中,特定次数是所有已使用逻辑区块的写入次数中,最大写入次数的分数值(例如二分之一,但本发明并不以此为限)。倘若所有已使用逻辑区块的写入次数都大于或等于特定次数,表示各已使用逻辑区块对应的物理区块所储存的数据被更新的次数都相当频繁,基此如步骤S740所示,存储器管理电路1043判定可重写式非易失性存储器模块106中不存在冷数据。然而,倘若有一个或多个已使用逻辑区块的写入次数小于特定次数,则表示其对应的物理区块所储存的数据被更新的频率远低于其他数据,因此如步骤S760所示,存储器管理电路1043判定可重写式非易失性存储器模块106中存在冷数据。
举例来说,假设存储器管理电路1043自逻辑区块610(0)~610(L)中取得3个已使用逻辑区块,其分别对应的写入次数为100、80、10,若特定次数为最大写入次数的二分之一(即,50)。由于在这3个已使用逻辑区块中存在对应的写入次数小于50的已使用逻辑区块,因此存储器管理电路1043判定可重写式非易失性存储器模块106中存在冷数据。另一范例实施例中,倘若存储器管理电路1043取得3个已使用逻辑区块,分别对应的写入次数为100、80、80。由于所有已使用逻辑区块的写入次数均大于特定次数,存储器管理电路1043则判定可重写式非易失性存储器模块106中不存在冷数据。
值得一提的是,上述统计写入次数的基本单位是以逻辑区块(亦称逻辑单元)来举例说明,然而本发明并不以此为限,逻辑单元亦可为一个逻辑扇、多个逻辑扇、一个逻辑页面、多个逻辑页面或多个逻辑区块等。
图8是根据本发明的另一范例实施例所绘示的储存单元管理方法的流程图。
请参阅图8,如步骤S810所示,存储器管理电路1043配置多个逻辑单元以映射可重写式非易失性存储器模块106的所有物理单元中的部份物理单元。其中,每一物理单元可为一个物理区块或多个物理区块,而各逻辑单元的大小则对应物理单元的大小。
接着在步骤S820中,存储器管理电路1043判断可重写式非易失性存储器模块106中是否存在冷数据。
并且如步骤S830所示,存储器管理电路1043根据判断结果选择对所有物理单元执行第一平均磨损程序或第二平均磨损程序。在一范例实施例中,第一与第二平均磨损程序的不同之处在于物理单元做交换的执行时间间隔及/或物理单元的选择方式。例如,在判断没有冷数据的情况下以较长的时间间隔来执行物理单元交换,而在有冷数据的情况下以较短的时间间隔来执行物理单元交换。然而本发明并不局限于上述平均磨损程序的执行方式。在另一范例实施例中,存储器管理电路1043亦可根据不同的识别结果选择对应的规则来管理可重写式非易失性存储器模块106中的物理单元,例如,根据不具有冷数据的识别结果,存储器管理电路1043亦可不执行平均磨损程序,而仅在识别有冷数据的情况下,才每隔预设时间间隔进行数据区502与闲置区504之间的物理单元交换。
综上所述,本发明所述的存储器储存装置,存储器控制器与储存单元管理方法不仅能判断可重写式非易失性存储器模块中是否存在冷数据,亦能根据判断结果采取不同方式管理物理单元。例如动态控制每次进行平均磨损的时间间隔,如此一来可避免不断增加某些物理单元的抹除次数而造成抹除次数不平均的情况,从而延长存储器储存装置的使用寿命。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。
Claims (21)
1.一种储存单元管理方法,用以管理一可重写式非易失性存储器模块中的多个物理单元,其中该些物理单元至少分组为一数据区与一闲置区,该方法包括:
配置多个逻辑单元以映射部份的这些物理单元;
判断该可重写式非易失性存储器模块中是否存在冷数据;
若判定该可重写式非易失性存储器模块中不存在冷数据,则对这些物理单元执行一第一平均磨损程序;以及
若判定该可重写式非易失性存储器模块中存在冷数据,则对这些物理单元执行一第二平均磨损程序,
其中该第一平均磨损程序是每隔一第一时间间隔在该数据区与该闲置区之间执行一物理单元交换,而该第二平均磨损程序是每隔一第二时间间隔在该数据区与该闲置区之间执行该物理单元交换,
其中每隔该第二时间间隔在该数据区与该闲置区之间执行该物理单元交换时,是从属于该闲置区的所有物理单元中选择抹除次数最高的物理单元来与该数据区中具有最小抹除次数的物理单元交换,
其中判断该可重写式非易失性存储器模块中是否存在冷数据的步骤包括:
在该数据区与该闲置区之间执行一物理单元交换时,记录一第一存储器抹除次数,其中该第一存储器抹除次数为属于该闲置区的一特定物理单元被交换至该数据区时,该可重写式非易失性存储器模块的目前存储器抹除次数;
随着该可重写式非易失性存储器模块的使用更新该可重写式非易失性存储器模块的存储器抹除次数;
当该特定物理单元被再次关联至该闲置区时,取得该可重写式非易失性存储器模块在此时的存储器抹除次数以作为一第二存储器抹除次数;
将该第一存储器抹除次数与该第二存储器抹除次数之间的一差值与一预定值比较;
若该差值小于或等于该预定值,判定该可重写式非易失性存储器模块中不存在冷数据;以及
若该差值大于该预定值,判定该可重写式非易失性存储器模块中存在冷数据。
2.如权利要求1所述的方法,其中该预定值为这些物理单元的一总数。
3.如权利要求1所述的方法,其中判断该可重写式非易失性存储器模块中是否存在冷数据的步骤包括:
记录各这些逻辑单元的一写入次数;
在这些逻辑单元中取得所对应的写入次数大于0的多个已使用逻辑单元;以及
根据各这些已使用逻辑单元的该写入次数的一分布特性,判断该可重写式非易失性存储器模块中是否存在冷数据。
4.如权利要求3所述的方法,其中根据各这些已使用逻辑单元的该写入次数的该分布特性,判断该可重写式非易失性存储器模块中是否存在冷数据的步骤包括:
若各这些已使用逻辑单元两两之间的该写入次数的差值均不超过一误差范围,判定该可重写式非易失性存储器模块中不存在冷数据;以及
若各这些已使用逻辑区块两两之间的该写入次数的差值有超过该误差范围,判定该可重写式非易失性存储器模块中存在冷数据。
5.如权利要求3所述的方法,其中根据各这些已使用逻辑单元的该写入次数的该分布特性,判断该可重写式非易失性存储器模块中是否存在冷数据的步骤包括:
若各这些已使用逻辑单元的该写入次数均大于或等于一特定次数,判定该可重写式非易失性存储器模块中不存在冷数据;以及
若在各这些已使用逻辑单元的该写入次数中存在小于该特定次数的写入次数,判定该可重写式非易失性存储器模块中存在冷数据。
6.如权利要求5所述的方法,其中该特定次数为各这些已使用逻辑单元的该写入次数中一最大写入次数的一分数值。
7.如权利要求1所述的方法,其中该第一时间间隔大于该第二时间间隔。
8.如权利要求7所述的方法,其中每隔该第一时间间隔在该数据区与该闲置区之间执行该物理单元交换时,是从属于该闲置区的所有物理单元中随机选择物理单元或选择抹除次数较高但非最高的物理单元来与该数据区中具有最小抹除次数的物理单元交换。
9.如权利要求1所述的方法,其中该第一平均磨损程序是不在该数据区与该闲置区之间执行一物理单元交换,而该第二平均磨损程序是每隔一预设时间间隔在该数据区与该闲置区之间执行该物理单元交换。
10.一种存储器控制器,用于具有一可重写式非易失性存储器模块的一存储器储存装置,该存储器控制器包括:
一主机系统接口,用以电性连接一主机系统;
一存储器接口,用以电性连接该可重写式非易失性存储器模块,其中该可重写式非易失性存储器模块包括多个物理单元;以及
一存储器管理电路,电性连接至该主机系统接口与该存储器接口,
其中该存储器管理电路将这些物理单元至少分组为一数据区与一闲置区,
其中,该存储器管理电路配置多个逻辑单元以映射部份的这些物理单元,
其中,该存储器管理电路判断该可重写式非易失性存储器模块中是否存在冷数据,
其中,该存储器管理电路若判定该可重写式非易失性存储器模块中不存在冷数据,对这些物理单元执行一第一平均磨损程序,
其中,该存储器管理电路若判定该可重写式非易失性存储器模块中存在冷数据,对这些物理单元执行一第二平均磨损程序,
其中,该第一平均磨损程序是每隔一第一时间间隔在该数据区与该闲置区之间执行一物理单元交换,而该第二平均磨损程序是每隔一第二时间间隔在该数据区与该闲置区之间执行该物理单元交换,
其中,该存储器管理电路在每隔该第二时间间隔在该数据区与该闲置区之间执行该物理单元交换时,是从属于该闲置区的所有物理单元中选择抹除次数最高的物理单元来与该数据区中具有最小抹除次数的物理单元交换,
其中该存储器管理电路在该数据区与该闲置区之间执行一物理单元交换时,记录一第一存储器抹除次数,其中该第一存储器抹除次数为属于该闲置区的一特定物理单元被交换至该数据区时,该可重写式非易失性存储器模块的目前存储器抹除次数,
该存储器管理电路随着该可重写式非易失性存储器模块的使用更新该可重写式非易失性存储器模块的存储器抹除次数,
该存储器管理电路在该特定物理单元被再次关联至该闲置区时,取得该可重写式非易失性存储器模块在此时的存储器抹除次数以作为一第二存储器抹除次数,并将该第一存储器抹除次数与该第二存储器抹除次数之间的一差值与一预定值比较,
若该差值小于或等于该预定值,该存储器管理电路判定该可重写式非易失性存储器模块中不存在冷数据,
若该差值大于该预定值,该存储器管理电路判定该可重写式非易失性存储器模块中存在冷数据。
11.如权利要求10所述的存储器控制器,其中该存储器管理电路记录各这些逻辑单元的一写入次数,在这些逻辑单元中取得所对应的写入次数大于0的多个已使用逻辑单元,并根据各这些已使用逻辑单元的该写入次数的一分布特性,判断该可重写式非易失性存储器模块中是否存在冷数据。
12.如权利要求11所述的存储器控制器,其中该存储器管理电路在各这些已使用逻辑单元两两之间的该写入次数的差值均不超过一误差范围时,判定该可重写式非易失性存储器模块中不存在冷数据,
该存储器管理电路在各这些已使用逻辑单元两两之间的该写入次数的差值有超过该误差范围时,判定该可重写式非易失性存储器模块中存在冷数据。
13.如权利要求10所述的存储器控制器,其中该第一时间间隔大于该第二时间间隔。
14.如权利要求13所述的存储器控制器,其中该存储器管理电路在每隔该第一时间间隔在该数据区与该闲置区之间执行该物理单元交换时,是从属于该闲置区的所有物理单元中随机选择物理单元或选择抹除次数较高但非最高的物理单元来与该数据区中具有最小抹除次数的物理单元交换。
15.如权利要求10所述的存储器控制器,其中该第一平均磨损程序是不在该数据区与该闲置区之间执行一物理单元交换,而该第二平均磨损程序是每隔一预设时间间隔在该数据区与该闲置区之间执行该物理单元交换。
16.一种存储器储存装置,包括:
一可重写式非易失性存储器模块,包括多个物理单元;
一连接器,用以电性连接一主机系统;以及
一存储器控制器,电性连接至该可重写式非易失性存储器模块与该连接器,
其中该存储器控制器将这些物理单元至少分组为一数据区与一闲置区,
其中,该存储器控制器配置多个逻辑单元以映射部份的这些物理单元,
其中,该存储器控制器判断该可重写式非易失性存储器模块中是否存在冷数据,
其中,该存储器控制器若判定该可重写式非易失性存储器模块中不存在冷数据,对这些物理单元执行一第一平均磨损程序,
其中,该存储器控制器若判定该可重写式非易失性存储器模块中存在冷数据,对这些物理单元执行一第二平均磨损程序,
其中,该第一平均磨损程序是每隔一第一时间间隔在该数据区与该闲置区之间执行一物理单元交换,而该第二平均磨损程序是每隔一第二时间间隔在该数据区与该闲置区之间执行该物理单元交换,
其中,该存储器控制器在每隔该第二时间间隔在该数据区与该闲置区之间执行该物理单元交换时,是从属于该闲置区的所有物理单元中选择抹除次数最高的物理单元来与该数据区中具有最小抹除次数的物理单元交换,
其中该存储器控制器在该数据区与该闲置区之间执行一物理单元交换时,记录一第一存储器抹除次数,其中该第一存储器抹除次数为属于该闲置区的一特定物理单元被交换至该数据区时,该可重写式非易失性存储器模块的目前存储器抹除次数,
该存储器控制器随着该可重写式非易失性存储器模块的使用更新该可重写式非易失性存储器模块的存储器抹除次数,
该存储器控制器在该特定物理单元被再次关联至该闲置区时,取得该可重写式非易失性存储器模块在此时的存储器抹除次数以作为一第二存储器抹除次数,并将该第一存储器抹除次数与该第二存储器抹除次数之间的一差值与一预定值比较,
若该差值小于或等于该预定值,该存储器控制器判定该可重写式非易失性存储器模块中不存在冷数据,
若该差值大于该预定值,该存储器控制器判定该可重写式非易失性存储器模块中存在冷数据。
17.如权利要求16所述的存储器储存装置,其中该存储器控制器记录各这些逻辑单元的一写入次数,在这些逻辑单元中取得所对应的写入次数大于0的多个已使用逻辑单元,并根据各这些已使用逻辑单元的该写入次数的一分布特性,判断该可重写式非易失性存储器模块中是否存在冷数据。
18.如权利要求17所述的存储器储存装置,其中该存储器控制器在各这些已使用逻辑单元两两之间的该写入次数的差值均不超过一误差范围时,判定该可重写式非易失性存储器模块中不存在冷数据,
该存储器控制器在各这些已使用逻辑单元两两之间的该写入次数的差值有超过该误差范围时,判定该可重写式非易失性存储器模块中存在冷数据。
19.如权利要求16所述的存储器储存装置,其中该第一时间间隔大于该第二时间间隔。
20.如权利要求19所述的存储器储存装置,其中该存储器控制器在每隔该第一时间间隔在该数据区与该闲置区之间执行该物理单元交换时,是从属于该闲置区的所有物理单元中随机选择物理单元或选择抹除次数较高但非最高的物理单元来与该数据区中具有最小抹除次数的物理单元交换。
21.如权利要求16所述的存储器储存装置,其中该第一平均磨损程序是不在该数据区与该闲置区之间执行一物理单元交换,而该第二平均磨损程序是每隔一预设时间间隔在该数据区与该闲置区之间执行该物理单元交换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210154727.6A CN103425586B (zh) | 2012-05-17 | 2012-05-17 | 储存单元管理方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210154727.6A CN103425586B (zh) | 2012-05-17 | 2012-05-17 | 储存单元管理方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425586A CN103425586A (zh) | 2013-12-04 |
CN103425586B true CN103425586B (zh) | 2016-09-14 |
Family
ID=49650369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210154727.6A Active CN103425586B (zh) | 2012-05-17 | 2012-05-17 | 储存单元管理方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103425586B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10705953B2 (en) * | 2018-03-01 | 2020-07-07 | Futurewei Technologies, Inc. | Application defined multi-tiered wear-leveling for storage class memory systems |
CN111552650B (zh) * | 2020-04-13 | 2021-03-02 | 深圳市时创意电子有限公司 | 一种数据保存方法、装置、存储介质和数据存储设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081447A (en) * | 1991-09-13 | 2000-06-27 | Western Digital Corporation | Wear leveling techniques for flash EEPROM systems |
CN101137970A (zh) * | 2005-01-20 | 2008-03-05 | 桑迪士克股份有限公司 | 快闪存储器系统中内务处理操作的调度 |
TW201128648A (en) * | 2010-02-05 | 2011-08-16 | Phison Electronics Corp | Memory management and writing method and rewritable non-volatile memory controller and storage system thereof |
CN102201259A (zh) * | 2010-03-24 | 2011-09-28 | 建兴电子科技股份有限公司 | 非易失性存储器的平均抹写方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
-
2012
- 2012-05-17 CN CN201210154727.6A patent/CN103425586B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081447A (en) * | 1991-09-13 | 2000-06-27 | Western Digital Corporation | Wear leveling techniques for flash EEPROM systems |
CN101137970A (zh) * | 2005-01-20 | 2008-03-05 | 桑迪士克股份有限公司 | 快闪存储器系统中内务处理操作的调度 |
TW201128648A (en) * | 2010-02-05 | 2011-08-16 | Phison Electronics Corp | Memory management and writing method and rewritable non-volatile memory controller and storage system thereof |
CN102201259A (zh) * | 2010-03-24 | 2011-09-28 | 建兴电子科技股份有限公司 | 非易失性存储器的平均抹写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103425586A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750625B (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN103530062B (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN104765568B (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN106469122B (zh) | 有效数据合并方法、存储器控制器与存储器储存装置 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN104732153B (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN104765569B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104866429B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TWI454916B (zh) | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 | |
CN103699491B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN106683701B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103593296B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN102902626B (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN103544118B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
CN106484308B (zh) | 数据保护方法、存储器控制电路单元及存储器储存装置 | |
CN103425586B (zh) | 储存单元管理方法、存储器控制器与存储器储存装置 | |
CN104657083B (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
CN104731710B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN110471612A (zh) | 存储器管理方法以及存储控制器 | |
CN106445397B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |