[发明专利]应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法有效
申请号: | 201910115695.0 | 申请日: | 2019-02-13 |
公开(公告)号: | CN109902033B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 刘忞斋;高美洲;孙大朋;郭泰;裴永航 | 申请(专利权)人: | 山东华芯半导体有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/10 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 赵玉凤 |
地址: | 250101 山东省济南市高新*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种应用于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控制器前端读写处理速度。 | ||
搜索关键词: | 应用于 nvme ssd 控制器 namespace lba 分配 方法 映射 | ||
【主权项】:
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的分配也完成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东华芯半导体有限公司,未经山东华芯半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910115695.0/,转载请声明来源钻瓜专利网。