一种数据传输方法及网卡技术

技术编号:33841688 阅读:19 留言:0更新日期:2022-06-18 10:24
本申请公开了一种数据传输方法及网卡,涉及存储领域,解决了应用服务器对磁盘阵列的读操作和写操作的时长较长的问题。该方法包括网卡接收来自应用服务器的命令后,确定处理该命令的控制器,并将该命令传输给控制器。若命令是读命令,网卡接收来自控制器的第一指令,从控制器的内存中读取待访问数据,并向应用服务器发送待访问数据。若命令是写命令,网卡接收来自控制器的第二指令,从应用服务器读取待写入数据,并将待写入数据写入控制器的存储空间中。中。中。

【技术实现步骤摘要】
一种数据传输方法及网卡


[0001]本申请涉及存储领域,尤其涉及一种数据传输方法及网卡。

技术介绍

[0002]随着互联网及网络应用的飞速发展,应用服务器需要处理的数据也呈爆炸性增长。磁盘阵列可以为应用服务器提供安全的、可靠的、可伸缩的外部存储空间。例如,数据中心中的存储设备包含多个控制器、磁盘阵列和网卡。每个控制器管理磁盘阵列中的一部分存储空间。通常,存储设备通过其包含的网卡将控制器的内存中的数据传输至应用服务器的网卡。或者,存储设备通过其包含的网卡接收来自应用服务器的数据,存储设备的网卡再将数据传输至控制器。但是,由于数据的传输是由网卡中的处理器执行的,因此,导致应用服务器对磁盘阵列的读操作和写操作的时长较长。

技术实现思路

