卸载卡命名空间管理、输入输出请求处理系统和方法技术方案

技术编号:34010382 阅读:28 留言:0更新日期:2022-07-02 14:26
本公开实施例公开了卸载卡命名空间管理、输入输出请求处理系统和方法。卸载卡命名空间管理系统包括主机和与主机连接的卸载卡,其中,所述主机上运行有发出输入输出请求的多个应用,并且所述主机向所述卸载卡发送创建命名空间请求,所述卸载卡根据所述创建命名空间请求为所述多个应用创建对应的多个命名空间,所述卸载卡根据所述创建命名空间请求分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间,可以创建多个命名空间,并且动态地为每个命名空间分配专属硬件队列,实现了硬件级别的命名空间资源,应用可以使用自身对应的硬件队列,大幅提升了命名空间的性能隔离能力以及可靠性。以及可靠性。以及可靠性。

【技术实现步骤摘要】
卸载卡命名空间管理、输入输出请求处理系统和方法


[0001]本公开涉及计算机
,具体涉及卸载卡命名空间管理、输入输出请求处理系统和方法。

技术介绍

[0002]NVMe(Non

Volatile Memory express,非易失性内存主机控制器接口规范)存储器是服务器
常见的固态存储器,例如,NVMe SSD(Solid State Drive,固态硬盘)。随着产品应用情景的复杂性,直连NVMe设备需要占用中央处理器(CPU)大量计算空间,从而影响到CPU的性能。
[0003]当前已经采用命名空间(namespace)技术来对NVME存储器进行空间划分/管理,主要用于为不同的应用划分磁盘逻辑空间和建立安全隔离机制。不同的命名空间采用软件技术隔离,共用一部分硬件资源,例如,硬件队列。
[0004]相关技术中已知的命名空间技术的优势:通过软件实现,提供灵活的空间管理能力,满足软件定义存储诉求。
[0005]相关技术中已知的命名空间技术的劣势:在命名空间上不同应用会共用NVMe设备的例如硬件队列的硬件资源,会产生性能干扰问题,而且故障隔离能力比较差。

技术实现思路

