CN104951241B - 存储器管理方法、存储器存储装置及存储器控制电路单元 - Google Patents
存储器管理方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN104951241B CN104951241B CN201410125751.6A CN201410125751A CN104951241B CN 104951241 B CN104951241 B CN 104951241B CN 201410125751 A CN201410125751 A CN 201410125751A CN 104951241 B CN104951241 B CN 104951241B
- Authority
- CN
- China
- Prior art keywords
- erased cell
- physics erased
- data
- idle
- physics
- 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
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元。此方法包括:接收写入指令以写入第一数据至第一闲置物理抹除单元;选取第一物理抹除单元,其中第一物理抹除单元不包含第一闲置物理抹除单元且存储有复数笔数据,且所述数据中的至少二者属于不同的逻辑抹除单元;复制并写入所述数据中的有效数据至第二闲置物理抹除单元,其中第二闲置物理抹除单元不同于第一闲置物理抹除单元。
Description
技术领域
本发明是有关于一种存储器管理机制,且特别是有关于一种可复写式非易失性存储器模块的存储器管理方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,在可复写式非易失性存储器模块被使用一段时间之后,可复写式非易失性存储器模块会自动地执行一垃圾收集程序,以释放出多余的存储器空间。然而,垃圾收集程序可能会使经整理出的有效的旧数据与新写入的数据混淆,从而降低可复写式非易失性存储器模块往后执行顺序写入(sequential write)时的数据写入效率。
发明内容
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,可有效减少可复写式非易失性存储器模块因长时间使用而导致数据写入效率降低的情形。
本发明提供一种存储器管理方法,存储器管理方法用于可复写式非易失性存储器模块,并且可复写式非易失性存储器模块包括多个物理抹除单元。存储器管理方法包括:配置多个逻辑地址,其中所述逻辑地址组成多个逻辑程序化单元,所述逻辑程序化单元组成多个逻辑抹除单元,并且所述物理抹除单元包括至少一闲置物理抹除单元;接收第一写入指令,其中第一写入指令指示将第一数据写入至所述逻辑地址中的至少一第一逻辑地址,并写入第一数据至从所述闲置物理抹除单元中提取的第一闲置物理抹除单元;从所述物理抹除单元中选取第一物理抹除单元,其中第一物理抹除单元不包含第一闲置物理抹除单元且存储有复数笔数据,且所述数据中的至少二者属于不同的逻辑抹除单元;复制并写入所述数据中的至少一有效数据至从所述闲置物理抹除单元中提取的第二闲置物理抹除单元,其中第二闲置物理抹除单元不同于第一闲置物理抹除单元;以及抹除第一物理抹除单元。
在本发明的一范例实施例中,所述的存储器管理方法还包括:在写入第一数据的期间,判断第一闲置物理抹除单元是否已被写满;当第一闲置物理抹除单元已被写满时,从所述闲置物理抹除单元中提取第三闲置物理抹除单元以写入第一数据;在写入所述有效数据的期间,判断第二闲置物理抹除单元是否已被写满;以及当第二闲置物理抹除单元已被写满时,从所述闲置物理抹除单元中提取第四闲置物理抹除单元以写入所述有效数据,其中第三闲置物理抹除单元不同于第四闲置物理抹除单元。
在本发明的一范例实施例中,当所述闲置物理抹除单元的数量达到一数量门限值时,执行复制并写入所述有效数据至第二闲置物理抹除单元的步骤。
在本发明的一范例实施例中,所述的第一物理抹除单元是所述物理抹除单元中存储最少有效数据的物理抹除单元。
在本发明的一范例实施例中,所述的第一物理抹除单元是所述物理抹除单元中存储有写入时间最早的有效数据的物理抹除单元。
在本发明的一范例实施例中,所述的存储器管理方法还包括:接收第二写入指令,其中第二写入指令指示将第二数据写入至所述逻辑地址中的至少一第二逻辑地址;判断被写入至第二闲置物理抹除单元的所述有效数据的任一者所属的逻辑程序化单元与第二数据所属的逻辑程序化单元是否相同;当有效数据的任一者所属逻辑程序化单元与第二数据所属的逻辑程序化单元不相同时,根据有效数据与第二闲置物理抹除单元的对应关系更新一逻辑地址-物理抹除单元映射表;以及当有效数据的任一者所属的逻辑程序化单元与第二数据所属的逻辑程序化单元相同时,将有效数据标记为无效数据。
本发明另提出一种存储器存储装置,所述存储器存储装置包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元用以电性连接至主机***。可复写式非易失性存储器模块包括多个物理抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。存储器控制电路单元用以配置多个逻辑地址,其中所述逻辑地址组成多个逻辑程序化单元,所述逻辑程序化单元组成多个逻辑抹除单元,并且所述物理抹除单元包括至少一闲置物理抹除单元。存储器控制电路单元还用以接收第一写入指令,其中第一写入指令指示将第一数据写入至所述逻辑地址中的至少一第一逻辑地址,并写入第一数据至从所述闲置物理抹除单元中提取的第一闲置物理抹除单元。存储器控制电路单元还用以从所述物理抹除单元中选取第一物理抹除单元,其中第一物理抹除单元不包含第一闲置物理抹除单元且存储有复数笔数据,且所述数据中的至少二者属于不同的逻辑抹除单元。存储器控制电路单元还用以复制并写入所述数据中的至少一有效数据至从所述闲置物理抹除单元中提取的第二闲置物理抹除单元,其中第二闲置物理抹除单元不同于第一闲置物理抹除单元。存储器控制电路单元还用以抹除第一物理抹除单元。
在本发明的一范例实施例中,所述的存储器控制电路单元还用以在写入第一数据的期间,判断第一闲置物理抹除单元是否已被写满。当第一闲置物理抹除单元已被写满时,存储器控制电路单元还用以从所述闲置物理抹除单元中提取第三闲置物理抹除单元以写入第一数据。存储器控制电路单元还用以在写入所述有效数据的期间,判断第二闲置物理抹除单元是否已被写满。当第二闲置物理抹除单元已被写满时,存储器控制电路单元还用以从所述闲置物理抹除单元中提取第四闲置物理抹除单元以写入所述有效数据。第三闲置物理抹除单元不同于第四闲置物理抹除单元。
在本发明的一范例实施例中,其中当所述闲置物理抹除单元的数量达到数量门限值时,存储器控制电路单元复制并写入所述有效数据至所述第二闲置物理抹除单元。
在本发明的一范例实施例中,所述的第一物理抹除单元是所述物理抹除单元中存储最少有效数据的物理抹除单元。
在本发明的一范例实施例中,所述的第一物理抹除单元是所述物理抹除单元中存储有写入时间最早的有效数据的物理抹除单元。
在本发明的一范例实施例中,所述的存储器控制电路单元还用以接收第二写入指令,其中第二写入指令指示将第二数据写入至所述逻辑地址中的至少一第二逻辑地址。存储器控制电路单元还用以判断被写入至第二闲置物理抹除单元的所述有效数据的任一者所属的逻辑程序化单元与第二数据所属的逻辑程序化单元是否相同。当有效数据的任一者所属逻辑程序化单元与第二数据所属的逻辑程序化单元不相同时,存储器控制电路单元还用以根据有效数据与第二闲置物理抹除单元的对应关系更新逻辑地址-物理抹除单元映射表。当有效数据的任一者所属的逻辑程序化单元与第二数据所属的逻辑程序化单元相同时,存储器控制电路单元还用以将有效数据标记为无效数据。
本发明还提出一种存储器控制电路单元,所述存储器控制电路单元用于控制可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包括多个物理抹除单元。所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。主机接口用以电性连接至主机***。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以配置配置多个逻辑地址,其中所述逻辑地址组成多个逻辑程序化单元,所述逻辑程序化单元组成多个逻辑抹除单元,并且所述物理抹除单元包括至少一闲置物理抹除单元。存储器管理电路还用以接收第一写入指令,其中第一写入指令指示将第一数据写入至所述逻辑地址中的至少一第一逻辑地址,并发送第一指令序列,其中第一指令序列指示写入第一数据至从所述闲置物理抹除单元中提取的第一闲置物理抹除单元。存储器管理电路还用以从所述物理抹除单元中选取第一物理抹除单元,其中第一物理抹除单元不包含第一闲置物理抹除单元且存储有复数笔数据,且所述数据中的至少二者属于不同的逻辑抹除单元。存储器管理电路还用以发送第二指令序列,其中第二指令序列指示复制并写入所述数据中的至少一有效数据至从所述闲置物理抹除单元中提取的第二闲置物理抹除单元,并且第二闲置物理抹除单元不同于第一闲置物理抹除单元。存储器管理电路还用以发送第三指令序列,其中第三指令序列指示抹除第一物理抹除单元。
在本发明的一范例实施例中,所述的存储器管理电路还用以在写入第一数据的期间,判断第一闲置物理抹除单元是否已被写满。当第一闲置物理抹除单元已被写满时,存储器管理电路还用以发送第四指令序列,其中第四指令序列指示从所述闲置物理抹除单元中提取第三闲置物理抹除单元以写入第一数据。存储器管理电路还用以在写入所述有效数据的期间,判断第二闲置物理抹除单元是否已被写满。当第二闲置物理抹除单元已被写满时,存储器管理电路还用以发送第五指令序列,其中第五指令序列指示从所述闲置物理抹除单元中提取一第四闲置物理抹除单元以写入所述有效数据。其中第三闲置物理抹除单元不同于第四闲置物理抹除单元。
在本发明的一范例实施例中,当所述闲置物理抹除单元的数量达到数量门限值时,存储器管理电路发送第二指令序列。
在本发明的一范例实施例中,所述的第一物理抹除单元是所述物理抹除单元中存储最少有效数据的物理抹除单元。
在本发明的一范例实施例中,所述的第一物理抹除单元是所述物理抹除单元中存储有写入时间最早的有效数据的物理抹除单元。
在本发明的一范例实施例中,所述的存储器管理电路还用以接收第二写入指令,其中第二写入指令指示将第二数据写入至所述逻辑地址中的至少一第二逻辑地址。存储器管理电路还用以判断被写入至第二闲置物理抹除单元的所述有效数据的任一者所属的逻辑程序化单元与第二数据所属的逻辑程序化单元是否相同。当有效数据的任一者所属逻辑程序化单元与第二数据所属的逻辑程序化单元不相同时,存储器管理电路还用以根据有效数据与第二闲置物理抹除单元的对应关系更新一逻辑地址-物理抹除单元映射表。当有效数据的任一者所属的逻辑程序化单元与第二数据所属的逻辑程序化单元相同时,存储器管理电路还用以将有效数据标记为无效数据。
基于上述,本发明通过将来自主机***的数据写入至接收物理抹除单元,并且将从可复写式非易失性存储器模块中的部分物理抹除单元收集的有效数据写入至回收物理抹除单元,使得可复写式非易失性存储器模块中的有效旧数据与新数据不会存储在相同的物理抹除单元,进而有效减少可复写式非易失性存储器模块因长时间使用而导致数据写入效率降低的情形。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是本发明的一范例实施例的主机***与存储器存储装置示意图;
图1B是本发明的一范例实施例的电脑、输入/输出装置与存储器存储装置的示意图;
图1C是本发明的一范例实施例的主机***与存储器存储装置的示意图;
图2是图1A所示的存储器存储装置的概要示意图;
图3是本发明的一范例实施例的存储器控制电路单元的概要示意图;
图4是本发明的一范例实施例的管理可复写式非易失性存储器模块的范例示意图;
图5A与图5B是本发明的一范例实施例的管理可复写式非易失性存储器模块的范例示意图;
图6是本发明的一范例实施例的管理可复写式非易失性存储器模块的范例示意图;
图7是本发明的一范例实施例的存储器管理方法的流程图。
附图标记说明:
1000:主机***;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:***总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:随身盘;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:记忆棒;
1318:CF卡;
1320:嵌入式存储装置;
100:存储器存储装置;
102:连接接口单元;
104:存储器控制电路单元;
106:可复写式非易失性存储器模块;
304(0)~304(R):物理抹除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
252:缓冲存储器;
254:电源管理电路;
256:错误检查与校正电路;
402:存储区;
406:***区;
410(0)~410(D):逻辑地址;
501、502、601、602、603:数据;
610(0)~610(E):逻辑程序化单元;
S702、S704、S706、S708、S710、S712:步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储***)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机***一起使用,以使主机***可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1A是本发明的一范例实施例的主机***与存储器存储装置示意图。图1B是本发明的一范例实施例的电脑、输入/输出装置与存储器存储装置的示意图。图1C是本发明的一范例实施例的主机***与存储器存储装置的示意图。
请参照图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包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机***的基板上。
图2是图1A所示的存储器存储装置的概要示意图。
请参照图2,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是相容于串行高级技术附件(SerialAdvanced Technology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并行高级技术附件(Parallel Advanced TechnologyAttachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,简称IEEE)1394标准、外设互联(Peripheral ComponentInterconnect Express,简称PCI Express)标准、通用串行总线(Universal Serial Bus,简称USB)标准、超高速一代(Ultra High Speed-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用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机***1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机***1000所写入的数据。可复写式非易失性存储器模块106具有物理抹除单元304(0)~304(R)。例如,物理抹除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有复数个物理程序化单元,并且属于同一个物理抹除单元的物理程序化单元可被独立地写入且被同时地抹除。例如,每一物理抹除单元是由128个物理程序化单元所组成。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理程序化单元、256个物理程序化单元或其他任意个物理程序化单元所组成。
更具体来说,每一个物理抹除单元包括多条字线与多条位线,每一条字线与每一条位线交叉处配置有一个存储单元。每一个存储单元可存储一或多个字节。在同一个物理抹除单元中,所有的存储单元会一起被抹除。在此范例实施例中,物理抹除单元为抹除的最小单位。也即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。例如,物理抹除单元为物理区块。另一方面,同一个字线上的存储单元会组成一或多个物理程序化单元。若每一个存储单元可存储2个以上的字节,则同一个字线上的物理程序化单元可被分类为下物理程序化单元与上物理程序化单元。一般来说,下物理程序化单元的写入速度会大于上物理程序化单元的写入速度。在此范例实施例中,物理程序化单元为程序化的最小单元。即,物理程序化单元为写入数据的最小单元。例如,物理程序化单元为物理页面或是物理扇(sector)。若物理程序化单元为物理页面,则每一个物理程序化单元通常包括数据字节区与冗余字节区。数据字节区包含多个物理扇,用以存储使用者的数据,而冗余字节区用以存储***的数据(例如,错误更正码)。在本范例实施例中,每一个数据字节区包含32个物理扇,且一个物理扇的大小为512字节组(byte,简称B)。然而,在其他范例实施例中,数据字节区中也可包含8个、16个或数目更多或更少的物理扇,本发明并不限制物理扇的大小以及个数。
在本范例实施例中,可复写式非易失性存储器模块106为多层单元(Multi LevelCell,简称MLC)NAND型快闪存储器模块,即一个存储单元中可存储至少2个字节。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单层单元(Single Level Cell,简称SLC)NAND型快闪存储器模块、三层单元(Trinary Level Cell,简称TLC)NAND型快闪存储器模块、其他快闪存储器模块或其他具有相同特性的存储器模块。
图3是一范例实施例的存储器控制电路单元的概要示意图。
请参照图3,存储器控制电路单元104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放***数据的***区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元104被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路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标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制电路单元104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机***1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机***1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误更正码(error correcting code,简称ECC code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误更正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误更正码,并且错误检查与校正电路256会依据此错误更正码对所读取的数据执行错误检查与校正程序。
图4是一范例实施例的管理可复写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的物理抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作物理抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的物理抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的物理抹除单元进行操作。
请参照图4,存储器管理电路202可将可复写式非易失性存储器模块106的物理抹除单元304(0)~304(R)逻辑地划分为多个区域,例如为存储区402与***区406。
存储区402的物理抹除单元是用以存储来自主机***1000的数据。存储区402中会存储有效数据与无效数据。例如,当主机***要删除一份有效数据时,被删除的数据可能还是存储在存储区402中,但会被标记为无效数据。没有存储有效数据的物理抹除单元也被称为闲置物理抹除单元。没有存储有效数据的物理程序化单元也被称为闲置物理程序化单元。例如,被抹除以后的物理抹除单元便会成为闲置物理抹除单元。若存储区402或***区406中有物理抹除单元损坏时,存储区402中的物理抹除单元也可以用来替换损坏的物理抹除单元。倘若存储区402中没有可用的物理抹除单元来替换损坏的物理抹除单元时,则存储器管理电路202会将整个存储器存储装置100宣告为写入保护(write protect)状态,而无法再写入数据。
***区406的物理抹除单元是用以记录***数据,其中此***数据包括关于存储器芯片的制造商与型号、存储器芯片的物理抹除单元数、每一物理抹除单元的物理程序化单元数等。
存储区402与***区406的物理抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置100的运作中,物理抹除单元关联至存储区402与***区406的分组关系会动态地变动。例如,当***区406中的物理抹除单元损坏而被存储区402的物理抹除单元取代时,则原本在存储区402的物理抹除单元会被关联至***区406。
存储器管理电路202会配置逻辑地址410(0)~410(D)以映射至存储区402中部分的物理抹除单元304(0)~304(A)。主机***1000是通过逻辑地址410(0)~410(D)来存取存储区402中的数据。在此范例实施例中,一个逻辑地址是映射至一个物理扇,多个逻辑地址会组成一个逻辑程序化单元,并且多个逻辑程序化单元会组成一个逻辑抹除单元。一个逻辑程序化单元是映射至一或多个物理程序化单元,而一个逻辑抹除单元是映射至一或多个物理抹除单元。在本范例实施例中,存储器管理电路202是以逻辑程序化单元来管理对应的物理抹除单元。此外,存储器管理电路202会建立逻辑地址-物理抹除单元映射表(logicaladdress-physical erasing unit mapping table),以记录逻辑地址与物理抹除单元之间的映射关系。此逻辑地址-物理抹除单元映射表还可以例如是记录逻辑地址与物理程序化单元、逻辑程序化单元与物理程序化单元及/或逻辑程序化单元与物理抹除单元之间的映射关系等各种逻辑与物理的对应关系,本发明不加以限制。
存储器管理电路202会从存储区402的闲置物理抹除单元中提取一或多个第一闲置物理抹除单元,以作为接收物理抹除单元。存储器管理电路202会从存储区402的闲置物理抹除单元中提取一或多个第二闲置物理抹除单元,以作为回收物理抹除单元。例如,存储器管理电路202可以将第一闲置物理抹除单元与第二闲置物理抹除单元编号,并且利用查表等方式来识别出当前被作为接收物理抹除单元的第一闲置物理抹除单元与当前被作为回收物理抹除单元的第二闲置物理抹除单元。被作为接收物理抹除单元的物理抹除单元只用来写入来自主机***1000的数据,并且被作为回收物理抹除单元的物理抹除单元只用来写入来自存储区402的部分物理抹除单元的有效数据。此外,在一范例实施例中,不会有任何一个物理抹除单元同时被作为接收物理抹除单元与回收物理抹除单元。
存储器管理电路202会接收来自主机***1000的第一写入指令。第一写入指令指示将第一数据写入至逻辑地址410(0)~410(D)中的至少一个第一逻辑地址。存储器管理电路202会将第一数据写入至接收物理抹除单元。例如,假设当前被作为接收物理抹除单元的物理抹除单元是第一闲置物理抹除单元,则存储器管理电路202会将第一数据写入至第一闲置物理抹除单元。
存储器管理电路202会从存储区402的物理抹除单元中选取一或多个第一物理抹除单元。在此提及的第一物理抹除单元存储有复数笔数据,且此些数据中的至少二者属于不同的逻辑抹除单元。在特定时间点,存储器管理电路202会执行垃圾收集(garbagecollection)程序,以从第一物理抹除单元所存储的数据中复制有效数据,并且将所复制的有效数据写入至回收物理抹除单元(例如,第二闲置物理抹除单元)。在此提及的特定时间点,例如是当存储区402的闲置物理抹除单元的数量达到一数量门限值时。此数量门限值例如是1、2或者更多。例如,每当存储器管理电路202从存储区402中提取一个闲置物理抹除单元作为接收物理抹除单元或者回收物理抹除单元之后,存储器管理电路202会判断剩余的闲置物理抹除单元的数量是否达到数量门限值。若剩余的闲置物理抹除单元的数量已达到数量门限值,则存储器管理电路202就会执行此垃圾收集程序。此外,存储器管理电路202也可以是在闲置一段预设时间(例如,在一段预设时间内没有接收到来自主机***1000的任何写入指令)之后或者任意时间点,执行此垃圾收集程序。再者,存储器管理电路202还可以是在每将一笔数据写入至接收物理抹除单元时,同步执行此垃圾回收程序。也就是说,存储器管理电路202可以一次执行对于第一物理抹除单元的部分垃圾回收程序,并且当目前被作为接收物理抹除单元的物理抹除单元被写满时,存储器管理电路202就会同步释放出至少一个闲置物理抹除单元,从而确保存储区402中的闲置物理抹除单元维持在一预设数量。
值得一提的是,被作为接收物理抹除单元的物理抹除单元与被作为回收物理抹除单元的物理抹除单元并非是固定的。例如,在将第一数据写入至第一闲置物理抹除单元的期间,存储器管理电路202会判断第一闲置物理抹除单元是否已被写满。当第一闲置物理抹除单元已被写满时,存储器管理电路202会从存储区402的闲置物理抹除单元中提取一或多个第三闲置物理抹除单元,以取代被写满的第一闲置物理抹除单元作为接收物理抹除单元,从而可将尚未被完全写入的第一数据的全部或一部分写入至第三闲置物理抹除单元。类似地,在将所复制的有效数据写入至第二闲置物理抹除单元的期间,存储器管理电路202会判断第二闲置物理抹除单元是否已被写满。当第二闲置物理抹除单元已被写满时,存储器管理电路202会从存储区402的闲置物理抹除单元中提取一或多个第四闲置物理抹除单元,以取代被写满的第二闲置物理抹除单元作为回收物理抹除单元,从而可将尚未被完全写入的有效数据的全部或一部写入至第四闲置物理抹除单元。
值得一提的是,第一物理抹除单元不包括当前被作为接收物理抹除单元的物理抹除单元与当前被作为回收物理抹除单元的物理抹除单元。例如,假设当前被作为接收物理抹除单元的物理抹除单元是第一闲置物理抹除单元,则第一物理抹除单元不会包括第一闲置物理抹除单元。若当前被作为回收物理抹除单元的物理抹除单元是第二闲置物理抹除单元,则第一物理抹除单元不会包括第二闲置物理抹除单元。
在一范例实施例中,从第一物理抹除单元中复制的有效数据至少包括第一有效数据与第二有效数据,并且第一有效数据所属的逻辑抹除单元(也称为第一逻辑抹除单元)与第二有效数据所属的逻辑抹除单元(也称为第二逻辑抹除单元)不相同。也就是说,对于主机***1000来说,第一有效数据是被存储在一或多个第一逻辑地址所属的第一逻辑抹除单元,并且第二有效数据是被存储在一或多个第二逻辑地址所属的第二逻辑抹除单元。此外,上述将所复制的有效数据写入至回收物理抹除单元的操作,也可视为存储器管理电路202对于有效数据的搬移。在将所复制的有效数据写入至回收物理抹除单元之后,存储器管理电路202会抹除第一物理抹除单元。被抹除后的第一物理抹除单元即可被视为闲置物理抹除单元。
在本范例实施例中,存储器管理电路202是将存储区402中除了当前被作为接收物理抹除单元的物理抹除单元与当前被作为回收物理抹除单元的物理抹除单元之外的所有物理抹除单元都视为第一物理抹除单元。然而,在另一范例实施例中,存储器管理电路202则是仅将物理抹除单元中符合一特定条件的一或多个物理抹除单元视为第一物理抹除单元。例如,此特定条件可以是与存储区402中每一个物理抹除单元所存储的有效数据的数据量及/或写入时间有关。例如,在一范例实施例中,除了当前被作为接收物理抹除单元的物理抹除单元与当前被作为回收物理抹除单元的物理抹除单元之外,存储器管理电路202可以将存储区402中所有物理抹除单元中存储有效数据量最小及/或写入时间最早的有效数据的一或多个物理抹除单元视为第一物理抹除单元。此外,在其他范例实施例中,存储器管理电路202还可以根据任意的条件,例如根据物理抹除单元中有效数据与无效数据的比例是否符合一预设比例等条件来选择第一物理抹除单元,且不限于此。
图5A与图5B是一范例实施例的管理可复写式非易失性存储器模块的范例示意图。
请参照图5A,假设当前是物理抹除单元304(0)被作为接收物理抹除单元,并且物理抹除单元304(1)被作为回收物理抹除单元,则当存储器管理电路202接收到一写入指令时,存储器管理电路202会将对应于此写入指令的数据501写入至物理抹除单元304(0)。假设存储器管理电路202决定物理抹除单元304(2)与物理抹除单元304(3)是第一物理抹除单元,则在特定时间点,存储器管理电路202会对物理抹除单元304(2)与物理抹除单元304(3)执行垃圾收集程序,以将物理抹除单元304(2)与物理抹除单元304(3)中的有效数据复制至物理抹除单元304(1)。在将物理抹除单元304(2)与物理抹除单元304(3)中所有的有效数据都复制至物理抹除单元304(1)之后,存储器管理电路202会将物理抹除单元304(2)与物理抹除单元304(3)抹除,使得物理抹除单元304(2)与物理抹除单元304(3)成为闲置物理抹除单元。
请参照图5B,假设在物理抹除单元304(0)与物理抹除单元304(1)被写满之后,存储器管理电路202提取闲置物理抹除单元304(2)以作为接收物理抹除单元,并且提取闲置物理抹除单元304(3)以作为回收物理抹除单元,则当存储器管理电路202接收到另一写入指令时,存储器管理电路202会将对应于此另一写入指令的数据502写入至物理抹除单元304(2)。假设存储器管理电路202决定物理抹除单元304(4)与物理抹除单元304(6)是第一物理抹除单元,则在特定时间点,存储器管理电路202会对物理抹除单元304(4)与物理抹除单元304(6)执行垃圾收集程序,以将物理抹除单元304(4)与物理抹除单元304(6)中的有效数据复制至物理抹除单元304(3)。在将物理抹除单元304(4)与物理抹除单元304(6)中所有的有效数据复制至物理抹除单元304(3)之后,存储器管理电路202会将物理抹除单元304(4)与物理抹除单元304(6)抹除,使得物理抹除单元304(4)与物理抹除单元304(6)成为闲置物理抹除单元。
也就是说,任何来自主机***1000且欲写入至可复写式非易失性存储器模块106的数据一开始都会被写入至接收物理抹除单元,并且任何因垃圾收集程序而收集到的数据都会被写入至回收物理抹除单元,因此可复写式非易失性存储器模块106中有效的旧数据与来自主机***1000的新数据不会被写入至相同的物理抹除单元。此外,闲置物理抹除单元也会随着垃圾收集程序的执行而持续地被释放,因此即使可复写式非易失性存储器模块106被使用了非常长的一段时间,存储器管理电路202对于可复写式非易失性存储器模块106的写入速度都不会因新旧数据在同一个物理抹除单元中交叉存储及/或闲置物理抹除单元不够而下降。
在一范例实施例中,反应于存储器管理电路202将第一物理抹除单元中的有效数据写入至回收物理抹除单元,存储器管理电路202还会记录有效数据被写入至回收物理抹除单元的一搬移信息,但是存储器管理电路202暂时不根据有效数据被写入至回收物理抹除单元而对应地更新逻辑地址-物理抹除单元映射表。原因在于,在存储器管理电路202将有效数据写入至回收物理抹除单元的期间,有可能与被搬移的有效数据属于相同的逻辑程序化单元的数据同时被写入至接收物理抹除单元。当此情形发生时,原先被视为有效数据并且被搬移至回收物理抹除单元的数据会变成无效数据,因此若此数据的逻辑地址与回收物理抹除单元的一映射关系已经被更新至逻辑地址-物理抹除单元映射表中,则此映射关系也会随即失效。
在此范例实施例中,假设在存储器管理电路202将有效数据搬移至回收物理抹除单元的期间或者任意时间点,存储器管理电路202接收一第二写入指令。此第二写入指令指示将第二数据写入至逻辑地址410(0)~410(D)中的至少一第二逻辑地址。存储器管理电路202会将第二数据写入至接收物理抹除单元。存储器管理电路202会判断被写入至回收物理抹除单元的任一有效数据所属的逻辑程序化单元(也称为第一逻辑程序化单元)与第二数据所属的逻辑程序化单元(也称为第二逻辑程序化单元)是否相同。仅当第一逻辑程序化单元与第二逻辑程序化单元不相同时,存储器管理电路202才会根据搬移信息更新逻辑地址-物理抹除单元映射表。反之,当第一逻辑程序化单元与第二逻辑程序化单元相同时,存储器管理电路202则会被写入至回收物理抹除单元的有效数据标记为无效数据。
图6是本发明的一范例实施例的管理可复写式非易失性存储器模块的范例示意图。
请参照图6,假设当前是物理抹除单元304(0)被作为接收物理抹除单元,并且物理抹除单元304(1)被作为回收物理抹除单元,则当存储器管理电路202接收到指示将数据601写入至属于逻辑程序化单元610(0)的逻辑地址的一写入指令时,存储器管理电路202会将数据601写入至逻辑程序化单元610(0),将逻辑程序化单元610(0)映射至物理抹除单元304(0),并且将数据601写入至物理抹除单元304(0)。假设存储器管理电路202选择物理抹除单元304(2)与物理抹除单元304(3)是第一物理抹除单元,则在特定时间点,存储器管理电路202会对物理抹除单元304(2)与物理抹除单元304(3)执行垃圾收集程序,以将物理抹除单元304(2)与物理抹除单元304(3)中的有效数据(即,数据602与数据603)写入至物理抹除单元304(1),并且记录数据602与数据603被写入至物理抹除单元304(1)的搬移信息。在数据602与数据603被写入至物理抹除单元304(1)之后,存储器管理电路202会判断数据601所属的逻辑程序化单元610(0)是否与数据602与数据603的任一者所属的逻辑程序化单元相同。若数据601所属的逻辑程序化单元610(0)与数据602与数据603的任一者所属的逻辑程序化单元皆不同,例如数据602所属的逻辑程序化单元是逻辑程序化单元610(1),并且数据603所属的逻辑程序化单元是逻辑程序化单元610(2),则存储器管理电路202会根据先前记录的数据602与数据603的搬移信息,将数据602所属的逻辑程序化单元610(1)与物理抹除单元304(1)之间的映射关系以及数据603所属的逻辑程序化单元610(2)与物理抹除单元304(1)之间的映射关系更新至逻辑地址-物理抹除单元映射表中。反之,若数据601所属的逻辑程序化单元610(0)与数据602与数据603的任一者所属的逻辑程序化单元相同,例如数据602所属的逻辑程序化单元也是逻辑程序化单元610(0),则存储器管理电路202会直接将数据602标记为无效,而仅将数据603所属的逻辑程序化单元与物理抹除单元304(1)之间的映射关系更新至逻辑地址-物理抹除单元映射表,从而提升逻辑地址-物理抹除单元映射表的更新效率。
此外,在图6的另一范例实施例中,存储器管理电路202则是会在数据602与数据603被写入至物理抹除单元304(1)之前或者期间,就预先判断数据601所属的逻辑程序化单元610(0)是否与数据602或数据603所属的逻辑程序化单元相同。若数据601所属的逻辑程序化单元610(0)与数据602以及数据603的任一者所属的逻辑程序化单元相同,则存储器管理电路202就会停止数据602及/或数据603被写入或搬移至物理抹除单元304(1)的操作。例如,假设在接收到将数据601写入至逻辑程序化单元610(0)的写入指令时,存储器管理电路202得知对于物理抹除单元304(2)与物理抹除单元304(3)的垃圾回收程序即将被执行,此时存储器管理电路202会判断数据601所属的逻辑程序化单元610(0)是否与数据602或数据603所属的逻辑程序化单元相同。例如,假设数据602所属的逻辑程序化单元也是逻辑程序化单元610(0),则存储器管理电路202会直接将数据602从有效数据标记为无效数据,并且停止对于数据602的复制以及写入,从而减少物理抹除单元304(1)被写入无效数据的机率。反之,若数据601所属的逻辑程序化单元610(0)与数据602以及数据603的任一者所属的逻辑程序化单元皆不同,则存储器管理电路202不会停止数据602与数据603的复制以及写入。
图7是本发明的一范例实施例的存储器管理方法的流程图。
请参照图7,在步骤S702中,配置多个逻辑地址,其中逻辑地址组成多个逻辑程序化单元,并且逻辑程序化单元组成多个逻辑抹除单元。
在步骤S704中,接收第一写入指令,其中第一写入指令指示将第一数据写入至所述逻辑地址中的至少一第一逻辑地址。
在步骤S706中,写入第一数据至从至少一闲置物理抹除单元中提取的第一闲置物理抹除单元。
在步骤S708中,从多个物理抹除单元中选取第一物理抹除单元,其中第一物理抹除单元不包含第一闲置物理抹除单元且存储有复数笔数据,且所述数据中的至少二者属于不同的逻辑抹除单元。
在步骤S710中,复制并写入所述数据中的至少一有效数据至从所述闲置物理抹除单元中提取的第二闲置物理抹除单元,其中第二闲置物理抹除单元不同于第一闲置物理抹除单元。
在步骤S712中,抹除第一物理抹除单元。
然而,图7中各步骤已详细说明如上,在此便不在赘述。值得注意的是,图7中各步骤可以实作为多个程序码或是电路,且图7中各步骤的执行顺序可以视实务上的需求调整,本发明并不在此限。图7的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
此外,存储器管理电路202对于可复写式非易失性存储器模块106的“提取”、“写入”、“搬移”、“读取”、“垃圾回收”及“抹除”等操作所对应的控制指令,例如是实作为各种指令序列(command sequence),且每一个指令序列可包括一或多个指令(例如,指令码)。以存储器管理电路202对于可复写式非易失性存储器模块106的“提取操作”为例,存储器管理电路202可以发送一指令序列,其中此指令序列用以指示从存储区402的物理抹除单元中提取一或多个物理抹除单元。其余的操作指令以此类推。可复写式非易失性存储器模块106可以根据存储器管理电路202所下达的指令序列执行相对应的操作。
综上所述,本发明的存储器管理方法、存储器存储装置及存储器控制电路单元,可通过将来自主机***的数据写入至接收物理抹除单元,并且将从可复写式非易失性存储器模块中的部分物理抹除单元收集的有效数据写入至回收物理抹除单元,使得新数据与可复写式非易失性存储器模块中的有效旧数据不会存储在相同的物理抹除单元,进而有效减少可复写式非易失性存储器模块因长时间使用而导致数据写入效率降低的情形。特别是,可以有效减少因新旧数据混杂存储而导致数据在顺序写入(sequential write)时的写入效率降低的情形。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种存储器管理方法,用于一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多个物理抹除单元,并且该存储器管理方法包括:
配置多个逻辑地址,其中该些逻辑地址组成多个逻辑程序化单元,该些逻辑程序化单元组成多个逻辑抹除单元,并且该些物理抹除单元包括至少一闲置物理抹除单元;
接收一第一写入指令,其中该第一写入指令指示将一第一数据写入至该些逻辑地址中的至少一第一逻辑地址,并写入该第一数据至从该至少一闲置物理抹除单元中提取的一第一闲置物理抹除单元;
从该些物理抹除单元中选取一第一物理抹除单元,其中该第一物理抹除单元不包含该第一闲置物理抹除单元且存储有复数笔数据,且该些数据中的至少二者属于不同的逻辑抹除单元;
复制并写入该些数据中的至少一有效数据至从该至少一闲置物理抹除单元中提取的一第二闲置物理抹除单元,其中该第二闲置物理抹除单元不同于该第一闲置物理抹除单元;以及
抹除该第一物理抹除单元。
2.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
在写入该第一数据的期间,判断该第一闲置物理抹除单元是否已被写满;
当该第一闲置物理抹除单元已被写满时,从该至少一闲置物理抹除单元中提取一第三闲置物理抹除单元以写入该第一数据;
在写入该至少一有效数据的期间,判断该第二闲置物理抹除单元是否已被写满;以及
当该第二闲置物理抹除单元已被写满时,从该至少一闲置物理抹除单元中提取一第四闲置物理抹除单元以写入该至少一有效数据;
其中该第三闲置物理抹除单元不同于该第四闲置物理抹除单元。
3.根据权利要求1所述的存储器管理方法,其特征在于,当该至少一闲置物理抹除单元的数量达到一数量门限值时,执行复制并写入该至少一有效数据至该第二闲置物理抹除单元的步骤。
4.根据权利要求1所述的存储器管理方法,其特征在于,该第一物理抹除单元是该些物理抹除单元中存储最少有效数据的物理抹除单元。
5.根据权利要求1所述的存储器管理方法,其特征在于,该第一物理抹除单元是该些物理抹除单元中存储有写入时间最早的有效数据的物理抹除单元。
6.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
接收一第二写入指令,其中该第二写入指令指示将一第二数据写入至该些逻辑地址中的至少一第二逻辑地址;
判断被写入至该第二闲置物理抹除单元的该至少一有效数据的任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元是否相同;
当该至少一有效数据的该任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元不相同时,根据该至少一有效数据与该第二闲置物理抹除单元的对应关系更新一逻辑地址-物理抹除单元映射表;以及
当该至少一有效数据的该任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元相同时,将所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元相同的有效数据标记为无效数据。
7.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机***;
一可复写式非易失性存储器模块,包括多个物理抹除单元;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,
其中该存储器控制电路单元用以配置多个逻辑地址,其中该些逻辑地址组成多个逻辑程序化单元,该些逻辑程序化单元组成多个逻辑抹除单元,并且该些物理抹除单元包括至少一闲置物理抹除单元,
该存储器控制电路单元还用以接收一第一写入指令,其中该第一写入指令指示将一第一数据写入至该些逻辑地址中的至少一第一逻辑地址,并写入该第一数据至从该至少一闲置物理抹除单元中提取的一第一闲置物理抹除单元,
该存储器控制电路单元还用以从该些物理抹除单元中选取一第一物理抹除单元,其中该第一物理抹除单元不包含该第一闲置物理抹除单元且存储有复数笔数据,且该些数据中的至少二者属于不同的逻辑抹除单元,
该存储器控制电路单元还用以复制并写入该些数据中的至少一有效数据至从该至少一闲置物理抹除单元中提取的一第二闲置物理抹除单元,其中该第二闲置物理抹除单元不同于该第一闲置物理抹除单元,
该存储器控制电路单元还用以抹除该第一物理抹除单元。
8.根据权利要求7所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以在写入该第一数据的期间,判断该第一闲置物理抹除单元是否已被写满,
当该第一闲置物理抹除单元已被写满时,该存储器控制电路单元还用以从该至少一闲置物理抹除单元中提取一第三闲置物理抹除单元以写入该第一数据,
该存储器控制电路单元还用以在写入该至少一有效数据的期间,判断该第二闲置物理抹除单元是否已被写满,
当该第二闲置物理抹除单元已被写满时,该存储器控制电路单元还用以从该至少一闲置物理抹除单元中提取一第四闲置物理抹除单元以写入该至少一有效数据,
其中该第三闲置物理抹除单元不同于该第四闲置物理抹除单元。
9.根据权利要求7所述的存储器存储装置,其特征在于,当该至少一闲置物理抹除单元的数量达到一数量门限值时,该存储器控制电路单元执行复制并写入该至少一有效数据至该第二闲置物理抹除单元的操作。
10.根据权利要求7所述的存储器存储装置,其特征在于,该第一物理抹除单元是该些物理抹除单元中存储最少有效数据的物理抹除单元。
11.根据权利要求7所述的存储器存储装置,其特征在于,该第一物理抹除单元是该些物理抹除单元中存储有写入时间最早的有效数据的物理抹除单元。
12.根据权利要求7所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以接收一第二写入指令,其中该第二写入指令指示将一第二数据写入至该些逻辑地址中的至少一第二逻辑地址,
该存储器控制电路单元还用以判断被写入至该第二闲置物理抹除单元的该至少一有效数据的任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元是否相同,
当该至少一有效数据的该任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元不相同时,该存储器控制电路单元还用以根据该至少一有效数据与该第二闲置物理抹除单元的对应关系更新一逻辑地址-物理抹除单元映射表,
当该至少一有效数据的该任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元相同时,该存储器控制电路单元还用以将所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元相同的有效数据标记为无效数据。
13.一种存储器控制电路单元,用于控制一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多个物理抹除单元,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机***;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,
其中该存储器管理电路用以配置多个逻辑地址,其中该些逻辑地址组成多个逻辑程序化单元,该些逻辑程序化单元组成多个逻辑抹除单元,并且该些物理抹除单元包括至少一闲置物理抹除单元,
该存储器管理电路还用以接收一第一写入指令,其中该第一写入指令指示将一第一数据写入至该些逻辑地址中的至少一第一逻辑地址,并发送一第一指令序列,其中该第一指令序列指示写入该第一数据至从该至少一闲置物理抹除单元中提取的一第一闲置物理抹除单元,
该存储器管理电路还用以从该些物理抹除单元中选取一第一物理抹除单元,该第一物理抹除单元不包含该第一闲置物理抹除单元且存储有复数笔数据,且该些数据中的至少二者属于不同的逻辑抹除单元,
该存储器管理电路还用以发送一第二指令序列,其中该第二指令序列指示复制并写入该些数据中的至少一有效数据至从该至少一闲置物理抹除单元中提取的一第二闲置物理抹除单元,并且该第二闲置物理抹除单元不同于该第一闲置物理抹除单元,
该存储器管理电路还用以发送一第三指令序列,其中该第三指令序列指示抹除该第一物理抹除单元。
14.根据权利要求13所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以在写入该第一数据的期间,判断该第一闲置物理抹除单元是否已被写满,
当该第一闲置物理抹除单元已被写满时,该存储器管理电路还用以发送一第四指令序列,其中该第四指令序列指示从该至少一闲置物理抹除单元中提取一第三闲置物理抹除单元以写入该第一数据,
该存储器管理电路还用以在写入该至少一有效数据的期间,判断该第二闲置物理抹除单元是否已被写满,
当该第二闲置物理抹除单元已被写满时,该存储器管理电路还用以发送一第五指令序列,其中该第五指令序列指示从该至少一闲置物理抹除单元中提取一第四闲置物理抹除单元以写入该至少一有效数据,
其中该第三闲置物理抹除单元不同于该第四闲置物理抹除单元。
15.根据权利要求13所述的存储器控制电路单元,其特征在于,当该至少一闲置物理抹除单元的数量达到一数量门限值时,该存储器管理电路发送该第二指令序列。
16.根据权利要求13所述的存储器控制电路单元,其特征在于,该第一物理抹除单元是该些物理抹除单元中存储最少有效数据的物理抹除单元。
17.根据权利要求13所述的存储器控制电路单元,其特征在于,该第一物理抹除单元是该些物理抹除单元中存储有写入时间最早的有效数据的物理抹除单元。
18.根据权利要求13所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以接收一第二写入指令,其中该第二写入指令指示将一第二数据写入至该些逻辑地址中的至少一第二逻辑地址,
该存储器管理电路还用以判断被写入至该第二闲置物理抹除单元的该至少一有效数据的任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元是否相同,
当该至少一有效数据的该任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元不相同时,该存储器管理电路还用以根据该至少一有效数据与该第二闲置物理抹除单元的对应关系更新一逻辑地址-物理抹除单元映射表,
当该至少一有效数据的该任一者所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元相同时,该存储器管理电路还用以将所属的逻辑程序化单元与该第二数据所属的逻辑程序化单元相同的有效数据标记为无效数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410125751.6A CN104951241B (zh) | 2014-03-31 | 2014-03-31 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410125751.6A CN104951241B (zh) | 2014-03-31 | 2014-03-31 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104951241A CN104951241A (zh) | 2015-09-30 |
CN104951241B true CN104951241B (zh) | 2018-02-27 |
Family
ID=54165923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410125751.6A Active CN104951241B (zh) | 2014-03-31 | 2014-03-31 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104951241B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708416B (zh) * | 2015-11-13 | 2020-06-09 | 群联电子股份有限公司 | 数据重建方法与***及其存储器控制电路单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645044A (zh) * | 2005-01-20 | 2010-02-10 | 桑迪士克股份有限公司 | 快闪存储器***中内务处理操作的调度 |
CN102122233A (zh) * | 2010-01-08 | 2011-07-13 | 群联电子股份有限公司 | 区块管理与数据写入方法、闪存储存***与控制器 |
CN102622310A (zh) * | 2011-01-30 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 无效数据擦除方法、装置及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315917B2 (en) * | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
-
2014
- 2014-03-31 CN CN201410125751.6A patent/CN104951241B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645044A (zh) * | 2005-01-20 | 2010-02-10 | 桑迪士克股份有限公司 | 快闪存储器***中内务处理操作的调度 |
CN102122233A (zh) * | 2010-01-08 | 2011-07-13 | 群联电子股份有限公司 | 区块管理与数据写入方法、闪存储存***与控制器 |
CN102622310A (zh) * | 2011-01-30 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 无效数据擦除方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN104951241A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104732153B (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN104679437B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN104765568B (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN106469122B (zh) | 有效数据合并方法、存储器控制器与存储器储存装置 | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN104866429B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN103377143B (zh) | 存储器管理方法、存储器控制器与存储器存储装置 | |
CN104793891B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN104636267B (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN106776376A (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN106484307B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN107402716A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN103593296B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN106557432A (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN106708416A (zh) | 数据重建方法与***及其存储器控制电路单元 | |
CN107590080A (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN105224238B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN108733577A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN107239225A (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN103544118B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN103593255B (zh) | 数据管理方法、记忆存储存储器与记忆存储控制器 | |
CN103577344B (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 |