This application provides memory access methods and devices. In this application, by generating WR chains satisfying the requirements for RDMA operations, the WR used to indicate the completion of RDMA operations and the WR used to implement RDMA operations can be set in the same WR chain and the WR used to indicate the completion of RDMA operations can be set at the end of the WR chain, which means that the WR used to indicate the completion of RDMA operations is implied in RDMA operations to ensure that the end-to-end business devices are executed in the process of RDMA operations. It can sense the completion of RDMA operation in time and improve the processing efficiency of RDMA operation.
【技术实现步骤摘要】
内存访问方法和装置
本申请涉及数据通信技术,特别涉及内存访问方法和装置。
技术介绍
在远程内存直接访问(RDMA:RemoteDirectMemoryAccess)应用中,通过内存直接访问(DMA:DirectMemoryAccess)方式远程访问目标内存,减少了内存拷贝和内核上下文切换带来的开销,实现数据的高性能传输。在RDMA应用中,常见的操作有RDMASEND(发送)操作、RDMA操作。其中,RDMASEND操作用于发送小块(例如大小小于4k)的数据;而RDMA操作,主要是针对连续、大块的数据。这里,RDMA操作可为RDMAREAD(读)操作或RDMAWRITE(写)操作。在RDMA使用中,及时获知RDMA操作完成,以尽可能快地处理RDMA操作相关信息,是提高RDMA操作处理效率的关键。
技术实现思路
本申请提供了内存访问方法和装置,以提高RDMA操作的处理效率。本申请提供的技术方案包括:一种内存访问方法,该方法应用于业务设备,包括:为RDMA操作生成满足条件的工作请求WR链,所述条件为:WR链中最后一个WR用于指示RDMA操作完成;在向对端业务设备发起所述RDMA操作时,按照顺序向所述对端业务设备发送所述WR链中的WR。一种内存访问装置,该装置应用于业务设备,包括:处理模块,用于为远程内存直接访问RDMA操作生成满足条件的工作请求WR链,所述条件为:WR链中最后一个WR用于指示RDMA操作完成;业务模块,用于在向对端业务设备发起所述RDMA操作时,按照顺序向所述对端业务设备发送所述WR链中的WR。由以上技术方案可以看出,本申请中,通过为RDMA操作生成 ...
【技术保护点】
1.一种内存访问方法,其特征在于,该方法应用于业务设备,包括:为远程内存直接访问RDMA操作生成满足条件的工作请求WR链,所述条件为:WR链中最后一个WR用于指示RDMA操作完成;在向对端业务设备发起所述RDMA操作时,按照顺序向所述对端业务设备发送所述WR链中的WR。
【技术特征摘要】
1.一种内存访问方法,其特征在于,该方法应用于业务设备,包括:为远程内存直接访问RDMA操作生成满足条件的工作请求WR链,所述条件为:WR链中最后一个WR用于指示RDMA操作完成;在向对端业务设备发起所述RDMA操作时,按照顺序向所述对端业务设备发送所述WR链中的WR。2.根据权利要求1所述的方法,其特征在于,所述为远程内存直接访问RDMA操作生成满足条件的工作请求WR链包括:依据从所述对端业务设备获取的所述RDMA操作所需的第一内存地址生成用于实现所述RDMA操作的WR;生成用于指示所述RDMA操作完成的第一指定WR;将用于实现所述RDMA操作的WR、所述第一指定WR组成所述WR链,其中,所述第一指定WR为所述WR链最后一个WR。3.根据权利要求2所述的方法,其特征在于,所述第一指定WR为:操作类型为RDMA发送SEND类型的WR。4.根据权利要求2所述的方法,其特征在于,所述第一指定WR为:操作类型为RDMAWRITE类型的WR;所述第一指定WR包括第二内存地址;所述第二内存地址为:从所述对端业务设备获取的除所述第一内存地址之外的空闲地址;所述第一指定WR用于指示所述对端业务设备在所述第二内存地址写入指定标识,所述指定标识为本设备与所述对端业务设备协商的用于指示所述RDMA操作完成的标识。5.根据权利要求1所述的方法,其特征在于,所述RDMA操作为RDMAWRITE操作;所述为远程内存直接访问RDMA操作生成满足条件的工作请求WR链包括:从所述对端业务设备获取所述RDMAWRITE操作所需的第三内存地址、以及空闲的且与第三内存地址连续的第四内存地址;依据所述第三内存地址生成用于实现所述RDMAWRITE操作的WR;不同WR携带不同的对端内存地址,所有WR携带的对端内存地址组成所述第三内存地址;从生成的用于实现所述RDMAWRITE操作的WR中找到第二指定WR,第二指定WR携带的对端内存地址最接近第四内存地址;对所述第二指定WR进行指定修改,以指示所述对端业务设备在所述第四内存地址写入指定标识,所述指定标识为本设备与所述对端业务设备协商的用于指示所述RDMAWRITE操作完成的标识;所述指定修改包括:将第二指定WR携带的对端内存地址长度增加所述第四内存地址占用的地址长度;在第二指定WR中携带第五内存地址,所述第五内存地址为本设备用于记录指定标识的内存地址;将生成的用于实现所述RDMAWRITE操作的WR组成所述WR链,其中,所述第二指定...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。