[0006]为了解决相关技术中的问题,本公开实施例提供卸载卡命名空间管理、输入输出请求处理系统和方法。
[0007]第一方面,本公开实施例中提供了一种卸载卡命名空间管理系统,包括主机和与主机连接的卸载卡,其中,
[0008]所述主机上运行有发出输入输出请求的多个应用,并且所述主机向所述卸载卡发送创建命名空间请求,
[0009]所述卸载卡根据所述创建命名空间请求为所述多个应用创建对应的多个命名空间,
[0010]所述卸载卡根据所述创建命名空间请求分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间。
[0011]结合第一方面,本公开在第一方面的第一种实现方式中,所述主机上运行有虚拟机,所述多个应用运行于所述虚拟机中,所述虚拟机包括:
[0012]驱动器,其用于管理所述多个硬件队列,所述虚拟机通过所述驱动器向所述卸载卡发送所述创建命名空间请求。
[0013]结合第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,所述卸载卡包括控制器和硬件加速器,其中,
[0014]所述控制器根据所述创建命名空间请求为所述多个应用创建各自的命名空间,并且从所述硬件加速器中分配与所创建的多个命名空间对应的多个硬件队列并且将所分配
的多个硬件队列分别绑定到所对应的命名空间。
[0015]结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述主机包括多核心中央处理器,所述虚拟机包括用户空间和内核空间,
[0016]其中,所述用户空间中运行有所述多个应用,所述应用由对应的核心执行,
[0017]其中,所述内核空间包括通用块层和所述驱动器,所述通用块层包括与所述多个核心对应的多个软件队列,并且建立从所述多个软件队列到所述多个硬件队列的一一对应关系。
[0018]结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述驱动器是NVMe驱动器,所述控制器是NVMe控制器,
[0019]其中,所述主机通过所述卸载卡连接到NVMe设备,
[0020]其中,所述NVMe设备挂载到所述虚拟机内部,
[0021]其中,所述用户空间中运行的应用向所述通用块层发出输入输出请求,
[0022]其中,通过所述通用块层和所述NVMe驱动器的处理将所述输入输出请求转换成符合NVMe协议的输入输出请求,并且发送到所述NVMe控制器,
[0023]其中,所述NVMe控制器通过与所创建的命名空间对应的硬件队列将所述符合NVMe协议的输入输出请求搬运到所述卸载卡,
[0024]其中,所述卸载卡将符合NVMe协议的输入输出请求发送到所述NVMe设备。
[0025]第二方面,本公开实施例中提供了一种卸载卡命名空间管理方法,所述方法运行于卸载卡命名空间管理系统,所述卸载卡命名空间管理系统包括主机和与主机连接的卸载卡,其中,所述方法包括:
[0026]基于所述主机上运行的发出输入输出请求的多个应用,所述主机向所述卸载卡发送创建命名空间请求;
[0027]所述卸载卡根据所述创建命名空间请求为所述多个应用创建对应的多个命名空间;
[0028]所述卸载卡根据所述创建命名空间请求分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间。
[0029]结合第二方面,本公开在第二方面的第一种实现方式中,所述主机上运行有虚拟机,所述多个应用运行于所述虚拟机中,所述虚拟机包括用于管理所述多个硬件队列的驱动器,其中,所述主机向所述卸载卡发送创建命名空间请求,包括:
[0030]所述虚拟机通过所述驱动器向所述卸载卡发送所述创建命名空间请求。
[0031]结合第二方面的第一种实现方式,本公开在第二方面的第二种实现方式中,所述卸载卡包括控制器和硬件加速器,其中,所述卸载卡根据所述创建命名空间请求为所述多个应用创建对应的多个命名空间,包括:
[0032]所述控制器根据所述创建命名空间请求为所述多个应用创建各自的命名空间,
[0033]其中,所述卸载卡根据所述创建命名空间请求分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间,包括:
[0034]所述控制器从所述硬件加速器中分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间。
[0035]结合第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述
主机包括多核心中央处理器,所述虚拟机包括用户空间和内核空间,
[0036]其中,所述用户空间中运行有所述多个应用,所述应用由对应的核心执行,
[0037]其中,所述内核空间包括通用块层和所述驱动器,所述通用块层包括与所述多个核心对应的多个软件队列,并且建立从所述多个软件队列到所述多个硬件队列的一一对应关系。
[0038]结合第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述驱动器是NVMe驱动器,所述控制器是NVMe控制器,
[0039]其中,所述主机通过所述卸载卡连接到NVMe设备,
[0040]其中,所述方法还包括:
[0041]将所述NVMe设备挂载到所述虚拟机内部;
[0042]所述用户空间中运行的应用向所述通用块层发出输入输出请求;
[0043]通过所述通用块层和所述NVMe驱动器的处理将所述输入输出请求转换成符合NVMe协议的输入输出请求,并且发送到所述NVMe控制器;
[0044]所述NVMe控制器通过与所创建的命名空间对应的硬件队列将所述符合NVMe协议的输本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卸载卡命名空间管理系统,包括主机和与主机连接的卸载卡,其中,所述主机上运行有发出输入输出请求的多个应用,并且所述主机向所述卸载卡发送创建命名空间请求,所述卸载卡根据所述创建命名空间请求为所述多个应用创建对应的多个命名空间,所述卸载卡根据所述创建命名空间请求分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间。2.根据权利要求1所述的系统,其中,所述主机上运行有虚拟机,所述多个应用运行于所述虚拟机中,所述虚拟机包括:驱动器,其用于管理所述多个硬件队列,所述虚拟机通过所述驱动器向所述卸载卡发送所述创建命名空间请求。3.根据权利要求2所述的系统,其中,所述卸载卡包括控制器和硬件加速器,其中,所述控制器根据所述创建命名空间请求为所述多个应用创建各自的命名空间,并且从所述硬件加速器中分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间。4.根据权利要求3所述的系统,其中,所述主机包括多核心中央处理器,所述虚拟机包括用户空间和内核空间,其中,所述用户空间中运行有所述多个应用,所述应用由对应的核心执行,其中,所述内核空间包括通用块层和所述驱动器,所述通用块层包括与所述多个核心对应的多个软件队列,并且建立从所述多个软件队列到所述多个硬件队列的一一对应关系。5.根据权利要求4所述的系统,其中,所述驱动器是NVMe驱动器,所述控制器是NVMe控制器,其中,所述主机通过所述卸载卡连接到NVMe设备,其中,所述NVMe设备挂载到所述虚拟机内部,其中,所述用户空间中运行的应用向所述通用块层发出输入输出请求,其中,通过所述通用块层和所述NVMe驱动器的处理将所述输入输出请求转换成符合NVMe协议的输入输出请求,并且发送到所述NVMe控制器,其中,所述NVMe控制器通过与所创建的命名空间对应的硬件队列将所述符合NVMe协议的输入输出请求搬运到所述卸载卡,其中,所述卸载卡将符合NVMe协议的输入输出请求发送到所述NVMe设备。6.一种卸载卡命名空间管理方法,所述方法运行于卸载卡命名空间管理系统,所述卸载卡命名空间管理系统包括主机和与主机连接的卸载卡,其中,所述方法包括:基于所述主机上运行的发出输入输出请求的多个应用,所述主机向所述卸载卡发送创建命名空间请求;所述卸载卡根据所述创建命名空间请求为所述多个应用创建对应的多个命名空间;所述卸载卡根据所述创建命名空间请求分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间。7.根据权利要求6所述的方法,其中,所述主机上运行有虚拟机,所述多个应用运行于所述虚拟机中,所述虚拟机包括用于管理所述多个硬件队列的驱动器,其中,所述主机向所
述卸载卡发送创建命名空间请求,包括:所述虚拟机通过所述驱动器向所述卸载卡发送所述创建命名空间请求。8.根据权利要求7所述的方法,其中,所述卸载卡包括控制器和硬件加速器,其中,所述卸载卡根据所述创建命名空间请求为所述多个应用创建对应的多个命名空间,包括:所述控制器根据所述创建命名空间请求为所述多个应用创建各自的命名空间,其中,所述卸载卡根据所述创建命名空间请求分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间,包括:所述控制器从所述硬件加速器中分配与所创建的多个命名空间对应的多个硬件队列并且将所分配的多个硬件队列分别绑定到所对应的命名空间。9.根据权利要求8所述的方法,其中,所述主机包括多核心中央处理器,所述虚拟机包括用户空间和内核空间,其中,所述用户空间中运行有所述多个应用,所述应用由对应的核心执行,其中,所述内核空间包括通用块层和所述驱动器,所述通用块层包括与所述多个核心对应的多个软件队列,并且建立从所述多个软件队列到所述多个硬件队列的一一对应关系。10.根据权利要求9所述的方法,其中,所述驱动器是NVMe驱动器,所述...

【专利技术属性】
技术研发人员:朴君
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1