CN111198651B - 进行存储空间管理的方法以及数据存储装置及其控制器 - Google Patents
进行存储空间管理的方法以及数据存储装置及其控制器 Download PDFInfo
- Publication number
- CN111198651B CN111198651B CN201910046776.XA CN201910046776A CN111198651B CN 111198651 B CN111198651 B CN 111198651B CN 201910046776 A CN201910046776 A CN 201910046776A CN 111198651 B CN111198651 B CN 111198651B
- Authority
- CN
- China
- Prior art keywords
- namespace
- controller
- host
- logical
- instruction
- 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
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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- 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
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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
- 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
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用来进行存储空间管理的方法以及数据存储装置及其控制器。所述方法可包括:从一主机接收一辨识控制器指令;因应所述辨识控制器指令,回传一回复至所述主机,以指出支持多个逻辑区块地址格式,其中所述多个逻辑区块地址格式是关于非挥发性存储器的存取,且包括第一、第二逻辑区块地址格式;从所述主机接收一第一命名空间管理指令;因应所述第一命名空间管理指令,建立采用第一逻辑区块地址格式的第一命名空间;从所述主机接收一第二命名空间管理指令;以及因应所述第二命名空间管理指令,建立采用第二逻辑区块地址格式的第二命名空间。本发明的好处是能针对控制器的运作进行妥善的控制,在使用相同的硬件架构下满足用户的需求。
Description
技术领域
本发明关于闪存(Flash memory)的存取(access),尤指一种用来进行存储空间管理的方法以及相关的数据存储装置及其控制器。
背景技术
闪存可广泛地应用于各种可携式或非可携式数据存储装置(例如:符合SD/MMC、CF、MS、XD或UFS标准的记忆卡;又例如:固态硬盘;又例如:符合UFS或EMMC规格的嵌入式(embedded)存储装置)中。以常用的NAND型闪存而言,最初有单阶细胞(single levelcell,SLC)、多阶细胞(multiple level cell,MLC)等类型的闪存。由于存储器的技术不断地发展,较新的数据存储装置产品可采用三阶细胞(triple level cell,TLC)闪存,甚至四阶细胞(quadruple level cell,QLC)闪存。为了确保数据存储装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理其内部运作。
依据现有技术,有了这些管理机制的数据存储装置还是有不足的处。举例来说,当存取所述数据存储装置时,主机(host device)于传统模式中可能以某个大小的单位诸如0.5KB(kilobyte;千字节)来存取,而这些管理机制可能主要以另一个大小的单位诸如4KB来进行所述数据存储装置的内部管理,其中所述数据存储装置中的既有的设计可使所述数据存储装置兼容于所述传统模式中的主机。针对较新主机的4KB原生模式(4-KB nativemode),现有技术中缺乏立即可行的解决方案来使所述数据存储装置兼容于所述4KB原生模式。于是,所述数据存储装置的硬件架构被迫要被修改,换句话说,需要重新开发其新的集成电路,这可导致相关成本(诸如材料成本与人力成本)大幅地增加。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下实现兼容于所述4KB原生模式的数据存储装置。
发明内容
本发明之一目的在于公开一种用来进行存储空间管理的方法以及相关的数据存储装置及其控制器,以解决上述问题。
本发明的另一目的在于公开一种用来进行存储空间管理的方法以及相关的数据存储装置及其控制器,以在没有副作用或较不可能带来副作用的状况下达到数据存储装置的优化(optimal)效能。
本发明的至少一实施例公开一种用来进行存储空间管理的方法,其中所述方法是应用于一数据存储装置,所述数据存储装置包括一非挥发性存储器(non-volatilememory,NV memory),且所述非挥发性存储器包括至少一非挥发性存储器组件(NV memoryelement)。所述方法可包括:从一主机(host device)接收一辨识控制器(identifycontroller)指令;因应所述辨识控制器指令,回传(return)一回复至所述主机,以指出支持多个逻辑区块地址格式(logical block address format,LBA format),其中所述多个逻辑区块地址格式是关于所述非挥发性存储器的存取(access),且所述多个逻辑区块地址格式包括一第一逻辑区块地址格式与一第二逻辑区块地址格式;从所述主机接收一第一命名空间管理(namespace management,NS management)指令;因应所述第一命名空间管理指令,建立(establish)采用所述第一逻辑区块地址格式的一第一命名空间;从所述主机接收一第二命名空间管理指令;以及因应所述第二命名空间管理指令,建立采用所述第二逻辑区块地址格式的一第二命名空间。
本发明的至少一实施例公开一种数据存储装置,其可包括:一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及一控制器,耦接至所述非挥发性存储器,用来控制所述数据存储装置的运作。所述控制器可包括一处理电路,而所述处理电路可依据来自一主机的多个主机指令(host command)控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器。例如:所述控制器从所述主机接收一辨识控制器指令;因应所述辨识控制器指令,所述控制器回传一回复至所述主机,以指出支持多个逻辑区块地址格式,其中所述多个逻辑区块地址格式是关于所述非挥发性存储器的存取,且所述多个逻辑区块地址格式包括一第一逻辑区块地址格式与一第二逻辑区块地址格式;所述控制器从所述主机接收一第一命名空间管理指令;因应所述第一命名空间管理指令,所述控制器建立采用所述第一逻辑区块地址格式的一第一命名空间;所述控制器从所述主机接收一第二命名空间管理指令;以及因应所述第二命名空间管理指令,所述控制器建立采用所述第二逻辑区块地址格式的一第二命名空间。
本发明的至少一实施例公开一种数据存储装置的控制器,其中所述数据存储装置包括所述控制器与一非挥发性存储器,且所述非挥发性存储器包括至少一非挥发性存储器组件。所述控制器可包括一处理电路,而所述处理电路可依据来自一主机的多个主机指令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器。例如:所述控制器从所述主机接收一辨识控制器指令;因应所述辨识控制器指令,所述控制器回传一回复至所述主机,以指出支持多个逻辑区块地址格式,其中所述多个逻辑区块地址格式是关于所述非挥发性存储器的存取,且所述多个逻辑区块地址格式包括一第一逻辑区块地址格式与一第二逻辑区块地址格式;所述控制器从所述主机接收一第一命名空间管理指令;因应所述第一命名空间管理指令,所述控制器建立采用所述第一逻辑区块地址格式的一第一命名空间;所述控制器从所述主机接收一第二命名空间管理指令;以及因应所述第二命名空间管理指令,所述控制器建立采用所述第二逻辑区块地址格式的一第二命名空间。
本发明的好处的一是,通过动态的存储空间管理,本发明能针对所述控制器的运作进行妥善的控制,尤其,能在使用相同的硬件架构的状况下因应用户的各种需求(例如上述传统模式或上述4KB原生模式)来存取非挥发性存储器。另外,依据本发明的实施例来实施并不会增加许多额外的成本。因此,现有技术的问题可被解决,且整体成本不会增加太多。相较于现有技术,本发明能在没有副作用或较不可能带来副作用的状况下达到数据存储装置的优化效能。
附图说明
图1为依据本发明一实施例的一种数据存储装置与一主机(host device)的示意图。
图2为依据本发明一实施例的一种用来进行存储空间管理的方法的工作流程。
图3绘示图2所示方法于一实施例中的管理方案。
图4绘示图2所示方法于一实施例中的关于存取控制的工作流程。
其中,附图标记说明如下:
50 主机
100 数据存储装置
110 存储器控制器
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑电路
116 缓冲存储器
116T,120T L2P表
118 传输接口电路
120 非挥发性存储器
122,122-1,122-2,…,122-N 非挥发性存储器组件
200,400 工作流程
S11,S12,
S21,S22,S23,S24,S25,
S31,S32,S33,S34,S35,
S41,S42,S43 步骤
310 存储容量
311,312 命名空间
321,322 L2P表
330 存储空间
LBA#0,LBA#1,…,
LBA#(LBC2-1),…,
LBA#(LBC1-1) 逻辑区块地址
具体实施方式
请参考图1,图1为依据本发明一第一实施例的一种数据存储装置100与一主机(host device)50的示意图。例如:数据存储装置100可为固态硬盘(solid state drive,SSD)。另外,主机50的例子可包括(但不限于):多功能移动电话(multifunctional mobilephone)、平板计算机(tablet)、以及个人计算机(personal computer)诸如桌面计算机与膝上型计算机。依据本实施例,数据存储装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性存储器(non-volatile memory,NV memory)120,其中所述控制器是用来存取(access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。非挥发性存储器120可包括多个非挥发性存储器组件(NV memory element)122-1、122-2、…与122-N,其中符号「N」可代表大于一的正整数。例如:非挥发性存储器120可为一闪存(Flash memory),而非挥发性存储器组件122-1、122-2、…与122-N可分别为多个闪存芯片(Flash memorychip;也可以称为快闪芯片)或多个闪存裸晶(Flash memory die;也可以称为快闪裸晶),但本发明并不限于此。另外,数据存储装置100可更包括挥发性存储器组件以缓存数据,其中,所述挥发性存储器组件较佳为动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)。
如图1所示,存储器控制器110可包括处理电路诸如微处理器112、存储器诸如一只读存储器(Read Only Memory,ROM)112M、控制逻辑电路114、缓冲存储器116、与传输接口电路118,其中这些组件可通过一总线彼此耦接。缓冲存储器116是以随机存取存储器(RandomAccess Memory,RAM)来实施,较佳为静态随机存取存储器(Static RAM,简称SRAM)。存储器控制器110可将缓冲存储器116作为第一外部快取(Cache),并将所述挥发性存储器组件作为第二外部快取,所述挥发性存储器组件的数据存储量较佳大于缓冲存储器116的数据存储量,且所述挥发性存储器组件所缓存的数据较佳来自于缓冲存储器116。
本实施例的只读存储器112M是用来存储一程序代码112C,而微处理器112则用来执行程序代码112C以控制对非挥发性存储器120的存取。请注意,程序代码112C也可存储在缓冲存储器116或任何形式的存储器内。此外,控制逻辑电路114可包括一错误更正码电路(未显示),以保护数据、及/或进行错误更正,而传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIE)标准或非挥发性存储器快捷(Non-Volatile Memory Express,NVME)标准)且可依据所述特定通信标准进行通信。
于本实施例中,主机50可通过传送多个主机指令(Host Command)与对应的逻辑地址予存储器控制器110来间接地存取数据存储装置100中的非挥发性存储器120。存储器控制器110接收所述多个主机指令与逻辑地址,并将所述多个主机指令分别转译成存储器操作指令(简称操作指令),再以操作指令控制非挥发性存储器120读取、写入(Write)/编程(Program)非挥发性存储器120当中特定实体地址的记忆单位(Memory Unit)或数据页(Page),其中实体地址对应于逻辑地址。
另外,存储器控制器110可存储及更新至少一逻辑对实体地址映像表(logical-to-physical address mapping table,可简称为「L2P表」),诸如缓冲存储器116中的L2P表116T以及非挥发性存储器120中的L2P表120T,以管理所述实体地址与所述逻辑地址之间的多个映像关系,以供进行存取控制。例如,L2P表120T可包括所述多个映像关系的全部映像信息。
另外,L2P表120T可分割成数个群组(Group),而存储器控制器110可依缓冲存储器116的容量大小而将其中一个群组或全部群组加载于缓冲存储器116中作为L2P表116T,以供快速参考,但本发明不限于此。当用户数据更新时,存储器控制器110可依据用户数据的最新映像关系来更新L2P表116T及/或120T。为了便于理解,L2P表120T可存储在非挥发性存储器组件122-1中,但本发明不限于此。
例如,存储器控制器110可将L2P表120T存储于非挥发性存储器120中的任何一个非挥发性存储器组件122-n(“n”可代表区间[1,N]中之任一整数),诸如非挥发性存储器组件122-1、122-2、…与122-N中的任一者,其中,L2P表120T的一个群组的大小较佳等于非挥发性存储器组件122-n的一个页面(Page)的大小,例如16KB。又例如,L2P表120T的一个群组的大小亦可等于多个非挥发性存储器组件122的一个页面(Page)的大小,例如在N=4的情况下,4个非挥发性存储器组件122的一个页面(Page)的大小,即64KB,其中这4个非挥发性存储器组件122的页面(Page)亦可称为超级页面(Super Page)。
此外,存储器控制器110可依据不同的组态来决定L2P表116T与120T的格式。例如,基于一第一组态,例如:逻辑区块大小等于0.5KB,存储器控制器110可产生对应于一第一逻辑区块地址格式的L2P表116T与120T。又例如,基于一第二组态,例如:逻辑区块大小等于4KB,存储器控制器110可产生对应于一第二逻辑区块地址格式的L2P表116T与120T。因此,本发明的记忆装置100(尤其,其内的存储器控制器110与微处理器112)能在使用相同的硬件架构的状况下因应各种组态的设定而正确地存取非挥发性存储器120。
图2为依据本发明一实施例的一种用来进行存储空间管理的方法的工作流程200。例如:在所述处理电路诸如微处理器112的控制下,所述控制器诸如存储器控制器110可进行工作流程200的运作。为了便于理解,于工作流程200中的第一命名空间与第二命名空间分别描述为命名空间NS#1与NS#2,且对应的第一逻辑对实体地址映像表与第二逻辑对实体地址映像表分别描述为逻辑对实体地址映像表L2P#1与L2P#2。
于步骤S11中,存储器控制器110从主机50接收一辨识指令,例如:符合NVME标准的辨识控制器指令。存储器控制器110与主机50可直接以符合NVME标准的指令彼此沟通。又例如,存储器控制器110与主机50可通过其它标准的指令来传送或接收符合NVME标准的指令以彼此沟通。
于步骤S12中,因应所述辨识控制器指令,存储器控制器110回传一回复至主机50,以指出支持多个逻辑区块地址格式,其中所述多个逻辑区块地址格式中的每一逻辑区块地址格式可用来决定某一命名空间(例如命名空间NS#1与NS#2的其中的一)中的一逻辑区块(尤其,每一逻辑区块)所表示的数据量的大小。依据本实施例,所述多个逻辑区块地址格式可包括所述第一逻辑区块地址格式与所述第二逻辑区块地址格式,所述第一逻辑区块地址格式例如为0.5KB逻辑区块地址格式(其每一逻辑区块的大小为0.5KB),而所述第二逻辑区块地址格式例如为4KB逻辑区块地址格式(其每一逻辑区块的大小为4KB)。
于步骤S21中,存储器控制器110从主机50接收一第一命名空间管理指令。
于步骤S22中,因应所述第一命名空间管理指令,存储器控制器110建立采用所述第一逻辑区块地址格式的一命名空间NS#1。
于步骤S23中,存储器控制器110从主机50接收一第一命名空间附加指令。
于步骤S24中,因应所述第一命名空间附加指令,存储器控制器110建立一逻辑对实体地址映像表L2P#1(其可作为L2P表120T的一个例子),以供管理命名空间NS#1的存取。
于步骤S25中,存储器控制器110进行一或多个存取运作,诸如写入运作与读取运作。依据本实施例,因应来自主机50的一第一写入指令,存储器控制器110可于命名空间NS#1(例如其内的一逻辑地址LBA#(x1))写入第一数据,且对应地更新逻辑对实体地址映像表L2P#1,以指出至少一逻辑地址(例如逻辑地址LBA#(x1))与所述第一数据之间的映像关系。因应来自主机50的一第一读取指令,存储器控制器110可依据逻辑对实体地址映像表L2P#1(例如其内的所述映像关系)从命名空间NS#1读取所述第一数据。步骤S25为非必要步骤。
于步骤S31中,存储器控制器110从主机50接收一第二命名空间管理指令。
于步骤S32中,因应所述第二命名空间管理指令,存储器控制器110建立采用所述第二逻辑区块地址格式的一命名空间NS#2。
于步骤S33中,存储器控制器110从主机50接收一第二命名空间附加指令。
于步骤S34中,因应所述第二命名空间附加指令,存储器控制器110建立一逻辑对实体地址映像表L2P#2(其可作为L2P表120T的另一个例子),以供管理命名空间NS#2的存取。
于步骤S35中,存储器控制器110进行一或多个存取运作,诸如写入运作与读取运作。依据本实施例,因应来自主机50的一第二写入指令,存储器控制器110可于命名空间NS#2(例如其内的一逻辑地址LBA#(x2))写入第二数据,且对应地更新逻辑对实体地址映像表L2P#2,以指出至少一逻辑地址(例如逻辑地址LBA#(x2))与所述第二数据之间的映像关系。因应来自主机50的一第二读取指令,存储器控制器110可依据逻辑对实体地址映像表L2P#2(例如其内的所述映像关系)从命名空间NS#2读取所述第二数据。步骤S35为非必要步骤。
另外,存储器控制器110可将逻辑对实体地址映像表L2P#1以及L2P#2整合至全球(Global)逻辑对实体地址映像表GL2P,换句话说,以全球逻辑对实体地址映像表GL2P来包括逻辑对实体地址映像表L2P#1以及L2P#2的内容。
为了更好地理解,所述方法可用图2所示工作流程200来说明,但本发明不限于此。依据某些实施例,一个或多个步骤可于工作流程200中增加、删除或修改。
图3绘示图2所示方法于一实施例中的管理方案,其中命名空间311与312可分别作为命名空间NS#1与NS#2的例子,且L2P表321与322可分别作为逻辑对实体地址映像表L2P#1与L2P#2的例子。假设非挥发性存储器120的存储容量310为512GB(Giga-Byte;十亿字节),命名空间311与312具有相同的存储容量,各为256GB。命名空间311中的第一逻辑区块的数量LBC1等于一第一预定数量,例如512M(mega;百万),且所述多个第一逻辑区块中的每一第一逻辑区块的大小等于第一预定大小,例如0.5KB,第一预定大小与第一预定数量的乘积等于命名空间311的存储容量。另外,命名空间312中的第二逻辑区块的数量LBC2等于一第二预定数量,例如64M,且所述多个第二逻辑区块中的每一第二逻辑区块的大小等于第二预定大小,例如4KB,第二预定大小与第二预定数量的乘积等于命名空间312的存储容量。
由上述中可知,在相同存储容量的条件下,逻辑区块的大小与逻辑区块的数量呈反比,例如,逻辑区块的大小由0.5KB变更成4KB,变大了8倍,则逻辑区块的数量由512M变更成64M,变为1/8。
另外,存储器控制器110可以利用一预定数据量,例如0.5KB,作为数据存取量的默认值,并记录一个倍数值以表示每一组态的逻辑区块大小,例如,第一组态的逻辑区块大小为0.5KB,所以倍数值为1;第二组态的逻辑区块大小为4KB,所以倍数值为8。当存储器控制器110存取非挥发性存储器120,存储器控制器110可依据默认值以及倍数值来决定存取非挥发性存储器120的数据存取量。
如图3所示,命名空间311与312具有相同的存储容量,且命名空间311与312中的每一命名空间占有非挥发性存储器120当中一半的存储空间330。在命名空间311被建立之后,逻辑地址LBA#(x1)可为对应的逻辑地址{LBA#0,LBA#1,…,LBA#(LBC1-1)}中的任一者。存储器控制器110可将主机50指定存储于逻辑地址LBA#(x1)的数据存储于非挥发性存储器120中的某一实体地址,且将逻辑地址LBA#(x1)以及这个实体地址之间的映像关系存储于L2P表321中。逻辑地址LBA#0可作为逻辑地址LBA#(x1)的例子。实体地址可存储等于或超过第一预定大小的数据量。
另外,在命名空间312被建立之后,逻辑地址LBA#(x2)可为对应的逻辑地址{LBA#0,LBA#1,…,LBA#(LBC2-1)}中的任一者。存储器控制器110可将主机50指定存储于逻辑地址LBA#(x2)的数据存储于非挥发性存储器120中的某一实体地址,且将逻辑地址LBA#(x2)以及这个实体地址之间的映像关系存储于L2P表322中。逻辑地址LBA#0可作为逻辑地址LBA#(x2)的例子。实体地址可存储等于或超过第二预定大小的数据量。
图4绘示图2所示方法于一实施例中的关于存取控制的工作流程400。例如:在所述处理电路诸如微处理器112的控制下,所述控制器诸如存储器控制器110可进行工作流程400的运作。
于步骤S41中,存储器控制器110从主机50接收一存取指令。例如,所述存取指令可为存取命名空间311的第一写入指令或存取命名空间312的第二写入指令。又例如,所述存取指令可为存取命名空间311的第一读取指令或存取命名空间312的第二读取指令。
于步骤S42中,存储器控制器110依据对应于命名空间标识符(NS Identifier)NSID的控制参数进行存取控制,且选择性地更新逻辑对实体地址映像表L2P#(y),诸如逻辑对实体地址映像表L2P#1或L2P#2。
依据本实施例,在命名空间标识符NSID等于命名空间NS#1的标识符NS#1(以同名称的斜体字表示,以便于理解)的状况下,逻辑对实体地址映像表L2P#(y)代表逻辑对实体地址映像表L2P#1,而所述多个控制参数可分别等于一组第一预设参数。在命名空间标识符NSID等于命名空间NS#2的标识符NS#2(以同名称的斜体字表示,以便于理解)的状况下,逻辑对实体地址映像表L2P#(y)代表逻辑对实体地址映像表L2P#2,而所述多个控制参数可分别等于一组第二预设参数。另外,当所述存取指令是一写入指令(诸如所述第一写入指令或所述第二写入指令),在存储器控制器110将写入指令中的用户数据写入非挥发性存储器120以后,或将用户数据写入缓冲存储器116以后,存储器控制器110更新逻辑对实体地址映像表L2P#(y)。当所述存取指令是一读取指令(诸如所述第一读取指令或所述第二读取指令),存储器控制器110不需要更新逻辑对实体地址映像表L2P#(y)。
于步骤S43中,存储器控制器110回传完成组件(Completion Element)至主机50,其中所述完成组件可为符合NVME标准的完成信息。依据本实施例,所述写入指令(诸如所述第一写入指令或所述第二写入指令)可为符合NVME通信协议的数据写入指令,而所述读取指令(诸如所述第一读取指令或所述第二读取指令)可为符合NVME通信协议的数据读取指令写入指令。于执行完符合NVME通信协议的数据写入指令或数据读取指令以后,存储器控制器110可写入符合NVME通信协议的完成组件至主机50,但本发明并不限于此。
为了更好地理解,所述方法中的存取控制的相关运作可用图4所示工作流程400来说明,但本发明不限于此。依据某些实施例,一个或多个步骤可于工作流程400中增加、删除或修改。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种用来进行存储空间管理的方法,应用于一数据存储装置,所述数据存储装置包括一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述方法的特征在于,包括有:
从一主机接收一辨识控制器指令;
因应所述辨识控制器指令,回传一回复至所述主机,以指出支持多个逻辑区块地址格式,其中所述多个逻辑区块地址格式包括一第一逻辑区块地址格式与一第二逻辑区块地址格式;
从所述主机接收一第一命名空间管理指令;
因应所述第一命名空间管理指令,建立采用所述第一逻辑区块地址格式的一第一命名空间;
从所述主机接收一第一命名空间附加指令;
因应所述第一命名空间附加指令,建立一第一逻辑对实体地址映像表,以供管理所述第一命名空间的存取;
从所述主机接收一第二命名空间管理指令;
因应所述第二命名空间管理指令,建立采用所述第二逻辑区块地址格式的一第二命名空间;
从所述主机接收一第二命名空间附加指令;以及
因应所述第二命名空间附加指令,建立一第二逻辑对实体地址映像表,以供管理所述第二命名空间的存取。
2.如权利要求1所述的方法,其特征在于,还包括:
因应来自所述主机的一第一写入指令,于所述第一命名空间写入第一数据,且对应地更新所述第一逻辑对实体地址映像表。
3.如权利要求2所述的方法,其特征在于,还包括:
因应来自所述主机的一第一读取指令,依据所述第一逻辑对实体地址映像表从所述第一命名空间读取所述第一数据。
4.如权利要求2所述的方法,其特征在于,还包括:
因应来自所述主机的一第二写入指令,于所述第二命名空间写入第二数据,且对应地更新所述第二逻辑对实体地址映像表。
5.如权利要求4所述的方法,其特征在于,还包括:
因应来自所述主机的一第二读取指令,依据所述第二逻辑对实体地址映像表从所述第二命名空间读取所述第二数据。
6.如权利要求1所述的方法,其特征在于,所述第一命名空间与所述第二命名空间具有相同的存储容量。
7.如权利要求6所述的方法,其特征在于,所述第一命名空间中的第一逻辑区块的数量等于一第一预定数量,所述多个第一逻辑区块中的每一第一逻辑区块的大小等于一第一预定大小,且所述第一预定大小与所述第一预定数量的乘积等于所述相同的存储容量;以及所述第二命名空间中的第二逻辑区块的数量等于一第二预定数量,所述多个第二逻辑区块中的每一第二逻辑区块的大小等于一第二预定大小,且所述第二预定大小与所述第二预定数量的乘积等于所述相同的存储容量。
8.如权利要求1所述的方法,其特征在于,所述第一命名空间中的第一逻辑区块的数量等于一第一预定数量,且所述多个第一逻辑区块中的每一第一逻辑区块的大小等于一第一预定大小;所述第二命名空间中的第二逻辑区块的数量等于一第二预定数量,且所述多个第二逻辑区块中的每一第二逻辑区块的大小等于一第二预定大小;以及所述第一预定大小与所述第一预定数量的乘积等于所述第二预定大小与所述第二预定数量的乘积。
9.如权利要求1所述的方法,其特征在于,还包括:
利用一预定数据量作为数据存取量的默认值,且记录一个倍数值;以及
依据所述默认值以及所述倍数值来决定存取所述非挥发性存储器的所述数据存取量。
10.一种数据存储装置,其特征在于,包括有:
一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括至少一非挥发性存储器组件;以及
一控制器,耦接至所述非挥发性存储器,用来控制所述数据存储装置的运作,其中所述控制器包括:
一处理电路,用来依据来自一主机的多个主机指令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器,其中:
所述控制器从所述主机接收一辨识控制器指令;
因应所述辨识控制器指令,所述控制器回传一回复至所述主机,以指出支持多个逻辑区块地址格式,其中所述多个逻辑区块地址格式包括一第一逻辑区块地址格式与一第二逻辑区块地址格式;
所述控制器从所述主机接收一第一命名空间管理指令;
因应所述第一命名空间管理指令,所述控制器建立采用所述第一逻辑区块地址格式的一第一命名空间;
所述控制器从所述主机接收一第一命名空间附加指令;
因应所述第一命名空间附加指令,所述控制器建立一第一逻辑对实体地址映像表,以供管理所述第一命名空间的存取;
所述控制器从所述主机接收一第二命名空间管理指令;
因应所述第二命名空间管理指令,所述控制器建立采用所述第二逻辑区块地址格式的一第二命名空间;
所述控制器从所述主机接收一第二命名空间附加指令;以及
因应所述第二命名空间附加指令,所述控制器建立一第二逻辑对实体地址映像表,以供管理所述第二命名空间的存取。
11.如权利要求10所述的数据存储装置,其特征在于,因应来自所述主机的一第一写入指令,所述控制器于所述第一命名空间写入第一数据,且对应地更新所述第一逻辑对实体地址映像表。
12.如权利要求11所述的数据存储装置,其特征在于,因应来自所述主机的一第一读取指令,所述控制器依据所述第一逻辑对实体地址映像表从所述第一命名空间读取所述第一数据。
13.如权利要求11所述的数据存储装置,其特征在于,因应来自所述主机的一第二写入指令,所述控制器于所述第二命名空间写入第二数据,且对应地更新所述第二逻辑对实体地址映像表。
14.一种数据存储装置的控制器,所述数据存储装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器组件,所述控制器的特征在于,包括有:
一处理电路,用来依据来自一主机的多个主机指令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器,其中:
所述控制器从所述主机接收一辨识控制器指令;
因应所述辨识控制器指令,所述控制器回传一回复至所述主机,
以指出支持多个逻辑区块地址格式,其中所述多个逻辑区块地址格式包括一第一逻辑区块地址格式与一第二逻辑区块地址格式;
所述控制器从所述主机接收一第一命名空间管理指令;
因应所述第一命名空间管理指令,所述控制器建立采用所述第一逻辑区块地址格式的一第一命名空间;
所述控制器从所述主机接收一第一命名空间附加指令;
因应所述第一命名空间附加指令,所述控制器建立一第一逻辑对实体地址映像表,以供管理所述第一命名空间的存取;
所述控制器从所述主机接收一第二命名空间管理指令;
因应所述第二命名空间管理指令,所述控制器建立采用所述第二逻辑区块地址格式的一第二命名空间;
所述控制器从所述主机接收一第二命名空间附加指令;以及
因应所述第二命名空间附加指令,所述控制器建立一第二逻辑对实体地址映像表,以供管理所述第二命名空间的存取。
15.如权利要求14所述的控制器,其特征在于,因应来自所述主机的一第一写入指令,所述控制器于所述第一命名空间写入第一数据,且对应地更新所述第一逻辑对实体地址映像表。
16.如权利要求15所述的控制器,其特征在于,因应来自所述主机的一第一读取指令,所述控制器依据所述第一逻辑对实体地址映像表从所述第一命名空间读取所述第一数据。
17.如权利要求15所述的控制器,其特征在于,因应来自所述主机的一第二写入指令,所述控制器于所述第二命名空间写入第二数据,且对应地更新所述第二逻辑对实体地址映像表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107140730 | 2018-11-16 | ||
TW107140730A TWI693517B (zh) | 2018-11-16 | 2018-11-16 | 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111198651A CN111198651A (zh) | 2020-05-26 |
CN111198651B true CN111198651B (zh) | 2023-07-18 |
Family
ID=70727599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910046776.XA Active CN111198651B (zh) | 2018-11-16 | 2019-01-18 | 进行存储空间管理的方法以及数据存储装置及其控制器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10671322B1 (zh) |
CN (1) | CN111198651B (zh) |
TW (1) | TWI693517B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102543184A (zh) * | 2010-12-22 | 2012-07-04 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与数据写入方法 |
CN107168640A (zh) * | 2016-03-08 | 2017-09-15 | 东芝存储器株式会社 | 存储系统、信息处理系统及非易失性存储器的控制方法 |
TWI622890B (zh) * | 2016-12-29 | 2018-05-01 | 慧榮科技股份有限公司 | 建立多重命名空間方法與存取多重命名空間的資料的方法 |
CN108255415A (zh) * | 2016-12-29 | 2018-07-06 | 慧荣科技股份有限公司 | 建立多重命名空间方法与存取多重命名空间的数据的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US8688899B2 (en) * | 2010-09-28 | 2014-04-01 | Fusion-Io, Inc. | Apparatus, system, and method for an interface between a memory controller and a non-volatile memory controller using a command protocol |
WO2014188479A1 (ja) | 2013-05-20 | 2014-11-27 | 株式会社日立製作所 | ストレージ装置及びストレージ装置の制御方法 |
CN108628762B (zh) * | 2017-03-22 | 2021-05-28 | 北京忆恒创源科技有限公司 | 一种固态存储设备及其处理io命令的方法 |
JP2018160059A (ja) * | 2017-03-22 | 2018-10-11 | 東芝メモリ株式会社 | メモリコントローラ |
US10802733B2 (en) * | 2018-04-27 | 2020-10-13 | Western Digital Technologies, Inc. | Methods and apparatus for configuring storage tiers within SSDs |
-
2018
- 2018-11-16 TW TW107140730A patent/TWI693517B/zh active
-
2019
- 2019-01-18 CN CN201910046776.XA patent/CN111198651B/zh active Active
- 2019-02-11 US US16/271,899 patent/US10671322B1/en active Active
-
2020
- 2020-04-19 US US16/852,526 patent/US11188265B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102543184A (zh) * | 2010-12-22 | 2012-07-04 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与数据写入方法 |
CN107168640A (zh) * | 2016-03-08 | 2017-09-15 | 东芝存储器株式会社 | 存储系统、信息处理系统及非易失性存储器的控制方法 |
TWI622890B (zh) * | 2016-12-29 | 2018-05-01 | 慧榮科技股份有限公司 | 建立多重命名空間方法與存取多重命名空間的資料的方法 |
CN108255415A (zh) * | 2016-12-29 | 2018-07-06 | 慧荣科技股份有限公司 | 建立多重命名空间方法与存取多重命名空间的数据的方法 |
Non-Patent Citations (1)
Title |
---|
"新型非易失存储环境下事务型数据管理技术研究";潘巍,李战怀,杜洪涛,周陈超,苏静;《中国优秀硕士学位论文全文数据库信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US11188265B2 (en) | 2021-11-30 |
TW202020666A (zh) | 2020-06-01 |
CN111198651A (zh) | 2020-05-26 |
US20200159450A1 (en) | 2020-05-21 |
US10671322B1 (en) | 2020-06-02 |
US20200249873A1 (en) | 2020-08-06 |
TWI693517B (zh) | 2020-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640353B2 (en) | Memory system, data storage device, user device and data management method thereof | |
TWI650644B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
US8954705B2 (en) | Memory space management method and memory controller and memory storage device and memory storage using the same | |
US9268688B2 (en) | Data management method, memory controller and memory storage apparatus | |
CN109117383B (zh) | 管理闪存模块的方法和闪存控制器 | |
TW201926046A (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
US20200320012A1 (en) | Memory system and method for operating the same | |
KR101561546B1 (ko) | 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기 | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
KR102507140B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11733895B2 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
US10606744B2 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
US11614885B2 (en) | Data processing method for improving access performance of memory device and data storage device utilizing the same | |
US10339045B2 (en) | Valid data management method and storage controller | |
CN113885808A (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US10289334B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN111198651B (zh) | 进行存储空间管理的方法以及数据存储装置及其控制器 | |
TWI749516B (zh) | 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器 | |
US11748011B2 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
US20240126473A1 (en) | Data storage device and method for managing a write buffer | |
US20240143226A1 (en) | Data storage device and method for managing a write buffer | |
CN114328297A (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 |