NVMe-oF半卸载处理方法及装置、硬件加速设备制造方法及图纸

技术编号:36183511 阅读:16 留言:0更新日期:2022-12-31 20:42
本申请提供一种NVMe

【技术实现步骤摘要】
NVMe

oF半卸载处理方法及装置、硬件加速设备


[0001]本申请涉及计算机
,尤其涉及NVMe

oF半卸载处理方法及装置、硬件加速设备。

技术介绍

[0002]NVMe是最早于2015年正式提出的存储接口访问协议,专为固态硬盘(SSD)设计,相比于传统的SATA等形式的SSD,NVMe具有队列多(64K)、深度大(64K)、无需加锁等特点,充分利用非易失存储介质NVM的特点,具有更低的延时,更高的带宽。NVMe

oF(NVMe over Fabric)是于2019年正式提出的NVMe存储网络访问协议,相比于传统的iSCSI协议实现网络存储访问,NVMe

oF协议减少了从NVMe到iSCSI协议的转换,基于原生的NVMe操作即可实现网络存储访问,进一步降低访问时延,提高带宽。NVMe

oF的访问路径如图1所示,其中,NVMe_initiator表示NVMe发起端,NVMe_target表示NVMe请求处理端(连接物理NVMe设备)。
[0003]然而,目前基于NVMe

oF内核驱动访问的方式,例如NVMe over TCP,运行内核态的TCP协议栈,维护TCP状态机,频繁的中断处理会造成主机巨大的性能开销,尤其在数据中心等数据处理量极大的应用场景中,在这种情况下,虽然NVMe

oF为高速存储网络设计优化,但仍然会使主机侧的CPU利用率下降,使得主机无法高效的处理核心业务。

技术实现思路

[0004]鉴于此,本申请实施例提供了NVMe

oF半卸载处理方法及装置、硬件加速设备,以消除或改善现有技术中存在的一个或更多个缺陷。
[0005]本申请的一个方面提供了一种NVMe

oF半卸载处理方法,包括:
[0006]基于本地预设的NVMe设备模拟单元自主机获取针对数据存储系统的数据处理请求对应的NVMe请求命令,并将该NVMe请求命令转换为NVMe

oF请求命令,其中,所述主机预先基于预设的NVMe

oF半卸载规则对所述NVMe设备模拟单元进行初始化处理;
[0007]将所述NVMe

oF请求命令自对应的网络传输层发送至所述数据存储系统;
[0008]在确定所述主机与所述数据存储系统之间完成交互后向所述主机发送中断指令。
[0009]在本申请的一些实施例中,在所述在确定所述主机与所述数据存储系统之间完成交互后向所述主机发送中断指令之前,还包括:
[0010]接收数据存储系统发送的针对所述数据处理请求的NVMe

oF回复命令;
[0011]将所述NVMe

oF回复命令转化为NVMe

oF回复命令,并将该NVMe回复命令发送至所述主机。
[0012]在本申请的一些实施例中,在所述在确定所述主机与所述数据存储系统之间完成交互后向所述主机发送中断指令之前,还包括:
[0013]接收数据存储系统发送的针对所述数据处理请求的NVMe

oF回复数据;
[0014]将所述NVMe

oF回复数据发送至所述主机。
[0015]在本申请的一些实施例中,在所述基于本地预设的NVMe设备模拟单元自主机获取
针对数据存储系统的数据处理请求对应的NVMe请求命令之前,还包括:
[0016]基于本地的PCIe设备构建NVMe设备模拟单元;
[0017]向主机发送NVMe设备模拟单元对应的已构建消息,以使所述主机中的NVMe驱动根据该已构建消息对所述NVMe设备模拟单元进行初始化处理,并创建对应的管理队列及IO队列,使得所述主机接收到针对数据存储系统的数据处理请求后生成对应的NVMe请求命令并更新所述IO队列。
[0018]在本申请的一些实施例中,所述将所述NVMe

oF请求命令自对应的网络传输层发送至所述数据存储系统,包括:
[0019]在多种网络传输层中择一作为目标网络传输层;
[0020]基于所述目标网络传输层,将所述NVMe

