CN112068782B - 存储器管理方法、存储器存储装置及存储器控制电路单元 - Google Patents
存储器管理方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN112068782B CN112068782B CN202010981814.3A CN202010981814A CN112068782B CN 112068782 B CN112068782 B CN 112068782B CN 202010981814 A CN202010981814 A CN 202010981814A CN 112068782 B CN112068782 B CN 112068782B
- Authority
- CN
- China
- Prior art keywords
- unit
- memory
- units
- data
- physical
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 302
- 238000007726 management method Methods 0.000 title claims abstract description 171
- 230000005055 memory storage Effects 0.000 title claims abstract description 58
- 238000011084 recovery Methods 0.000 claims abstract description 23
- 238000007596 consolidation process Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000008859 change Effects 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims description 26
- 230000010354 integration Effects 0.000 claims description 24
- 238000004064 recycling Methods 0.000 claims description 16
- 239000006185 dispersion Substances 0.000 claims description 12
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 239000007787 solid Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 238000012544 monitoring process Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 10
- 238000012937 correction Methods 0.000 description 10
- 238000009825 accumulation Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
存储器存储装置会从闲置区中选择一个实体区块(亦称为,作动实体区块),其用以存储来自主机系统的数据。例如,在选择作动实体区块之后,直到此作动实体区块被写满之前,来自主机系统的数据都会被接收并存储至此作动实体区块中。在当前的作动实体区块被写满之后,另一个实体区块会被从闲置区中选择作为新的作动实体区块,以继续存储来自主机系统的数据。在主机系统欲读取存储数据时,存储器存储装置会根据读取指令从实体区块中读取数据。一般随着实体区块的读取次数增加,将导致硬件耗损而有发生读取干扰(read disturb)的可能性。读取干扰指的是对同一个实体区块所存储的数据进行多次读取时,可能会发生所读取的数据是错误的状况,甚至此被多次读取的区块内所存储的数据会发生异常或遗失的状况。因此当实体区块的读取次数过高时,一般可通过垃圾收集操作来将存储区中实体区块所存储的有效数据搬移并释放出新的闲置实体区块。
然而,当同样的数据频繁被读取,将导致数据即使被搬移到新的实体区块,新的实体区块的读取次数仍然会快速累积。当读取次数因为累积而再次过高,数据将再次被搬移。如此一来,存储器存储装置整体的效率会因数据频繁被搬移到新的实体区块而下降。
发明内容
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,可减少实体单元的读取次数累积过快而造成的数据搬移次数。
本发明的一范例实施例提供一种存储器管理方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元。所述存储器管理方法包括:执行一或多个读取指令,并将读取次数的第一变化量大于读取干扰门槛值的所述实体单元记录为风险实体单元;以及在执行数据整并操作时,将所述风险实体单元中存储的有效数据分为多次复制至多个回收单元。
在本发明的一范例实施例中,将所述风险实体单元中存储的有效数据分为多次复制至所述多个回收单元的步骤包括:根据分散次数计算所述风险实体单元中存储的有效数据的分散数据量;以及根据所述分散数据量将所述风险实体单元中存储的有效数据及一或多个来源单元的有效数据复制至所述多个回收单元其中之一。
在本发明的一范例实施例中,根据所述分散数据量将所述风险实体单元中存储的有效数据及所述一或多个来源单元的有效数据复制至所述多个回收单元其中之一的步骤包括:根据所述多个实体单元对应的数据读取比例及有效数据比例选择所述多个实体单元中的一或多个作为所述一或多个来源单元。
在本发明的一范例实施例中,所述方法还包括:根据所述多个实体单元对应的读取次数及读取次数门槛值计算所述数据读取比例;以及根据所述多个实体单元所存储的有效数据的数据量及所述多个实体单元包括的节点数量计算所述有效数据比例。
在本发明的一范例实施例中,所述方法还包括:建立第一管理信息,其中所述第一管理信息用以记录所述风险实体单元对应的逻辑至实体映射表的风险值;以及在执行所述数据整并操作时,根据所述第一管理信息中的所述风险值挑选所述风险实体单元中用于分散的有效数据。
在本发明的一范例实施例中,所述方法还包括:根据第一门槛值决定是否开始记录所述风险实体单元;以及根据第二门槛值决定是否执行所述数据整并操作,其中所述第一门槛值不同于所述第二门槛值。
在本发明的一范例实施例中,所述方法还包括:将所述读取次数的变化量除以所述读取次数以获取所述第一变化量。
在本发明的一范例实施例中,所述方法还包括:排序所述实体单元的第一变化量;以及从排序的高到低选择所述回收单元,其中所述实体单元对应的所述第一变化量的数值越小,所述实体单元的排序越高。
本发明的一范例实施例提供一种存储器存储装置,包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述可复写式非易失性存储器模块包括多个实体单元。存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。其中所述存储器控制电路单元用以执行一或多个读取指令,并将读取次数的第一变化量大于读取干扰门槛值的所述实体单元记录为风险实体单元。并且,所述存储器控制电路单元更用以在执行数据整并操作时,将所述风险实体单元中存储的有效数据分为多次复制至多个回收单元。
在本发明的一范例实施例中,将所述风险实体单元中存储的有效数据分为多次复制至所述多个回收单元的操作中,所述存储器控制电路单元更用以根据分散次数计算所述风险实体单元中存储的有效数据的分散数据量。并且,所述存储器控制电路单元更用以根据所述分散数据量将所述风险实体单元中存储的有效数据及一或多个来源单元的有效数据复制至所述多个回收单元其中之一。
在本发明的一范例实施例中,根据所述分散数据量将所述风险实体单元中存储的有效数据及所述一或多个来源单元的有效数据复制至所述多个回收单元其中之一的操作中,所述存储器控制电路单元更用以根据所述多个实体单元对应的数据读取比例及有效数据比例选择所述多个实体单元中的一或多个作为所述一或多个来源单元。
在本发明的一范例实施例中,所述存储器控制电路单元更用以根据所述多个实体单元对应的读取次数及读取次数门槛值计算所述数据读取比例。并且,所述存储器控制电路单元更用以根据所述多个实体单元所存储的有效数据的数据量及所述多个实体单元包括的节点数量计算所述有效数据比例。
在本发明的一范例实施例中,所述存储器控制电路单元更用以建立第一管理信息,其中所述第一管理信息用以记录所述风险实体单元对应的逻辑至实体映射表的风险值。并且,所述存储器控制电路单元更用以在执行所述数据整并操作时,根据所述第一管理信息中的所述风险值挑选所述风险实体单元中用于分散的有效数据。
在本发明的一范例实施例中,所述存储器控制电路单元更用以根据第一门槛值决定是否开始记录所述风险实体单元。并且,所述存储器控制电路单元更用以根据第二门槛值决定是否执行所述数据整并操作,其中所述第一门槛值不同于所述第二门槛值。
在本发明的一范例实施例中,所述存储器控制电路单元更用以将所述读取次数的变化量除以所述读取次数以获取所述第一变化量。
在本发明的一范例实施例中,所述存储器控制电路单元更用以排序所述实体单元的第一变化量。并且,所述存储器控制电路单元更用以从排序的高到低选择所述回收单元,其中所述实体单元对应的所述第一变化量的数值越小,所述实体单元的排序越高。
本发明的一范例实施例提供一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元。其中所述存储器控制电路单元包括主机接口、存储器接口以及存储器管理电路。主机接口用以耦接至主机系统。存储器接口用以耦接至所述可复写式非易失性存储器模块。存储器管理电路耦接至所述主机接口与所述存储器接口。其中所述存储器管理电路用以执行一或多个读取指令,并将读取次数的第一变化量大于读取干扰门槛值的所述实体单元记录为风险实体单元。并且,所述存储器管理电路更用以在执行数据整并操作时,将所述风险实体单元中存储的有效数据分为多次复制至多个回收单元。
在本发明的一范例实施例中,将所述风险实体单元中存储的有效数据分为多次复制至所述多个回收单元的操作中,所述存储器管理电路更用以根据分散次数计算所述风险实体单元中存储的有效数据的分散数据量。并且,所述存储器管理电路更用以根据所述分散数据量将所述风险实体单元中存储的有效数据及一或多个来源单元的有效数据复制至所述多个回收单元其中之一。
在本发明的一范例实施例中,根据所述分散数据量将所述风险实体单元中存储的有效数据及所述一或多个来源单元的有效数据复制至所述多个回收单元其中之一的操作中,所述存储器管理电路更用以根据所述多个实体单元对应的数据读取比例及有效数据比例选择所述多个实体单元中的一或多个作为所述一或多个来源单元。
在本发明的一范例实施例中,所述存储器管理电路更用以根据所述多个实体单元对应的读取次数及读取次数门槛值计算所述数据读取比例。并且,所述存储器管理电路更用以根据所述多个实体单元所存储的有效数据的数据量及所述多个实体单元包括的节点数量计算所述有效数据比例。
在本发明的一范例实施例中,所述存储器管理电路更用以建立第一管理信息,其中所述第一管理信息用以记录所述风险实体单元对应的逻辑至实体映射表的风险值。并且,所述存储器管理电路更用以在执行所述数据整并操作时,根据所述第一管理信息中的所述风险值挑选所述风险实体单元以用于分散有效数据。
在本发明的一范例实施例中,所述存储器管理电路更用以根据第一门槛值决定是否开始记录所述风险实体单元。并且,所述存储器管理电路更用以根据第二门槛值决定是否执行所述数据整并操作,其中所述第一门槛值不同于所述第二门槛值。
在本发明的一范例实施例中,所述存储器管理电路更用以将所述读取次数的变化量除以所述读取次数以获取所述第一变化量。
在本发明的一范例实施例中,所述存储器管理电路更用以排序所述实体单元的第一变化量。并且,所述存储器管理电路更用以从排序的高到低选择所述回收单元,其中所述实体单元对应的所述第一变化量的数值越小,所述实体单元的排序越高。
基于上述,本发明实施例提供的存储器管理方法、存储器存储装置及存储器控制电路单元,可预监控有读取干扰风险的实体单元,并将具有读取干扰风险的实体单元中所存储的有效数据分为多次进行分散。藉此,可减少实体单元的读取次数累积过快而造成的数据搬移次数,从而提升存储器存储装置的系统效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的读取次数对时间的示意图;
图8是根据本发明的一范例实施例所示出的第一管理信息的示意图;
图9是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图10是根据本发明的一范例实施例所示出的存储器管理方法的流程图;
图11是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称为存储器存储系统)包括可复写式非易失性存储器模块与控制器(亦称为控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图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可例如是随身盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near FieldCommunication Storage,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可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage,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)。
在一范例实施例中,实体程序化单元及实体抹除单元可由一个平面(亦称为存储器平面)中的多个连续的实体节点(node)组成。或者,在一范例实施例中,实体程序化单元及实体抹除单元可由一个芯片致能(CE)中的多个连续的实体节点组成。或者,在一范例实施例中,实体程序化单元及实体抹除单元可由多个平面中的多个连续的实体节点组成。
图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(B)。在本范例实施例中,实体单元610(0)~610(B)中的每一者是指一个实体抹除单元。然而,在另一范例实施例中,实体单元610(0)~610(B)中的每一者也可以包含多个实体抹除单元。
在本范例实施例中,存储器管理电路502会将实体单元610(0)~610(B)逻辑地分组为存储区601与闲置(spare)区602。存储区601中的实体单元610(0)~610(A)存储有数据,而闲置区602中的实体单元610(A+1)~610(B)尚未被用来存储数据。例如,属于存储区601的每一个实体单元可能存储有有效数据和/或无效数据,而属于存储区601的某一个实体单元被抹除之后就会被关联至闲置区602。当属于存储区601的某一个实体单元被写满之后,某一个实体单元会被从闲置区602选择并且被关联至存储区601,以存储其他数据。
在一范例实施例中,属于闲置区602的每一个实体单元亦称为闲置实体单元,而属于存储区601的每一个实体单元亦称为非闲置(non-spare)实体单元。在一范例实施例中,闲置实体单元亦称为第一类实体单元,而非闲置实体单元亦称为第二类实体单元。
在本范例实施例中,存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)的至少一部分。在本范例实施例中,主机系统11是通过逻辑地址(logical address,LA)来存取存储于存储区601中的数据,因此,逻辑单元612(0)~612(C)中的每一者是指一个逻辑地址。然而,在另一范例实施例中,逻辑单元612(0)~612(C)中的每一者也可以是由多个连续(例如,连续编号)的逻辑地址组成。
在本范例实施例中,存储器管理电路502会将逻辑单元与实体单元之间的映射关系(亦称为逻辑-实体映射关系)记录于至少一逻辑至实体映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑至实体映射表来执行对于存储器存储装置10的数据存取。在一范例实施例中,逻辑至实体映射表以及特定的管理数据(例如,记录有存储器存储装置10的管理信息的管理表格)会被存储在不属于存储区601与闲置区602的其他实体单元中,以避免被使用者修改。
在本范例实施例中,有效数据是属于某一个逻辑单元的当前数据(或最新数据),而无效数据则不是属于任一个逻辑单元的当前数据。例如,若主机系统11将一笔新数据存储至某一逻辑单元而覆盖掉此逻辑单元原先存储的旧数据(即,更新属于此逻辑单元的数据),则存储区601中的此笔新数据即为属于此逻辑单元的当前数据并且会被标记为有效,而被覆盖掉的旧数据可能仍然存储在存储区601中但被标记为无效。
在本范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体单元之间的映射关系会被移除,并且此逻辑单元与存储有属于此逻辑单元的当前数据(或最新数据)的实体单元之间的映射关系会被建立。然而,在另一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体单元之间的映射关系仍可被维持。
当存储器存储装置10出厂时,属于闲置区602的实体单元(即,第一类实体单元)的总数会是一个预设数目(例如,30)。随着存储器存储装置10的使用,越来越多的实体单元会被从闲置区602选择并且被关联至存储区601以存储数据(例如,来自主机系统11的使用者数据)。因此,属于闲置区602的实体单元(即,第一类实体单元)的总数会随着存储器存储装置10的使用而逐渐减少。
在存储器存储装置10的运作中,存储器管理电路502会持续更新属于闲置区602的实体单元(即,第一类实体单元)的总数。存储器管理电路502会判断第一类实体单元的总数是否小于或等于一个门槛值。此门槛值例如是2或者更大的值(例如,10),本发明不加以限制。若第一类实体单元的总数小于或等于门槛值,存储器管理电路502会执行一个数据整并操作。在一范例实施例中,此数据整并操作亦称为垃圾收集操作(garbage collectionprocess)。
在数据整并操作中,存储器管理电路502会从存储区601中选择至少一个实体单元并且尝试将有效数据从所选择的实体单元集中复制(或搬移)到另一实体单元。用来存储所复制(或搬移)的有效数据的实体单元则是从闲置区602中选择并且会被关联至存储区601。若某一个实体单元所存储的有效数据皆已被复制(或搬移),则此实体单元会被抹除并且被关联至闲置区602。
在一范例实施例中,将某一个实体单元从存储区601重新关联回闲置区602的操作亦称为释放一个闲置实体单元。随着数据整并操作的执行时间增加,越来越多的闲置实体单元会被释放。藉此,在开始执行数据整并操作之后,属于闲置区602的实体单元(即,第一类实体单元)的总数会逐渐增加,例如,从第一数目变更至第二数目。其中,第二数目大于第一数目。
在一范例实施例中,存储器管理电路502会判断实体单元的读取次数是否大于一个预监控门槛值(亦称为第一门槛值)。若任一实体单元的读取次数大于此第一门槛值,存储器管理电路502会进入一监控模式。并且,存储器管理电路502会根据一门槛值(亦称为第二门槛值)判断是否执行数据整并操作,其中第一门槛值不同于第二门槛值。在一范例实施例中,存储器管理电路502会持续判断实体单元的读取次数是否大于一个监控门槛值(亦可称为第二门槛值)。若任一实体单元的读取次数大于此第二门槛值,存储器管理电路502会执行数据整并操作。
图7是根据本发明的一范例实施例所示出的读取次数对时间的示意图。请参图7中的折线图,监控门槛值大于预监控门槛值,但本发明不加以限制预监控门槛值及监控门槛值的数值。在本范例实施例中,某一实体单元的读取次数在时间t1时大于预监控门槛值TH1。因此,存储器管理电路502在时间t1进入监控模式。接着,某一实体单元的读取次数在时间t2时大于监控门槛值TH2。因此,存储器管理电路502在时间t2执行数据整并操作。
在另一范例实施例中,存储器管理电路502也可以是如前述利用第一类实体单元的总数与门槛值(亦可称为第二门槛值)判断是否执行数据整并操作,本发明不加以限制执行数据整并操作的条件。
当进入监控模式,存储器管理电路502会持续接收并执行读取指令,并将读取次数的单位次数变化量(亦称为第一变化量)大于一读取干扰门槛值的实体单元记录为风险实体单元。本发明不加以限制读取干扰门槛值的数值。接着,当存储器管理电路502执行数据整并操作时,将被记录为风险实体单元的实体单元中存储的有效数据分为多次复制至回收单元(亦称为目标实体单元)。
在一范例实施例中,存储器管理电路502将实体单元的读取次数的变化量除以读取次数以获取第一变化量。此第一变化量即为各实体单元的风险指数。第一变化量的意义为判断在单位读取次数中对于各实体单元的读取密集度。若第一变化量越高,代表该实体单元的风险指数越高。因此存储器管理电路502将第一变化量大于读取干扰门槛值的实体单元记录为风险实体单元。
在监控模式中,存储器管理电路502除了记录风险实体单元外,还建立读取干扰管理信息(亦称为第一管理信息)。第一管理信息是用来决定执行数据整并操作时,挑选风险实体单元中用于分散的有效数据。详细来说,第一管理信息用以记录进入监控模式后读取指令对应的逻辑至实体映射表的风险值。若执行各个读取指令时,所读取的实体程序化单元包括在被记录为风险实体单元的实体单元中,此时存储器管理电路502会记录所读取的实体程序化单元对应的逻辑至实体映射表(Page Table Entry,PTE)的风险值。
图8是根据本发明的一范例实施例所示出的第一管理信息的示意图。在本范例实施例中,假设实体单元610(0)被记录为风险实体单元,并且第一管理信息记录风险实体单元610(0)对应的逻辑至实体映射表的表格信息800。表格信息800用以记录实体单元610(0)对应的逻辑至实体映射表的风险值。在本范例实施例中,存储器管理电路502执行读取指令时,所读取的实体程序化单元包括在被记录为风险实体单元的实体单元610(0)中。此时,存储器管理电路502会在表格信息800中记录所读取的实体程序化单元对应的逻辑至实体映射表PTE20的风险值。风险值例如记录在图8中的识别信息。亦即,表格信息800中记录逻辑至实体映射表PTE20的识别信息为比特“1”,表示实体单元610(0)被记录为风险实体单元后,逻辑至实体映射表PTE20映射且对应至实体单元610(0)的实体程序化单元在执行读取指令时被读取。逻辑至实体映射表PTE30的识别信息为比特“0”,表示逻辑至实体映射表PTE30映射的实体程序化单元并非是经常被读取的。
存储器管理电路502在执行数据整并操作时,可挑选多个风险实体单元中的一个作为风险来源单元(亦称为风险来源实体单元)。在一范例实施例中,存储器管理电路502可根据第一管理信息挑选风险实体单元作为风险来源单元。详细来说,存储器管理电路502可挑选具有逻辑至实体映射表的识别信息为比特“1”所对应的风险实体单元作为风险来源单元。此表示该风险实体单元近期有被读取。在另一范例实施例中,存储器管理电路502可分析风险实体单元所存储的有效数据的数据量,并选择有效数据的数据量最少的风险实体单元作为风险来源单元。
需说明的是,本发明提供的存储器管理电路502还可利用风险实体单元的其他参数及方法挑选所使用的风险来源单元,本发明不在此限制。
在一范例实施例中,存储器管理电路502在执行数据整并操作时,将被记录为风险实体单元的实体单元中存储的有效数据分为多次复制至回收单元。例如,存储器管理电路502可挑选多个风险实体单元中的一个作为风险来源单元,并将风险来源单元中存储的有效数据分为多次复制至回收单元。在一范例实施例中,前述记录的第一管理信息可用来决定执行数据整并操作时用于分散的有效数据。亦即,存储器管理电路502会根据第一管理信息从风险实体单元中优先挑选最近被读取的有效数据。举例来说,存储器管理电路502会选择第一管理信息中识别信息为比特“1”的逻辑至实体映射表所映射的实体程序化单元所存储的有效数据作为优先分散的有效数据。例如,表格信息800中逻辑至实体映射表PTE20所映射的实体程序化单元所存储的有效数据。
在一范例实施例中,当判断需执行数据整并操作,存储器管理电路502分析挑选出的风险实体单元所存储的有效数据的数据量,并根据一分散次数计算风险实体单元中存储的有效数据的分散数据量。接着,存储器管理电路502根据分散数据量将风险实体单元中存储的有效数据及其他来源单元(亦称为来源实体单元)的有效数据复制至回收单元。
具体而言,存储器管理电路502会计算此次数据整并操作中,风险实体单元有多少数据量需要被分散。首先,存储器管理电路502分析挑选出的风险实体单元所存储的有效数据的数据量,并且将有效数据的数据量除以分散次数以产生分散数据量。于此,分散次数代表及将使用多少次数据整并操作分散风险实体单元所存储的数据。分散次数可由专业研究人员经由一连串实验事先决定,本发明不在此限制分散次数的数值。举例来说,分散数据量可利用以下方程式(1)计算得出。
α=(valid count)/n (1)
在方程式(1)中,α代表分散数据量,valid count代表风险实体单元所存储的有效数据的数据量,n代表分散次数。
在计算出分散数据量后,存储器管理电路502挑选其他来源单元,以决定用于与风险实体单元中所存储的部分有效数据一起复制至回收单元的来源单元。在一范例实施例中,存储器管理电路502选择较不常被读取的实体单元作为来源单元。举例来说,存储器管理电路502可以根据实体单元对应的数据读取比例及有效数据比例选择多个实体单元中的一或多个作为来源单元。特别是,存储器管理电路502会选择数据读取比例较低和/或有效数据比例较低的实体单元作为来源单元。举例来说,存储器管理电路502可根据以下方程式(2)的计算结果排序实体单元,以决定来源单元。
在方程式(2)中,代表判断参数。其中,实体单元对应的判断参数的数值越低,该实体单元被挑选为来源单元的排序越高。A、B代表权重,其可由专业研究人员经由一连串实验事先决定。read count ratio代表数据读取比例。数据读取比例低代表该实体单元比较少被读取到,并可让将数据复制过去的新的实体单元的读取次数上升较慢。在一范例实施例中,数据读取比例可利用以下方程式(3)计算得出。
read count ratio=read countblock/thresholdread count (3)
在方程式(3)中,read countblock代表实体单元的读取次数。thresholdread count代表实体单元的读取次数门槛值(read count threshold)。
valid count ratio代表有效数据比例。有效数据比例低可增加执行数据整并操作的效率。在一范例实施例中,有效数据比例可利用以下方程式(4)计算得出。
valid count ratio=valid countblock/total nodeblock (4)
在方程式(4)中,valid countblock代表实体单元所存储的有效数据的数据量。total nodeblock代表实体单元包括的实体节点的节点数量。
需说明的是,本发明提供的存储器管理电路502还可利用实体单元的其他参数及方法挑选所使用的其他来源单元,本发明不在此限制。
图9是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图9,实体单元610(0)在此次数据整并操作被挑选为要进行数据分散的风险实体单元,实体单元610(1)及610(2)在此次数据整并操作中被挑选为来源单元,并且实体单元610(3)为回收单元。在本范例实施例中,当对实体单元610(0)执行数据整并操作时,存储器管理电路502根据第一管理信息决定实体单元610(0)中用于分散的有效数据。存储器管理电路502根据实体单元对应的数据读取比例及有效数据比例选择实体单元610(1)及610(2)作为来源单元,并且从实体单元610(1)及610(2)中分析出有效数据。藉此,通过数据整并操作,存储器管理电路502对实体单元610(0)、610(1)及610(2)进行有效数据的合并,并将合并后的有效数据复制至实体单元610(3)。需注意的是,图9中的实体单元610(0)、610(1)、610(2)及610(3)的斜线阴影部分为存储的有效数据。
根据上述实施例,本范例实施例将风险实体单元中所存储的有效数据分为多次(例如为3次)进行分散,其余用于此次数据整并操作的数据则从其他来源单元中获得。藉此,根据本发明范例实施例提供的存储器管理方法,存储器管理电路502会通过多次数据整并操作分散风险实体单元中所存储的有效数据,达到读取次数分散的效果。
存储器管理电路502可根据不同方法决定回收单元,本发明不在此限制决定回收单元的方法。在一范例实施例中,在执行数据整并操作时,存储器管理电路502会计算关联于各实体单元的读取次数门槛值(read count threshold)。并且存储器管理电路502根据读取次数门槛值决定回收单元。举例来说,读取次数门槛值可以根据实体单元的抹除次数而重新计算决定。在一范例实施例中,各抹除次数与读取次数门槛值的对应关系可以例如是存储在查找表中,并且存储器管理电路502可以将抹除次数输入至此查找表并将此查找表的输出作为对应于抹除次数的读取次数门槛值。抹除次数与读取次数门槛值的对应关系例如下表1所示,其中对于不同的存储器,抹除次数与读取次数门槛值之间的关系亦可能有所不同。对于单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块,读取次数门槛值会随着抹除次数增加而减少。另一方面多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块,读取次数门槛值会随着抹除次数的增加而先增加然后减少。
表1
在其他实施例中,各抹除次数与读取次数门槛值的对应关系也可以利用方程式计算而得,本发明不在此限制。需说明的是,上述方程式(3)中的读取次数门槛值也可利用此范例实施例提供的方法计算得出。
在另一范例实施例中,存储器管理电路502根据第一变化量决定回收单元。其中,存储器管理电路502选择第一变化量最小的实体单元作为回收单元。具体而言,在执行数据整并操作时,存储器管理电路502会计算关联于各实体单元的第一变化量,并排序各实体单元的第一变化量。并且存储器管理电路502从排序的高到低选择回收单元。其中,实体单元对应的第一变化量的数值越小,该实体单元被选择为回收单元的排序越高。
图10是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
请参照图10,在步骤S1002中,执行读取指令,并将读取次数的第一变化量大于读取干扰门槛值的所述实体单元记录为风险实体单元。在步骤S1004中,在执行数据整并操作时,将所述风险实体单元中存储的有效数据分为多次复制至多个回收单元。
图11是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
请参照图11,在步骤S1102中,获取实体单元的读取次数。在步骤S1104中,判断实体单元的读取次数是否大于第一门槛值。若是,则步骤S1106会被执行,以启动监控模式。若否,则回到步骤S1102。
然而,图10与图11中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图10与图11中各步骤可以实作为多个代码或是电路,本发明不加以限制。此外,图10与图11的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明实施例提供的存储器管理方法、存储器存储装置及存储器控制电路单元,可将具有读取干扰风险的实体单元中所存储的有效数据分为多次进行分散。藉此,可减少实体单元的读取次数累积过快而造成的数据搬移次数,从而提升存储器存储装置的系统效能。此外,本发明实施例还利用预监控门槛值提早开始监控可复写式非易失性存储器模块中具有读取干扰风险的实体单元。藉此,可对有读取干扰风险的实体单元进行监控,以获取近期被密集读取的实体单元进行数据分散,从而达到更好的读取次数分散的效果。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种存储器管理方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,所述存储器管理方法包括:
执行一或多个读取指令,并将读取次数的第一变化量大于读取干扰门槛值的所述实体单元记录为风险实体单元;以及
在执行数据整并操作时,将所述风险实体单元中存储的有效数据分为多次复制至多个回收单元,其中包括:
根据分散次数计算所述风险实体单元中存储的有效数据的分散数据量;以及
根据所述分散数据量将所述风险实体单元中存储的有效数据及一或多个来源单元的有效数据复制至所述多个回收单元其中之一。
2.根据权利要求1所述的存储器管理方法,其中根据所述分散数据量将所述风险实体单元中存储的有效数据及所述一或多个来源单元的有效数据复制至所述多个回收单元其中之一的步骤包括:
根据所述多个实体单元对应的数据读取比例及有效数据比例选择所述多个实体单元中的一或多个作为所述一或多个来源单元。
3.根据权利要求2所述的存储器管理方法,其中所述方法还包括:
根据所述多个实体单元对应的读取次数及读取次数门槛值计算所述数据读取比例;以及
根据所述多个实体单元所存储的有效数据的数据量及所述多个实体单元包括的节点数量计算所述有效数据比例。
4.根据权利要求1所述的存储器管理方法,其中所述方法还包括:
建立第一管理信息,其中所述第一管理信息用以记录所述风险实体单元对应的逻辑至实体映射表的风险值;以及
在执行所述数据整并操作时,根据所述第一管理信息中的所述风险值挑选所述风险实体单元中用于分散的有效数据。
5.根据权利要求1所述的存储器管理方法,其中所述方法还包括:
根据第一门槛值决定是否开始记录所述风险实体单元;以及
根据第二门槛值决定是否执行所述数据整并操作,其中所述第一门槛值不同于所述第二门槛值。
6.根据权利要求1所述的存储器管理方法,其中所述方法还包括:
将所述读取次数的变化量除以所述读取次数以获取所述第一变化量。
7.根据权利要求1所述的存储器管理方法,其中所述方法还包括:
排序所述实体单元的第一变化量;以及
从排序的高到低选择所述回收单元,其中所述实体单元对应的所述第一变化量的数值越小,所述实体单元的排序越高。
8.一种存储器存储装置,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以执行一或多个读取指令,并将读取次数的第一变化量大于读取干扰门槛值的所述实体单元记录为风险实体单元,并且
所述存储器控制电路单元更用以在执行数据整并操作时,将所述风险实体单元中存储的有效数据分为多次复制至多个回收单元,其中
所述存储器控制电路单元更用以根据分散次数计算所述风险实体单元中存储的有效数据的分散数据量,并且
所述存储器控制电路单元更用以根据所述分散数据量将所述风险实体单元中存储的有效数据及一或多个来源单元的有效数据复制至所述多个回收单元其中之一。
9.根据权利要求8所述的存储器存储装置,其中根据所述分散数据量将所述风险实体单元中存储的有效数据及所述一或多个来源单元的有效数据复制至所述多个回收单元其中之一的操作中,所述存储器控制电路单元更用以根据所述多个实体单元对应的数据读取比例及有效数据比例选择所述多个实体单元中的一或多个作为所述一或多个来源单元。
10.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元更用以根据所述多个实体单元对应的读取次数及读取次数门槛值计算所述数据读取比例,并且
所述存储器控制电路单元更用以根据所述多个实体单元所存储的有效数据的数据量及所述多个实体单元包括的节点数量计算所述有效数据比例。
11.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元更用以建立第一管理信息,其中所述第一管理信息用以记录所述风险实体单元对应的逻辑至实体映射表的风险值,并且
所述存储器控制电路单元更用以在执行所述数据整并操作时,根据所述第一管理信息中的所述风险值挑选所述风险实体单元中用于分散的有效数据。
12.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元更用以根据第一门槛值决定是否开始记录所述风险实体单元,并且
所述存储器控制电路单元更用以根据第二门槛值决定是否执行所述数据整并操作,其中所述第一门槛值不同于所述第二门槛值。
13.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元更用以将所述读取次数的变化量除以所述读取次数以获取所述第一变化量。
14.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元更用以排序所述实体单元的第一变化量,并且
所述存储器控制电路单元更用以从排序的高到低选择所述回收单元,其中所述实体单元对应的所述第一变化量的数值越小,所述实体单元的排序越高。
15.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,其中所述存储器控制电路单元包括:
主机接口,用以耦接至主机系统;
存储器接口,用以耦接至所述可复写式非易失性存储器模块;以及
存储器管理电路,耦接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以执行一或多个读取指令,并将读取次数的第一变化量大于读取干扰门槛值的所述实体单元记录为风险实体单元,并且
所述存储器管理电路更用以在执行数据整并操作时,将所述风险实体单元中存储的有效数据分为多次复制至多个回收单元,其中
所述存储器管理电路更用以根据分散次数计算所述风险实体单元中存储的有效数据的分散数据量,并且
所述存储器管理电路更用以根据所述分散数据量将所述风险实体单元中存储的有效数据及一或多个来源单元的有效数据复制至所述多个回收单元其中之一。
16.根据权利要求15所述的存储器控制电路单元,其中根据所述分散数据量将所述风险实体单元中存储的有效数据及所述一或多个来源单元的有效数据复制至所述多个回收单元其中之一的操作中,所述存储器管理电路更用以根据所述多个实体单元对应的数据读取比例及有效数据比例选择所述多个实体单元中的一或多个作为所述一或多个来源单元。
17.根据权利要求16所述的存储器控制电路单元,其中所述存储器管理电路更用以根据所述多个实体单元对应的读取次数及读取次数门槛值计算所述数据读取比例,并且
所述存储器管理电路更用以根据所述多个实体单元所存储的有效数据的数据量及所述多个实体单元包括的节点数量计算所述有效数据比例。
18.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路更用以建立第一管理信息,其中所述第一管理信息用以记录所述风险实体单元对应的逻辑至实体映射表的风险值,并且
所述存储器管理电路更用以在执行所述数据整并操作时,根据所述第一管理信息中的所述风险值挑选所述风险实体单元以用于分散有效数据。
19.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路更用以根据第一门槛值决定是否开始记录所述风险实体单元,并且
所述存储器管理电路更用以根据第二门槛值决定是否执行所述数据整并操作,其中所述第一门槛值不同于所述第二门槛值。
20.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路更用以将所述读取次数的变化量除以所述读取次数以获取所述第一变化量。
21.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路更用以排序所述实体单元的第一变化量,并且
所述存储器管理电路更用以从排序的高到低选择所述回收单元,其中所述实体单元对应的所述第一变化量的数值越小,所述实体单元的排序越高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010981814.3A CN112068782B (zh) | 2020-09-17 | 2020-09-17 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010981814.3A CN112068782B (zh) | 2020-09-17 | 2020-09-17 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112068782A CN112068782A (zh) | 2020-12-11 |
CN112068782B true CN112068782B (zh) | 2023-07-25 |
Family
ID=73680988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010981814.3A Active CN112068782B (zh) | 2020-09-17 | 2020-09-17 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068782B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434331B (zh) * | 2021-07-05 | 2023-07-25 | 群联电子股份有限公司 | 跨框编码管理方法、存储器存储装置及存储器控制电路 |
CN114822664B (zh) * | 2022-05-12 | 2024-06-14 | 合肥兆芯电子有限公司 | 基于数据优先级的风险评估方法、存储装置及控制电路 |
CN115145491B (zh) * | 2022-07-28 | 2025-02-11 | 深圳宏芯宇电子股份有限公司 | 存储器管理方法、存储器控制器及存储器存储装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI563507B (en) * | 2015-07-01 | 2016-12-21 | Phison Electronics Corp | Memory management method, memory control circuit unit and memry storage apparatus |
CN107204205A (zh) * | 2016-03-16 | 2017-09-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN107799142A (zh) * | 2016-08-31 | 2018-03-13 | 三星电子株式会社 | 存储设备及其操作方法 |
CN110390985A (zh) * | 2018-04-20 | 2019-10-29 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN110531922A (zh) * | 2018-05-23 | 2019-12-03 | 爱思开海力士有限公司 | 存储器系统、控制器及其操作方法 |
CN110879793A (zh) * | 2018-09-05 | 2020-03-13 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183142B2 (en) * | 2013-03-15 | 2015-11-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Reducing flash memory write amplification and latency |
-
2020
- 2020-09-17 CN CN202010981814.3A patent/CN112068782B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI563507B (en) * | 2015-07-01 | 2016-12-21 | Phison Electronics Corp | Memory management method, memory control circuit unit and memry storage apparatus |
CN107204205A (zh) * | 2016-03-16 | 2017-09-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN107799142A (zh) * | 2016-08-31 | 2018-03-13 | 三星电子株式会社 | 存储设备及其操作方法 |
CN110390985A (zh) * | 2018-04-20 | 2019-10-29 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN110531922A (zh) * | 2018-05-23 | 2019-12-03 | 爱思开海力士有限公司 | 存储器系统、控制器及其操作方法 |
CN110879793A (zh) * | 2018-09-05 | 2020-03-13 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
CN112068782A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI676176B (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110879793B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI696073B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN113885692B (zh) | 存储器效能优化方法、存储器控制电路单元以及存储装置 | |
CN112068782B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TW201820145A (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN105988950A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN106484307A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN110390985B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111737165B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN106775479B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN110308876B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN117636967B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111767005B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI775143B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW202109536A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN106445397A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN111813325B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI712886B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW201933103A (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110096215B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
TWI859897B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI867977B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN112445418B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111414128B (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 |