CN111737165A - 存储器控制方法、存储器存储装置及存储器控制电路单元 - Google Patents
存储器控制方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN111737165A CN111737165A CN202010625534.9A CN202010625534A CN111737165A CN 111737165 A CN111737165 A CN 111737165A CN 202010625534 A CN202010625534 A CN 202010625534A CN 111737165 A CN111737165 A CN 111737165A
- Authority
- CN
- China
- Prior art keywords
- unit
- mapping table
- memory
- management
- entity
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本发明提供一种存储器控制方法、存储器存储装置及存储器控制电路单元。所述方法用于可复写式非易失性存储器模块,所述方法包括:收集来源单元中的有效数据;复制对应于所述来源单元的第一逻辑至实体映射表以产生第二逻辑至实体映射表;根据预计写入的回收单元的实体地址更新所述第二逻辑至实体映射表,其中所述第二逻辑至实体映射表记录有对应所述回收单元的映射信息;将所述来源单元中的所述有效数据复制至所述回收单元;以及根据所述第二逻辑至实体映射表更新第一管理信息。
Description
技术领域
本发明涉及一种存储器控制技术,尤其涉及一种存储器控制方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
当存储器存储装置出厂时,存储器存储装置中一部分的管理单元会被配置为多个闲置管理单元,以使用此些闲置管理单元来存储新数据。在使用一段时间后,存储器存储装置中的闲置管理单元的数目会逐渐减少。存储器存储装置可通过数据整并程序(或称为垃圾收集程序)将有效数据从多个来源单元复制到回收单元(亦称为目标单元)并抹除属于来源单元的管理单元以释放出新的闲置管理单元。但是,在数据整并程序中,往往必须多次读取相同的逻辑至实体映射表以获得所需的映射信息,从而降低数据整并操作的执行效率。
发明内容
本发明提供一种存储器控制方法、存储器存储装置及存储器控制电路单元,可有效改善上述问题和/或增加存储器存储装置的系统效能。
本发明的范例实施例提供一种存储器控制方法,其用于可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个管理单元,且所述多个管理单元包括来源单元及回收单元。所述存储器控制方法包括:收集所述来源单元中的有效数据;复制对应于所述来源单元的第一逻辑至实体映射表以产生第二逻辑至实体映射表;根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表,其中所述第二逻辑至实体映射表记录有对应所述回收单元的映射信息;将所述来源单元中的所述有效数据复制至所述回收单元;以及根据所述第二逻辑至实体映射表更新第一管理信息。
在本发明的一实施例中,上述第一管理信息包括所述第一逻辑至实体映射表的实体地址。
在本发明的一实施例中,上述根据预计写入的所述回收单元的所述实体地址更新所述第二逻辑至实体映射表的步骤包括:移除所述第二逻辑至实体映射表中属于所述来源单元的第一实体节点与所述第一实体节点对应的逻辑地址之间的映射关系;以及建立所述逻辑地址与属于预计写入的所述回收单元的第二实体单元的第二实体节点之间的映射关系。
在本发明的一实施例中,上述根据所述第二逻辑至实体映射表更新所述第一管理信息的步骤包括:取得所述第二逻辑至实体映射表的实体地址;以及将所述第一管理信息中所述第一逻辑至实体映射表的实体地址更新为所述第二逻辑至实体映射表的所述实体地址。
在本发明的一实施例中,上述方法还包括:若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新主机系统存取的管理单元的映射表,判断所述整理指令或更新所述主机系统存取的所述管理单元的映射表更新的第三逻辑至实体映射表是否与所述第一逻辑至实体映射表相同,若所述第三逻辑至实体映射表与所述第一逻辑至实体映射表相同,将所述来源单元中剩余的所述有效数据复制至所述回收单元,并根据所述第二逻辑至实体映射表更新所述第一管理信息,再根据所述第二逻辑至实体映射表执行所述整理指令或更新所述主机存取的所述管理单元的映射表。
在本发明的一实施例中,上述方法还包括:若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,将所述来源单元中剩余的所述有效数据复制至所述回收单元。
在本发明的一实施例中,上述方法还包括:在执行所述整理指令或更新所述主机系统存取的所述管理单元的映射表之前,根据所述第二逻辑至实体映射表更新所述第一管理信息。
在本发明的一实施例中,上述收集所述来源单元中的所述有效数据的步骤包括:根据第二管理信息获取存储有所述有效数据的多个逻辑至实体映射表,并根据所述多个逻辑至实体映射表决定所述来源单元;以及收集所决定的所述来源单元中的所述有效数据。
本发明的范例实施例提供一种存储器存储装置。所述存储器存储装置包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述可复写式非易失性存储器模块包括多个管理单元,且所述多个管理单元包括来源单元及回收单元。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以收集所述来源单元中的有效数据。存储器控制电路单元还用以复制对应于所述来源单元的第一逻辑至实体映射表以产生第二逻辑至实体映射表。所述存储器控制电路单元还用以根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表,其中所述第二逻辑至实体映射表记录有对应所述回收单元的映射信息。所述存储器控制电路单元还用以将所述来源单元中的所述有效数据复制至所述回收单元。并且所述存储器控制电路单元还用以根据所述第二逻辑至实体映射表更新第一管理信息。
在本发明的一实施例中,上述第一管理信息包括所述第一逻辑至实体映射表的实体地址。
在本发明的一实施例中,上述存储器控制电路单元根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表的操作包括:所述存储器控制电路单元还用以移除所述第二逻辑至实体映射表中属于所述来源单元的第一实体节点与所述第一实体节点对应的逻辑地址之间的映射关系,并且所述存储器控制电路单元还用以建立所述逻辑地址与属于预计写入的所述回收单元的第二实体单元的第二实体节点之间的映射关系。
在本发明的一实施例中,上述存储器控制电路单元根据所述第二逻辑至实体映射表更新第一管理信息的操作包括:所述存储器控制电路单元还用以取得所述第二逻辑至实体映射表的实体地址,并且所述存储器控制电路单元还用以将所述第一管理信息中所述第一逻辑至实体映射表的实体地址更新为所述第二逻辑至实体映射表的所述实体地址。
在本发明的一实施例中,若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,所述存储器控制电路单元还用以判断所述整理指令或更新所述主机系统存取的所述管理单元的映射表更新的第三逻辑至实体映射表是否与所述第一逻辑至实体映射表相同。若所述第三逻辑至实体映射表与所述第一逻辑至实体映射表相同,所述存储器控制电路单元还用以将所述来源单元中剩余的所述有效数据复制至所述回收单元,并根据所述第二逻辑至实体映射表更新所述第一管理信息,再根据所述第二逻辑至实体映射表执行所述整理指令或更新所述主机存取的所述管理单元的映射表。
在本发明的一实施例中,若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,所述存储器控制电路单元还用以将所述来源单元中剩余的所述有效数据复制至所述回收单元。
在本发明的一实施例中,上述存储器控制电路单元还用以在执行所述整理指令或更新所述主机系统存取的所述管理单元的映射表之前,根据所述第二逻辑至实体映射表更新所述第一管理信息。
在本发明的一实施例中,上述所述存储器控制电路单元用以收集所述来源单元中的所述有效数据的操作包括:所述存储器控制电路单元还用以根据第二管理信息获取存储有所述有效数据的多个逻辑至实体映射表,并根据所述多个逻辑至实体映射表决定所述来源单元,并且所述存储器控制电路单元还用以收集所决定的所述来源单元中的所述有效数据。
本发明的范例实施例提供一种存储器控制电路单元。所述存储器控制电路单元用于控制可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个管理单元,且所述多个管理单元包括来源单元及回收单元。所述存储器控制电路单元包括主机接口、存储器接口以及存储器管理电路。所述主机接口用以耦接至主机系统。所述存储器接口用以耦接至所述可复写式非易失性存储器模块。所述存储器管理电路耦接至所述主机接口与所述存储器接口。所述存储器管理电路用以收集所述来源单元中的有效数据。所述存储器管理电路还用以复制对应于所述来源单元的第一逻辑至实体映射表以产生第二逻辑至实体映射表。所述存储器管理电路还用以根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表,其中所述第二逻辑至实体映射表记录有对应所述回收单元的映射信息。所述存储器管理电路还用以将所述来源单元中的所述有效数据复制至所述回收单元。并且所述存储器管理电路还用以根据所述第二逻辑至实体映射表更新第一管理信息。
在本发明的一实施例中,上述第一管理信息包括所述第一逻辑至实体映射表的实体地址。
在本发明的一实施例中,上述存储器管理电路根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表的操作包括:所述存储器管理电路还用以移除所述第二逻辑至实体映射表中属于所述来源单元的第一实体节点与所述第一实体节点对应的逻辑地址之间的映射关系,并且所述存储器管理电路还用以建立所述逻辑地址与属于预计写入的所述回收单元的第二实体单元的第二实体节点之间的映射关系。
在本发明的一实施例中,上述存储器管理电路根据所述第二逻辑至实体映射表更新第一管理信息的操作包括:所述存储器管理电路还用以取得所述第二逻辑至实体映射表的实体地址,并且所述存储器管理电路还用以将所述第一管理信息中所述第一逻辑至实体映射表的实体地址更新为所述第二逻辑至实体映射表的所述实体地址。
在本发明的一实施例中,若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,所述存储器管理电路还用以判断所述整理指令或更新所述主机系统存取的所述管理单元的映射表更新的第三逻辑至实体映射表是否与所述第一逻辑至实体映射表相同。若所述第三逻辑至实体映射表与所述第一逻辑至实体映射表相同,所述存储器管理电路还用以将所述来源单元中剩余的所述有效数据复制至所述回收单元,并根据所述第二逻辑至实体映射表更新所述第一管理信息,再根据所述第二逻辑至实体映射表执行所述整理指令或更新所述主机存取的所述管理单元的映射表。
在本发明的一实施例中,若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,所述存储器管理电路还用以将所述来源单元中剩余的所述有效数据复制至所述回收单元。
在本发明的一实施例中,上述存储器管理电路还用以在执行所述整理指令或更新所述主机系统存取的所述管理单元的映射表之前,根据所述第二逻辑至实体映射表更新所述第一管理信息。
在本发明的一实施例中,上述存储器管理电路用以收集所述来源单元中的所述有效数据的操作包括:所述存储器管理电路还用以根据第二管理信息获取存储有所述有效数据的多个逻辑至实体映射表,并根据所述多个逻辑至实体映射表决定所述来源单元,并且所述存储器管理电路还用以收集所决定的所述来源单元中的所述有效数据。
基于上述,存储器管理电路可以复制新的逻辑至实体映射表,并同时根据预计写入的回收单元的实体地址更新复制出的逻辑至实体映射表。藉此,可减少执行数据整并操作时多次读取相同的逻辑至实体映射表的次数,从而提升数据整并操作的执行效率,进而增加存储器存储装置的系统效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的主机写入操作与数据整并操作的示意图;
图8是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图9是根据本发明的一范例实施例所示出的管理单元的示意图;
图10是根据本发明的一范例实施例所示出的管理单元的示意图;
图11是根据本发明的一范例实施例所示出的第二管理信息的示意图;
图12是根据本发明的一范例实施例所示出的数据整并操作的示意图;
图13是根据本发明的一范例实施例所示出的数据整并操作的示意图;
图14是根据本发明的一范例实施例所示出的更新第一管理信息的示意图;
图15是根据本发明的一范例实施例所示出的存储器控制方法的流程图;
图16是根据本发明的一范例实施例所示出的存储器控制方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆耦接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10耦接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12耦接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式耦接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near FieldCommunication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110耦接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以计算机系统来做说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的安全数码存储(SecureDigital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi MediaCard,eMMC)341和/或嵌入式多芯片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
连接接口单元402用以将存储器存储装置10耦接至主机系统11。存储器存储装置10可通过连接接口单元402与主机系统11通信。在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(MemoryStick,MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是耦接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效位(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效位(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令亦可以代码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可分别包括一或多个代码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是耦接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机系统11通信。主机接口504可用以接收与识别主机系统11所传送的指令与数据。例如,主机系统11所传送的指令与数据可通过主机接口504来传送至存储器管理电路502。此外,存储器管理电路502可通过主机接口504将数据传送至主机系统11。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是耦接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾收集操作等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。
错误检查与校正电路508是耦接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
缓冲存储器510是耦接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块406亦称为快闪(flash)存储器模块,存储器控制电路单元404亦称为用于控制快闪存储器模块的快闪存储器控制器,和/或图5的存储器管理电路502亦称为快闪存储器管理电路。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,存储器管理电路502会将可复写式非易失性存储器模块406的实体节点610(0)~610(C)逻辑地分组至存储区601、闲置(spare)区602及系统区603。存储区601中的实体节点610(0)~610(A)存储有数据。例如,存储区601中的实体节点610(0)~610(A)可存储有效(valid)数据与无效(invalid)数据。闲置区602中的实体节点610(A+1)~610(B)尚未用来存储数据(例如有效数据)。系统区603中的实体节点610(B+1)~610(C)用以存储系统数据,例如逻辑至实体映射表、坏块管理表、装置型号或其他类型的管理数据。
一个实体节点可包含一或多个实体地址。一个实体地址可由多个存储单元组成。当欲存储数据时,存储器管理电路502可从闲置区602的实体节点610(A+1)~610(B)中选择至少一个实体节点并且将来自主机系统11或来自存储区601中至少一实体节点的数据存储至所选的实体节点中。同时,所选的实体节点会被关联至存储区601。此外,在抹除存储区601中的某一个实体节点后,所抹除的实体节点会被重新关联至闲置区602。
存储器管理电路502可配置逻辑单元612(0)~612(D)以映射存储区601中的实体节点610(0)~610(A)。一个逻辑单元可包含一或多个逻辑地址。逻辑单元612(0)~612(D)中的每一者可被映射至一或多个实体节点。须注意的是,存储器管理电路502可不配置映射至系统区603的逻辑单元,以防止存储于系统区603的系统数据被使用者修改。
存储器管理电路502可将逻辑单元与实体节点之间的映射关系(亦称为逻辑至实体映射信息或映射信息)记录于至少一逻辑至实体映射表。逻辑至实体映射表是存储于系统区603的实体节点610(B+1)~610(C)中。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑至实体映射表来执行对于存储器存储装置10的数据存取操作。
存储器管理电路502可基于管理单元来管理与存取可复写式非易失性存储器模块406中的实体节点。一个管理单元亦称为一个虚拟区块(VB)。一个管理单元可包含多个实体节点。例如,一个管理单元可涵盖属于可复写式非易失性存储器模块406中的多个平面(亦称为存储器平面)和/或多个芯片致能(CE)中的多个实体节点。此外,一个管理单元可以被关联至存储区601、闲置区602或系统区603。属于闲置区602的管理单元亦称为闲置管理单元。属于存储区601的管理单元亦称为非闲置管理单元。
须注意的是,有效数据是属于某一个逻辑单元的最新数据,而无效数据则不是属于任一个逻辑单元的最新数据。例如,若主机系统11将一笔新数据存储至某一逻辑单元而覆盖掉此逻辑单元原先存储的旧数据(即,更新属于此逻辑单元的数据),则存储至存储区601中的此笔新数据即为属于此逻辑单元的最新数据并且会被标记为有效,而被覆盖掉的旧数据可能仍然存储在存储区601中但被标记为无效。
在本范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体节点之间的映射关系会被移除,并且此逻辑单元与存储有属于此逻辑单元的最新数据的实体节点之间的映射关系会被建立。然而,在另一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑地址的旧数据的实体节点之间的映射关系仍可被维持。
当存储器存储装置10出厂时,属于闲置区602的管理单元的总数会是一个预设数目(例如,30)。在存储器存储装置10的运作中,越来越多的管理单元会被从闲置区602选择并且被关联至存储区601以存储数据(例如,来自主机系统11的使用者数据)。因此,属于闲置区602的管理单元的总数会随着存储器存储装置10的使用而逐渐减少。
在存储器存储装置10的运作中,存储器管理电路502可持续更新属于闲置区602的管理单元的总数。存储器管理电路502可根据闲置区602中的管理单元的数目(即,闲置管理单元的总数)执行数据整并操作。例如,存储器管理电路502可判断属于闲置区602的管理单元的总数是否小于或等于一个门槛值(亦称为第一门槛值)。此第一门槛值例如是2或者更大的值(例如,10),本发明不加以限制。若属于闲置区602的管理单元的总数小于或等于第一门槛值,存储器管理电路502可执行数据整并操作。在一范例实施例中,数据整并操作亦称为垃圾收集(Garbage Collection,GC)操作。
在数据整并操作中,存储器管理电路502可从存储区601中选择至少一个管理单元作为来源单元并且从闲置区602中选择至少一个管理单元作为回收单元。存储器管理电路502可发送至少一指令序列以指示可复写式非易失性存储器模块406将有效数据从作为来源单元的管理单元复制到作为回收单元的管理单元。作为回收单元而被有效数据写满的管理单元可被关联至存储区601。若某一个管理单元所存储的有效数据皆已被复制至回收单元,则此管理单元可被抹除并且被关联至闲置区602。在一范例实施例中,将某一个管理单元从存储区601重新关联回闲置区602的操作(或抹除某一个管理单元的操作)亦称为释放一个闲置管理单元。通过执行数据整并操作,一或多个闲置管理单元会被释放并且使得属于闲置区602的管理单元的总数逐渐增加。
在开始执行数据整并操作后,若属于闲置区602的管理单元符合一特定条件,数据整并操作可被停止。例如,存储器管理电路502可判断属于闲置区602的管理单元的总数是否大于或等于一个门槛值(以下亦称为第二门槛值)。例如,第二门槛值可以大于或等于第一门槛值。若属于闲置区602的管理单元的总数大于或等于第二门槛值,存储器管理电路502可停止数据整并操作。须注意的是,停止数据整并操作是指结束当前执行中的数据整并操作。在停止一个数据整并操作之后,若属于闲置区602的管理单元的总数再次小于或等于第一门槛值,则下一个数据整并操作可再次被执行,以尝试释放新的闲置管理单元。
图7是根据本发明的一范例实施例所示出的主机写入操作与数据整并操作的示意图。请参照图7,在主机写入操作中,主机系统11可发送至少一个写入指令以指示将数据701写入至一或多个逻辑单元(或逻辑地址)。根据此写入指令,存储器管理电路502可指示将数据701存储至映射至所述逻辑单元(或逻辑地址)的主机单元710。例如,主机单元710可包含从图6的闲置区602中选择的某一管理单元。
另一方面,存储器管理电路502可启动一个数据整并操作,以释放出新的闲置管理单元。例如,在数据整并操作中,数据702可被从作为来源单元720的至少一个管理单元收集并且被写入至作为回收单元730的至少一个管理单元。数据702包括存储于来源单元720的有效数据。若作为来源单元720的某一管理单元所存储的有效数据已被完全复制到回收单元730,则此管理单元可被抹除而成为新的闲置管理单元。藉此,可逐渐增加图6的闲置区602中的闲置管理单元的数量。
图8是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图8,可复写式非易失性存储器模块406包括管理单元81(1)~81(n)。管理单元81(1)~81(n)中的每一者皆包含芯片致能(亦称为芯片致能群组)CE(1)与CE(2)。芯片致能CE(1)与CE(2)分别包含多个实体节点。存储器管理电路502可通过通道80(1)~80(m)来存取管理单元81(1)~81(n)。例如,存储器管理电路502可通过通道80(1)~80(m)中的至少两个通道来平行(或称为交错)存取管理单元81(1)与81(2)。此外,芯片致能CE(1)与CE(2)可分别包含多个平面(例如图9的平面PL(1)与PL(2))。
图9是根据本发明的一范例实施例所示出的管理单元的示意图。请参照图9,以管理单元81(1)为例,芯片致能CE(1)中的平面PL(1)可包括实体节点P1~P7与P29~P35等,芯片致能CE(1)中的平面PL(2)可包括实体节点P8~P14与P36~P42等,芯片致能CE(2)中的平面PL(1)可包括实体节点P15~P21等,且芯片致能CE(2)中的平面PL(2)可包括实体节点P22~P28等。实体节点P1~P28可被平行(或交错)地存取,以提高存取效率。
在一范例实施例中,一个平面中的多个连续的实体节点(例如实体节点P1~P7)可称为一个实体单元。或者,在一范例实施例中,一个芯片致能中的多个连续的实体节点(例如实体节点P1~P14)可称为一个实体单元。或者,在一范例实施例中,多个平面中的多个连续的实体节点(例如实体节点P1~P28)可称为一个实体单元。
在一范例实施例中,存储器管理电路502可在可复写式非易失性存储器模块406中维护特定管理信息(亦称为第一管理信息)。第一管理信息包括各逻辑至实体映射表的实体地址。此外,存储器管理电路502可在可复写式非易失性存储器模块406中维护特定管理信息(亦称为第二管理信息)。第二管理信息可包括索引信息,其用以读取与管理单元所存储的有效数据有关的逻辑至实体映射信息。
在一范例实施例中,在启动数据整并操作后,存储器管理电路502可从可复写式非易失性存储器模块406读取第一管理信息及第二管理信息,并根据第一管理信息及第二管理信息获取至少一部份的逻辑至实体映射表,并根据此逻辑至实体映射表来分析至少一部份的管理单元所存储的有效数据的数据量和/或有效数据的存储位置。然后,存储器管理电路502可根据分析结果选择至少一个管理单元作为来源单元并从中收集有效数据。在识别出来源单元后,有效数据可从来源单元读出并且被依序写入至回收单元。响应于来源单元中的有效数据被搬移至回收单元存储,存储器管理电路502读取第一管理信息及第二管理信息,并在来源单元所对应的逻辑至实体映射表中更新有效数据的映射信息,以反映有效数据已被搬移至回收单元进行存储。
然而,逻辑至实体映射表的读取与分析皆需要时间。而在数据整并操作的过程中,选择来源单元以及在来源单元所对应的逻辑至实体映射表中更新有效数据的映射信息这两个阶段,存储器管理电路502往往必须读取相同的逻辑至实体映射表以获得所需的映射信息,从而降低数据整并操作的执行效率。
图10是根据本发明的一范例实施例所示出的管理单元的示意图。图11是根据本发明的一范例实施例所示出的第二管理信息的示意图。请参照图10与图11,在本范例实施例中,假设选定管理单元81(1)作为来源单元,并且实体单元PU(1)、PU(4)、PU(5)及PU(8)可识别为第一实体单元并从中收集有效数据,而实体单元PU(2)、PU(3)、PU(6)及PU(7)存储无效数据而被识别为第二实体单元。在本范例实施例中,实体单元PU(1)、PU(4)、PU(5)及PU(8)存储的有效数据的映射信息分别记录于逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)。此外,在本范例实施例中,假设第二管理信息包括表格信息1101,并且表格信息1101可用以识别管理单元81(1)作为来源单元。例如,表格1101记载逻辑至实体映射表PTE及所对应的识别信息。逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)的识别信息为比特“1”,表示逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)所映射的管理单元存储有有效数据。并且存储器管理电路502可根据此些逻辑至实体映射表来分析并选择至少一个管理单元作为来源单元并从中收集有效数据,例如本范例实施例选定以管理单元81(1)作为来源单元。此外,第一管理信息则记录逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)的实体地址。
图12是根据本发明的一范例实施例所示出的数据整并操作的示意图。图13是根据本发明的一范例实施例所示出的数据整并操作的示意图。请参照图12,在管理单元81(1)被选择作为来源单元,并且实体单元PU(1)、PU(4)、PU(5)及PU(8)识别为第一实体单元后,有效数据可从实体单元PU(1)、PU(4)、PU(5)及PU(8)读出。
在一范例实施例中,响应于有效数据被收集,存储器管理电路502可复制对应于管理单元81(1)的第一逻辑至实体映射表并产生第二逻辑至实体映射表。以图12为例,在收集有效数据后,存储器管理电路502读取并复制逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50),以产生逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)(亦称为第二逻辑至实体映射表)并暂存储于缓冲存储器510。
在复制出新的逻辑至实体映射表后,存储器管理电路502根据预计写入的回收单元的实体地址更新复制产生的逻辑至实体映射表。请参照图13,管理单元81(2)(亦称为回收单元)中例如包括实体单元PU(9)~PU(16),存储器管理电路502预计将从管理单元81(1)收集的有效数据写入管理单元81(2)中的实体单元PU(9)~PU(12)。须说明的是,此时所收集的有效数据还未被写入至管理单元81(2)中的实体单元PU(9)~PU(12)。于此,存储器管理电路502根据实体单元PU(9)~PU(12)的实体地址更新逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)。存储器管理电路502可在逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)中更新有效数据对应的逻辑地址与实体地址之间的映射信息。
在本范例实施例中,存储器管理电路502可移除逻辑至实体映射表PTE(20’)中属于实体单元PU(1)的实体节点与实体节点对应的逻辑地址之间的映射关系,并且建立此逻辑地址与属于实体单元PU(9)的实体节点之间的映射关系。同样的,逻辑地址与属于实体单元PU(10)、PU(11)及PU(12)的实体节点之间的映射关系依据相同的方式分别被建立。
在更新逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)后,存储器管理电路502将管理单元81(1)中的有效数据复制至管理单元81(2)。请参图13,存储器管理电路502将从管理单元81(1)中的实体单元PU(1)、PU(4)、PU(5)及PU(8)收集的有效数据依序写入管理单元81(2)中的实体单元PU(9)~PU(12)。
在一实施例中,在有效数据全部复制至管理单元81(2)后,存储器管理电路502将逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)存储至可复写式非易失性存储器模块406,并根据逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)更新第一管理信息。图14是根据本发明的一范例实施例所示出的更新第一管理信息的示意图。假设第一管理信息1401包括逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)的实体地址。存储器管理电路502可取得逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)的实体地址,并将第一管理信息1401中逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)的实体地址更新为逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)的实体地址。
在一实施例中,存储器管理电路502更新第二管理信息。存储器管理电路502可将图11中逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)的识别信息修改为比特“0”,表示逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)没有映射存储有有效数据的管理单元。
于此,本范例实施例在收集有效数据后,存储器管理电路502复制逻辑至实体映射表并将其暂存于缓冲存储器510,并且接着根据预计写入的回收单元的实体地址更新复制产生的逻辑至实体映射表。因此,可节省重复读取逻辑至实体映射表的操作,从而提升数据整并操作的执行效率。
须说明的是,本范例实施例更新复制产生的逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’),若所收集的有效数据还未全部被写入至管理单元81(2)中的实体单元PU(9)~PU(12)时接收到数据读取指令(read command),存储器管理电路502会先根据第一管理信息取得逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)的实体地址。于此,由于存储器管理电路502还未将第一管理信息1401中逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)的实体地址更新为逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)的实体地址,存储器管理电路502可读取到实体单元PU(1)、PU(4)、PU(5)及PU(8)中存储的数据,从而避免读取还未被写入数据的实体单元PU(9)~PU(12)。
在一范例实施例中,若存储器管理电路502所收集的有效数据还未全部被写入至管理单元81(2)中的实体单元PU(9)~PU(12)时接收到整理指令(trim command)或更新主机系统11存取的管理单元的映射表,则需要解决新的与旧的逻辑至实体映射表冲突的问题。在本范例实施例中,存储器管理电路502接收到整理指令或更新主机系统11存取的管理单元的映射表时,先判断执行整理指令或更新主机系统11存取的管理单元的映射表更新的逻辑至实体映射表是否与逻辑至实体映射表PTE(20)、PTE(30)、PTE(40)及PTE(50)至少其中之一相同。若相同,则存储器管理电路502将管理单元81(1)中剩余的有效数据复制至管理单元81(2),并根据逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)更新第一管理信息。接着,存储器管理电路502根据逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)执行整理指令或更新主机系统11存取的管理单元的映射表。若不同,则存储器管理电路502可将整理指令或更新主机系统11存取的管理单元的映射表与数据整并操作分别执行。换句话说,存储器管理电路502在整理指令或时,若会牵涉到的逻辑至实体映射表与第一逻辑至实体映射表相同,存储器管理电路502先将来源单元中剩余的有效数据复制至回收单元,并优先将整理指令或更新主机系统11存取的管理单元的映射表更新为指向第二逻辑至实体映射表。于此,可避免执行整理指令或更新主机系统11存取的管理单元的映射表时读取到未被写入有效数据的实体单元,例如图13中未被写入有效数据的实体单元PU(9)~PU(12)。
在另一实施例中,若所收集的有效数据还未全部被写入至管理单元81(2)中的实体单元PU(9)~PU(12)时接收到整理指令或更新主机系统11存取的管理单元的映射表,存储器管理电路502可直接将管理单元81(1)中剩余的有效数据复制至管理单元81(2),并且在执行整理指令或更新主机系统11存取的管理单元的映射表之前,根据逻辑至实体映射表PTE(20’)、PTE(30’)、PTE(40’)及PTE(50’)更新第一管理信息。于此,通过在接受整理指令及更新主机系统11存取的管理单元的映射表之前将有效数据完全复制至回收单元,并更新第一管理信息,可避免执行整理指令或更新主机系统11存取的管理单元的映射表时读取到未被写入有效数据的实体单元。
需说明的是,整理指令是泛指用以告知哪些逻辑地址上的数据已不再被使用或已被删除的指令。例如,整理指令亦可被参考为删除指令(delete command)、移除指令(remove command)或其他具相同功能的指令。特别是,当判断接收到此整理指令时,存储器管理电路502会在整理表(trim table)中记录关于此整理指令的信息(例如,数据已被删除的逻辑地址),并且传送一确认讯息给主机系统11以回应此整理指令,由此快速回应主机系统11以避免延迟或逾时。存储器管理电路502会在适当时机,启动整理操作来执行整理表中所记录的整理指令的对应操作。例如,存储器管理电路502启动整理操作来根据整理指令所指示逻辑地址,在逻辑至实体映射表中将所指示的逻辑地址的映射更新为空值(Null),以表示此逻辑地址原先映射的实体单元上已无有效数据。
须注意的是,在图10至图14的范例实施例中,表格信息1101、管理单元81(1)、管理单元81(2)及第一管理信息1401等为范例而非用以限制本发明。此外,在图10至图14的另一范例实施例中,在从实体单元PU(1)~PU(8)收集有效数据后,管理单元81(1)即可被抹除。
图15是根据本发明的一范例实施例所示出的存储器控制方法的流程图。请参照图15,在步骤S1502中,收集来源单元中的有效数据。在步骤S1504中,复制对应于来源单元的第一逻辑至实体映射表以产生第二逻辑至实体映射表。在步骤S1506中,根据预计写入的回收单元的实体地址更新第二逻辑至实体映射表。在步骤S1508中,将来源单元中的有效数据复制至回收单元。在步骤S1510中,根据第二逻辑至实体映射表更新第一管理信息。
图16是根据本发明的一范例实施例所示出的存储器控制方法的流程图。请参照图16,在步骤S1602中接收整理指令,或在步骤S1604中更新主机系统存取的管理单元的映射表。在步骤S1606中,判断整理指令或更新主机系统存取的管理单元的映射表更新的逻辑至实体映射表是否与第一逻辑至实体映射表相同。若整理指令或更新主机系统存取的管理单元的映射表更新的逻辑至实体映射表与第一逻辑至实体映射表相同(步骤S1606,判断为是),则在步骤S1608中,将来源单元中剩余的有效数据复制至回收单元。在步骤S1610中,根据第二逻辑至实体映射表更新第一管理信息,并且在步骤S1612中,根据第二逻辑至实体映射表执行整理指令或更新主机系统存取的管理单元的映射表。若整理指令或更新主机系统存取的管理单元的映射表更新的逻辑至实体映射表与第一逻辑至实体映射表不同(步骤S1606,判断为否),则在步骤S1614中执行整理指令或更新主机系统存取的管理单元的映射表。
然而,图15与图16中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图15与图16中各步骤可以实作为多个代码或是电路,本发明不加以限制。此外,图15与图16的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明提供的存储器控制方法、存储器存储装置及存储器控制电路单元,在数据整并操作中收集来源单元中的有效数据的同时复制对应于来源单元的逻辑至实体映射表,并同时根据预计写入的回收单元的实体地址更新复制出的逻辑至实体映射表。藉此,可减少执行数据整并操作时多次读取相同的逻辑至实体映射表的次数,从而有效缩短执行数据整并程序的时间和/或提高数据整并程序的执行效率,进而增加存储器存储装置的系统效能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种存储器控制方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个管理单元,且所述多个管理单元包括来源单元及回收单元,所述存储器控制方法包括:
收集所述来源单元中的有效数据;复制对应于所述来源单元的第一逻辑至实体映射表以产生第二逻辑至实体映射表;
根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表,其中所述第二逻辑至实体映射表记录有对应所述回收单元的映射信息;
将所述来源单元中的所述有效数据复制至所述回收单元;以及
根据所述第二逻辑至实体映射表更新第一管理信息。
2.根据权利要求1所述的存储器控制方法,其中所述第一管理信息包括所述第一逻辑至实体映射表的实体地址。
3.根据权利要求1所述的存储器控制方法,其中根据预计写入的所述回收单元的所述实体地址更新所述第二逻辑至实体映射表的步骤包括:
移除所述第二逻辑至实体映射表中属于所述来源单元的第一实体节点与所述第一实体节点对应的逻辑地址之间的映射关系;以及
建立所述逻辑地址与属于预计写入的所述回收单元的第二实体单元的第二实体节点之间的映射关系。
4.根据权利要求1所述的存储器控制方法,其中根据所述第二逻辑至实体映射表更新所述第一管理信息的步骤包括:
取得所述第二逻辑至实体映射表的实体地址;以及
将所述第一管理信息中所述第一逻辑至实体映射表的实体地址更新为所述第二逻辑至实体映射表的所述实体地址。
5.根据权利要求1所述的存储器控制方法,其中所述方法还包括:
若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新主机系统存取的管理单元的映射表,判断所述整理指令或更新所述主机系统存取的所述管理单元的映射表更新的第三逻辑至实体映射表是否与所述第一逻辑至实体映射表相同,
若所述第三逻辑至实体映射表与所述第一逻辑至实体映射表相同,将所述来源单元中剩余的所述有效数据复制至所述回收单元,并根据所述第二逻辑至实体映射表更新所述第一管理信息,再根据所述第二逻辑至实体映射表执行所述整理指令或更新所述主机存取的所述管理单元的映射表。
6.根据权利要求1所述的存储器控制方法,其中所述方法还包括:
若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新主机系统存取的管理单元的映射表,将所述来源单元中剩余的所述有效数据复制至所述回收单元。
7.根据权利要求6所述的存储器控制方法,其中所述方法还包括:
在执行所述整理指令或更新所述主机系统存取的所述管理单元的映射表之前,根据所述第二逻辑至实体映射表更新所述第一管理信息。
8.根据权利要求1所述的存储器控制方法,其中收集所述来源单元中的所述有效数据的步骤包括:
根据第二管理信息获取存储有所述有效数据的多个逻辑至实体映射表,并根据所述多个逻辑至实体映射表决定所述来源单元;以及
收集所决定的所述来源单元中的所述有效数据。
9.一种存储器存储装置,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个管理单元,且所述多个管理单元包括来源单元及回收单元;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以收集所述来源单元中的有效数据,
所述存储器控制电路单元还用以复制对应于所述来源单元的第一逻辑至实体映射表以产生第二逻辑至实体映射表,
所述存储器控制电路单元还用以根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表,其中所述第二逻辑至实体映射表记录有对应所述回收单元的映射信息,
所述存储器控制电路单元还用以将所述来源单元中的所述有效数据复制至所述回收单元,并且
所述存储器控制电路单元还用以根据所述第二逻辑至实体映射表更新第一管理信息。
10.根据权利要求9所述的存储器存储装置,其中所述第一管理信息包括所述第一逻辑至实体映射表的实体地址。
11.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表的操作包括:
所述存储器控制电路单元还用以移除所述第二逻辑至实体映射表中属于所述来源单元的第一实体节点与所述第一实体节点对应的逻辑地址之间的映射关系,并且
所述存储器控制电路单元还用以建立所述逻辑地址与属于预计写入的所述回收单元的第二实体单元的第二实体节点之间的映射关系。
12.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元根据所述第二逻辑至实体映射表更新第一管理信息的操作包括:
所述存储器控制电路单元还用以取得所述第二逻辑至实体映射表的实体地址,并且
所述存储器控制电路单元还用以将所述第一管理信息中所述第一逻辑至实体映射表的实体地址更新为所述第二逻辑至实体映射表的所述实体地址。
13.根据权利要求9所述的存储器存储装置,其中若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,所述存储器控制电路单元还用以判断所述整理指令或更新所述主机系统存取的所述管理单元的映射表更新的第三逻辑至实体映射表是否与所述第一逻辑至实体映射表相同,
若所述第三逻辑至实体映射表与所述第一逻辑至实体映射表相同,所述存储器控制电路单元还用以将所述来源单元中剩余的所述有效数据复制至所述回收单元,并根据所述第二逻辑至实体映射表更新所述第一管理信息,再根据所述第二逻辑至实体映射表执行所述整理指令或更新所述主机存取的所述管理单元的映射表。
14.根据权利要求9所述的存储器存储装置,其中若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,所述存储器控制电路单元还用以将所述来源单元中剩余的所述有效数据复制至所述回收单元。
15.根据权利要求14所述的存储器存储装置,其中所述存储器控制电路单元还用以在执行所述整理指令或更新所述主机系统存取的所述管理单元的映射表之前,根据所述第二逻辑至实体映射表更新所述第一管理信息。
16.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元用以收集所述来源单元中的所述有效数据的操作包括:
所述存储器控制电路单元还用以根据第二管理信息获取存储有所述有效数据的多个逻辑至实体映射表,并根据所述多个逻辑至实体映射表决定所述来源单元,并且
所述存储器控制电路单元还用以收集所决定的所述来源单元中的所述有效数据。
17.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个管理单元,且所述多个管理单元包括来源单元及回收单元,其中所述存储器控制电路单元包括:
主机接口,用以耦接至主机系统;
存储器接口,用以耦接至所述可复写式非易失性存储器模块;以及
存储器管理电路,耦接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以收集所述来源单元中的有效数据,
所述存储器管理电路还用以复制对应于所述来源单元的第一逻辑至实体映射表以产生第二逻辑至实体映射表,
所述存储器管理电路还用以根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表,其中所述第二逻辑至实体映射表记录有对应所述回收单元的映射信息,
所述存储器管理电路还用以将所述来源单元中的所述有效数据复制至所述回收单元,并且
所述存储器管理电路还用以根据所述第二逻辑至实体映射表更新第一管理信息。
18.根据权利要求17所述的存储器控制电路单元,其中所述第一管理信息包括所述第一逻辑至实体映射表的实体地址。
19.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路根据预计写入的所述回收单元的实体地址更新所述第二逻辑至实体映射表的操作包括:
所述存储器管理电路还用以移除所述第二逻辑至实体映射表中属于所述来源单元的第一实体节点与所述第一实体节点对应的逻辑地址之间的映射关系,并且
所述存储器管理电路还用以建立所述逻辑地址与属于预计写入的所述回收单元的第二实体单元的第二实体节点之间的映射关系。
20.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路根据所述第二逻辑至实体映射表更新第一管理信息的操作包括:
所述存储器管理电路还用以取得所述第二逻辑至实体映射表的实体地址,并且
所述存储器管理电路还用以将所述第一管理信息中所述第一逻辑至实体映射表的实体地址更新为所述第二逻辑至实体映射表的所述实体地址。
21.根据权利要求17所述的存储器控制电路单元,其中若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,所述存储器管理电路还用以判断所述整理指令或更新所述主机系统存取的所述管理单元的映射表更新的第三逻辑至实体映射表是否与所述第一逻辑至实体映射表相同,
若所述第三逻辑至实体映射表与所述第一逻辑至实体映射表相同,所述存储器管理电路还用以将所述来源单元中剩余的所述有效数据复制至所述回收单元,并根据所述第二逻辑至实体映射表更新所述第一管理信息,再根据所述第二逻辑至实体映射表执行所述整理指令或更新所述主机存取的所述管理单元的映射表。
22.根据权利要求17所述的存储器控制电路单元,其中若在所述来源单元中的所述有效数据未全部被复制至所述回收单元时接收到整理指令或更新所述主机系统存取的管理单元的映射表,所述存储器管理电路还用以将所述来源单元中剩余的所述有效数据复制至所述回收单元。
23.根据权利要求22所述的存储器控制电路单元,其中所述存储器管理电路还用以在执行所述整理指令或更新所述主机系统存取的所述管理单元的映射表之前,根据所述第二逻辑至实体映射表更新所述第一管理信息。
24.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路用以收集所述来源单元中的所述有效数据的操作包括:
所述存储器管理电路还用以根据第二管理信息获取存储有所述有效数据的多个逻辑至实体映射表,并根据所述多个逻辑至实体映射表决定所述来源单元,并且
所述存储器管理电路还用以收集所决定的所述来源单元中的所述有效数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010625534.9A CN111737165B (zh) | 2020-07-02 | 2020-07-02 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010625534.9A CN111737165B (zh) | 2020-07-02 | 2020-07-02 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737165A true CN111737165A (zh) | 2020-10-02 |
CN111737165B CN111737165B (zh) | 2023-09-12 |
Family
ID=72652484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010625534.9A Active CN111737165B (zh) | 2020-07-02 | 2020-07-02 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737165B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799601A (zh) * | 2021-02-24 | 2021-05-14 | 群联电子股份有限公司 | 有效数据合并方法、存储器存储装置及控制电路单元 |
CN112925481A (zh) * | 2021-03-09 | 2021-06-08 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN118331510A (zh) * | 2024-06-14 | 2024-07-12 | 合肥开梦科技有限责任公司 | 数据管理方法与存储装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776376A (zh) * | 2015-11-24 | 2017-05-31 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
US20190138445A1 (en) * | 2017-11-03 | 2019-05-09 | Hefei Core Storage Electronic Limited | Mapping table updating method, memory control circuit unit and memory storage device |
CN110045913A (zh) * | 2018-01-15 | 2019-07-23 | 慧荣科技股份有限公司 | 垃圾收集的方法、记忆装置及其控制器和电子装置 |
CN110895514A (zh) * | 2018-09-11 | 2020-03-20 | 慧荣科技股份有限公司 | 映射表更新方法 |
-
2020
- 2020-07-02 CN CN202010625534.9A patent/CN111737165B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776376A (zh) * | 2015-11-24 | 2017-05-31 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
US20190138445A1 (en) * | 2017-11-03 | 2019-05-09 | Hefei Core Storage Electronic Limited | Mapping table updating method, memory control circuit unit and memory storage device |
CN110045913A (zh) * | 2018-01-15 | 2019-07-23 | 慧荣科技股份有限公司 | 垃圾收集的方法、记忆装置及其控制器和电子装置 |
CN110895514A (zh) * | 2018-09-11 | 2020-03-20 | 慧荣科技股份有限公司 | 映射表更新方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799601A (zh) * | 2021-02-24 | 2021-05-14 | 群联电子股份有限公司 | 有效数据合并方法、存储器存储装置及控制电路单元 |
CN112799601B (zh) * | 2021-02-24 | 2023-06-13 | 群联电子股份有限公司 | 有效数据合并方法、存储器存储装置及控制电路单元 |
CN112925481A (zh) * | 2021-03-09 | 2021-06-08 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN112925481B (zh) * | 2021-03-09 | 2024-04-05 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN118331510A (zh) * | 2024-06-14 | 2024-07-12 | 合肥开梦科技有限责任公司 | 数据管理方法与存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111737165B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110879793B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111400201B (zh) | 快闪存储器的数据整理方法、存储装置及控制电路单元 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN111737165B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US11163694B2 (en) | Memory control method, memory storage device and memory control circuit unit | |
US11755242B2 (en) | Data merging method, memory storage device for updating copied L2P mapping table according to the physical address of physical unit | |
CN108733577B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
TW202038098A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
US11334273B1 (en) | Valid data merging method, memory storage device and memory control circuit unit | |
CN111767005B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN110308876B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN112394883B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
CN112799601B (zh) | 有效数据合并方法、存储器存储装置及控制电路单元 | |
CN112988076B (zh) | 快闪存储器控制方法、存储装置及控制器 | |
TWI741779B (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110096215B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN112445418B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111813325B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TW202026884A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
US11455243B2 (en) | Data merge method performing data merge operations with identifying valid data of source nodes for next data merge operation, memory storage device, and memory control circuit unit | |
CN114203239B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN112114737B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN112015327B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |