CN118331511B - 存储器管理方法及存储器控制器 - Google Patents
存储器管理方法及存储器控制器 Download PDFInfo
- Publication number
- CN118331511B CN118331511B CN202410764363.6A CN202410764363A CN118331511B CN 118331511 B CN118331511 B CN 118331511B CN 202410764363 A CN202410764363 A CN 202410764363A CN 118331511 B CN118331511 B CN 118331511B
- Authority
- CN
- China
- Prior art keywords
- physical
- virtual
- blocks
- channel group
- physical channel
- 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 232
- 238000007726 management method Methods 0.000 title claims abstract description 24
- 238000013507 mapping Methods 0.000 claims abstract description 129
- 238000000034 method Methods 0.000 claims description 21
- 238000013500 data storage Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 20
- 210000000352 storage cell Anatomy 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 10
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 7
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 7
- 238000013523 data management Methods 0.000 description 7
- 230000005055 memory storage Effects 0.000 description 7
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 5
- 230000002708 enhancing effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 3
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 238000013461 design 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
- 238000013138 pruning Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- 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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/061—Improving I/O performance
-
- 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
- G06F3/064—Management of blocks
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
Abstract
存储器管理方法及存储器控制器。存储器管理方法包括:对相应于多个实体通道的多个存储器芯片的多个实体区块执行第一虚拟区块映射操作以执行主机写入操作;当目标实体通道的空白实体区块数量低于预定阈值时,将多个实体通道分为第一实体通道组及第二实体通道组,其中第一实体通道组至少包括目标实体通道;以及解除所执行的第一虚拟区块映射操作,分别对相应于第一实体通道组的多个第一实体区块和相应于第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作,以获得相应第一实体通道组的多个第一虚拟区块及相应第二实体通道组的多个第二虚拟区块;以及对多个第一虚拟区块执行垃圾回收操作,对多个第二虚拟区块执行主机写入操作。
Description
技术领域
本发明涉及一种存储器管理技术,尤其是涉及一种针对配置有非易失性存储器的存储装置的存储器控制器及所使用的存储器管理方法。
背景技术
非易失性存储器(non-volatile memory)是指当电流断掉后,所存储的数据不会消失的电脑存储器,具有数据非易失性、省电、体积小与无机械结构等优点,被广泛地应用于各种电子装置中。
常见的非易失性存储器(non-volatile memory)为配置闪存的存储器(如固态硬盘),其具有读写速度高,不须机械化结构来进行数据的存取等特点。现有闪存的固件设计中对于实体区块的管理都是将闪存中所有相同区块编号的实体区块捆绑为一个虚拟区块来管理,这种传统的虚拟区块的管理模式缺乏灵活性且影响存储空间利用率,已经不再适用。
发明内容
本发明的目的在于解决上述问题,除了能有效绑定实体区块来获得虚拟区,还可进行分区绑定,以让存储装置在执行垃圾回收操作的期间,还可以正常地执行写入操作,进而增加存储装置的运作效率。
本发明的一或多个实施例提供用于可复写式非易失性存储器模块的一种存储器管理方法,其中所述可复写式非易失性存储器模块包括各别对应于多个存储器芯片的多个实体通道,每个所述存储器芯片包括分别根据多个实体区块 编号依序排列的多个实体区块。所述方法包括:对相应于所述多个实体通道的多个存储器芯片的所述多个实体区块执行第一虚拟区块映射操作,获得多个虚拟区块以执行主机写入操作;在所述多个实体通道中的一目标实体通道的所述空白实体区块数量低于预定阈值时,将所述多个实体通道分为第一实体通道组及第二实体通道组,其中所述第一实体通道组至少包括所述目标实体通道;以及解除相应于所述多个实体通道及对应每个存储器芯片的所述多个实体区块所执行的第一虚拟区块映射操作,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作,以获得相应所述第一实体通道组的多个第一虚拟区块及相应所述第二实体通道组的多个第二虚拟区块;以及对相应于所述第一实体通道组的所述多个第一虚拟区块执行垃圾回收操作,对相应于所述第二实体通道组的所述多个第二虚拟区块执行主机写入操作。
在本发明的一或多个实施例中,对相应于所述多个实体通道的所述多个存储器芯片的所述多个实体区块执行所述第一虚拟区块映射操作包括:对所述多个实体区块中的多个第一类实体区块执行虚拟区块映射操作,其中所述多个第一类实体区块属于单阶存储单元类型。
在本发明的一或多个实施例中,获得所述多个虚拟区块以执行所述主机写入操作包括:从所述多个虚拟区块选择一或多个目标虚拟区块来存储相应于写入指令的写入数据;以及根据所述一或多个目标虚拟区块的一或多个目标虚拟页的实体地址以及相应所述写入数据的逻辑地址,记录相应所述写入数据的所述逻辑地址及所述实体地址的地址映射信息,其中所述写入指令指示所述逻辑地址,并且所述写入数据被存储在所述一或多个目标虚拟页内。
在本发明的一或多个实施例中,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作包括:对相应于所述第一实体通道组的多个第一实体区块中的第二类实体区块执行虚拟区块映射操作,其中所述第二类实体区块属于多阶存储单元类型;以及对相应于所述第二实体通道组的多个第二实体区块中的第一类实体区块执行虚拟区块映射操作,其中所述第一类实体区块属于单阶存储单元类型。
在本发明的一或多个实施例中,在对相应于所述第一实体通道组的多个第一实体区块执行所述垃圾回收操作的期间,若接收到另一写入指令,从所述多个第二虚拟区块选择一或多个目标第二虚拟区块来存储相应所述另一写入指令的另一写入数据;以及根据所述一或多个目标第二虚拟区块的一或多个目标第二虚拟页的实体地址以及相应所述另一写入数据的逻辑地址,记录相应所述另一写入指令的所述另一写入数据的所述逻辑地址及所述实体地址的地址映射信息,其中所述写入指令指示相应所述另一写入数据的所述逻辑地址,并且所述写入数据被存储在所述一或多个目标第二虚拟页内。
在本发明的一或多个实施例中,在相应于所述第一实体通道组的所述多个第一实体区块的所述垃圾回收操作执行完毕后,所述方法还包括:恢复相应于所述第一实体通道组的所述多个第一实体区块的正常运作,并且对所述第一实体通道组的所述多个第一虚拟区块执行另一主机写入操作;以及对所述第二实体通道组的所述多个第二虚拟区块执行另一垃圾回收操作;
其中在相应于所述第二实体通道组的所述多个第二实体区块的所述另一垃圾回收操作执行完毕后,恢复相应于所述第二实体通道组的所述多个第二实体区块的正常运作,解除所述第二虚拟区块映射操作,并且恢复所述第一虚拟区块映射操作。
在本发明的一或多个实施例中,对所述第一实体通道组的所述多个第一虚拟区块执行所述另一主机写入操作包括:对相应于所述第一实体通道组的多个第一实体区块中的第一类实体区块执行虚拟区块映射操作,以获得所述多个第一虚拟区块,从而对所述多个第一虚拟区块执行所述另一主机写入操作,其中所述第一类实体区块属于单阶存储单元类型。对所述第二实体通道组的所述多个第二虚拟区块执行所述另一垃圾回收操作包括:对相应于所述第二实体通道组的多个第二实体区块中的第二类实体区块执行虚拟区块映射操作,以获得所述多个第二虚拟区块,从而对所述多个第二虚拟区块执行所述另一垃圾回收操作,其中所述第二类实体区块属于多阶存储单元类型。
在本发明的一或多个实施例中,所述虚拟区块映射操作包括:根据所述多个实体通道及对应每个存储器芯片的所述多个实体区块各自的所述实体区块编号,将具有相同的所述实体区块编号的所述多个实体区块分组到同一个虚拟区块;以及根据被分组到每个虚拟区块的所述多个实体区块各自的多个实体页的所述多个实体页编号,将具有相同的所述实体页编号所述多个实体页重新分组到所属的虚拟区块的同一个虚拟页。
在本发明的一或多个实施例中,在对所述多个实体区块中的第一类实体区块执行第一虚拟区块映射操作的期间,所述方法还包括:分别从每个实体通道选择预定实体区块执行第三虚拟区块映射操作 ,以将多个预定实体区块分组到多个预定虚拟区块,其中所述多个预定实体区块属于多阶存储单元类型 ;以及当执行系统数据存储指令序列时,从所述多个预定虚拟区块中选择一或多个目标预定虚拟区块,并将相应系统数据存储到所选的所述一或多个目标预定虚拟区块,其中所述系统数据并非来自所述主机系统的用户数据。
在本发明的一或多个实施例中,所述每一存储器芯片包括多个平面,所述方法还包括:经由多平面写入机制来写入数据到每个虚拟实体区块,并且经由多平面读取机制来从每个虚拟实体区块读取数据。
一种存储器控制器,用于控制配置有可复写式非易失性存储器模块的存储装置。所述存储器控制器包括:存储器接口控制电路,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括各别对应于多个存储器芯片的多个实体通道,每个所述存储器芯片包括分别根据多个实体区块 编号依序排列的多个实体区块;以及处理器,电性连接至所述存储器接口控制电路,其中所述处理器更电性连接至所述存储装置的连接接口电路,以电性连接至主机系统。其中所述处理器被配置以:对相应于所述多个实体通道的多个存储器芯片的所述多个实体区块执行第一虚拟区块映射操作,获得多个虚拟区块以执行主机写入操作;
在所述多个实体通道中的一目标实体通道的所述空白实体区块数量低于预定阈值时,将所述多个实体通道分为第一实体通道组及第二实体通道组,其中所述第一实体通道组至少包括所述目标实体通道;以及
解除相应于所述多个实体通道及对应每个存储器芯片的所述多个实体区块所执行的第一虚拟区块映射操作,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作,以获得相应所述第一实体通道组的多个第一虚拟区块及相应所述第二实体通道组的多个第二虚拟区块;以及
对相应于所述第一实体通道组的所述多个第一虚拟区块执行垃圾回收操作,对相应于所述第二实体通道组的所述多个第二虚拟区块执行主机写入操作。
基于上述,本发明实施例所提供的存储器控制器、存储装置及存储器管理方法,可利用对多个实体区块进行分组绑定以获得多组虚拟区块的方式,让存储装置可以分组同时进行垃圾回收操作及主机用户数据写入操作,避免了传统垃圾回收操作需避开主机用户数据写入操作的缺陷,增进了垃圾回收操作的执行弹性及效率,从而提升了存储装置的工作效率,增强用户体验。
附图说明
包含附图以便进一步理解本发明,且附图并入本说明书中并构成本说明书的一部分。附图说明本发明的实施例,并与描述一起用于解释本发明的原理。
图1为根据本发明的实施例所示出的主机系统与存储装置的方块示意图;
图2为根据本发明的实施例所示出的存储器管理方法的流程图;
图3为根据本发明的实施例所示出的存储器芯片的架构示意图;
图4为根据本发明的实施例所示出的虚拟区块映射操作的示意图;
图5为根据本发明的实施例所示出的建立虚拟区块及虚拟页的示意图;
图6为根据本发明的另一实施例所示出的建立虚拟区块及虚拟页的示意图;
图7为根据本发明的实施例所示出的根据虚拟区块来更新逻辑转实体映射表的示意图;
图8为根据本发明的一实施例所示出的根据虚拟区块来更新逻辑转虚拟映射表及虚拟转实体映射表的示意图;
图9为根据本发明的另一实施例所示出的根据虚拟区块来更新逻辑转虚拟映射表及虚拟转实体映射表的示意图;
图10为根据本发明的实施例所示出的分别基于垃圾回收操作及正常运作来执行虚拟区块映射操作的示意图;
图11为根据本发明的实施例所示出的分别基于系统数据存储需求执行虚拟区块映射操作的示意图。
附图标号说明
10:主机系统
20:存储装置
211:第一处理器
110:第二处理器
120:主机存储器
130:数据传输接口电路
210:存储器控制器
212:数据管理电路
213:存储器接口控制电路
214:缓冲存储器
220:可复写式非易失性存储器模块
230:连接接口电路
S210、S220、S230、S240:存储器管理方法的流程步骤
CH0~CH3:实体通道
CE0~CE3:芯片使能引脚
BK1~BK3:实体区块
DI00~DI31:存储器芯片
VBK0、VBK10、VBK20:虚拟区块
VPG0、VPG1、VPG10、VPG20:虚拟页
LBA:逻辑地址
PBA:实体地址
VNA:虚拟地址
T71:逻辑转实体映射表
T81、T91:逻辑转虚拟映射表
T82、T92:虚拟转实体映射表
A41~A48、A51~A59-2、A62~A69-2、A101~A108、A111~A114:箭头
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
图1为根据本发明的实施例所示出的主机系统与存储装置的方块示意图。请参照图1,主机系统10例如是个人电脑、笔记本电脑、服务器。主机系统(Host System)10包括处理器(Processor)110(也称,第二处理器)及主机存储器(Host Memory)120、数据传输接口电路(Data Transfer Interface Circuit)130。在本实施例中,处理器110耦接(也称,电性连接)至主机存储器120及数据传输接口电路130。在另一实施例中,处理器(Processor)110、主机存储器120及数据传输接口电路130之间利用系统总线(System Bus)彼此电性连接。在本实施例中,处理器110、主机存储器120及数据传输接口电路130可设置在主机系统10的主机板上。
存储装置20包括存储器控制器(Storage Controller)210、可复写式非易失性存储器模块(Rewritable Non-Volatile Memory Module)220及连接接口电路(ConnectionInterface Circuit)230。其中,存储器控制器210包括处理器211(也称,第一处理器)、数据管理电路(Data Management Circuit)212与存储器接口控制电路(Memory InterfaceControl Circuit)213。
在本实施例中,主机系统10是通过数据传输接口电路130与存储装置20的连接接口电路230电性连接至存储装置20来进行数据的存取操作。例如,主机系统10可经由数据传输接口电路130将数据存储至存储装置20或从存储装置20中读取数据。
在本实施例中,数据传输接口电路130的数目可以是一或多个。通过数据传输接口电路130,主机板可以经由有线或无线方式电性连接至存储装置20。存储装置20可例如是U盘、存储卡、固态硬盘(Solid State Drive,SSD)或无线存储器存储装置。无线存储器存储装置可例如是近距离无线通讯(Near Field Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板也可以通过系统总线电性连接至全球定位系统(Global Positioning System,GPS)模块、网络接口卡、无线传输装置、键盘、屏幕、喇叭等各式I/O装置。
在本实施例中,数据传输接口电路130与连接接口电路230是相容于高速周边零件连接接口(Peripheral Component Interconnect Express, PCI Express)标准的接口电路。并且,数据传输接口电路130与连接接口电路230之间是利用快速非易失性存储器接口标准(Non-Volatile Memory express,NVMe)通讯协定来进行数据的传输。
此外,在另一实施例中,连接接口电路230可与存储器控制器210封装在一个芯片中,或者连接接口电路230是布设于一包含存储器控制器210的芯片外。
在本实施例中,主机存储器120用以暂存处理器110所执行的指令或数据。例如,在本实施例中,主机存储器120可以是动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)等。然而,必须了解的是,本发明不限于此,主机存储器120也可以是其他适合的存储器。
存储器控制器210用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统10的指令在可复写式非易失性存储器模块220中进行数据的写入、读取与抹除等运作。
更详细来说,存储器控制器210中的处理器211为具备运算能力的硬件,其用以控制存储器控制器210的整体运作。具体来说,处理器211被多个控制指令/程序码所程序化,并且在存储装置20运作时,此些控制指令/程序码会被执行以进行数据的写入、读取与抹除等运作。此外,在本实施例中,所述控制指令/程序码还可被执行以进行数据读取操作,以实现本发明所提供的数据读取方法。对应所述数据读取方法的控制指令/程序码还可被实作为硬件形式的电路单元,以实现本发明所提供的数据读取方法。
值得一提的是,在本实施例中,处理器110与处理器211例如是中央处理单元(Central Processing Unit,CPU)、微处理器(micro-processor)、或是其他可程序化的处理单元(Microprocessor)、数字信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable Logic Device,PLD)或其他类似电路组件,本发明并不限于此。
在本实施例中,如上所述,存储器控制器210还包括数据管理电路212与存储器接口控制电路213。应注意的是,存储器控制器210各部件所执行的操作亦可视为存储器控制器210所执行的操作。
其中,数据管理电路212电性连接至处理器211、存储器接口控制电路213与连接接口电路230。数据管理电路212用以接受处理器211的指示来进行数据的传输。例如,经由连接接口电路230从主机系统10(如,主机存储器120)读取数据,并且将所读取的数据经由存储器接口控制电路213写入至可复写式非易失性存储器模块220中(如,根据来自主机系统10的写入指令来进行写入操作)。又例如,经由存储器接口控制电路213从可复写式非易失性存储器模块220的一或多个实体单元中读取数据(数据可读取自一或多个实体单元中的一或多个存储单元),并且将所读取的数据经由连接接口电路230写入至主机系统10(如,主机存储器120)中(如,根据来自主机系统10的读取指令来进行读取操作)。在另一实施例中,数据管理电路212亦可整合至处理器211中。
存储器接口控制电路213用以接受处理器211的指示,配合数据管理电路212来进行对于可复写式非易失性存储器模块220的写入(亦称,程序化,Programming)操作、读取操作或抹除操作。
此外,欲写入至可复写式非易失性存储器模块220的数据会经由存储器接口控制电路213转换为可复写式非易失性存储器模块220所能接受的格式。具体来说,若处理器211要存取可复写式非易失性存储器模块220,处理器211会传送对应的指令序列给存储器接口控制电路213以指示存储器接口控制电路213执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址、物理地址等信息。
此外,存储器控制器210会建立逻辑转实体地址映射表(Logical To Physicaladdress mapping table)与实体转逻辑地址映射表(Physical To Logical addressmapping table),以记录配置给可复写式非易失性存储器模块220的逻辑单元(如,逻辑块、逻辑页或逻辑列)的逻辑地址与实体单元(如,实体抹除单元/实体块、实体页、实体列)的实体地址(物理地址)之间的映射关系。换言之,存储器控制器210可通过逻辑转实体地址映射表(也称为逻辑转实体映射表)来查找一逻辑单元所映射的实体单元(如,查找逻辑页所映射的实体页;查找逻辑地址所映射的实体地址),并且存储器控制器210可通过实体转逻辑地址映射表(也称,实体转逻辑映射表)来查找一实体单元所映射的逻辑单元(如,查找实体页所映射的逻辑页;查找实体地址所映射的逻辑地址)。
在一实施例中,存储器控制器210还包括缓冲存储器214。缓冲存储器是电性连接至处理器211并且用以暂存来自于主机系统10的数据与指令、来自于可复写式非易失性存储器模块220的数据或其他用以管理存储装置20的系统数据(如,各种映射表、索引表、地址列表),以让处理器211可快速地从缓冲存储器216中存取所述数据、指令或系统数据。
可复写式非易失性存储器模块220是电性连接至存储器控制器210(存储器接口控制电路213)并且用以存储主机系统10所写入的数据。
在本实施例中,可复写式非易失性存储器模块220具有多个字线,其中所述多个字线的每一个字线电性连接至多个存储单元,亦称列(也称,实体列)。同一条字线上的多个列会组成一个实体程序化单元(也称,实体页)。每个实体页会对应至一个实体地址,用以记录实体页所存储的数据的位置。此外,多个实体页可组成一个实体块(也称,实体抹除单元)。所述可复写式非易失性存储器模块的多个存储器晶粒中的每个存储器晶粒(芯片)具有多个平面(Plane),并且每个平面具有多个实体块。
在本实施例中,每个存储单元(存储单元)可存储1个或多个比特的数据。存储1个比特的存储单元的类型为单阶存储单元(Single-Level Cell,SLC)类型,存储多个比特的存储单元(也简称XLC)的多阶存储单元类型又可区分为存储2个比特的二阶存储单元(Multi-Level Cell,MLC)、存储3个比特的三阶存储单元(Triple-Level Cell,TLC)、存储4个比特的四阶存储单元(Quad-Level Cell,QLC)、存储5个比特的五阶存储单元(Penta-Level Cell,PLC)。SLC的特点是存储速率较快且稳定性佳,XLC的特点是可用的存储空间较大,速度较慢且较不稳定。一个实体块中的所有存储单元会属于同一个类型。例如,自身所具有的所有存储单元皆属于单阶存储单元类型的单阶存储单元实体块,和自身所具有的所有存储单元皆属于三阶存储单元类型的三阶存储单元实体块。
应注意的是,本发明并不限定于每一个实体页及逻辑页的大小。
图2为根据本发明的实施例所示出的存储器管理方法的流程图。
请参照图2,在步骤S210中,存储器控制器210(处理器211) 对相应于所述多个实体通道的多个存储器芯片的所述多个实体区块执行第一虚拟区块映射操作,获得多个虚拟区块以执行主机写入操作。
在一实施例中,存储器控制器210识别可复写式非易失性存储器模块的多个实体通道、相应每个实体通道的多个芯片使能引脚及相应每个芯片使能引脚的目标存储器芯片。在此,目标存储器芯片为执行虚拟区块映射操作的存储器芯片。
通道(Channel,CH)引脚(也称,实体通道)是可复写式非易失性存储器模块220中的一组物理引脚,它负责接收和传输数据和命令。
芯片使能(Chip enable,CE)引脚,用于将存储器芯片选中或取消选中。每个CE引脚对应的是一个物理芯片(存储器芯片)。如果某个芯片使能引脚处于有效状态,那么对应的物理芯片就被选中。
相应每个芯片使能引脚的所述目标存储器芯片包括分别根据多个实体区块编号依序排列的多个实体区块,其中相应每个目标存储器芯片的所述多个实体区块编号为相同的循序排列的多个编号,其中每个实体区块包括分别根据多个实体页编号依序排列的多个实体页。
图3为根据本发明的实施例所示出的存储器芯片的架构示意图。举例来说,请参照图3,存储器接口控制电路213通过多个实体通道CH0~CH3电性连接到多个存储器芯片DI00~DI31。其中,每个实体通道对应两个芯片使能引脚。例如,实体通道CH0对应两个芯片使能引脚CE0、CE1。
此外,每个存储器芯片可通过触发对应的芯片使能引脚,使能(enable)该存储器芯片。例如,当对应存储器芯片DI00的CE引脚被选中/触发的时候,存储器芯片DI00会处于使能状态,可存储/读取数据。
在本实施例中,每个存储器芯片可具有多个实体区块。例如,每个存储器芯片具有三个实体区块BK1~BK3。在一实施例中,每个存储器芯片具有两个(或更多个)平面,并且每个平面具有多个实体区块。
此外,对应实体通道的不同CE引脚无法同时被选中,只能通过交错机制来提高效率。同一个CE下的不同平面的实体区块可以执行并行存取(写入/读取),但限制是并行存取的实体区块的实体区块编号需要相同。
在本实施例中,可复写式非易失性存储器模块220的多个实体通道CH0~CH3电性连接到为多个存储器芯片DI00~DI31。
应注意的是,上述架构中各元件的数量及配置方式都是示例性的,仅为了方便说明而用,并不限制本发明。例如,每个存储器芯片可具有超过三个的实体区块。每个实体通道对应到4个或更多个芯片使能引脚。
在一实施例中,所述虚拟区块映射操作包括:根据所述多个实体通道及对应每个存储器芯片的所述多个实体区块各自的所述实体区块编号,将具有相同的所述实体区块编号的所述多个实体区块分组到同一个虚拟区块;以及根据被分组到每个虚拟区块的所述多个实体区块各自的多个实体页的所述多个实体页编号,将具有相同的所述实体页编号所述多个实体页重新分组到所属的虚拟区块的同一个虚拟页。
在一实施例中,存储器控制器210根据所述多个实体通道、所述多个芯片使能引脚及对应每个目标存储器芯片的所述多个实体区块各自的所述实体区块编号,将所述多个实体区块分组到所述多个虚拟区块,其中所述多个虚拟区块的数量小于所述多个实体区块的数量,并且被分组到同一个虚拟区块的多个实体区块具有相同的所述实体区块编号。也就是说,可视为将相应所有CH引脚的所有CE引脚中具有相同编号的实体区块全部绑定到为一个虚拟区块。
除了具有相同编号的实体区块全部绑定到为一个虚拟区块之外,存储器控制器210根据被分组到每个虚拟区块的所述多个实体区块各自的多个实体页的所述多个实体页编号,将所述多个实体页重新分组到所属的虚拟区块的多个虚拟页,其中所述多个虚拟页的数量小于所述多个第一实体页的数量,并且被分组到同一个虚拟页的多个实体页具有相同的所述实体页编号。
在一些实施例中,存储器控制器210对相应于多个实体通道的多个存储器芯片的多个实体区块中的第一类实体区块执行虚拟区块映射操作,其中第一类实体区块属于单阶存储单元(SLC)类型。虚拟区块映射后得到第一类虚拟区块执行主机写入操作,在存储器处于空闲状态时,将组成第一类虚拟区块的第一类实体区块中的数据搬移至第二类实体区块中,其中第二类实体区块属于多阶存储单元(XLC)类型。
一方面,由于SLC的写入速度较快,使用SLC类型的区块做主机写入操作,可以提高写入速度,另一方面,在绑定为虚拟块写入进一步提高写入速度时,由于SLC块的尺寸较小,可以保证存储空间的利用率,减少在绑定虚拟块写入时因存储块的尺寸过大造成的存储资源浪费。
此外,在进行虚拟区块映射操作,绑定了多个实体区块而获得多个虚拟区外后,可以经由实现多CH和多CE的并行写入来写入数据,并行写入的速度比单线写入要快。
特别是,在第一虚拟映射区块操作中,专门针对多个SLC类型的实体区块来进行绑定。在SLC本身写入速度就比XLC快的基础上,通过绑定好的SLC类型实体区块来执行并行写入,会让主机写入操作的速度比非并行写入还快会更快,或是比使用XLC来进行并行写入还快。
在闪存中最小写入单位是页,若使用XLC来进行并行写入的话,存储页太大而数据又被拆成小块做并行,每一小块数据可能不到一页大小,为了满足最小写入单位就需要填充无效数据至存储页大小再写入,会导致存储页中大量空间的浪费。
图4为根据本发明的实施例所示出的虚拟区块映射操作的示意图。举例来说,请参照图4,在本实施例中,首先,存储器控制器210选择相应于CH引脚(即,实体通道)CH0~CH3、CE引脚CE0~CE1的目标存储器芯片中具有相同实体区块编号的多个实体区块BK0,将其分组/设定为虚拟区块VBK0。
例如,箭头A41所示,存储器控制器210从相应于CH引脚CH0、CE引脚CE0的目标存储器芯片DI00选择第一个实体区块BK0来分组到虚拟区块VBK0。接着,如箭头A42~A48,存储器控制器210分别从目标存储器芯片DI01~DI31选择同样顺序(相同实体区块编号)的实体区块BK0以分组到虚拟区块VBK0。
在一实施例中。当所述多个实体通道的数量为X、相应每个实体通道的所述多个芯片使能引脚的数量为Y时,所分组的每个虚拟区块的所述多个实体区块的数量为X*Y,并且每个虚拟页的所述多个实体页的数量为X*Y。例如,在图4的例子中,CH引脚的数量(X)为4,相应每个实体通道的芯片使能引脚的数量(Y)为2。在此情况下,分组到虚拟区块VBK0的实体区块BK0的数量为8(X*Y=4*2=8)。此外,分组到每个虚拟区块的一个虚拟页的实体页的数量也为8(X*Y=4*2=8)。
此外,每个虚拟区块的虚拟区块编号等同于每个虚拟区块所拥有的所述多个实体区块的所述实体区块编号,并且所述目标存储器芯片的所述多个虚拟区块依据各自的所述虚拟区块编号被排序。
在获得虚拟区块VBK0后,依此类推,存储器控制器210从相应于CH引脚CH0、CE引脚CE0的目标存储器芯片DI00~DI31中来选择下一个实体区块,来获得下个虚拟区块。
此外,被分组到虚拟区块VBK0的多个实体区块BK0的多个实体页更会根据特定方式来进行排列,以形成虚拟区块VBK0的多个虚拟页。
图5为根据本发明的实施例所示出的建立虚拟区块及虚拟页的示意图。举例来说,请参照图5,“CH0,CE0,BK0”表示相应于CH引脚CH0、CE引脚CE0的实体区块BK0。假设每个实体区块包括多个实体页PG0、PG1、…。
如图5所示,虚拟区块VBK0包括了来自8个实体区块“CH0,CE0,BK0”、 “CH0,CE1,BK0”、“CH1,CE0,BK0”、“CH1,CE1,BK0”、“CH2,CE0,BK0”、 “CH2,CE1,BK0”、 “CH3,CE0,BK0”、“CH3,CE1,BK0”的实体页PG0、PG1、…,这些实体页构成了虚拟区块VBK0的虚拟页VPG0、VPG1、…(如,虚拟页VPG0包含8个实体页PG0、虚拟页VPG0包含8个实体页PG1)。
在一实施例中,每个虚拟页的虚拟页编号等同于每个虚拟页所拥有的所述多个实体页的所述实体页编号。例如,虚拟页VPG0的虚拟页编号/顺序等同于其所拥有的实体页PG0在所属的实体区块内的实体页编号/顺序。此外,每个虚拟区块内的所述多个虚拟页依据各自的所述虚拟页编号被排序(如,VPG0、VPG1、…的顺序来进行排序)。
在本实施例中,存储器控制器210先根据相应的实体通道编号、再根据相应的芯片使能引脚编号,排序每个虚拟页的具有相同实体页编号的所述多个实体页。上述的排序顺序,也可视为将多个实体区块BK0的多个实体页PG0、PG1、…,分组到虚拟区块VBK0的多个虚拟页VPG0、VPG1、…的顺序。
由于先根据相应的实体通道编号来进行排序/分组,存储器控制器210会先以CH引脚CH0~CH3的顺序,再以每个CH引脚内的CE引脚CH0、CH1的顺序来进行排序/分组。例如,为了构成虚拟页VPG0,如箭头A51所示,存储器控制器210最先选择对应CH0、CE0的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A52所示,再选择对应CH0、CE1的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A53所示,再选择对应CH1、CE0的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A54所示,再选择对应CH1、CE1的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A55所示,再选择对应CH2、CE0的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A56所示,再选择对应CH2、CE1的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A57所示,再选择对应CH3、CE0的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A58所示,再选择对应CH0、CE1的实体区块BK0中的实体页PG0以分组到虚拟页VPG0。
依此类推,存储器控制器210获得下一个虚拟页VPG1,例如,如箭头A59-1、A59-2的顺序,存储器控制器210仍会先从实体通道CH0来选择下个实体页PG1,以分组到虚拟页VPG1。
图6为根据本发明的另一实施例所示出的建立虚拟区块及虚拟页的示意图。请参照图6,在本实施例中,存储器控制器210先根据相应的芯片使能引脚编号、再根据相应的实体通道编号,排序每个虚拟页的具有相同实体页编号的所述多个实体页。
由于先根据相应的芯片使能引脚编号来进行排序/分组,存储器控制器210会先以CE引脚CH0、CE1的顺序,再以对应的多个CH引脚CH0~CH3的顺序来进行排序/分组。例如,为了构成虚拟页VPG0,如箭头A61所示,存储器控制器210最先选择对应CH0、CE0的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A62所示,再选择对应CH1、CE0的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A63所示,再选择对应CH2、CE0的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A64所示,再选择对应CH3、CE0的实体区块BK0中的实体页PG0以分组到虚拟页VPG0。接着,如箭头A65所示,再选择对应CH0、CE1的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A66所示,再选择对应CH1、CE1的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A67所示,再选择对应CH2、CE1的实体区块BK0中的实体页PG0以分组到虚拟页VPG0;接着,如箭头A68所示,再选择对应CH3、CE1的实体区块BK0中的实体页PG0以分组到虚拟页VPG0。
依此类推,存储器控制器210获得下一个虚拟页VPG1,例如,如箭头A69-1、A69-2、A69-3、A69-4的顺序,存储器控制器210仍会先从CE引脚CE0来选择下个实体页PG1,以分组到虚拟页VPG1。
在一实施例中,存储器控制器210经由多平面写入机制来写入数据到每个虚拟实体区块,并且经由多平面读取机制来从每个虚拟实体区块读取数据。例如,存储器控制器210可将4个实体页大小的写入数据,经由多平面写入操作来写入到图5中的虚拟页VPG0中的第1、3、5、7个实体页PG0,这些实体页分别对应到不同CH引脚的同一个CE引脚CE0,从而加速了写入操作的速度,提升了效率。
又例如,存储器控制器210可将4个实体页大小的写入数据,经由多平面写入操作来写入到图6中的虚拟页VPG0中的第1~4个实体页PG0,这些实体页分别对应到不同CH引脚的同一个CE引脚CE0。在此例子中,存储器控制器210写入数据到虚拟页VPG0的多个实体页PG0的顺序可以是循序且又使用了多平面写入机制,从而兼顾了高速的写入速度且不会浪费任何存储空间。
在一实施例中,获得所述多个虚拟区块以执行所述主机写入操作包括:从所述多个虚拟区块选择一或多个目标虚拟区块来存储相应于写入指令的写入数据;以及根据所述一或多个目标虚拟区块的一或多个目标虚拟页的实体地址以及相应所述写入数据的逻辑地址,记录相应所述写入数据的所述逻辑地址及所述实体地址的地址映射信息,其中所述写入指令指示所述逻辑地址,并且所述写入数据被存储在所述一或多个目标虚拟页内。以下会利用图7~图9来说明用以记录多种地址映射信息的方法。
图7为根据本发明的实施例所示出的根据虚拟区块来更新逻辑转实体映射表的示意图。请参照图7,在本实施例中,假设写入数据已经被存储到虚拟页VPG0内,对应写入数据的逻辑地址(索引)为LBA1、LBA2~LBA8,用以存储对应的写入数据的实体页的实体地址(索引)为“CH0_CE0_BK0_PG0”(如,对应了实体通道CH0、芯片使能引脚CE0的实体区块BK0、对应其中的实体页PG0)、“CH0_CE1_BK0_PG0”~“CH3_CE1_BK0_PG0”。应注意的是,在本公开所使用的逻辑地址(索引)(如,逻辑地址“LBA1”),以及实体地址(索引)(如,实体地址“CH0_CE0_BK0_PG0”)皆为方便说明而设计,其并不限制本公开的逻辑地址或是实体地址的具体数值内容。
在一实施例中,存储器控制器210会将写入数据的实体地址及逻辑地址记录/更新到逻辑转实体映射表T71。
在一实施例中,存储器控制器210根据虚拟区块的特性,利用额外生成的逻辑转虚拟映射表及虚拟转实体映射表来记录用以存储写入数据的虚拟区块的虚拟地址(也称,虚拟索引)、逻辑地址及实体地址之间的映射关系。应注意的是,虚拟地址意指抽象概念上的对应每个虚拟区块、虚拟页的索引。
图8为根据本发明的一实施例所示出的根据虚拟区块来更新逻辑转虚拟映射表及虚拟转实体映射表的示意图。请参照图8,在本实施例中,假设写入数据存储在虚拟区块VBK0的虚拟页VPG0内,写入数据的逻辑地址(索引)为LBA1,并且虚拟页VPG0的第一个实体页的实体地址(索引)为“CH0_CE0_BK0_PG0”。在此例子中,在将写入数据存储到虚拟区块VBK0的虚拟页VPG0后,存储器控制器210会将相应写入数据的逻辑地址“LBA1”及虚拟地址“VBK0_VPG0”,记录/更新到逻辑转虚拟映射表T81,并且将相应写入数据的虚拟地址“VBK0_VPG0”及实体地址“CH0_CE0_BK0_PG0”记录/更新到虚拟转实体映射表T82。应注意的是,在此实施例中,用对应整个虚拟页的信息来记录相应写入数据的虚拟地址。
如此一来,若存储器控制器210执行数据读取操作来读取此数据时,存储器控制器210可利用逻辑转虚拟映射表T81及虚拟转实体映射表T82,根据逻辑地址“LBA1”来从相应虚拟页VPG02的实体地址“CH0_CE0_BK0_PG0”读取该数据。
值得一提的是,在其他实施例中,存储器控制器210用对应一个虚拟页内的每个实体页的顺序信息来记录相应写入数据的虚拟地址。
图9为根据本发明的另一实施例所示出的根据虚拟区块来更新逻辑转虚拟映射表及虚拟转实体映射表的示意图。举例来说,请参照图9上方,存储器控制器210根据虚拟页VPG0内的每个实体页的顺序,赋予每个实体页一个虚拟地址。例如,虚拟页VPG0中排列在第一个的实体页PG0的虚拟地址被设定为“VBK0_VPG0_1”。
此外,假设多笔写入数据存储在虚拟区块VBK0的虚拟页VPG0内,逻辑地址分别为“LBA1”、“LBA2”…,并且虚拟页VPG0的多个虚拟地址为“VBK0_VPG0_1”、“VBK0_VPG0_1”、…。
在此例子中,在将多笔写入数据存储到虚拟区块VBK0的虚拟页VPG0后,存储器控制器210会将相应写入数据的逻辑地址“LBA1”、“LBA2”…及虚拟地址“VBK0_VPG0_1”、“VBK0_VPG0_1”、…,记录/更新到逻辑转虚拟映射表T91,并且将相应多笔写入数据的虚拟地址“VBK0_VPG0_1”、“VBK0_VPG0_1”、…及实体地址“CH0_CE0_BK0_PG0”、“CH0_CE1_BK0_PG0”、…,记录/更新到虚拟转实体映射表T92。值得一提的是,由于虚拟地址的粒度相等于实体地址的粒度,本实施例的空间利用效率会比较高(相较于图8的例子)。
例如,若存储器控制器210执行数据读取操作来读取存储在逻辑地址“LBA2”的数据时,存储器控制器210可利用逻辑转虚拟映射表T91查找到相应的虚拟地址“VBK0_VPG0_2”。再利用虚拟转实体映射表T92,根据虚拟地址“VBK0_VPG0_2”查找到相应的实体地址“CH0_CE1_BK0_PG0”,以读取该数据。
请再回到图2,在完成所述第一虚拟区块映射操作后,存储器控制器210会判断多个实体通道各自的空白实体区块数量是否低于预定阈值。
例如,在步骤S220中,当所述多个实体通道中的一目标实体通道(也称,目标通道引脚)的空白实体区块数量低于预定阈值时,将所述多个实体通道分为第一实体通道组及第二实体通道组,其中所述第一实体通道组至少包括所述目标实体通道。
具体来说,若所述多个实体通道中的目标实体通道的所述空白实体区块数量(空白的/可用的实体区块的总数量)低于所述预定阈值,存储器控制器210判定所述目标实体通道需要进行垃圾回收操作。
然而,为了避免可复写式非易失性存储器模块220因为要处理来自主机系统10的数据写入指令而延迟执行垃圾回收操作。
在本实施例中,存储器控制器210会将可复写式非易失性存储器模块220的多个存储器芯片进行分组,让其中一组执行垃圾回收操作,让另外一组仍处于正常运作的状态,以处理来自主机系统的数据写入指令。如此一来,即使目前正对第一组存储器芯片执行垃圾回收操作,当接收到来自主机系统10的数据写入指令,存储器控制器210可使用第二组存储器芯片来存储对应所接收的数据写入指令的写入数据。此外,当第一组存储器芯片执行完垃圾回收操作后,就可以换第二组存储器芯片来执行垃圾回收操作,并且使用第一组存储器芯片接收到来自主机系统10的数据写入指令,以存储对应所接收的数据写入指令的写入数据。
例如,在步骤S230中,存储器控制器210解除相应于所述多个实体通道及对应每个存储器芯片的所述多个实体区块所执行的第一虚拟区块映射操作,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作,以获得相应所述第一实体通道组的多个第一虚拟区块及相应所述第二实体通道组的多个第二虚拟区块。接着,在步骤S240中,存储器控制器210对相应于所述第一实体通道组的所述多个第一虚拟区块执行垃圾回收操作,对相应于所述第二实体通道组的所述多个第二虚拟区块执行主机写入操作。
更详细来说,存储器控制器210将所述多个实体通道分为第一实体通道组及第二实体通道组,其中所述第一实体通道组至少包括相应所述目标实体通道的目标实体通道。存储器控制器210会先对具有所述目标实体通道的所述第一实体通道组来执行垃圾回收操作。在一实施例中,所述第一实体通道组的多个实体通道各自的空白实体区块数量会少于所述第二实体通道组的多个实体通道各自的空白实体区块数量。
若当前已经完成了相应于所述多个实体通道、所述多个芯片使能引脚的所述多个实体区所执行的所述第一虚拟区块映射操作,存储器控制器210先解除所述第一虚拟区块映射操作(如,不使用所获得的多个虚拟区块来进行数据的存取)。
接着,存储器控制器210分别对相应于所述第一实体通道组的多个第一实体区块以及相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作,以获得相应所述第一实体通道组的多个第一虚拟区块及相应所述第二实体通道组的多个第二虚拟区块。在一实施例中,分别对相应于所述第一实体通道组的所述多个第一实体区块以及相应于所述第二实体通道组的所述多个第二实体区块执行所述第二虚拟区块映射操作包括:根据所述第一实体通道组内的至少一第二实体通道、相应每个第二实体通道的多个第一芯片使能引脚及相应每个第一芯片使能引脚的所述多个第一实体区块各自的第一实体区块编号,将所述多个第一实体区块分组到相应所述第一实体通道组的所述多个第一虚拟区块;以及根据被分组到每个第一虚拟区块内的多个第一实体页各自的第一实体页编号,将所述多个第一实体页重新分组到所属的第一虚拟区块的多个第一虚拟页;根据所述第二实体通道组内的至少一第二实体通道、相应每个第二实体通道的多个第二芯片使能引脚及相应每个第二芯片使能引脚的多个第二实体区块各自的第二实体区块编号,将所述多个第二实体区块分组到相应所述第二实体通道组的所述多个第二虚拟区块;以及根据被分组到每个第二虚拟区块内的多个第二实体页各自的第二实体页编号,将所述多个第二实体页重新分组到所属的第二虚拟区块的多个第二虚拟页。
接着,所述处理器锁定相应于所述第一实体通道组的所述多个第一虚拟区块,以对所述多个第一虚拟区块执行垃圾回收操作,其中相应于所述第二实体通道组的所述多个第二虚拟区块维持正常运作。
如此一来,可以完全压榨四个通道的带宽,提升脏盘的使用效率,同时避免了主机数据写入与垃圾回收操作的冲突。
在一实施例中,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作包括:对相应于所述第一实体通道组的多个第一实体区块中的第二类实体区块执行虚拟区块映射操作,其中所述第二类实体区块属于多阶存储单元类型;以及对相应于所述第二实体通道组的多个第二实体区块中的第一类实体区块执行虚拟区块映射操作,其中所述第一类实体区块属于单阶存储单元类型。
简单来说,针对用来处理主机写入操作的实体通道组,存储器控制器210会选择单阶存储单元类型的实体区块来进行虚拟区块映射操作;针对用来处理垃圾回收操作的实体通道组,存储器控制器210会选择多阶存储单元类型的实体区块来进行虚拟区块映射操作。原因在于,为了有效率地处理主机写入操作,会使用速度最快的对应多个单阶存储单元类型的实体区块的虚拟区块来进行数据的写入;为了有效率地处理主机写入操作,会使用具有较多无效数据的对应多个多阶存储单元类型的实体区块的虚拟区块来通过多平面读写机制,以进行数据的搬移。
图10为根据本发明的实施例所示出的分别基于垃圾回收操作及正常运作来执行虚拟区块映射操作的示意图。请参照图3及图10,举例来说,基于图3的架构,假设需要执行垃圾回收操作的目标实体通道位于存储器芯片DI00,其对应了CH引脚CH0及CE引脚CE0。存储器控制器210将CH引脚CH0、CH1分组为第一CH引脚组,以执行垃圾回收操作;将CH引脚CH2、CH3分组为第二CH引脚组,以维持正常运作。
接着,存储器控制器210分别对第一CH引脚组及第二CH引脚组执行第二虚拟区块映射操作。第二虚拟区块映射操作与第一虚拟区块映射操作的差异在于,第二虚拟区块映射操作针对属于各分组的实体区块来分别进行虚拟区块的建构。
举例来说,如箭头A101~A104所示,存储器控制器210对第一实体通道组(第一通道引脚组)执行第二虚拟区块映射操作:存储器控制器210先选择对应CH0及CE0的实体区块BK0的第一个实体页PG0;对应CH0及CE1的实体区块BK0的第一个实体页PG0;对应CH1及CE0的实体区块BK0的第一个实体页PG0的第一个实体页PG0;对应CH1及CE1的实体区块BK0的第一个实体页PG0,将所选择的4个实体页分组到对应第一CH引脚组的虚拟区块VBK10的第一个虚拟页VPG10。依此类推,可获得对应第一CH引脚组的多个虚拟区块,以对存储在对应第一CH引脚组的多个虚拟区块来执行垃圾回收操作。
此时存储器控制器210会以虚拟区块为单位对第一CH引脚组(垃圾回收组)做垃圾回收操作,从第一CH引脚组内的多个源虚拟区块上读取有效数据,并写入第一CH引脚组内的空白的(可用的)虚拟区块上。
另一方面,如箭头A105~A108所示,存储器控制器210对第二实体通道组(第二通道引脚组)执行第二虚拟区块映射操作:存储器控制器210选择对应CH2及CE0的实体区块BK0的第一个实体页PG0;对应CH2及CE1的实体区块BK0的第一个实体页PG0;对应CH3及CE0的实体区块BK0的第一个实体页PG0的第一个实体页PG0;对应CH3及CE1的实体区块BK0的第一个实体页PG0,将所选择的4个实体页分组到对应第二CH引脚组的虚拟区块VBK20的第一个虚拟页VPG20。依此类推,可获得对应第二CH引脚组的多个虚拟区块,以让来自主机系统的写入指令可以正常地被执行。
也就是说,在对相应于所述第一实体通道组的所述多个目标实体区块执行所述垃圾回收操作的期间,若从所述主机系统10接收到另一写入指令,存储器控制器210执行另一写入操作,以从所述多个第二虚拟区块选择一或多个目标第二虚拟区块来存储相应所述另一写入指令的另一写入数据。例如,在虚拟区块VBK10执行垃圾回收操作的期间,存储器控制器210仍可选择空白的(可用的)虚拟区块VBK20来存储另一写入数据,而不需要停止所执行的垃圾回收操作。
在存储完所述另一写入数据后,存储器控制器210根据用以存储相应所述另一写入指令的所述另一写入数据的所述一或多个目标第二虚拟区块的一或多个目标第二虚拟页的实体地址以及相应所述另一写入数据的逻辑地址,记录相应所述另一写入数据的所述逻辑地址及所述实体地址的地址映射信息。关于如何记录地址映射信息的方法,已经详述于上,不再赘述于此。
在一实施例中,在相应于所述第一实体通道组的所述多个第一实体区块的所述垃圾回收操作执行完毕后,存储器控制器210可解除对应第一实体通道组、第二实体通道组的第二虚拟区块映射操作,并且恢复所述第一虚拟区块映射操作,以让所有的实体通道可被用来执行主机系统写入操作。
在一实施例中,在相应于所述第一实体通道组的所述多个第一实体区块的所述垃圾回收操作执行完毕后,存储器控制器210更可以让执行完垃圾回收操作的第一实体通道组恢复正常运作,以待执行主机写入操作。
例如,存储器控制器210对所述第一实体通道组的所述多个第一虚拟区块执行所述另一主机写入操作,包括:对相应于所述第一实体通道组的多个第一实体区块中的第一类实体区块执行虚拟区块映射操作,以获得所述多个第一虚拟区块,从而对所述多个第一虚拟区块执行所述另一主机写入操作,其中所述第一类实体区块属于单阶存储单元类型。
在一实施例中,在相应于所述第一实体通道组的所述多个第一实体区块的所述垃圾回收操作执行完毕后,存储器控制器210更可以对第二实体通道组来执行垃圾回收操作。详细来说,存储器控制器210恢复相应于所述第一实体通道组的所述多个第一实体区块的正常运作;以及存储器控制器210对所述第二实体通道组的所述多个第二虚拟区块执行另一垃圾回收操作。
例如,存储器控制器210对所述第二实体通道组的所述多个第二虚拟区块执行所述另一垃圾回收操作,包括:对相应于所述第二实体通道组的多个第二实体区块中的第二类实体区块执行虚拟区块映射操作,以获得所述多个第二虚拟区块,从而对所述多个第二虚拟区块执行所述另一垃圾回收操作,其中所述第二类实体区块属于多阶存储单元类型。
在一实施例中,在相应于所述第二实体通道组的所述多个第二实体区块的所述另一垃圾回收操作执行完毕后,存储器控制器210恢复相应于所述第二实体通道组的所述多个第二实体区块的正常运作,并且解除所述第二虚拟区块映射操作,并且恢复所述第一虚拟区块映射操作。
在一实施例中,在对所述多个实体区块中的第一类实体区块执行第一虚拟区块映射操作的期间,存储器控制器210分别从每个实体通道选择预定实体区块执行第三虚拟区块映射操作,以将多个预定实体区块分组到多个预定虚拟区块,其用以存储系统数据。
由于系统数据体量较小,对全CH引脚和CE引脚绑定(如,第一虚拟区块映射操作)虽然提高了传输效率,但存储利用率降低,浪费了存储空间。因此,在本实施例中,存储器控制器210会使用特定范围的实体区块来进行绑定,以专门用来存储系统数据。
详细来说,存储器控制器210对相应于所述多个实体通道、所述多个芯片使能引脚中的预定芯片使能引脚的多个预定实体区块执行第三虚拟区块映射操作,以将所述多个预定实体区块分组到多个预定虚拟区块,其中所述多个预定虚拟区块用以存储系统数据。
当执行系统数据存储指令序列时,所述处理器执行系统数据写入操作,以从所述多个预定虚拟区块中选择一或多个目标预定虚拟区块,并将相应系统数据存储指令序列的系统数据存储到所选的所述一或多个目标预定虚拟区块,其中所述系统数据并非来自所述主机系统的用户数据。
在一实施例中,所述多个预定实体区块属于多阶存储单元类型。
图11为根据本发明的实施例所示出的分别基于系统数据存储需求执行虚拟区块映射操作的示意图。举例来说,请参照图11,在本实施例中,假设存储器控制器210设定每个CH引脚的第一个CE引脚CE0作为预定芯片使能引脚。配置在预定芯片使能引脚CE0中的多个实体区块作为预定实体区块。举例来说,如箭头A111~A114所示,对应CH0、CE0、BK0的实体页面PG0被分组到预定虚拟区块VBK0中的虚拟页VPG0;对应CH1、CE0、BK0的实体页面PG0被分组到预定虚拟区块VBK0中的虚拟页VPG0;对应CH2、CE0、BK0的实体页面PG0被分组到预定虚拟区块VBK0中的虚拟页VPG0;对应CH3、CE0、BK0的实体页面PG0被分组到预定虚拟区块VBK0中的虚拟页VPG0。依此类推,通过第三虚拟区块映射操作,存储器控制器210获得多个预定虚拟区块,以将系统数据存储到这些预定虚拟区块内。
如此一来,虽然经由第三虚拟区块映射操作所获得所述多个预定虚拟区块的数量较第一虚拟区块映射操作的少,但已经足以让大小较小的系统数据来使用。所述系统数据可包括任何类型的用以管理存储装置的运作的非用户数据的数据。例如,各种地址映射表,用于垃圾回收操作的坏块表、修剪表等。
基于上述,本发明实施例所提供的存储器控制器、存储装置及存储器管理方法,可利用对多个实体区块进行分组绑定以获得多组虚拟区块的方式,让存储装置可以分组同时进行垃圾回收操作及主机用户数据写入操作,避免了传统垃圾回收操作需避开主机用户数据写入操作的缺陷,增进了垃圾回收操作的执行弹性及效率,从而提升了存储装置的工作效率,增强用户体验。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (20)
1.一种存储器管理方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括各自对应于多个存储器芯片的多个实体通道,每个所述存储器芯片包括分别根据多个实体区块编号依序排列的多个实体区块,其特征在于,包括:
对相应于所述多个实体通道的多个存储器芯片的所述多个实体区块执行第一虚拟区块映射操作,获得多个虚拟区块以执行主机写入操作;
当所述多个实体通道中的一目标实体通道的空白实体区块数量低于预定阈值时,将所述多个实体通道分为第一实体通道组及第二实体通道组,其中所述第一实体通道组至少包括所述目标实体通道;以及
解除相应于所述多个实体通道及对应每个存储器芯片的所述多个实体区块所执行的第一虚拟区块映射操作,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作,以获得相应所述第一实体通道组的多个第一虚拟区块及相应所述第二实体通道组的多个第二虚拟区块;其中
分别根据所述第一实体通道组和所述第二实体通道组中对应每个存储器芯片的多个所述实体区块各自的所述实体区块编号,将具有相同的所述实体区块编号的所述多个实体区块分组到同一个虚拟区块;以及
对相应于所述第一实体通道组的所述多个第一虚拟区块执行垃圾回收操作,对相应于所述第二实体通道组的所述多个第二虚拟区块执行主机写入操作。
2.根据权利要求1所述的存储器管理方法,其特征在于,对相应于所述多个实体通道的所述多个存储器芯片的所述多个实体区块执行所述第一虚拟区块映射操作包括:
对所述多个实体区块中的多个第一类实体区块执行虚拟区块映射操作,其中所述多个第一类实体区块属于单阶存储单元类型。
3.根据权利要求2所述的存储器管理方法,其特征在于,获得所述多个虚拟区块以执行所述主机写入操作包括:
从所述多个虚拟区块选择一或多个目标虚拟区块来存储相应于写入指令的写入数据;以及
根据所述一或多个目标虚拟区块的一或多个目标虚拟页的实体地址以及相应所述写入数据的逻辑地址,记录相应所述写入数据的所述逻辑地址及所述实体地址的地址映射信息,其中所述写入指令指示所述逻辑地址,并且所述写入数据被存储在所述一或多个目标虚拟页内。
4.根据权利要求1所述的存储器管理方法,其特征在于,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作包括:
对相应于所述第一实体通道组的多个第一实体区块中的第二类实体区块执行虚拟区块映射操作,其中所述第二类实体区块属于多阶存储单元类型;以及
对相应于所述第二实体通道组的多个第二实体区块中的第一类实体区块执行虚拟区块映射操作,其中所述第一类实体区块属于单阶存储单元类型。
5.根据权利要求4所述的存储器管理方法,其特征在于,
在对相应于所述第一实体通道组的多个第一实体区块执行所述垃圾回收操作的期间,
若接收到另一写入指令,从所述多个第二虚拟区块选择一或多个目标第二虚拟区块来存储相应所述另一写入指令的另一写入数据;以及
根据所述一或多个目标第二虚拟区块的一或多个目标第二虚拟页的实体地址以及相应所述另一写入数据的逻辑地址,记录相应所述另一写入指令的所述另一写入数据的所述逻辑地址及所述实体地址的地址映射信息,其中所述写入指令指示相应所述另一写入数据的所述逻辑地址,并且所述写入数据被存储在所述一或多个目标第二虚拟页内。
6.根据权利要求1所述的存储器管理方法,其特征在于,在相应于所述第一实体通道组的所述多个第一实体区块的所述垃圾回收操作执行完毕后,所述方法还包括:
恢复相应于所述第一实体通道组的所述多个第一实体区块的正常运作,并且对所述第一实体通道组的所述多个第一虚拟区块执行另一主机写入操作;以及
对所述第二实体通道组的所述多个第二虚拟区块执行另一垃圾回收操作;
其中在相应于所述第二实体通道组的所述多个第二实体区块的所述另一垃圾回收操作执行完毕后,恢复相应于所述第二实体通道组的所述多个第二实体区块的正常运作,解除所述第二虚拟区块映射操作,并且恢复所述第一虚拟区块映射操作。
7.根据权利要求6所述的存储器管理方法,其特征在于,
对所述第一实体通道组的所述多个第一虚拟区块执行所述另一主机写入操作包括:
对相应于所述第一实体通道组的多个第一实体区块中的第一类实体区块执行虚拟区块映射操作,以获得所述多个第一虚拟区块,从而对所述多个第一虚拟区块执行所述另一主机写入操作,其中所述第一类实体区块属于单阶存储单元类型;
对所述第二实体通道组的所述多个第二虚拟区块执行所述另一垃圾回收操作包括:
对相应于所述第二实体通道组的多个第二实体区块中的第二类实体区块执行虚拟区块映射操作,以获得所述多个第二虚拟区块,从而对所述多个第二虚拟区块执行所述另一垃圾回收操作,其中所述第二类实体区块属于多阶存储单元类型。
8.根据权利要求1所述的存储器管理方法,其特征在于,其中所述虚拟区块映射操作包括:
根据被分组到每个虚拟区块的所述多个实体区块各自的多个实体页的多个实体页编号,将具有相同的所述实体页编号所述多个实体页重新分组到所属的虚拟区块的同一个虚拟页。
9.根据权利要求2所述的存储器管理方法,其特征在于,在对所述多个实体区块中的第一类实体区块执行第一虚拟区块映射操作的期间,所述方法还包括:
分别从每个实体通道选择预定实体区块执行第三虚拟区块映射操作,以将多个预定实体区块分组到多个预定虚拟区块,其中所述多个预定实体区块属于多阶存储单元类型;以及
当执行系统数据存储指令序列时,从所述多个预定虚拟区块中选择一或多个目标预定虚拟区块,并将相应系统数据存储到所选的所述一或多个目标预定虚拟区块,其中所述系统数据并非来自主机系统的用户数据。
10.根据权利要求9所述的存储器管理方法,其特征在于,其中每一所述存储器芯片包括多个平面,所述方法还包括:
经由多平面写入机制来写入数据到每个虚拟实体区块,并且经由多平面读取机制来从每个虚拟实体区块读取数据。
11.一种存储器控制器,用于控制配置有可复写式非易失性存储器模块的一存储装置,其特征在于,所述存储器控制器包括:
存储器接口控制电路,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括各自对应于多个存储器芯片的多个实体通道,每个所述存储器芯片包括分别根据多个实体区块编号依序排列的多个实体区块;以及
处理器,电性连接至所述存储器接口控制电路,其中所述处理器更电性连接至所述存储装置的连接接口电路,以电性连接至主机系统,
其中所述处理器被配置以:
对相应于所述多个实体通道的多个存储器芯片的所述多个实体区块执行第一虚拟区块映射操作,获得多个虚拟区块以执行主机写入操作;
当所述多个实体通道中的一目标实体通道的空白实体区块数量低于预定阈值时,将所述多个实体通道分为第一实体通道组及第二实体通道组,其中所述第一实体通道组至少包括所述目标实体通道;以及
解除相应于所述多个实体通道及对应每个存储器芯片的所述多个实体区块所执行的第一虚拟区块映射操作,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作,以获得相应所述第一实体通道组的多个第一虚拟区块及相应所述第二实体通道组的多个第二虚拟区块;其中
分别根据所述第一实体通道组和所述第二实体通道组中对应每个存储器芯片的多个所述实体区块各自的所述实体区块编号,将具有相同的所述实体区块编号的所述多个实体区块分组到同一个虚拟区块;以及
对相应于所述第一实体通道组的所述多个第一虚拟区块执行垃圾回收操作,对相应于所述第二实体通道组的所述多个第二虚拟区块执行主机写入操作。
12.根据权利要求11所述的存储器控制器,其特征在于,对相应于所述多个实体通道的所述多个存储器芯片的所述多个实体区块执行所述第一虚拟区块映射操作包括:
所述处理器对所述多个实体区块中的多个第一类实体区块执行虚拟区块映射操作,其中所述多个第一类实体区块属于单阶存储单元类型。
13.根据权利要求12所述的存储器控制器,其特征在于,获得所述多个虚拟区块以执行所述主机写入操作包括:
所述处理器从所述多个虚拟区块选择一或多个目标虚拟区块来存储相应于写入指令的写入数据;以及
所述处理器根据所述一或多个目标虚拟区块的一或多个目标虚拟页的实体地址以及相应所述写入数据的逻辑地址,记录相应所述写入数据的所述逻辑地址及所述实体地址的地址映射信息,其中所述写入指令指示所述逻辑地址,并且所述写入数据被存储在所述一或多个目标虚拟页内。
14.根据权利要求11所述的存储器控制器,其特征在于,分别对相应于所述第一实体通道组的多个第一实体区块和相应于所述第二实体通道组的多个第二实体区块执行第二虚拟区块映射操作包括:
所述处理器对相应于所述第一实体通道组的多个第一实体区块中的第二类实体区块执行虚拟区块映射操作,其中所述第二类实体区块属于多阶存储单元类型;以及
所述处理器对相应于所述第二实体通道组的多个第二实体区块中的第一类实体区块执行虚拟区块映射操作,其中所述第一类实体区块属于单阶存储单元类型。
15.根据权利要求14所述的存储器控制器,其特征在于,其中在对相应于所述第一实体通道组的多个第一实体区块执行所述垃圾回收操作的期间,
若接收到另一写入指令,所述处理器从所述多个第二虚拟区块选择一或多个目标第二虚拟区块来存储相应所述另一写入指令的另一写入数据;以及
所述处理器根据所述一或多个目标第二虚拟区块的一或多个目标第二虚拟页的实体地址以及相应所述另一写入数据的逻辑地址,记录相应所述另一写入指令的所述另一写入数据的所述逻辑地址及所述实体地址的地址映射信息,其中所述写入指令指示相应所述另一写入数据的所述逻辑地址,并且所述写入数据被存储在所述一或多个目标第二虚拟页内。
16.根据权利要求11所述的存储器控制器,其特征在于,在相应于所述第一实体通道组的所述多个第一实体区块的所述垃圾回收操作执行完毕后,所述处理器更配置以:
恢复相应于所述第一实体通道组的所述多个第一实体区块的正常运作,并且对所述第一实体通道组的所述多个第一虚拟区块执行另一主机写入操作;以及
对所述第二实体通道组的所述多个第二虚拟区块执行另一垃圾回收操作;
其中在相应于所述第二实体通道组的所述多个第二实体区块的所述另一垃圾回收操作执行完毕后,所述处理器恢复相应于所述第二实体通道组的所述多个第二实体区块的正常运作,解除所述第二虚拟区块映射操作,并且恢复所述第一虚拟区块映射操作。
17.根据权利要求16所述的存储器控制器,其特征在于,
对所述第一实体通道组的所述多个第一虚拟区块执行所述另一主机写入操作包括:
所述处理器对相应于所述第一实体通道组的多个第一实体区块中的第一类实体区块执行虚拟区块映射操作,以获得所述多个第一虚拟区块,从而对所述多个第一虚拟区块执行所述另一主机写入操作,其中所述第一类实体区块属于单阶存储单元类型;
对所述第二实体通道组的所述多个第二虚拟区块执行所述另一垃圾回收操作包括:
所述处理器对相应于所述第二实体通道组的多个第二实体区块中的第二类实体区块执行虚拟区块映射操作,以获得所述多个第二虚拟区块,从而对所述多个第二虚拟区块执行所述另一垃圾回收操作,其中所述第二类实体区块属于多阶存储单元类型。
18.根据权利要求11所述的存储器控制器,其特征在于,其中所述虚拟区块映射操作包括:
所述处理器根据被分组到每个虚拟区块的所述多个实体区块各自的多个实体页的所述多个实体页编号,将具有相同的所述实体页编号所述多个实体页重新分组到所属的虚拟区块的同一个虚拟页。
19.根据权利要求12所述的存储器控制器,其特征在于,其中在对所述多个实体区块中的第一类实体区块执行第一虚拟区块映射操作的期间,
所述处理器分别从每个实体通道选择预定实体区块执行第三虚拟区块映射操作,以将多个预定实体区块分组到多个预定虚拟区块,其中所述多个预定实体区块属于多阶存储单元类型;以及
当执行系统数据存储指令序列时,从所述多个预定虚拟区块中选择一或多个目标预定虚拟区块,并将相应系统数据存储到所选的所述一或多个目标预定虚拟区块,其中所述系统数据并非来自所述主机系统的用户数据。
20.根据权利要求19所述的存储器控制器,其特征在于,其中每一所述存储器芯片包括多个平面,其中
所述处理器经由多平面写入机制来写入数据到每个虚拟实体区块,并且经由多平面读取机制来从每个虚拟实体区块读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410764363.6A CN118331511B (zh) | 2024-06-14 | 2024-06-14 | 存储器管理方法及存储器控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410764363.6A CN118331511B (zh) | 2024-06-14 | 2024-06-14 | 存储器管理方法及存储器控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118331511A CN118331511A (zh) | 2024-07-12 |
CN118331511B true CN118331511B (zh) | 2024-09-13 |
Family
ID=91782915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410764363.6A Active CN118331511B (zh) | 2024-06-14 | 2024-06-14 | 存储器管理方法及存储器控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118331511B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
CN106354660A (zh) * | 2016-08-30 | 2017-01-25 | 深圳市先天海量信息技术有限公司 | 固态存储设备的垃圾回收方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101297563B1 (ko) * | 2007-11-15 | 2013-08-19 | 삼성전자주식회사 | 스토리지 관리 방법 및 관리 시스템 |
CN106502586B (zh) * | 2016-10-17 | 2019-10-25 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘顺序读性能的方法 |
TW201947402A (zh) * | 2018-05-14 | 2019-12-16 | 深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
US11734115B2 (en) * | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
CN113590503B (zh) * | 2021-07-23 | 2024-03-22 | 合肥康芯威存储技术有限公司 | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统 |
-
2024
- 2024-06-14 CN CN202410764363.6A patent/CN118331511B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
CN106354660A (zh) * | 2016-08-30 | 2017-01-25 | 深圳市先天海量信息技术有限公司 | 固态存储设备的垃圾回收方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN118331511A (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
CN108228470B (zh) | 一种处理向nvm写入数据的写命令的方法和设备 | |
TW201945936A (zh) | 記憶體管理方法以及儲存控制器 | |
TWI479315B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
US20150161042A1 (en) | Memory management method, memory controlling circuit unit, and memory storage device | |
CN110471612B (zh) | 存储器管理方法以及存储控制器 | |
US11175847B2 (en) | Data merging method, control circuit unit and storage device for flash memory | |
CN112230849B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN118331511B (zh) | 存储器管理方法及存储器控制器 | |
US20150254011A1 (en) | Memory system, memory controller and control method of non-volatile memory | |
CN114333930B (zh) | 多通道存储器存储装置、控制电路单元及其数据读取方法 | |
CN104423892A (zh) | 数据写入方法、磁盘模块以及数据写入系统 | |
US8713242B2 (en) | Control method and allocation structure for flash memory device | |
CN119440428B (zh) | 基于计数信息的共享缓存区数据管理方法与存储系统 | |
CN119473164B (zh) | 动态确定管理策略的共享缓存区数据管理方法与存储系统 | |
CN119440429B (zh) | 基于计数信息的共享缓存区容量调整方法与存储系统 | |
CN119440427B (zh) | 基于类型追踪的共享缓存区数据管理方法与存储系统 | |
CN119473163B (zh) | 基于类型追踪的共享缓存区容量调整方法与存储系统 | |
CN119473166B (zh) | 基于验证信息的共享缓存区数据管理方法与存储系统 | |
CN119473167B (zh) | 共享缓存区容量调整方法与存储系统 | |
CN114115737B (zh) | 数据存储分配方法、存储器存储装置及控制电路单元 | |
TWI823792B (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 |