一种远程直接存储器存取的方法及装置的制造方法_4

文档序号:9711590阅读:来源:国知局
录的名称和属性信息。
[0088]在一些实施方式中,存储器存储了程序6031,程序可以被处理器执行,这个程序包括:
[0089]接收到第二电子设备发送的第一RDMA写请求报文后,从该第一 RDMA写请求报文的RDMA协议头中获取第一地址;
[0090]将所述第一地址与预存的标志地址进行比较,如果第一地址与所述标志地址相同,则从所述第一RDMA写请求报文的协议扩展头中获取第二地址,对第一RDMA写请求报文的净荷进行处理得到处理后得到的结果数据;
[0091]用所述第二地址和所述结果数据构造第二RDMA写请求报文,并利用所述第二地址将所述第二 RDMA写请求报文写到所述第二电子设备中所述第二地址对应的存储区域中。
[0092]如图7所示,为另一种远程直接存储器存取装置70的另一个硬件实现架构图,其基于FPGA芯片71及一些附属电路72(如电源电路等)实现,通过对FPGA进行硬件编程,使之能够执行上述实施例中的相应方法。
[0093]在一种典型的应用场景中,第一电子设备中的远程直接存储器存取装置可采用图7所示的硬件架构,第二电子设备中对应的远程直接存储器存取装置可采用如图6所示的硬件架构。
[0094]本申请实施例中的上述一个或多个技术方案,至少具有如下的技术效果:
[0095]本发明实施例中,第一电子设备可以是全硬件构造,接收RDMA写请求报文后可以直接进行处理,不需要按照标准的RDMA协议进行缓存,所以第一电子设备端并不需要传递存储RDMA写请求报文的地址给第二电子设备。进而第二电子设备在将RDMA写请求报文发送给第一电子设备的时候,可以构造第一电子设备端存储RDMA写请求报文的一个虚假地址。同时由于报文都是由第二电子设备发送到第一电子设备再到第二电子设备的交互,所以第二电子设备可以在将报文净荷传递给第一电子设备的同时,将自身空闲地址一起传给第一电子设备,作为第一电子设备返回报文给第二电子设备时的存储地址,通过上述方法节省了两次地址传递的交互流程。省去了不必要的地址传输,降低了主机和设备之间报文交互的延时和节省了传输带宽。
[0096]本发明所述的方法并不限于【具体实施方式】中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。
[0097]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种远程直接存储器存取的方法,其特征在于,该方法应用于第一电子设备中,所述第一电子设备与第二电子设备之间建立有远程直接存储器存取RDMA连接,该方法包括: 所述第一电子设备通过所述RDMA连接接收到所述第二电子设备发送的第一 RDMA写请求报文后,从该第一 RDMA写请求报文的RDMA协议头中获取第一地址; 将所述第一地址与预存的标志地址进行比较,如果第一地址与所述标志地址相同,则从所述第一 RDMA写请求报文的协议扩展头中获取第二地址,对第一 RDMA写请求报文的净荷进行处理得到处理后得到的结果数据; 用所述第二地址和所述结果数据构造第二 RDMA写请求报文,并利用所述第二地址将所述第二 RDMA写请求报文写到所述第二电子设备中所述第二地址对应的存储区域中。2.如权利要求1所述的方法,其特征在于,第一电子设备接收到第二电子设备发送的第一RDMA写请求报文之前,当第一电子设备和第二电子设备协商建立RDMA连接时,所述该方法还包括: 第一电子设备接收到第二电子设备发起的RDMA建链请求报文,在响应报文中携带第一电子设备的属性标志;其中,该属性标志用于标示所述第一电子设备对于接收到的RDMA写请求报文直接处理不进行缓存; 接收第二电子设备反馈的所述标志地址;其中,所述标志地址是所述第二电子设备根据所述响应报文中的属性标志构造的地址; 将所述标志地址记录在建立地RDMA连接对应的上下文信息中。3.如权利要求2所述的方法,其特征在于,所述将所述第一地址与预存的标志地址进行比较之前,该方法还包括: 从所述第一 RDMA写请求报文中获取所述RDMA连接对应的连接号; 利用所属连接号查询所述RDMA连接对应的上下文信息,从所述上下文信息中获取所述标志地址。4.一种远程直接存储器存取的装置,其特征在于,该装置应用于第一电子设备中,第一电子设备与第二电子设备之间建立有远程直接存储器存取RDMA连接,该装置包括: 获取模块,用于通过所述RDMA连接接收到第二电子设备发送的第一RDMA写请求报文后,从该第一 RDMA写请求报文的RDMA协议头中获取第一地址; 数据处理模块,用于将所述第一地址与预存的标志地址进行比较,如果第一地址与所述标志地址相同,则从所述第一RDMA写请求报文的协议扩展头中获取第二地址,对第一RDMA写请求报文的净荷进行处理得到处理后得到的结果数据; 反馈模块,用于利用所述第二地址和所述结果数据构造第二RDMA写请求报文,并利用所述第二地址将所述第二 RDMA写请求报文写到所述第二电子设备中所述第二地址对应的存储区域中。5.如权利要求4所述的装置,其特征在于,所述装置还包括: 标志地址获取模块,用于当第一电子设备和第二电子设备协商建立RDMA连接时,接收到第二电子设备发起的RDMA建链请求报文,在响应报文中携带第一电子设备的属性标志;其中,该属性标志用于标示所述第一电子设备对于接收到的RDMA写请求报文直接处理不进行缓存;接收第二电子设备反馈的所述标志地址;其中,所述标志地址是所述第二电子设备根据所述响应报文中的属性标志构造的地址;将所述标志地址记录在建立地RDMA连接对应的上下文信息中。6.如权利要求5所述的装置,其特征在于,该装置还包括: 标识地址获取模块,用于从所述第一RDMA写请求报文中获取所述RDMA连接对应的连接号;利用所属连接号查询所述RDMA连接对应的上下文信息,从所述上下文信息中获取所述标志地址。
【专利摘要】本发明公开一种远程直接存储器存取的方法及装置,该方法应用于第一电子设备中,第一电子设备与第二电子设备之间建立有远程直接存储器存取RDMA连接,该方法包括:第一电子设备通过RDMA连接接收到第二电子设备发送的第一RDMA写请求报文后,从该第一RDMA写请求报文的RDMA协议头中获取第一地址;将第一地址与预存的标志地址进行比较,如果第一地址与标志地址相同,则从第一RDMA写请求报文的协议扩展头中获取第二地址,利用第二地址将处理后的第一RDMA写请求报文写到第二电子设备中第二地址对应的存储区域中。解决现有技术中使用标准的RDMA造成了部分无效的交互,浪费了传输带宽资源和数据交互的延时问题。
【IPC分类】H04L29/08, G06F15/173
【公开号】CN105472023
【申请号】CN201510998375
【发明人】石仔良, 高栋栋
【申请人】华为技术有限公司
【公开日】2016年4月6日
【申请日】2015年12月26日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1