【技术实现步骤摘要】
数据处理方法及设备
[0001]本申请要求于2020年5月19日提交中国专利局、申请号为202010427381.7、申请名称为“一种基于RDMA的NVMe存储业务虚拟化处理方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
[0002]本专利技术涉及数据处理
,尤其涉及一种数据处理方法及设备。
技术介绍
[0003]基于非易失性内存处理器控制器接口规范(non volatile memory host controller interface specification,NVMHCIS或者简称为NVMe)的架构(NVMe over Fabric)是近来出现的热门的存储技术,它能够实现远端存储器的资源共享。NVMe over fabric主要包括的是基于远程直接数据存取(remote direct memory access,RDMA)的NVMe(NVMe over RDMA),通过RDMA技术实现访问远端设备的存储器。常用的NVMe over RDMA的RDMA技术是承载融合以太网上的RDMA(RDMA over Converged Ethernet,RoCE)技术、互联网广域RDMA协议(Internet Wide Area RDMA Protocol,iWARP)技术和无限带宽(InfiniBand,IB)技术等。
[0004]现有的技术方案中,通过NVMe over RDMA实现发起端设备对远端设备的存储器读写数据的过程中,需要通过网卡的内存中转读写的数据。例如,对于 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:第一设备的网卡向第二设备发送第一请求报文;所述第一请求报文用于请求读取第一数据,所述第一数据存储在所述第二设备的第一目的存储区域;所述网卡接收所述第二设备响应所述第一请求报文发送的第一响应报文;所述第一响应报文包括所述第一数据;所述网卡根据所述第一响应报文对第一存储地址发起直接存储器访问DMA,将所述第一数据写入所述第一存储地址指向的内存区域,所述第一存储地址指向的内存区域属于所述第一设备的主机的内存区域;所述第一数据无需缓存到所述网卡的内存。2.根据权利要求1所述的方法,其特征在于,所述第一响应报文包括第一虚拟机内存编号,所述第一虚拟机内存编号指向所述主机配置给第一虚拟机的第一内存区域,所述第一内存区域包括所述第一存储地址指向的内存区域,所述网卡根据所述第一响应报文对第一存储地址发起直接存储器访问DMA将所述第一数据写入所述第一存储地址指向的内存区域,包括:所述网卡根据所述第一虚拟机内存编号向所述第一内存区域内的所述第一存储地址发起所述DMA将所述第一数据写入所述第一存储地址指向的内存区域。3.根据权利要求2所述的方法,其特征在于,在所述网卡将所述第一数据写入所述第一存储地址指向的内存区域之前,还包括:所述网卡以所述第一虚拟机内存编号为索引查询到所述第一存储地址指向的内存区域在地址权限表包括的地址范围中,所述地址权限表包括所述网卡有权限发起所述DMA访问的地址范围。4.根据权利要求2或3所述的方法,其特征在于,所述第一请求报文包括所述第一虚拟机内存编号,所述第一虚拟机内存编号设置在所述第一请求报文的本地权限L_key字段中,所述L_key为所述网卡用于DMA访问所述主机内存的权限标识;所述第一虚拟机内存编号设置在所述第一响应报文的远端权限R_key字段中,所述R_key为所述第二设备的网卡用于远程访问所述主机内存的权限标识。5.根据权利要求2或3所述的方法,其特征在于,所述第一请求报文包括所述第一虚拟机内存编号,所述第一请求报文和所述第一响应报文包括虚拟机内存编号字段,所述第一虚拟机内存编号设置在所述虚拟机内存编号字段中;所述虚拟机内存编号字段为占用了所述第一请求报文和所述第一响应报文的长度length字段中的部分字节得到,所述length字段中除了所述虚拟机内存编号字段占用的字节之外的字节用于存储所述第一存储地址指向的内存区域包括的各个内存块的长度值;或者,所述虚拟机内存编号字段为占用了所述第一请求报文和所述第一响应报文的地址address字段中的部分字节得到,所述address字段中除了所述虚拟机内存编号字段占用的字节之外的字节用于存储所述第一存储地址指向的内存区域包括的各个内存块的起始地址的值。6.根据权利要求2或3所述的方法,其特征在于,所述第一请求报文包括所述第一虚拟机内存编号,所述第一请求报文和所述第一响应报文包括虚拟机内存编号字段,所述第一虚拟机内存编号设置在所述虚拟机内存编号字段中;所述第一请求报文中的所述虚拟机内存编号字段为占用了所述第一请求报文本地权
限L_key字段中的部分字节得到,所述L_key字段中除了所述虚拟机内存编号字段占用的字节之外的字节用于存储所述网卡DMA访问所述第一存储地址指向的内存区域的权限标识,所述第一响应报文中的所述虚拟机内存编号字段为占用了所述第一响应报文远端权限R_key字段中的部分字节得到,所述R_key字段中除了所述虚拟机内存编号字段占用的字节之外的字节用于存储所述第二设备的网卡远程访问所述第一存储地址指向的内存区域的权限标识。7.一种数据处理方法,其特征在于,包括:第一设备的网卡向第二设备发送第二请求报文;所述第二请求报文用于请求在第二设备的第二目的存储区域写入第二数据,所述第二数据存储在第二存储地址指向的内存区域,所述第二存储地址指向的内存区域属于所述第一设备的主机的内存区域;所述网卡接收所述第二设备响应所述第二请求报文发送的第二响应报文;所述第二响应报文包括所述第二存储地址;所述网卡根据所述第二响应报文对所述第二存储地址发起直接存储器访问DMA读取所述第二数据;所述网卡向所述第二设备发送读取的所述第二数据,所述第二数据无需缓存到所述网卡的内存。8.根据权利要求7所述的方法,其特征在于,所述第二响应报文包括第二虚拟机内存编号,所述第二虚拟机内存编号指向所述主机配置给第二虚拟机的第二内存区域,所述第二内存区域包括所述第二存储地址指向的内存区域,所述网卡根据所述第二响应报文对所述第二存储地址发起直接存储器访问DMA读取所述第二数据,包括:所述网卡根据所述第二虚拟机内存编号向所述第二内存区域内的所述第二存储地址发起所述DMA读取所述第二数据。9.根据权利要求8所述的方法,其特征在于,在所述网卡根据所述第二虚拟机内存编号向所述第二内存区域内的所述第二存储地址发起所述DMA读取所述第二数据之前,还包括:所述网卡以所述第二虚拟机内存编号为索引查询到所述第二存储地址指向的内存区域在地址权限表包括的地址范围中,所述地址权限表包括所述网卡有权限发起所述DMA访问的地址范围。10.根据权利要求8或9所述的方法,其特征在于,所述第二请求报文包括所述第二虚拟机内存编号,所述第二虚拟机内存编号设置在所述第二请求报文的本地权限L_key字段中,所述L_key为所述网卡用于访问所述主机内存的权限标识;所述第二虚拟机内存编号设置在所述第二响应报文的远端权限R_key字段中,所述R_key为所述第二设备的网卡用于远程访问所述第二虚拟机内存编号的权限标识。11.根据权利要求8或9所述的方法,其特征在于,所述第二请求报文包括所述第二虚拟机内存编号,所述第二请求报文和所述第二响应报文包括虚拟机内存编号字段,所述第二虚拟机内存编号设置在所述虚拟机内存编号字段中;所述虚拟机内存编号字段为占用了所述第二请求报文和所述第二响应报文的长度length字段中的部分字节得到,所述length字段中除了所述虚拟机内存编号字段占用的字节之外的字节用于存储所述第二存储地址指向的内存区域包括的各个内存块的长度值;
或者,所述虚拟机内存编号字段为占用了所述第二请求报文和所述第二响应报文的地址address字段中的部分字节得到,所述address字段中除了所述虚拟机内存编号字段占用的字节之外的字节用于存储所述第二存储地址指向的内存区域包括的各个内存块的起始地址的值。12.根据权利要求8或9所述的方法,其特征在于,所述第二请求报文包括所述第二虚拟机内存编号,所述第二请求报文和所述第二响应报文包括虚拟机内存编号字段,所述第二虚拟机内存编号设置在所述虚拟机内存编号字段中;所述第二请求报文中的所述虚拟机内存编号字段为占用了所述第二请求报文本地权限L_key字段中的部分字节得到,所述L_key字段中除了所述虚拟机内存编号字段占用的字节之外的字节用于存储所述网卡DMA访问所述第二存储地址指向的内存区域的权限标识,所述第二响应报文中的所述虚拟机内存编号字段为占用了所述第二响应报文远端权限R_key字段中的部分字节得到,所述R_key字段中除了所述虚拟机内存编号字段占用的字节之外的字节用于存储所述第二设备的网卡远程访问所述第二存储地址指向的内存区域的权限标识。13.一种数据处理方法,其特征在于,包括:第一设备的网卡接收来自所述第一设备主机的第三请求,所述第三请求用于请求在第二设备的第三目的存储区域写入第三数据,所述第三请求包括所述第三数据在所述第一设备的主机的内存中的第三存储地址;所述网卡根据所述第三请求对所述第三存储地址发起直接存储器访问DMA读取所述第三数据;所述网卡向所述第二设备发送读取的所述第三数据,所述第三数据无需经过所述网卡的内存。14.根据权利要求13所述的方法,其特征在于,所述第三请求中包括标识,所述标识用于指示所述网卡读取所述第三数据,所述网卡根据所述第三请求对所述第三存储地址发起直接存储器访问DMA读取所述第三数据,包括:所述网卡根据所述标识对所述第三存储地址发起所述DMA读取所述第三数据。15.根据权利要求13或14所述的方法,其特征在于,所述第三请求还包括第三虚拟机内存编号,所述第三虚拟机内存编号指向所述主机配置给第一虚拟机的第三内存区域,所述第三内存区域包括所述第三存储地址指向的内存区域,所述网卡对所述第三存储地址发起直接存储器访问DMA读取所述第三数据,包括:所述网卡根据所述第三虚拟机内存编号向所述第三内存区域内的所述第三存储地址发起直接存储器访问DMA读取所述第三数据。16.一种数据处理网卡,其特征在于,所述网卡为第一设备中的网卡,所述网卡包括:发送单元,用于向第二设备发送第一请求报文;所述第一请求报文用于请求读取第一数据,所述第一数据存储在所述第二设备的第一目的存储区域;接收单元,用于接收所述第二设备响应所述第一请求报文发送的第一响应报文;所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。