CN110390985A - 存储器管理方法、存储器存储装置及存储器控制电路单元 - Google Patents
存储器管理方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN110390985A CN110390985A CN201810358395.0A CN201810358395A CN110390985A CN 110390985 A CN110390985 A CN 110390985A CN 201810358395 A CN201810358395 A CN 201810358395A CN 110390985 A CN110390985 A CN 110390985A
- Authority
- CN
- China
- Prior art keywords
- data
- physical
- memory
- count value
- unit
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 107
- 230000005055 memory storage Effects 0.000 title claims abstract description 66
- 239000006185 dispersion Substances 0.000 claims abstract description 74
- 230000010354 integration Effects 0.000 claims description 50
- 238000013500 data storage Methods 0.000 claims description 38
- 238000013507 mapping Methods 0.000 claims description 32
- 238000007596 consolidation process Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 abstract description 5
- 238000011156 evaluation Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 12
- 238000012937 correction Methods 0.000 description 10
- 238000011084 recovery Methods 0.000 description 7
- 238000004064 recycling Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004146 energy storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
Landscapes
- 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是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
附图标记说明
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)、710(0)、721(0)~721(E)、731(0)~731(F)、810(0)、810(1):物理单元;
612(0)~612(D):逻辑单元;
701、702、801~804、811~818:数据;
720:来源节点;
730:回收节点;
821(0)、821(1):逻辑分布状态信息;
910:表格信息;
S1101:步骤(对应于来自主机系统的一个写入指令,对可复写式非易失性存储器模块的至少一个物理单元执行数据整并操作);
S1102:步骤(根据可复写式非易失性存储器模块中的第一类物理单元所存储的第一数据所对应的多个逻辑单元的离散度,调整执行所述数据整并操作的次数)。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块(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。在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCIExpress)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,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个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块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并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、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的电源。
图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)尚未用来存储数据(例如有效数据)。存储区601中的物理单元610(B+1)~610(C)用以存储系统数据,例如逻辑至物理映射表、坏块管理表、装置型号或其他类型的管理数据。
当欲存储数据时,存储器管理电路502会从闲置区602的物理单元610(A+1)~610(B)中选择一个物理单元并且将来自主机系统11或来自存储区601中至少一物理单元的数据存储至所选的物理单元中。同时,所选的物理单元会被关联至存储区601。此外,在抹除存储区601中的某一个物理单元后,所抹除的物理单元会被重新关联至闲置区602。
在本范例实施例中,属于存储区601的每一个物理单元也称为非闲置(non-spare)物理单元或第一类物理单元,而属于闲置区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的数据存取操作。
在本范例实施例中,有效数据是属于某一个逻辑单元的最新数据,而无效数据则不是属于任一个逻辑单元的最新数据。例如,若主机系统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)操作。
在数据整并操作中,存储器管理电路502可从存储区601中选择至少一个物理单元(也称为来源节点)并且尝试将有效数据从所选择的物理单元集中复制到另一物理单元(也称为回收节点)。用来存储所复制的有效数据的物理单元则是从闲置区602中选择并且会被关联至存储区601。若某一个物理单元所存储的有效数据皆已被复制至回收节点,则此物理单元可被抹除并且被关联至闲置区602。在一范例实施例中,将某一个物理单元从存储区601重新关联回闲置区602的操作(或抹除某一个物理单元的操作)也称为释放一个闲置物理单元。通过执行数据整并操作,一或多个闲置物理单元会被释放并且使得属于闲置区602的物理单元的总数逐渐增加。
在开始执行数据整并操作后,若属于闲置区602的物理单元符合一特定条件,数据整并操作会停止。例如,存储器管理电路502可判断属于闲置区602的物理单元的总数是否大于或等于一个门槛值(以下也称为第二门槛值)。例如,第二门槛值可以大于或等于第一门槛值。若属于闲置区602的物理单元的总数大于或等于第二门槛值,存储器管理电路502可停止数据整并操作。须注意的是,停止数据整并操作是指结束当前执行中的数据整并操作。在停止一个数据整并操作之后,若属于闲置区602的物理单元的总数再次小于或等于第一门槛值,则下一个数据整并操作可再次被执行,以尝试释放新的闲置物理单元。
图7是根据本发明的一范例实施例所示出的主机写入操作与数据整并操作的示意图。请参照图7,在主机写入操作中,主机系统11会发送至少一个写入指令以指示将数据701写入至某一个逻辑单元。根据此写入指令,数据701会被存储至映射至此逻辑单元的物理单元710(0)。例如,物理单元710(0)可以是从图6的闲置区602中选择。在一范例实施例中,当前用来存储来自主机系统11的数据701的物理单元710(0)也称为开启区块(open block)。须注意的是,在另一范例实施例中,一个开启区块也可以包含多个物理单元。
在执行主机写入操作之期间,至少一个数据整并操作可被执行。在数据整并操作中,数据702可被从属于来源节点720的物理单元721(0)~721(E)收集并且被写入至属于回收节点730的物理单元731(0)~731(F)。数据702为有效数据。属于来源节点720的物理单元721(0)~721(E)是从图6的存储区601中选择,而属于回收节点730的物理单元731(0)~731(F)是从图6的闲置区602中选择。在一范例实施例中,物理单元721(0)~721(E)是图6的存储区601中存储最少有效数据的E+1个物理单元。在一范例实施例中,物理单元721(0)~721(E)是根据其他规则从图6的存储区601中选择,本发明不加以限制。
在一范例实施例中,存储器管理电路502会获得可复写式非易失性存储器模块406中的第一类物理单元的逻辑分布状态信息。例如,存储器管理电路502可分析存储于第一类物理单元中的数据(也称为第一数据)所属的逻辑单元以获得第一类物理单元的逻辑分布状态信息。第一类物理单元的逻辑分布状态信息可反映存储于第一类物理单元中的第一数据所对应的多个逻辑单元的离散度。
在一范例实施例中,第一数据是指存储于第一类物理单元的至少一部份的有效数据。因此,第一数据所对应的逻辑单元的离散度可反映存储于第一类物理单元的至少一部份的有效数据所属的多个逻辑单元的分散程度(即离散度)。例如,若存储于第一类物理单元的有效数据所属的多个逻辑单元是较为分散的(例如有效数据大部分是对应到多个不连续的逻辑单元),则可判定第一数据所对应的逻辑单元的离散度较高。或者,若存储于第一类物理单元的有效数据所属的多个逻辑单元是较为集中的(例如有效数据大部分是对应到多个连续的逻辑单元),则可判定第一数据所对应的逻辑单元的离散度较低。
在一范例实施例中,根据第一数据所对应的逻辑单元的离散度,存储器管理电路502可获得与对于第一类物理单元执行的数据整并操作的操作效率相关的信息。例如,根据第一数据所对应的逻辑单元的离散度,存储器管理电路502可获得一评估值。此评估值可视为第一类物理单元的逻辑分布状态信息并且用以表示所述离散度。在一范例实施例中,此评估值可反映纪录有第一数据的存取信息的至少一表格的数目。例如,此评估值可正相关于所述表格的数目。例如,若纪录有第一数据的存取信息的至少一表格的数目越多,则此评估值可越大。或者,从另一角度来看,存储器管理电路502可根据纪录有第一数据的存取信息的至少一表格来获得此评估值。
在一范例实施例中,第一数据的存取信息包括第一数据的逻辑至物理映射信息。在一范例实施例中,存储于图6的系统区603的逻辑至物理映射表可分割为多个子表,而纪录有第一数据的存取信息的一个表格可以是指逻辑至物理映射表的一个子表。逻辑至物理映射表的每一个子表可记录某一个逻辑范围内的多个连续的逻辑单元的逻辑至物理映射信息。
在一范例实施例中,第一数据所对应的逻辑单元的离散度正相关于纪录有第一数据的逻辑至物理映射信息的至少一表格的数目。例如,若第一数据的逻辑至物理映射信息记载于逻辑至物理映射表的多个子表中,则第一数据所对应的逻辑单元的离散度可正相关于此些子表的总数。
在一范例实施例中,若第一类物理单元的逻辑分布状态信息反映第一数据所对应的逻辑单元的离散度较高(即第一数据所属的逻辑单元较为分散或不连续),则第一数据所属的逻辑单元的逻辑至物理映射信息可能分散地记录于多个子表中。因此,在对第一数据执行数据整并操作时,可能需要执行较多次的表格存取操作以将逻辑至物理映射表的子表载入至缓冲存储器(例如图5的缓冲存储器510)。载入至缓冲存储器的子表可用于查询第一数据的存取信息。在此状况下,由于需要执行较多次的表格存取操作,正常地对第一数据(或第一类物理单元)执行数据整并操作可能会导致数据整并操作的操作效率低落。
相反地,若第一类物理单元的逻辑分布状态信息反映第一数据所对应的逻辑单元的离散度较低(即第一数据所属的逻辑单元较为集中或连续),则第一数据所属的逻辑单元的逻辑至物理映射信息可能较为集中的记录于少数子表中。因此,在对第一数据执行数据整并操作时,可能仅需要执行少数几次的表格存取操作即可查询第一数据的存取信息,从而数据整并操作的操作效率往往较高。由此可知,在不考虑第一类物理单元的逻辑分布状态信息和/或数据整并操作中可能需要执行的表格存取操作的情况下,数据整并操作的操作效率以及存储器存储装置的数据写入稳定性不容易控制。
图8是根据本发明的一范例实施例所示出的物理单元与相应的逻辑分布状态信息的示意图。请参照图8,假设物理单元810(0)中存储有数据801~804,物理单元810(1)中存储有数据811~818,且数据801~804与811~818皆为有效数据。逻辑分布状态信息821(0)为物理单元810(0)的逻辑分布状态信息。逻辑分布状态信息821(1)为物理单元810(1)的逻辑分布状态信息。表格001~005与011~018中的每一者为逻辑至物理映射表的一个子表。
根据逻辑分布状态信息821(0),数据801、803及804所属的至少一逻辑单元的逻辑至物理映射信息分别是记载于表格001、004及005,且数据802所属的至少一逻辑单元的逻辑至物理映射信息是记载于表格002与003。根据逻辑分布状态信息821(0),在对于物理单元810(0)的数据整并操作中,5个表格(即表格001~005)会被载入至缓冲存储器以提供数据801~804的存取信息(例如逻辑至物理映射信息)。例如,在将数据801复制到某一个回收节点时,表格001会被载入至缓冲存储器以根据对应于数据801的逻辑至物理映射信息来获得当前存储有数据801的物理单元810(0)。换言之,逻辑分布状态信息821(0)中的表格总数5可用于获得对应于物理单元810(0)的评估值并且可用以表示完全地搬移或复制数据801~804需要读取至少5个表格001~005。
类似地,根据逻辑分布状态信息821(1),数据811~818所属的逻辑单元的逻辑至物理映射信息分别记载于表格011~018。根据逻辑分布状态信息821(1),在对于物理单元810(1)的数据整并操作中,至少N个表格(即表格011~018,且N大于或等于8)会被载入至缓冲存储器以至少提供数据811~818的存取信息(例如逻辑至物理映射信息)。换言之,逻辑分布状态信息821(1)中的表格总数N可用于获得对应于物理单元810(1)的评估值并且可用以表示完全地搬移或复制数据811~818需要读取至少8个表格011~018。
须注意的是,本发明并不限制逻辑分布状态信息的数据内容与格式。例如,在图8的另一范例实施例中,逻辑分布状态信息821(0)也可以仅记载数值5以提供对应于物理单元810(0)的评估值,和/或逻辑分布状态信息821(1)也可以仅记载数值N以提供对应于物理单元810(1)的评估值。在一范例实施例中,对应于物理单元810(0)的评估值(例如5)小于对应于物理单元810(1)的评估值(例如N),表示数据801~804所对应的逻辑单元的离散度低于数据811~818所对应的逻辑单元的离散度。
在一范例实施例中,对应于来自主机系统11的一个写入指令,存储器管理电路502会对图6的存储区601和/或闲置区602中的至少一个物理单元执行至少一数据整并操作。此外,根据第一数据所对应的逻辑单元的离散度,存储器管理电路502会调整执行所述数据整并操作的次数。
在一范例实施例中,对应于来自主机系统11的一个写入指令,存储器管理电路502会指示对图6的存储区601与闲置区602中的至少一个物理单元执行符合一个事件计数值(也称为第一事件计数值)的至少一存取事件。例如,假设第一事件计数值为M,则对应于来自主机系统11的一个写入指令,M个存取事件可根据第一事件计数值被执行。在完成某一写入指令后,若接收到来自主机系统11下一个写入指令,额外的M个存取事件可接续被执行。根据第一数据所对应的逻辑单元的离散度,参数M(即第一事件计数值)可被调整。
须注意的是,一个存取事件可以是在数据整并操作中执行的任意数据存取事件。例如,一个存取事件可为一个数据读取事件、一个数据写入事件、一个表格读取事件或其他类型的数据存取事件。数据读取事件用于从来源节点读取有效数据。数据写入事件用于将所收集的有效数据写入至回收节点。表格读取事件用于将逻辑至物理映射表的子表的至少部分信息载入至缓冲存储器。
在一范例实施例中,第一类物理单元的逻辑分布状态信息可反映多个物理单元的评估值的平均。也即,第一数据所对应的逻辑单元的离散度可为存储于多个第一类物理单元的第一数据所对的逻辑单元的平均离散度。以图8为例,若作为来源节点的第一类物理单元(即物理单元810(0)与810(1))的总数为2,则第一类物理单元的逻辑分布状态信息可包括评估值(5+N)/2。此外,所述平均值也可以是指加权平均或中位数等,本发明不加以限制。
在一范例实施例中,第一事件计数值正相关于第一数据所对应的逻辑单元的离散度。以图8为例,若评估值(5+N)/2越大,则所获得的第一事件计数值M可能越大。在一范例实施例中,第一类物理单元的逻辑分布状态信息(例如评估值)可被输入至一算法或一查找表。根据此算法或查找表的输出,第一事件计数值可被获得。
在一范例实施例中,存储器管理电路502还可根据第一数据所对应的逻辑单元的离散度获得另一个事件计数值(也称为第二事件计数值)。第二事件计数值可反应在对于作为来源节点的至少一第一类物理单元进行的数据整并操作中,概略需要执行P个存取事件以将所收集的有效数据填满作为回收节点的单一个第二类物理单元。在一范例实施例中,存储器管理电路502可将第一类物理单元的逻辑分布状态信息(例如评估值)输入至一算法或一查找表。根据此算法或查找表的输出,第二事件计数值可被获得。
图9是根据本发明的一范例实施例所示出的逻辑分布状态信息与相应的第二事件计数值的示意图。请参照图9,在一范例实施例中,在获得作为回收节点的第一类物理单元的逻辑分布状态信息(例如评估值)后,根据表格信息910,若此评估值大于2000且小于10000,则可获得相应的第二事件计数值为600;若此评估值大于500且小于2000,则可获得相应的第二事件计数值为400;若此评估值大于100且小于500,则可获得相应的第二事件计数值为200;若此评估值小于100,则可获得相应的第二事件计数值为100。以评估值大于100且小于500的情境为例,所获得的第二事件计数值200可表示在对于第一类物理单元进行的数据整并操作中,概略需要执行200个存取事件以将所收集的有效数据填满作为回收节点的单一个第二类物理单元。
在图9的范例实施例中,第二事件计数值正相关于第一数据所对应的逻辑单元的离散度。例如,若对应于第一类物理单元的所述评估值越大,则所获得的第二事件计数值也越大。
在一范例实施例中,存储器管理电路502可根据第二事件计数值获得第一事件计数值。例如,在一范例实施例中,第二事件计数值可被输入至一算法或一查找表。根据此算法或查找表的输出,第一事件计数值可被获得。
在一范例实施例中,存储器管理电路502还可获得第一类物理单元的有效数据存储信息。所述有效数据存储信息反映有效数据在第一类物理单元中的存储状态。例如,所述有效数据存储信息可反映作为来源节点的多个物理单元分别存储了多少数据量的有效数据,或作为来源节点的多个物理单元平均存储了多少数据量的有效数据。
在一范例实施例中,存储器管理电路502可根据第一数据所对应的逻辑单元的离散度与第一类物理单元的有效数据存储信息获得第一事件计数值。例如,存储器管理电路502可根据第二事件计数值与第一类物理单元的有效数据存储信息获得另一事件计数值(也称为第三事件计数值)。第三事件计数值可反应在对于作为来源节点的至少一第一类物理单元进行的数据整并操作中,概略需要执行Q个存取事件以释放一个额外的第二类物理单元(即闲置物理单元)。其中,Q的值约等于P的值乘上R的值。参数R代表在对于作为来源节点的至少一第一类物理单元进行的数据整并操作中,需要填满作为回收节点的R个物理单元以释放一个额外的第二类物理单元。
在一范例实施例中,存储器管理电路502可根据第一类物理单元的有效数据存储信息获得参数R。例如,假设有效数据在作为回收节点的3个第一类物理单元中分别占用了60%、70%及70%的存储空间,则在使用从这3个第一类物理单元收集的有效数据来填满2个第二类物理单元后,这3个第一类物理单元可被抹除并成为新的第二类物理单元。此外,被写满的2个第二类物理单元会成为新的第一类物理单元。因此,在写满这2个第二类物理单元后,第二类物理单元的总数会增加1(3-2=1)。在此范例实施例中,R的值为2,表示填满作为回收节点的2个第二类物理单元可以释放额外的一个第二类物理单元。
在一范例实施例中,存储器管理电路502可根据第三事件计数值获得第一事件计数值。例如,在一范例实施例中,第三事件计数值可被输入至一算法或一查找表。根据此算法或查找表的输出,第一事件计数值可被获得。
在一范例实施例中,存储器管理电路502还可获得可复写式非易失性存储器模块406中的第二类物理单元(即闲置物理单元)的数目。以图6为例,第二类物理单元的数目等同于闲置区602中的物理单元610(A+1)~610(B)的总数。存储器管理电路502可根据第一数据所对应的逻辑单元的离散度、第一类物理单元的有效数据存储信息及第二类物理单元的数目获得第一事件计数值。
在一范例实施例中,数据整并操作的操作模式包括动态模式(也称为第一操作模式)、通常模式(也称为第二操作模式)及紧急模式(也称为第三操作模式)中的至少两种操作模式。存储器管理电路502可根据第二类物理单元的数目动态地决定或调整数据整并操作的操作模式。
图10是根据本发明的一范例实施例所示出的第二类物理单元的数目与相应的数据整并操作的操作模式的示意图。请参照图10,在一范例实施例中,若当前第二类物理单元的数目介于0与数值Z之间,数据整并操作的操作模式可被设定为紧急模式。若当前第二类物理单元的数目介于数值Z与数值Y之间,数据整并操作的操作模式可被设定为通常模式。若当前第二类物理单元的数目介于数值Y与数值X之间,数据整并操作的操作模式可被设定为动态模式。若当前第二类物理单元的数目大于数值X,则可不执行数据整并操作。
在一范例实施例中,存储器管理电路502可根据第一数据所对应的逻辑单元的离散度、第一类物理单元的有效数据存储信息及当前数据整并操作的操作模式获得第一事件计数值。例如,根据当前数据整并操作的操作模式,存储器管理电路502可获得一比例信息。此比例信息用以控制开启区块与闲置物理单元的交换比。其中,开启区块与闲置物理单元的交换比反映在执行主机写入操作的期间,对应于填满K个开启区块,需要释放一个额外的第二类物理单元。
在一范例实施例中,若当前数据整并操作的操作模式为动态模式,则参数K可被决定为S,且此比例信息可反映开启区块与第二类物理单元的交换比为S比1(即对应于填满S个开启区块,需要释放一个额外的第二类物理单元)。此外,若当前数据整并操作的操作模式为通常模式,参数K可被决定为1。
在一范例实施例中,若当前数据整并操作的操作模式为动态模式,存储器管理电路502还可根据第一类物理单元的有效数据存储信息而动态地决定或调整参数S。例如,存储器管理电路502可判断根据第一类物理单元的有效数据存储信息而获得的参数R是否大于一预设值。若参数R大于此预设值,存储器管理电路502可将参数S设定为大于1的值,例如,2~4等。反之,若参数R不大于此预设值,存储器管理电路502可将参数S设定为1。
在一范例实施例中,存储器管理电路502可根据第一数据所对应的逻辑单元的离散度、第一类物理单元的有效数据存储信息及所述比例信息获得第一事件计数值。在一范例实施例中,第一事件计数值也可根据当前作为开启区块的物理单元的类型(即SLC NAND型、MLC NAND型或TLC NAND型)而获得或调整。在一范例实施例中,第一事件计数值也可根据来自主机系统11的单一个写入指令的写入数据量或多个写入指令的平均写入数据量而获得或调整。
以下以第一类物理单元的逻辑分布状态信息包括评估值400作为范例。根据评估值400,可例如查询图9的表格信息910而获得第二事件计数值为200。此第二事件计数值反映出在当前的第一类物理单元的逻辑分布状态下,约需要执行200个存取事件以将从第一类物理单元收集的有效数据填满作为回收节点的单一个第二类物理单元。根据第一类物理单元的有效数据存储信息,可获得参数R。其中参数R,例如为3,反映出在当前的第一类物理单元的有效数据存储状态下,需要填满作为回收节点的3个第二类物理单元才能释放额外的一个第二类物理单元。因此,第二事件计数值200可被乘上参数R,例如为3,以获得第三事件计数值600。
根据当前第二类物理单元的数目以及第一类物理单元的有效数据存储信息,参数K可被决定,例如为1,表示开启区块与第二类物理单元的交换比为1比1。也就是说,在执行主机写入操作的期间,对应于填满一个开启区块,需要释放一个额外的第二类物理单元。
假设作为开启区块的物理单元属于TLC NAND型快闪存储器,一个开启区块的容量约为72MB,且来自主机系统11的一个写入指令用以指示存储1MB的数据。因此,可获得来自主机系统11的72(72/1=72)个写入指令所指示存储的数据可以填满一个开启区块。然后,将第三事件计数值600除以72可获得第一事件计数值约为9(600/72=8.333)。
也就是说,在前述范例中,在同步执行主机写入操作以及数据整并操作的期间,对应于来自主机系统11的一个写入指令,可对应执行9个存取事件,从而达到开启区块与第二类物理单元的交换比为1比1以及提高存储器存储装置的数据写入稳定性的功效。
图11是根据本发明的一范例实施例所示出的存储器管理方法的流程图。请参照图11,在步骤S1101中,对应于来自主机系统的一个写入指令,对可复写式非易失性存储器模块的至少一个物理单元执行数据整并操作。在步骤S1102中,根据可复写式非易失性存储器模块中的第一类物理单元所存储的第一数据所对应的多个逻辑单元的离散度,调整执行所述数据整并操作的次数。
然而,图11中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图11中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图11的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,对应于来自主机系统的写入指令,可对可复写式非易失性存储器模块的至少一个物理单元执行数据整并操作。此外,根据可复写式非易失性存储器模块中的第一类物理单元所存储的第一数据所对应的逻辑单元的离散度,执行所述数据整并操作的次数可被调整。在一范例实施例中,在考虑了作为有效数据的来源节点的第一类物理单元的逻辑分布状态信息(即所述离散度)后,所获得的第一事件计数值可根据数据整并操作中较为耗时的操作(例如表格存取操作)的预计执行次数而调整,从而有效提高存储器存储装置的数据写入稳定性。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (21)
1.一种存储器管理方法,其特征在于,用于包括可复写式非易失性存储器模块的存储器存储装置,其中所述可复写式非易失性存储器模块包括多个物理单元,所述多个物理单元中的至少一第一类物理单元存有第一数据,且所述第一数据对应多个逻辑单元,所述存储器管理方法包括:
对应于来自主机系统的写入指令,对所述多个物理单元的至少其中一者执行至少一数据整并操作;以及
根据所述第一数据所对应的所述多个逻辑单元的离散度,调整执行所述至少一数据整并操作的次数。
2.根据权利要求1所述的存储器管理方法,其中所述多个逻辑单元的所述离散度正相关于记录有所述第一数据的逻辑至物理映射信息的至少一表格的数目。
3.根据权利要求1所述的存储器管理方法,其中对应于来自所述主机系统的所述写入指令对所述多个物理单元的所述至少其中一者执行所述至少一数据整并操作的步骤包括:
对应于来自所述主机系统的所述写入指令,对所述多个物理单元的所述至少一者执行至少一存取事件,
其中所述至少一存取事件包括数据读取事件、数据写入事件及表格读取事件的至少其中之一。
4.根据权利要求1所述的存储器管理方法,其中根据所述第一数据所对应的所述多个逻辑单元的所述离散度调整执行所述至少一数据整并操作的次数的步骤包括:
根据所述离散度获得第一事件计数值;以及
根据所述第一事件计数值调整对应于所述写入指令执行的所述至少一存取事件的数目。
5.根据权利要求4所述的存储器管理方法,其中根据所述离散度获得所述第一事件计数值的步骤包括:
根据所述离散度与所述至少一第一类物理单元的有效数据存储信息获得所述第一事件计数值,
其中所述有效数据存储信息反映有效数据在所述至少一第一类物理单元中的存储状态。
6.根据权利要求5所述的存储器管理方法,其中根据所述离散度与所述至少一第一类物理单元的所述有效数据存储信息获得所述第一事件计数值的步骤包括:
根据所述离散度、所述至少一第一类物理单元的所述有效数据存储信息及所述多个物理单元中的至少一第二类物理单元的数目获得所述第一事件计数值,
其中所述至少一第二类物理单元未存储所述有效数据。
7.根据权利要求4所述的存储器管理方法,其中根据所述离散度获得所述第一事件计数值的步骤包括:
根据所述离散度获得第二事件计数值,其中所述第二事件计数值对应于用于将所述多个物理单元中的第二类物理单元写满的至少一存取事件的数目;以及
根据所述第二事件计数值获得所述第一事件计数值。
8.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个物理单元,所述多个物理单元中的至少一第一类物理单元存有第一数据,且所述第一数据对应多个逻辑单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以对应于来自所述主机系统的写入指令,指示对所述多个物理单元的至少其中一者执行至少一数据整并操作,
其中所述存储器控制电路单元还用以根据所述第一数据所对应的所述多个逻辑单元的离散度,调整执行所述至少一数据整并操作的次数。
9.根据权利要求8所述的存储器存储装置,其中所述多个逻辑单元的所述离散度正相关于记录有所述第一数据的逻辑至物理映射信息的至少一表格的数目。
10.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元对应于来自所述主机系统的所述写入指令对所述多个物理单元的所述至少其中一者执行所述至少一数据整并操作的操作包括:
对应于来自所述主机系统的所述写入指令,指示对所述多个物理单元的所述至少一者执行至少一存取事件,
其中所述至少一存取事件包括数据读取事件、数据写入事件及表格读取事件的至少其中之一。
11.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元根据所述第一数据所对应的所述多个逻辑单元的所述离散度调整执行所述至少一数据整并操作的次数的操作包括:
根据所述离散度获得第一事件计数值;以及
根据所述第一事件计数值调整对应于所述写入指令执行的所述至少一存取事件的数目。
12.根据权利要求11所述的存储器存储装置,其中所述存储器控制电路单元根据所述离散度获得所述第一事件计数值的操作包括:
根据所述离散度与所述至少一第一类物理单元的有效数据存储信息获得所述第一事件计数值,
其中所述有效数据存储信息反映有效数据在所述至少一第一类物理单元中的存储状态。
13.根据权利要求12所述的存储器存储装置,其中所述存储器控制电路单元根据所述离散度与所述至少一第一类物理单元的所述有效数据存储信息获得所述第一事件计数值的操作包括:
根据所述离散度、所述至少一第一类物理单元的所述有效数据存储信息及所述多个物理单元中的至少一第二类物理单元的数目获得所述第一事件计数值,
其中所述至少一第二类物理单元未存储所述有效数据。
14.根据权利要求11所述的存储器存储装置,其中所述存储器控制电路单元根据所述离散度获得所述第一事件计数值的操作包括:
根据所述离散度获得第二事件计数值,其中所述第二事件计数值对应于用于将所述多个物理单元中的第二类物理单元写满的至少一存取事件的数目;以及
根据所述第二事件计数值获得所述第一事件计数值。
15.一种存储器控制电路单元,其特征在于,用于控制可复写式非易失性存储器模块,其中所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个物理单元,所述多个物理单元中的至少一第一类物理单元存有第一数据,且所述第一数据对应多个逻辑单元;以及
存储器管理电路,连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以对应于来自所述主机系统的写入指令,指示对所述多个物理单元的至少其中一者执行至少一数据整并操作,
其中所述存储器管理电路还用以根据所述第一数据所对应的所述多个逻辑单元的离散度,调整执行所述至少一数据整并操作的次数。
16.根据权利要求15所述的存储器控制电路单元,其中所述多个逻辑单元的所述离散度正相关于记录有所述第一数据的逻辑至物理映射信息的至少一表格的数目。
17.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路对应于来自所述主机系统的所述写入指令对所述多个物理单元的所述至少其中一者执行所述至少一数据整并操作的操作包括:
对应于来自所述主机系统的所述写入指令,指示对所述多个物理单元的所述至少一者执行至少一存取事件,
其中所述至少一存取事件包括数据读取事件、数据写入事件及表格读取事件的至少其中之一。
18.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路根据所述第一数据所对应的所述多个逻辑单元的所述离散度调整执行所述至少一数据整并操作的次数的操作包括:
根据所述离散度获得第一事件计数值;以及
根据所述第一事件计数值调整对应于所述写入指令执行的所述至少一存取事件的数目。
19.根据权利要求18所述的存储器控制电路单元,其中所述存储器管理电路根据所述离散度获得所述第一事件计数值的操作包括:
根据所述离散度与所述至少一第一类物理单元的有效数据存储信息获得所述第一事件计数值,
其中所述有效数据存储信息反映有效数据在所述至少一第一类物理单元中的存储状态。
20.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路根据所述离散度与所述至少一第一类物理单元的所述有效数据存储信息获得所述第一事件计数值的操作包括:
根据所述离散度、所述至少一第一类物理单元的所述有效数据存储信息及所述多个物理单元中的至少一第二类物理单元的数目获得所述第一事件计数值,
其中所述至少一第二类物理单元未存储所述有效数据。
21.根据权利要求18所述的存储器控制电路单元,其中所述存储器管理电路根据所述离散度获得所述第一事件计数值的操作包括:
根据所述离散度获得第二事件计数值,其中所述第二事件计数值对应于用于将所述多个物理单元中的第二类物理单元写满的至少一存取事件的数目;以及
根据所述第二事件计数值获得所述第一事件计数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810358395.0A CN110390985B (zh) | 2018-04-20 | 2018-04-20 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810358395.0A CN110390985B (zh) | 2018-04-20 | 2018-04-20 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110390985A true CN110390985A (zh) | 2019-10-29 |
CN110390985B CN110390985B (zh) | 2021-08-03 |
Family
ID=68283534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810358395.0A Active CN110390985B (zh) | 2018-04-20 | 2018-04-20 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390985B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112051971A (zh) * | 2020-09-10 | 2020-12-08 | 群联电子股份有限公司 | 数据整并方法、存储器存储装置及存储器控制电路单元 |
CN112068782A (zh) * | 2020-09-17 | 2020-12-11 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
US20220066646A1 (en) * | 2020-08-31 | 2022-03-03 | Micron Technology, Inc. | Data dispersion-based memory management |
TWI795119B (zh) * | 2021-12-07 | 2023-03-01 | 大陸商合肥兆芯電子有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN102521160A (zh) * | 2011-12-22 | 2012-06-27 | 上海交通大学 | 写缓冲检测器、写入数据的寻址方法、并行通道写入方法 |
US8463826B2 (en) * | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
CN103456357A (zh) * | 2012-06-01 | 2013-12-18 | 三星电子株式会社 | 具有非易失性存储器件的存储设备以及写方法 |
CN104298606A (zh) * | 2013-07-17 | 2015-01-21 | 光宝科技股份有限公司 | 固态存储装置中垃圾搜集动作的控制方法 |
US20160027518A1 (en) * | 2014-07-22 | 2016-01-28 | Kabushiki Kaisha Toshiba | Memory device and method for controlling the same |
CN107239225A (zh) * | 2016-03-29 | 2017-10-10 | 群联电子股份有限公司 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
-
2018
- 2018-04-20 CN CN201810358395.0A patent/CN110390985B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8463826B2 (en) * | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN102521160A (zh) * | 2011-12-22 | 2012-06-27 | 上海交通大学 | 写缓冲检测器、写入数据的寻址方法、并行通道写入方法 |
CN103456357A (zh) * | 2012-06-01 | 2013-12-18 | 三星电子株式会社 | 具有非易失性存储器件的存储设备以及写方法 |
CN104298606A (zh) * | 2013-07-17 | 2015-01-21 | 光宝科技股份有限公司 | 固态存储装置中垃圾搜集动作的控制方法 |
US20160027518A1 (en) * | 2014-07-22 | 2016-01-28 | Kabushiki Kaisha Toshiba | Memory device and method for controlling the same |
CN107239225A (zh) * | 2016-03-29 | 2017-10-10 | 群联电子股份有限公司 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220066646A1 (en) * | 2020-08-31 | 2022-03-03 | Micron Technology, Inc. | Data dispersion-based memory management |
US11567665B2 (en) * | 2020-08-31 | 2023-01-31 | Micron Technology, Inc. | Data dispersion-based memory management |
US11907536B2 (en) | 2020-08-31 | 2024-02-20 | Micron Technology, Inc. | Data dispersion-based memory management |
CN112051971A (zh) * | 2020-09-10 | 2020-12-08 | 群联电子股份有限公司 | 数据整并方法、存储器存储装置及存储器控制电路单元 |
CN112051971B (zh) * | 2020-09-10 | 2023-06-27 | 群联电子股份有限公司 | 数据整并方法、存储器存储装置及存储器控制电路单元 |
CN112068782A (zh) * | 2020-09-17 | 2020-12-11 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN112068782B (zh) * | 2020-09-17 | 2023-07-25 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
TWI795119B (zh) * | 2021-12-07 | 2023-03-01 | 大陸商合肥兆芯電子有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US11803331B2 (en) | 2021-12-07 | 2023-10-31 | Hefei Core Storage Electronic Limited | Method for recording unit management information, memory storage device and memory control circuit unit |
Also Published As
Publication number | Publication date |
---|---|
CN110390985B (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI681295B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI731338B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI587135B (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI676176B (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110879793A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TW202038098A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110390985B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI714840B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110308876B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111737165A (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI702496B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
TWI688956B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI653531B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111767005A (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI741779B (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112394883B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
TWI712886B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI720400B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112445418B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI867977B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW202044041A (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI852352B (zh) | 有效節點管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI859897B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US20240354024A1 (en) | Memory management method, memory storage device and memory control circuit unit |
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 |