CN107943710B - 存储器管理方法及使用所述方法的存储控制器 - Google Patents
存储器管理方法及使用所述方法的存储控制器 Download PDFInfo
- Publication number
- CN107943710B CN107943710B CN201610891652.8A CN201610891652A CN107943710B CN 107943710 B CN107943710 B CN 107943710B CN 201610891652 A CN201610891652 A CN 201610891652A CN 107943710 B CN107943710 B CN 107943710B
- Authority
- CN
- China
- Prior art keywords
- data
- block
- physical
- physical block
- value
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器管理方法及使用所述方法的存储控制器,所述方法包括将多个第一数据写入第一实体区块,并存储对应第一实体区块的第一标记值;将多个第二数据写入第二实体区块,并存储对应第二实体区块的第二标记值,其中第二标记值大于第一标记值;将第一实体区块的第一数据中的多个第三数据搬移到第三实体区块,其中上述第三数据为有效数据且上述第三数据符合特定态样;以及存储对应第三实体区块的第三标记值并将对应第二实体区块的第二标记值更新为第四标记值,其中第四标记值大于第三标记值且第三标记值大于等于第二标记值。本技术方案可以增进数据存取的效率且降低资源的耗费。
Description
技术领域
本发明是有关于一种存储器管理方法及使用所述方法的存储控制器,且特别是有关于一种修改标记值以解决数据写入不同步问题的存储器管理方法及使用所述方法的存储控制器。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储介质的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于此些电子产品。因此,近年闪存存储器产业成为电子产业中相当热门的一环。例如,广泛用于移动电子装置上的嵌入式多媒体卡(embedded Multi Media Card,eMMC)就是一种以闪存存储器作为存储介质的存储装置。
固态硬盘随着与非闪存存储器(NAND flash)的价格降低而成为受欢迎的存储介质。然而,与非闪存存储器仍存在有待克服的缺点,例如无法有效率地进行数据的原地更新(in-place update),也就是将更新数据覆写在原数据的地址。因此,大部分基于闪存存储器的固态硬盘都采用了具有闪存存储器转换层(Flash Translation Layer,FTL)及垃圾收集机制的异地更新(out-of-place update)机制(在其他地址写入更新数据并将原数据设定为无效数据),用以管理逻辑地址到实体地址的地址转换以及闪存存储器的重新使用。由于闪存存储器具有有限的耐久度,因此如何增加垃圾收集的效率变得更重要。近来提出了一种将冷数据与热数据分离的闪存存储器转换层,会对任何已被编程的数据进行热数据或冷数据的确认并将其分别写到不同的区块。然而,上述数据分离的方法可能导致主机写入区块与垃圾收集区块的数据写入不同步。在重新启动后,会需要很多工作量来辨识区块中的哪个数据是有效的。
详细来说,为了分离热数据与冷数据,闪存存储器转换层会在主机写入区块以外准备另一个区块用于垃圾收集操作。但是闪存存储器转换层映射表(FTL table)并不会立即更新到与非闪存存储器而具有一个时间槽窗口。任何在此时间槽内的编程操作在下一次闪存存储器转换层更新之前都不会被存储到与非闪存存储器中。因此在一些程序化顺序中重新启动固态硬盘会难以维持数据完整性。为了解决这个问题,闪存存储器转换层的软件必须保有每个区块的属性以区分主机写入区块与垃圾收集区块。在重新启动之后,软件有两种方法可以恢复数据。一种是直接丢弃垃圾处理区块的所有数据,但这造成了现有将数据搬移到垃圾处理区块的操作的浪费。另一种则是比较主机写入区块与垃圾收集区块的每一笔数据并将具有主机写入区块属性的数据视为最新的数据,但这会花费很多时间比较两个区块的逻辑区块地址。
因此,如何以较少的资源及时间来解决数据写入不同步的问题,进而增进数据存取的效率且降低资源的耗费,是此领域技术人员所致力的目标。
发明内容
本发明提供一种存储器管理方法及使用所述方法的存储控制器,其可有效率的维持在冷数据与热数据分离的闪存存储器转换层中维持数据一致性。
本发明提出一种存储器管理方法,适用于可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包括多个实体区块,每一上述实体区块包括多个实体程序化单元,上述实体区块包括第一实体区块、第二实体区块及第三实体区块。上述存储器管理方法包括:将多个第一数据写入第一实体区块,并存储对应第一实体区块的第一标记值;将多个第二数据写入第二实体区块,并存储对应第二实体区块的第二标记值,其中第二标记值大于第一标记值;将第一实体区块的第一数据中的多个第三数据搬移到第三实体区块,其中上述第三数据为有效数据且上述第三数据符合特定态样;以及存储对应第三实体区块的第三标记值并将对应第二实体区块的第二标记值更新为第四标记值,其中第四标记值大于第三标记值且第三标记值大于等于第二标记值。
在本发明的一实施例中,上述存储器管理方法还包括:将第四数据写入第二实体区块;以及在可复写式非易失性存储器模块断电并重新启动之后,根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。
在本发明的一实施例中,上述根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表的步骤包括:根据第三标记值及第四标记值依序更新存储第三数据的第三实体区块所对应的闪存存储器转换层映射表及存储第四数据的第二实体区块所对应的闪存存储器转换层映射表。
在本发明的一实施例中,其中当第一实体区块中第三数据所对应的逻辑页面在预定时间内并未被更新,则判断第三数据符合特定态样。
在本发明的一实施例中,上述第一标记值、第二标记值、第三标记值及第四标记值存储在上述实体区块的系统区块。
本发明提出一种存储控制器,用于存取可复写式非易失性存储器模块并通过连接接口电路耦接至主机系统。存储控制器包括:存储器接口控制电路,用以耦接至可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包括多个实体区块,每一实体区块包括多个实体程序化单元,上述实体区块包括第一实体区块、第二实体区块及第三实体区块;处理器,耦接至连接接口电路单元及存储器接口控制电路;以及数据传输管理电路,耦接至处理器、连接接口电路单元及存储器接口控制电路。其中处理器将多个第一数据写入第一实体区块,并存储对应第一实体区块的第一标记值。其中处理器将多个第二数据写入第二实体区块,并存储对应第二实体区块的第二标记值,其中第二标记值大于第一标记值。其中处理器将第一实体区块的第一数据中的多个第三数据搬移到第三实体区块,其中第三数据为有效数据且第三数据符合特定态样;以及其中处理器存储对应第三实体区块的第三标记值并将对应第二实体区块的第二标记值更新为第四标记值,其中第四标记值大于第三标记值且第三标记值大于等于第二标记值。
在本发明的一实施例中,其中处理器将第四数据写入第二实体区块,其中在可复写式非易失性存储器模块断电并重新启动之后,处理器根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。
在本发明的一实施例中,上述处理器根据第三标记值及第四标记值依序更新存储第三数据的第三实体区块所对应的闪存存储器转换层映射表及存储第四数据的第二实体区块所对应的闪存存储器转换层映射表。
在本发明的一实施例中,其中当第一实体区块中第三数据所对应的逻辑页面在预定时间内并未被更新,则处理器判断第三数据符合特定态样。
在本发明的一实施例中,上述第一标记值、第二标记值、第三标记值及第四标记值存储在上述实体区块的系统区块。
本发明提出一种存储器管理方法,适用于可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包括多个实体区块,每一实体区块包括多个实体程序化单元,上述实体区块包括第一实体区块、第二实体区块及第三实体区块。存储器管理方法包括:将多个第一数据写入第一实体区块,并存储对应第一数据的第一标记值;将多个第二数据写入第二实体区块,并存储对应第二数据的第二标记值,其中第二标记值大于第一标记值;将第一实体区块的第一数据中的多个第三数据搬移到第三实体区块,其中些第三数据为有效数据且第三数据符合特定态样;存储对应第三数据的第三标记值,其中第三标记值大于等于第二标记值;将第四数据写入第二实体区块,并存储对应第四数据的第四标记值,其中第四标记值大于第三标记值。
在本发明的一实施例中,上述存储器管理方法还包括:在可复写式非易失性存储器模块断电并重新启动之后,根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。
在本发明的一实施例中,其中根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表的步骤包括:根据第三标记值及第四标记值依序更新存储第三数据的第三实体区块所对应的闪存存储器转换层映射表及存储第四数据的第二实体区块所对应的闪存存储器转换层映射表。
在本发明的一实施例中,其中当第一实体区块中第三数据所对应的逻辑页面在预定时间内并未被更新,则判断第三数据符合特定态样。
在本发明的一实施例中,上述第一标记值、第二标记值、第三标记值及第四标记值存储在上述实体区块的每一实体程序化单元所对应的带外区(Out Of Band,OOB)。
本发明提出一种存储控制器,用于存取可复写式非易失性存储器模块并通过连接接口电路耦接至主机系统,存储控制器包括:存储器接口控制电路,用以耦接至可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包括多个实体区块,每一实体区块包括多个实体程序化单元,上述实体区块包括第一实体区块、第二实体区块及第三实体区块;处理器,耦接至连接接口电路单元及存储器接口控制电路;以及数据传输管理电路,耦接至处理器、连接接口电路单元及存储器接口控制电路。其中处理器将多个第一数据写入第一实体区块,并存储对应第一数据的第一标记值。其中处理器将多个第二数据写入第二实体区块,并存储对应第二数据的第二标记值。其中第二标记值大于第一标记值。其中处理器将第一实体区块的第一数据中的多个第三数据搬移到第三实体区块。其中第三数据为有效数据且第三数据符合特定态样。其中处理器存储对应第三数据的第三标记值。其中第三标记值大于等于第二标记值。其中处理器将第四数据写入第二实体区块,并存储对应第四数据的第四标记值,其中第四标记值大于第三标记值。
在本发明的一实施例中,其中在可复写式非易失性存储器模块断电并重新启动之后,处理器根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。
在本发明的一实施例中,上述处理器根据第三标记值及第四标记值依序更新存储第三数据的第三实体区块所对应的闪存存储器转换层映射表及存储第四数据的第二实体区块所对应的闪存存储器转换层映射表
在本发明的一实施例中,其中当第一实体区块中第三数据所对应的逻辑页面在预定时间内并未被更新,则处理器判断第三数据符合特定态样。
在本发明的一实施例中,上述第一标记值、第二标记值、第三标记值及第四标记值存储在上述实体区块的每一实体程序化单元所对应的带外区。
基于上述,本发明的存储器管理方法及使用所述方法的存储控制器在对冷数据进行垃圾收集时,会更新主机写入区块的标记值,使得主机写入区块的标记值大于垃圾收集区块的标记值。因此,当主机写入区块部分数据的逻辑地址与垃圾收集区块部分数据的逻辑地址相同时,会在进行闪存存储器转换层更新时会先重建垃圾收集区块的数据,再将主机写入区块中逻辑地址相同的数据覆写到垃圾收集区块,以解决数据写入不同步的问题。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一实施例所示出的主机系统及存储装置的方块示意图。
图2A至2C是根据本发明一实施例所示出的存储器管理方法的示意图。
图3A至3C是根据本发明另一实施例所示出的存储器管理方法的示意图。
图4A至4C是根据本发明另一实施例所示出的存储器管理方法的示意图。
图5A至5C是根据本发明另一实施例所示出的存储器管理方法的示意图。
图6是根据本发明一实施例的存储器管理方法的流程图。
图7是根据本发明另一实施例的存储器管理方法的流程图。
附图标号说明:
10:主机系统;
20:存储装置;
110、211:处理器;
120:主机存储器;
130:数据传输接口电路;
210:存储控制器;
212:数据传输管理电路;
213:存储器接口控制电路;
220:可复写式非易失性存储器模块;
230:连接接口电路;
201、301、401、501:第一实体区块;
202、302、402、502:第二实体区块;
203、303、403、503:第三实体区块;
410、510:系统区块;
S601、S603、S605、S607、S609、S611:存储器管理方法的流程步骤;
S701、S703、S705、S707、S709、S711:存储器管理方法的流程步骤。
具体实施方式
一般而言,存储装置包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与存储装置控制器(也称,存储控制器或存储控制电路)。通常存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储装置或从存储装置中读取数据。
图1是根据本发明的一实施例所示出的主机系统及存储装置的方块示意图。
请参照图1,主机系统(Host System)10包括处理器(Processor)110、主机存储器(Host Memory)120及数据传输接口电路(Data Transfer Interface Circuit)130。在本实施例中,数据传输接口电路130耦接(也称,电性连接)至处理器110与主机存储器120。在另一实施例中,处理器110、主机存储器120与数据传输接口电路130之间利用系统总线(System Bus)彼此耦接。
存储装置20包括存储控制器(Storage Controller)210、可复写式非易失性存储器模块(Rewritable Non-Volatile Memory Module)220及连接接口电路(ConnectionInterface Circuit)230。其中,存储控制器210包括处理器211、数据传输管理电路(DataTransfer Management Circuit)212与存储器接口控制电路(Memory Interface ControlCircuit)213。
在本实施例中,主机系统10是通过数据传输接口电路130与存储装置20的连接接口电路230耦接至存储装置20来进行数据的存取操作。例如,主机系统10可通过数据传输接口电路130将数据存储至存储装置20或从存储装置20中读取数据。
在本实施例中,处理器110、主机存储器120及数据传输接口电路130可设置在主机系统10的主机板上。数据传输接口电路130的数目可以是一或多个。通过数据传输接口电路130,主机板可以通过有线或无线方式耦接至存储装置20。存储装置20可例如是U盘、内存卡、固态硬盘(Solid State Drive,SSD)或无线存储器存储装置。无线存储器存储装置可例如是近距离无线通信(Near Field Communication,NFC)存储器存储装置、无线保真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线耦接至全球定位系统(Global Positioning System,GPS)模块、网络接口卡、无线传输装置、键盘、屏幕、喇叭等各式I/O装置。
在本实施例中,数据传输接口电路130与连接接口电路230是相容于高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准的接口电路。并且,数据传输接口电路130与连接接口电路230之间是利用快速非易失性存储器接口标准(Non-Volatile Memory express,NVMe)通信协定来进行数据的传输。
然而,必须了解的是,本发明不限于此,数据传输接口电路130与连接接口电路230也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、串行先进附件(Serial Advanced Technology Attachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(MemoryStick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(MultiMedia Card,MMC)接口标准、eMMC接口标准、通用闪存存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated DeviceElectronics,IDE)标准或其他适合的标准。此外,在另一实施例中,连接接口电路230可与存储控制器210封装在一个芯片中,或者连接接口电路230是布设于一包含存储控制器210的芯片外。
在本实施例中,主机存储器120用以暂存处理器110所执行的指令或数据。例如,在本范例实施例中,主机存储器120可以是动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)等。然而,必须了解的是,本发明不限于此,主机存储器120也可以是其他适合的存储器。更详细来说,在本实施例中,主机存储器120被划分为多个存储器页面(Memory Page),以供指令与数据的存储管理。每个存储器页面具有起始地址(Starting Address of Memory Page,SAMP)与结束地址(Ending Address of Memory Page,EAMP)。在本实施例中,每个存储器页面是利用16比特大小的地址来进行定位,例如,排序为第一个的存储器页面的起始地址(SAMP)可设定为“0x0000”,并且结束地址(EAMP)可设定为“0x0FFF”。每个存储器页面的大小为4096比特组(Bytes)(即,4KB)。主机存储器用来进行数据传输的存储器页面的总空间为64KB,即,共16个存储器页面。然而,本发明并不限于主机存储器的地址定位方式。例如,在另一实施例中,主机存储器可具有更多或是更少的空间,并且可对应地使用适合的定位方式来进行地址定位。
存储控制器210用以执行以硬件或软件实作的多个逻辑门或控制指令并且根据主机系统10的指令在可复写式非易失性存储器模块220中进行数据的写入、读取与抹除等运作。
更详细来说,存储控制器210中的处理器211为具备运算能力的硬件,其用以控制存储控制器210的整体运作。具体来说,处理器211具有多个控制指令,并且在存储装置20运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
值得一提的是,在本实施例中,处理器110与处理器211例如是中央处理单元(Central Processing Unit,CPU)、微处理器(micro-processor)、或是其他可编程的处理单元(Microprocessor)、数字信号处理器(Digital Signal Processor,DSP)、可编程控制器、特殊应用积体电路(Application Specific Integrated Circuits,ASIC)、可编程逻辑装置(Programmable Logic Device,PLD)或其他类似电路元件,本发明并不限于此。
在一实施例中,存储控制器210还具有只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储控制器210被致能时,处理器211会先执行此开机码来将存储于可复写式非易失性存储器模块220中的控制指令载入至存储控制器210的随机存取存储器中。之后,处理器211会运转此些控制指令以进行数据的写入、读取与抹除等运作。在另一实施例中,处理器211的控制指令也可以程序码型式存储于可复写式非易失性存储器模块220的特定区域,例如,可复写式非易失性存储器模块220中专用于存放系统数据的实体存储单元中。
在本实施例中,如上所述,存储控制器210还包括数据传输管理电路212与存储器接口控制电路213。
其中,数据传输管理电路212耦接至处理器211、存储器接口控制电路213与连接接口电路230。数据传输管理电路212用以接受处理器211的指示来进行数据的传输。例如,通过连接接口电路230从主机系统10(如,主机存储器120)读取数据,并且将所读取的数据通过存储器接口控制电路213写入至可复写式非易失性存储器模块220中。又例如,通过存储器接口控制电路213从可复写式非易失性存储器模块220读取数据,并且将所读取的数据通过连接接口电路230写入至主机系统10(如,主机存储器120)中。以下会再配合多个附图与实施例来详细说明本发明中数据传输管理电路212的功能。
存储器接口控制电路213用以接受处理器211的指示,配合数据传输管理电路212来进行对于可复写式非易失性存储器模块220的数据的写入(也称,程序化,Programming)、读取操作。存储器接口控制电路213也可对可复写式非易失性存储器模块220进行抹除操作。
举例来说,处理器211可执行写入指令序列,以指示存储器接口控制电路213将数据写入至可复写式非易失性存储器模块220中;处理器211可执行读取指令序列,以指示存储器接口控制电路213从可复写式非易失性存储器模块220中读取数据;处理器211可执行抹除指令序列,以指示存储器接口控制电路213对可复写式非易失性存储器模块220进行抹除操作。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示对可复写式非易失性存储器模块220执行相对应的写入、读取及抹除等操作。在一实施例中,处理器211还可以下达其他类型的指令序列给存储器接口控制电路213,以对可复写式非易失性存储器模块220执行相对应的操作。
此外,欲写入至可复写式非易失性存储器模块220的数据会通过存储器接口控制电路213转换为可复写式非易失性存储器模块220所能接受的格式。具体来说,若处理器211要存取可复写式非易失性存储器模块220,处理器211会传送对应的指令序列给存储器接口控制电路213以指示存储器接口控制电路213执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压准位或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
在本实施例中,存储器接口控制电路213还会辨识配置给可复写式非易失性存储器模块220的逻辑区块的状态。存储器接口控制电路213也可辨识可复写式非易失性存储器模块220的实体区块的状态。更详细来说,当存储器接口控制电路213根据读取/写入指令发出读取/写入请求给可复写式非易失性存储器模块220后,存储器接口控制电路213会辨识对应的可复写式非易失性存储器模块220的存储单元(如,实体区块、实体页面,或是对应的逻辑区块、逻辑页面)的状态是否为就绪状态(readiness)。举例来说,当存储器接口控制电路213辨识到对应读取/写入指令的实体区块以准备好进行数据传输时,存储器接口控制电路213会回报映射至所述实体区块的逻辑区块为就绪状态。换句话说,存储器接口控制电路213会根据判断逻辑区块所映射的实体区块是否准备好进行数据传输来判断所述逻辑区块的状态是否为就绪状态。存储器接口控制电路213可主动判断对应的实体区块的状态是否准备好进行数据传输,也可被动地接收来自可复写式非易失性存储器模块220的对应的实体区块的状态回报,本发明不限于存储器接口控制电路213如何辨识欲进行数据存取的实体区块/逻辑区块是否为就绪状态的方法。
可复写式非易失性存储器模块220是耦接至存储器控制电路单元404并且用以存储主机系统10所写入的数据。可复写式非易失性存储器模块220可以是单阶存储单元(Single Level Cell,SLC)NAND型闪存存储器模块(即,一个存储单元中可存储1个比特的闪存存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型闪存存储器模块(即,一个存储单元中可存储2个比特的闪存存储器模块)、复数阶存储单元(Triple Level Cell,TLC)NAND型闪存存储器模块(即,一个存储单元中可存储3个比特的闪存存储器模块)、其他闪存存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块220中的存储单元是以阵列的方式设置。
在本实施例中,可复写式非易失性存储器模块220的存储单元会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体区块(也称,实体抹除单元)。具体来说,同一条字线(或同一个字线层)上的存储单元会组成一或多个实体程序化单元。若每一个存储单元被用以存储2个以上的比特,则同一条字线(或同一个字线层)上的实体程序化单元至少可被分类为一个下(lower)实体程序化单元与一个上(upper)实体程序化单元。
在一实施例中,若每一个存储单元被用以存储2个比特,则同一条字线(或同一个字线层)上的实体程序化单元可被分类为一个下实体程序化单元与一个上实体程序化单元。例如,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效比特(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度会高于上实体程序化单元的可靠度。在另一实施例中,若每一个存储单元被用以存储3个比特,则同一条字线(或同一个字线层)上的实体程序化单元可被分类为一个下实体程序化单元、一个上实体程序化单元及一个额外(extra)实体程序化单元。例如,一存储单元的最低有效比特是属于下实体程序化单元,一存储单元的中间有效比特(Central Significant Bit,CSB)是属于上实体程序化单元,并且一存储单元的的最高有效比特是属于额外实体程序化单元。
在本实施例中,数据是以实体区块为单位作为写入数据(程序化)的存储单元。实体区块也可称为实体抹除单元或实体单元。实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。每一实体区块会具有多个实体程序化单元。实体程序化单元为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元通常包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码)。
然而,本发明不限于此。例如,在另一实施例中,也可变化本实施例所述的数据传输方法,应用至以实体程序化单元为单位作为写入数据的存储单元的可复写式非易失性存储器模块220。
在一实施例中,存储控制器210是基于实体单元来管理可复写式非易失性存储器模块220中的存储单元。例如,在以下实施例中,是以一个实体区块作为一个实体单元的范例。然而,在另一实施例中,一个实体单元也可以是指任意数目的存储单元组成,视实际上的需求而定。此外,必须了解的是,当存储控制器211对可复写式非易失性存储器模块220中的存储单元(或实体单元)进行分组以执行对应的管理操作时,此些存储单元(或实体单元)是被逻辑地分组,而其实际位置并未更动。
存储控制器210会配置多个逻辑单元来映射可复写式非易失性存储器模块220的用以存储使用者数据的多个实体单元,并且主机系统10是通过逻辑单元来存取用以存储使用者数据的多个实体单元中的使用者数据。在此,每一个逻辑单元可以是由一或多个逻辑地址组成。例如,逻辑单元可以是逻辑区块(logical block)、逻辑页面(logical page)或是逻辑扇区(logical sector)。一个逻辑单元可以是映射至一或多个实体单元,其中实体单元可以是一或多个实体地址、一或多个实体扇、一或多个实体程序化单元或者一或多个实体抹除单元。在本实施例中,逻辑单元为逻辑区块。
此外,存储控制器210会建立逻辑转实体地址映射表(logical to physicaladdress mapping table)与实体转逻辑地址映射表(physical to logical addressmapping table),以记录配置给可复写式非易失性存储器模块220的逻辑单元(如,逻辑区块、逻辑页面或逻辑扇区)与实体单元(如,实体抹除单元、实体程序化单元、实体扇区)之间的映射关系。换言之,存储控制器210可通过逻辑转实体地址映射表来查找一逻辑单元所映射的实体单元,并且存储控制器210可通过实体转逻辑地址映射表来查找一实体单元所映射的逻辑单元。然而,上述有关逻辑单元与实体单元映射的技术概念为本领域技术人员的惯用技术手段,不再赘述于此。
在一实施例中,存储控制器210还包括缓冲存储器(未示出于图中)与电源管理电路(未示出于图中)。缓冲存储器是耦接至处理器211并且用以暂存来自于主机系统10的数据与指令、来自于可复写式非易失性存储器模块220的数据或其他用以管理存储装置20的系统数据。电源管理电路是耦接至处理器211并且用以控制存储装置20的电源。
当处理器211指示将数据写入可复写式非易失性存储器模块220中的实体区块时,处理器211会同时存储对应此实体区块的一个时间标记。时间标记是一个唯一且递增的序列数,使得处理器211可以通过时间标记的大小来判断每一个实体区块的写入顺序。在一实施例中,处理器211可将每个实体区块的编号及其对应的时间标记存储在一个特定的系统区块中,但本发明并不以此为限。在另一实施例中,处理器211也可将时间标记存储在实体区块中每一个页面所对应的带外(Out Of Band,OOB)区中。在另一实施例中,处理器211也可将时间标记存储在实体区块中每一个页面中的每一个码字(codeword)所对应的带外(Out Of Band,OOB)区中。
以下开始会配合图1与后续的附图来详细说明本发明实施例所提供的存储器管理方法及使用所述方法的存储控制器210。
图2A至2C是根据本发明一实施例所示出的存储器管理方法的示意图。
请参照图2A,图2A表示处理器211在实际时间Xt所进行的操作。具体来说,处理器211先将第一数据写入第一实体区块201,并存储对应第一数据的第一标记值,也就是将时间标记T写入第一数据对应的“时间标记”栏位。当第一数据写满第一实体区块201的所有页面(即,页面0、1、2)时,处理器211继续将第二数据写入第二实体区块202,并存储对应第二数据的第二标记值,也就是将时间标记T+1写入第二数据对应的“时间标记”栏位。值得注意的是,第一数据与第二数据可以是在实际时间Xt通过同一个写入指令指示写入实体区块的数据或通过不同写入指令指示写入实体区块的数据。由于第一数据及第二数据都是主机写入数据,因此在第一数据及第二数据所对应的“类型”栏位会写入代表了“主机写入”的信息,而此信息可以是由至少一比特所代表的特定值。
值得注意的是,在本实施例中,为了方便说明而假设第一实体区块201(或第二实体区块202、图2B中的第三实体区块203)具有实体页面0、1、2,但本发明并不限制于一个实体区块仅有三个实体页面。例如,在另一实施例中,第一实体区块201可具有更多的实体页面。或者,在又一实施例中,在图2A中的标号0、1、2也可代表第一实体区块201或其他实体区块具有码字0、1、2,或是具有更多的码字。
请继续参照图2B,图2B表示处理器211在实际时间Xt+1所进行的操作。具体来说,处理器211可对第一实体区块201中的第一数据进行垃圾收集操作。举例来说,当处理器211判断第一实体区块201的实体页面1、2的第一数据(以下又称为第三数据)为有效数据且符合特定态样(即,第一实体区块201中第三数据所对应的逻辑页面在预定时间内并未被更新)时,处理器211会将第三数据搬移到一个垃圾收集区块,也就是第三实体区块203的实体页面0、1。同时,处理器211会在第三实体区块203的实体页面0、1对应的“时间标记”栏位写入第三标记值,也就是时间标记T+1,在此第三标记值等于第二标记值。处理器211还会在第三实体区块203的实体页面0、1对应的“类型”栏位写入代表了“垃圾收集”的信息,而此信息可以是由至少一比特所代表的特定值。
请继续参照图2C,图2C表示处理器211在实际时间Xt+2所进行的操作。具体来说,当处理器211将第四数据写入第二实体区块202的实体页面2时,处理器211会在第二实体区块202的实体页面2对应的“时间标记”栏位写入第四标记值,也就是时间标记T+2,在此第四标记值大于第三标记值。
如此一来,不论发生正常或不正常的断电重启(power cycling),处理器211都可根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。详细来说,处理器211可根据第三标记值及第四标记值依序更新存储第三数据的所述第三实体区块203所对应的闪存存储器转换层映射表及存储第四数据的第二实体区块202所对应的闪存存储器转换层映射表。因此,在本实施例中,即使用以存储第四数据的逻辑地址与用以存储部分第三数据的逻辑地址相同(例如,都是LBA(5)*),处理器211也可按照正确的顺序更新闪存存储器转换层映射表,从而避免数据写入不同步的问题发生。
值得注意的是,在本实施例中,即使在写入第四数据之前就断电,由于第二实体区块202与第三实体区块203并没有实体页面映射到相同的逻辑地址,因此处理器211可以从具有时间标记T+1的第二实体区块202或第三实体区块203任选一个先进行闪存存储器转换层映射表的更新,而不会影响到数据的一致性。
图3A至3C是根据本发明另一实施例所示出的存储器管理方法的示意图。
请参照图3A,图3A表示处理器211在实际时间Xt所进行的操作。具体来说,处理器211先将第一数据写入第一实体区块301,并存储对应第一数据的第一标记值,也就是将时间标记T写入第一数据对应的“时间标记”栏位。当第一数据写满第一实体区块301的所有页面(即,页面0、1、2)时,处理器211继续将第二数据写入第二实体区块302,并存储对应第二数据的第二标记值,也就是将时间标记T+1写入第二数据对应的“时间标记”栏位。由于第一数据及第二数据都是主机写入数据,因此在第一数据及第二数据所对应的“类型”栏位会写入代表了“主机写入”的信息,而此信息可以是由至少一比特所代表的特定值。
请继续参照图3B,图3B表示处理器211在实际时间Xt+1所进行的操作。具体来说,处理器211可对第一实体区块301中的第一数据进行垃圾收集操作。举例来说,当处理器211判断第一实体区块301的实体页面1、2的第一数据(以下又称为第三数据)为有效数据且符合特定态样时(即,第一实体区块301中第三数据所对应的逻辑页面在预定时间内并未被更新),处理器211会将第三数据搬移到一个垃圾收集区块,也就是第三实体区块303的实体页面0、1。同时,处理器211会在第三实体区块303的实体页面0、1对应的“时间标记”栏位写入第三标记值,也就是时间标记T+2,在此第三标记值大于第二标记值。处理器211还会在第三实体区块203的实体页面0、1对应的“类型”栏位写入代表了“垃圾收集”的信息,而此信息可以是由至少一比特所代表的特定值。
请继续参照图3C,图3C表示处理器211在实际时间Xt+2所进行的操作。具体来说,当处理器211将第四数据写入第二实体区块302的实体页面2时,处理器211会在第二实体区块302的实体页面2对应的“时间标记”栏位写入第四标记值,也就是时间标记T+3,在此第四标记值大于第三标记值。
如此一来,不论发生正常或不正常的断电重启(power cycling),处理器211都可根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。详细来说,处理器211可根据第三标记值及第四标记值依序更新存储第三数据的所述第三实体区块203所对应的闪存存储器转换层映射表及存储第四数据的第二实体区块202所对应的闪存存储器转换层映射表。因此,在本实施例中,即使用以存储第四数据的逻辑地址与用以存储部分第三数据的逻辑地址相同(例如,都是LBA(5)*),处理器211也可按照正确的顺序更新闪存存储器转换层映射表,从而避免数据写入不同步的问题发生。
图4A至4C是根据本发明另一实施例所示出的存储器管理方法的示意图。
请参照图4A,图4A表示处理器211在实际时间Xt所进行的操作。具体来说,处理器211先将第一数据写入第一实体区块201,并存储对应第一实体区块401的第一标记值T,也就是在系统区块410中存储第一标记值T及其对应的第一实体区块201的识别信息。当第一数据写满第一实体区块401的所有页面(即,页面0、1、2)时,处理器211继续将第二数据写入第二实体区块402,并存储对应第二实体区块402的第二标记值T+1,也就是在系统区块410中存储第二标记值T+1及其对应的第二实体区块402的识别信息。
请继续参照图4B,图4B表示处理器211在实际时间Xt+1所进行的操作。具体来说,处理器211可对第一实体区块401中的第一数据进行垃圾收集操作。举例来说,当处理器211判断第一实体区块401的实体页面1、2的第一数据(以下又称为第三数据)为有效数据且符合特定态样时(即,第一实体区块401中第三数据所对应的逻辑页面在预定时间内并未被更新),处理器211会将第三数据搬移到一个垃圾收集区块,也就是第三实体区块403的实体页面0、1。同时,处理器211会在系统区块410中存储对应第三实体区块403的第三标记值T+1并将对应第二实体区块402的所述第二标记值T+1更新为第四标记值T+2。在此,第四标记值T+2大于第三标记值T+1且第三标记值T+1等于第二标记值T+1。
请继续参照图4C,图4C表示处理器211在实际时间Xt+2所进行的操作。具体来说,当处理器211将第四数据写入第二实体区块402的实体页面2时,系统区块410中对应第二实体区块402的第四标记值T+2维持不变。
如此一来,不论发生正常或不正常的断电重启(power cycling),处理器211都可根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。详细来说,处理器211可根据第三标记值及第四标记值依序更新存储第三数据的所述第三实体区块203所对应的闪存存储器转换层映射表及存储第四数据的第二实体区块202所对应的闪存存储器转换层映射表。因此,在本实施例中,即使用以存储第四数据的逻辑地址与用以存储部分第三数据的逻辑地址相同(例如,都是LBA(5)*),处理器211也可按照正确的顺序更新闪存存储器转换层映射表,从而避免数据写入不同步的问题发生。
图5A至5C是根据本发明另一实施例所示出的存储器管理方法的示意图。
请参照图5A,图5A表示处理器211在实际时间Xt所进行的操作。具体来说,处理器211先将第一数据写入第一实体区块501,并存储对应第一实体区块501的第一标记值T,也就是在系统区块510中存储第一标记值T及其对应的第一实体区块501的识别信息。当第一数据写满第一实体区块501的所有页面(即,页面0、1、2)时,处理器211继续将第二数据写入第二实体区块502,并存储对应第二实体区块502的第二标记值T+1,也就是在系统区块510中存储第二标记值T+1及其对应的第二实体区块402的识别信息。
请继续参照图5B,图5B表示处理器211在实际时间Xt+1所进行的操作。具体来说,处理器211可对第一实体区块501中的第一数据进行垃圾收集操作。举例来说,当处理器211判断第一实体区块501的实体页面1、2的第一数据(以下又称为第三数据)为有效数据且符合特定态样时(即,第一实体区块501中第三数据所对应的逻辑页面在预定时间内并未被更新),处理器211会将第三数据搬移到一个垃圾收集区块,也就是第三实体区块503的实体页面0、1。同时,处理器211会在系统区块510中存储对应第三实体区块503的第三标记值T+2并将对应第二实体区块402的所述第二标记值T+1更新为第四标记值T+3。在此,第四标记值T+3大于第三标记值T+2且第三标记值T+2大于第二标记值T+1。
请继续参照图5C,图5C表示处理器211在实际时间Xt+2所进行的操作。具体来说,当处理器211将第四数据写入第二实体区块502的实体页面2时,系统区块510中对应第二实体区块402的第四标记值T+3维持不变。
如此一来,不论发生正常或不正常的断电重启(power cycling),处理器211都可根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。详细来说,处理器211可根据第三标记值及第四标记值依序更新存储第三数据的所述第三实体区块503所对应的闪存存储器转换层映射表及存储第四数据的第二实体区块502所对应的闪存存储器转换层映射表。因此,在本实施例中,即使用以存储第四数据的逻辑地址与用以存储部分第三数据的逻辑地址相同(例如,都是LBA(5)*),处理器211也可按照正确的顺序更新闪存存储器转换层映射表,从而避免数据写入不同步的问题发生。
图6是根据本发明一实施例的存储器管理方法的流程图。
在步骤S601中,将多个第一数据写入第一实体区块,并存储对应第一实体区块的第一标记值。
在步骤S603中,将多个第二数据写入第二实体区块,并存储对应第二实体区块的第二标记值,其中第二标记值大于第一标记值。
在步骤S605中,将第一实体区块的第一数据中的多个第三数据搬移到第三实体区块,其中第三数据为有效数据且第三数据符合特定态样。当第一实体区块中第三数据所对应的逻辑页面在预定时间内并未被更新,则判断第三数据符合特定态样。
在步骤S607中,存储对应第三实体区块的第三标记值并将对应第二实体区块的第二标记值更新为第四标记值,其中第四标记值大于第三标记值且第三标记值大于等于第二标记值。
在步骤S609中,将第四数据写入第二实体区块。
在步骤S611中,在可复写式非易失性存储器模块断电并重新启动之后,根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。
图7是根据本发明另一实施例的存储器管理方法的流程图。
在步骤S701中,将多个第一数据写入第一实体区块,并存储对应第一数据的第一标记值。
在步骤S703中,将多个第二数据写入第二实体区块,并存储对应第二数据的第二标记值,其中第二标记值大于第一标记值。
在步骤S705中,将第一实体区块的第一数据中的多个第三数据搬移到第三实体区块,其中第三数据为有效数据且第三数据符合特定态样。当第一实体区块中第三数据所对应的逻辑页面在预定时间内并未被更新,则判断第三数据符合特定态样。
在步骤S707中,存储对应第三数据的第三标记值,其中第三标记值大于等于第二标记值。
在步骤S709中,将第四数据写入第二实体区块,并存储对应第四数据的第四标记值,其中第四标记值大于第三标记值。
在步骤S711中,在可复写式非易失性存储器模块断电并重新启动之后,根据第三标记值及第四标记值依序更新第三数据及第四数据所对应的闪存存储器转换层映射表。
综上所述,本发明的存储器管理方法及使用所述方法的存储控制器会在系统开启用于垃圾收集的实体区块时更新主机写入区块的时间标记,使得主机写入区块的标记值大于垃圾收集区块的标记值。如此一来,即使主机写入区块部分数据的逻辑地址与垃圾收集区块部分数据的逻辑地址相同,在存储器装置不论是正常或不正常断电并重新启动时,都会先进行垃圾收集区块的闪存存储器转换层映射表更新,再进行主机写入区块的闪存存储器转换层映射表更新,如此可解决数据写入不同步的问题。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种存储器管理方法,适用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体区块,每一所述多个实体区块包括多个实体程序化单元,所述多个实体区块包括第一实体区块、第二实体区块及第三实体区块,其特征在于,所述存储器管理方法包括:
将多个第一数据写入所述第一实体区块,并存储对应所述第一实体区块的第一标记值;
将多个第二数据写入所述第二实体区块,并存储对应所述第二实体区块的第二标记值,其中所述第二标记值大于所述第一标记值;
将所述第一实体区块的所述多个第一数据中的多个第三数据搬移到所述第三实体区块,其中所述多个第三数据为有效数据且所述多个第三数据符合特定态样;以及
存储对应所述第三实体区块的第三标记值并将对应所述第二实体区块的所述第二标记值更新为第四标记值,其中所述第四标记值大于所述第三标记值且所述第三标记值大于等于所述第二标记值,
其中当所述第一实体区块中所述多个第三数据所对应的逻辑页面在预定时间内并未被更新,则判断所述多个第三数据符合所述特定态样。
2.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
将第四数据写入所述第二实体区块;以及
在所述可复写式非易失性存储器模块断电并重新启动之后,根据所述第三标记值及所述第四标记值依序更新所述多个第三数据及所述第四数据所对应的闪存存储器转换层映射表。
3.根据权利要求2所述的存储器管理方法,其特征在于,其中根据所述第三标记值及所述第四标记值依序更新所述多个第三数据及所述第四数据所对应的所述闪存存储器转换层映射表的步骤包括:
根据所述第三标记值及所述第四标记值依序更新存储所述多个第三数据的所述第三实体区块所对应的闪存存储器转换层映射表及存储所述第四数据的所述第二实体区块所对应的闪存存储器转换层映射表。
4.根据权利要求1所述的存储器管理方法,其特征在于,其中所述第一标记值、所述第二标记值、所述第三标记值及所述第四标记值存储在所述多个实体区块的系统区块。
5.一种存储控制器,用于存取可复写式非易失性存储器模块并通过连接接口电路耦接至主机系统,其特征在于,所述存储控制器包括:
存储器接口控制电路,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体区块,每一所述多个实体区块包括多个实体程序化单元,所述多个实体区块包括第一实体区块、第二实体区块及第三实体区块;
处理器,耦接至所述连接接口电路单元及所述存储器接口控制电路;以及
数据传输管理电路,耦接至所述处理器、所述连接接口电路单元及所述存储器接口控制电路,
其中所述处理器将多个第一数据写入所述第一实体区块,并存储对应所述第一实体区块的第一标记值,
其中所述处理器将多个第二数据写入所述第二实体区块,并存储对应所述第二实体区块的第二标记值,其中所述第二标记值大于所述第一标记值,
其中所述处理器将所述第一实体区块的所述多个第一数据中的多个第三数据搬移到所述第三实体区块,其中所述多个第三数据为有效数据且所述多个第三数据符合特定态样,
其中所述处理器存储对应所述第三实体区块的第三标记值并将对应所述第二实体区块的所述第二标记值更新为第四标记值,其中所述第四标记值大于所述第三标记值且所述第三标记值大于等于所述第二标记值,
其中当所述第一实体区块中所述多个第三数据所对应的逻辑页面在预定时间内并未被更新,则所述处理器判断所述多个第三数据符合所述特定态样。
6.根据权利要求5所述的存储控制器,其特征在于,其中所述处理器将第四数据写入所述第二实体区块,
其中在所述可复写式非易失性存储器模块断电并重新启动之后,所述处理器根据所述第三标记值及所述第四标记值依序更新所述多个第三数据及所述第四数据所对应的闪存存储器转换层映射表。
7.根据权利要求6所述的存储控制器,其特征在于,其中所述处理器根据所述第三标记值及所述第四标记值依序更新存储所述多个第三数据的所述第三实体区块所对应的闪存存储器转换层映射表及存储所述第四数据的所述第二实体区块所对应的闪存存储器转换层映射表。
8.根据权利要求5所述的存储控制器,其特征在于,其中所述第一标记值、所述第二标记值、所述第三标记值及所述第四标记值存储在所述多个实体区块的系统区块。
9.一种存储器管理方法,适用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体区块,每一所述多个实体区块包括多个实体程序化单元,所述多个实体区块包括第一实体区块、第二实体区块及第三实体区块,其特征在于,所述存储器管理方法包括:
将多个第一数据写入所述第一实体区块,并存储对应所述多个第一数据的第一标记值;
将多个第二数据写入所述第二实体区块,并存储对应所述多个第二数据的第二标记值,其中所述第二标记值大于所述第一标记值;
将所述第一实体区块的所述多个第一数据中的多个第三数据搬移到所述第三实体区块,其中所述多个第三数据为有效数据且所述多个第三数据符合特定态样;
存储对应所述多个第三数据的第三标记值,其中所述第三标记值大于等于所述第二标记值;以及
将第四数据写入所述第二实体区块,并存储对应所述第四数据的第四标记值,其中所述第四标记值大于所述第三标记值。
10.根据权利要求9所述的存储器管理方法,其特征在于,还包括:
在所述可复写式非易失性存储器模块断电并重新启动之后,根据所述第三标记值及所述第四标记值依序更新所述多个第三数据及所述第四数据所对应的闪存存储器转换层映射表。
11.根据权利要求10所述的存储器管理方法,其特征在于,其中根据所述第三标记值及所述第四标记值依序更新所述多个第三数据及所述第四数据所对应的闪存存储器转换层映射表的步骤包括:
根据所述第三标记值及所述第四标记值依序更新存储所述多个第三数据的所述第三实体区块所对应的闪存存储器转换层映射表及存储所述第四数据的所述第二实体区块所对应的闪存存储器转换层映射表。
12.根据权利要求9所述的存储器管理方法,其特征在于,其中所述第一标记值、所述第二标记值、所述第三标记值及所述第四标记值存储在所述多个实体区块的每一所述多个实体程序化单元所对应的带外区(Out Of Band,OOB)。
13.一种存储控制器,用于存取可复写式非易失性存储器模块并通过连接接口电路耦接至主机系统,其特征在于,所述存储控制器包括:
存储器接口控制电路,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体区块,每一所述多个实体区块包括多个实体程序化单元,所述多个实体区块包括第一实体区块、第二实体区块及第三实体区块;
处理器,耦接至所述连接接口电路单元及所述存储器接口控制电路;以及
数据传输管理电路,耦接至所述处理器、所述连接接口电路单元及所述存储器接口控制电路,
其中所述处理器将多个第一数据写入所述第一实体区块,并存储对应所述多个第一数据的第一标记值,
其中所述处理器将多个第二数据写入所述第二实体区块,并存储对应所述多个第二数据的第二标记值,其中所述第二标记值大于所述第一标记值,
其中所述处理器将所述第一实体区块的所述多个第一数据中的多个第三数据搬移到所述第三实体区块,其中所述多个第三数据为有效数据且所述多个第三数据符合特定态样,
其中所述处理器存储对应所述多个第三数据的第三标记值,其中所述第三标记值大于等于所述第二标记值,
其中所述处理器将第四数据写入所述第二实体区块,并存储对应所述第四数据的第四标记值,其中所述第四标记值大于所述第三标记值,
其中当所述第一实体区块中所述多个第三数据所对应的逻辑页面在预定时间内并未被更新,则所述处理器判断所述多个第三数据符合所述特定态样。
14.根据权利要求13所述的存储控制器,其特征在于,其中在所述可复写式非易失性存储器模块断电并重新启动之后,所述处理器根据所述第三标记值及所述第四标记值依序更新所述多个第三数据及所述第四数据所对应的闪存存储器转换层映射表。
15.根据权利要求14所述的存储控制器,其特征在于,其中所述处理器根据所述第三标记值及所述第四标记值依序更新存储所述多个第三数据的所述第三实体区块所对应的闪存存储器转换层映射表及存储所述第四数据的所述第二实体区块所对应的闪存存储器转换层映射表。
16.根据权利要求13所述的存储控制器,其特征在于,其中所述第一标记值、所述第二标记值、所述第三标记值及所述第四标记值存储在所述多个实体区块的每一所述多个实体程序化单元所对应的带外区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610891652.8A CN107943710B (zh) | 2016-10-13 | 2016-10-13 | 存储器管理方法及使用所述方法的存储控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610891652.8A CN107943710B (zh) | 2016-10-13 | 2016-10-13 | 存储器管理方法及使用所述方法的存储控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107943710A CN107943710A (zh) | 2018-04-20 |
CN107943710B true CN107943710B (zh) | 2021-08-27 |
Family
ID=61928817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610891652.8A Active CN107943710B (zh) | 2016-10-13 | 2016-10-13 | 存储器管理方法及使用所述方法的存储控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107943710B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471612B (zh) * | 2018-05-09 | 2022-09-16 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
CN110888820B (zh) | 2018-09-07 | 2022-01-25 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI759580B (zh) * | 2019-01-29 | 2022-04-01 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
CN113010444A (zh) * | 2019-12-20 | 2021-06-22 | 深圳大心电子科技有限公司 | 存储控制器、存储器管理方法与存储装置 |
TWI785571B (zh) * | 2021-04-22 | 2022-12-01 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414282A (zh) * | 2007-10-15 | 2009-04-22 | 群联电子股份有限公司 | 平均磨损方法及使用此方法的控制器 |
CN101673188A (zh) * | 2008-09-09 | 2010-03-17 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
CN102122269A (zh) * | 2010-01-07 | 2011-07-13 | 慧荣科技股份有限公司 | 闪存的写入逾时控制方法及其记忆装置 |
CN102915273A (zh) * | 2011-08-02 | 2013-02-06 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN103699492A (zh) * | 2012-09-27 | 2014-04-02 | 擎泰科技股份有限公司 | 非易失性存储器的数据收集方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010257367A (ja) * | 2009-04-28 | 2010-11-11 | Sanyo Electric Co Ltd | プログラムの更新システム、プログラム更新機能付き電子機器 |
US9292452B2 (en) * | 2013-07-03 | 2016-03-22 | Vmware, Inc. | Identification of page sharing opportunities within large pages |
US9454448B2 (en) * | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
-
2016
- 2016-10-13 CN CN201610891652.8A patent/CN107943710B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414282A (zh) * | 2007-10-15 | 2009-04-22 | 群联电子股份有限公司 | 平均磨损方法及使用此方法的控制器 |
CN101673188A (zh) * | 2008-09-09 | 2010-03-17 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
CN102122269A (zh) * | 2010-01-07 | 2011-07-13 | 慧荣科技股份有限公司 | 闪存的写入逾时控制方法及其记忆装置 |
CN102915273A (zh) * | 2011-08-02 | 2013-02-06 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN103699492A (zh) * | 2012-09-27 | 2014-04-02 | 擎泰科技股份有限公司 | 非易失性存储器的数据收集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107943710A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
TWI592800B (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
US10372619B2 (en) | Data backup method, data recovery method and storage controller | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
CN107943710B (zh) | 存储器管理方法及使用所述方法的存储控制器 | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN107402716B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
US9058256B2 (en) | Data writing method, memory controller and memory storage apparatus | |
CN107665091B (zh) | 数据读取方法、数据写入方法及其存储控制器 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN106445401B (zh) | 表格更新方法、存储器储存装置及存储器控制电路单元 | |
CN107346211B (zh) | 映射表加载方法、存储器控制电路单元与存储器储存装置 | |
CN111078146A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN106959818B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
CN107103930B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN114328297B (zh) | 映射表管理方法、存储器控制电路单元与存储器存储装置 | |
CN108108118B (zh) | 数据写入方法以及存储控制器 | |
CN107132989B (zh) | 数据程序化方法、存储器控制电路单元及存储器存储装置 | |
US20130246687A1 (en) | Data writing method, memory controller and memory storage apparatus | |
CN110162493B (zh) | 存储器管理方法及使用所述方法的储存控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190409 Address after: Room 609, 6th Floor, Taibang Science and Technology Building, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Da Xin Electronic Technology Co., Ltd. Address before: 2nd Floor, No. 5, 91 Lane, Dongmei Road, Xinzhu, Taiwan, China Applicant before: Big heart electronic Limited by Share Ltd |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |