一种处理多命名空间LBA的方法及装置制造方法及图纸

技术编号:16644546 阅读:78 留言:0更新日期:2017-11-26 16:56
本发明专利技术公开了一种处理多命名空间LBA的方法及装置,其中该方法包括:接收主机发送的指令,所述指令指定多个命名空间中的一个命名空间,每个所述命名空间中包括多个固件LBA段,每个所述固件LBA段具有对应的段号且包括多个固件LBA;计算所述指令对应的主机LBA在所述指令指定的命名空间中对应的固件LBA段的段号,在该段号对应的固件LBA段中确定出所述主机LBA对应的固件LBA的位置,以供主机基于该位置对应的固件LBA执行所述指令。该方法可以使主机LBA到固件LBA的转换简单易行,方便主机定位到固件LBA然后执行指令。本发明专利技术提供的装置与该方法对应,也能使主机LBA到固件LBA的转换简单易行。

Method and device for processing multi namespace LBA

The invention discloses a method and a device for processing multi namespace LBA, wherein the method includes: receiving host sends instructions, the instructions specify a namespace a namespace, including a plurality of firmware LBA each of the namespace, each of the solid LBA segment has the corresponding segment and includes a plurality of firmware LBA; LBA firmware section calculation the instruction corresponding to the host LBA specified in the instruction namespace corresponding to the code, the corresponding host LBA firmware LBA to determine the location of LBA in the firmware section of the corresponding segment, the host for the execution of the firmware LBA corresponding to the position of the instruction based on. This method can make the conversion from host LBA to firmware LBA easy and convenient for host to locate firmware LBA and then execute instructions. The device provided by the invention corresponds to the method, and also makes the conversion of the host LBA to the firmware LBA simple and easy.

【技术实现步骤摘要】
一种处理多命名空间LBA的方法及装置
本专利技术涉及数据处理
,更具体地说,涉及一种处理多命名空间LBA的方法及装置。
技术介绍
对于一个企业而言,可能会有大量的不同种类的数据,因而其存储设备(例如固态硬盘)的容量会很大,为了提高不同种类数据间的安全性和独立性,通常需要把不同类型的数据放在相对独立的逻辑空间内。在对存储设备的逻辑空间划分的时候,引入命名空间(namespace)这一概念,每个命名空间由若干段独立的LBA(LogicalBlockAddress,逻辑块地址)组成。当主机下发I/O(I/O,Input/Output,输入/输出)指令时,需要把主机指令对应的主机LBA转化成命令空间中的固件LBA,以便实现主机对固态硬盘的IO操作。现有的固态硬盘可以支持多命名空间,由于存在用户反复创建、删除或合并命名空间的可能,固件LBA可能会出现碎片化,即整个命名空间中的LBA可能会不连续,因此将指令对应的主机LBA转换成命名空间中的固件LBA就十分困难。综上所述,如何提供一种简单易行的将主机LBA转换成命名空间中的固件LBA的方法,是目前本领域技术人员亟待解决的问题。
技术实现思路
本本文档来自技高网
...
一种处理多命名空间LBA的方法及装置

【技术保护点】
一种处理多命名空间LBA的方法,其特征在于,包括:接收主机发送的指令,所述指令指定多个命名空间中的一个命名空间,每个所述命名空间中包括多个固件LBA段,每个所述固件LBA段具有对应的段号,且每个所述固件LBA段包括多个固件LBA;计算所述指令对应的主机LBA在所述指令指定的命名空间中对应的固件LBA段的段号,在该段号对应的固件LBA段中确定出所述主机LBA对应的固件LBA的位置,以供主机基于该位置对应的固件LBA执行所述指令。

【技术特征摘要】
1.一种处理多命名空间LBA的方法,其特征在于,包括:接收主机发送的指令,所述指令指定多个命名空间中的一个命名空间,每个所述命名空间中包括多个固件LBA段,每个所述固件LBA段具有对应的段号,且每个所述固件LBA段包括多个固件LBA;计算所述指令对应的主机LBA在所述指令指定的命名空间中对应的固件LBA段的段号,在该段号对应的固件LBA段中确定出所述主机LBA对应的固件LBA的位置,以供主机基于该位置对应的固件LBA执行所述指令。2.根据权利要求1所述的方法,其特征在于,计算所述指令对应的主机LBA在所述指令指定的命名空间中对应的固件LBA段的段号及对应的固件LBA的位置,包括:如果所述指令指定的命名空间中每个所述固件LBA段包含的固件LBA数量相等,将所述主机LBA作为被除数,每个所述固件LBA段中包含的固件LBA的个数作为除数,得到对应的整数商和余数,确定所述整数商为所述主机LBA在所述指令指定命名空间中对应的固件LBA段的段号,确定所述余数为所述主机LBA在所述指令指定命名空间中对应的固件LBA的位置。3.根据权利要求2所述的方法,其特征在于,确定所述余数为所述主机LBA在所述指令指定命名空间中对应的固件LBA的位置后,还包括:如果所述指令指定的命名空间中的固件LBA是连续的,确定所述主机LBA对应的段号对应的固件LBA段的首地址,确定表示所述主机LBA对应的固件LBA位置的所述余数与所述首地址的和为与所述主机LBA对应的固件LBA,并将该固件LBA返回给所述主机。4.根据权利要求3所述的方法,其特征在于,所述确定所述主机LBA对应的段号对应的固件LBA段的首地址,包括:按照下列公式确定与所述主机LBA对应的段号对应的固件LBA段的所述首地址:所述主机LBA对应的固件LBA段的首地址=所述主机LBA对应的段号×所述指令指定的命名空间中每个所述固件LBA段包含的固件LBA的个数。5.根据权利要求1-4任一项所述的方法,其特征在于,在接收主机发送的指令之后,计算所述指令对应的主机LBA在所述指令指定的命名空间中对应的固件LBA段的段号之前,还包括:判断所述主机LBA是否大于所述指令指定的命名空间中固件LBA的总个数,如果判断结果为否,则执行所述计...

【专利技术属性】
技术研发人员:刘子明
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1