CN111723022B - 数据存储方法、存储器存储装置及存储器控制电路单元 - Google Patents
数据存储方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN111723022B CN111723022B CN201910212340.3A CN201910212340A CN111723022B CN 111723022 B CN111723022 B CN 111723022B CN 201910212340 A CN201910212340 A CN 201910212340A CN 111723022 B CN111723022 B CN 111723022B
- Authority
- CN
- China
- Prior art keywords
- data
- logical address
- physical
- unit
- units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005055 memory storage Effects 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013500 data storage Methods 0.000 title claims abstract description 25
- 238000007726 management method Methods 0.000 claims description 114
- 238000013507 mapping Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 18
- 238000012937 correction Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000002407 reforming Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 101100243108 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PDI1 gene Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
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
- 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
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种数据存储方法、存储器存储装置及存储器控制电路单元。此方法包括:配置多个逻辑地址以映射至多个实体抹除单元的实体程序化单元;将逻辑地址分组为多个逻辑地址群;接收写入指令与欲存储至此些逻辑地址的数据;将数据分别写入至实体程序化单元中;记录每一实体抹除单元的数据写入时戳;记录每一逻辑地址群的数据散布数;以及倘若第一逻辑地址群的数据散布数小于数据散布门槛值且写入属于第一逻辑地址群的数据的实体抹除单元的数据写入时戳小于时戳门槛值时,识别属于第一逻辑地址群的数据是冷数据。
Description
技术领域
本发明涉及一种用于可复写式非易失性存储器的数据存储方法及使用此方法的存储器存储装置与存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,若能识别所存储的数据是否不常更新的冷数据,将可更有效地例如执行垃圾收集等操作。基此,要如何识别在可复写式非易失性存储器模块中的冷数据与热数据,并且有效提升冷数据的存取效率,是本领域人员研究的课题之一。
发明内容
本发明提供一种数据存储方法、存储器存储装置及存储器控制电路单元。
本发明的一范例实施例提出一种数据存储方法,用于具有多个实体抹除单元的可复写式非易失性存储器模块。此数据存储方法包括:配置多个逻辑地址以映射至此些实体抹除单元的多个实体程序化单元;将此些逻辑地址分组为多个逻辑地址群;分别从主机***接收多个写入指令与欲存储至此些逻辑地址的多笔数据;将此些数据分别写入至实体抹除单元的实体程序化单元中。此外,此数据存储方法还包括:依据每一该些实体抹除单元的数据写入时戳及实体抹除单元在每一该些逻辑地址群的数据散布数识别该些逻辑地址群中的第一逻辑地址群的实体抹除单元的数据是第一类型数据。
在本发明的一范例实施例中,上述数据存储方法还包括:倘若此些逻辑地址群中的第一逻辑地址群的数据散布数小于数据散布门槛值且写入属于第一逻辑地址群的数据的实体抹除单元的数据写入时戳小于时戳门槛值时,识别属于第一逻辑地址群的数据是第一类型数据。
在本发明的一范例实施例中,上述数据存储方法还包括:记录每一该些实体抹除单元的数据写入时戳;记录实体抹除单元在每一该些逻辑地址群的数据散布数;以及倘若该些逻辑地址群中的第一逻辑地址群的数据散布数小于数据散布门槛值且该些实体抹除单元中写入属于第一逻辑地址群的数据的至少一个实体抹除单元的数据写入时戳小于时戳门槛值时,识别属于第一逻辑地址群的实体抹除单元的数据是第一类型数据。
在本发明的一范例实施例中,上述数据存储方法还包括:根据写入属于各逻辑地址群的数据的实体抹除单元的数目设定各逻辑地址群的数据散布数,其中写入属于第一逻辑地址群的数据的实体抹除单元的数目为第一逻辑地址群的数据散布数。
在本发明的一范例实施例中,上述数据存储方法还包括:建立逻辑地址群比特地图,以记录写入属于各逻辑地址群的数据的实体抹除单元,其中各逻辑地址群具有多个写入标记并且此些写入标记分别对应此些实体抹除单元。当在实体抹除单元写入属于此些逻辑地址群中的对应逻辑地址群的数据时,分别将写入属于此对应逻辑地址群的数据的实体抹除单元的写入标记记录为1。
在本发明的一范例实施例中,上述记录每一逻辑地址群的数据散布数的步骤包括:加总写入属于对应逻辑地址群的数据的实体抹除单元的写入标记的值以作为对应逻辑地址群的数据散布数。
在本发明的一范例实施例中,上述数据存储方法还包括:在逻辑地址群比特地图中,依据各逻辑地址群的数据散布数在第一轴上排序属于各逻辑地址群且对应此些实体抹除单元的写入标记,以及在逻辑地址群比特地图中,依据各实体抹除单元的数据写入时戳在第二轴上排序属于各逻辑地址群且对应此些实体抹除单元的写入标记。
在本发明的一范例实施例中,上述数据存储方法还包括:倘若识别属于第一逻辑地址群的数据为第一类型数据时,从闲置区提取目标实体抹除单元,将属于第一逻辑地址群的数据从至少一实体抹除单元中搬移至目标实体抹除单元。
在本发明的一范例实施例中,上述时戳门槛值设置为此些实体抹除单元的数目的二分之一,数据散布门槛值设置为7。
在本发明的一范例实施例中,上述各逻辑地址群的大小相同于一个实体抹除单元的容量。
本发明的一范例实施例提出一种存储器控制电路单元,用于可复写式非易失性存储器模块。存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机***。存储器接口用以电性连接至可复写式非易失性存储器模块,其中可复写式非易失性存储器模块具有多个实体抹除单元。存储器管理电路电性连接至主机接口与存储器接口。在此,存储器管理电路用以配置多个逻辑地址以映射至该些实体抹除单元的多个实体程序化单元,且将该些逻辑地址分组为多个逻辑地址群。此外,存储器管理电路用以分别从主机***接收多个写入指令与欲存储至该些逻辑地址的多笔数据,将此些数据分别写入至此些实体抹除单元的实体程序化单元中。再者,存储器管理电路还用以依据每一该些实体抹除单元的数据写入时戳及实体抹除单元在每一该些逻辑地址群的数据散布数识别该些逻辑地址群中的第一逻辑地址群的实体抹除单元的数据是第一类型数据。
在本发明的一范例实施例中,上述存储器管理电路还用以记录每一实体抹除单元的数据写入时戳,记录每一逻辑地址群的数据散布数,倘若此些逻辑地址群中的第一逻辑地址群的数据散布数小于数据散布门槛值且写入属于第一逻辑地址群的数据的实体抹除单元的数据写入时戳小于时戳门槛值时,存储器管理电路还用以识别属于第一逻辑地址群的数据是第一类型数据。
在本发明的一范例实施例中,上述存储器管理电路还用以根据写入属于各逻辑地址群的数据的实体抹除单元的数目设定各逻辑地址群的数据散布数,写入属于第一逻辑地址群的数据的实体抹除单元的数目为第一逻辑地址群的数据散布数。
在本发明的一范例实施例中,上述存储器管理电路还用以建立逻辑地址群比特地图,以记录写入属于各逻辑地址群的数据的实体抹除单元,其中各逻辑地址群具有多个写入标记并且此些写入标记分别对应此些实体抹除单元。当在此些实体抹除单元写入属于此些逻辑地址群中对应逻辑地址群的数据时,存储器管理电路还用以分别将写入属于此对应逻辑地址群的数据的实体抹除单元的写入标记记录为1。
在本发明的一范例实施例中,上述在记录每一逻辑地址群的数据散布数的操作中,存储器管理电路还用以加总写入属于对应逻辑地址群的数据的实体抹除单元的写入标记的值以作为对应逻辑地址群的数据散布数。
在本发明的一范例实施例中,在逻辑地址群比特地图中,存储器管理电路还用以依据各逻辑地址群的数据散布数在第一轴上排序属于各逻辑地址群且对应此些实体抹除单元的写入标记,存储器管理电路还用以依据各实体抹除单元的数据写入时戳在第二轴上排序属于各逻辑地址群且对应此些实体抹除单元的写入标记。
在本发明的一范例实施例中,其中倘若识别属于第一逻辑地址群的数据为第一类型数据时,存储器管理电路还用以从闲置区提取目标实体抹除单元,将属于第一逻辑地址群的数据从至少一实体抹除单元中搬移至目标实体抹除单元。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。连接接口单元用以电性连接至主机***。可复写式非易失性存储器模块具有多个实体抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。在此,存储器控制电路单元用以配置多个逻辑地址以映射至此些实体抹除单元的多个实体程序化单元,将此些逻辑地址分组为多个逻辑地址群,分别从主机***接收多个写入指令与欲存储至此些逻辑地址的多笔数据,将此些数据分别写入至此些实体抹除单元的实体程序化单元中。此外,上述存储器控制电路单元还用以依据每一该些实体抹除单元的数据写入时戳及实体抹除单元在每一该些逻辑地址群的数据散布数识别该些逻辑地址群中的第一逻辑地址群的实体抹除单元的数据是第一类型数据。
在本发明的一范例实施例中,上述存储器控制电路单元还用以记录每一实体抹除单元的数据写入时戳,记录每一逻辑地址群的数据散布数,倘若此些逻辑地址群中的第一逻辑地址群的数据散布数小于数据散布门槛值且此些实体抹除单元中写入属于第一逻辑地址群的数据的实体抹除单元的数据写入时戳小于时戳门槛值时,上述存储器控制电路单元还用以识别属于第一逻辑地址群的数据是第一类型数据。
在本发明的一范例实施例中,上述存储器控制电路单元还用以根据写入属于各逻辑地址群的数据的实体抹除单元的数目设定各逻辑地址群的数据散布数,其中写入属于第一逻辑地址群的数据的实体抹除单元的数目为第一逻辑地址群的数据散布数。
在本发明的一范例实施例中,上述存储器控制电路单元还用以建立逻辑地址群比特地图,以记录写入属于各逻辑地址群的数据的实体抹除单元,其中各逻辑地址群具有多个写入标记并且此些写入标记分别对应此些实体抹除单元。并且,当在此些实体抹除单元写入属于此些逻辑地址群中的对应逻辑地址群的数据时,存储器控制电路单元还用以分别将写入属于此对应逻辑地址群的数据的实体抹除单元的写入标记记录为1。
在本发明的一范例实施例中,上述在记录每一逻辑地址群的数据散布数的操作中,存储器控制电路单元还用以加总写入属于对应逻辑地址群的数据的实体抹除单元的写入标记的值以作为对应逻辑地址群的数据散布数。
在本发明的一范例实施例中,在逻辑地址群比特地图中,存储器控制电路单元还用以依据各逻辑地址群的数据散布数在第一轴上排序属于各逻辑地址群且对应此些实体抹除单元的写入标记,存储器控制电路单元还用以依据各实体抹除单元的数据写入时戳在第二轴上排序属于各逻辑地址群且对应此些实体抹除单元的写入标记。
在本发明的一范例实施例中,倘若识别属于第一逻辑地址群的数据为第一类型数据时,存储器控制电路单元还用以从闲置区提取目标实体抹除单元,将属于第一逻辑地址群的数据从至少一实体抹除单元中搬移至目标实体抹除单元。
基于上述,本发明提供了一种数据存储方法、存储器存储装置及存储器控制电路单元。此方法依据逻辑地址群的数据散布数及实体抹除单元的数据写入时戳来识别所存储的数据是否为第一类型数据,并且对第一类型数据启动数据重整操作,以将第一类型数据集中,以加速后续的数据读取操作,有效提升数据的存取效率。
附图说明
图1是根据本发明的一范例实施例所示出的主机***、存储器存储装置及输入/输出(I/O)装置的示意图。
图2是根据本发明的另一范例实施例所示出的主机***、存储器存储装置及I/O装置的示意图。
图3是根据本发明的另一范例实施例所示出的主机***与存储器存储装置的示意图。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
图7是根据本发明的一范例实施例所示出的建立逻辑地址群比特地图的示意图。
图8是根据本发明的另一范例实施例所示出的重整逻辑地址群比特地图的示意图。
图9为根据本发明的一范例实施例所示出的对冷数据启动数据重整操作的示意图。
图10为根据本发明的一范例实施例所示出的识别冷数据的流程示意图。
图11为根据本发明的一范例实施例所示出的对冷数据启动数据重整操作的流程示意图。
【符号说明】
10:存储器存储装置
11:主机***
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:闲置区
610(0)~610(B):实体抹除单元
612(0)~612(C):逻辑单元
TRG1、TRG2:目标实体抹除单元
LG(0)~LG(B):逻辑地址群
Bit sum:数据散布数
S1001~S1017:步骤
S1101~S1111:步骤
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储***)包括可复写式非易失性存储器模块(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是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
须注意的是,在以下的范例实施例中,描述可复写式非易失性存储器模块406的实体抹除单元的管理时,以“选择”与“分组”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块406的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块406的实体抹除单元进行操作。
请参照图6,存储器管理电路502会将可复写式非易失性存储器模块406的实体抹除单元610(0)~610(B)分组为存储区601与闲置(spare)区602。例如,实体抹除单元610(0)~610(A)属于存储区601,而实体抹除单元610(A+1)~610(B)属于闲置区602。在本范例实施例中,一个实体抹除单元是指一个实体抹除单元。然而,在另一范例实施例中,一个实体抹除单元亦可以包含多个实体抹除单元。此外,存储器管理电路502可利用标记等方式来将某一个实体抹除单元关联至存储区601与闲置区602的其中之一。
在存储器存储装置10的运作过程中,某一个实体抹除单元与存储区601或闲置区602的关联关系可能会动态地变动。例如,当接收到来自主机***11的写入数据时,存储器管理电路502会从闲置区602中选择一个实体抹除单元以存储此写入数据的至少一部分数据并且将这个实体抹除单元关联至存储区601。此外,在将属于存储区601的某一个实体抹除单元抹除以清除其中的数据之后,存储器管理电路502会将这个被抹除的实体抹除单元关联至闲置区602。
在本范例实施例中,属于闲置区602的实体抹除单元亦称为闲置实体抹除单元,而属于存储区601的实体抹除单元亦可称为非闲置(non-spare)实体抹除单元。属于闲置区602的每一个实体抹除单元皆是被抹除的实体抹除单元并且没有存储任何数据,而属于存储区601的每一个实体抹除单元皆存储有数据。更进一步,属于闲置区602的每一个实体抹除单元皆不会存储任何有效(valid)数据,而属于存储区601的每一个实体抹除单元皆可能存储有效数据和/或无效(invalid)数据。
在一范例实施例中,存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体抹除单元。在本范例实施例中,主机***11是通过逻辑地址(logicaladdress,LA)来存取属于存储区601的实体抹除单元。因此,逻辑单元612(0)~612(C)中的每一个逻辑单元是指一个逻辑地址。然而,在另一范例实施例中,逻辑单元612(0)~612(C)中的每一个逻辑单元也可以是指一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,逻辑单元612(0)~612(C)中的每一个逻辑单元可被映射至一或多个实体抹除单元。
在本范例实施例中,存储器管理电路502会将逻辑单元与实体抹除单元之间的映射关系(亦称为逻辑-实体映射关系)记录于至少一逻辑-实体映射表。当主机***11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-实体映射表来执行对于存储器存储装置10的数据存取。
在本范例实施例中,有效数据是属于某一个逻辑单元的最新数据,而无效数据则不是属于任一个逻辑单元的最新数据。例如,若主机***11将一笔新数据存储至某一逻辑单元而覆盖掉此逻辑单元原先存储的旧数据(即,更新属于此逻辑单元的数据),则存储在存储区601中的此笔新数据即为属于此逻辑单元的最新数据并且会被标记为有效,而被覆盖掉的旧数据可能仍然存储在存储区601中但被标记为无效。在本范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体抹除单元之间的映射关系会被移除,并且此逻辑单元与存储有属于此逻辑单元的最新数据的实体抹除单元之间的映射关系会被建立。
图7是根据本发明的一范例实施例所示出的建立逻辑地址群比特地图的示意图。
请参考图7,在一范例实施例中,存储器管理电路502配置多个逻辑地址以映射至可复写式非易失性存储器模块406的实体抹除单元610(0)至实体抹除单元610(B)的实体程序化单元,并且将逻辑地址分组为逻辑地址群LG(0)、LG(1)、LG(2)…LG(B),其中逻辑地址群LG(0)至逻辑地址群LG(B)之中的每一逻辑地址群的大小是相同于一个实体抹除单元的容量。举例而言,倘若一个实体抹除单元的容量为72MB,则逻辑地址0-72MB属于逻辑地址群LG(0),逻辑地址72MB-144MB属于逻辑地址群LG(1),逻辑地址144MB-216MB属于逻辑地址群LG(2),以此类推。
存储器管理电路502分别从主机***11接收多个写入指令与欲存储至该些逻辑地址的多笔数据,将该些数据分别写入至实体抹除单元610(0)至实体抹除单元610(B)的多个实体程序化单元中。
存储器管理电路502对实体抹除单元610(0)至实体抹除单元610(B)中的每一实体抹除单元的数据写入时戳进行记录,并且存储器管理电路502记录每一该些逻辑地址群的数据散布数。存储器管理电路502计算写入属于各该些逻辑地址群的数据的实体抹除单元的数目,且将写入属于各该些逻辑地址群的数据的实体抹除单元的数目设定为各该些逻辑地址群的数据散布数。在一范例实施例中,写入属于逻辑地址群LG(0)的数据的至少一个实体抹除单元的数目为逻辑地址群LG(0)的数据散布数,其中,写入属于逻辑地址群LG(0)的数据的实体抹除单元的数目为4,则逻辑地址群LG(0)的数据散布数为4。
在一范例实施例中,当在实体抹除单元610(0)至实体抹除单元610(B)中的每一实体抹除单元写入属于该些逻辑地址群中的对应逻辑地址群的数据时,分别将写入属于对应逻辑地址群的数据的至少一实体抹除单元的写入标记记录为1。
例如,当在实体抹除单元610(0)中写入属于逻辑地址群LG(2)及LG(7)的数据时,存储器管理电路502分别将写入属于逻辑地址群LG(2)及LG(7)的数据的实体抹除单元610(0)的写入标记记录为1。也就是说,写入实体抹除单元610(0)的数据是写入逻辑地址144MB-216MB及逻辑地址503MB-576MB中。在此,存储器管理电路502将写入除属于逻辑地址群LG(2)及LG(7)以外的逻辑地址群的实体抹除单元610(0)的写入标记记录为0。
又例如,当在实体抹除单元610(2)中写入属于逻辑地址群LG(1)、LG(3)以及LG(500)的数据时,存储器管理电路502分别将写入属于逻辑地址群LG(1)、LG(3)以及LG(500)的数据的实体抹除单元610(2)的写入标记记录为1。也就是说,写入实体抹除单元610(2)的数据是写入逻辑地址72MB-144MB、逻辑地址216MB-288MB及逻辑地址72*500MB-72*501MB中。在此,存储器管理电路502将写入除属于逻辑地址群LG(1)、LG(3)以及LG(500)以外的逻辑地址群的实体抹除单元610(2)的写入标记记录为0。
以此类推,当在实体抹除单元610(0)至实体抹除单元610(B)中分别写入属于逻辑地址群LG(0)至LG(B)的数据时,存储器管理电路502分别将写入属于逻辑地址群LG(0)至LG(B)的数据的实体抹除单元的写入标记进行记录。以建立如图7所示的逻辑地址群比特地图。特别是,依据图7所示的逻辑地址群比特地图,可以获知在实体抹除单元610(0)至610(B)中分别写入属于逻辑地址群LG(0)至LG(B)的数据的实体抹除单元的写入标记。
在一范例实施例中,存储器管理电路502加总写入属于对应逻辑地址群的数据的至少一实体抹除单元的写入标记的值以作为对应逻辑地址群的数据散布数(bit sum)。以加总写入属于逻辑地址群LG(1)的数据的实体抹除单元为例。存储器管理电路502分别将写入属于逻辑地址群LG(1)的数据的实体抹除单元610(2)及610(7)的写入标记记录为1,加总写入属于逻辑地址群LG(1)的数据的实体抹除单元610(2)及610(7)的写入标记的值,以作为逻辑地址群LG(1)的数据散布数。因此,逻辑地址群LG(1)的数据散布数为2。也就是说,此数据散布数是指示写入至此逻辑地址群LG(1)的数据散布在实体抹除单元610(2)及610(7)上。
同样地,以加总写入属于逻辑地址群LG(4)的数据的实体抹除单元为例。存储器管理电路502将写入属于逻辑地址群LG(4)的数据的实体抹除单元610(6)的写入标记记录为1,加总写入属于逻辑地址群LG(4)的数据的实体抹除单元610(6)的写入标记的值,以作为逻辑地址群LG(4)的数据散布数。因此,逻辑地址群LG(4)的数据散布数为1。也就是说,此数据散布数是指示写入至此逻辑地址群LG(4)的数据仅散布在实体抹除单元610(6)上。以此类推,存储器管理电路502将加总写入属于对应逻辑地址群的数据的至少一实体抹除单元的写入标记的值以作为对应逻辑地址群的数据散布数。
图8是根据本发明的另一范例实施例所示出的重整逻辑地址群比特地图的示意图。
请参考图8,在此逻辑地址群比特地图中,存储器管理电路502会依据各该些逻辑地址群的数据散布数在第一轴上排序属于各该些逻辑地址群且对应该些实体抹除单元的写入标记。并且,存储器管理电路502还会依据各该些实体抹除单元的数据写入时戳在第二轴上排序属于各该些逻辑地址群且对应该些实体抹除单元的写入标记。在一范例实施例中,将第一轴设置为X轴,将第二轴设置为Y轴。
在一范例实施例中,存储器管理电路502在X轴方向上依据各该些逻辑地址群的数据散布数按从小到大的顺序,排序属于各该些逻辑地址群且对应该些实体抹除单元的写入标记。
此外,存储器管理电路502还会依据各实体抹除单元的数据写入时戳的先后顺序在Y轴方向上排序属于各逻辑地址群且对应实体抹除单元的写入标记。也就是说,数据写入时戳在先(old)的属于各逻辑地址群且对应实体抹除单元的写入标记会被排在Y轴的下半部分,数据写入时戳在后(new)的属于各逻辑地址群且对应实体抹除单元的写入标记会被排在Y轴的上半部分。
如此,存储器管理电路502会依据各逻辑地址群的数据散布数以及各实体抹除单元的数据写入时戳排序属于各逻辑地址群且对应实体抹除单元的写入标记,以对逻辑地址群比特地图进行重整。在重整后的逻辑地址群比特地图中,数据写入时戳在先(old)且写入至属于同一逻辑地址群中的数据散布在较少的实体抹除单元(也即是各逻辑地址群的数据散布数较少)的数据识别为第一类型数据,于本范例实施例中,此第一类型数据为冷数据(old and cold data)。相反地,存储器管理电路502将数据写入时戳在后(也即是数据写入时戳较新)且写入至同一逻辑地址群中的数据散布在较多的实体抹除单元(也即是各该些逻辑地址群的数据散布数较多)中的数据识别为非冷数据。其中,存储器管理电路502依据各逻辑地址群的数据散布数以及各实体抹除单元的数据写入时戳可以将此非冷数据分为属于第二类型数据的新冷数据(new and cold data)、属于第三类型数据的新热数据(newand hot data)以及属于第四类型数据的老热数据(old and hot data),然而对此本发明并不作限制。
在一范例实施例中,倘若逻辑地址群LG(1)的数据散布数小于数据散布门槛值且该些实体抹除单元中写入属于逻辑地址群LG(1)的数据的至少一个实体抹除单元的数据写入时戳小于时戳门槛值时,存储器管理电路502识别属于逻辑地址群LG(1)中的数据为冷数据。在本范例实施例中,数据散布门槛值可设置为7,时戳门槛值可设置为实体抹除单元的数目的二分之一。当存储器管理电路502判断逻辑地址群LG(1)的数据散布数为2且此数据散布数小于数据散布门槛值,并且实体抹除单元610(2)及610(7)的数据写入时戳小于时戳门槛值时,存储器管理电路502会识别属于逻辑地址群LG(1)的数据为冷数据,并且存储器管理电路502会对此冷数据启动数据重整操作。
图9为根据本发明的一范例实施例所示出的对冷数据启动数据重整操作的示意图。
请参考图9。在一范例实施例中,存储器管理电路502识别出属于逻辑地址群LG(1)中的数据属于冷数据时,存储器管理电路502从闲置区602提取目标实体抹除单元TRG1,将属于逻辑地址群LG(1)的数据从实体抹除单元610(2)及实体抹除单元610(7)中搬移至目标实体抹除单元TRG1。
在另一范例实施例中,存储器管理电路502从闲置区602提取目标实体抹除单元TRG2,将非属于逻辑地址群LG(1)的数据从实体抹除单元610(2)及610(7)中搬移至目标实体抹除单元TRG2。其中目标实体抹除单元TRG1及TRG2是从闲置区602中提取的用以轮替的空的实体抹除单元。
图10为根据本发明的一范例实施例所示出的识别冷数据的流程示意图。
请参考图10。在步骤S1001中,存储器管理电路502配置多个逻辑地址以映射至多个实体抹除单元中的多个实体程序化单元。
在步骤S1003中,存储器管理电路502将该些逻辑地址分组为多个逻辑地址群。在一范例实施例中,存储器管理电路502将该些逻辑地址分组为逻辑地址群LG(0)、LG(1)、LG(2)…LG(B),其中各该些逻辑地址群的大小相同于一个实体抹除单元的容量。
在步骤S1005中,存储器管理电路502分别从主机***11接收多个写入指令与欲存储至该些逻辑地址的多笔数据。
在步骤S1007中,存储器管理电路502将该些数据分别写入至实体抹除单元610(0)至实体抹除单元610(B)中的实体程序化单元中。
在步骤S1009中,存储器管理电路502记录每一该些实体抹除单元的数据写入时戳。
在步骤S1011中,存储器管理电路502记录每一该些逻辑地址群的数据散布数。在一范例实施例中,存储器管理电路502计算写入属于各逻辑地址群的数据的实体抹除单元的数目,且将写入属于各逻辑地址群的数据的实体抹除单元的数目设定为各逻辑地址群的数据散布数。
在步骤S1013中,存储器管理电路502判断逻辑地址群中的第一逻辑地址群的数据散布数是否小于数据散布门槛值且实体抹除单元中写入属于第一逻辑地址群的数据的实体抹除单元的数据写入时戳是否小于时戳门槛值。在一范例实施例中,时戳门槛值设置为实体抹除单元的数目的二分之一。
在步骤S1015中,倘若第一逻辑地址群的数据散布数小于数据散布门槛值且写入属于第一逻辑地址群的数据的实体抹除单元的数据写入时戳小于时戳门槛值时,存储器管理电路502会识别属于第一逻辑地址群的数据是冷数据。
在步骤S1017中,倘若第一逻辑地址群的数据散布数非小于数据散布门槛值且写入属于第一逻辑地址群的数据的实体抹除单元的数据写入时戳非小于时戳门槛值时,存储器管理电路502会识别属于第一逻辑地址群的数据是非冷数据。
图11为根据本发明的一范例实施例所示出的对冷数据启动数据重整操作的流程示意图。
请参考图11,在步骤S1101中,当在实体抹除单元写入属于逻辑地址群中的对应逻辑地址群的数据时,存储器管理电路502分别将写入属于对应逻辑地址群的数据的实体抹除单元的写入标记记录为1。
在步骤S1103中,存储器管理电路502加总写入属于对应逻辑地址群的数据的实体抹除单元的写入标记的值以作为对应逻辑地址群的数据散布数。
在步骤S1105中,在逻辑地址群比特地图中,存储器管理电路502依据各逻辑地址群的数据散布数在第一轴上排序属于各逻辑地址群且对应实体抹除单元的写入标记。
在步骤S1107中,在逻辑地址群比特地图中,存储器管理电路502依据各实体抹除单元的数据写入时戳在第二轴上排序属于各逻辑地址群且对应实体抹除单元的写入标记。
在步骤S1109中,当存储器管理电路502识别属于第一逻辑地址群的数据为冷数据时,从闲置区602提取目标实体抹除单元,将属于第一逻辑地址群的数据从实体抹除单元中搬移至目标实体抹除单元。
在步骤S1111中,存储器管理电路502继续从闲置区602提取另一目标实体抹除单元,将非属于第一逻辑地址群的数据从实体抹除单元中搬移至此目标实体抹除单元。如此,以于后续的数据处理过程中,可以于一个实体抹除单元上读取此冷数据,由此提升存取的速度。
综上所述,本发明提供了一种数据存储方法、存储器存储装置及存储器控制电路单元。此方法依据逻辑地址群的数据散布数与写入属于逻辑地址群的数据的实体抹除单元的数据写入时戳,来识别数据是否为冷数据,并且对冷数据启动数据重整操作,以将冷数据搬移至一个实体抹除单元,以于在后续的数据处理过程中,可以直接于此实体抹除单元上读取冷数据,有效提升冷数据的存取效率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。
Claims (20)
1.一种数据存储方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元,所述数据存储方法包括:
配置多个逻辑地址以映射至所述多个实体抹除单元的多个实体程序化单元;
将所述多个逻辑地址分组为多个逻辑地址群;
分别从主机***接收多个写入指令与欲存储至所述多个逻辑地址的多笔数据;
将所述多笔数据分别写入至所述多个实体抹除单元的实体程序化单元中;以及
依据每一所述多个实体抹除单元的数据写入时戳及实体抹除单元在每一所述多个逻辑地址群的数据散布数识别所述多个逻辑地址群中的第一逻辑地址群的实体抹除单元的数据是第一类型数据,其中所述第一类型数据为冷数据;
记录每一所述多个逻辑地址群的所述数据散布数,记录每一所述多个逻辑地址群的所述数据散布数的步骤包括:
加总写入属于每一所述多个逻辑地址群的数据的至少一实体抹除单元的写入标记的值以作为每一所述多个逻辑地址群的所述数据散布数。
2.根据权利要求1所述的数据存储方法,还包括:
记录每一所述多个实体抹除单元的所述数据写入时戳;以及
倘若所述多个逻辑地址群中的所述第一逻辑地址群的数据散布数小于数据散布门槛值且所述多个实体抹除单元中写入属于所述第一逻辑地址群的数据的至少一个实体抹除单元的数据写入时戳小于时戳门槛值时,识别属于所述第一逻辑地址群的实体抹除单元的数据是所述第一类型数据。
3.根据权利要求1所述的数据存储方法,还包括:
根据写入属于各所述多个逻辑地址群的数据的实体抹除单元的数目设定各所述多个逻辑地址群的数据散布数,
其中写入属于所述第一逻辑地址群的数据的实体抹除单元的数目为所述第一逻辑地址群的数据散布数。
4.根据权利要求3所述的数据存储方法,还包括:
建立逻辑地址群比特地图,以记录写入属于各所述多个逻辑地址群的数据的实体抹除单元,其中各所述多个逻辑地址群具有多个写入标记并且所述多个写入标记分别对应所述多个实体抹除单元;以及
当在所述多个实体抹除单元写入属于所述多个逻辑地址群中的对应逻辑地址群的数据时,分别将写入属于所述对应逻辑地址群的数据的至少一实体抹除单元的写入标记记录为1。
5.根据权利要求4所述的数据存储方法,还包括:
在所述逻辑地址群比特地图中,依据各所述多个逻辑地址群的数据散布数在第一轴上排序属于各所述多个逻辑地址群且对应所述多个实体抹除单元的写入标记;以及
依据各所述多个实体抹除单元的数据写入时戳在第二轴上排序属于各所述多个逻辑地址群且对应所述多个实体抹除单元的写入标记。
6.根据权利要求5所述的数据存储方法,还包括:
倘若识别属于所述第一逻辑地址群的数据为所述第一类型数据时,从闲置区提取目标实体抹除单元,将属于所述第一逻辑地址群的数据从所述至少一实体抹除单元中搬移至所述目标实体抹除单元。
7.根据权利要求2所述的数据存储方法,其中所述时戳门槛值设置为所述多个实体抹除单元的数目的二分之一,所述数据散布门槛值设置为7。
8.根据权利要求1所述的数据存储方法,其中各所述多个逻辑地址群的大小相同于一个实体抹除单元的容量。
9.一种存储器控制电路单元,用于可复写式非易失性存储器模块,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机***;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元;以及
存储器管理电路,电性连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以配置多个逻辑地址以映射至所述多个实体抹除单元的多个实体程序化单元,
其中所述存储器管理电路用以将所述多个逻辑地址分组为多个逻辑地址群,
其中所述存储器管理电路用以分别从主机***接收多个写入指令与欲存储至所述多个逻辑地址的多笔数据,
其中所述存储器管理电路用以将所述多笔数据分别写入至所述多个实体抹除单元的实体程序化单元中,以及
其中所述存储器管理电路用以将依据每一所述多个实体抹除单元的数据写入时戳及实体抹除单元在每一所述多个逻辑地址群的数据散布数识别所述多个逻辑地址群中的第一逻辑地址群的实体抹除单元的数据是第一类型数据,其中所述第一类型数据为冷数据,
其中所述存储器管理电路用以记录每一所述多个逻辑地址群的所述数据散布数,所述存储器管理电路用以记录每一所述多个逻辑地址群的所述数据散布数的操作包括:
所述存储器管理电路还用以加总写入属于每一所述多个逻辑地址群的数据的至少一实体抹除单元的写入标记的值以作为每一所述多个逻辑地址群的所述数据散布数。
10.根据权利要求9所述的存储器控制电路单元,其中,
所述存储器管理电路还用以记录每一所述多个实体抹除单元的数据写入时戳,以及
倘若所述多个逻辑地址群中的所述第一逻辑地址群的数据散布数小于数据散布门槛值且所述多个实体抹除单元中写入属于所述第一逻辑地址群的数据的至少一个实体抹除单元的数据写入时戳小于时戳门槛值时,所述存储器管理电路还用以识别属于所述第一逻辑地址群的实体抹除单元的数据是所述第一类型数据。
11.根据权利要求9所述的存储器控制电路单元,其中,
所述存储器管理电路还用以根据写入属于各所述多个逻辑地址群的数据的实体抹除单元的数目设定各所述多个逻辑地址群的数据散布数,
其中写入属于所述第一逻辑地址群的数据的实体抹除单元的数目为所述第一逻辑地址群的数据散布数。
12.根据权利要求11所述的存储器控制电路单元,其中,
所述存储器管理电路还用以建立逻辑地址群比特地图,以记录写入属于各所述多个逻辑地址群的数据的实体抹除单元,其中各所述多个逻辑地址群具有多个写入标记并且所述多个写入标记分别对应所述多个实体抹除单元,
当在所述多个实体抹除单元写入属于所述多个逻辑地址群中的对应逻辑地址群的数据时,所述存储器管理电路还用以分别将写入属于所述对应逻辑地址群的数据的至少一实体抹除单元的写入标记记录为1。
13.根据权利要求12所述的存储器控制电路单元,其中,
在所述逻辑地址群比特地图中,所述存储器管理电路还用以依据各所述多个逻辑地址群的数据散布数在第一轴上排序属于各所述多个逻辑地址群且对应所述多个实体抹除单元的写入标记,以及
所述存储器管理电路还用以依据各所述多个实体抹除单元的数据写入时戳在第二轴上排序属于各所述多个逻辑地址群且对应所述多个实体抹除单元的写入标记。
14.根据权利要求13所述的存储器控制电路单元,其中,
倘若识别属于所述第一逻辑地址群的数据为所述第一类型数据时,所述存储器管理电路还用以从闲置区提取目标实体抹除单元,将属于所述第一逻辑地址群的数据从所述至少一实体抹除单元中搬移至所述目标实体抹除单元。
15.一种存储器存储装置,包括:
连接接口单元,用以电性连接至主机***;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以配置多个逻辑地址以映射至所述多个实体抹除单元的多个实体程序化单元,
其中所述存储器控制电路单元用以将所述多个逻辑地址分组为多个逻辑地址群,
其中所述存储器控制电路单元用以分别从主机***接收多个写入指令与欲存储至所述多个逻辑地址的多笔数据,
其中所述存储器控制电路单元用以将所述多笔数据分别写入至所述多个实体抹除单元的实体程序化单元中,
其中所述存储器控制电路单元用以依据每一所述多个实体抹除单元的数据写入时戳及实体抹除单元在每一所述多个逻辑地址群的数据散布数识别所述多个逻辑地址群中的第一逻辑地址群的实体抹除单元的数据是第一类型数据,所述第一类型数据为冷数据,
其中所述存储器控制电路单元用以记录每一所述多个逻辑地址群的所述数据散布数,所述存储器控制电路单元用以记录每一所述多个逻辑地址群的所述数据散布数的操作包括:
所述存储器控制电路单元还用以加总写入属于每一所述多个逻辑地址群的数据的至少一实体抹除单元的写入标记的值以作为每一所述多个逻辑地址群的所述数据散布数。
16.根据权利要求15所述的存储器存储装置,还包括:
其中所述存储器控制电路单元还用以记录每一所述多个实体抹除单元的数据写入时戳,
倘若所述多个逻辑地址群中的第一逻辑地址群的数据散布数小于数据散布门槛值且所述多个实体抹除单元中写入属于所述第一逻辑地址群的数据的至少一个实体抹除单元的数据写入时戳小于时戳门槛值时,所述存储器控制电路单元还用以识别属于所述第一逻辑地址群的数据是所述第一类型数据。
17.根据权利要求15所述的存储器存储装置,还包括:
所述存储器控制电路单元还用以根据写入属于各所述多个逻辑地址群的数据的实体抹除单元的数目设定各所述多个逻辑地址群的数据散布数,
其中写入属于所述第一逻辑地址群的数据的实体抹除单元的数目为所述第一逻辑地址群的数据散布数。
18.根据权利要求17所述的存储器存储装置,还包括:
所述存储器控制电路单元还用以建立逻辑地址群比特地图,以记录写入属于各所述多个逻辑地址群的数据的实体抹除单元,其中各所述多个逻辑地址群具有多个写入标记并且所述多个写入标记分别对应所述多个实体抹除单元,
当在所述多个实体抹除单元写入属于所述多个逻辑地址群中的对应逻辑地址群的数据时,所述存储器控制电路单元还用以分别将写入属于所述对应逻辑地址群的数据的至少一实体抹除单元的写入标记记录为1。
19.根据权利要求18所述的存储器存储装置,还包括:
在所述逻辑地址群比特地图中,所述存储器控制电路单元还用以依据各所述多个逻辑地址群的数据散布数在第一轴上排序属于各所述多个逻辑地址群且对应所述多个实体抹除单元的写入标记,以及
所述存储器控制电路单元还用以依据各所述多个实体抹除单元的数据写入时戳在第二轴上排序属于各所述多个逻辑地址群且对应所述多个实体抹除单元的写入标记。
20.根据权利要求19所述的存储器存储装置,还包括:
倘若识别属于所述第一逻辑地址群的数据为所述第一类型数据时,所述存储器控制电路单元还用以从闲置区提取目标实体抹除单元,将属于所述第一逻辑地址群的数据从所述至少一实体抹除单元中搬移至所述目标实体抹除单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910212340.3A CN111723022B (zh) | 2019-03-20 | 2019-03-20 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910212340.3A CN111723022B (zh) | 2019-03-20 | 2019-03-20 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723022A CN111723022A (zh) | 2020-09-29 |
CN111723022B true CN111723022B (zh) | 2024-07-02 |
Family
ID=72562444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910212340.3A Active CN111723022B (zh) | 2019-03-20 | 2019-03-20 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723022B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491588A (zh) * | 2017-09-13 | 2019-03-19 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015001908A (ja) * | 2013-06-17 | 2015-01-05 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及*** |
KR20170053278A (ko) * | 2015-11-06 | 2017-05-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN106569962A (zh) * | 2016-10-19 | 2017-04-19 | 暨南大学 | 一种基于增强时间局部性的热点数据识别方法 |
-
2019
- 2019-03-20 CN CN201910212340.3A patent/CN111723022B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491588A (zh) * | 2017-09-13 | 2019-03-19 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Non-Patent Citations (1)
Title |
---|
考虑操作时间局部性的NAND闪存脏块回收算法;胡志刚;蒋湘涛;贺建飚;;小型微型计算机***(第10期);第1925-1928页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111723022A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN107818808B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI688953B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN111737165B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111767005B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111831210B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN112445417B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111723022B (zh) | 数据存储方法、存储器存储装置及存储器控制电路单元 | |
CN111610937A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
TWI718492B (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN114527941B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN112015327B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
TWI724427B (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112181859B (zh) | 有效数据合并方法、存储器控制电路单元与存储装置 | |
TWI780003B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
US11954329B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN112445418B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN113220213B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN111435287B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN108121663B (zh) | 数据存储方法、存储器存储装置及存储器控制电路单元 | |
CN114371877A (zh) | 指令管理方法、存储器存储装置及存储器控制电路单元 | |
CN115857808A (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 |