[发明专利]一种面向NVMeoF存储网络的无锁传输方法及系统有效
申请号: | 202010338868.8 | 申请日: | 2020-04-26 |
公开(公告)号: | CN111459417B | 公开(公告)日: | 2023-08-18 |
发明(设计)人: | 李琼;宋振龙;赵曦;谢徐超;谢旻;袁远;黎铁军;肖立权;魏登萍;任静;李世杰;陈浩稳 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/50;G06F9/48 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 nvmeof 存储 网络 传输 方法 系统 | ||
1.一种面向NVMeoF存储网络的无锁传输方法,其特征在于实施步骤包括:
1)主机端根据CPU核的数量来创建相同数量的NVMeoF队列,并为每一个NVMeoF队列申请一段数组格式的空白内存;
2)当命令包到来时则将其加入NVMeoF队列对应的数组格式的空白内存中并通过独立的链表进行缓存;轮询每个NVMeoF队列,将缓存的命令包通过网络发送给目标端;
主机端还包括采用链表管理各个NVMeoF队列的数组格式的空白内存的步骤:1、在每一个NVMeoF队列的数组格式的空白内存申请好以后将其加入管理链表;2、当命令包到来时,取出管理链表中的头节点然后将该头节点从管理链表中删除掉;当I/O压力过大,若管理链表为空时则申请一段临时的内存空间来存放命令包;3、对从管理链表中取出的头节点赋值,把命令包的报文内容保存到该头节点所指向的地址中;4、赋值完成后的头节点没有在任何的管理链表中,然后把头节点加入到NVMeoF队列对应的发送链表的尾部;5、网卡在轮询到某一NVMeoF队列时则将该NVMeoF队列中的发送链表取出头节点,取出后将该节点从发送链表中删除;6、网卡将取出头节点所指向的地址里保存的报文内容通过网卡发送出去;7、发送完成之后将头节点指向的地址清空,重新加入到管理链表的尾部,保证申请的内存重复可用;如果该头节点中的地址是临时申请的内存地址,则在网卡发送完成后立即将该地址释放掉。
2.根据权利要求1所述的面向NVMeoF存储网络的无锁传输方法,其特征在于,步骤2)中通过独立的链表进行缓存具体是指将加入NVMeoF队列对应的数组格式的空白内存中的命令包缓存到该NVMeoF队列对应的发送链表的尾部;所述将缓存的命令包通过网络发送给目标端具体是指将发送链表的头部的命令包通过网络发送给目标端。
3.根据权利要求1所述的面向NVMeoF存储网络的无锁传输方法,其特征在于,步骤1)之后还包括目标端初始化NVMeoF队列的步骤:创建与主机端NVMeoF队列相同的的NVMeoF队列,并为每一个NVMeoF队列申请一段数组格式的空白内存。
4.根据权利要求3所述的面向NVMeoF存储网络的无锁传输方法,其特征在于,步骤2)之后还包括目标端接收命令包后发送响应包的步骤:当响应包到来时则将其加入NVMeoF队列对应的数组格式的空白内存中并通过独立的链表进行缓存;轮询每个NVMeoF队列,将缓存的响应包通过网络发送给主机端。
5.根据权利要求4所述的面向NVMeoF存储网络的无锁传输方法,其特征在于,所述目标端接收命令包后发送响应包时,所述通过独立的链表进行缓存具体是指将加入NVMeoF队列对应的数组格式的空白内存中的命令包缓存到该NVMeoF队列对应的发送链表的尾部;所述将缓存的命令包通过网络发送给主机端具体是指将发送链表的头部的命令包通过网络发送给主机端。
6.根据权利要求5所述的面向NVMeoF存储网络的无锁传输方法,其特征在于,目标端还包括采用链表管理各个NVMeoF队列的数组格式的空白内存的步骤:1、在每一个NVMeoF队列的数组格式的空白内存申请好以后将其加入管理链表;2、当响应包到来时,取出管理链表中的头节点然后将该头节点从管理链表中删除掉;当I/O压力过大,若管理链表为空时则申请一段临时的内存空间来存放响应包;3、对从管理链表中取出的头节点赋值,把响应包的报文内容保存到该头节点所指向的地址中;4、赋值完成后的头节点没有在任何的管理链表中,然后把头节点加入到NVMeoF队列对应的发送链表的尾部;5、网卡在轮询到某一NVMeoF队列时则将该NVMeoF队列中的发送链表取出头节点,取出后将该节点从发送链表中删除;6、网卡将取出头节点所指向的地址里保存的报文内容通过网卡发送出去;7、发送完成之后将头节点指向的地址清空,重新加入到管理链表的尾部,以保证申请的内存重复可用;如果该头节点中的地址是临时申请的内存地址,则在网卡发送完成后立即将该地址释放掉。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010338868.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:烘干消毒场房
- 下一篇:隧洞爆破炮孔堵塞装置