CN104793891A - 数据写入方法、存储器控制电路单元与存储器存储装置 - Google Patents
数据写入方法、存储器控制电路单元与存储器存储装置 Download PDFInfo
- Publication number
- CN104793891A CN104793891A CN201410022140.9A CN201410022140A CN104793891A CN 104793891 A CN104793891 A CN 104793891A CN 201410022140 A CN201410022140 A CN 201410022140A CN 104793891 A CN104793891 A CN 104793891A
- Authority
- CN
- China
- Prior art keywords
- erased cell
- entity erased
- data
- entity
- control circuit
- 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.)
- Granted
Links
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种用于可复写式非挥发性存储器模块的数据写入方法及使用此方法的存储器控制电路单元与存储器存储装置,其中此可复写式非挥发性存储器模块包括多个实体抹除单元。本数据写入方法包括:将此些实体抹除单元至少分组为数据区、备份区与闲置区并且将最低门限值加上预定数量所获得的值来设定垃圾回收门限值。本数据写入方法还包括从闲置区的实体抹除单元中提取实体抹除单元,将数据写入至所提取的实体抹除单元,将所提取的实体抹除单元关联至备份区,且根据备份区的实体抹除单元的数目与最低门限值来调整垃圾回收门限值。
Description
技术领域
本发明是有关于一种用于可复写式非挥发性存储器的数据写入方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非挥发性存储器(rewritable non-volatilememory)具有数据非挥发性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以快速存储器作为存储媒体的存储器存储装置。因此,近年快速存储器产业成为电子产业中相当热门的一环。
快速存储器模块具有多个实体抹除单元,且每一实体抹除单元具有多个实体程序化单元(physical page),其中在实体抹除单元中写入数据时必须根据实体程序化单元的顺序写入数据。此外,已被写入数据之实体程序化单元必须先被抹除后才能再次用于写入数据。特别是,实体抹除单元为抹除的最小单位,并且实体程序化单元为程序化(亦称写入)的最小单元。因此,在快速存储器模块的管理中,实体抹除单元会被区分为数据区与闲置区。
数据区的实体抹除单元是用以存储主机系统所存储的数据。具体来说,存储器存储装置中的存储器控制电路单元会将主机系统所存取的逻辑存取地址转换为逻辑块的逻辑页面,并且将逻辑块的逻辑页面映射至数据区的实体抹除单元的实体程序化单元。也就是说,快速存储器模块的管理上数据区的实体抹除单元是被视为已被使用的实体抹除单元(例如,已存储主机系统所写入的数据)。例如,存储器控制电路单元会使用逻辑转实体地址映射表来记载逻辑块与数据区的实体抹除单元的映射关系,其中逻辑块中的逻辑页面是对应所映射的实体抹除单元的实体程序化单元。
闲置区的实体抹除单元是用以轮替数据区中的实体抹除单元。具体来说,如上所述,已写入数据的实体抹除单元必须被抹除后才可再次用于写入数据,因此,闲置区的实体抹除单元是被设计用于写入数据以替换映射逻辑块的实体抹除单元。基于此,在闲置区中的实体抹除单元为空或可使用的实体抹除单元,即无记录数据或标记为已没用的无效数据。
也就是说,数据区与闲置区的实体抹除单元的实体程序化单元是以轮替方式来映射逻辑块的逻辑页面,以存储主机系统所写入的数据。例如,当主机系统欲写入数据的逻辑存取地址是对应存储器存储装置的某一逻辑块的某一逻辑页面时,存储器存储装置的存储器控制电路单元会从闲置区中提取一个或多个实体抹除单元,将此数据写入至所提取的实体抹除单元的实体程序化单元中,并且将写入数据的实体抹除单元关联至数据区。
特别是,在存储器存储装置操作期间,当闲置区的实体抹除单元快被耗尽时,存储器存储装置的存储器控制电路单元会将数据区中至少一个实体抹除单元中的有效数据整理至数据区中其他实体抹除单元中未被使用的实体程序化单元中(以下称为“有效数据合并操作”),以对仅存储无效数据的实体抹除单元执行抹除操作并将抹除后的实体抹除单元关联至闲置区,以使轮替操作的机制继续维持以执行后续的写入指令。
然而,执行上述数据合并操作是相对耗时的,因此,倘若主机系统要求在短时间内写入(或备份)大量数据(例如,因即将断电而指示将缓冲存储器内的数据存储至可复写式非挥发性存储器的请求)并且闲置区的实体抹除单元快被耗尽时,存储器存储装置的存储器控制电路单元将需要耗费大量时间进行数据合并操作,而无法在预定时间内完成数据的写入,而使系统所存储的数据遗失。
发明内容
本发明提供一种数据写入方法、存储器控制电路单元与存储器存储装置,其能够快速地写入与恢复备份数据。
据此,本发明一实施例提出一种用于一可复写式非挥发性存储器模块数据的写入方法,其中此可复写式非挥发性存储器模块包括多个实体抹除单元。本数据写入方法包括将此些实体抹除单元至少关联至数据区、备份区与闲置区,配置多个第一逻辑单元与多个第二逻辑单元以提供主机系统存取,且将最低门限值加上预定数量所获得的值来设定垃圾回收门限值,其中第一逻辑单元映射被关联至数据区的实体抹除单元,且第二逻辑单元映射被关联至备份区的实体抹除单元。本数据写入方法还包括从主机系统中接收第一写入指令,其中此第一写入指令指示写入第一数据至此些第二逻辑单元之中的至少一逻辑单元。本数据写入方法还包括从闲置区的实体抹除单元中提取至少一第一实体抹除单元,将第一数据写入至第一实体抹除单元,将第一实体抹除单元关联至备份区,且根据第一实体抹除单元的数目与最低门限值来调整垃圾回收门限值,其中调整后的垃圾回收门限值是通过将最低门限值加上预定数量所获得的值减去此些实体抹除单元之中被关联至备份区的实体抹除单元的数目来获得,并且此些实体抹除单元之中被关联至备份区的实体抹除单元的数目不大于预定数量。
在本发明的一实施例中,上述数据写入方法还包括从主机系统中接收第二写入指令,其中此第二写入指令指示写入第二数据至此些第一逻辑单元之中的至少一逻辑单元;以及从闲置区的实体抹除单元中提取至少一第二实体抹除单元,将第二数据写入至第二实体抹除单元并且将第二实体抹除单元关联至数据区。
在本发明的一实施例中,上述料写入方法还包括判断闲置区的实体抹除单元的数目是否不大于垃圾回收门限值;以及倘若闲置区的实体抹除单元的数目不大于垃圾回收门限值时,执行数据合并操作以将数据区的至少一实体抹除单元关联至闲置区。
在本发明的一实施例中,上述执行数据合并操作以将数据区的至少一实体抹除单元关联至闲置区的步骤包括:从数据区的实体抹除单元中选择第三实体抹除单元;倘若第三实体抹除单元存有至少一有效数据时,将此有效数据从第三实体抹除单元复制到数据区中的第四实体抹除单元;以及抹除第三实体抹除单元并且将抹除后的第三实体抹除单元关联至闲置区。
在本发明的一实施例中,上述数据写入方法还包括从主机系统中接收删除指令,其中此删除指令指示删除第一数据;以及对上述第一实体抹除单元执行抹除操作,将至少一第一实体抹除单元关联至闲置区并且根据最低门限值与此些实体抹除单元之中被关联至备份区的实体抹除单元的数目来重新调整垃圾回收门限值。
本发明一实施例提出一种用于控制可复写式非挥发性存储器模块的存储器控制电路单元,其中可复写式非挥发性存储器模块具有多个实体抹除单元。存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非挥发性存储器模块。存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以将此些实体抹除单元至少关联至数据区、备份区与闲置区并且配置多个第一逻辑单元与多个第二逻辑单元以提供主机系统存取,其中第一逻辑单元映射被关联至数据区的实体抹除单元,且第二逻辑单元映射被关联至备份区的实体抹除单元。在此,存储器管理电路还用以将最低门限值加上预定数量所获得的值来设定垃圾回收门限值。此外,存储器管理电路还用以从主机系统中接收第一写入指令,其中此第一写入指令指示写入第一数据至此些第二逻辑单元之中的至少一逻辑单元。再者,存储器管理电路还用以从闲置区的此些实体抹除单元中提取至少一第一实体抹除单元,将第一数据写入至第一实体抹除单元,将第一实体抹除单元关联至该备份区,且根据第一实体抹除单元的数目与最低门限值来调整该垃圾回收门限值,其中调整后的垃圾回收门限值是通过将最低门限值加上预定数量所获得的值减去此些实体抹除单元之中被关联至备份区的实体抹除单元的数目来获得,并且些实体抹除单元之中被关联至备份区的实体抹除单元的数目不大于预定数量。
在本发明的一实施例中,上述存储器管理电路还用以从主机系统中接收第二写入指令,其中此第二写入指令指示写入第二数据至此些第一逻辑单元之中的至少一逻辑单元。此外,存储器管理电路还用以从闲置区的实体抹除单元中提取至少一第二实体抹除单元,将第二数据写入至第二实体抹除单元并且将第二实体抹除单元关联至数据区。
在本发明的一实施例中,上述存储器管理电路还用以判断闲置区的实体抹除单元的数目是否不大于垃圾回收门限值。倘若闲置区的实体抹除单元的数目不大于垃圾回收门限值时,存储器管理电路执行数据合并操作以将数据区的实体抹除单元关联至闲置区。
在本发明的一实施例中,上述执行数据合并操作以将数据区的至少一实体抹除单元关联至闲置区的操作中,存储器管理电路从数据区的实体抹除单元中选择第三实体抹除单元,并且抹除第三实体抹除单元并且将抹除后的第三实体抹除单元关联至闲置区,其中倘若第三实体抹除单元存有至少一有效数据时,存储器管理电路在抹除第三实体抹除单元之前先将至少一有效数据从第三实体抹除单元复制到数据区中的第四实体抹除单元。
在本发明的一实施例中,上述存储器管理电路还用以从主机系统中接收删除指令,其中此删除指令指示删除第一数据。此外,存储器管理电路还用以对第一实体抹除单元执行一抹除操作,将第一实体抹除单元关联至闲置区并且根据最低门限值与上述实体抹除单元之中被关联至备份区的实体抹除单元的数目来重新调整垃圾回收门限值。
本发明一实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非挥发性存储器模块与存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非挥发性存储器模块具有多个实体抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非挥发性存储器模块。存储器控制电路单元用以将此些实体抹除单元至少关联至数据区、备份区与闲置区并且配置多个第一逻辑单元与多个第二逻辑单元以提供主机系统存取,其中第一逻辑单元映射被关联至数据区的实体抹除单元,且第二逻辑单元映射被关联至备份区的实体抹除单元。在此,存储器控制电路单元还用以将最低门限值加上预定数量所获得的值来设定垃圾回收门限值。此外,存储器控制电路单元还用以从主机系统中接收第一写入指令,其中此第一写入指令指示写入第一数据至此些第二逻辑单元之中的至少一逻辑单元。再者,存储器控制电路单元还用以从闲置区的此些实体抹除单元中提取至少一第一实体抹除单元,将第一数据写入至第一实体抹除单元,将第一实体抹除单元关联至该备份区,且根据第一实体抹除单元的数目与最低门限值来调整该垃圾回收门限值,其中调整后的垃圾回收门限值是通过将最低门限值加上预定数量所获得的值减去此些实体抹除单元之中被关联至备份区的实体抹除单元的数目来获得,并且些实体抹除单元之中被关联至备份区的实体抹除单元的数目不大于预定数量。
在本发明的一实施例中,上述存储器控制电路单元还用以从主机系统中接收第二写入指令,其中此第二写入指令指示写入第二数据至此些第一逻辑单元之中的至少一逻辑单元。此外,存储器控制电路单元还用以从闲置区的实体抹除单元中提取至少一第二实体抹除单元,将第二数据写入至第二实体抹除单元并且将第二实体抹除单元关联至数据区。
在本发明的一实施例中,上述存储器控制电路单元还用以判断闲置区的实体抹除单元的数目是否不大于垃圾回收门限值。倘若闲置区的实体抹除单元的数目不大于垃圾回收门限值时,存储器控制电路单元执行数据合并操作以将数据区的实体抹除单元关联至闲置区。
在本发明的一实施例中,上述执行数据合并操作以将数据区的至少一实体抹除单元关联至闲置区的操作中,存储器控制电路单元从数据区的实体抹除单元中选择第三实体抹除单元,并且抹除第三实体抹除单元并且将抹除后的第三实体抹除单元关联至闲置区,其中倘若第三实体抹除单元存有至少一有效数据时,存储器管理电路在抹除第三实体抹除单元之前先将至少一有效数据从第三实体抹除单元复制到数据区中的第四实体抹除单元。
在本发明的一实施例中,上述存储器控制电路单元还用以从主机系统中接收删除指令,其中此删除指令指示删除第一数据。此外,存储器控制电路单元还用以对第一实体抹除单元执行一抹除操作,将第一实体抹除单元关联至闲置区并且根据最低门限值与上述实体抹除单元之中被关联至备份区的实体抹除单元的数目来重新调整垃圾回收门限值。
基于上述,数据写入方法、存储器控制电路单元与存储器存储装置,通过动态地维持专用于循序数据的实体抹除单元,由此避免执行数据合并操作以缩短写入大量循序数据的时间。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一实施例所示出的主机系统与存储器存储装置;
图2是根据本发明实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
图3是根据本发明实施例所示出的主机系统与存储器存储装置的示意图;
图4是示出图1所示的存储器存储装置的概要方块图;
图5是根据一实施例所示出之存储器控制电路单元的概要方块图;
图6与图7是根据第一实施例所示出的管理实体块的示意图;
图8~图20是根据本发明一实施例所示出的以随机写入机制写入随机数据的;
图21与图22是示出执行有效数据合并程序以完成后续写入指令的简化;
图23是根据本发明一实施例所示出的写入备份数据的;
图24是根据本发明一实施例所示出的数据写入方法的流程图。
附图标记说明:
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:存储器接口;
208:缓冲存储器;
210:电源管理电路;
212:错误检查与校正电路;
410(0)~410(N):实体抹除单元;
502:系统区;
504:备份区;
506:数据区;
508:闲置区;
510:取代区;
LBA(0)~LBA(H):逻辑单元;
LZ(0)~LZ(M):逻辑区域;
BD1~BD5:备份数据;
UD1~UD14:数据;
S2401、S2403、S2405、S2407、S2409、S2411、S2413:数据写入方法的步骤。
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非挥发性存储器模块与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一实施例所示出的主机系统与存储器存储装置。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output,简称:I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccess memory,简称:RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的操作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的随身盘1212、记忆卡1214或固态硬盘(Solid State Drive,简称:SSD)1216等的可复写式非挥发性存储器存储装置。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一实施例中主机系统1000可以是数码相机1310、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统1000为数码相机(摄影机)1310时,可复写式非挥发性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,简称:eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接在主机系统1000的基板上。
图4是示出图1所示的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非挥发性存储器模块106。
在本实施例中,连接接口单元102是相容于序列先进附件(Serial AdvancedTechnology Attachment,简称:SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102亦可以是符合并列先进附件(Parellel AdvancedTechnology Attachment,简称:PATA)标准、电气和电子工程师协会(Institute ofElectrical and Electronic Engineers,简称:IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,简称:PCI Express)标准、通用序列总线(Universal Serial Bus,简称:USB)标准、超高速一代(Ultra HighSpeed-I,简称:UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称:UHS-II)接口标准、安全数码(Secure Digital,简称:SD)接口标准、记忆棒(Memory Stick,简称:MS)接口标准、多媒体存储卡(Multi Media Card,简称:MMC)接口标准、小型快速(Compact Flash,简称:CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称:IDE)标准或其他适合的标准。在本实施例中,连接接口单元可与存储器控制电路单元104封装在一个晶片中,或布设在一包含存储器控制电路单元104的晶片外。
存储器控制电路单元104用以执行以硬件型式或固件型式实作的多个逻辑们或控制指令,并且根据主机系统1000的指令在可复写式非挥发性存储器模块106中进行数据的写入、读取与抹除等操作。
可复写式非挥发性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非挥发性存储器模块106具有实体抹除单元410(0)~实体抹除单元410(N)。例如,实体抹除单元410(0)~实体抹除单元410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的并被抹除的记忆胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据字节区与冗余字节区。数据字节区包含多个实体存取地址用以存储使用者的数据,而冗余字节区用以存储系统的数据(例如,控制资讯与错误更正码)。在本实施例中,每一个实体程序化单元的数据字节区中会包含4个实体存取地址,且一个实体存取地址的大小为512字节组(byte)。然而,在其他实施例中,数据字节区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一实施例中,实体抹除单元为实体块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本实施例中,可复写式非挥发性存储器模块106为多阶记忆胞(MultiLevel Cell,简称:MLC)NAND型快速存储器模块(即,一个记忆胞中可存储2个字节数据的快速存储器模块)。然而,本发明不限于此,可复写式非挥发性存储器模块106亦可是单阶记忆胞(Single Level Cell,简称:SLC)NAND型快速存储器模块(即,一个记忆胞中可存储1个字节数据的快速存储器模块)、复数阶记忆胞(Trinary Level Cell,简称:TLC)NAND型快速存储器模块(即,一个记忆胞中可存储3个字节数据的快速存储器模块)、其他快速存储器模块或其他具有相同特性的存储器模块。
图5是根据一实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制电路单元104的整体操作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100操作时,此些控制指令会被执行以进行数据的写入、读取与抹除等操作。
在本实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100操作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。
在本发明另一实施例中,存储器管理电路202的控制指令亦可以程序码型式存储在可复写式非挥发性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区502)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元104被致能时,微处理器单元会先执行此驱动码段来将存储在可复写式非挥发性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器1104中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等操作。
此外,在本发明另一实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,记忆胞管理电路用以管理可复写式非挥发性存储器模块106的实体抹除单元;存储器写入电路用以对可复写式非挥发性存储器模块106下达写入指令以将数据写入至可复写式非挥发性存储器模块106中;存储器读取电路用以对可复写式非挥发性存储器模块106下达读取指令以从可复写式非挥发性存储器模块106中读取数据;存储器抹除电路用以对可复写式非挥发性存储器模块106下达抹除指令以将数据从可复写式非挥发性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非挥发性存储器模块106的数据以及从可复写式非挥发性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非挥发性存储器模块106。也就是说,欲写入至可复写式非挥发性存储器模块106的数据会经由存储器接口206转换为可复写式非挥发性存储器模块106所能接受的格式。
在本发明一实施例中,存储器控制电路单元104还包括缓冲存储器208、电源管理电路210与错误检查与校正电路212。
缓冲存储器208是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非挥发性存储器模块106的数据。
电源管理电路210是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,简称:ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非挥发性存储器模块106中。之后,当存储器管理电路202从可复写式非挥发性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图6与图7是根据第一实施例所示出的管理实体抹除单元的示意图。
请参照图6,在存储器存储装置100的操作过程中,存储器控制电路单元104(或存储器管理电路202)会动态地将实体抹除单元410(0)~实体抹除单元410-(N)关联为数据区506、备份区504、闲置区508、系统区502与取代区510。
被关联至数据区506的实体抹除单元是被视为已存储来自于主机系统1000的数据的实体抹除单元。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区508中提取实体抹除单元,将数据写入至所提取的实体抹除单元中,并且将写入数据的实体抹除单元关联至数据区506。
被关联至备份区504的实体抹除单元是已存储来自于主机系统1000的备份数据的实体抹除单元。例如,在本实施例中,主机系统1000配置有不断电系统(未示出),当主机系统1000的外部电源发生异常时,不断电系统会启动,并且微处理器1102会利用在不断电系统提供有限电力的期间对存储器存储装置100下达备份写入指令,以立即备份暂存在随机存取存储器1104中的数据。此时,存储器控制电路单元104(或存储器管理电路202)会将从闲置区508中提取实体抹除单元,将主机系统1000欲存储的备份数据写入至所提取的实体抹除单元中并且将写入备份数据的实体抹除单元关联至备份区504。
被关联至闲置区508的实体抹除单元是为空的实体抹除单元或者存储无效数据的实体抹除单元,其用以替换数据区506的实体抹除单元与备份区504的实体抹除单元。具体来说,当关联至数据区506或备份区504的实体抹除单元中的数据变成为无效时,存储器控制电路单元104(或存储器管理电路202)会将此实体抹除单元重新关联回闲置区508,以利后续执行写入操作之用。
被关联至系统区502的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非挥发性存储器模块106的制造商与型号、可复写式非挥发性存储器模块106的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
被关联至取代区510中的实体抹除单元是用于坏实体抹除单元取代程序,以取代可复写式非挥发性存储器模块106中损坏的实体抹除单元。例如,倘若取代区510中仍存有正常的实体抹除单元并且数据区506的实体抹除单元损坏时,存储器管理电路202会从取代区510中提取正常的实体抹除单元来更换损坏的实体抹除单元。
例如,如图6所示,在存储器存储装置100被初始化(亦称为开卡)过程中,实体抹除单元410(0)~实体抹除单元410-(S-1)会被关联至闲置区508,被写入系统数据的实体抹除单元410(S)~实体抹除单元410-(R-1)会被关联至系统区502,并且剩下的实体抹除单元410(R)~实体抹除单元410-(N)会被关联至取代区510。必须了解的是,被关联至数据区506、备份区504、闲置区508、系统区502与取代区510的实体抹除单元的数量会根据不同的存储器规格而有所不同。特别是,在另一实施例中,在存储器存储装置100被初始化(亦称为开卡)过程中,部份实体抹除单元亦可直接被关联至数据区506,并且被视为已存储数据。
请参照图7,存储器控制电路单元104(或存储器管理电路202)会配置逻辑单元LBA(0)~逻辑单元LBA(H)(亦称为系统逻辑单元区)以映射被关联至数据区506的实体抹除单元并且配置逻辑单元LBA(H+1)~逻辑单元LBA(T)(亦称为备份逻辑单元区)以映射被关联至备份区504的实体抹除单元,其中每一逻辑单元具有多个逻辑页面以映射对应的实体抹除单元的实体程序化单元。并且,当主机系统100欲写入数据至逻辑单元或更新存储在逻辑单元中的数据时,存储器控制电路单元104(或存储器管理电路202)会从闲置区508中提取一个实体抹除单元来写入数据,以轮替数据区506与备份区504的实体抹除单元。
为了识别数据每个逻辑单元的数据被存储在那个实体抹除单元,在本实施例中,存储器控制电路单元104(或存储器管理电路202)会记录逻辑单元与实体抹除单元之间的映射。并且,当主机系统1000欲在逻辑页面中存取数据时,存储器控制电路单元104(或存储器管理电路202)会确认此逻辑页面所属的逻辑单元,并且在此逻辑单元所映射的实体抹除单元中来存取数据。例如,在本实施例中,存储器控制电路单元104(或存储器管理电路202)会在可复写式非挥发性存储器模块106中存储逻辑转实体地址映射表来记录每一逻辑单元所映射的实体抹除单元,并且当欲存取数据时存储器控制电路单元104(或存储器管理电路202)会将逻辑转实体地址映射表载入至缓冲存储器208来维护。
值得一提的是,由于缓冲存储器208的容量有限无法存储记录所有逻辑单元的映射关系的映射表,因此,在本实施例中,存储器控制电路单元104(或存储器管理电路202)会将逻辑单元LBA(0)~逻辑单元LBA(T)分组为多个逻辑区域LZ(0)~逻辑区域LZ(K),并且为每一逻辑区域配置一个逻辑转实体地址映射表。特别是,当存储器控制电路单元104(或存储器管理电路202)欲更新某个逻辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑转实体地址映射表会被载入至缓冲存储器208来被更新。
如上所述,在本实施例中,存储器存储装置100的可复写式非挥发性存储器模块106是以页面为基础来进行管理,因此,在执行写入指令时,不管目前数据是要写入至那个逻辑单元的逻辑页面,存储器控制电路单元104(或存储器管理电路202)皆会以一个实体程序化单元接续一个实体程序化单元的方式来写入数据。具体来说,存储器控制电路单元104(或存储器管理电路202)会从闲置区508中提取一个空的实体抹除单元作为目前使用的实体抹除单元来写入数据。并且,当此目前使用的实体抹除单元已被写满时,存储器控制电路单元104(或存储器管理电路202)会再从闲置区508中提取另一个空的实体抹除单元作为目前使用的实体抹除单元,以继续写入对应来自于主机系统1000的写入指令的随机数据。特别是,为了避免闲置区508的实体抹除单元被耗尽,当闲置区508的实体抹除单元的数目下降到所设定的垃圾回收门限值时,存储器控制电路单元104(或存储器管理电路202)会执行数据合并操作,以使数据区506或备份区504中的至少一个实体抹除单元中的数据成为无效数据,并且之后将数据区506或备份区504中所存储之数据皆为无效数据的实体抹除单元关联回闲置区508。例如,在执行数据合并操作时,存储器控制电路单元104(或存储器管理电路202)至少需使用一个空的实体抹除单元,因此,垃圾回收门限值至少会被设定大于最低门限值(即,1)。特别是,在本实施例中,存储器控制电路单元104(或存储器管理电路202)会在闲置区508中保留一预定数量的实体抹除单元以用于写入至逻辑单元LBA(H+1)~逻辑单元LBA(T)的数据。因此,在存储器存储装置100被初始化(亦称为开卡)过程中,存储器控制电路单元104(或存储器管理电路202)会将最低门限值加上预定数量所获得的值来初始化地设定垃圾回收门限值。
图8~图20是根据本发明一实施例所示出的写入数据的。
请参照图8,为方便说明,在此假设数据区506初始地未有映射逻辑单元的实体抹除单元(即,存储器存储装置100于开卡后尚未写入过使用者数据),闲置区508具有7个实体抹除单元,每一实体抹除单元具有3个实体程序化单元,欲写入至每一实体抹除单元的数据必须依照实体程序化单元的顺序来被写入。此外假设2个实体抹除单元会被保留专用于写入主机系统1000欲存储至备份逻辑单元区的数据,1个实体抹除单元会被用作为轮替写入数据之用并且1个实体抹除单元会被保留来进行数据合并操作,因此,垃圾回收门限值会初始地被设定为3,3个逻辑单元LBA(0)~逻辑单元LBA(2)会被配置以映射被关联至数据区506的实体抹除单元且2个逻辑单元LBA(3)~逻辑单元LBA(4)会被配置以映射被关联至备份区504的实体抹除单元。
请参照图9,假设欲程序化数据UD1并且数据UD1是属于逻辑单元LBA(0)的第1个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会从闲置区508中提取实体抹除单元410(0),下达程序化指令以将此数据UD1写入至实体抹除单元410(0)的第0个实体程序化单元,并且将实体抹除单元410(0)关联至数据区506。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(0)的第1个逻辑页面是映射至实体抹除单元410(0)的第0个实体程序化单元。
请参照图10,接续图9,假设欲再程序化数据UD2并且数据UD2是属于逻辑单元LBA(1)的第0个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会下达程序化指令以将此数据UD2写入至实体抹除单元410(0)的第1个实体程序化单元。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(1)的第0个逻辑页面是映射至实体抹除单元410(0)的第1个实体程序化单元。
请参照图11,接续图10,假设欲再程序化数据UD3并且数据UD3是属于逻辑单元LBA(2)的第1个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会下达程序化指令以将此数据UD3写入至实体抹除单元410(0)的第2个实体程序化单元。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(2)的第1个逻辑页面是映射至实体抹除单元410(0)的第2个实体程序化单元。
请参照图12,接续图11,假设欲再程序化数据UD4并且数据UD4是属于逻辑单元LBA(0)的第0个逻辑页面时,由于实体抹除单元410(0)已无存储空间,因此,存储器控制电路单元104(或存储器管理电路202)会从闲置区508中提取实体抹除单元410(1),下达程序化指令以将此数据UD4写入至实体抹除单元410(1)的第0个实体程序化单元并且将实体抹除单元410(1)关联至数据区506。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(0)的第0个逻辑页面是映射至实体抹除单元410(1)的第0个实体程序化单元。
请参照图13,接续图12,假设欲再程序化数据UD5并且数据UD5是属于逻辑单元LBA(1)的第1个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会下达程序化指令以将此数据UD5写入至实体抹除单元410(1)的第1个实体程序化单元。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(1)的第1个逻辑页面是映射至实体抹除单元410(1)的第1个实体程序化单元。
请参照图14,接续图13,假设欲再程序化数据UD6并且数据UD6是属于逻辑单元LBA(0)的第2个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会下达程序化指令以将此数据UD6写入至实体抹除单元410(1)的第2个实体程序化单元。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(0)的第2个逻辑页面是映射至实体抹除单元410(1)的第2个实体程序化单元。
请参照图15,接续图14,假设欲再程序化数据UD7并且数据UD4是属于逻辑单元LBA(2)的第0个逻辑页面时,由于实体抹除单元410(1)已无存储空间,因此,存储器控制电路单元104(或存储器管理电路202)会从闲置区508中提取实体抹除单元410(2),下达程序化指令以将此数据UD7写入至实体抹除单元410(2)的第0个实体程序化单元并且将实体抹除单元410(2)关联至数据区506。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(2)的第0个逻辑页面是映射至实体抹除单元410(2)的第0个实体程序化单元。
请参照图16,接续图15,假设欲再程序化数据UD8并且数据UD8是属于逻辑单元LBA(1)的第2个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会下达程序化指令以将此数据UD8写入至实体抹除单元410(2)的第1个实体程序化单元。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(1)的第2个逻辑页面是映射至实体抹除单元410(2)的第1个实体程序化单元。
请参照图17,接续图16,假设欲再程序化数据UD9并且数据UD9是属于逻辑单元LBA(2)的第2个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会下达程序化指令以将此数据UD9写入至实体抹除单元410(2)的第2个实体程序化单元。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(2)的第2个逻辑页面是映射至实体抹除单元410(2)的第2个实体程序化单元。
请参照图18,接续图17,假设欲再程序化数据UD10并且数据UD10是属于逻辑单元LBA(1)的第2个逻辑页面时,由于实体抹除单元410(2)已无存储空间,因此,存储器控制电路单元104(或存储器管理电路202)会从闲置区508中提取实体抹除单元410(3),下达程序化指令以将此数据UD10写入至实体抹除单元410(3)的第0个实体程序化单元并且将实体抹除单元410(3)关联至数据区506,其中实体抹除单元410(2)的第1个实体程序化单元会被标记为无效(如虚线所示)。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(1)的第2个逻辑页面是映射至实体抹除单元410(3)的第0个实体程序化单元。
请参照图19,接续图18,假设欲再程序化数据UD11并且数据UD11是属于逻辑单元LBA(2)的第2个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会下达程序化指令以将此数据UD11写入至实体抹除单元410(3)的第1个实体程序化单元,其中实体抹除单元410(2)的第2个实体程序化单元会被标记为无效(如虚线所示)。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(2)的第2个逻辑页面是映射至实体抹除单元410(3)的第1个实体程序化单元。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(2)的第2个逻辑页面是映射至实体抹除单元410(3)的第1个实体程序化单元。
请参照图20,接续图19,假设欲再程序化数据UD12并且数据UD12是属于逻辑单元LBA(1)的第1个逻辑页面时,存储器控制电路单元104(或存储器管理电路202)会下达程序化指令以将此数据UD12写入至实体抹除单元410(3)的第2个实体程序化单元,其中实体抹除单元410(1)的第1个实体程序化单元会被标记为无效(如虚线所示)。此外,存储器控制电路单元104(或存储器管理电路202)会在逻辑转实体地址映射表中记录逻辑单元LBA(1)的第1个逻辑页面是映射至实体抹除单元410(3)的第2个实体程序化单元。
以此类推,不论主机系统1000欲将数据存储至那个逻辑单元的逻辑页面中,存储器控制电路单元104(或存储器管理电路202)会依序地将主机系统1000欲存储的数据写入目前使用的实体抹除单元中。特别是,当闲置区508的实体抹除单元的数目不大于垃圾回收门限值时,存储器控制电路单元104(或存储器管理电路202)会在执行写入指令时一并执行数据合并操作,以防止闲置区的实体抹除单元被用尽;抑或是存储器控制电路单元104(或存储器管理电路202)会在一段时间内没有接收到读写指令的时候在背景执行数据合并操作,本发明并不对于执行数据合并操作的时机进行限制。
图21与图22是示出执行有效数据合并程序以完成后续写入指令的简化。
接续图20,假设欲再程序化数据UD13与数据UD14并且数据UD13与数据UD14是属于逻辑单元LBA(2)的第0与第1个逻辑页面时,由于实体抹除单元410(3)已无存储空间,因此,存储器控制电路单元104(或存储器管理电路202)需要从闲置区504中提取空的实体抹除单元。然而,此时,闲置区504的实体抹除单元的数目是不大于垃圾回收门限值,因此,存储器控制电路单元104(或存储器管理电路202)必须先执行数据合并程序。
请参照图21,例如,存储器控制电路单元104(或存储器管理电路202)从闲置区504中提取实体抹除单元410(4),将实体抹除单元410(1)中的有效数据(即,数据UD4与数据UD6)和实体抹除单元410(2)中的有效数据(即,数据UD7)复制到实体抹除单元410(4),将实体抹除单元410(4)关联至数据区506,将实体抹除单元410(1)的第0与1个实体程序化单元和实体抹除单元410(2)的第0实体程序化单元标记为无效,对仅存储无效数据的实体抹除单元(即,实体抹除单元410(1)与实体抹除单元410(2))执行实体抹除,并且将抹除后的实体抹除单元关联回闲置区504。此时,闲置区504的实体抹除单元的数目会恢复为4(即,大于垃圾回收门限值)。
请参照图22,之后,存储器控制电路单元104(或存储器管理电路202)会从闲置区504中提取实体抹除单元410(5),下达程序化指令以将数据UD13与数据UD14写入至实体抹除单元410(5)的第0与第1个实体程序化单元并且将实体抹除单元410(5)关联至数据区506,其中逻辑单元LBA(2)的第0与第1个逻辑页面原始所映射的实体程序化单元(即,实体抹除单元410(0)的第2个实体程序化单元以及实体抹除单元410(4)的第2个实体程序化单元)会被标记为无效数据状态。
如上所述,在本实施例中,可复写式非挥发性存储器模块106中的一预定数量的实体抹除单元会被维持来专用于写入主机系统1000欲存储至备份逻辑单元的数据,因此,存储器控制电路单元104(或存储器管理电路202)会根据所写入的备份数据的量来动态调整垃圾回收门限值。
图23是根据本发明一实施例所示出的写入备份数据的。
请参照图23,接续图22,假设主机系统1000发生电源异常事件而下达写入指令指示将随机存取存储器1104内的数据(以下称为备份数据BD1~数据BD5)写入至存储器存储装置100的逻辑单元LBA(3)的第0~2个逻辑页面以及逻辑单元LBA(4)的第0~1个逻辑页面时,由于闲置区508中保留有2个实体抹除单元用于写入欲存储至逻辑单元LBA(3)与逻辑单元LBA(4)的数据,因此,存储器控制电路单元104(或存储器管理电路202)会从闲置区508中提取空的实体抹除单元(例如,实体抹除单元410(6)与实体抹除单元410(1)),下达程序化指令以将备份数据BD1~数据BD5循序地写入至实体抹除单元410(6)与实体抹除单元410(1)中并且将实体抹除单元410(6)与实体抹除单元410(1)关联至备份区504。
另外,由于保留用于备份区504的实体抹除单元已被使用,因此,存储器控制电路单元104(或存储器管理电路202)会据此调整垃圾回收门限值。具体来说,存储器控制电路单元104(或存储器管理电路202)会记录备份区504中的实体抹除单元的数目,并且将初始垃圾回收门限值(即,上述最低门限值加上预定数量所得的值)减去备份区504的实体抹除单元的数目作为新的垃圾回收门限值(即,调整后的垃圾回收门限值)。在图23的中,新的垃圾回收门限值会被设定为1。
在图23的例子中,虽然主机系统1000指示一次写入大量的数据,然而,由于存储器控制电路单元104(或存储器管理电路202)无需执行数据合并操作来腾出空间,因此,可有效地缩短执行写入指令的时间。此外,由于数据是以循序方式被写入至备份区504的实体抹除单元,因此,当主机系统1000在断电后重新开机时,可以快速地从备份区504的实体抹除单元中读取备份数据,而有效地完成恢复(recovery)操作。
此外,由于存储器控制电路单元104(或存储器管理电路202)仅保留预定数量的实体抹除单元来存储欲存储至备份逻辑单元的数据,因此,在存储器存储装置100操作中,备份区504的实体抹除单元不会超过预定数量。例如,在一实施例中,当主机系统1000重新开机且完成恢复操作(例如,将备份区504的实体抹除单元中的数据恢复至随机存取存储器1104)后,存储器控制电路单元104(或存储器管理电路202)亦可对备份区504的实体抹除单元(例如,实体抹除单元410(6)与实体抹除单元410(1))执行抹除操作并且将抹除后的实体抹除单元410(6)与实体抹除单元410(1)关联回闲置区508,由此闲置区508中仍有两个实体抹除单可再被用来存储欲存储至备份逻辑单元的数据。此时,存储器控制电路单元104(或存储器管理电路202)会再次根据备份区504中的实体抹除单元的数目与最低门限值来调整垃圾回收门限值。例如,在实体抹除单元410(6)与实体抹除单元410(1)关联回闲置区508被关联回闲置区508后,存储器控制电路单元104(或存储器管理电路202)会将垃圾回收门限值重新设定为3。
再者,在另一实施例中,在主机系统1000重新开机且完成恢复操作(例如,将备份区504的实体抹除单元中的备份数据恢复至随机存取存储器1104)后,主机系统1000亦可下达删除指令来指示抹除备份区504的部分或全部数据。此备份删除指令例如为清除指令(trim command)。此时,存储器控制电路单元104(或存储器管理电路202)亦可对备份区504中无存储有效数据的实体抹除单元执行抹除操作并且将抹除后的实体抹除单元关联回闲置区508。类似地,存储器控制电路单元104(或存储器管理电路202)会再次根据备份区504中的实体抹除单元的数目与最低门限值来调整垃圾回收门限值。例如,假设根据主机系统1000的清除指令清除部分备份数据后,实体抹除单元410(6)无存储有效数据时,存储器控制电路单元104(或存储器管理电路202)会对实体抹除单元410(6)执行抹除操作,将抹除后的实体抹除单元410(6)关联回闲置区508,并且将垃圾回收门限值重新设定为2。
从上述中,可以清楚地了解,本实施例的存储器控制电路单元104(或存储器管理电路202)会通过调整垃圾回收门限值以动态地维持可复写式非挥发性存储器模块106中的一预定数量的实体抹除单元来专用于写入欲存储至备份逻辑单元的数据,以使得以页面为基础来进行管理的存储器存储装置100在主机系统1000发生异常事件而需备份大量数据时,仍可快速地写入数据,由此避免数据遗失。
值得一提的是,尽管在上述实施例中,主机系统1000是在发生异常事件时将备份数据存储至被配置以映射被关联至备份区504的实体抹除单元的逻辑单元LBA(3)~逻辑单元LBA(4)中。然而,本发明不限于此,在另一实施例中,主机系统1000亦可将一般使用者数据(包括随机使用者数据或循序使用者数据)存储至映射备份区504的实体抹除单元的逻辑单元,并且存储器控制电路单元104(或存储器管理电路202)亦会根据被关联至备份区504的实体抹除单元的的数目来调整垃圾回收门限值。
图24是根据本发明一实施例所示出的数据写入方法的流程图。
请参照图24,在步骤S2401中,存储器控制电路单元104(或存储器管理电路202)将可复写式非挥发性存储器模块106的实体抹除单元至少关联为数据区506、备份区504与闲置区508,配置多个第一逻辑单元(亦称为系统逻辑单元)以映射数据区506的实体抹除单元,配置多个第二逻辑单元(亦称为备份逻辑单元)以映射备份区504的实体抹除单元并且将预设的最低门限值加上预定数量所获得的值来设定垃圾回收门限值。如上所述,最低门限值为执行数据合并操作所需的实体抹除单元的数目并预定数量为欲保留专用于备份数据的实体抹除单元的数目。在此,最低门限值与预定数量可根据使用者的需求,适当的设定,不限于任何数目。
在步骤S2403中,存储器控制电路单元104(或存储器管理电路202)从主机系统1000中接收一写入指令,并且判断此写入指令所指示欲存储数据的逻辑单元为第一逻辑单元或第二逻辑单元。
倘若此写入指令所指示欲存储数据的逻辑单元为第二逻辑单元时,在步骤S2405中存储器控制电路单元104(或存储器管理电路202)会从闲置区508的实体抹除单元中提取至少一实体抹除单元(以下称为第一实体抹除单元),将备份写入指令所指示的数据(以下称为第一数据)写入至第一实体抹除单元中,将第一实体抹除单元关联至备份区504。并且,在步骤S2407中存储器控制电路单元104(或存储器管理电路202)会根据备份区504中实体抹除单元的数目与最低门限值来调整垃圾回收门限值。
倘若此写入指令所指示欲存储数据的逻辑单元为第一逻辑单元时,在步骤S2409中,存储器控制电路单元104(或存储器管理电路202)会判断闲置区508的实体抹除单元的数目是否不大于垃圾回收门限值。
倘若闲置区508的实体抹除单元的数目不大于垃圾回收门限值时,在步骤S2411中,存储器控制电路单元104(或存储器管理电路202)会执行一数据合并操作以将数据区506的至少一实体抹除单元关联至闲置区508。例如,存储器控制电路单元104(或存储器管理电路202)从数据区506的实体抹除单元中选择一实体抹除单元(以下称为第三实体抹除单元),并且倘若第三实体抹除单元存有至少一有效数据时,将此至少一有效数据从第三实体抹除单元复制到数据区506中的另一实体抹除单元(以下称为第四实体抹除单元),抹除第三实体抹除单元并且将抹除后的第三实体抹除单元关联至闲置区508。数据合并操作的详细执行方式已配合图式描述如上,在此不再重复说明。
之后,在步骤S2413中,存储器控制电路单元104(或存储器管理电路202)会从闲置区508中提取至少一实体抹除单元(以下称为第二实体抹除单元),将此写入指令所指示的数据(以下称第二写入数据)写入至此第二实体抹除单元,并且将第二实体抹除单元关联至数据区506。
基于上述,本实施例的数据写入方法、存储器控制电路单元与存储器存储装置能够在有效地以页面为基础的写入机制来程序化数据的同时,亦可对于大量备份数据进行有效率地写入,由此缩短执行请求写入大量备份数据的备份写入指令的时间并且避免数据遗失。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种数据写入方法,用于一可复写式非挥发性存储器模块,该可复写式非挥发性存储器模块包括多个实体抹除单元,其特征在于,该数据写入方法包括:
将该些实体抹除单元至少关联至一数据区、一备份区与一闲置区;
配置多个第一逻辑单元与多个第二逻辑单元以提供一主机系统存取,其中该些第一逻辑单元映射被关联至该数据区的该些实体抹除单元,且该些第二逻辑单元映射被关联至该备份区的该些实体抹除单元;
将一最低门限值加上一预定数量所获得的值来设定一垃圾回收门限值;
从该主机系统中接收一第一写入指令,其中该第一写入指令指示写入一第一数据至该些第二逻辑单元之中的至少一逻辑单元;以及
从该闲置区的该些实体抹除单元中提取至少一第一实体抹除单元,将该第一数据写入至该至少一第一实体抹除单元,将该至少一第一实体抹除单元关联至该备份区,且根据该至少一第一实体抹除单元的数目与该最低门限值来调整该垃圾回收门限值,
其中调整后的该垃圾回收门限值是通过将该最低门限值加上该预定数量所获得的值减去该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目来获得,并且该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目不大于该预定数量。
2.根据权利要求1所述的数据写入方法,其特征在于,还包括:
从该主机系统中接收一第二写入指令,其中该写入指令指示写入一第二数据至该些第一逻辑单元之中的至少一逻辑单元;以及
从该闲置区的实体抹除单元中提取至少一第二实体抹除单元,将该第二数据写入至该至少一第二实体抹除单元并且将该至少一第二实体抹除单元关联至该数据区。
3.根据权利要求2所述的数据写入方法,其特征在于,还包括:
判断该闲置区的实体抹除单元的数目是否不大于该垃圾回收门限值;以及
倘若该闲置区的实体抹除单元的数目不大于该垃圾回收门限值时,执行一数据合并操作以将该数据区的至少一实体抹除单元关联至该闲置区。
4.根据权利要求3所述的数据写入方法,其特征在于,执行该数据合并操作以将该数据区的至少一实体抹除单元关联至该闲置区的步骤包括:
从该数据区的实体抹除单元中选择一第三实体抹除单元;
倘若该第三实体抹除单元存有至少一有效数据时,将该至少一有效数据从该第三实体抹除单元复制到该数据区中的一第四实体抹除单元;以及
抹除该第三实体抹除单元并且将抹除后的该第三实体抹除单元关联至该闲置区。
5.根据权利要求1所述的数据写入方法,其特征在于,还包括:
从该主机系统中接收一删除指令,其中该删除指令指示删除该第一数据;以及
对该至少一第一实体抹除单元执行一抹除操作,将该至少一第一实体抹除单元关联至该闲置区并且根据该最低门限值与该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目来重新调整该垃圾回收门限值。
6.一种存储器控制电路单元,用于控制一可复写式非挥发性存储器模块,其特征在于,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非挥发性存储器模块,其中该可复写式非挥发性存储器模块具有多个实体抹除单元;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以将该些实体抹除单元至少关联至一数据区、一备份区与一闲置区,
其中该存储器管理电路还用以配置多个第一逻辑单元与多个第二逻辑单元以提供该主机系统存取,其中该些第一逻辑单元映射被关联至该数据区的该些实体抹除单元,且该些第二逻辑单元映射被关联至该备份区的该些实体抹除单元,
其中该存储器管理电路还用以将一最低门限值加上一预定数量所获得的值来设定一垃圾回收门限值,
其中该存储器管理电路还用以从该主机系统中接收一第一写入指令,其中该第一写入指令指示写入一第一数据至该些第二逻辑单元之中的至少一逻辑单元,
其中该存储器管理电路还用以从该闲置区的该些实体抹除单元中提取至少一第一实体抹除单元,将该第一数据写入至该至少一第一实体抹除单元,将该至少一第一实体抹除单元关联至该备份区,且根据该至少一第一实体抹除单元的数目与该最低门限值来调整该垃圾回收门限值,
其中调整后的该垃圾回收门限值是通过将该最低门限值加上该预定数量所获得的值减去该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目来获得,并且该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目不大于该预定数量。
7.根据权利要求6所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以从该主机系统中接收一第二写入指令,其中该写入指令指示写入一第二数据至该些第一逻辑单元之中的至少一逻辑单元,
其中该存储器管理电路还用以从该闲置区的实体抹除单元中提取至少一第二实体抹除单元,将该第二数据写入至该至少一第二实体抹除单元并且将该至少一第二实体抹除单元关联至该数据区。
8.根据权利要求7所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以判断该闲置区的实体抹除单元的数目是否不大于该垃圾回收门限值,
倘若该闲置区的实体抹除单元的数目不大于该垃圾回收门限值时,该存储器管理电路执行一数据合并操作以将该数据区的至少一实体抹除单元关联至该闲置区。
9.根据权利要求8所述的存储器控制电路单元,其特征在于,在执行该数据合并操作以将该数据区的至少一实体抹除单元关联至该闲置区的操作中,该存储器管理电路从该数据区的实体抹除单元中选择一第三实体抹除单元,并且抹除该第三实体抹除单元并且将抹除后的该第三实体抹除单元关联至该闲置区,
其中倘若该第三实体抹除单元存有至少一有效数据时,该存储器管理电路在抹除该第三实体抹除单元之前先将该至少一有效数据从该第三实体抹除单元复制到该数据区中的一第四实体抹除单元。
10.根据权利要求6所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以从该主机系统中接收一删除指令,其中该删除指令指示删除该第一数据,
其中该存储器管理电路还用以对该至少一第一实体抹除单元执行一抹除操作,将该至少一第一实体抹除单元关联至该闲置区并且根据该最低门限值与该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目来重新调整该垃圾回收门限值。
11.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非挥发性存储器模块,具有多个实体抹除单元;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非挥发性存储器模块,并且用以将该些实体抹除单元至少关联至一数据区、一备份区与一闲置区,
其中该存储器控制电路单元还用以配置多个第一逻辑单元与多个第二逻辑单元以提供该主机系统存取,其中该些第一逻辑单元映射被关联至该数据区的该些实体抹除单元,且该些第二逻辑单元映射被关联至该备份区的该些实体抹除单元,
其中该存储器控制电路单元还用以将一最低门限值加上一预定数量所获得的值来设定一垃圾回收门限值,
其中该存储器控制电路单元还用以从该主机系统中接收一第一写入指令,其中该第一写入指令指示写入一第一数据至该些第二逻辑单元之中的至少一逻辑单元,
其中该存储器控制电路单元还用以从该闲置区的该些实体抹除单元中提取至少一第一实体抹除单元,将该第一数据写入至该至少一第一实体抹除单元,将该至少一第一实体抹除单元关联至该备份区,且根据该至少一第一实体抹除单元的数目与该最低门限值来调整该垃圾回收门限值,
其中调整后的该垃圾回收门限值是通过将该最低门限值加上该预定数量所获得的值减去该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目来获得,并且该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目不大于该预定数量。
12.根据权利要求11所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以从该主机系统中接收一第二写入指令,其中该第二写入指令指示写入一第二数据至该些第一逻辑单元之中的至少一逻辑单元,
其中该存储器控制电路单元还用以从该闲置区的实体抹除单元中提取至少一第二实体抹除单元,将该第二数据写入至该至少一第二实体抹除单元并且将该至少一第二实体抹除单元关联至该数据区。
13.根据权利要求12所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以判断该闲置区的实体抹除单元的数目是否不大于该垃圾回收门限值,
倘若该闲置区的实体抹除单元的数目不大于该垃圾回收门限值时,该存储器控制电路单元执行一数据合并操作以将该数据区的至少一实体抹除单元关联至该闲置区。
14.根据权利要求13所述的存储器存储装置,其特征在于,在执行该数据合并操作以将该数据区的至少一实体抹除单元关联至该闲置区的操作中,该存储器控制电路单元从该数据区的实体抹除单元中选择一第三实体抹除单元,并且抹除该第三实体抹除单元并且将抹除后的该第三实体抹除单元关联至该闲置区,
其中倘若该第三实体抹除单元存有至少一有效数据时,该存储器控制电路单元在抹除该第三实体抹除单元之前先将该至少一有效数据从该第三实体抹除单元复制到该数据区中的一第四实体抹除单元。
15.根据权利要求11所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以从该主机系统中接收一删除指令,其中该删除指令指示删除该第一数据,
其中该存储器控制电路单元还用以对该至少一第一实体抹除单元执行一抹除操作,将该至少一第一实体抹除单元关联至该闲置区并且根据该最低门限值与该些实体抹除单元之中被关联至该备份区的实体抹除单元的数目来重新调整该垃圾回收门限值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410022140.9A CN104793891B (zh) | 2014-01-17 | 2014-01-17 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410022140.9A CN104793891B (zh) | 2014-01-17 | 2014-01-17 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104793891A true CN104793891A (zh) | 2015-07-22 |
CN104793891B CN104793891B (zh) | 2018-01-12 |
Family
ID=53558716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410022140.9A Active CN104793891B (zh) | 2014-01-17 | 2014-01-17 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104793891B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491588A (zh) * | 2017-09-13 | 2019-03-19 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN109522236A (zh) * | 2017-09-18 | 2019-03-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN109947664A (zh) * | 2019-02-22 | 2019-06-28 | 珠海妙存科技有限公司 | 一种通过系统两端交互提高emmc的垃圾回收执行效果的方法 |
CN110515858A (zh) * | 2018-05-22 | 2019-11-29 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110825653A (zh) * | 2018-08-09 | 2020-02-21 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110825310A (zh) * | 2018-08-09 | 2020-02-21 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN111105833A (zh) * | 2018-10-25 | 2020-05-05 | 爱思开海力士有限公司 | 存储器装置、存储器系统及操作存储器系统的方法 |
CN112256198A (zh) * | 2020-10-21 | 2021-01-22 | 成都佰维存储科技有限公司 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080082736A1 (en) * | 2004-03-11 | 2008-04-03 | Chow David Q | Managing bad blocks in various flash memory cells for electronic data flash card |
EP2200032A2 (en) * | 1998-09-18 | 2010-06-23 | Kabushi Kaisha Toshiba | Information recording method, information recording device, and information recording medium |
CN103080911A (zh) * | 2010-06-30 | 2013-05-01 | 桑迪士克科技股份有限公司 | 存储器块的先占式垃圾回收 |
US8856475B1 (en) * | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
-
2014
- 2014-01-17 CN CN201410022140.9A patent/CN104793891B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2200032A2 (en) * | 1998-09-18 | 2010-06-23 | Kabushi Kaisha Toshiba | Information recording method, information recording device, and information recording medium |
US20080082736A1 (en) * | 2004-03-11 | 2008-04-03 | Chow David Q | Managing bad blocks in various flash memory cells for electronic data flash card |
CN103080911A (zh) * | 2010-06-30 | 2013-05-01 | 桑迪士克科技股份有限公司 | 存储器块的先占式垃圾回收 |
US8856475B1 (en) * | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491588B (zh) * | 2017-09-13 | 2022-05-31 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN109491588A (zh) * | 2017-09-13 | 2019-03-19 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN109522236A (zh) * | 2017-09-18 | 2019-03-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN109522236B (zh) * | 2017-09-18 | 2022-10-21 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN110515858A (zh) * | 2018-05-22 | 2019-11-29 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110515858B (zh) * | 2018-05-22 | 2023-09-05 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110825310A (zh) * | 2018-08-09 | 2020-02-21 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110825653A (zh) * | 2018-08-09 | 2020-02-21 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110825310B (zh) * | 2018-08-09 | 2023-09-05 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110825653B (zh) * | 2018-08-09 | 2023-11-24 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN111105833A (zh) * | 2018-10-25 | 2020-05-05 | 爱思开海力士有限公司 | 存储器装置、存储器系统及操作存储器系统的方法 |
CN111105833B (zh) * | 2018-10-25 | 2023-08-29 | 爱思开海力士有限公司 | 存储器装置、存储器系统及操作存储器系统的方法 |
CN109947664A (zh) * | 2019-02-22 | 2019-06-28 | 珠海妙存科技有限公司 | 一种通过系统两端交互提高emmc的垃圾回收执行效果的方法 |
CN112256198A (zh) * | 2020-10-21 | 2021-01-22 | 成都佰维存储科技有限公司 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
CN112256198B (zh) * | 2020-10-21 | 2023-12-19 | 成都佰维存储科技有限公司 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104793891B (zh) | 2018-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI524183B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9037782B2 (en) | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same | |
US8812776B2 (en) | Data writing method, and memory controller and memory storage device using the same | |
CN104793891A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
CN104679437A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104423888A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN104732153A (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
US9652330B2 (en) | Method for data management and memory storage device and memory control circuit unit | |
CN104765568A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US9032135B2 (en) | Data protecting method, memory controller and memory storage device using the same | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN103377129A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103544115A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
TW201344434A (zh) | 記憶體格式化方法、記憶體控制器及記憶體儲存裝置 | |
CN103593296A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN105022695A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN104978149A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI517165B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN103678162A (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN103389941B (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
US20160110112A1 (en) | Data writing method, memoey control circuit unit and memory storage apparatus | |
CN105224238A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |