CN108255415B - 建立多重命名空间方法与存取多重命名空间的数据的方法 - Google Patents
建立多重命名空间方法与存取多重命名空间的数据的方法 Download PDFInfo
- Publication number
- CN108255415B CN108255415B CN201710667296.6A CN201710667296A CN108255415B CN 108255415 B CN108255415 B CN 108255415B CN 201710667296 A CN201710667296 A CN 201710667296A CN 108255415 B CN108255415 B CN 108255415B
- Authority
- CN
- China
- Prior art keywords
- namespaces
- namespace
- control unit
- data
- global
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013500 data storage Methods 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 6
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 3
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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/0638—Organizing or formatting or addressing of data
-
- 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
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/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/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
- 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/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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
-
- 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/7202—Allocation control and policies
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种建立多重命名空间方法与一种存取多重命名空间的数据的方法。所述建立多重命名空间方法包括下列步骤:依据来自主机的查询命令而回传命名空间数据结构的信息,此命名空间数据结构的信息包含可支持的命名空间的最大数量以及总容量;收到并判断用以建立多个命名空间的建立命令是否正确,此建立命令包含命名空间数量以及每一命名空间容量的设定值;以及当判断为是时,依据建立命令而建立全局H2F对照表。
Description
技术领域
本发明是有关于数据存取的技术,尤其是有关于一种建立多重命名空间方法与一种存取多重命名空间的数据的方法。
背景技术
传统上,一个非易失性储存媒体仅支持单一逻辑划分(partition),即仅视为单一逻辑设备,并依据一个逻辑-物理地址对照表(host logical-flash physical addressmapping table,H2F对照表)来对非易失性储存媒体进行数据的存取及管理。然而,2012年版本的非易失性存储器储存装置(NVMe,non-volatile memory express)标准支持对一个非易失性储存媒体进行逻辑划分,而每一个逻辑划分所产生的区域(area)称之为命名空间(namespace),每一个命名空间可视为一个逻辑设备。由于2012年版本的NVMe标准对于命名空间以及H2F对照表的建立并无任何规范,因此,为了数据管理的目的,数据储存装置中的控制单元会针对每一命名空间建立一个对应的H2F对照表,并在每一个H2F对照表中记录所对应的一个命名空间的所有主机的逻辑区块地址(logical block address,LBA)与非易失性存储器的物理地址的对应关系(简称对应关系)。来自于外部的存取命令中包含命名空间所对应的特定且唯一的命名空间编号以及LBA,数据储存装置中的控制单元可依据上述信息来存取特定命名空间的数据,并据此更新此命名空间的H2F对照表,完成数据的存取及管理。
然而,这样的数据访问方法存在着明显的缺失,例如,会使得控制单元必需对非易失性储存媒体的整体资源依据命名空间的数目进行划分,再针对每一个H2F对照表来管理其对应的命名空间内的所有资源。存在多个H2F对照表增加了非易失性储存媒体在管理上的难度及复杂度,而这些命名空间的资源无法彼此共享,这也降低了非易失性储存媒体的管理上的弹性。因此,如何在支持多个命名空间的情况下维持非易失性储存媒体上数据管理的弹性成为一种技术上的需求。
发明内容
本发明之一目的在提供一种建立多重命名空间方法,在支持多个命名空间的情况下能维持非易失性储存媒体上数据管理的弹性。
本发明的另一目的在提供一种对应于上述方法的存取多重命名空间的数据的方法。
本发明提出一种建立多重命名空间方法,包括下列步骤:依据来自主机的查询命令而回传命名空间数据结构的信息,此命名空间数据结构的信息包含可建立的命名空间的最大数量以及总容量;收到并判断用以建立多个命名空间的建立命令是否正确,此建立命令包含命名空间数量以及每一个命名空间容量的设定值;以及当判断为是时,依据建立命令而建立全局H2F对照表,其中,上述全局H2F对照表的数目与上述最大数量以及上述命名空间数量无关。
本发明另提出一种存取多重命名空间的数据的方法,包括下列步骤:接收命名空间的存取命令,此存取命令包含命名空间编号以及地址数据;将命名空间编号以及地址数据对应至全局H2F对照表的逻辑区块地址;以及依据全局H2F对照表的逻辑区块地址的纪录来执行存取命令的动作。
由于本发明乃是采用一个全局地址对照表来统一管理数据储存装置的多个命名空间,不但可以有效地支持多重命名空间,并且简化多重命名空间的管理,更不会因为支持多重命名空间而造成系统资源,例如:备用空间的大小,被逻辑分割而缺乏或受限。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举优选实施例,并配合附图,详细说明如下。
附图说明
图1绘有依照本发明一实施例的数据储存装置及与主机的电性耦接关系。
图2为依照本发明一实施例的建立多重命名空间方法的流程图。
图3为控制单元210依传统方法所建立的H2F对照表#0~#3。
图4为控制单元210依照本发明一实施例所建立的全局H2F对照表。
图5为依照本发明一实施例的存取多重命名空间的数据的方法的流程图。
具体实施方式
图1绘有依照本发明一实施例的数据储存装置及与主机的电性耦接关系。请参照图1,主机100主要包括中央处理单元110、连接接口120及易失性储存媒体130。连接接口120适于电性耦接数据储存装置200。中央处理单元110用以透过连接接口120传送命令至数据储存装置200,例如是传送读取命令至数据储存装置200,让数据储存装置200去易失性储存媒体130的指定地址去读取数据。而在此例中,主机100包括以计算机、手机、平板、相机或是其他具运算功能的手持式电子装置来实现。
数据储存装置200主要包括控制单元210、非易失性储存媒体220与易失性储存媒体230。控制单元210电性耦接非易失性储存媒体220与易失性储存媒体230,并用以控制非易失性储存媒体220与易失性储存媒体230的操作(例如进行数据的存取与擦写)。在此例中,非易失性储存媒体220例如是以闪存(flash memory)、磁阻式随机存取存储器(magnetoresistive RAM)、铁电随机存取存储器(ferroelectric RAM)、电阻式存储器(resistive RAM,RRAM)等具有长时间数据保存的存储器装置来实现,而易失性储存媒体230例如是以动态随机存取存储器(dynamic random access memory,DRAM)或静态随机存取存储器(static random access memory,SRAM)来实现。控制单元210主要包括接口逻辑212、微处理器214与控制逻辑216。微处理器214电性耦接接口逻辑212与控制逻辑214。微处理器214用以透过控制逻辑216存取非易失性储存媒体220与易失性储存媒体230中的数据,且微处理器214还用以透过接口逻辑212接收来自主机100的命令及数据,或是接收来自主机100的通知(messaging),至指定的易失性储存媒体130的地址去读取命令,命令包括:写入命令、读取命令、倾倒(flush)命令等,之后,控制单元210再执行命令以及存取数据。
图2为依照本发明一实施例的建立多重命名空间方法的流程图,请同时参照图1与图2。步骤S200:系统初始化。数据储存装置200初次电性耦接至主机100时进行初始化。
步骤S202:依据查询命令而回传命名空间数据结构(namespace data structure)的信息,其中,命名空间数据结构的信息包含可支持的命名空间的最大数量以及总容量。主机100传送识别(identify)命令至数据储存装置200的控制单元210;控制单元210依据此识别命令而回传命名空间数据结构的信息至主机100,命名空间数据结构包括数据储存装置200可支持的命名空间的最大数量、命名空间大小(size)的最大值等支持参数。除了回传命名空间数据结构至主机100,控制单元210依据同一识别命令或另一道识别命令而回传控制单元数据结构(controller data structure)的信息至主机100。
步骤S204:收到并判断用以建立多个命名空间的建立命令是否正确,其中,建立命令包含命名空间数量以及每一个命名空间容量(capacity)的设定值;如果不正确则回传一个失败讯息至主机100(步骤S206),并结束本发明建立多重命名空间方法的流程;如果正确则回传一个确认讯息(步骤S208)至主机100,接着执行步骤S210。在收到命名空间数据结构后,主机100可依据实际的需求而产生建立(create)命令,并输出此建立命令至数据储存装置200的控制单元210,此建立命令包含主机100欲建立的命名空间的数量及每一个命名空间容量等设定值,其中,数量大于等于2。当收到建立命令后,控制单元210比对建立命令所包含的设定值与支持参数来判断建立命令是否正确。例如,设定值的命名空间数量是否小于等于支持参数的可支持的命名空间的最大数量,设定值的每一个命名空间容量的加总是否小于等于支持参数命名空间大小的最大值。此外,设定值可更包括:命名空间大小(namespace size)、格式化后LBA大小(formatted LBA size)等设定值。另外,在支持参数及设定值中,与空间大小以及空间容量有关的数值较佳以LBA的数量来表示,例如,一个LBA所对应的数据量为4KB,则16384个LBA的容量等于64MB,此时,命名空间大小以及命名空间容量可以用64MB来表示,但较佳以16384个LBA来表示。最后,如果比对失败,则控制单元210回传一个失败讯息至主机100,并结束本发明建立多重命名空间方法的流程;如果比对成功,则控制单元210回传一个确认讯息至主机100。需注意的是,虽然控制单元210回传一个确认讯息至主机100,可是,控制单元210并未依建立命令而建立任何命名空间,或对非易失性储存媒体220进行逻辑划分,仅仅回传一个确认讯息至主机100而已。
步骤S210:依据建立命令而建立全局H2F对照表,其中,全局H2F对照表的数目与设定值的命名空间数量无关,全局H2F对照表的大小与设定值的每一个命名空间容量的加总成正比。假设支持参数的可支持的命名空间的最大数量为4,且设定值的命名空间数量亦等于4,在传统方法中,控制单元210会依据建立命令将非易失性储存媒体220划分成四个区域以建立四个命名空间,即命名空间#0~3,并针对每一个命名空间建立一个H2F对照表,即H2F对照表#0~3。图3即为控制单元210依传统方法所建立的H2F对照表#0~#3,分别对应命名空间#0~#3。然而,在本发明中,控制单元210不会依据建立命令而建立命名空间#0~#3,不会对非易失性储存媒体220进行逻辑划分,亦不会建立管理命名空间#0~#3的数据所需的H2F对照表#0~#3。相反的,控制单元210会建立一全局H2F对照表来统一管理命名空间#0~#3所储存的数据。
图4即为控制单元210依照本发明一实施例所建立的全局H2F对照表。全局H2F对照表的大小与设定值的每一个命名空间容量的加总成正比,全局H2F对照表可划分成多个区段,区段的数量等于建立命令中命名空间的数量。例如,全局H2F对照表可划分成四个区段,每一个区段可对应至一个命名空间。假设设定值的每一个命名空间容量的值皆相同,则每一个区段全局H2F对照表的长度皆相同。假设,全局H2F对照表的每一笔数据大小是8B,用以记录一笔来自于主机100的4K大小的数据的对应关系。如果欲建立的命名空间#0~#3的容量皆为64MB,分别储存16384笔数据,则加总后的容量为256MB,则步骤S210所建立的全局H2F对照表的大小为512KB并记录有65536笔的LBA,例如LBA0~65535,以及物理地址,例如,数据区块(block)编号与数据页(page)编号,的对应关系。这65536个LBA较佳为依序接续并依序对应至欲建立的命名空间#0~#3。例如,第一个区段包含LBA0~16383,用以对应至命名空间#0的逻辑区块地址LBA0~16383;第二个区段包含LBA 16384~32767,用以对应至命名空间#1的逻辑区块地址LBA0~16383;第三个区段包含LBA32768~49151,用以对应至命名空间#2的逻辑区块地址LBA0~16383;而第四个区段包含LBA49152~65535,用以对应至命名空间#3的逻辑区块地址LBA 0~16383。
本发明建立多重命名空间方法可简化多重命名空间的建立并有效地对多重命名空进行数据存取及管理,达到本发明的目的,同时系统资源无需因为支持多重命名空间而进行分割。此外,当主机100欲新增命名空间、删除命名空间、重新设定命名空间的容量,利用本发明建立多重命名空间方法,适当地调整全局H2F对照表的内容即能达到相同的效果。
依据建立命令的参数来建立全局H2F对照表后,控制单元210以此全局H2F对照表来进行多重命名空间的数据存取及管理。图5即为依照本发明一实施例的存取多重命名空间的数据的方法的流程图,请同时参照图1、4与5。步骤S502:接收命名空间的存取命令,此存取命令包含命名空间编号(namespace ID)以及地址数据;其中,此命名空间编号对应至其中之一多个命名空间;地址数据较佳为一个数值,例如:LBA,或者二个数值,第一LBA以及第二LBA,分别代表一段数据的起点地址以及终点地址,或者,LBA以及一个数量值,分别代表一段数据的起点地址以及数据的笔数。在下述说明中,以此存取命令为读取命名空间#1的LBA1的数据为例进行说明,但不以此为限。
步骤S504:将命名空间编号以及地址数据对应至全局H2F对照表的LBA。控制单元210依据下列的转换公式将命名空间编号以及地址数据对应至全局H2F对照表的LBA,而转换公式如下所示:
全局H2F对照表的LBA=所有小于命名空间编号的命名空间的容量的加总+地址数据。
举例而言,命名空间编号等于1,即对应至命名空间#1,则小于命名空间编号的所有命名空间仅包含命名空间#0,而命名空间#0的容量对应至16384个LBA,即LBA0~16383,地址数据为LBA1,依据上述转换公式可以得到全局H2F对照表的LBA16385(=16384+1)。举例而言,命名空间编号等于2且地址数据为LBA10~20,其对应至命名空间#2的LBA10~20,则小于命名空间#2的所有命名空间包含命名空间#0~1,命名空间#0~1的容量分别对应至16384个LBA,依据上述转换公式可以得到全局H2F对照表的LBA32778(=16384*2+10)~LBA32788(=16384*2+20)。
步骤S506,依据全局H2F对照表的LBA的记录来执行存取命令的动作。命名空间#1的LBA1乃对应至全局H2F对照表的LBA16385,控制单元210读取全局H2F对照表的LBA16385即能得知数据区块编号以及数据页编号,通过读取数据区块编号所对应的数据区块的数据页编号所对应的数据页即能完成存取命令。相同地,命名空间#2的LBA10~20乃对应至全局H2F对照表的LBA32778~LBA32788,控制单元210读取全局H2F对照表的LBA32778~LBA32788即能得知数据区块编号以及数据页编号,通过读取数据区块编号所对应的数据区块的数据页编号所对应的数据页即能完成存取命令。
通过上述各实施例的教示,可知由于本发明乃是采用一个全局地址对照表来统一管理数据储存装置的多个命名空间,不但可以有效地支持多重命名空间,并且简化多重命名空间的管理,更不会因为支持多重命名空间而造成系统资源,例如:备用空间的大小,被逻辑分割而缺乏或受限。
虽然本发明以前述的实施例揭露如上,然其并非用于限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的申请专利范围所界定者为准。
Claims (13)
1.一种建立多重命名空间方法,适用于一耦接于主机的一数据储存装置,所述数据储存装置包括一控制单元与一非易失性储存媒体,其特征在于,包括:
所述控制单元依据从所述主机接收的一查询命令而回传一命名空间数据结构的信息至所述主机,所述命名空间数据结构的信息包含可支持的命名空间的一最大数量以及一总容量;
所述控制单元从所述主机收到并判断用以建立多个命名空间的一建立命令是否正确,所述建立命令包含一命名空间数量以及每一个命名空间容量的一设定值;
当判断为是时,所述控制单元依据所述建立命令而建立一全局H2F对照表,其中,所述全局H2F对照表的数目与所述最大数量以及所述命名空间数量无关;
所述控制单元从所述主机接收一命名空间的一存取命令,其中所述存取命令包含一命名空间编号以及一地址数据;
所述控制单元将所述命名空间编号以及所述地址数据对应至所述全局H2F对照表的一逻辑区块地址;以及
所述控制单元依据所述全局H2F对照表的所述逻辑区块地址的纪录来执行所述存取命令的动作。
2.如权利要求1所述的建立多重命名空间方法,其特征在于,当判断为是时,更包括所述控制单元回传确认讯息至所述主机。
3.如权利要求1所述的建立多重命名空间方法,其特征在于,当判断为否时,所述控制单元回传失败讯息至所述主机。
4.如权利要求1所述的建立多重命名空间方法,其特征在于,判断所述建立命令是否正确的步骤包括:
所述控制单元判断所述命名空间数量是否小于等于可支持的命名空间的最大数量;以及
所述控制单元判断每一命名空间容量的加总是否小于等于可支持的命名空间的总容量。
5.如权利要求1所述的建立多重命名空间方法,其特征在于,所述全局H2F对照表的大小与欲建立的每一个命名空间容量的加总成正比。
6.如权利要求1所述的建立多重命名空间方法,其特征在于,所述全局H2F对照表系划分成多个区段,所述多个区段的数量等于所述命名空间数量。
7.如权利要求1所述的建立多重命名空间方法,其特征在于,所述全局H2F对照表记录多个逻辑区块地址、多个数据区块编号与多个数据页编号的对应关系。
8.一种存取多重命名空间的数据的方法,适用于一耦接于主机的一数据储存装置,所述数据储存装置包括一控制单元与一非易失性储存媒体,其中所述控制单元依据从所述主机接收的一建立命令而建立一全局H2F对照表,其特征在于,包括:
所述控制单元从所述主机接收一命名空间的一存取命令,所述存取命令包含一命名空间编号以及一地址数据;
所述控制单元将所述命名空间编号以及所述地址数据对应至所述全局H2F对照表的一逻辑区块地址;以及
所述控制单元依据所述全局H2F对照表的所述逻辑区块地址的纪录来执行所述存取命令的动作。
9.如权利要求8所述的存取多重命名空间的数据的方法,其特征在于,所述命名空间编号对应至其中之一所述多个命名空间。
10.如权利要求8所述的存取多重命名空间的数据的方法,其特征在于,所述地址数据包括所述逻辑区块地址。
11.如权利要求8所述的存取多重命名空间的数据的方法,其特征在于,所述地址数据包括第一逻辑区块地址与第二逻辑区块地址。
12.如权利要求8所述的存取多重命名空间的数据的方法,其特征在于,所述地址数据包括所述逻辑区块地址与数据的笔数。
13.如权利要求8所述的存取多重命名空间的数据的方法,其特征在于,所述控制单元将所述命名空间编号以及所述地址数据对应至所述全局H2F对照表的所述逻辑区块地址包括以如下方式计算:
所述全局H2F对照表的所述逻辑区块地址等于所有小于所述命名空间编号的命名空间的容量的加总再加上所述地址数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105143898A TWI602074B (zh) | 2016-12-29 | 2016-12-29 | 建立多重命名空間方法與存取多重命名空間的資料的方法 |
TW105143898 | 2016-12-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255415A CN108255415A (zh) | 2018-07-06 |
CN108255415B true CN108255415B (zh) | 2021-04-30 |
Family
ID=61010921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710667296.6A Active CN108255415B (zh) | 2016-12-29 | 2017-08-07 | 建立多重命名空间方法与存取多重命名空间的数据的方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10565103B2 (zh) |
CN (1) | CN108255415B (zh) |
TW (1) | TWI602074B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10866732B2 (en) | 2017-03-10 | 2020-12-15 | Toshiba Memory Corporation | Namespace re-sizing |
JP6892361B2 (ja) * | 2017-09-21 | 2021-06-23 | キオクシア株式会社 | ストレージ装置 |
US10223254B1 (en) * | 2017-11-16 | 2019-03-05 | Micron Technology, Inc. | Namespace change propagation in non-volatile memory devices |
US10678703B2 (en) * | 2017-11-16 | 2020-06-09 | Micron Technology, Inc. | Namespace mapping structual adjustment in non-volatile memory devices |
US10691592B2 (en) * | 2018-10-30 | 2020-06-23 | Micron Technology, Inc. | Error-checking in namespaces on storage devices using a namespace table and metadata |
TWI693517B (zh) * | 2018-11-16 | 2020-05-11 | 慧榮科技股份有限公司 | 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器 |
TWI719654B (zh) | 2019-06-21 | 2021-02-21 | 慧榮科技股份有限公司 | 閃存實體資源集合管理裝置及方法以及電腦程式產品 |
CN110737605A (zh) * | 2019-09-03 | 2020-01-31 | 深圳市金泰克半导体有限公司 | 命名空间的数据管理方法及系统 |
US11061770B1 (en) * | 2020-06-30 | 2021-07-13 | EMC IP Holding Company LLC | Reconstruction of logical pages in a storage system |
US11914898B2 (en) | 2022-01-26 | 2024-02-27 | Kioxia Corporation | Systems, methods, and non-transitory computer-readable media for thin provisioning in non-volatile memory storage devices |
US20240061767A1 (en) * | 2022-08-22 | 2024-02-22 | Micron Technology, Inc. | Logical address granularity configurations for logical address space partitions |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7372976B2 (en) * | 1998-04-16 | 2008-05-13 | Digimarc Corporation | Content indexing and searching using content identifiers and associated metadata |
US7630999B2 (en) * | 2005-07-15 | 2009-12-08 | Microsoft Corporation | Intelligent container index and search |
CN100401723C (zh) * | 2005-10-13 | 2008-07-09 | 华为技术有限公司 | 一种快速索引方法 |
US9015446B2 (en) * | 2008-12-10 | 2015-04-21 | Nvidia Corporation | Chipset support for non-uniform memory access among heterogeneous processing units |
US9208071B2 (en) * | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US9244833B2 (en) * | 2012-05-30 | 2016-01-26 | Silicon Motion, Inc. | Data-storage device and flash memory control method |
TWI574274B (zh) * | 2015-05-07 | 2017-03-11 | 慧榮科技股份有限公司 | 循環區塊模式下的資料存取方法以及使用該方法的裝置 |
US20170344430A1 (en) * | 2016-05-24 | 2017-11-30 | Intel Corporation | Method and apparatus for data checkpointing and restoration in a storage device |
KR20180047402A (ko) * | 2016-10-31 | 2018-05-10 | 삼성전자주식회사 | 멀티 네임스페이스를 관리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US20180239697A1 (en) * | 2017-02-22 | 2018-08-23 | CNEXLABS, Inc. a Delaware Corporation | Method and apparatus for providing multi-namespace using mapping memory |
-
2016
- 2016-12-29 TW TW105143898A patent/TWI602074B/zh active
-
2017
- 2017-08-07 CN CN201710667296.6A patent/CN108255415B/zh active Active
- 2017-11-06 US US15/804,797 patent/US10565103B2/en active Active
-
2019
- 2019-11-04 US US16/672,536 patent/US10977171B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20180189174A1 (en) | 2018-07-05 |
US10565103B2 (en) | 2020-02-18 |
US10977171B2 (en) | 2021-04-13 |
TWI602074B (zh) | 2017-10-11 |
TW201824033A (zh) | 2018-07-01 |
CN108255415A (zh) | 2018-07-06 |
US20200065242A1 (en) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255415B (zh) | 建立多重命名空间方法与存取多重命名空间的数据的方法 | |
US11354236B2 (en) | Garbage collection method for data storage device | |
EP3436953B1 (en) | Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device | |
US11620066B2 (en) | Storage device with expandible logical address space and operating method thereof | |
US11010079B2 (en) | Concept for storing file system metadata within solid-stage storage devices | |
US20160253257A1 (en) | Data processing system and operating method thereof | |
CN113126910A (zh) | 存储设备及其操作方法 | |
US11455241B2 (en) | Data management method applicable to data storage device | |
CN110908927A (zh) | 数据储存装置及其删除命名空间的方法 | |
US11868246B2 (en) | Memory system and non-transitory computer readable recording medium | |
TWI622890B (zh) | 建立多重命名空間方法與存取多重命名空間的資料的方法 | |
US8380920B2 (en) | Flash storage device and data access method of flash memory | |
CN108073359B (zh) | 数据储存装置的操作方法 | |
US11334266B2 (en) | Memory system and method for controlling nonvolatile memory | |
CN115079957B (zh) | 请求处理方法、装置、控制器、设备及存储介质 | |
US20140201167A1 (en) | Systems and methods for file system management | |
KR102623061B1 (ko) | 데이터베이스에서 이터레이터 연산을 수행하기 위한 장치 | |
TWI693517B (zh) | 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器 | |
TWI749516B (zh) | 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器 | |
KR20220042673A (ko) | 컨트롤러, 컨트롤러의 동작 방법, 및 이를 포함하는 메모리 시스템 | |
TW202009714A (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 |