【技术实现步骤摘要】
一种数据传输方法、处理器系统及内存访问系统
[0001]本申请要求于2020年06月28日提交国家知识产权局、申请号为202010599682.8、申请 名称为“一种内存访问的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合 在本申请中。
[0002]本申请实施例涉及计算机存储领域,尤其涉及一种数据传输方法、处理器系统及内存访 问系统。
技术介绍
[0003]远程直接内存访问(remote direct memory access,RDMA)是一种网卡技术,通过RDMA 网卡能够实现设备之间的快速内存访问。
[0004]示例性的,以计算机1与计算机2基于RDMA技术进行内存访问为例,计算机1和计算 机2的结构可参考图1。当计算机1向计算机2的内存写入数据时,计算机1的处理器核心 11将写任务存储至计算机1的内存12,然后计算机1的处理器核心11基于指定的通信协议 组装本地内存对应的数据,并通知计算机1的RDMA网卡13将该数据写至计算机2的内存 22。当计算机1读取计算机2的内存中的数据时,计算机1的处理器核心12将读任务存储至 内存12,然后处理器核心11通知RDMA网卡13从计算机2的内存22读取数据,进而计算 机2的RDMA网卡23从内存22中读取数据(该数据是由计算机2的处理器核心基于指定的 通信协议组装的),并返回至RDMA网卡13,该RDMA网卡13将该数据写入计算机1的内 存12中,后续地,处理器核心11可以从内存12中读取该数据。
[0005]然而上述内存访问的过程中 ...
【技术保护点】
【技术特征摘要】
1.一种处理器系统,其特征在于,应用于源端设备,所述处理器系统包括:处理器核心和第一远程直接内存访问RDMA网卡;所述处理器核心,用于下发写内存指令,所述写内存指令包含待写入数据和所述待写入数据的目的地址,所述目的地址为目的端设备的内存地址;所述第一RDMA网卡,用于根据所述待写入数据的目的地址和所述目的端设备的配置信息封装所述待写入数据;向所述目的端设备的第二RDMA网卡发送封装后的待写入数据。2.根据权利要求1所述的处理器系统,其特征在于,所述第一RDMA网卡,还用于获取所述目的端设备的配置信息,所述目的端设备的配置信息至少包括:所述目的端设备的地址和/或所述第二RDMA网卡的地址。3.根据权利要求1或2所述的处理器系统,其特征在于,所述处理器系统还包括互连总线,所述互连总线连接所述处理器核心和至少一个RDMA网卡,所述至少一个RDMA网卡包括所述第一RDMA网卡;所述互连总线,用于接收所述处理器核心下发的写内存指令,并且基于第一映射关系从所述至少一个RDMA网卡中确定所述待写入数据的目的地址对应的第一RDMA网卡,以及向所述第一RDMA网卡发送所述待写入数据;其中,所述第一映射关系是地址窗口与RDMA网卡地址之间的映射关系。4.根据权利要求3所述的处理器系统,其特征在于,所述互连总线,具体用于确定所述待写入数据的目的地址所属的第一地址窗口,并且基于所述第一映射关系从所述至少一个RDMA网卡中确定与所述第一地址窗口对应的第一RDMA网卡。5.根据权利要求1至4任一项所述的处理器系统,其特征在于,所述处理器系统还包括内存;所述源端设备的内存与所述目的端设备的内存统一编址;或者,所述源端设备的内存与所述目的端设备的内存非统一编址。6.根据权利要求5所述的处理器系统,其特征在于,在所述源端设备的内存与所述目的端设备的内存非统一编址的情况下;所述第一RDMA网卡,还用于基于第二映射关系,对所述待写入数据的目的地址进行转换;所述第二映射关系是第一内存地址与第二内存地址的之间映射关系,所述待写入数据的目的地址是第一内存地址,所述第一内存地址是所述目的端设备的内存映射到所述源端设备的地址空间之后的映射地址,转换后的目的地址为第二内存地址,所述第二内存地址是所述目的端设备的内存的本地地址;所述第一RDMA网卡,具体用于根据所述转换后的目的地址和所述目的端设备的配置信息,封装所述待写入数据。7.根据权利要求1至6任一项所述的处理器系统,其特征在于,所述处理器系统还包括直通口;所述直通口,用于从所述处理器核心接收写内存指令,为所述写内存指令添加时间戳,并且启动所述直通口中的定时器,以及向所述互连总线发送所述写内存指令。8.根据权利要求7所述的处理器系统,其特征在于,所述直通口,具体用于在所述定时器到期之前接收到所述第二RDMA网卡的响应消息,
停止所述定时器;或者,在所述定时器到期时未接收到所述第二RDMA网卡的响应消息,向所述处理器核心上报超时响应信息。9.根据权利要求1至6任一项所述的处理器系统,其特征在于,所述写内存指令包括第一指令和第二指令;所述处理器核心,具体用于下发所述第一指令,所述第一指令包括所述待写入数据和第一地址;并且下发所述第二指令,所述第二指令包括所述待写入数据的目的地址和第二地址,所述第一地址和所述第二地址分别为所述第一RDMA网卡中的寄存器中的地址;所述第一RDMA网卡,具体用于根据所述第一指令中的第一地址,将所述待写入数据写入所述第一RDMA网卡中的寄存器,并且根据所述第二指令中的第二地址,将所述待写入数据的目的地址写入所述第一RDMA网卡中的寄存器,以及根据所述寄存器中的所述待写入数据的目的地址封装所述待写入数据,向所述目的端设备的第二RDMA网卡发送封装后的待写入数据,以使得所述第二RDMA网卡将所述待写入数据写入所述目的端设备的内存。10.根据权利要求1至9任一项所述的处理器系统,其特征在于,所述第一RDMA网卡,还用于在接收到所述第二RDMA网卡的响应消息之后,维护所述第一RDMA网卡上的数据封装协议的数据结构。11.一种内存访问系统,其特征在于,包括源端设备和目的端设备,所述源端设备的处理器系统包括:处理器核心和第一远程直接内存访问RDMA网卡;所述目的端设备的处理器系统包括第二RDMA网卡和内存;所述源端设备的处理器核心,用于下发读内存指令,所述读内存指令包含待读取的数据的地址和寄存器地址,所述待读取的数据的地址为目的端设备的内存地址,所述寄存器地址为所述处理器核心的寄存器中的地址;所述第一RDMA网卡,用于根据所述待读取的数据的地址和所述目的端设备的配置信息,封装所述寄存器地址,向所述目的端设备的第二RDMA网卡发送包含封装后的寄存器地址的读请求;所述第二RDMA网卡,用于从所述第一RDMA网卡接收所述读请求,对所述封装后的寄存器地址进行解封装,并根据所述待读取的数据的地址从所述目的端设备的内存中读取待读取的数据,并且根据所述寄存器地址和所述源端设备的配置信息封装所述待读取的数据,以及向所述第一RDMA网卡发送封装后的待读取的数据;所述第一RDMA网卡,还用于从所述第二RDMA网卡接收所述封装后的待读取的数据,并且对所述封装后的待读取的数据进行解封装,以及向所述处理器核心的寄存器发送解封装后的待读取的数据。12.根据权利要求11所述的内存访问系统,其特征在于,所述第一RDMA网卡,还用于获取所述目的端设备的配置信息,所述目的端设备的配置信息至少包括:所述目的端设备的地址和/或所述第二RDMA网卡的地址;所述第二RDMA网卡,还用于获取所述源端设备的配置信息,所述源端设备的配置信息至少包括:所述源端设备的地址和/或所述第一RDMA网卡的地址。13.根据权利要求11或12所述的内存访问系统,其特征在于,所述源端设备的处理器系统还包括直通口和互连总线,所述处理器核心通过所述直通口连接所述互连总线,所述互连总线还连接至少一个RDMA网卡,所述至少一个RDMA网卡包括所述第一RDMA网卡;
所述直通口,用于从所述处理器核心接收所述读内存指令,为所述读内存指令添加时间戳,并且启动所述直通口中的定时器,以及向所述互连总线发送所述读内存指令;所述互连总线,用于从所述直通口接收所述读内存指令,并且基于第一映射关系从所述至少一个RDMA网卡中确定所述待读取的数据的地址对应的第一RDMA网卡,以及向所述第一RDMA网卡发送所述读内存指令;其中,所述第一映射关系是地址窗口与RDMA网卡地址之间的映射关系。14.根据权利要求13所述的内存访问系统,其特征在于,所述互连总线,具体用于确定所述待读取的数据的地址所属的第一地址窗口,并且基于所述第一映射关系从所述至少一个RDMA网卡中确定与所述第一地址窗口对应的第一RDMA网卡。15.根据权利要求13或14所述的内存访问系统,其特征在于,所述直通口,具体用于在所述定时器到期之前接收到所述待读取的数据,停止所述定时器;或者,在所述定时器到期时未接收到所述待读取的数据,向所述处理器核心上报超时响应信息。16.根据权利要求11至15任一项所述的内存访问系统,其特征在于,在所述源端设备的内存与所述目的端设备的内存非统一编址的情况下;所述第一RDMA网卡,还用于基于第二映射关系,对所述待读取的数据的地址进行转换;所述第二映射关系是第一内存地址与第二内存地址之间的映射关系,所述待读取的数据的地址是第一内存地址,所述第一内存地址是所述目的端设备的内存映射到所述源端设备的地址空间之后的映射地址,转换后的地址为第二内存地址,所述第二内存地址是所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。