CN111767005A - 存储器控制方法、存储器存储装置及存储器控制电路单元 - Google Patents

存储器控制方法、存储器存储装置及存储器控制电路单元 Download PDF

Info

Publication number
CN111767005A
CN111767005A CN201910256261.2A CN201910256261A CN111767005A CN 111767005 A CN111767005 A CN 111767005A CN 201910256261 A CN201910256261 A CN 201910256261A CN 111767005 A CN111767005 A CN 111767005A
Authority
CN
China
Prior art keywords
management
unit
valid data
information
memory
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
Application number
CN201910256261.2A
Other languages
English (en)
Other versions
CN111767005B (zh
Inventor
郭哲岳
陈鼎元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201910256261.2A priority Critical patent/CN111767005B/zh
Publication of CN111767005A publication Critical patent/CN111767005A/zh
Application granted granted Critical
Publication of CN111767005B publication Critical patent/CN111767005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (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-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
当存储器存储装置出厂时,存储器存储装置中一部分的管理单元会被配置为多个闲置管理单元,以使用此些闲置管理单元来存储新数据。在使用一段时间后,存储器存储装置中的闲置管理单元的数目会逐渐减少。存储器存储装置可通过数据整并程序(或称为垃圾收集程序)将有效数据从多个来源单元复制到回收单元(亦称为目标单元)并抹除属于来源单元的管理单元以释放出新的闲置管理单元。但是,在数据整并程序中,若所选择作为来源单元的多个管理单元所映射的逻辑单元越分散,则越多记载此些逻辑单元的管理信息(例如映射信息)的表格需要被存取,从延长执行数据整并程序的时间和/或降低数据整并程序的执行效率。
发明内容
本发明提供一种存储器控制方法、存储器存储装置及存储器控制电路单元,可有效改善上述问题和/或增加存储器存储装置的***效能。
本发明的范例实施例提供一种存储器控制方法,其用于可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个管理单元。所述存储器控制方法包括:在所述可复写式非易失性存储器模块中维护第一管理信息,其用以识别所述多个管理单元中的第一管理单元;在数据整并操作中,在不从所述可复写式非易失性存储器模块读取第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集第一有效数据,其中所述第一映射信息包括与所述第一有效数据有关的逻辑至实体映射信息;以及将所收集的所述第一有效数据存储至回收单元。
在本发明的一范例实施例中,在不从所述可复写式非易失性存储器模块读取所述第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集所述第一有效数据的步骤包括:从所述第一管理单元读取第二管理信息,其中所述第二管理信息用以识别所述第一管理单元中存储所述第一有效数据的至少一第一实体单元;以及根据所述第二管理信息从所述至少一第一实体单元收集所述第一有效数据。
在本发明的一范例实施例中,所述的存储器控制方法还包括:响应于所述第一有效数据的收集,更新第三管理信息,其中所述第三管理信息包括用以读取与所述第一有效数据有关的所述逻辑至实体映射信息的索引信息。
在本发明的一范例实施例中,所述的存储器控制方法还包括:根据经更新的所述第三管理信息从所述可复写式非易失性存储器模块读取第二映射信息,其中所述第二映射信息包括与第二有效数据有关的逻辑至实体映射信息;根据所述第二映射信息从所述第一管理单元中的至少一第二实体单元收集所述第二有效数据;以及将所收集的所述第二有效数据存储至所述回收单元。
在本发明的一范例实施例中,在所述可复写式非易失性存储器模块中维护所述第一管理信息的步骤包括:响应于第一条件的满足,在所述第一管理信息中加入对应于所述第一管理单元的识别信息,其中所述第一条件包括以下多个条件的至少其中之一:所述第一管理单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部份数据;以及所述第一有效数据所属的逻辑范围不同于所述第一管理单元中的其余有效数据所属的逻辑范围。
在本发明的一范例实施例中,在所述可复写式非易失性存储器模块中维护所述第一管理信息的步骤还包括:响应于所述第一条件的不满足,从所述第一管理信息中移除对应于所述第一管理单元的所述识别信息。
本发明的范例实施例另提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机***。所述可复写式非易失性存储器模块包括多个管理单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块,其中所述存储器控制电路单元用以在所述可复写式非易失性存储器模块中维护第一管理信息,且所述第一管理信息用以识别所述多个管理单元中的第一管理单元,所述存储器控制电路单元还用以在数据整并操作中,在不从所述可复写式非易失性存储器模块读取第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集第一有效数据,其中所述第一映射信息包括与所述第一有效数据有关的逻辑至实体映射信息,并且所述存储器控制电路单元还用以发送写入指令序列以指示将所收集的所述第一有效数据存储至回收单元。
在本发明的一范例实施例中,所述存储器控制电路单元在不从所述可复写式非易失性存储器模块读取所述第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集所述第一有效数据的操作包括:指示从所述第一管理单元读取第二管理信息,其中所述第二管理信息用以识别所述第一管理单元中存储所述第一有效数据的至少一第一实体单元;以及根据所述第二管理信息从所述至少一第一实体单元收集所述第一有效数据。
在本发明的一范例实施例中,所述存储器控制电路单元还用以响应于所述第一有效数据的收集,更新第三管理信息,其中所述第三管理信息包括用以读取与所述第一有效数据有关的所述逻辑至实体映射信息的索引信息。
在本发明的一范例实施例中,所述存储器控制电路单元还用以根据经更新的所述第三管理信息从所述可复写式非易失性存储器模块读取第二映射信息,其中所述第二映射信息包括与第二有效数据有关的逻辑至实体映射信息;根据所述第二映射信息从所述第一管理单元中的至少一第二实体单元收集所述第二有效数据;以及指示将所收集的所述第二有效数据存储至所述回收单元。
在本发明的一范例实施例中,所述存储器控制电路单元在所述可复写式非易失性存储器模块中维护所述第一管理信息的操作包括:响应于第一条件的满足,在所述第一管理信息中加入对应于所述第一管理单元的识别信息,其中所述第一条件包括以下多个条件的至少其中之一:所述第一管理单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部份数据;以及所述第一有效数据所属的逻辑范围不同于所述第一管理单元中的其余有效数据所属的逻辑范围。
在本发明的一范例实施例中,所述存储器控制电路单元在所述可复写式非易失性存储器模块中维护所述第一管理信息的操作还包括:响应于所述第一条件的不满足,从所述第一管理信息中移除对应于所述第一管理单元的所述识别信息。
本发明的范例实施例另提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个管理单元,其中所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。所述主机接口用以连接至主机***。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口与所述存储器接口,其中所述存储器管理电路用以在所述可复写式非易失性存储器模块中维护第一管理信息,且所述第一管理信息用以识别所述多个管理单元中的第一管理单元,所述存储器管理电路还用以在数据整并操作中,在不从所述可复写式非易失性存储器模块读取第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集第一有效数据,其中所述第一映射信息包括与所述第一有效数据有关的逻辑至实体映射信息,并且所述存储器管理电路还用以发送写入指令序列以指示将所收集的所述第一有效数据存储至回收单元。
在本发明的一范例实施例中,所述存储器管理电路在不从所述可复写式非易失性存储器模块读取所述第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集所述第一有效数据的操作包括:指示从所述第一管理单元读取第二管理信息,其中所述第二管理信息用以识别所述第一管理单元中存储所述第一有效数据的至少一第一实体单元;以及根据所述第二管理信息从所述至少一第一实体单元收集所述第一有效数据。
在本发明的一范例实施例中,所述至少一第一实体单元中的每一实体单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部分数据。
在本发明的一范例实施例中,所述存储器管理电路还用以响应于所述第一有效数据的收集,更新第三管理信息,其中所述第三管理信息包括用以读取与所述第一有效数据有关的所述逻辑至实体映射信息的索引信息。
在本发明的一范例实施例中,所述存储器管理电路还用以根据经更新的所述第三管理信息从所述可复写式非易失性存储器模块读取第二映射信息,其中所述第二映射信息包括与第二有效数据有关的逻辑至实体映射信息;根据所述第二映射信息从所述第一管理单元中的至少一第二实体单元收集所述第二有效数据;以及指示将所收集的所述第二有效数据存储至所述回收单元。
在本发明的一范例实施例中,所述存储器管理电路在所述可复写式非易失性存储器模块中维护所述第一管理信息的操作包括:响应于第一条件的满足,在所述第一管理信息中加入对应于所述第一管理单元的识别信息,其中所述第一条件包括以下多个条件的至少其中之一:所述第一管理单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部份数据;以及所述第一有效数据所属的逻辑范围不同于所述第一管理单元中的其余有效数据所属的逻辑范围。
在本发明的一范例实施例中,所述存储器管理电路在所述可复写式非易失性存储器模块中维护所述第一管理信息的操作还包括:响应于所述第一条件的不满足,从所述第一管理信息中移除对应于所述第一管理单元的所述识别信息。
基于上述,用以识别从多个管理单元中识别第一管理单元的第一管理信息可被维护于可复写式非易失性存储器模块中。在数据整并操作中,在不从可复写式非易失性存储器模块读取第一映射信息的前提下,第一有效数据可根据所述第一管理信息而从所述第一管理单元收集并且被存储至回收单元。第一映射信息包括与第一有效数据有关的逻辑至实体映射信息。藉此,可有效缩短执行数据整并程序的时间和/或提高数据整并程序的执行效率,进而增加存储器存储装置的***效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机***、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机***、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机***与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的主机写入操作与数据整并操作的示意图;
图8是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图9是根据本发明的一范例实施例所示出的管理单元的示意图;
图10是根据本发明的一范例实施例所示出的第一管理信息的示意图;
图11是根据本发明的一范例实施例所示出的第一管理单元的示意图;
图12是根据本发明的一范例实施例所示出的第二管理信息的示意图;
图13是根据本发明的一范例实施例所示出的第三管理信息的示意图;
图14是根据本发明的一范例实施例所示出的数据整并操作的示意图;
图15是根据本发明的一范例实施例所示出的数据整并操作的示意图;
图16是根据本发明的一范例实施例所示出的存储器控制方法的流程图;
图17是根据本发明的一范例实施例所示出的存储器控制方法的流程图。
附图标记说明
10、30:存储器存储装置
11、31:主机***
110:***总线
111:处理器
112:随机存取存储器
113:只读存储器
114:数据传输接口
12:输入/输出(I/O)装置
20:主机板
201:U盘
202:存储卡
203:固态硬盘
204:无线存储器存储装置
205:全球定位***模块
206:网络接口卡
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多芯片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
502:存储器管理电路
504:主机接口
506:存储器接口
508:错误检查与校正电路
510:缓冲存储器
512:电源管理电路
601:存储区
602:闲置区
603:***区
610(0)~610(C)、P1~P42:实体节点
612(0)~612(D):逻辑单元
701、702:数据
710:主机单元
720:来源单元
730:回收单元
80(1)~80(m):通道
81(1)~81(n):管理单元
CE(1)、CE(2):芯片致能
PL(1)、PL(2):平面
1001、1201、1301:表格信息
PU(1)~PU(16):实体单元
1501:逻辑至实体映射表
S1601:步骤(在可复写式非易失性存储器模块中维护第一管理信息,其用以识别多个管理单元中的第一管理单元)
S1602:步骤(在数据整并操作中,在不从可复写式非易失性存储器模块读取第一映射信息的前提下,根据第一管理信息从所述第一管理单元收集第一有效数据,其中第一映射信息包括与第一有效数据有关的逻辑至实体映射信息)
S1603:步骤(将所收集的第一有效数据存储至回收单元)
S1701:步骤(启动数据整并操作)
S1702:步骤(根据第一管理信息选择第一管理单元)
S1703:步骤(从第一管理单元取第二管理信息,其用以识别第一管理单元中存储第一有效数据的至少一实体单元)
S1704:步骤(根据第二管理信息从所述至少一实体单元收集第一有效数据并将第一有效数据存储至回收单元)
S1705:步骤(从可复写式非易失性存储器模块读取第二映射信息)
S1706:步骤(根据第二映射信息从第一管理单元收集第二有效数据并将第二有效数据存储至回收单元)
S1707:步骤(抹除第一管理单元)
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储***)包括可复写式非易失性存储器模块(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,TLC)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可执行数据整并操作。在一范例实施例中,数据整并操作亦称为垃圾收集操作。
在数据整并操作中,存储器管理电路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~42等,芯片致能CE(2)中的平面PL(1)可包括实体节点P15~P21等,且芯片致能CE(2)中的平面PL(2)可包括实体节点P22~P28等。实体节点P1~P28可被平行(或交错)地存取,以提高存取效率。
在一范例实施例中,一个平面中的多个连续的实体节点(例如实体节点P1~P7)可称为一个实体单元。或者,在一范例实施例中,一个芯片致能中的多个连续的实体节点(例如实体节点P1~P14)可称为一个实体单元。或者,在一范例实施例中,多个平面中的多个连续的实体节点(例如实体节点P1~P28)可称为一个实体单元。
在一范例实施例中,在启动数据整并操作后,存储器管理电路502可从可复写式非易失性存储器模块406读取至少一部份的逻辑至实体映射表并根据此逻辑至实体映射表来分析至少一部份的管理单元所存储的有效数据的数据量和/或有效数据的存储位置。然后,存储器管理电路502可根据分析结果选择至少一个管理单元作为来源单元并从中收集有效数据。然而,逻辑至实体映射表的读取与分析皆需要时间。若某一管理单元所存储的有效数据所属的逻辑单元很分散(即此些逻辑单元的映射信息分散地记载于多个逻辑至实体映射表),则往往需要更多时间来读取多个逻辑至实体映射表以获得所需的映射信息,从而降低数据整并操作的执行效率。
在一范例实施例中,存储器管理电路502可在可复写式非易失性存储器模块406中维护特定管理信息(亦称为第一管理信息)。例如,第一管理信息可存储于图6的***区603。第一管理信息可用以识别可复写式非易失性存储器模块406中的特定管理单元(亦称为第一管理单元)。在数据整并操作中,存储器管理电路502可在不从可复写式非易失性存储器模块406读取特定映射信息(亦称为第一映射信息)的前提下,自动根据第一管理信息从多个管理单元中选择第一管理单元作为来源单元并且从第一管理单元收集有效数据(亦称为第一有效数据)。须注意的是,所述第一映射信息包括与所述第一有效数据有关的逻辑至实体映射信息。例如,第一映射信息可反映第一有效数据所属的至少一个逻辑单元与第一管理单元中的至少一个实体节点之间的映射关系。例如,第一映射信息可记录于至少一个逻辑至实体映射表并存储于图6的***区603。然后,存储器管理电路502可指示将所收集的第一有效数据存储至回收单元。
换言之,在一范例实施例中,存储器管理电路502可不读取且不分析与第一有效数据有关的映射信息即可选择第一管理单元作为来源单元并且从第一管理单元收集第一有效数据,从而有效提高数据整并操作的执行效率。例如,存储器管理电路502可省去读取与分析第一映射信息的时间,以快速地从第一管理单元收集第一有效数据。
图10是根据本发明的一范例实施例所示出的第一管理信息的示意图。请参照图10,在一范例实施例中,第一管理信息包括表格信息1001。表格信息1001可存储于图6的***区603。表格信息1001可包括分别对应于管理单元81(1)~81(n)的识别信息。在本范例实施例中,假设对应于管理单元81(1)与81(n)的识别信息为比特“1”,且对应于管理单元81(2)的识别信息为比特“0”。在数据整并操作中,存储器管理电路502可根据表格信息1001选择对应于识别信息为比特“1”的管理单元81(1)(与管理单元81(n))作为来源单元(即第一管理单元)。须注意的是,在图10的一范例实施例中,选择管理单元81(1)作为来源单元的操作可不考虑与管理单元81(1)所存储的有效数据有关的映射信息。
在一范例实施例中,存储器管理电路502也可在第一管理单元中维护特定管理信息(亦称为第二管理信息)。第二管理信息可用以识别第一管理单元中存储第一有效数据的至少一实体单元(亦称为第一实体单元)。例如,第二管理信息可存储于第一管理单元中的特定实体单元。例如,此特定实体单元可以是第一管理单元中的最后一个实体单元。
在一范例实施例中,在选择第一管理单元作为来源单元后,存储器管理电路502可从第一管理单元中读取第二管理信息。存储器管理电路502可根据第二管理信息识别第一管理单元中的第一实体单元并从所识别的第一实体单元收集第一有效数据。在一范例实施例中,每一个第一实体单元可包含多个连续的实体节点,且此些连续的实体节点用以存储第一有效数据的至少一部分数据。须注意的是,在一范例实施例中,第一管理单元中存储其余有效数据(亦称为第二有效数据)的至少一个实体单元(亦称为第二实体单元)可能无法通过第二管理信息进行识别。
图11是根据本发明的一范例实施例所示出的第一管理单元的示意图。图12是根据本发明的一范例实施例所示出的第二管理信息的示意图。
请参照图11与图12,假设管理单元81(1)被选择作为来源单元(即第一管理单元)且管理单元81(1)包括多个实体单元PU(1)~PU(8)。实体单元PU(1)~PU(8)中的每一个实体单元包含K个连续的实体节点。例如,K可为14,如图9所示。然而,在另一范例实施例中,K的数值还可以是更大或更小,本发明不加以限制。此外,在另一范例实施例中,管理单元81(1)还可以包含更多或更少的实体单元,本发明不加以限制。
在本范例实施例中,是假设实体单元PU(1)、PU(4)、PU(5)及PU(8)为第一实体单元,且实体单元PU(2)与PU(7)为第二实体单元。实体单元PU(3)与PU(6)未存储有效数据。第二管理信息可包括表格信息1201。表格信息1201可存储于管理单元81(1)中。例如,表格信息1201可存储于管理单元81(1)中的最后一个实体单元(例如实体单元PU(8))。表格信息1201可用以识别实体单元PU(1)、PU(4)、PU(5)及PU(8)。例如,在表格信息1201中,对应于实体单元PU(1)、PU(4)、PU(5)及PU(8)的识别信息可为比特“1”,以反映实体单元PU(1)、PU(4)、PU(5)及PU(8)为第一实体单元。反之,在表格信息1201中,对应于实体单元PU(2)、PU(3)、PU(6)及PU(7)的识别信息可为比特“0”,以反映实体单元PU(2)、PU(3)、PU(6)及PU(7)不为第一实体单元。藉此,在选定管理单元81(1)作为来源单元后,根据表格信息1201,实体单元PU(1)、PU(4)、PU(5)及PU(8)可被识别为第一实体单元并从中收集第一有效数据。
在一范例实施例中,存储器管理电路502还可在可复写式非易失性存储器模块406中维护特定管理信息(亦称为第三管理信息)。第三管理信息可包括索引信息,其用以读取与第一管理单元所存储的有效数据有关的逻辑至实体映射信息。
图13是根据本发明的一范例实施例所示出的第三管理信息的示意图。请参照图11与图13,在本范例实施例中,是假设第三管理信息包括表格信息1301。此外,在本范例实施例中,是假设存储于实体单元PU(1)、PU(4)、PU(5)及PU(8)的有效数据(即第一有效数据)的映射信息分别记载于索引信息PTE(20)、PTE(30)、PTE(40)及PTE(50)所对应的逻辑至实体映射表。
根据表格信息1301,PTE索引(即索引信息)中的PTE(i)对应至编号为i的逻辑至实体映射表。索引信息PTE(1)、PTE(2)、PTE(20)、PTE(30)、PTE(40)及PTE(50)的识别信息为比特“1”,表示管理单元81(1)所存储的至少部分有效数据的映射信息分别是纪录于索引信息PTE(1)、PTE(2)、PTE(20)、PTE(30)、PTE(40)及PTE(50)所对应的逻辑至实体映射表。
图14是根据本发明的一范例实施例所示出的数据整并操作的示意图。请参照图14,在将实体单元PU(1)、PU(4)、PU(5)及PU(8)识别为第一实体单元后,第一有效数据可从实体单元PU(1)、PU(4)、PU(5)及PU(8)读出并且被依序写入至回收单元。须注意的是,在本范例实施例中,是假设管理单元81(2)是回收单元,且所收集的第一有效数据可被写入至管理单元81(2)中的实体单元PU(9)~PU(12)。
在一范例实施例中,响应于第一有效数据的收集(或被写入至回收单元),存储器管理电路502可更新第三管理信息。以图14为例,在将第一有效数据写入至实体单元PU(9)~PU(12)后,表格信息1301中对应于索引信息PTE(20)、PTE(30)、PTE(40)及PTE(50)的识别比特可被更新为比特“0”,以表示管理单元81(1)未存储对应于索引信息PTE(20)、PTE(30)、PTE(40)及PTE(50)的有效数据。此外,存储器管理电路502可在索引信息PTE(20)、PTE(30)、PTE(40)及PTE(50)所对应的逻辑至实体映射表中更新第一有效数据的映射信息,以反映第一有效数据已被搬移至实体单元PU(9)~PU(12)进行存储。
在一范例实施例中,存储器管理电路502可根据经更新的第三管理信息从可复写式非易失性存储器模块406读取特定映射信息(亦称为第二映射信息)。第二映射信息可包括与第二有效数据有关的映射信息。第二有效数据是存储于第一管理单元中的至少一个第二实体单元。存储器管理电路502可根据第二映射信息从第二实体单元收集第二有效数据并将所收集的第二有效数据存储至回收单元。
图15是根据本发明的一范例实施例所示出的数据整并操作的示意图。请参照图15,在将第一有效数据存储至管理单元81(2)并更新表格信息1301后,存储器管理电路502可查询表格信息1301并根据表格信息1301的查询结果从可复写式非易失性存储器模块406读取逻辑至实体映射表1501。例如,在本范例实施例中,是假设经更新的表格信息1301中索引信息PTE(1)与PTE(2)所对应的识别信息为比特“1”,故所读取的逻辑至实体映射表1501可包括索引信息PTE(1)与PTE(2)所对应的逻辑至实体映射表所记载的信息。
存储器管理电路502可根据逻辑至实体映射表1501分析实体单元PU(2)、PU(3)、PU(6)及PU(7)所存储的数据是否为有效数据。在本范例实施例中,是假设实体单元PU(2)中同时存储有效数据与无效数据,实体单元PU(3)仅存储无效数据,实体单元PU(6)仅存储无效数据,且实体单元PU(7)中同时存储有效数据与无效数据。根据分析结果,存储器管理电路502可自动从实体单元PU(2)与PU(7)中读取有效数据(即第二有效数据)并将第二有效数据写入至作为回收单元的管理单元81(2)(例如实体单元PU(13))。在将第一有效数据与第二有效数据存储至管理单元81(2)后(即管理单元81(1)中的所有有效数据皆已被收集),存储器管理电路502可指示抹除管理单元81(1)。
在图11至图15的范例实施例中,第一有效数据的收集(如图14所示)并不涉及逻辑至实体映射表的读取与分析,仅少部分的第二有效数据的收集(如图15所示)需要经过逻辑至实体映射表的读取与分析。因此,相较于传统上整个管理单元(或实体区块)所存储的数据都需要通过相应的逻辑至实体映射表来进行分析,在本发明的范例实施例中,有效数据可以更加快速地在数据整并操作中被收集,进而提高整体的数据整并操作的执行效率和/或存储器存储装置的***性能。
须注意的是,在一范例实施例中,响应于特定条件(亦称为第一条件)的满足,存储器管理电路502可在第一管理信息中加入对应于第一管理单元的识别信息。例如,第一条件可包括以下多个条件的至少其中之一。例如,第一管理单元须包含多个连续的实体节点,且此些连续的实体节点皆用以存储第一有效数据的至少一部份数据。换言之,第一管理单元须包含至少一个上述第一实体单元。此外,第一管理单元中的第一有效数据所属的逻辑范围必须不同于第一管理单元中的其余有效数据(即第二有效数据)所属的逻辑范围。换言之,第一有效数据与第二有效数据所属的逻辑范围必须不重叠(或者不具有相同的索引信息PTE(i))。藉此,根据第一管理信息所选取的第一管理单元才可具有最佳的数据整并效能。
以图11为例,管理单元81(1)中的实体单元PU(1)、PU(4)、PU(5)及PU(8)皆为第一实体单元,故管理单元81(1)可满足第一管理单元须包含至少一个第一实体单元的条件。另外,管理单元81(1)中的第一有效数据所属的逻辑范围是对应于索引信息PTE(20)、PTE(30)、PTE(40)及PTE(50)的逻辑范围且管理单元81(1)中的第二有效数据所属的逻辑范围则是对应于索引信息PTE(1)与PTE(2)的逻辑范围,故管理单元81(1)也可满足第一有效数据与第二有效数据所属的逻辑范围必须不重叠的条件。响应于管理单元81(1)满足第一条件的至少其中之一,存储器管理电路502可在表格信息1001中将对应于管理单元81(1)的识别信息标记为比特“1”。藉此,根据第一管理信息与第二管理信息(及第三管理信息)对管理单元81(1)执行的数据整并操作才可以获得最佳的执行效能。
在一范例实施例中,响应于前述第一条件的不满足,存储器管理电路502可从第一管理信息中移除对应于第一管理单元的识别信息。例如,在图10与图11的一范例实施例中,若基于主机***11的数据写入而导致实体单元PU(1)、PU(4)、PU(5)及PU(8)中皆存在至少一部份的无效数据,和/或管理单元81(1)中的第一有效数据所属的逻辑范围与第二有效数据所属的逻辑范围发生重叠,则存储器管理电路502可在表格信息1001中将对应于管理单元81(1)的识别信息更新为比特“0”。藉此,根据更新后的表格信息1001,下次执行的数据整并操作就不会将管理单元81(1)选择作为第一管理单元。
须注意的是,在图10至图15的范例实施例中,表格信息1001、1201及1301皆为范例而非用以限制本发明。在另一范例实施例中,表格信息1001、1201及1301还可具有其他数据格式或记载其他有用的信息。此外,在图10至图15的另一范例实施例中,若管理单元81(1)中的所有实体单元PU(1)~PU(8)皆为第一实体单元,则在从实体单元PU(1)~PU(8)收集第一有效数据后,管理单元81(1)即可被抹除,且图15中收集第二有效数据的操作可不执行。
图16是根据本发明的一范例实施例所示出的存储器控制方法的流程图。请参照图16,在步骤S1601中,在可复写式非易失性存储器模块中维护第一管理信息。第一管理信息用以识别多个管理单元中的第一管理单元。在步骤S1602中,在数据整并操作中,在不从可复写式非易失性存储器模块读取第一映射信息的前提下,根据第一管理信息从所述第一管理单元收集第一有效数据。第一映射信息包括与第一有效数据有关的逻辑至实体映射信息。在步骤S1603中,将所收集的第一有效数据存储至回收单元。
图17是根据本发明的一范例实施例所示出的存储器控制方法的流程图。请参照图17,在步骤S1701中,启动数据整并操作。在步骤S1702中,根据第一管理信息选择第一管理单元作为回收单元。在步骤S1703中,从第一管理单元取第二管理信息。第二管理信息用以识别第一管理单元中存储第一有效数据的至少一实体单元。在步骤S1704中,根据第二管理信息从所述至少一实体单元收集第一有效数据并将第一有效数据存储至回收单元。在步骤S1705中,从可复写式非易失性存储器模块读取第二映射信息。在步骤S1706中,根据第二映射信息从第一管理单元收集第二有效数据并将第二有效数据存储至回收单元。在步骤S1707中,抹除第一管理单元。
然而,图16与图17中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图16与图17中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图16与图17的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,存储器管理电路可以自动在可复写式非易失性存储器模块中维护第一管理信息,其用以识别从多个管理单元中识别第一管理单元。在数据整并操作中,在不从可复写式非易失性存储器模块读取第一映射信息的前提下,存储器管理电路可以自动根据第一管理信息而从第一管理单元收集第一有效数据并将第一有效数据存储至回收单元。此外,通过判断某一管理单元是否符合第一条件(例如是否包含第一实体单元和/或第一实体单元中的有效数据与其余有效数据是否使用相同的逻辑范围),存储器管理电路可自动更新第一管理信息,以符合当前存储器存储装置的使用状况。藉此,可有效缩短执行数据整并程序的时间和/或提高数据整并程序的执行效率,进而增加存储器存储装置的整体***效能。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。

Claims (21)

1.一种存储器控制方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个管理单元,所述存储器控制方法包括:
在所述可复写式非易失性存储器模块中维护第一管理信息,其中所述第一管理信息用以识别所述多个管理单元中的第一管理单元;
在数据整并操作中,在不从所述可复写式非易失性存储器模块读取第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集第一有效数据,其中所述第一映射信息包括与所述第一有效数据有关的逻辑至实体映射信息;以及
将所收集的所述第一有效数据存储至回收单元。
2.根据权利要求1所述的存储器控制方法,其中在不从所述可复写式非易失性存储器模块读取所述第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集所述第一有效数据的步骤包括:
从所述第一管理单元读取第二管理信息,其中所述第二管理信息用以识别所述第一管理单元中存储所述第一有效数据的至少一第一实体单元;以及
根据所述第二管理信息从所述至少一第一实体单元收集所述第一有效数据。
3.根据权利要求2所述的存储器控制方法,其中所述至少一第一实体单元中的每一实体单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部分数据。
4.根据权利要求1所述的存储器控制方法,还包括:
响应于所述第一有效数据的收集,更新第三管理信息,其中所述第三管理信息包括用以读取与所述第一有效数据有关的所述逻辑至实体映射信息的索引信息。
5.根据权利要求4所述的存储器控制方法,还包括:
根据经更新的所述第三管理信息从所述可复写式非易失性存储器模块读取第二映射信息,其中所述第二映射信息包括与第二有效数据有关的逻辑至实体映射信息;
根据所述第二映射信息从所述第一管理单元中的至少一第二实体单元收集所述第二有效数据;以及
将所收集的所述第二有效数据存储至所述回收单元。
6.根据权利要求1所述的存储器控制方法,其中在所述可复写式非易失性存储器模块中维护所述第一管理信息的步骤包括:
响应于第一条件的满足,在所述第一管理信息中加入对应于所述第一管理单元的识别信息,
其中所述第一条件包括以下多个条件的至少其中之一:
所述第一管理单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部份数据;以及
所述第一有效数据所属的逻辑范围不同于所述第一管理单元中的其余有效数据所属的逻辑范围。
7.根据权利要求6所述的存储器控制方法,其中在所述可复写式非易失性存储器模块中维护所述第一管理信息的步骤还包括:
响应于所述第一条件的不满足,从所述第一管理信息中移除对应于所述第一管理单元的所述识别信息。
8.一种存储器存储装置,包括:
连接接口单元,用以连接至主机***;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个管理单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以在所述可复写式非易失性存储器模块中维护第一管理信息,且所述第一管理信息用以识别所述多个管理单元中的第一管理单元,
所述存储器控制电路单元还用以在数据整并操作中,在不从所述可复写式非易失性存储器模块读取第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集第一有效数据,其中所述第一映射信息包括与所述第一有效数据有关的逻辑至实体映射信息,并且
所述存储器控制电路单元还用以发送写入指令序列以指示将所收集的所述第一有效数据存储至回收单元。
9.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元在不从所述可复写式非易失性存储器模块读取所述第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集所述第一有效数据的操作包括:
指示从所述第一管理单元读取第二管理信息,其中所述第二管理信息用以识别所述第一管理单元中存储所述第一有效数据的至少一第一实体单元;以及
根据所述第二管理信息从所述至少一第一实体单元收集所述第一有效数据。
10.根据权利要求9所述的存储器存储装置,其中所述至少一第一实体单元中的每一实体单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部分数据。
11.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元还用以响应于所述第一有效数据的收集,更新第三管理信息,其中所述第三管理信息包括用以读取与所述第一有效数据有关的所述逻辑至实体映射信息的索引信息。
12.根据权利要求11所述的存储器存储装置,其中所述存储器控制电路单元还用以根据经更新的所述第三管理信息从所述可复写式非易失性存储器模块读取第二映射信息,其中所述第二映射信息包括与第二有效数据有关的逻辑至实体映射信息;
根据所述第二映射信息从所述第一管理单元中的至少一第二实体单元收集所述第二有效数据;以及
指示将所收集的所述第二有效数据存储至所述回收单元。
13.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元在所述可复写式非易失性存储器模块中维护所述第一管理信息的操作包括:
响应于第一条件的满足,在所述第一管理信息中加入对应于所述第一管理单元的识别信息,
其中所述第一条件包括以下多个条件的至少其中之一:
所述第一管理单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部份数据;以及
所述第一有效数据所属的逻辑范围不同于所述第一管理单元中的其余有效数据所属的逻辑范围。
14.根据权利要求13所述的存储器存储装置,其中所述存储器控制电路单元在所述可复写式非易失性存储器模块中维护所述第一管理信息的操作还包括:
响应于所述第一条件的不满足,从所述第一管理信息中移除对应于所述第一管理单元的所述识别信息。
15.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个管理单元,其中所述存储器控制电路单元包括:
主机接口,用以连接至主机***;
存储器接口,用以连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以在所述可复写式非易失性存储器模块中维护第一管理信息,且所述第一管理信息用以识别所述多个管理单元中的第一管理单元,
所述存储器管理电路还用以在数据整并操作中,在不从所述可复写式非易失性存储器模块读取第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集第一有效数据,其中所述第一映射信息包括与所述第一有效数据有关的逻辑至实体映射信息,并且
所述存储器管理电路还用以发送写入指令序列以指示将所收集的所述第一有效数据存储至回收单元。
16.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路在不从所述可复写式非易失性存储器模块读取所述第一映射信息的前提下,根据所述第一管理信息从所述第一管理单元收集所述第一有效数据的操作包括:
指示从所述第一管理单元读取第二管理信息,其中所述第二管理信息用以识别所述第一管理单元中存储所述第一有效数据的至少一第一实体单元;以及
根据所述第二管理信息从所述至少一第一实体单元收集所述第一有效数据。
17.根据权利要求16所述的存储器控制电路单元,其中所述至少一第一实体单元中的每一实体单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部分数据。
18.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路还用以响应于所述第一有效数据的收集,更新第三管理信息,其中所述第三管理信息包括用以读取与所述第一有效数据有关的所述逻辑至实体映射信息的索引信息。
19.根据权利要求18所述的存储器控制电路单元,其中所述存储器管理电路还用以根据经更新的所述第三管理信息从所述可复写式非易失性存储器模块读取第二映射信息,其中所述第二映射信息包括与第二有效数据有关的逻辑至实体映射信息;
根据所述第二映射信息从所述第一管理单元中的至少一第二实体单元收集所述第二有效数据;以及
指示将所收集的所述第二有效数据存储至所述回收单元。
20.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路在所述可复写式非易失性存储器模块中维护所述第一管理信息的操作包括:
响应于第一条件的满足,在所述第一管理信息中加入对应于所述第一管理单元的识别信息,
其中所述第一条件包括以下多个条件的至少其中之一:
所述第一管理单元包含多个连续的实体节点,且所述多个连续的实体节点用以存储所述第一有效数据的至少一部份数据;以及
所述第一有效数据所属的逻辑范围不同于所述第一管理单元中的其余有效数据所属的逻辑范围。
21.根据权利要求20所述的存储器控制电路单元,其中所述存储器管理电路在所述可复写式非易失性存储器模块中维护所述第一管理信息的操作还包括:
响应于所述第一条件的不满足,从所述第一管理信息中移除对应于所述第一管理单元的所述识别信息。
CN201910256261.2A 2019-04-01 2019-04-01 存储器控制方法、存储器存储装置及存储器控制电路单元 Active CN111767005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910256261.2A CN111767005B (zh) 2019-04-01 2019-04-01 存储器控制方法、存储器存储装置及存储器控制电路单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910256261.2A CN111767005B (zh) 2019-04-01 2019-04-01 存储器控制方法、存储器存储装置及存储器控制电路单元

Publications (2)

Publication Number Publication Date
CN111767005A true CN111767005A (zh) 2020-10-13
CN111767005B CN111767005B (zh) 2023-12-08

Family

ID=72718129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910256261.2A Active CN111767005B (zh) 2019-04-01 2019-04-01 存储器控制方法、存储器存储装置及存储器控制电路单元

Country Status (1)

Country Link
CN (1) CN111767005B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925481A (zh) * 2021-03-09 2021-06-08 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
CN113419683A (zh) * 2021-07-01 2021-09-21 群联电子股份有限公司 存储器存取方法、存储器存储装置及存储器控制电路单元

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013030A1 (en) * 2012-07-03 2014-01-09 Phison Electronics Corp. Memory storage device, memory controller thereof, and method for writing data thereof
CN103942114A (zh) * 2013-01-22 2014-07-23 Lsi公司 Nvm地址、跨度及长度映射/转换的存储地址空间
CN104679437A (zh) * 2013-11-27 2015-06-03 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN106445401A (zh) * 2015-08-11 2017-02-22 群联电子股份有限公司 表格更新方法、存储器储存装置及存储器控制电路单元
CN107590080A (zh) * 2016-07-07 2018-01-16 合肥兆芯电子有限公司 映射表更新方法、存储器控制电路单元及存储器存储装置
US20180173420A1 (en) * 2016-12-21 2018-06-21 Intel Corporation Apparatus, system and method for increasing the capacity of a storage device available to store user data
CN109388332A (zh) * 2017-08-04 2019-02-26 群联电子股份有限公司 数据存储方法、存储器控制电路单元及存储器存储装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013030A1 (en) * 2012-07-03 2014-01-09 Phison Electronics Corp. Memory storage device, memory controller thereof, and method for writing data thereof
CN103942114A (zh) * 2013-01-22 2014-07-23 Lsi公司 Nvm地址、跨度及长度映射/转换的存储地址空间
CN104679437A (zh) * 2013-11-27 2015-06-03 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN106445401A (zh) * 2015-08-11 2017-02-22 群联电子股份有限公司 表格更新方法、存储器储存装置及存储器控制电路单元
CN107590080A (zh) * 2016-07-07 2018-01-16 合肥兆芯电子有限公司 映射表更新方法、存储器控制电路单元及存储器存储装置
US20180173420A1 (en) * 2016-12-21 2018-06-21 Intel Corporation Apparatus, system and method for increasing the capacity of a storage device available to store user data
CN109388332A (zh) * 2017-08-04 2019-02-26 群联电子股份有限公司 数据存储方法、存储器控制电路单元及存储器存储装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925481A (zh) * 2021-03-09 2021-06-08 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
CN112925481B (zh) * 2021-03-09 2024-04-05 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
CN113419683A (zh) * 2021-07-01 2021-09-21 群联电子股份有限公司 存储器存取方法、存储器存储装置及存储器控制电路单元
CN113419683B (zh) * 2021-07-01 2023-07-04 群联电子股份有限公司 存储器存取方法、存储器存储装置及存储器控制电路单元

Also Published As

Publication number Publication date
CN111767005B (zh) 2023-12-08

Similar Documents

Publication Publication Date Title
CN110879793B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
TWI701552B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TW202038098A (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
TWI702496B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN111737165B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN112051971B (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
US11755242B2 (en) Data merging method, memory storage device for updating copied L2P mapping table according to the physical address of physical unit
CN109273033B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN111767005B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
TW202234227A (zh) 有效資料合併方法、記憶體儲存裝置及記憶體控制電路單元
CN110308876B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
TW202109536A (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN112988076A (zh) 快闪存储器控制方法、存储装置及控制器
CN112394883A (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
CN111610937A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
CN112445418B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN112015327B (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
CN112799601B (zh) 有效数据合并方法、存储器存储装置及控制电路单元
TWI741779B (zh) 資料整併方法、記憶體儲存裝置及記憶體控制電路單元
CN114203239B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN111813325B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN111143230B (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
TWI724427B (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