oF请求命令经由本地的MAC网络出口发送至所述数据存储系统。
[0021]在本申请的一些实施例中,所述网络传输层包括:TCP卸载引擎和RDMA模块。
[0022]本申请的另一个方面提供了一种NVMe

oF半卸载处理装置,包括:
[0023]半卸载模块,用于基于本地预设的NVMe设备模拟单元自主机获取针对数据存储系统的数据处理请求对应的NVMe请求命令,并将该NVMe请求命令转换为NVMe

oF请求命令,其中,所述主机预先基于预设的NVMe

oF半卸载规则对所述NVMe设备模拟单元进行初始化处理;
[0024]数据发送模块,用于将所述NVMe

oF请求命令自对应的网络传输层发送至所述数据存储系统;
[0025]中断模块,用于在确定所述主机与所述数据存储系统之间完成交互后向所述主机发送中断指令。
[0026]在本申请的一些实施例中,所述的NVMe

oF半卸载处理装置还包括:
[0027]数据接收模块,用于接收数据存储系统发送的针对所述数据处理请求的NVMe

oF回复命令,将所述NVMe

oF回复命令转化为NVMe

oF回复命令,并将该NVMe回复命令发送至所述主机;还用于接收数据存储系统发送的针对所述数据处理请求的NVMe

oF回复数据,并将所述NVMe

oF回复数据发送至所述主机。
[0028]本申请的另一个方面提供了一种硬件加速设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的NVMe

oF半卸载处理方法。
[0029]本申请的另一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的NVMe

oF半卸载处理方法。
[0030]本申请提供的NVMe

oF半卸载处理方法,获基于本地预设的NVMe设备模拟单元自主机获取针对数据存储系统的数据处理请求对应的NVMe请求命令,并将该NVMe请求命令转换为NVMe

oF请求命令,其中,所述主机预先基于预设的NVMe

oF半卸载规则对所述NVMe设备模拟单元进行初始化处理;将所述NVMe

oF请求命令自对应的网络传输层发送至所述数据存储系统;在确定所述主机与所述数据存储系统之间完成交互后向所述主本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种NVMe

oF半卸载处理方法,其特征在于,包括:基于本地预设的NVMe设备模拟单元自主机获取针对数据存储系统的数据处理请求对应的NVMe请求命令,并将该NVMe请求命令转换为NVMe

oF请求命令,其中,所述主机预先基于预设的NVMe

oF半卸载规则对所述NVMe设备模拟单元进行初始化处理;将所述NVMe

oF请求命令自对应的网络传输层发送至所述数据存储系统;在确定所述主机与所述数据存储系统之间完成交互后向所述主机发送中断指令。2.根据权利要求1所述的NVMe

oF半卸载处理方法,其特征在于,在所述在确定所述主机与所述数据存储系统之间完成交互后向所述主机发送中断指令之前,还包括:接收数据存储系统发送的针对所述数据处理请求的NVMe

oF回复命令;将所述NVMe

oF回复命令转化为NVMe

oF回复命令,并将该NVMe回复命令发送至所述主机。3.根据权利要求1所述的NVMe

oF半卸载处理方法,其特征在于,在所述在确定所述主机与所述数据存储系统之间完成交互后向所述主机发送中断指令之前,还包括:接收数据存储系统发送的针对所述数据处理请求的NVMe

oF回复数据;将所述NVMe

oF回复数据发送至所述主机。4.根据权利要求1所述的NVMe

oF半卸载处理方法,其特征在于,在所述基于本地预设的NVMe设备模拟单元自主机获取针对数据存储系统的数据处理请求对应的NVMe请求命令之前,还包括:基于本地的PCIe设备构建NVMe设备模拟单元;向主机发送NVMe设备模拟单元对应的已构建消息,以使所述主机中的NVMe驱动根据该已构建消息对所述NVMe设备模拟单元进行初始化处理,并创建对应的管理队列及IO队列,使得所述主机接收到针对数据存储系统的数据处理请求后生成对应的NVMe请求命令并更新所述IO队列。5.根据权利要求1所述的NVMe

oF半卸载处理方法,其特征在于,所述将所述NVMe

【专利技术属性】
技术研发人员:张宇军孟繁毅
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:

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

1