CN109902033A - 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 - Google Patents
应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 Download PDFInfo
- Publication number
- CN109902033A CN109902033A CN201910115695.0A CN201910115695A CN109902033A CN 109902033 A CN109902033 A CN 109902033A CN 201910115695 A CN201910115695 A CN 201910115695A CN 109902033 A CN109902033 A CN 109902033A
- Authority
- CN
- China
- Prior art keywords
- lba
- namespace
- controller
- keyword
- node
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法,基于LMU的方式对SSD控制器中的controller进行组织管理管理,同时基于变体B+树结构对namespace进行LMU分配。在创建namespace时执行controller LBA的分配。在controller LBA分配方法时,将所有controller LBA划分为若干个LBA管理单元LMU,每个LMU包含相同数量的controller LBA,SSD控制器会以LMU为单位为namespace分配controller LBA。为了有效利用分配后的controller LBA,本方法创建度为M的变体B+树数据结构,将可用的LMU ID分配给变体B+树叶子结点中的关键字,即完成了本实施例所述的分配方法。本发明可以提升controller LBA利用率、提高SSD控制器前端读写处理速度。
Description
技术领域
本发明涉及基于NVMe(Non-Volatile Memory express)协议的SSD(solid statedisk,固态硬盘)控制器领域,尤其涉及NVMe协议中多namespace(命名空间)的LBA(logicblock address,逻辑块地址)分配方法和LBA映射方法。
背景技术
一个NVMe SSD主要由SSD控制器、闪存空间和PCIe接口组成。NVMe协议支持主机使用若干独立的逻辑空间经由SSD控制器来管理闪存空间,这样划分出来的每一个逻辑空间称为namespace。每个namespace由若干LBA组成,LBA范围是0到N-1(N是namespace包含的LBA个数),一个LBA大小则通常指定为4KB,这里将这类LBA称之为namespace LBA。每个namespace都有其特定ID,主机在发送读写SSD命令时,通过指定namespace ID和namespaceLBA对闪存相关位置进行操作。在企业级SSD中,客户可以根据不同需求创建不同特征的namespace,即在一个SSD上创建出若干个不同特征的磁盘供不同客户使用。Namespace的另外一个重要使用场合为SR-IOV(Single Root-IO Virtualization)。SR-IOV技术允许在虚拟机之间高效共享PCIe设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的IO性能。单个SSD可由许多虚拟机共享,共享SSD不仅要为每个虚拟机提供专用资源(专用namespace),并且还要提供通用资源(公有namespace)。因此,在NVMe SSD设备中实现多namespace支持符合企业级SSD的发展趋势。
主机在对SSD设备执行读写操作时,SSD控制器会根据所接收的namespace ID将namespace LBA转换为controller LBA。Controller LBA是SSD管理闪存空间的基本单元,大小通常也为4K。在主机申请创建namespace时,SSD控制器会将指定数目的可用controller LBA分配到新的namespace中,这些被分配的controller LBA通常情况下不会从0开始,有时甚至不会彼此连续。主机对于此类情况无法感知,因为controller LBA对于主机是透明的,主机只知道新创建的namespace所包含的namespace LBA是连续的。因此,设计并实现合理高效的controller LBA分配方案和namespace LBA到controller LBA的映射方案,对于提升controller LBA利用率、提高SSD控制器前端读写处理速度是非常具有现实意义的。
发明内容
本发明要解决的技术问题是提供一种应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法,提升controller LBA利用率、提高SSD控制器前端读写处理速度。
为了解决所述技术问题,本发明采用的技术方案是:一种应用于NVMe SSD控制器的namespace的LBA分配方法,namespace指NVMe协议主机中划分的逻辑空间,LBA指逻辑块地址,所述方法包括以下步骤:S01)、SSD控制器将所有controller LBA等分为NL个LBA管理单元LMU,除最后一个LMU外,每个LMU包括NCL个controller LBA,controller LBA指SSD控制器内部的LBA;S02)、使用数组结构记录每个LMU的ID和起始controller LBA,起始controller LBA记为CLBALMUID-start,;S03)、SSD控制器控制器接收并解析NVMe协议主机下发的namespace创建请求,获得创建所需要的LBA个数NLBA;S04)、通过NLBA和NCL计算需要分配的LMU个数NNL, 代表向上取整;S05)、以集合S={NCL,2NCL,3NCL,…,NNL*NCL}中的所有元素为关键字创建度为M的变体B+树数据结构,创建流程为:S51)、新建结点,并将其作为当前结点;S52)、将集合S中的首个元素作为关键字插入当前接点中,并从S中删除该元素;S53)、判断当前结点包含的关键字个数,如果关键字个数小于或者等于M-1,则执行步骤S54,否则执行步骤S55;S54)、判断S中元素是否为空,是则结束,否则返回步骤S52;S55)、以当前结点中第个关键字为中心,代表向下取整,将当前结点分裂为两个结点;S56)、将第个关键字按从大到小的顺序插入父结点,该关键字的左边指针指向当前结点分裂后的左边结点,右边指针指向分裂后的右边结点,并将父结点作为当前结点;返回步骤c;S06)、为变体B+树的叶子节点中的每个关键字分配可用的LMU ID,变体B+树数据结构创建完成,对namespace的LBA的分配也完成。
进一步的,步骤S55中,第个关键字包含在右边结点内。
进一步的,步骤S56中,将关键字插入父结点时,若无父结点则新建父结点。
进一步的,新创建的度为M的变体B+树具有以下特性:任意非叶子结点最多只有M个儿子,且M>2;根结点的儿子数为[2,M];除根结点以外的非叶子结点的儿子数为[M/2,M];每个结点存放至少至多M-1个关键字,且关键字为LMU所包含controller LBA数目的整数倍;非叶子结点的关键字个数比指向儿子的指针个数小1;非叶子结点的关键字为K[1],K[2],…,K[M-1],且K[i]<K[i+1];非叶子结点的指针为P[1],P[2],…,P[M],其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于等于K[M-1]的子树,其它P[i]指向关键字属于[K[i-1],K[i])的子树;所有叶子结点位于同一层,叶子结点中每个关键字关联一个LMU,所有关键字有序排列。
本发明还公开了一种应用于NVMe SSD控制器的namespace的LBA映射方法,namespace指NVMe协议主机中划分的逻辑空间,LBA指逻辑块地址,本映射方法实现namespace LBA到controller LBA的转换,所述namespace LBA经过权利要求1分配产生,包括以下步骤:S01)、SSD控制器解析主机下发的读写请求,获得namespace ID和namespaceLBA,namespace ID记为NLBAnamespaceID;S02)、以namespace ID对应的变体B+树根结点作为当前结点;S03)、在当前结点中遍历其关键字,找到关键字Ki-1,若满足Ki-1≤NLBAnamespaceID,将大于Ki-1的子结点作为当前结点;S04)、判断当前结点是否为叶子结点,是则继续,否则返回步骤S03;S05)、在当前叶子结点遍历其关键字,找到关键字Kj,如果满足NLBAnamespaceID≤Kj,找到Kj所关联的LMU;S06)、计算namespaceLBA对应的controllerLBA,计算方式为:
CLBAnamespaceID_NLBA=NLBAnamespaceID-Kj-1+CLBALMUID_start,CLBAnamespaceID_NLBA就是namespaceLBA对应的controllerLBA,至此,映射流程结束。
进一步的,步骤S03中遍历当前结点关键字时,同时寻找关键字Ki,并且满足Ki-1≤NLBAnamespaceID≤Ki时,将Ki-1和Ki之间的子节点作为当前结点。
进一步的,步骤步骤S03中遍历当前结点关键字时,同时寻找关键字Kj-1,并且满足Kj-1≤NLBAnamespaceID≤Kj时,找到Kj所关联的LMU。
有益效果:本发明提出的一种应用于NVMe SSD控制器中的LBA分配方法和映射方法,针对SSD设备multi-namespace特性进行了controller LBA的分配优化和存储优化。基于B+树变体数据结构对namespace所包含的controller LBA进行管理,减少了SSD设备对controller LBA的管理成本,同时提高了namespace LBA的映射效率,进而完成了SSD设备读写操作的速度优化。
附图说明
图1为将controller LBA等分成多个LMU的示意图;
图2为本发明创建的变体B+树数据结构图;
图3为LBA分配方法的流程图;
图4为LBA映射方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种应用于NVMe SSD控制器的针对namespace的LBA分配方法,基于LMU的方式对SSD控制器中的controller进行组织管理管理,同时基于变体B+树结构对namespace进行LMU分配。在创建namespace时执行controller LBA的分配。
在设计针对namespace创建的controller LBA分配方法时,需要考虑controllerLBA的组织管理方式。这里的组织管理方式指的是,将所有controller LBA划分为若干个LBA管理单元(LBA management unit,LMU),每个LMU包含相同数量的controller LBA(最后一个LMU可以不符合此要求),SSD控制器会以LMU为单位为namespace分配controller LBA。这种设计方案可以避免整段controller LBA在执行多次namespace创建和删除操作后造成的LBA碎片化,提高了SSD设备中数据的可维护性。该方案的不足在于会造成controllerLBA的浪费,考虑到主机创建namespace时,申请的namespace LBA数量一般不会是LMU的整数倍,SSD控制器会用LMU除namespace LBA数量并向上取整,得到需要分配的LMU数量,此时分配的controller LBA对于主机来说是不可见的,因此无法有效利用。适当的对LMU进行细化操作可以提高controller LBA利用率,即增加LMU数量,减少每个LMU所包含的controller LBA个数。
上述分配的controller LBA对于主机来说是不可见的,为了有效利用分配后的controller LBA,本方法创建度为M的变体B+树数据结构,将可用的LMU ID分配给变体B+树叶子结点中的关键字,即完成了本实施例所述的分配方法。
具体如图3所示,本实施例所述分配方法包括以下步骤:
S01)、SSD控制器将所有controller LBA等分为NL个LBA管理单元LMU,除最后一个LMU外,每个LMU包括NCL个controller LBA,controller LBA指SSD控制器内部的LBA;
S02)、使用数组结构记录每个LMU的ID和起始controller LBA,起始controllerLBA记为CLBALMUID-start;
S03)、SSD控制器控制器接收并解析NVMe协议主机下发的namespace创建请求,获得创建所需要的LBA个数NLBA;
S04)、通过NLBA和NCL计算需要分配的LMU个数NNL, 代表向上取整;
S05)、以集合S={NCL,2NCL,3NCL,…,NNL*NCL}中的所有元素为关键字创建度为M的变体B+树数据结构,
创建流程为:
S51)、新建结点,并将其作为当前结点;
S52)、将集合S中的首个元素作为关键字插入当前接点中,并从S中删除该元素;
S53)、判断当前结点包含的关键字个数,如果关键字个数小于或者等于M-1,则执行步骤S54,否则执行步骤S55;
S54)、判断S中元素是否为空,是则结束,否则返回步骤S52;
S55)、以当前结点中第个关键字为中心,代表向下取整,将当前结点分裂为两个结点;
S56)、将第个关键字按从大到小的顺序插入父结点,该关键字的左边指针指向当前结点分裂后的左边结点,右边指针指向分裂后的右边结点,并将父结点作为当前结点;返回步骤c;
S06)、为变体B+树的叶子节点中的每个关键字分配可用的LMU ID,变体B+树数据结构创建完成,对namespace的LBA的分配也完成。
具体的,步骤S55中,第个关键字包含在右边结点内。步骤S56中,将关键字插入父结点时,若无父结点则新建父结点。
本实施例新创建的度为M的变体B+树具有以下特性:任意非叶子结点最多只有M个儿子,且M>2;根结点的儿子数为[2,M];除根结点以外的非叶子结点的儿子数为[M/2,M];每个结点存放至少至多M-1个关键字,且关键字为LMU所包含controller LBA数目的整数倍;非叶子结点的关键字个数比指向儿子的指针个数小1;非叶子结点的关键字为K[1],K[2],…,K[M-1],且K[i]<K[i+1];非叶子结点的指针为P[1],P[2],…,P[M],其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于等于K[M-1]的子树,其它P[i]指向关键字属于[K[i-1],K[i])的子树;所有叶子结点位于同一层,叶子结点中每个关键字关联一个LMU,所有关键字有序排列。
如图1所示,为本实施例中对controller LBA进行等分的示意图,其中NC表示SSD控制器中controller LBA总个数,NL表示SSD控制器中LMU总个数,NCL表示每个LMU所包含的controller LBA个数,LMU从0开始计数。由图可知,每个LMU都有其特定的起始controllerLBA和终止controller LBA。除最后一个LMU之外,所有LMU所包含的controller LBA个数均为NCL,最后一个LMU则包含NC-(NL-1)*NCL个controller LBA。主机下发namespace创建请求时,SSD控制器会根据请求指定的空间大小为新的namespace分配可用的LMU。如果指定空间大小(指定的LBA个数)NLBA不是NCL的整数倍,则为其分配个LMU。在主机对namespace执行读写操作时,SSD设备通过解析namespace ID和namespace LBA来对LMU ID进行定位,进而计算出实际要操作的controller LBA。
如图2所示,为本实施例创建的度为M的变体B+树数据结构的示意图,图中所示的叶子结点共分配了9个LMU,该树就是LBA分配的结果。
实施例2
本实施例公开一种应用于NVMe SSD控制器的针对namespace的LBA映射方法,本映射方法实现namespace LBA到controller LBA的转换,所述namespace LBA经过实施例1分配产生,如图4所示,包括以下步骤:
S01)、SSD控制器解析主机下发的读写请求,获得namespace ID和namespace LBA,namespace ID记为NLBAnamespaceID;
S02)、以namespace ID对应的变体B+树根结点作为当前结点;
S03)、在当前结点中遍历其关键字,找到关键字Ki-1,若满足Ki-1≤NLBAnamespaceID,将大于Ki-1的子结点作为当前结点;
S04)、判断当前结点是否为叶子结点,是则继续,否则返回步骤S03;
S05)、在当前叶子结点遍历其关键字,找到关键字Kj,如果满足NLBAnamespaceID≤Kj,找到Kj所关联的LMU;
S06)、计算namespaceLBA对应的controllerLBA,计算方式为:CLBAnamespaceID_NLBA=NLBAnamespaceID-Kj-1+CLBALMUID_start,CLBAnamespaceID_NLBA就是namespaceLBA对应的controllerLBA,至此,映射流程结束。
本实施例中,步骤S03中遍历当前结点关键字时,同时寻找关键字Ki,并且满足Ki-1≤NLBAnamespaceID≤Ki时,将Ki-1和Ki之间的子节点作为当前结点。
本实施例中,步骤步骤S03中遍历当前结点关键字时,同时寻找关键字Kj-1,并且满足Kj-1≤NLBAnamespaceID≤Kj时,找到Kj所关联的LMU。
如图2所述,namespace共分配了9个LMU,这些LMU并不连续,即namespace中所包含的controller LBA无法保证完全连续。在主机对某个namespace执行读写操作时,namespace LBA的值可能会跨越多个LMU,此时需要计算namespace LBA在namespace中所对应的LMU索引,再根据LMU索引找到controller LBA。在不采取任何优化方案的情况下,通过除法运算(namespace LBA)/LMU可以计算出namespace LBA在namespace中所对应的LMU索引,然而这种方式在随机读写操作中严重影响执行效率。由于无法保证每个LMU所包含的controller LBA数目为2的幂次方,因此无法使用位运算代替除法运算。基于此,本实施例所述的LBA映射方法采用度为4的变体B+树数据结构来存储和管理namespace中的LMU,其中关键字Ki用于索引namespace LBA范围,NCL仍表示每个LMU所包含的controller LBA个数。根结点和非叶子结点中,Ki左边的子结点所包含的namespace LBA均小于Ki,Ki右边的子结点所包含的namespace LBA则大于等于Ki。叶子结点中,每个Ki指向所对应的LMU ID,该Ki描述了namespace LBA的范围,范围为[Ki-NCL,Ki-1];LMU ID描述了namespace LBA对应的controller LBA的范围,该范围为[LMU_ID*NCL,(LMU_ID+1)*NCL-1]。例如,如果叶子结点中的关键字为5NCL,那么当一个namespace LBA通过树结构进行查找并定位找到叶子结点中的该关键字时,即表示该namespace LBA值的范围是[4NCL,5NCL-1],它所对应的controllerLBA位于LMU21中,controller LBA的范围是[21NCL,22NCL-1].基于该变体B+树索引结构,在输入namespace LBA后最多执行logM-1*N~logM/2*N次查找即可定位namespace LBA所对应的LMU,相较于除法运算更为高效。
本发明提出的一种应用于NVMe SSD控制器中的LBA分配方法和映射方法,针对SSD设备multi-namespace特性进行了controller LBA的分配优化和存储优化。基于B+树变体数据结构对namespace所包含的controller LBA进行管理,减少了SSD设备对controllerLBA的管理成本,同时提高了namespace LBA的映射效率,进而完成了SSD设备读写操作的速度优化。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (7)
1.一种应用于NVMe SSD控制器的namespace的LBA分配方法,namespace指NVMe协议内主机所使用的逻辑空间,LBA指逻辑块地址,其特征在于:所述方法包括以下步骤:
S01)、SSD控制器将所有controller LBA等分为NL个LBA管理单元LMU,除最后一个LMU外,每个LMU包括NCL个controller LBA,controller LBA指SSD控制器内部的LBA;
S02)、使用数组结构记录每个LMU的ID和起始controller LBA,起始controller LBA记为CLBALMUID-start,;
S03)、SSD控制器控制器接收并解析NVMe协议主机下发的namespace创建请求,获得创建所需要的LBA个数NLBA;
S04)、通过NLBA和NCL计算需要分配的LMU个数NNL, 代表向上取整;
S05)、以集合S={NCL,2NCL,3NCL,…,NNL*NCL}中的所有元素为关键字创建度为M的变体B+树数据结构,创建流程为:
S51)、新建结点,并将其作为当前结点;
S52)、将集合S中的首个元素作为关键字插入当前接点中,并从S中删除该元素;
S53)、判断当前结点包含的关键字个数,如果关键字个数小于或者等于M-1,则执行步骤S54,否则执行步骤S55;
S54)、判断S中元素是否为空,是则结束,否则返回步骤S52;
S55)、以当前结点中第个关键字为中心,代表向下取整,将当前结点分裂为两个结点;
S56)、将第个关键字按从大到小的顺序插入父结点,该关键字的左边指针指向当前结点分裂后的左边结点,右边指针指向分裂后的右边结点,并将父结点作为当前结点;返回步骤S53;
S06)、为变体B+树的叶子节点中的每个关键字分配可用的LMU ID,变体B+树数据结构创建完成,对namespace的LBA的分配也完成。
2.根据权利要求1所述的NVMe SSD控制器的namespace的LBA分配方法,其特征在于:步骤S55中,第个关键字包含在右边结点内。
3.根据权利要求1所述的NVMe SSD控制器的namespace的LBA分配方法,其特征在于:步骤S56中,将关键字插入父结点时,若无父结点则新建父结点。
4.根据权利要求1所述的NVMe SSD控制器的namespace的LBA分配方法,其特征在于,新创建的度为M的变体B+树相比一般B+树具有以下特性:
结点中关键字K[i]的值应为LMU所包含controller LBA数目的整数倍;
非叶子结点的指针为P[1],P[2],…,P[M],其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于等于K[M-1]的子树,其它P[i]指向关键字属于[K[i-1],K[i])的子树;
叶子结点中每个关键字关联一个LMU ID。
5.一种应用于NVMe SSD控制器的namespace的LBA映射方法,namespace指NVMe协议主机中划分的逻辑空间,LBA指逻辑块地址,其特征在于,本映射方法实现namespace LBA到controller LBA的转换,所述namespace LBA经过权利要求1分配产生,包括以下步骤:
S01)、SSD控制器解析主机下发的读写请求,获得namespace ID和namespace LBA,namespace ID记为NLBAnamespaceID;
S02)、以namespace ID对应的变体B+树根结点作为当前结点;
S03)、在当前结点中遍历其关键字,找到关键字Ki-1和Ki,若满足Ki-1≤NLBAnamespaceID≤Ki,将Ki-1和Ki间的子结点作为当前结点;
S04)、判断当前结点是否为叶子结点,是则继续,否则返回步骤S03;
S05)、在当前叶子结点遍历其关键字,找到关键字Kj-1和Kj,如果满足Kj-1≤NLBAnamespaceID≤Kj,找到Kj所关联的LMU;
S06)、计算namespaceLBA对应的controllerLBA,计算方式为:CLBAnamespaceID_NLBA=NLBAnamespaceID-Kj-1+CLBALMUID_start,CLBAnamespaceID_NLBA就是namespaceLBA对应的controllerLBA,至此,映射流程结束。
6.根据权利要求5所述的应用于NVMe SSD控制器的namespace的LBA映射方法,其特征在于:步骤S03中遍历当前结点关键字时,如果不存在NLBAnamespaceID≤Ki,仅满足Ki-1≤NLBAnamespaceID,则将大于Ki-1的子节点作为当前结点。
7.根据权利要求5所述的应用于NVMe SSD控制器的namespace的LBA映射方法,其特征在于:步骤S05中遍历当前结点关键字时,如果不存在Kj-1≤NLBAnamespaceID,仅满足NLBAnamespaceID≤Kj时,找到Kj所关联的LMU。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910115695.0A CN109902033B (zh) | 2019-02-13 | 2019-02-13 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
PCT/CN2019/094355 WO2020164216A1 (zh) | 2019-02-13 | 2019-07-02 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910115695.0A CN109902033B (zh) | 2019-02-13 | 2019-02-13 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109902033A true CN109902033A (zh) | 2019-06-18 |
CN109902033B CN109902033B (zh) | 2023-03-14 |
Family
ID=66944759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910115695.0A Active CN109902033B (zh) | 2019-02-13 | 2019-02-13 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109902033B (zh) |
WO (1) | WO2020164216A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442531A (zh) * | 2019-08-08 | 2019-11-12 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读性能提升方法、装置和计算机设备 |
WO2020164216A1 (zh) * | 2019-02-13 | 2020-08-20 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587484A (zh) * | 2009-06-19 | 2009-11-25 | 南京航空航天大学 | 一种基于T-lt树的主存数据库的索引方法 |
CN104461958A (zh) * | 2014-10-31 | 2015-03-25 | 杭州华为数字技术有限公司 | 支持sr-iov的存储资源访问方法、存储控制器及存储设备 |
CN105912475A (zh) * | 2015-02-25 | 2016-08-31 | Hgst荷兰有限公司 | 用于ssd上的写时复制的系统和方法 |
CN106095329A (zh) * | 2016-05-27 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种基于NVME接口的Intel SSD硬盘的管理方法 |
CN107273061A (zh) * | 2017-07-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种固态硬盘创建多namespace的方法及系统 |
CN107526548A (zh) * | 2017-08-31 | 2017-12-29 | 郑州云海信息技术有限公司 | 多namespace的固态硬盘及数据删除方法与装置 |
CN107957959A (zh) * | 2016-10-17 | 2018-04-24 | 爱思开海力士有限公司 | 具有文件级安全擦除的存储器系统及其操作方法 |
CN108108133A (zh) * | 2018-01-03 | 2018-06-01 | 郑州云海信息技术有限公司 | 一种改变nvme SSD硬盘用户可使用容量的方法及设备 |
CN108153907A (zh) * | 2018-01-18 | 2018-06-12 | 中国计量大学 | 通过16位Trie树实现空间优化的存储管理方法 |
CN108509145A (zh) * | 2017-02-28 | 2018-09-07 | 东芝存储器株式会社 | 存储系统和控制方法 |
CN108549610A (zh) * | 2018-03-27 | 2018-09-18 | 深圳忆联信息系统有限公司 | 一种NVMe扩展的实现方法及固态硬盘 |
CN108694135A (zh) * | 2017-03-31 | 2018-10-23 | 英特尔公司 | 用于在页高速缓存中持久性地高速缓存存储数据的方法和设备 |
CN108959108A (zh) * | 2017-05-26 | 2018-12-07 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
US20190034120A1 (en) * | 2017-12-29 | 2019-01-31 | Intel Corporation | Stream classification based on logical regions |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180239697A1 (en) * | 2017-02-22 | 2018-08-23 | CNEXLABS, Inc. a Delaware Corporation | Method and apparatus for providing multi-namespace using mapping memory |
CN107391394A (zh) * | 2017-08-03 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种处理多命名空间lba的方法及装置 |
CN109902033B (zh) * | 2019-02-13 | 2023-03-14 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
-
2019
- 2019-02-13 CN CN201910115695.0A patent/CN109902033B/zh active Active
- 2019-07-02 WO PCT/CN2019/094355 patent/WO2020164216A1/zh active Application Filing
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587484A (zh) * | 2009-06-19 | 2009-11-25 | 南京航空航天大学 | 一种基于T-lt树的主存数据库的索引方法 |
CN104461958A (zh) * | 2014-10-31 | 2015-03-25 | 杭州华为数字技术有限公司 | 支持sr-iov的存储资源访问方法、存储控制器及存储设备 |
CN105912475A (zh) * | 2015-02-25 | 2016-08-31 | Hgst荷兰有限公司 | 用于ssd上的写时复制的系统和方法 |
CN106095329A (zh) * | 2016-05-27 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种基于NVME接口的Intel SSD硬盘的管理方法 |
CN107957959A (zh) * | 2016-10-17 | 2018-04-24 | 爱思开海力士有限公司 | 具有文件级安全擦除的存储器系统及其操作方法 |
CN108509145A (zh) * | 2017-02-28 | 2018-09-07 | 东芝存储器株式会社 | 存储系统和控制方法 |
CN108694135A (zh) * | 2017-03-31 | 2018-10-23 | 英特尔公司 | 用于在页高速缓存中持久性地高速缓存存储数据的方法和设备 |
CN108959108A (zh) * | 2017-05-26 | 2018-12-07 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
CN107273061A (zh) * | 2017-07-12 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种固态硬盘创建多namespace的方法及系统 |
CN107526548A (zh) * | 2017-08-31 | 2017-12-29 | 郑州云海信息技术有限公司 | 多namespace的固态硬盘及数据删除方法与装置 |
US20190034120A1 (en) * | 2017-12-29 | 2019-01-31 | Intel Corporation | Stream classification based on logical regions |
CN108108133A (zh) * | 2018-01-03 | 2018-06-01 | 郑州云海信息技术有限公司 | 一种改变nvme SSD硬盘用户可使用容量的方法及设备 |
CN108153907A (zh) * | 2018-01-18 | 2018-06-12 | 中国计量大学 | 通过16位Trie树实现空间优化的存储管理方法 |
CN108549610A (zh) * | 2018-03-27 | 2018-09-18 | 深圳忆联信息系统有限公司 | 一种NVMe扩展的实现方法及固态硬盘 |
Non-Patent Citations (1)
Title |
---|
陈思扬: "基于FPGA的NVMe接口设计", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020164216A1 (zh) * | 2019-02-13 | 2020-08-20 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
CN110442531A (zh) * | 2019-08-08 | 2019-11-12 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读性能提升方法、装置和计算机设备 |
CN110442531B (zh) * | 2019-08-08 | 2021-10-26 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读性能提升方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109902033B (zh) | 2023-03-14 |
WO2020164216A1 (zh) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10768857B2 (en) | Storage system having a controller that selects a die of a solid state disk to store data | |
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
CN106406896B (zh) | 一种并行PipeLine技术的区块链建块方法 | |
JP6004299B2 (ja) | フローテーブルをマッチングするための方法及び装置、並びにスイッチ | |
CN103634379B (zh) | 一种分布式存储空间的管理方法和分布式存储系统 | |
US10884667B2 (en) | Storage controller and IO request processing method | |
CN106682215B (zh) | 一种数据处理方法和管理节点 | |
CN111966284A (zh) | 一种OpenFlow大规模流表弹性节能与高效查找架构及方法 | |
CN105989015B (zh) | 一种数据库扩容方法和装置以及访问数据库的方法和装置 | |
CN111723073A (zh) | 数据存储处理方法、装置、处理系统以及存储介质 | |
CN104239234A (zh) | 一种高效的本地缓存管理及读写方法 | |
CN109902033A (zh) | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 | |
CN107360031B (zh) | 一种基于优化开销收益比的虚拟网络映射方法 | |
CN105469173A (zh) | 一种静态内存进行优化管理的方法 | |
WO2015078193A1 (zh) | 存储空间的管理方法和存储管理装置 | |
CN105701128A (zh) | 一种查询语句的优化方法和装置 | |
WO2019174206A1 (zh) | 一种存储设备的数据读取方法、装置、终端设备和存储介质 | |
CN110008030A (zh) | 一种元数据访问的方法、系统及设备 | |
US11119703B2 (en) | Utilizing a set of virtual storage units distributed across physical storage units | |
US12026162B2 (en) | Data query method and apparatus, computing device, and storage medium | |
JP6584529B2 (ja) | ファイルにアクセスするための方法および装置、ならびに記憶システム | |
CN111104435B (zh) | 一种元数据组织方法、装置、设备及计算机可读存储介质 | |
CN111125011B (zh) | 一种文件处理方法、系统及相关设备 | |
CN113934361B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
JP6366812B2 (ja) | 計算機及びデータベースの管理方法 |
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 |