[0003]本申请提供一种数据传输方法及网卡,由此可以缩短应用服务器对磁盘阵列的读操作和写操作的时长。
[0004]第一方面,本申请提供了一种数据传输方法,应用于存储设备的网卡,网卡包括处理器及数据传输芯片,该方法包括网卡的处理器接收来自应用服务器的读命令后,确定存储设备中处理该读命令的第一控制器,并将该读命令传输给第一控制器。进而,网卡的数据传输芯片将第一控制器根据读命令读取的数据传输至应用服务器。
[0005]如此,由网卡中的数据传输芯片将第一控制器根据读命令读取的数据传输至应用服务器,避免由网卡的处理器将第一控制器根据读命令读取的数据传输至应用服务器,因此有效地提高了应用服务器对磁盘阵列进行读操作的效率,缩短了对磁盘阵列进行读操作的时长。
[0006]其中,数据传输芯片可以是特定集成电路(application specific integrated circuit,ASIC)。例如:微处理器(digital signal processor,DSP),或者,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或者,图形处理器(graphics processing unit,GPU),或者,神经网络处理器(neural

network processing unit,NPU),或者,直接内存访问(direct memory access,DMA)控制器。本实施例对数据传输芯片的类型不予限定。
[0007]在一种可能的实现方式中,处理器确定存储设备中处理读命令的第一控制器包括:处理器根据应用服务器传输的第一控制器的网际互连协议(internet protocol,IP)地址确定第一控制器。或者,处理器根据读命令中的逻辑单元号(logical unit number,LUN)和逻辑块地址(logical block address,LBA)确定第一控制器。例如,网卡接收到的来自应用服务器的第一数据包可以包括第一控制器的IP地址和读命令。从而,以便于网卡将接收到的数据包合理地均衡地分发到不同控制器,避免出现控制器处理数据的拥塞现象。
[0008]在另一种可能的实现方式中,数据传输芯片将第一控制器根据读命令读取的数据
传输至应用服务器包括:数据传输芯片根据第一控制器发送的第一指令从第一控制器的内存中读取数据,并将读取的数据从网卡传输至应用服务器。其中,第一指令用于指示数据传输芯片将第一控制器根据读命令读取的数据从第一控制器的内存读取至网卡中。
[0009]具体的,第一指令包含第一控制器的内存的物理地址,数据传输芯片从第一控制器的内存中物理地址指示的位置读取数据。进而,数据传输芯片将数据进行协议封装,生成第二数据包,向应用服务器发送第二数据包。第二数据包包含数据。
[0010]如此,由网卡中的数据传输芯片从第一控制器的内存中读取第一控制器根据读命令读取的数据,并将读取的数据传输至应用服务器,避免由网卡的处理器将第一控制器根据读命令读取的数据传输至应用服务器,因此有效地提高了应用服务器对磁盘阵列进行读操作的效率,缩短了对磁盘阵列进行读操作的时长。
[0011]在另一种可能的实现方式中,读命令中包括应用服务器的第一内存地址,第一内存地址为写入读取的数据的地址。数据传输芯片将第一控制器根据读命令读取的数据传输至应用服务器时,会将应用服务器的第一内存地址发送至应用服务器的网卡,以指示应用服务器的网卡将读取的数据写入应用服务器的第一内存地址指示的存储空间。
[0012]在另一种可能的实现方式中,数据传输芯片根据第一控制器发送的第一指令从第一控制器的内存中读取数据完成后,方法还包括:数据传输芯片向应用服务器发送操作完成消息。
[0013]在另一种可能的实现方式中,方法还包括:网卡的处理器接收来自应用服务器的写命令后,确定存储设备中处理写命令的第二控制器,并将写命令传输给第二控制器。进而,网卡的数据传输芯片将写命令指示的待写入数据写入第二控制器的内存中。
[0014]如此,由网卡中的数据传输芯片将写命令指示的待写入数据写入第二控制器的内存中,避免由网卡的处理器将写命令指示的待写入数据写入第二控制器的内存中,因此有效地提高了应用服务器对磁盘阵列进行写操作的效率,缩短了对磁盘阵列进行写操作的时长。
[0015]在另一种可能的实现方式中,处理器确定存储设备中处理写命令的第二控制器包括:处理器根据应用服务器传输的第二控制器的IP地址确定第二控制器。或者,处理器根据写命令中的逻辑单元号和逻辑块地址确定第二控制器。例如,网卡接收到的来自应用服务器的第三数据包可以包括第二控制器的IP地址和写命令。从而,以便于网卡将接收到的数据包合理地均衡地分发到不同控制器,避免出现控制器处理数据的拥塞现象。
[0016]在另一种可能的实现方式中,数据传输芯片将写命令指示的待写入数据写入第二控制器的内存中包括:数据传输芯片根据第二控制器发送的第二指令将来自应用服务器的待写入数据写入第二控制器的内存中。其中,第二指令用于指示将写命令指示的待写入数据写入第二控制器的内存中。
[0017]如此,由网卡中的数据传输芯片将来自应用服务器的写命令指示的待写入数据写入第二控制器的内存中,避免由网卡的处理器将写命令指示的待写入数据写入第二控制器的内存中,因此有效地提高了应用服务器对磁盘阵列进行写操作的效率,缩短了对磁盘阵列进行写操作的时长。
[0018]在另一种可能的实现方式中,写命令中包括应用服务器的第二内存地址,第二内存地址为读取待写入数据的地址。数据传输芯片将第二内存地址发送至应用服务器的网
卡,以指示应用服务器的网卡从第二内存地址指示的存储空间读取待写入数据。
[0019]具体的,数据传输芯片将第二内存地址和长度进行协议封装,生成第四数据包,向应用服务器发送第四数据包。从而,使得数据传输芯片接收来自应用服务器的待写入数据。第四数据包包括第二内存地址和长度,来自应用服务器的第三数据包还包括第二内存地址和长度,第二内存地址指示了应用服务器存储待写入数据的位置,长度指示了待写入数据的长度。第二指令包含第二控制器的内存的物理地址。进而,数据传输芯片向从第二控制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,应用于存储设备的网卡,其特征在于,所述网卡包括处理器及数据传输芯片,所述方法包括:所述处理器接收来自应用服务器的读命令;所述处理器确定所述存储设备中处理所述读命令的第一控制器,并将所述读命令传输给所述第一控制器;所述数据传输芯片将所述第一控制器根据所述读命令读取的数据传输至所述应用服务器。2.根据权利要求1所述的方法,其特征在于,所述数据传输芯片将所述第一控制器根据所述读命令读取的数据传输至所述应用服务器包括:接收所述第一控制器发送的第一指令,所述第一指令用于指示所述数据传输芯片将所述第一控制器根据所述读命令读取的数据从所述第一控制器的内存读取至所述网卡中;将所述读取的数据从所述网卡传输至所述应用服务器。3.根据权利要求1或2所述的方法,其特征在于,所述处理器确定所述存储设备中处理所述读命令的第一控制器包括:所述处理器根据所述应用服务器传输的所述第一控制器的网际协议IP地址确定所述第一控制器;或者,所述处理器根据所述读命令中的逻辑单元号LUN和逻辑块地址LBA确定所述第一控制器。4.根据权利要求1

3任意一项所述的方法,其特征在于,所述方法还包括:所述处理器接收来自所述应用服务器的写命令;所述处理器确定所述存储设备中处理所述写命令的第二控制器,并将所述写命令传输给所述第二控制器;所述数据传输芯片将所述写命令指示的待写入数据写入所述第二控制器的内存中。5.根据权利要求4所述的方法,其特征在于,所述数据传输芯片将所述写命令指示的待写入数据写入所述第二控制器的内存中包括:接收所述第二控制器发送的第二指令,所述第二指令用于指示将所述写命令指示的待写入数据写入所述第二控制器的内存中;将来自所述...

【专利技术属性】
技术研发人员:蒋凡璐陈华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1