[发明专利]一种带异步通知的乱序RDMA方法与装置有效
申请号: | 201910870364.8 | 申请日: | 2019-09-16 |
公开(公告)号: | CN110602211B | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 高剑刚;丁亚军;牟华先;斯添浩;周建毅;冯冬明;周舟 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | H04L67/568 | 分类号: | H04L67/568;H04L67/5682;H04L69/22 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 裴金华 |
地址: | 214100 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异步 通知 rdma 方法 装置 | ||
1.一种带异步通知的乱序RDMA装置,包括发送引擎和接收引擎,其特征在于,所述发送引擎包括消息悬挂缓冲模块、响应处理模块、拆包模块、组包模块、发送引擎访存接口模块、数据缓冲模块;所述接收引擎,包括请求包处理模块、响应队列模块、响应包处理模块、接收队列管理模块、接收引擎访存接口模块;
所述消息悬挂缓冲模块,用于获取并寄存RDMA消息包的消息描述符,并记录RDMA消息包的消息信息;消息信息包括消息ID、剩余数据量、下一个包源数据地址、下一个包目标数据地址、剩余应答数量、异步通知接收队列号、消息描述符、消息状态、最大传输包长度MTU信息,
所述拆包模块,和所述消息悬挂缓冲模块、组包模块以及发送引擎访存接口模块电连接,用于读取消息描述符并进行拆包,生成包控制信息,输出包控制信息内容到组包模块,输出取数据请求到发送引擎访存接口模块,并更新消息状态信息回写到消息悬挂缓冲模块;且在获取消息悬挂缓冲模块发出消息进入发送异步通知状态信号时,拆包模块生成异步通知控制信息和消息描述符内容,输出到组包模块,该消息描述符内容为RDMA消息包 的描述符;
所述发送引擎访存接口模块,和所述数据缓冲模块电连接,用于负责处理发送引擎的所有主存访问,收到拆包模块的取数据请求后,向主存通路发起访存请求,并将访存响应写入到数据缓冲模块;所述发送引擎访存接口模块还和所述消息悬挂缓冲模块电连接,用于负责处理消息悬挂缓冲模块输入的完成事件;
所述数据缓冲模块,用于保存RDMA消息包的数据内容;
所述组包模块,和所述拆包模块以及数据缓冲模块电连接,用于负责消息包的组包发送上网,从拆包模块接收包控制信息,从数据缓冲模块接收RDMA消息包的数据内容,再封装成RDMA消息请求包发送到上网通路;且在拆包模块获取消息悬挂缓冲模块 发出消息进入发送异步通知状态信号时,从拆包模块获取异步通知控制信息和消息描述符内容,再封装成发送异步通知消息请求包发送到上网通路;
所述请求包处理模块,负责处理网上收到的消息请求包,其和所述响应队列模块、接收引擎访存接口模块、接收队列管理模块电连接;在消息请求包为RDMA消息请求包时,则解析请求包,提取包中数据,生成写数据请求输入到接收引擎访存接口模块,同时根据消息请求包内容生成RDMA消息响应包,输入到响应队列模块;在消息请求包为发送异步通知消息请求包时,生成发送异步通知消息响应包并发送到响应队列模块,生成异步通知信息写入到接收队列管理模块;
所述响应队列模块,和所述请求包处理模块电连接,处理从请求包处理模块输出的响应包,并把响应包发送上网;
所述响应包处理模块,负责处理网上收到的响应包,生成远程响应控制信息输入到响应处理模块;
所述响应处理模块,和所述响应包处理模块以及消息悬挂缓冲模块电连接,负责处理远程响应,根据响应包类型作出处理;在响应包为RDMA消息响应包时,控制所述消息悬挂缓冲模块响应计数,并在收齐响应后,控制所述消息悬挂缓冲模块生成并发出消息进入发送异步通知状态信号;在响应包为发送异步通知消息响应包时,控制消息悬挂缓冲模块生成完成事件写入主存;
所述接收队列管理模块,和所述请求包处理模块电连接,用于在收到请求包处理模块输入的异步通知信息时,根据接收队列号定位到对应接收队列空间的指定位置,并生成队列写请求输入到接收引擎访存接口模块;
接收引擎访存接口模块负责处理接收引擎的所有访存请求,包括请求包处理模块输入的写数据请求和接收队列管理模块输入的队列写请求,所有写主存请求发送到主存通路。
2.根据权利要求1所述的一种带异步通知的乱序RDMA装置,其特征在于,在响应包为RDMA消息响应包时,响应处理模块的响应计数方式为:每收到一个响应包,根据响应包中的消息悬挂缓冲号和消息ID号匹配消息悬挂缓冲模块的对应消息信息,匹配成功后消息悬挂缓冲模块中剩余应答数量减一。
3.根据权利要求1所述的一种带异步通知的乱序RDMA装置,其特征在于,所述接收队列管理模块的接收队列空间位于主存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910870364.8/1.html,转载请声明来源钻瓜专利网。