本申请属于网络通信领域,特别涉及一种基于pcie的主机域间通信方法和装置。
背景技术:
1、pci-sig组织规范普遍适用于单主机(host)域,对多host域间相互通信业界普遍需要借助于非透明桥(ntb)技术。ntb作为多host系统的解决方案,用于完成pci express域之间的通信。
2、相关技术中,硬件对于跨域传输的tlp报文,存在不同host的配置不一致问题,通常需要软件自协商解决,或者采用硬件之间自协商的方式。
技术实现思路
1、本申请的目的在于提供一种基于pcie的主机域间通信方法和装置,旨在基于不同host域的ntb解决跨域通信时内存读请求(mrd)与带数据的完成报文(cpld)的处理问题。
2、根据本申请的第一方面,提供了一种基于pcie的主机域间通信方法,包括:
3、当原始主机域从请求者接收到内存读请求报文时,对所述内存读请求报文进行地址翻译和id翻译,然后传输到目的主机域;
4、当目的主机域接收到翻译后的内存读请求报文时,对所述内存读请求报文进行拆分并重新进行id翻译,接收完成者基于拆分后的内存读请求报文回复的带数据的完成报文;
5、将所述带数据的完成报文写入目的主机域的带数据的完成报文缓存,根据预定义组包规则对所述带数据的完成报文进行重组;
6、将重组后的带数据的完成报文发送到所述原始主机域进行拆分,对拆分后的带数据的完成报文进行还原后返回到所述请求者。
7、在可选的实施方式中,所述对内存读请求报文进行地址翻译和id翻译,进一步包括:
8、采用查找配置表的方式,将接收到的原始主机域的内存读请求报文的地址翻译成目的主机域的地址;存储接收到的内存读请求报文中的transaction id,并将原始主机域自身作为报文的发起者一起生成新的transaction id。
9、在可选的实施方式中,所述对所述内存读请求报文进行拆分,进一步包括:
10、按照对齐到rcb地址的要求,从所述内存读请求报文拆分出第一mrd子包,并根据第一mrd子包的拆分长度更新length域段,根据更新后的length域段计算下一个mrd子包的地址和长度,根据剩余的请求长度与目的主机域的mrrs进行拆分,依次迭代执行上述拆分,只要剩余的长度超过,就按照mrrs拆分出一个mrd子包,同时更新地址域段和length域段。
11、在可选的实施方式中,所述将所述带数据的完成报文写入目的主机域的带数据的完成报文缓存,根据预定义组包规则对所述带数据的完成报文进行重组,进一步包括:
12、完成者发起带数据的完成报文到目的主机域后,先将报文进行协议检查,将合法的报文写入带数据的完成报文缓存,每个transaction id对应的缓存空间为目的主机域的mrrs,按照不同的mrd子包对应的不同请求的cpld独立存储数据;
13、根据id翻译时建立的id替换关系,将报文内的transaction id替换为目的主机域的内存读请求报文对应的原始transaction id,只要多组cpld缓存满足如下任意规则,则重组cpld域段进行发送:
14、规则1:接收完该组的所有cpld,或收到对应的cpl;
15、规则2:接收到的数据满足预定义大小。
16、根据本申请的第二方面,提供了一种基于pcie的主机域间通信装置,包括:
17、mrd源端处理单元,用于当原始主机域从请求者接收到内存读请求报文时,对所述内存读请求报文进行地址翻译和id翻译,然后传输到目的主机域;
18、mrd目的端处理单元,用于当目的主机域接收到翻译后的内存读请求报文时,对所述内存读请求报文进行拆分并重新进行id翻译,接收完成者基于拆分后的内存读请求报文回复的带数据的完成报文;
19、cpld源端处理单元,用于将所述带数据的完成报文写入目的主机域的带数据的完成报文缓存,根据预定义组包规则对所述带数据的完成报文进行重组;
20、cpld目的端处理单元,用于将重组后的带数据的完成报文发送到所述原始主机域进行拆分,对拆分后的带数据的完成报文进行还原后返回到所述请求者。
21、相比于相关技术,本申请的技术方案具备以下优点:
22、对于源端mrd,利用ntb建立第一次id翻译表,在目的域对源端mrd进行拆包,解决了mrrs域的rcb匹配问题,同时考虑到cpld处理时合法性组包和cpld处理效率,并且在mrd处理全过程和cpld_des的处理上采用直通转发(cut-through)处理方式,降低了对存储和延迟的消耗;对于源端cpld,入口采用缓存方式,可以模拟一个真实的完成者,结合自组cpld方式,保证了在符合协议要求前提下,尽可能快地以笔数最少的回复完成数据;对于目的端cpld,采用拆包与还原的组合即cut-through方式,解决了不同host域配置不一致问题,同时实现了跨域传输时协议的要求。
23、本申请的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可以通过在说明书以及附图中所指出的结构和流程来实现和获取。
1.一种基于pcie的主机域间通信方法,其特征在于,包括:
2.根据权利要求1所述的基于pcie的主机域间通信方法,其特征在于,所述对所述内存读请求报文进行地址翻译和id翻译,进一步包括:
3.根据权利要求1所述的基于pcie的主机域间通信方法,其特征在于,所述对所述内存读请求报文进行拆分,进一步包括:
4.根据权利要求1所述的基于pcie的主机域间通信方法,其特征在于,所述将所述带数据的完成报文写入目的主机域的带数据的完成报文缓存,根据预定义组包规则对所述带数据的完成报文进行重组,进一步包括:
5.根据权利要求1所述的基于pcie的主机域间通信方法,其特征在于,
6.一种基于pcie的主机域间通信装置,其特征在于,包括:
7.根据权利要求6所述的基于pcie的主机域间通信装置,其特征在于,所述mrd源端处理单元,进一步用于:
8.根据权利要求6所述的基于pcie的主机域间通信装置,其特征在于,所述mrd目的端处理单元,进一步用于:
9.根据权利要求6所述的基于pcie的主机域间通信装置,其特征在于,所述cpld源端处理单元,进一步用于:
10.根据权利要求6所述的基于pcie的主机域间通信装置,其特征在于,