CN104598167B - 存储器抹除方法、存储器控制器与存储器储存装置 - Google Patents
存储器抹除方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN104598167B CN104598167B CN201510015982.6A CN201510015982A CN104598167B CN 104598167 B CN104598167 B CN 104598167B CN 201510015982 A CN201510015982 A CN 201510015982A CN 104598167 B CN104598167 B CN 104598167B
- Authority
- CN
- China
- Prior art keywords
- physical blocks
- memory
- area
- those
- linked list
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提出一种存储器抹除方法、存储器控制器与存储器储存装置。本存储器抹除方法包括将存储器储存装置的可复写式非易失性存储器模组的实体区块逻辑地至少分组为数据区与闲置区;以及在存储器储存装置被电源启动之后,为闲置区的每一实体区块配置抹除标记并且初始地将每一抹除标记设定为未抹除状态。本方法还包括,在存储器储存装置处于待命状态之后,根据此些抹除标记来判断是否对闲置区的实体区块执行抹除指令。基此,本存储器抹除方法可有效地缩短存储器储存装置被电源启动时进入待命状态的时间。
Description
本发明是2011年06月27日所提出的申请号为201110174852.9、发明名称为《存储器抹除方法、存储器控制器与存储器储存装置》的发明专利申请的分案申请。
技术领域
本发明涉及一种存储器抹除方法,尤其涉及一种有效地对储存无效数据的存储器单元执行抹除指令的存储器抹除方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本式计算机。固态硬盘就是一种以闪速存储器作为储存媒体的储存装置。因此,近年闪速存储器产业成为电子产业中相当热门的一环。
可复写式非易失性存储器模组的存储器子模组具有多个实体区块,且每一实体区块具有多个实体页面(physical page),其中在实体区块中写入数据时必须依据实体页面的顺序依序地写入数据。此外,已被写入数据的实体页面必需先被抹除后才能再次用于写入数据。特别是,实体区块为抹除的最小单位,并且实体页面为编程(亦称写入)的最小单元。因此,在闪速存储器模组的管理中,实体区块会被区分为数据区(data area)与闲置区(free area)。
数据区的实体区块(亦称为数据实体区块)是已储存数据并且已被映射至逻辑单元的实体区块。具体来说,存储器储存装置的存储器管理电路会将主机系统欲写入的逻辑存取地址转换为逻辑区块的逻辑页面,将欲写入的数据写入至某一个实体区块的实体页面并且将此逻辑单元的逻辑页面映射至此实体区块的实体页面。也就是说,在可复写式非易失性存储器模组的管理上,数据区的实体区块是被视为已被使用的实体区块(例如,已储存主机系统所写入的数据)。例如,存储器管理电路会使用逻辑区块-实体区块映射表来记载逻辑区块与数据区的实体区块的映射关系,其中逻辑区块中的逻辑页面是依序的对应所映射的实体区块的实体页面。
闲置区的实体区块(亦称为闲置实体区块)是用以轮替数据区中的实体区块。具体来说,如上所述,已写入数据的实体区块必须被抹除后才可再次用于写入数据,因此,闲置区的实体区块是被设计用于写入更新数据以替换原先映射逻辑区块的实体区块。
也就是说,在可复写式非易失性存储器模组的管理上,数据区与闲置区的实体区块的实体页面是以轮替方式来映射逻辑区块的逻辑页面,以储存主机系统所写入的数据。特别是,在存储器储存装置的运作过程中,可能会因为异常断电而造成写入失败并且使得闲置区的实体区块存有不完整的数据。因此,在目前的设计中,存储器储存装置的存储器控制器会在电源启动时对闲置区的实体区块执行抹除指令,以确保闲置区中的实体区块皆已被抹除,由此避免造成重复编程(double programming)的错误。
然而,随着可复写式非易失性存储器模组的容量越来越大,对闲置区中所有实体区块执行抹除指令的时间亦越来越长。因此,使用者在启动存储器储存装置之后,仍须等待相当长的时间才能存取存储器储存装置。
发明内容
本发明提供一种存储器抹除方法与存储器控制器,其能够有效地缩短存储器储存装置在电源启动后进入待命的时间。
本发明提供一种存储器储存装置,其能够在电源启动后快速地进入待命状态。
本发明的一范例实施例提供一种存储器抹除方法,用于存储器储存装置的可复写式非易失性存储器模组,其中此可复写式非易失性存储器模组具有多个实体区块。本存储器抹除方法包括将这些实体区块逻辑地至少分组为数据区与闲置区;以及在存储器储存装置被电源启动(power on)之后为闲置区的每一实体区块配置一抹除标记并且初始地将每一抹除标记设定为未抹除状态。
在本发明的一实施例中,上述的存储器抹除方法还包括:当从闲置区的实体区块之中提取第一实体区块时,判断第一实体区块的抹除标记是否被设定为未抹除状态;以及当第一实体区块的抹除标记被设定为未抹除状态时,对第一实体区块执行抹除指令并且将第一实体区块的抹除标记重新设定为已抹除状态。
在本发明的一实施例中,上述的存储器抹除方法还包括:判断在预定时间之后是否未接收到来自于主机系统的任何指令;以及倘若在此预定时间之后未接收到来自于主机系统的任何指令时,则对闲置区的实体区块之中的一第二实体区块执行抹除指令并且将第二实体区块的抹除标记重新设定为已抹除状态。
在本发明的一实施例中,上述的存储器抹除方法还包括:将闲置区的实体区块的抹除标记储存在存储器储存装置的缓冲存储器中。
本发明的一范例实施例提供一种存储器抹除方法,用于存储器储存装置的可复写式非易失性存储器模组,其中可复写式非易失性存储器模组具有多个实体区块。本存储器抹除方法包括将这些实体区块逻辑地至少分组为数据区与闲置区。本存储器抹除方法也包括根据闲置区的实体区块建立一链接(link)清单并且将链接清单储存在可复写式非易失性存储器模组中,其中闲置区的实体区块是根据一排列顺序被记录在链接清单中。本存储器抹除方法还包括在存储器储存装置被电源启动之后,根据此链接清单与预定数目从闲置区的该些实体区块之中选择多个第三实体区块并且分别地对此些第三实体区块执行抹除指令,其中第三实体区块为排列在链接清单中的最前面并且第三实体区块的数目为上述预定数目。
在本发明的一实施例中,上述的存储器抹除方法还包括:当欲使用闲置区的实体区块时,根据链接清单依序地提取闲置区的实体区块。
在本发明的一实施例中,上述的存储器抹除方法还包括:当将数据区的实体区块之中的第四实体区块关联至闲置区时,对第四实体区块执行抹除指令并且将第四实体区块记录在链接清单中的最后面。
本发明的一范例实施例提供一种存储器控制器,用以控制可复写式非易失性存储器模组,其中此可复写式非易失性存储器模组具有多个实体区块。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至此可复写式非易失性存储器模组。存储器管理电路电性连接至此主机接口与存储器接口,并且用以将这些实体区块逻辑地至少分组为数据区与闲置区。此外,在存储器管理电路被电源启动之后,存储器管理电路为闲置区的每一实体区块配置抹除标记并且初始地将每一抹除标记设定为未抹除状态。
在本发明的一实施例中,当从闲置区的实体区块之中提取第一实体区块时,则上述的存储器管理电路会判断第一实体区块的抹除标记是否被设定为未抹除状态。并且,当第一实体区块的抹除标记被设定为未抹除状态时,上述的存储器管理电路会对第一实体区块执行抹除指令并且将第一实体区块的抹除标记重新设定为已抹除状态。
在本发明的一实施例中,上述的存储器管理电路判断在预定时间之后是否未接收到来自于主机系统的任何指令。并且,倘若在预定时间之后未接收到来自于主机系统的任何指令时,则上述的存储器管理电路对闲置区的实体区块之中的第二实体区块执行抹除指令并且将第二实体区块的抹除标记重新设定为已抹除状态。
在本发明的一实施例中,上述的存储器控制器还包括一缓冲存储器,其中上述的存储器管理电路将闲置区的实体区块的抹除标记储存在此缓冲存储器中。
本发明的一范例实施例提供一种存储器控制器,用以控制可复写式非易失性存储器模组,其中此可复写式非易失性存储器模组具有多个实体区块。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至此可复写式非易失性存储器模组。存储器管理电路电性连接至此主机接口与存储器接口,并且用以将这些实体区块逻辑地至少分组为数据区与闲置区。此外,存储器管理电路根据闲置区的实体区块建立链接(link)清单并且将此链接清单储存在可复写式非易失性存储器模组中,其中闲置区的实体区块是根据一排列顺序被记录在链接清单中。再者,在存储器管理电路被电源启动之后,存储器管理电路根据链接清单与预定数目从闲置区的实体区块之中选择多个第三实体区块并且分别地对此些第三实体区块执行抹除指令,其中第三实体区块为排列在链接清单中的最前面并且第三实体区块的数目为上述预定数目。
在本发明的一实施例中,当欲使用闲置区的实体区块时,存储器管理电路根据链接清单依序地提取闲置区的实体区块。
在本发明的一实施例中,当存储器管理电路将数据区的实体区块之中的第四实体区块关联至闲置区时,上述的存储器管理电路会对第四实体区块执行抹除指令并且将第四实体区块记录在链接清单中的最后面。
本发明的一范例实施例提供一种存储器储存装置,其包括连接器、可复写式非易失性存储器模组与存储器控制器。连接器用以电性连接至主机系统。可复写式非易失性存储器模组具有多个实体区块。存储器控制器电性连接至可复写式非易失性存储器模组,并且用以将这些实体区块逻辑地至少分组为数据区与闲置区。此外,存储器控制器被电源启动之后,存储器控制器为闲置区的每一实体区块配置抹除标记并且初始地将每一抹除标记设定为未抹除状态。
在本发明的一实施例中,当从闲置区的实体区块之中提取第一实体区块时,上述的存储器控制器会判断第一实体区块的抹除标记是否被设定为未抹除状态。并且,当第一实体区块的抹除标记被设定为未抹除状态时,上述的存储器控制器会对第一实体区块执行抹除指令并且将第一实体区块的抹除标记重新设定为已抹除状态。
在本发明的一实施例中,上述的存储器控制器判断在预定时间之后是否未接收到来自于主机系统的任何指令。并且,倘若在预定时间之后未接收到来自于主机系统的任何指令时,上述的存储器控制器对闲置区的实体区块之中的第二实体区块执行抹除指令并且将第二实体区块的抹除标记重新设定为已抹除状态。
在本发明的一实施例中,上述的存储器控制器将闲置区的实体区块的抹除标记储存在缓冲存储器中。
本发明的一范例实施例提供一种存储器储存装置,其包括连接器、可复写式非易失性存储器模组与存储器控制器。连接器用以电性连接至主机系统。可复写式非易失性存储器模组具有多个实体区块。存储器控制器电性连接至可复写式非易失性存储器模组,并且用以将这些实体区块逻辑地至少分组为数据区与闲置区。此外,存储器控制器根据闲置区的实体区块建立链接清单并且将此链接清单储存在可复写式非易失性存储器模组中,其中闲置区的实体区块是根据一排列顺序被记录在链接清单中。此外,在存储器控制器被电源启动之后,存储器控制器根据链接清单与预定数目从闲置区的实体区块之中选择多个第三实体区块并且分别地对此些第三实体区块执行抹除指令,其中第三实体区块为排列在链接清单中的最前面并且第三实体区块的数目为上述预定数目。
在本发明的一实施例中,当欲使用闲置区的实体区块时,上述的存储器控制器根据链接清单依序地提取闲置区的实体区块。
在本发明的一实施例中,当将数据区的实体区块之中的第四实体区块关联至闲置区时,上述的存储器控制器会对第四实体区块执行抹除指令并且将第四实体区块记录在链接清单中的最后面。
基于上述,本发明范例实施例的存储器抹除方法、存储器控制器与存储器储存装置能够有效地缩短在电源启动之后进入待命状态的时间并且有效地避免重复编程(doubleprogramming)的错误。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据第一范例实施例所示的主机系统与存储器储存装置。
图1B是根据本发明范例实施例所示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所示的主机系统与存储器储存装置的示意图。
图2是根据第一范例实施例所示的存储器储存装置的概要方框图。
图3是根据第一范例实施例所示的存储器控制器的概要方框图。
图4A与图4B是根据第一范例实施例所示管理可复写式非易失性存储器模组的实体区块的示意图。
图5是根据第一范例实施例所示的闲置实体区块抹除表的范例。
图6是根据第一范例实施例所示的存储器抹除方法的流程图。
图7是根据第二范例实施例所示的存储器抹除方法的流程图。
图8是根据第三范例实施例所示的链接清单的范例。
图9是根据第三范例实施例所示的存储器抹除方法的流程图。
附图标记:
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:可复写式非易失性存储器模组
202:存储器管理电路
204:主机接口
206:存储器接口
252:缓冲存储器
254:电源管理电路
256:错误检查与校正电路
502:数据区
504:闲置区
506:系统区
508:取代区
410(0)~410(N):实体区块
610(0)~610(H):逻辑区块
710(0)~710(K):逻辑存取地址
600:闲置实体区块抹除表
S601、S603、S605、S607、S609、S611:存储器抹除方法的步骤
S701、S703、S705、S707、S709、S711、S713、S715、S717:存储器抹除方法的步骤
800:链接清单
S901、S903、S905:存储器抹除方法的步骤
具体实施方式
本发明所提出的存储器抹除方法是在电源启动(power on)时,仅先对闲置区的实体区块进行标记后就令存储器储存装置进入待命状态或者仅对闲置区中的部分实体区块执行抹除指令后就令存储器储存装置进入待命状态,由此避免应对大量实体区块执行抹除指令而延迟存储器储存装置的启动。为了能够更清楚地了解本发明,以下以数个范例实施例来进行说明。
[第一范例实施例]
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模组与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据第一范例实施例所示的主机系统与存储器储存装置。
请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身碟1212、记忆卡1214或固态硬盘(Solid StateDrive,SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机系统1000可实质地为可与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或内嵌式储存装置1320(如图1C所示)。内嵌式储存装置1320包括内嵌式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,内嵌式多媒体卡是直接电性连接于主机系统的基板上。
图2是根据第一范例实施例所示的存储器储存装置的概要方框图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模组106。
在本范例实施例中,连接器102是相容于串行高级技术附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,PCI Express)标准、平行高级技术附件(Parallel AdvancedTechnology Attachment,PATA)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数码(Secure Digital,SD)接口标准、记忆棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、小型闪速(Compact Flash,CF)接口标准、集成式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模组106中进行数据的写入、读取、抹除与合并等运作。
可复写式非易失性存储器模组106是电性连接至存储器控制器104,并且具有多个实体区块以储存主机系统1000所写入的数据。在本范例实施例中,每一实体区块分别具有多个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。例如,每一实体区块是由128个实体页面所组成,并且每一实体页面的容量为4千位元组(Kilobyte,KB)。然而,必须了解的是,本发明不限于此,每一实体区块是可由64个实体页面、256个实体页面或其他任意个实体页面所组成。
更详细来说,实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目的一并被抹除的存储单元。实体页面为编程的最小单元。即,实体页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是实体扇区或其他大小。每一实体页面通常包括数据位元区与冗余位元区。数据位元区用以储存使用者的数据,而冗余位元区用以储存系统的数据(例如,错误检查与校正码)。
在本范例实施例中,可复写式非易失性存储器模组106为多阶存储单元(MultiLevel Cell,MLC)NAND闪速存储器模组。然而,本发明不限于此,可复写式非易失性存储器模组106亦可是单阶存储单元(Single Level Cell,SLC)NAND闪速存储器模组、其他闪速存储器模组或其他具有相同特性的存储器模组。
图3是根据第一范例实施例所示的存储器控制器的概要方框图。
请参照图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以在可复写式非易失性存储器模组106上进行数据的写入、读取、抹除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序吗型式储存于可复写式非易失性存储器模组106的特定区域(例如,存储器模组中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码段,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模组106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模组106。也就是说,欲写入至可复写式非易失性存储器模组106的数据会经由存储器接口206转换为可复写式非易失性存储器模组106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252。缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模组106的数据。
在本发明一范例实施例中,存储器控制器104还包括电源管理电路254。电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
在本发明一范例实施例中,存储器控制器104还包括错误检查与校正电路256。错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模组106中。之后,当存储器管理电路202从可复写式非易失性存储器模组106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图4A与图4B是根据第一范例实施例所示管理可复写式非易失性存储器模组的实体区块的示意图。
请参照图4A,可复写式非易失性存储器模组106具有实体区块410(0)~410(N),并且存储器控制器104的存储器管理电路202会将实体区块410(0)~410-(N)逻辑地分组为数据区(data area)502、闲置区(free area)504、系统区(system area)506与取代区(replacement area)508。
逻辑上属于数据区502与闲置区504的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体区块(亦称为数据实体区块)是被视为已储存数据的实体区块,而闲置区504的实体区块(亦称为闲置实体区块)是用以写入新数据的实体区块。例如,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取实体区块作为日志(log)实体区块,并且将数据写入至此日志实体区块中。再例如,当对某一逻辑区块执行数据合并程序时,存储器管理电路202会从闲置区504中提取实体区块作为对应此逻辑区块的新数据实体区块来写入数据,并且替换原先映射此逻辑区块的数据实体区块。特别是,在完成数据合并程序后,此些储存无效数据的数据实体区块或日志实体区块会被重新关联(或回收)至闲置区504,以作为下次写入新数据之用。
逻辑上属于系统区506的实体区块是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模组的制造商与型号、可复写式非易失性存储器模组的实体区块数、每一实体区块的实体页面数等。
逻辑上属于取代区508中的实体区块是用于坏实体区块取代程序,以取代损坏的实体区块。具体来说,倘若取代区508中仍存有正常的实体区块并且数据区502的实体区块损坏时,存储器管理电路202会从取代区508中提取正常的实体区块来更换损坏的实体区块。
基于上述,在存储器储存装置100的运作中,数据区502、闲置区504、系统区506与取代区508的实体区块会动态地变动。例如,用以轮替储存数据的实体区块会变动地属于数据区502或闲置区504。
值得一提的是,在本范例实施例中,存储器管理电路202是以每一实体区块为单位来进行管理。然而,本发明不限于此,在另一范例实施例中,存储器管理电路202亦可将实体区块分组为多个实体单元,并且以实体单元为单位来进行管理。例如,每一实体单元可由同一存储器子模组或不同存储器子模组中的至少一个实体区块所组成。
请参照图4B,存储器管理电路202会配置逻辑区块610(0)~610(H)以映射数据区502的实体区块,其中每一逻辑区块具有多个逻辑页面并且此些逻辑页面是依序地映射对应的数据实体区块的实体页面。例如,在存储器储存装置100被格式化时,逻辑区块610(0)~610(H)会初始地映射数据区502的实体区块410(0)~410(F-1)。
在本发明范例实施例中,存储器管理电路202会维护逻辑区块-实体区块映射表(logical block-physical block mapping table)以记录逻辑区块610(0)~610(H)与数据区502的实体区块之间的映射关系。此外,由于主机系统1000是以逻辑存取地址(例如,扇区(Sector))为单位来存取数据,当主机系统1000存取数据时存储器管理电路202会将对应存储器储存装置100的逻辑存取地址710(0)~710(K)转换成对应的逻辑页面。例如,当主机系统1000欲存取某一逻辑存取地址时,存储器管理电路202会将主机系统1000所存取的逻辑存取地址转换为以对应的逻辑区块与逻辑页面所构成的多维地址,并且通过逻辑区块-实体区块映射表于对应的实体页面中存取数据。
在本范例实施例中,在存储器储存装置100被电源启动(power on)之后,存储器管理电路202会为闲置区504的每一实体区块配置一抹除标记。
例如,当存储器储存装置100被使能时,存储器管理电路202会执行相关的初始化作业以使存储器储存装置100进入可接收与处理来自于主机系统1000的指令的待命状态。在执行此初始化作业的期间,存储器管理电路202会建立一闲置实体区块抹除表(如图5所示的闲置实体区块抹除表600)以记录对应闲置区504的每一实体区块的抹除标记并且初始地将对应闲置区504的实体区块的所有抹除标记设定为未抹除状态。
特别是,在执行此初始化作业的期间,存储器管理电路202不会对闲置区504的实体区块执行抹除指令,由此缩短存储器储存装置100进入可接收与处理来自于主机系统1000的指令的待命状态所需的时间。
例如,在存储器储存装置100进入可接收与处理来自于主机系统1000的指令的待命状态之后,存储器管理电路202既可根据主机系统1000的指令来存取可复写式非易失性记体模组106。特别是,当从提取闲置区504的实体区块来写入数据时,存储器管理电路202会判断对应所提取的实体区块的抹除标记是否被设定为未抹除状态。倘若对应所提取的实体区块的抹除标记被设定为未抹除状态时,存储器管理电路202会在写入数据至此实体区块之前对此实体区块执行抹除指令并且将对应此实体区块的抹除标记重新设定为已抹除状态。
例如,在闲置实体区块抹除表600的抹除标记中,“0”表示未抹除状态并且“1”表示已抹除状态,但本发明不限于此。此外,在本范例实施例中,存储器管理电路202仅会将闲置实体区块抹除表600储存在缓冲存储器254中并且于存储器储存装置100运作期间持续地更新此些抹除标记。也就是说,每当存储器储存装置100电源启动时,闲置实体区块抹除表600会重新被建立并且在存储器储存装置100的运作期间存储器管理电路202会根据此些抹除标记来决定是否对闲置区504的实体区块执行抹除指令。基此,本范例实施例的存储器储存装置100及其存储器控制器104可有效地缩短电源启动时进入待命状态所需的时间,同时亦可确保不会发生对因异常断电而存有不完整数据的实体区块,进行重复编程的错误。
图6是根据第一范例实施例所示的存储器抹除方法的流程图。
请参照图6,在步骤S601中,存储器管理电路202会将可复写式非易失性存储器模组106的实体区块逻辑地分组为数据区502、闲置区504、系统区506与取代区508。必须了解的是,尽管在本发明范例实施例中,实体区块会被逻辑地分组为数据区502、闲置区504、系统区506与取代区508,然而,在本发明另一范例实例中,实体区块可仅被分组为数据区502与闲置区504。
在步骤S603中,在存储器储存装置100被电源启动之后存储器管理电路202会建立对应闲置区504的每一实体区块的抹除标记并且初始地将每一抹除标记设定为未抹除状态。
之后,在步骤S605中,存储器管理电路202会判断是否需要从闲置区504中提取实体区块来执行来自于主机系统1000的指令。
倘若无需要从闲置区504中提取实体区块时,则在步骤S607中,存储器管理电路202会执行主机系统1000的指令。并且,之后,步骤S605会被执行。
倘若需要从闲置区504中提取实体区块时,在步骤S609中,存储器管理电路202会从闲置区504中提取实体区块(以下称为第一实体区块)并且判断第一实体区块的抹除标记是否被设定为未抹除状态。
倘若第一实体区块的抹除标记未被设定为未抹除状态时,则步骤S607会被执行。倘若第一实体区块的抹除标记被设定为未抹除状态时,则在步骤S611中,存储器管理电路202会对第一实体区块执行抹除指令并且将第一实体区块的抹除标记重新设定为已抹除状态。之后,步骤S607会被执行。
[第二范例实施例]
第二范例实施例与第一范例实施例的差异之处仅在于存储器控制器104会在主机系统1000持续未下达任何指令时,开始对闲置区504的实体区块执行抹除指令。基此,可更有效地缩短执行写入指令的时间并且提升存储器储存装置1000的效能。以下将利用第一范例实施例的图示,仅对第二范例实施例与第一范例实施例的差异之处进行描述。
在第二范例实施例中,当存储器储存装置100进入待命状态并且持续未接收到来自主机系统1000的指令时,存储器管理电路202会开始对闲置区504的实体区块执行抹除指令并且将对应已抹除实体区块的抹除标记重新设定为已抹除状态。
例如,存储器管理电路202包括一计时器(未示出)并且每当存储器储存装置100进入待命状态时,此计时器会开始计时。倘若在计时器到达预定时间(例如,3秒钟)之后,存储器储存装置100仍未接收到任何来自于主机系统1000的指令时,存储器管理电路202会从闲置区504中选择实体区块来进行抹除运作,直到接收到来自于主机系统1000的指令为止。也就是说,存储器管理电路202会利用无需处理来自于主机系统1000的指令的期间,对闲置区504的实体区块执行抹除指令并且将对应已抹除实体区块的抹除标记重新设定为已抹除状态。倘若在计时器到达预定时间之前或者在对闲置区504的实体区块执行抹除指令期间存储器储存装置100接收到来自于主机系统1000的指令时,存储器管理电路202会执行此指令并且重置计时器(例如,将计时器归零)。
图7是根据第二范例实施例所示的存储器抹除方法的流程图。
请参照图7,在步骤S701中,存储器管理电路202会将可复写式非易失性存储器模组106的实体区块逻辑地分组为数据区502、闲置区504、系统区506与取代区508。必须了解的是,尽管在本发明范例实施例中,实体区块会被逻辑地分组为数据区502、闲置区504、系统区506与取代区508,然而,在本发明另一范例实例中,实体区块可仅被分组为数据区502与闲置区504。
在步骤S703中,在存储器储存装置100被电源启动之后存储器管理电路202会建立对应闲置区504的每一实体区块的抹除标记并且初始地将每一抹除标记设定为未抹除状态。
之后,在步骤S705中,存储器管理电路202会判断是否在预定时间期间未接收到来自于主机系统1000的任何指令。
倘若在预定时间期间未接收到来自于主机系统1000的任何指令时,则在步骤S707中,存储器管理电路202会对闲置区504中抹除标记为未抹除状态的部分实体区块(以下称为第二实体区块)执行抹除指令并且将第二实体区块的抹除标记重新设定为已抹除状态。
之后,在步骤S709中,存储器管理电路202会判断是否接收到来自于主机系统1000的任何指令。
倘若未接收到来自于主机系统1000的任何指令时,则步骤S707会被执行。倘若接收到来自于主机系统1000的指令时,在步骤S711中,存储器管理电路202会判断是否需要从闲置区504中提取实体区块来执行此指令。
倘若无需要从闲置区504中提取实体区块时,则在步骤S713中,存储器管理电路202会执行主机系统1000的指令。并且,之后,步骤S707会被执行。倘若需要从闲置区504中提取实体区块时,在步骤S715中,存储器管理电路202会从闲置区504中提取实体区块(以下称为第一实体区块)并且判断第一实体区块的抹除标记是否被设定为未抹除状态。
倘若第一实体区块的抹除标记未被设定为未抹除状态时,则步骤S713会被执行。倘若第一实体区块的抹除标记被设定为未抹除状态时,则在步骤S717中,存储器管理电路202会对第一实体区块执行抹除指令并且将第一实体区块的抹除标记重新设定为已抹除状态。之后,步骤S713会被执行。
倘若在预定时间期间接收到来自于主机系统1000的任何指令时,则步骤S711会被执行。
[第三范例实施例]
第三范例实施例的硬件架构是类似于第一范例实施例的硬件架构,以下利用第一范例实施例的图1A、图2、图3、图4A与图4B来说明第三范例实施例。
在本范例实施例中,存储器控制器104的存储器管理电路202会根据闲置区504的实体区块来建立链接清单(link list)并且根据此链接清单来使用闲置区504的实体区块。
图8是根据第三范例实施例所示的链接清单的范例。
请参照图8,在存储器储存装置100初始化(例如,格式化)时,存储器管理电路202会将闲置区504的实体区块410(F)~410(S-1)以一排列顺序串连起来。此时,链接清单800中所记录的实体区块皆为未储存数据。
之后,当需从闲置区504中提取实体区块时,存储器管理电路202会根据链接清单800来提取实体区块,其中排列在链接清单中最前面的实体区块会先被提取。并且,当完成写入时,所提取的实体区块会从链接清单800中移除。此外,当将储存无效数据的实体区块(以下称为第四实体区块)回收至闲置区504时,存储器管理电路202会对第四实体区块执行抹除指令并且将第四实体区块排在链接清单800的最后面。
值得一提的是,在本范例实施例中,每当存储器储存装置100被电源启动时,存储器管理电路202仅会对排列在链接清单800中最前面的预定数目的实体区块执行抹除指令,由此缩短存储器储存装置100被电源启动后进入待命状态所需的时间。
具体来说,如上所述,存储器储存装置100可能会因异常断电而造成写入失败,并且正在被写入的实体区块可能会存有不完整的数据。在本范例实施例中,由于闲置区504的实体区块是根据链接清单800来被提取,因此,只有排列链接清单800中最前面的数个实体区块可能存有不完整数据。基此,在本范例实施例中,每当存储器储存装置100被电源启动时,存储器管理电路202仅对排列在链接清单800中最前面的数个实体区块执行抹除指令,即可避免重复编程的错误。
在本范例实施例中,上述预定数目是根据存储器管理电路202能够同时处理的实体区块的数目来设定。也就是说,当异常断电时,此些同时处理的实体区块的皆可能产生写入错误而存有不完整的数据。例如,上述预定数目被设定为6,但本发明不限于此。
值得一提的是,在本范例实施例中,链接清单800会被储存在可复写式非易失性存储器模组106(例如,系统区506)中。当存储器储存装置100被电源启动时,存储器管理电路202会将链接清单800载入至缓冲存储器252,以利于更新。之后,当接收到电源关闭信号时,存储器管理电路202会将链接清单800回存至可复写式非易失性存储器模组106中。
图9是根据第三范例实施例所示的存储器抹除方法的流程图。
请参照图9,在步骤S901中,存储器管理电路202会将可复写式非易失性存储器模组106的实体区块逻辑地分组为数据区502、闲置区504、系统区506与取代区508。必须了解的是,尽管在本发明范例实施例中,实体区块会被逻辑地分组为数据区502、闲置区504、系统区506与取代区508,然而,在本发明另一范例实例中,实体区块可仅被分组为数据区502与闲置区504。
在步骤S903中,存储器管理电路202会根据闲置区504的实体区块建立链接清单800并且将链接清单800储存在可复写式非易失性存储器模组106中。
在步骤S905中,在存储器储存装置100被电源启动之后,存储器管理电路202会根据链接清单800与预定数目从闲置区504的实体区块之中选择数个实体区块(以下称为数个第三实体区块)并且分别地对数个第三实体区块执行抹除指令。在此,数个第三实体区块的数目是等于上述预定数目。
综上所述,上述范例实施例的存储器抹除方法、存储器控制器与存储器储存装置在电源启动之后仅对闲置区的实体区块进行标记,由此能够有效地缩短在电源启动之后进入待命状态的时间。此外,上述范例实施例的存储器抹除方法、存储器控制器与存储器储存装置在电源启动之后仅对闲置区的部分实体区块执行抹除指令,由此能够有效地缩短在电源启动之后进入待命状态的时间。再者,上述范例实施例的存储器抹除方法、存储器控制器与存储器储存装置能够有效地避免重复编程的错误。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
Claims (9)
1.一种存储器抹除方法,用于一存储器储存装置的一可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组具有多个实体区块,该存储器抹除方法包括:
将该些实体区块逻辑地至少分组为一数据区与一闲置区;
根据该闲置区的该些实体区块建立一链接(link)清单并且将该链接清单储存在该可复写式非易失性存储器模组中,其中该闲置区的该些实体区块是根据一排列顺序被记录在该链接清单中;以及
在该存储器储存装置被电源启动之后,根据该链接清单与一预定数目从该闲置区的该些实体区块之中选择多个第三实体区块并且分别地对该些第三实体区块执行一抹除指令,其中该些第三实体区块为排列在该链接清单中的最前面并且该第三实体区块的一数目为该预定数目。
2.根据权利要求1所述的存储器抹除方法,其中还包括:
当欲使用该闲置区的该些实体区块时,根据该链接清单依序地提取该闲置区的该些实体区块。
3.根据权利要求1所述的存储器抹除方法,其中还包括:
当将该数据区的该些实体区块之中的一第四实体区块关联至该闲置区时,对该第四实体区块执行该抹除指令并且将该第四实体区块记录在该链接清单中的最后面。
4.一种存储器控制器,用以控制一可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组具有多个实体区块,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模组;
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以将该些实体区块逻辑地至少分组为一数据区与一闲置区;
其中该存储器管理电路根据该闲置区的该些实体区块建立一链接(link)清单并且将该链接清单储存在该可复写式非易失性存储器模组中,其中该闲置区的该些实体区块是根据一排列顺序被记录在该链接清单中,
其中在该存储器管理电路被电源启动之后,该存储器管理电路根据该链接清单与一预定数目从该闲置区的该些实体区块之中选择多个第三实体区块并且分别地对该些第三实体区块执行一抹除指令,其中该些第三实体区块为排列在该链接清单中的最前面并且该第三实体区块的一数目为该预定数目。
5.根据权利要求4所述的存储器控制器,其中当欲使用该闲置区的该些实体区块时,该存储器管理电路根据该链接清单依序地提取该闲置区的该些实体区块。
6.根据权利要求4所述的存储器控制器,其中当该存储器管理电路将该数据区的该些实体区块之中的一第四实体区块关联至该闲置区时,该存储器管理电路会对该第四实体区块执行该抹除指令并且将该第四实体区块记录在该链接清单中的最后面。
7.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模组,具有多个实体区块;以及
一存储器控制器,电性连接至该可复写式非易失性存储器模组,并且用以将该些实体区块逻辑地至少分组为一数据区与一闲置区,
其中该存储器控制器根据该闲置区的该些实体区块建立一链接(link)清单并且将该链接清单储存在该可复写式非易失性存储器模组中,其中该闲置区的该些实体区块是根据一排列顺序被记录在该链接清单中,
其中在该存储器控制器被电源启动之后,该存储器控制器根据该链接清单与一预定数目从该闲置区的该些实体区块之中选择多个第三实体区块并且分别地对该些第三实体区块执行一抹除指令,其中该些第三实体区块为排列在该链接清单中的最前面并且该第三实体区块的一数目为该预定数目。
8.根据权利要求7所述的存储器储存装置,其中当欲使用该闲置区的该些实体区块时,该存储器控制器根据该链接清单依序地提取该闲置区的该些实体区块。
9.根据权利要求7所述的存储器储存装置,其中当将该数据区的该些实体区块之中的一第四实体区块关联至该闲置区时,该存储器控制器会对该第四实体区块执行该抹除指令并且将该第四实体区块记录在该链接清单中的最后面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510015982.6A CN104598167B (zh) | 2011-06-27 | 2011-06-27 | 存储器抹除方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510015982.6A CN104598167B (zh) | 2011-06-27 | 2011-06-27 | 存储器抹除方法、存储器控制器与存储器储存装置 |
CN201110174852.9A CN102855192B (zh) | 2011-06-27 | 2011-06-27 | 存储器抹除方法、存储器控制器与存储器储存装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110174852.9A Division CN102855192B (zh) | 2011-06-27 | 2011-06-27 | 存储器抹除方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598167A CN104598167A (zh) | 2015-05-06 |
CN104598167B true CN104598167B (zh) | 2018-01-05 |
Family
ID=53123994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510015982.6A Active CN104598167B (zh) | 2011-06-27 | 2011-06-27 | 存储器抹除方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598167B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888820B (zh) * | 2018-09-07 | 2022-01-25 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4924330A (en) * | 1988-10-11 | 1990-05-08 | Next, Inc. | System and method for improving the performance of high-density data storage media |
US5581723A (en) * | 1993-02-19 | 1996-12-03 | Intel Corporation | Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array |
CN1206149A (zh) * | 1997-06-25 | 1999-01-27 | 索尼公司 | 存储器管理方法 |
CN101354918A (zh) * | 2007-07-25 | 2009-01-28 | 慧荣科技股份有限公司 | 存储装置以及平均使用一快闪式存储器的区块的方法 |
CN101414282A (zh) * | 2007-10-15 | 2009-04-22 | 群联电子股份有限公司 | 平均磨损方法及使用此方法的控制器 |
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
-
2011
- 2011-06-27 CN CN201510015982.6A patent/CN104598167B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4924330A (en) * | 1988-10-11 | 1990-05-08 | Next, Inc. | System and method for improving the performance of high-density data storage media |
US5581723A (en) * | 1993-02-19 | 1996-12-03 | Intel Corporation | Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array |
CN1206149A (zh) * | 1997-06-25 | 1999-01-27 | 索尼公司 | 存储器管理方法 |
CN101354918A (zh) * | 2007-07-25 | 2009-01-28 | 慧荣科技股份有限公司 | 存储装置以及平均使用一快闪式存储器的区块的方法 |
CN101414282A (zh) * | 2007-10-15 | 2009-04-22 | 群联电子股份有限公司 | 平均磨损方法及使用此方法的控制器 |
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104598167A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9519436B1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN104765569B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN103377143B (zh) | 存储器管理方法、存储器控制器与存储器存储装置 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN104765568A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN104793891B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN107402716A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN106776376A (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
TW201521027A (zh) | 資料管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN102129353B (zh) | 数据写入系统与数据写入方法 | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
CN102902626A (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN105988950A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TWI451247B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN107045890A (zh) | 数据保护方法、存储器控制电路单元及存储器存储装置 | |
CN104166558B (zh) | 固件码载入方法、存储器控制器与存储器存储装置 | |
CN109273033A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107122308A (zh) | 平均磨损方法、内存控制电路单元及内存储存装置 | |
CN102736985B (zh) | 数据合并方法、控制器与储存装置 | |
CN107204205A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN104598167B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |