CN117519574A - 存储器管理方法、存储器控制器及存储器存储装置 - Google Patents
存储器管理方法、存储器控制器及存储器存储装置 Download PDFInfo
- Publication number
- CN117519574A CN117519574A CN202210914396.5A CN202210914396A CN117519574A CN 117519574 A CN117519574 A CN 117519574A CN 202210914396 A CN202210914396 A CN 202210914396A CN 117519574 A CN117519574 A CN 117519574A
- Authority
- CN
- China
- Prior art keywords
- page
- memory
- physical
- data
- entity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005055 memory storage Effects 0.000 title claims abstract description 61
- 238000007726 management method Methods 0.000 title claims abstract description 26
- 238000013507 mapping Methods 0.000 claims description 31
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 14
- 238000002372 labelling Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 16
- 238000012937 correction Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage 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]
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
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
技术领域
本发明涉及存储技术领域,尤其涉及一种存储器管理方法、存储器控制器及存储器存储装置。
背景技术
可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小与无机械结构等特性,故被广泛地应用于各种电子装置。可复写式非易失性存储器具有多个实体区块(physical block),每一实体区块包括多个实体页(physicalpage)。其中,实体区块为数据擦除的最小单位,而实体页面则是数据写入的最小单位。
在主机系统欲从存储器存储装置中读取存储数据时,存储器存储装置会根据读取指令从实体区块中读取数据。一般在多次对实体页进行数据操作时,可能对同一个实体区块内其它实体页的数据操作造成干扰,造成读取数据出错。
如何处理读取干扰问题实为本发明领域技术人员所致力研究的课题之一。
发明内容
本发明提供一种存储器管理方法、存储器控制器与存储器存储装置,可解决存储器存储装置中实体单元的读干扰的技术问题。
本发明解决上述技术问题所采用的技术方案如下:
本发明的一实施例提供一种存储器管理方法,应用于存储器存储装置,所述存储器存储装置包括存储器模块,所述存储器模块包括多个实体区块,所述实体区块包括多个实体页,所述方法包括:执行一个或多个读取指令,获取在执行所述一个或多个读取指令后的一个或多个逻辑页的读取频率值;根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页;将所述目标页中的数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块;根据所述第一实体区块的物理地址而更新所述数据的逻辑至物理映射关系。
进一步,在一实施例中,其中所述根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页的步骤包括:将读取频率值超过第二阈值的所述实体页标注为监控页,所述第二阈值小于所述第一阈值;将所述监控页中读取频率值超过第一阈值的实体页标注为目标页。
进一步,在一实施例中,所述获取一个或多个逻辑页的读取频率值的步骤包括:建立一读取频率表,所述读取频率表中记录有每一个逻辑页和实体页的读取频率值;所述读取频率表中,用“0”来标注所述监控页,以及用“1”来标注所述目标页。
进一步,在一实施例中,其中将所述目标页中的数据复制至第一实体区块中的步骤包括:根据所述“1”的数量,从所述存储器模块中挑选合适数量的第一实体区块来存储所述目标页中的数据。
进一步,在一实施例中,其中将所述目标页中的数据复制至第一实体区块中的步骤包括:将所述存储器模块中的多个实体区块划分为数据区和闲置区,所述数据区和闲置区分别包括一个或多个实体区块;所述监控页和所述目标页属于所述数据区的实体区块的实体页;从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据。
进一步,在一实施例中,其中从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据的步骤包括:根据实体区块的擦除次数将所述闲置区中的多个实体区块进行群组划分,得到多个群组,每个群组分别对应不同的擦除次数取值区间;根据所述目标页中的数据量大小,从擦除次数取值区间最小的群组中挑选合适数量的擦除次数最小的实体区块来存储所述目标页中的数据。
进一步,本申请还在一实施例中提出一种存储器控制器,应用于存储器存储装置;所述存储器存储装置包括连接接口、存储器模块及存储器控制器;所述连接接口用于将存储器存储装置连接至主机系统;所述存储器模块包括多个实体区块,所述实体区块包括多个实体页;所述存储器控制器连接至所述连接接口与所述存储器模块;所述存储器控制器包括:主机接口,用于连接至主机系统;存储器接口,用于连接至所述存储器模块;以及存储器控制电路,其连接至所述主机接口与所述存储器接口;所述存储器控制电路用于执行一个或多个读取指令,以及所述存储器控制电路获取在执行所述一个或多个读取指令后的一个或多个逻辑页的读取频率值;所述存储器控制电路根据所述逻辑页的读取频率值而得到实体页的读取频率值,所述存储器控制电路将所述逻辑页映射至所述实体页,且所述存储器控制电路将读取频率值超过第一阈值的所述实体页标注为目标页;所述存储器控制电路将所述目标页中的数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块;所述存储器控制电路根据所述第一实体区块的物理地址而更新所述数据的逻辑至物理映射关系。
进一步,在一实施例中,其中所述存储器控制电路根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页的操作还包括;所述存储器控制电路用于将读取频率值超过第二阈值的所述实体页标注为监控页,所述第二阈值小于所述第一阈值;所述存储器控制电路用于将所述监控页中读取频率值超过第一阈值的实体页标注为目标页。
进一步,在一实施例中,所述存储器控制电路获取一个或多个逻辑页的读取频率值的操作包括:所述存储器控制电路用于建立一读取频率表,所述读取频率表中记录有每一个逻辑页和实体页的读取频率值;在所述读取频率表中,所述存储器控制电路用“0”来标注所述监控页和用“1”来标注所述目标页。
进一步,在一实施例中,其中所述存储器控制电路将所述目标页中的数据复制至第一实体区块中的操作还包括:所述存储器控制电路根据所述“1”的数量,从所述存储器模块中挑选合适数量的第一实体区块来存储所述目标页中的数据。
进一步,在一实施例中,其中所述存储器控制电路将所述目标页中的数据复制至第一实体区块中的操作包括:所述存储器控制电路将所述存储器模块中的多个实体区块划分为数据区和闲置区,所述数据区和闲置区分别包括一个或多个实体区块;其中,所述监控页和所述目标页属于所述数据区的实体区块的实体页;以及,所述存储器控制电路从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据。
进一步,在一实施例中,其中所述存储器控制电路从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据的操作还包括:所述存储器控制电路根据实体区块的擦除次数将所述闲置区中的多个实体区块进行群组划分,得到多个群组,每个群组分别对应不同的擦除次数取值区间;所述存储器控制电路根据所述目标页中的数据量大小,从擦除次数取值区间最小的群组中挑选合适数量的擦除次数最小的实体区块来存储所述目标页中的数据。
进一步,本申请在一实施例中还提出一种存储器存储装置;所述存储器存储装置包括连接接口、存储器模块及存储器控制器;所述连接接口用于将存储器存储装置连接至主机系统;所述存储器模块包括多个实体区块;所述存储器控制器连接至所述连接接口与所述存储器模块;所述存储器控制器用于执行一个或多个读取指令,以及所述存储器控制器获取在执行所述一个或多个读取指令后的一个或多个逻辑页的读取频率值;所述存储器控制器根据所述逻辑页的读取频率值而得到实体页的读取频率值,且所述存储器控制器将读取频率值超过第一阈值的所述实体页标注为目标页;所述存储器控制器将所述目标页中的数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块;所述存储器控制器根据所述第一实体区块的物理地址而更新所述数据的逻辑至物理映射关系。
进一步,在一实施例中,其中所述存储器控制器根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页的操作还包括;所述存储器控制器用于将读取频率值超过第二阈值的所述实体页标注为监控页,所述第二阈值小于所述第一阈值;所述存储器控制器用于将所述监控页中读取频率值超过第一阈值的实体页标注为目标页。
进一步,在一实施例中,所述存储器控制器获取一个或多个逻辑页的读取频率值的操作包括:所述存储器控制器用于建立一读取频率表,所述读取频率表中记录有每一个逻辑页和实体页的读取频率值;在所述读取频率表中,所述存储器控制器用“0”来标注所述监控页和用“1”来标注所述目标页。
进一步,在一实施例中,其中所述存储器控制器将所述目标页中的数据复制至第一实体区块中的操作还包括:所述存储器控制器根据所述“1”的数量,从所述存储器模块中挑选合适数量的第一实体区块来存储所述目标页中的数据。
进一步,在一实施例中,其中所述存储器控制器将所述目标页中的数据复制至第一实体区块中的操作包括:所述存储器控制器将所述存储器模块中的多个实体区块划分为数据区和闲置区,所述数据区和闲置区分别包括一个或多个实体区块;其中,所述监控页和所述目标页属于所述数据区的实体区块的实体页;以及,所述存储器控制器从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据。
进一步,在一实施例中,其中所述存储器控制器从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据的操作还包括:所述存储器控制器根据实体区块的擦除次数将所述闲置区中的多个实体区块进行群组划分,得到多个群组,每个群组分别对应不同的擦除次数取值区间;所述存储器控制器根据所述目标页中的数据量大小,从擦除次数取值区间最小的群组中挑选合适数量的擦除次数最小的实体区块来存储所述目标页中的数据。
本发明提供一种存储器管理方法、存储器控制器与存储器存储装置,其根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页;对所述目标页执行数据搬移操作,将所述目标页中的数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块;然后从擦除次数取值区间最小且错误比特值取值区间最小的群组中挑选擦除次数最小且错误比特值最小的实体区块来存储所述目标页中的有效数据。藉此,一方面可解决实体页出现读干扰的问题;另外一方面可提高存储器存储装置的数据读取速度。
为让本发明的上述技术特征和有益效果能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1为本发明实施例所示出的一种存储器存储装置的示意图;
图2为本发明一实施例所示出的一种存储器控制器的结构框图;
图3为本发明一实施例所示出的一种管理存储器模块的示意图;
图4为本发明一实施例所示出的一种管理存储器模块的示意图;
图5为本发明一实施例所示出的一种存储器管理方法的流程图;
图6为本发明一实施例所示出的一种在读取频率表中根据逻辑页和实体页的读取频率值而标注出监控页和目标页的示意图;
图7为本发明一实施例所示出的一种将目标页中存储的有效数据复制至实体区块的示意图;
图8为本发明一实施例所示出的一种管理存储器模块的示意图;
图9为本发明一实施例所示出的一种管理存储器模块的示意图。
具体实施方式
下面结合附图及案例详细说明本申请实施例所述存储系统的具体结构及实现方案。
图1是根据本发明的实施例所示出的存储器存储装置的示意图。请参照图1,存储系统10包括主机系统11与存储器存储装置12。主机系统11可为任意型态的计算机系统。例如。主机系统11可为笔记本计算机、台式计算机、智能手机等各式电子系统。存储器存储装置12用于存储来自主机系统11的数据。例如,存储器存储装置12可包括固态硬盘、U盘、存储卡或其他类型的非易失性存储装置。主机系统11可经由SATA、PCI Express、USB或其他类型的连接接口电性连接至存储器存储装置12。因此,主机系统11可将数据存储至存储器存储装置12和/或从存储器存储装置12读取数据。
存储器存储装置12可包括连接接口121、存储器模块122及存储器控制器123。连接接口121用于将存储器存储装置12连接至主机系统11。例如,连接接口121可支持SATA、PCIExpress或USB等连接接口标准。存储器存储装置12可经由连接接口121与主机系统11通信。
存储器模块122用于存储数据。存储器模块122可包括可复写式非易失性存储器模块。存储器模块122包括存储单元阵列。存储器模块122中的存储单元是以电压的形式来存储数据。例如,存储器模块122可SLC型快闪存储器模块、MLC型快闪存储器模块、TLC型快闪存储器模块、QLC型快闪存储器模块或其他具有相似特性的存储器模块。
存储器控制器123连接至连接接口121与存储器模块122。存储器控制器123可用于控制存储器存储装置12。例如,存储器控制器123可控制连接接口121与存储器模块122以进行数据存取与数据管理。例如,存储器控制器123可包括中央处理单元(CPU)、或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(Digital Signal Processor,DSP)、可编程控制器、专用集成电路(Application SPecific Integrated Circuits,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)或其他类似装置或这些装置的组合。
在一实施例中,存储器控制器123亦称为快闪存储器控制器。在一实施例中,存储器模块122也称为快闪存储器模块。存储器模块122可接收来自存储器控制器123的指令序列并根据此指令序列存取存储单元。
图2是根据本发明的一实施例所示出的存储器控制器的结构框图。请参照图2,存储器控制器123包括存储器控制电路204、主机接口202及存储器接口206。
存储器控制电路204用于控制存储器控制器123的整体运作。具体来说,存储器控制电路204具有多个控制指令,并且在存储器存储装置12运作时,这些控制指令会被执行以进行数据的写入、读取与擦除等运作。以下说明存储器控制电路204的操作时,等同于说明存储器控制器123的操作。
在本实施例中,存储器控制电路204的控制指令是以固件型式来操作。例如,存储器控制电路204具有微处理器单元(图中未示出)与只读存储器(图中未示出),并且控制指令是被烧录至此只读存储器中。当存储器存储装置12运作时,这些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。
在另一实施例中,存储器控制电路204的控制指令也可以程序码型式存储于存储器模块122的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器控制电路204具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,只读存储器具有开机码(boot code),并且当存储器控制器123被致能时,微处理器单元会先执行开机码来将存储于存储器模块122中的控制指令载入至存储器控制电路204的随机存取存储器中。之后,微处理器单元会运转这些控制指令以进行数据的写入、读取与擦除等运作。
此外,在另一实施例中,存储器控制电路204的控制指令也可以一硬件型式来操作。
主机接口202是电性连接至存储器控制电路204并且用于接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口202来传送至存储器控制电路204。
存储器接口206是电性连接至存储器控制电路204并且用于存取存储器模块122。也就是说,欲写入至存储器模块122的数据会经由存储器接口206转换为存储器模块122所能接受的格式。具体来说,若存储器控制电路204要存取存储器模块122,存储器接口206会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示擦除数据的擦除指令序列、以及用于指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器控制电路204产生并且通过存储器接口206传送至存储器模块122。这些指令序列可包括一个或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在本实施例中,存储器控制器123可以针对存储于同一个实体页中的数据进行单框架(single-frame)编码,也可以针对存储于多个实体页中的数据进行多框架(multi-frame)编码。根据所采用的编码算法,存储器控制器123可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。
在一实施例中,存储器控制器123还包括缓冲存储器210、错误检查与校正电路212与电源管理电路208。缓冲存储器210是电性连接至存储器控制电路204并且用于暂存来自于主机系统11的数据与指令或来自于存储器模块122的数据。电源管理电路208是电性连接至存储器控制电路204并且用于控制存储器存储装置12的电源。错误检查与校正电路212是电性连接至存储器控制电路204并且用于执行错误检查与校正操作以确保数据的正确性。
具体来说,当存储器控制电路204从主机系统11中接收到写入指令时,错误检查与校正电路212会为对应写入指令的数据产生对应的错误校正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器控制电路204会将对应写入指令的数据与对应的错误校正码和/或错误检查码写入至存储器模块122中。之后,当存储器控制电路204从存储器模块122中读取数据时会同时读取数据对应的错误校正码和/或错误检查码,并且错误检查与校正电路212会依据错误校正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
图3是根据本发明的一实施例所示出的管理存储器模块的示意图。请参照图3,存储器模块122包括多个实体单元301(0)--301(A)。每一个实体单元皆包括多个存储单元且用于非易失性地存储数据。例如,一个实体单元可包括一个或多个实体区块。每一个实体区块可包括多个实体页。一个实体页可包括一个或多个存储单元。一个实体页中的多个存储单元可被同时程序化以存储数据。此外,一个实体区块中的所有实体页可被同时擦除。
进一步,如图3所示,存储器控制电路204可配置多个逻辑单元302(0)--302(B)来映射实体单元301(1)--301(A)。例如,一个逻辑单元可由一个或多个逻辑地址组成。逻辑单元与实体单元之间的映射关系则可记载于逻辑至实体映射表(L2P)中。示例性地,逻辑实体区块映射至物理实体区块被称之为区块(块)映射;逻辑实体页映射至物理实体页被称之为实体页(页)映射。下文中,逻辑至实体映射表可被理解成逻辑至物理映射表。当接收到来自主机系统11的存取指令时,存储器控制电路204可根据相应的逻辑至实体映射表来将数据存取到实体单元上。
图4是根据本发明的一实施例所示出的管理存储器模块的示意图。进一步,如图4所示,在一实施例中,存储器控制电路204会将实体单元301(0)--301(A)逻辑地分组为数据区506、闲置区504、系统区502与取代区508。
必须了解的是,本实施例中在描述存储器模块122的实体单元(实体区块)的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体区块是逻辑上的概念。也就是说,存储器模块122的实体区块的实际位置并未改变,而是逻辑上对存储器模块122的实体区块进行操作。
逻辑上属于数据区506与闲置区504的实体区块是用于存储来自于主机系统11的数据。具体来说,数据区506的实体区块是被视为已存储数据的实体区块,而闲置区504的实体区块是用于替换数据区506的实体区块。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器控制电路204会从闲置区504中提取实体区块来写入数据,写入了数据的实体区块在此之后就从闲置区504中划分到数据区506中,不再被划分到闲置区504中。当从主机系统11接收到读取指令与欲读取的数据时,存储器控制电路204会根据相应的逻辑至实体映射表从数据区506中的实体区块中读取数据。
具体地,数据区506、闲置区504、系统区502与取代区508分别包括一个或多个实体区块。数据区506中的实体区块是被视为已存储有效数据的实体区块,闲置区504中的实体区块也存储了数据,只是这些数据是无效数据,实体区块内有存储有数据(即使是无效数据),可以避免实体区块的漏电,有效地提高实体区块或存储器模块122的寿命。在后续需要使用闲置区504中的实体区块时,先擦除它们中的数据(无效数据),再写入到新数据到这些实体区块中。
逻辑上属于系统区502的实体区块是用于记录系统数据。例如,系统数据包括关于存储器模块122的制造商与型号、存储器模块122的实体区块数、每一实体区块的实体程序化单元数等。具体地,系统区502用于存储逻辑至实体映射表、读取频率表、实体区块的擦除次数表和实体区块的坏块表。
逻辑上属于取代区508中的实体区块是用于坏实体区块取代程序,以取代损坏的实体区块。具体来说,倘若取代区508中仍存有正常的实体区块并且数据区506、闲置区504、系统区502中的实体区块损坏时,存储器控制电路204会从取代区508中提取正常的实体区块来更换数据区506、闲置区504、系统区502中损坏的实体区块。
进一步,数据区506、闲置区504、系统区502与取代区508的实体区块的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置12的运作中,实体区块关联至数据区506、闲置区504、系统区502与取代区508的分组关系会动态地变动。例如,当闲置区504中的实体区块损坏而被取代区508的实体区块取代时,则原本取代区508的实体区块会被关联至闲置区504。
进一步,数据区506的实体区块是被视为已存储数据的实体区块,而闲置区504的实体区块是用于待存储新数据的实体区块,当写入了新数据的实体区块就划分到数据区506中,变成数据区506中的实体区块。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器控制电路204会根据相应的逻辑至实体映射表从闲置区504中提取实体区块来写入数据,并更新所述实体区块的所属区域关系,即将该存储新数据的原本属于闲置区504的实体区块变成数据区506中的实体区块。当从主机系统11接收到读取指令与欲读取的数据时,存储器控制电路204会根据相应的逻辑至实体映射表从数据区506中的实体区块中读取数据。
在一实施例中,映射方式是页映射,所述上述逻辑单元为逻辑实体页(也可称之为逻辑页),物理单元为物理实体页(也可称之为物理页)。通过统计逻辑页的读取频率值H,可以得到和所述逻辑页有映射关系的实体页的读取频率值。换句话说,由于执行主机系统11的读取指令,存储于一些物理页中的数据被频繁地读取,实现这些物理页中的数据被读取出来的逻辑是这些物理页有映射关系的逻辑页被读取到,通过逻辑页的读取频率值可得到和所述逻辑页有映射关系的实体页的读取频率值。本申请为方便阐述,一个逻辑页映射至一个实体页;即逻辑页的读取频率值等于实体页的读取频率值。
在主机系统11欲从存储器存储装置12中读取存储数据时,存储器存储装置12会根据读取指令从存储器模块122中的实体页中读取数据。一般在多次对实体页进行数据操作时,可能会对同一个区块内其它实体页中的数据造成干扰,造成读取数据出错,进而影响存储于存储器模块122中数据的安全性和稳定性。于是需要将这些高频被读取的数据搬移到新的区块中,以此来降低对一个或多个实体页进行多次读取操作。具体地说,通过逻辑页的读取频率值来判断物理页的读取频率,获取存储有高频被读取数据的页,标注这个页或者这些页(下文称之为目标页),并将标注出来的目标页搬移到新的区块中。
进一步,当所述高频被读取的数据再次被频繁地读取时,将导致数据即使被搬移到新的实体区块,新的实体区块的读取次数仍然会快速累积。当读取次数因为累积而再次过高,数据将再次被搬移。由于实体区块有擦除次数的限制,如此一来,会导致存储器存储装置中的部分实体区块快速地到达其擦除次数的最大值,进而影响存储器存储装置的寿命。
为了提高存储于存储器模块122中数据的安全性和稳定性,以及降低所述高频被读取的数据被再次复制到新的实体区块中的次数;避免存储器存储装置中的部分实体区块快速地到达其擦除次数的最大值,进而影响存储器存储装置的寿命。
在一实施例中,提出一种存储器管理方法,如图5所示。图5是根据本发明的一实施例所示出的一种存储器管理方法的流程图。请参考图5,本实施例的方法适用于上述实施例中的存储器存储装置12,以下即搭配存储器存储装置12中的各项元件说明本实施例的详细步骤。值得注意的是,图5中各步骤可以是作为多个代码或是电路,本发明不加以限制。此外,图5的方法可以搭配以下范例实施例使用,也可以单独使用,本发明不加以限制。
所述存储器管理方法应用于存储器存储装置,所述存储器存储装置包括存储器模块,所述存储器模块包括多个实体区块,所述实体区块包括多个实体页,具体地,所述方法包括:
步骤S501:存储器控制器123执行一个或多个读取指令,以及存储器控制器123获取在执行所述一个或多个读取指令后的一个或多个逻辑页的读取频率值;
步骤S502:存储器控制器123根据所述逻辑页的读取频率值而得到实体页的读取频率值,所述逻辑页映射至所述实体页,并将读取频率值超过第一阈值的所述实体页标注为目标页;
步骤S503:存储器控制器123对所述目标页执行数据搬移操作,将所述目标页中的数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块。
进一步,在一实施例中,所述目标页中存储的数据包括有效数据和被标注为无效的数据。对于所述数据搬移操作而言,只需要将所述目标页中的有效数据进行数据搬移操作,勿需对所述被标注为无效的数据进行数据搬移操作。以此来降低在对目标页中的数据执行数据搬移操作的过程中的写放大。因此,步骤S503亦可表述为:存储器控制器123对所述目标页执行数据搬移操作,将所述目标页中的有效数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块。
进一步,上述第一实体区块的数量可为一个也可为多个,其数量的选择和待复制的数据量大小相关。一个实体区块可存储待复制的数据,该第一实体区块的数量就选择一个,其它的依此类推,不再赘述。
步骤S504:存储器控制器123根据所述第一实体区块的物理地址而更新所述数据的逻辑至物理映射关系。
进一步,步骤S502中还包括:
步骤S5021:存储器控制器123将读取频率值超过第二阈值的所述实体页标注为监控页,所述第二阈值小于所述第一阈值;
步骤S5022:存储器控制器123将所述监控页中读取频率值超过第一阈值的实体页标注为目标页。
进一步,在一实施例中,存储器控制器123建立一读取频率表(保存在系统区中),示例性地,建立的读取频率表如表1所示:
表1逻辑单元的读取频率表
逻辑单元序号 | 读取频率值 |
Lc | Hc |
… | … |
Ld-1 | Hd-1 |
Ld | Hd |
表1中,用H来表示存储器模块122中逻辑单元的读取频率值,Lc表示序号为c的逻辑单元,Hc表示序号为c的逻辑单元在单位时间内被读取的次数所计算出来的读取频率值。即所述读取频率值H表示逻辑单元在单位时间内被读取的次数。具体来说,如上文所述,因为数据的读取是通过读取逻辑至物理映射表来实现的,所以可以通过统计逻辑单元在单位时间内被读取的次数而计算出相对应的物理实体单元在单位时间内被读取的次数的。
进一步,在一实施例中,所述读取频率表中记录有每一个逻辑页的读取频率值。以及在所述读取频率表中,存储器控制器123用“0”来标注所述监控页,用“1”来标注所述目标页。
进一步,步骤S503中还包括:存储器控制器123根据读取频率表中的“1”的数量,从存储器模块122中挑选合适数量的且擦除次数最小的实体区块来存储所述目标页中存储的有效数据。
具体来说,根据所述目标页中存储的有效数据的大小,而选择具体数量的实体区块来存储所述目标页中存储的有效数据。若是目标页的数量小于或等于一个实体区块的实体页的总数,那么一个实体区块就可以存储所述目标页中存储的有效数据。若是目标页的数量大于一个实体区块的实体页的总数,那么需要多个实体区块来存储所述目标页中存储的有效数据。示例性的,目标页为的数量为8个,而一个实体区块只包含5个实体页;那么就需要2个实体区块来存储这8个目标页中的有效数据。
示例性地,结合表2所示的逻辑页的读取频率表来解释上述存储器管理方法。
表2逻辑页的读取频率表
逻辑页序号 | 实体页序号 | 读取频率值 | 监控页 | 目标页 |
Lc | Pc | Hc | ||
… | … | |||
Le | P/E | He | 0 | |
Lf | Pf | Hf | 0 | |
… | … | |||
Ld-1 | Pd-1 | Hd-1 | 0 | 1 |
Ld | Pd | Hd |
表2中,第一阈值为1秒内被读取10次,第二阈值为1秒内被读取8次。监控页Pe、Pf和Pd-1用“0”在读取频率表中标注,目标页Pd-1用“1”在读取频率表中标注。
进一步,在一实施例中,存储器控制器123将所述第一阈值设置为小于实际可能会出错的值。示例性地,对于目标页Pd-1而言,存储于其中的数据的读取频率值可能会大于第一阈值,即1秒内被读取15次后才可能会对同一个区块内其它实体页中的数据造成干扰,造成读取数据出错。本申请实施例将第一阈值设置为小于其实际出错的值的原因在于,即使标注到了目标页Pd-1,也得考虑到需要执行对目标页Pd-1的读取操作之后,在下一个或多个读取指令中没有需要执行对目标页Pd-1的读取操作后,才能把存储于目标页Pd-1中有效数据搬移走,如此才能不会影响存储器装置12的正常工作。优选地,对所述目标页执行数据搬移操作是在存储器装置12上电后,没有数据读取操作的状态下进行,如此才不会影响存储器装置12的正常工作。
进一步,存储器控制器123设置第二阈值,用“0”在读取频率表中标注,得到监控页的明细,在后续挑选/标注目标页的时候,从一定数量的监控页中挑选/标注出目标页,此举可以使得挑选/标注出目标页的速度更快,也可以提高执行目标页数据搬移操作的速度。
进一步,需要指出的是Ld-1对应的Pd-1(本实施例中假设两者序号一致,实际情况可能并不是如此,因为可能会存在序号为d-1的物理页为坏页,导致Ld-1映射至Pd)为目标页。
进一步,需要指出的是,所述第一阈值并不是固定的,其和存储器模块122是SLC存储单元还是MLC、TLC存储单元相关。测试发现,若是SLC存储单元的存储器模块122,其实体页的读取频率值H(造成读取数据出错的值)会随着实体页所属的实体区块的擦除次数增加而减少。而MLC、TLC存储单元的存储器模块122,其实体页的读取频率值H会随着实体页所属的实体区块的擦除次数增加而先增大然后再减少。同理,所述第二阈值也不是固定的。
更进一步,示例性地,本申请用具体数量的实体区块来解释上述方案。假设存储器模块122中有15个实体区块,分别为Block0—Block14,其中存储器控制器123将Block0--Block9划分到数据区506中,闲置区504中的区块为Block10和Block11,取代区508中的区块为Block12和Block13,系统区502中的区块为Block14。每一个实体区块有5个实体页。数据区506中10个实体区块的映射方式为页映射,50个实体页的逻辑至实体映射表(L2P)如图6所示。
图6为本发明一实施例所示出的一种在读取频率表中根据逻辑页和实体页的读取频率值而标注出监控页和目标页的示意图。图6中,存在10个监控页和8个目标页,监控页为P0、P1、P7、P11、P18、P22、P36、P42、P48和P49。目标页为P1、P7、P11、P18、P22、P36、P42和P48。其中P1中存储的数据由于被高频读取,导致影响Block0中的P0、P2、P3和P4中存储的数据造成干扰,造成后续存储器控制器123执行主机系统11的读取指令时会出现读取P0、P2、P3和P4中数据出错。同理,适用于P7、P11、P18、P22、P36、P42和P48所属的实体区块中的其它实体页。此时,需要对存储于P1、P7、P11、P18、P22、P36、P42和P48中的数据进行数据搬移操作,将这些数据搬移到新的实体区块中,以此来避免在后续读取存储于P1、P7、P11、P18、P22、P36、P42和P48中的数据时,不会影响Block0、Block1、Block2、Block3、Block4、Block7、Block8和Block9中其它实体页中的数据稳定性。
关于执行目标页P1、P7、P11、P18、P22、P36、P42和P48的数据搬移操作,将这8目标页中存储的有效数据复制至2个实体区块中的步骤包括:
存储器控制器123将Block10和Block11从闲置区504中挑选出来用来存储P1、P7、P11、P18、P22、P36、P42和P48中的数据,将原来存储于P1、P7、P11、P18、P22、P36、P42和P48中的数据标注为无效数据,或者对P1、P7、P11、P18、P22、P36、P42和P48做标记,表示存储于这些实体页中的数据为无效数据。此时,Block10和Block11就属于数据区506,而不属于闲置区504了。而若是Block0、Block1、Block2、Block3、Block4、Block7、Block8和Block9中所有实体页都被做了“存储于其中的数据是无效数据”的标记。那么Block0、Block1、Block2、Block3、Block4、Block7、Block8和Block9就属于闲置区504,而不属于数据区506了。
综上,在一实施例中,所述存储器管理方法还包括:所述监控页和所述目标页属于数据区506的实体区块的实体页;从闲置区504中挑选合适数量的且擦除次数最小的实体区块(即第一实体区块)来存储所述目标页中存储的有效数据。
示例性地,Block10和Block11存储P1、P7、P11、P18、P22、P36、P42和P48的数据如图7所示。图7为本发明一实施例所示出的一种将目标页中存储的有效数据复制至实体区块的示意图。图7中原本存储于Block0的P1中的有效数据Data1复制至Block10的P50中;原本存储于Block1的P7中的有效数据Data7复制至Block10的P51中;原本存储于Block2的P11中的有效数据Data11复制至Block10的P52中;原本存储于Block3的P18中的有效数据Data18复制至Block10的P53中;原本存储于Block4的P22中的有效数据Data22复制至Block10的P54中;原本存储于Block7的P36中的有效数据Data36复制至Block11的P55中;原本存储于Block8的P42中的有效数据Data42复制至Block11的P56中;原本存储于Block9的P48中的有效数据Data48复制至Block11的P57中。
进一步,Data1、Data7、Data11、Data18、Data22、Data36、Data42和Data48已经被复制至新的实体区块中,那么就可以对原本存储Data1、Data7、Data11、Data18、Data22、Data36、Data42和Data48的实体页P1、P7、P11、P18、P22、P36、P42、P48进行标注,表示实体页P1、P7、P11、P18、P22、P36、P42、P48中存储的数据是无效数据。以及,进一步根据新的实体区块的物理地址,更新所述数据的逻辑至物理映射关系。如图7所示,原本是L1映射至P1,现在是L1映射至P50,其它目标页的逻辑至物理映射关系就不一一列举了,请参见图7所示。
在完成所述目标页的逻辑至物理映射关系更新后,将所述逻辑页的读取频率值归零,在后续执行对新的物理地址执行读取操作之后,再重新开始新一轮的相对应逻辑页的读取频率的计算。
上文中需要2个实体区块来存储所述目标页中的有效数据,所述闲置区504中的实体区块数量刚好为2个实体区块,所以将Block10和Block11从闲置区504中挑选出来存储所述目标页中的有效数据。若是闲置区504中的实体区块数量不止2个,比如200个时,那么就需要一种从200个实体区块中挑选2个第一实体区块的方法。对于需要从200个实体区块中挑选2个第一实体区块来存储所述目标页中的有效数据时要如何进行,以及从闲置区504中擦除次数最小的实体区块中挑选合适数量的实体区块来存储所述目标页中存储的有效数据,见下文阐述。
在一实施例中,还建立一区块擦除次数表(P/E表)【保存在系统区中】来记录存储器模块122中实体区块的使用状况,P/E表中记录有存储器模块122中所有区块的擦除次数,如表3所示。表3中,301(M)中的M表述区块301的序号,N表示序号区块301(M)的擦除次数。
表3区块擦除次数表
区块序号 | 擦除次数 |
301(M) | N |
优选地,在一实施例中,根据区块的擦除次数对多个区块进行排序,将排序后的多个区块按照擦除次数小的区块序号排列在所述擦除次数表的表头,方便在进行从闲置区504中擦除次数最小的实体区块中挑选合适数量的实体区块来存储所述目标页中存储的有效数据的操作时,可以更快地挑选出合适的实体区块,从而提高数据搬移的速度。
具体地,所述排序算法可以为插入排序、希尔排序、选择排序、冒泡排序、快速排序、归并排序、计数排序和桶排序中的任一种算法。
进一步,关于步骤S503中从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据的步骤包括:根据实体区块的擦除次数将闲置区504中多个实体区块进行群组划分,得到多个群组81(0)--81(G)【G+1表示群组的数量】,每个群组分别对应不同的擦除次数取值区间;其中,每一个群组可包含一个或多个实体区块且每一个实体区块其在某一个时间段的擦除次数只能属于某一个群组;每一个群组的擦除次数取值区间都是不相同的;根据所述目标页中的数据量大小,从擦除次数取值区间最小的群组中挑选合适数量的擦除次数最小的实体区块来存储所述目标页中的数据。通过群组的方式来对存储器模块122中的实体区块进行管理,此举可以提高挑选出合适的实体区块的速度,从而可以提高数据搬移的速度。
示例性地,闲置区504中包括200个实体区块,假设这200个实体区块为Block15—Block214。根据实体区块的擦除次数将这200个实体区块进行群组划分,得到如图8所示的4个群组81(0)、81(1)、81(2)和81(3)。图8为本发明一实施例所示出的根据实体区块的擦除次数将多个实体区块进行群组划分,得到多个群组,每个群组分别对应不同的擦除次数取值区间的示意图。
具体地,如图8所示,所述擦除次数取值区间最小的群组序号为81(0),群组81(0)的擦除次数取值区间为0-200,其包括50个实体区块,这50个实体区块的擦除次数明细为30个擦除次数为80次的实体区块,10个擦除次数为120次的实体区块,10个擦除次数为180次实体区块。因此,从30个擦除次数为80次的实体区块中挑选2个实体区块来存储所述目标页中的有效数据。
进一步,其中根据所述目标页中的数据量大小,从擦除次数取值区间最小的群组中挑选合适数量的擦除次数最小的实体区块来存储所述目标页中的数据的步骤包括:根据实体区块的错误比特值将擦除次数取值区间最小的群组进一步进行群组划分,得到多个基于具有相同的擦除次数取值区间但是具有不同的错误比特值取值区间的子群组;其中,每一个子群组可包含一个或多个实体区块且每一个实体区块其在某一个时间段的错误比特值只能属于某一个子群组;每个子群组可属于相同的擦除次数取值区间但是分别对应不同的错误比特值取值区间;每一个子群组包含的实体区块数量可以是相同的也可是不相同的;从擦除次数取值区间最小且错误比特值取值区间最小的群组中挑选擦除次数最小且错误比特值最小的实体区块来存储所述目标页中的有效数据。
必须了解的是,上述关于本实施例中在描述存储器模块的实体区块的运作时,以“群组划分”等词来操作实体区块是逻辑上的概念。也就是说,存储器模块122中的实体区块的实际位置并未更动,而是逻辑上对存储器模块122中的实体区块进行操作。
示例性地,区块的错误比特数可从坏块表(保存在系统区中)中得到,坏块表如表4所示。表4中,301(K)中的K表述区块301的序号,S表示序号区块301(K)的错误比特数。
表4坏块表
区块序号 | 错误比特(bit) |
301(K) | S |
示例性地,获取群组81(0)中各区块的错误比特数,按照各区块的错误比特数将群组81(0)进一步进行群组划分,得到多个基于具有相同的擦除次数取值区间但是具有不同的错误比特值取值区间的子群组,如图9所示。图9为本发明一实施例所示出的根据实体区块的错误比特值将擦除次数取值区间最小的群组进一步进行群组划分,得到多个基于具有相同的擦除次数取值区间但是具有不同的错误比特值取值区间的子群组的示意图。
具体地,图9中,Block15和Block17的擦除次数最小,并且错误比特值也最小。因此,挑选Block15和Block17来存储所述目标页中的有效数据。
高频被读取的数据经过数据搬移操作,存储于擦除次数最小且错误比特值最小的实体区块Block15和Block17。由于Block15和Block17的擦除次数最小,其实体页的读取频率值H也相对比较大,由此将第一阈值和第二阈值设置的比较大,有效数据Data1、Data7、Data11、Data18、Data22、Data36、Data42和Data48复制到Block15和Block17中后,即使数据还是被频繁地读取,也可减少数据将再次被搬移(复制)到新的实体区块中的次数。减少实体区块被擦除的次数,由于实体区块有擦除次数的限制,进而提高影响存储器存储装置的寿命。
进一步,将高频被读取的数据搬移(复制)到错误比特值比较小的实体区块中,一方面可提高数据读取的速度,另外一方面也可提高数据存储于存储器存储装置中的安全性和稳定性。
综上所述,本发明提供一种存储器管理方法、存储器控制器及存储器存储装置,其通过一个记录逻辑页和实体页单位时间内读取频率的读取频率表,将高频被读取的数据搬移到新的实体区块中,以此来提高所述高频被读取的数据的同一个实体区块内其它实体页的数据的安全性和稳定性。此举,使得高频被读取的数据识别更为精准,可减少需要进行数据搬移的数据量,降低数据搬移的次数和数据搬移时的写放大。同时,对于高频被读取的数据搬移到新的实体区块中的操作过程中,从擦除次数取值区间最小且错误比特值取值区间最小的群组中挑选擦除次数最小且错误比特值最小的实体区块来存储所述高频被读取的数据,以此来避免当所述高频被读取的数据再次被频繁地读取时,降低数据搬移的次数,进而影响存储器存储装置的寿命。
此外,将所述高频被读取的数据统一地进行管理(用新的实体区块存储原本可能分散到多个实体区块中的数据),也可降低在下一次需要进行数据搬移操作时的写放大。
此外,将高频被读取的数据搬移(复制)到错误比特值比较小的实体区块中,一方面可提高数据读取的速度,另外一方面也可提高数据存储于存储器存储装置中的安全性和稳定性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种存储器管理方法,应用于存储器存储装置,其特征在于,所述存储器存储装置包括存储器模块,所述存储器模块包括多个实体区块,所述实体区块包括多个实体页,所述方法包括:
执行一个或多个读取指令,获取在执行所述一个或多个读取指令后的一个或多个逻辑页的读取频率值;
根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页;
将所述目标页中的数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块;
根据所述第一实体区块的物理地址而更新所述数据的逻辑至物理映射关系。
2.根据权利要求1所述的存储器管理方法,其特征在于,其中所述根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页的步骤包括:
将读取频率值超过第二阈值的所述实体页标注为监控页,所述第二阈值小于所述第一阈值;
将所述监控页中读取频率值超过第一阈值的实体页标注为目标页。
3.根据权利要求2所述的存储器管理方法,其特征在于,所述获取一个或多个逻辑页的读取频率值的步骤包括:
建立一读取频率表,所述读取频率表中记录有每一个逻辑页和实体页的读取频率值;
所述读取频率表中,用“0”来标注所述监控页,以及用“1”来标注所述目标页。
4.根据权利要求3所述的存储器管理方法,其特征在于,其中将所述目标页中的数据复制至第一实体区块中的步骤包括:
根据所述“1”的数量,从所述存储器模块中挑选合适数量的第一实体区块来存储所述目标页中的数据。
5.根据权利要求1-4任一所述的存储器管理方法,其特征在于,其中将所述目标页中的数据复制至第一实体区块中的步骤包括:
将所述存储器模块中的多个实体区块划分为数据区和闲置区,所述数据区和闲置区分别包括一个或多个实体区块;
所述监控页和所述目标页属于所述数据区的实体区块的实体页;
从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据。
6.根据权利要求5所述的存储器管理方法,其特征在于,其中从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据的步骤包括:
根据实体区块的擦除次数将所述闲置区中的多个实体区块进行群组划分,得到多个群组,每个群组分别对应不同的擦除次数取值区间;
根据所述目标页中的数据量大小,从擦除次数取值区间最小的群组中挑选合适数量的擦除次数最小的实体区块来存储所述目标页中的数据。
7.一种存储器控制器,应用于存储器存储装置;所述存储器存储装置包括连接接口、存储器模块及存储器控制器;所述连接接口用于将存储器存储装置连接至主机系统;所述存储器模块包括多个实体区块,所述实体区块包括多个实体页;所述存储器控制器连接至所述连接接口与所述存储器模块;所述存储器控制器包括:主机接口,用于连接至主机系统;存储器接口,用于连接至所述存储器模块;以及存储器控制电路,其连接至所述主机接口与所述存储器接口;其特征在于,
所述存储器控制电路用于执行一个或多个读取指令,以及所述存储器控制电路获取在执行所述一个或多个读取指令后的一个或多个逻辑页的读取频率值;
所述存储器控制电路根据所述逻辑页的读取频率值而得到实体页的读取频率值,所述存储器控制电路将所述逻辑页映射至所述实体页,且所述存储器控制电路将读取频率值超过第一阈值的所述实体页标注为目标页;
所述存储器控制电路将所述目标页中的数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块;
所述存储器控制电路根据所述第一实体区块的物理地址而更新所述数据的逻辑至物理映射关系。
8.根据权利要求7所述的存储器控制器,其特征在于,其中所述存储器控制电路根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页的操作还包括;
所述存储器控制电路用于将读取频率值超过第二阈值的所述实体页标注为监控页,所述第二阈值小于所述第一阈值;
所述存储器控制电路用于将所述监控页中读取频率值超过第一阈值的实体页标注为目标页。
9.根据权利要求8所述的存储器控制器,其特征在于,所述存储器控制电路获取一个或多个逻辑页的读取频率值的操作包括:
所述存储器控制电路用于建立一读取频率表,所述读取频率表中记录有每一个逻辑页和实体页的读取频率值;
在所述读取频率表中,所述存储器控制电路用“0”来标注所述监控页和用“1”来标注所述目标页。
10.根据权利要求9所述的存储器控制器,其特征在于,其中所述存储器控制电路将所述目标页中的数据复制至第一实体区块中的操作还包括:
所述存储器控制电路根据所述“1”的数量,从所述存储器模块中挑选合适数量的第一实体区块来存储所述目标页中的数据。
11.根据权利要求6-10任一所述的存储器控制器,其特征在于,其中所述存储器控制电路将所述目标页中的数据复制至第一实体区块中的操作包括:
所述存储器控制电路将所述存储器模块中的多个实体区块划分为数据区和闲置区,所述数据区和闲置区分别包括一个或多个实体区块;
其中,所述监控页和所述目标页属于所述数据区的实体区块的实体页;
以及,所述存储器控制电路从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据。
12.根据权利要求11所述的存储器控制器,其特征在于,其中所述存储器控制电路从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据的操作还包括:
所述存储器控制电路根据实体区块的擦除次数将所述闲置区中的多个实体区块进行群组划分,得到多个群组,每个群组分别对应不同的擦除次数取值区间;
所述存储器控制电路根据所述目标页中的数据量大小,从擦除次数取值区间最小的群组中挑选合适数量的擦除次数最小的实体区块来存储所述目标页中的数据。
13.一种存储器存储装置;所述存储器存储装置包括连接接口、存储器模块及存储器控制器;所述连接接口用于将存储器存储装置连接至主机系统;所述存储器模块包括多个实体区块;所述存储器控制器连接至所述连接接口与所述存储器模块;其特征在于,
所述存储器控制器用于执行一个或多个读取指令,以及所述存储器控制器获取在执行所述一个或多个读取指令后的一个或多个逻辑页的读取频率值;
所述存储器控制器根据所述逻辑页的读取频率值而得到实体页的读取频率值,且所述存储器控制器将读取频率值超过第一阈值的所述实体页标注为目标页;
所述存储器控制器将所述目标页中的数据复制至第一实体区块中,所述第一实体区块为所述存储器模块中擦除次数最小的实体区块;
所述存储器控制器根据所述第一实体区块的物理地址而更新所述数据的逻辑至物理映射关系。
14.根据权利要求13所述的存储器存储装置,其特征在于,其中所述存储器控制器根据所述逻辑页的读取频率值而得到实体页的读取频率值,并将读取频率值超过第一阈值的所述实体页标注为目标页的操作还包括;
所述存储器控制器用于将读取频率值超过第二阈值的所述实体页标注为监控页,所述第二阈值小于所述第一阈值;
所述存储器控制器用于将所述监控页中读取频率值超过第一阈值的实体页标注为目标页。
15.根据权利要求14所述的存储器存储装置,其特征在于,所述存储器控制器获取一个或多个逻辑页的读取频率值的操作包括:
所述存储器控制器用于建立一读取频率表,所述读取频率表中记录有每一个逻辑页和实体页的读取频率值;
在所述读取频率表中,所述存储器控制器用“0”来标注所述监控页和用“1”来标注所述目标页。
16.根据权利要求15所述的存储器存储装置,其特征在于,其中所述存储器控制器将所述目标页中的数据复制至第一实体区块中的操作还包括:
所述存储器控制器根据所述“1”的数量,从所述存储器模块中挑选合适数量的第一实体区块来存储所述目标页中的数据。
17.根据权利要求13-16任一所述的存储器存储装置,其特征在于,其中所述存储器控制器将所述目标页中的数据复制至第一实体区块中的操作包括:
所述存储器控制器将所述存储器模块中的多个实体区块划分为数据区和闲置区,所述数据区和闲置区分别包括一个或多个实体区块;
其中,所述监控页和所述目标页属于所述数据区的实体区块的实体页;
以及,所述存储器控制器从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据。
18.根据权利要求17所述的存储器存储装置,其特征在于,其中所述存储器控制器从所述闲置区中挑选合适数量的第一实体区块来存储所述目标页中的数据的操作还包括:
所述存储器控制器根据实体区块的擦除次数将所述闲置区中的多个实体区块进行群组划分,得到多个群组,每个群组分别对应不同的擦除次数取值区间;
所述存储器控制器根据所述目标页中的数据量大小,从擦除次数取值区间最小的群组中挑选合适数量的擦除次数最小的实体区块来存储所述目标页中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210914396.5A CN117519574A (zh) | 2022-07-28 | 2022-07-28 | 存储器管理方法、存储器控制器及存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210914396.5A CN117519574A (zh) | 2022-07-28 | 2022-07-28 | 存储器管理方法、存储器控制器及存储器存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117519574A true CN117519574A (zh) | 2024-02-06 |
Family
ID=89753753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210914396.5A Pending CN117519574A (zh) | 2022-07-28 | 2022-07-28 | 存储器管理方法、存储器控制器及存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117519574A (zh) |
-
2022
- 2022-07-28 CN CN202210914396.5A patent/CN117519574A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936391B2 (en) | Memory management method and storage controller | |
US9098395B2 (en) | Logical block management method for a flash memory and control circuit storage system using the same | |
US8898370B2 (en) | Data storage method for flash memory, and flash memory controller and flash memory storage system using the same | |
TWI537728B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI585770B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
TWI476590B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US9268688B2 (en) | Data management method, memory controller and memory storage apparatus | |
US8250292B2 (en) | Data writing method for a flash memory, and controller and storage system using the same | |
US20130304965A1 (en) | Storage unit management method, memory controller and memory storage device using the same | |
TWI651721B (zh) | 解碼方法以及儲存控制器 | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
US9236148B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
US10509583B1 (en) | Memory management method and storage controller | |
US20150186058A1 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
TW201820114A (zh) | 資料寫入方法以及儲存控制器 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 | |
US10824340B2 (en) | Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus | |
CN115185468A (zh) | 存储器管理方法、存储器控制器及存储器存储装置 | |
CN108108118B (zh) | 数据写入方法以及存储控制器 | |
CN117519574A (zh) | 存储器管理方法、存储器控制器及存储器存储装置 | |
CN117636967B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN115202584A (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 |