CN116226027B - 数据传输***、方法、装置、通信设备及存储介质 - Google Patents
数据传输***、方法、装置、通信设备及存储介质 Download PDFInfo
- Publication number
- CN116226027B CN116226027B CN202310488688.1A CN202310488688A CN116226027B CN 116226027 B CN116226027 B CN 116226027B CN 202310488688 A CN202310488688 A CN 202310488688A CN 116226027 B CN116226027 B CN 116226027B
- Authority
- CN
- China
- Prior art keywords
- channel adapter
- adapter module
- module
- target channel
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000006854 communication Effects 0.000 title claims abstract description 42
- 238000004891 communication Methods 0.000 title claims abstract description 41
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本申请实施例提供了一种数据传输***、方法、装置、通信设备及存储介质,应用于通信技术领域,包括:主机通道适配器模块,第一目标通道适配器模块以及第二目标通道适配器模块;主机通道适配器模块通信连接有第一目标通道适配器模块和第二目标通道适配器模块;第一目标通道适配器模块和第二目标通道适配器模块通信连接;主机通道适配器模块用于向第一目标通道适配器模块发送远程直接数据存取操作数据包,根据远程直接数据存取操作数据包远程控制第一目标通道适配器模块向第二目标通道适配器模块进行数据传输。本申请实施例通过主机通道适配器模块远程控制目标通道适配器模块之间的数据传输,实现不增加设备同时使目标通道适配器之间直接传输数据。
Description
技术领域
本申请涉及通信技术领域,特别是一种数据传输***、方法、装置、通信设备及存储介质。
背景技术
随着云计算、人工智能、大数据等技术的迅猛发展,需要处理的数据量成几何级数增长,对数据传输的网络延迟和带宽的要求也越来越高,因此远程直接数据存取(RemoteDirect Memory Access,RDMA)逐渐成为数据中心主流数据传输协议。
基于远程直接数据存取协议的数据传输,在传输之前需要在节点间建立队列对(Queue Pair,QP)连接,每个节点可以有多个队列对模块资源,建立连接时需要通知对方本节点使用的QP模块号。远程直接数据存取将计算节点分为主机通道适配器(Host ChannelAdapter,主机通道适配器模块)和目标通道适配器(Target Channel Adapter,TCA)两种类型,其中主机通道适配器模块是带有操作***的服务器等,可以发起远程直接数据存取操作(发送数据到远端或读取远端数据);而TCA是没有主机的网络硬盘、加速卡等,只能响应远程直接数据存取操作。
现有技术中,两个目标通道适配器模块之间进行数据传输,是通过主机通道适配器模块将数据从其中一个目标通道适配器模块读取出来,再发送到另一个目标通道适配器模块,从而会导致在数据传输过程中延迟较大,网络利用率较低。
发明内容
本申请实施例的目的在于提供一种数据传输***、方法、装置、通信设备及存储介质,以解决现有技术中通过主机通道适配器模块进行数据传输过程中延迟较大,网络利用率较低的技术问题。具体技术方案如下:
在本申请实施的第一方面,首先提供了一种数据传输***,所述数据传输***包括:主机通道适配器模块,第一目标通道适配器模块以及第二目标通道适配器模块;
所述主机通道适配器模块通信连接有所述第一目标通道适配器模块和所述第二目标通道适配器模块;
所述第一目标通道适配器模块和所述第二目标通道适配器模块通信连接;
所述主机通道适配器模块用于向所述第一目标通道适配器模块发送发送远程直接数据存取操作数据包,根据所述远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输。
可选地,所述所述第一目标通道适配器模块和所述第二目标通道适配器模块通信连接包括:主机通道适配器模块向所述第一目标通道适配器模块和所述第二目标通道适配器模块分别发送第一远程直接数据存取数据包和第二远程直接数据存取数据包,以使所述第一目标通道适配器模块和所述第二目标通道适配器模块根据所述第一远程直接数据存取数据包和第二远程直接数据存取数据包建立连接。
可选地,所述第一目标通道适配器模块包括远程工作队列事件引擎模块、远程完成队列事件引擎模块、第一队列对模块以及第二队列对模块;
所述远程工作队列事件引擎模块用于将所述第一队列对模块中的内部寄存器记录的工作队列事件数据组成工作队列事件发送到第二队列对模块,并触发远程直接数据存取操作;
所述远程完成队列事件引擎模块用于将所述第二队列对模块返回的完成队列事件信息以及所述第一队列对模块中的内部寄存器记录的主机通道适配器模块对应的物理地址,组成工作队列事件发送到第一队列对模块,以使所述第一队列对模块将所述完成队列事件信息返回至所述主机通道适配器模块。
可选地,所述第一目标通道适配器模块还包括第一解析模块;
所述第一解析模块用于接收所述主机通道适配器模块发送的远程直接数据存取数据包,并对所述远程直接数据存取数据包进行解析,并将解析后的所述远程直接数据存取数据包转换成数据总线写操作。
可选地,所述第二目标通道适配器模块包括第三队列对模块以及第四队列对模块;
所述第三队列对模块和所述主机通道适配器模块中的第六队列对模块通信连接;
所述第四队列对模块和所述第一目标通道适配器模块中的第二队列对模块通信连接。
可选地,所述第二目标通道适配器模块还包括第二解析模块;
所述第二解析模块用于接收所述主机通道适配器模块发送的远程直接数据存取数据包,并对所述远程直接数据存取数据包进行解析,根据解析后的远程直接数据存取数据包识别所述第一目标通道适配器模块。
可选地,所述主机通道适配器模块包括第五队列对模块以及第六队列对模块;
所述第五队列对模块和所述第二目标通道适配器模块中的第三队列对模块通信连接;
所述第六队列对模块和所述第二目标通道适配器模块中的第一队列对模块通信连接。
可选地,所述主机通道适配器模块还用于向所述第一目标通道适配器模块中的第一解析模块发送第一远程直接数据存取数据包,所述第一远程直接数据存取数据包包括所述第二目标通道适配器模块对应的物理地址,向所述第二目标通道适配器模块中的第二解析模块第二远程直接数据存取数据包,所述第二远程直接数据存取数据包包括所述第一目标通道适配器模块对应的物理地址,以使所述第一目标通道适配器模块和所述第二目标通道适配器模块根据所述远程直接数据存取数据包建立连接。
可选地,所述主机通道适配器模块对应的主机内存中预先设置远程完成队列事件寄存器以及远程工作队列事件寄存器;
所述远程完成队列事件寄存器用于存储目标通道适配器返回的完成队列事件信息;
所述远程工作队列事件寄存器用于根据预设的远程写寄存器格式存储远程直接数据存取操作信息。
可选地,所述远程直接数据存取操作信息包括工作队列事件信息和远程完成队列事件寄存器的物理地址;
所述工作队列事件对应所述第一目标通道适配器模块中的所述远程工作队列事件引擎模块的内部寄存器;
所述远程完成队列事件寄存器的物理地址对应所述第一目标通道适配器模块中的所述远程工作队列事件引擎模块的内部寄存器。
在本申请实施的又一方面,还提供了一种数据传输方法,应用于第一目标通道适配器模块,所述数据传输方法包括:
在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包用于远程控制第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输;
根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据。
可选地,所述远程直接数据存取操作数据包包括远程工作队列事件寄存器数据和远程完成队列事件寄存器的物理地址,所述根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据包括:
将所述远程直接数据存取操作数据包进行解析,根据解析后的远程直接数据存取操作数据包将所述远程工作队列事件寄存器数据中的第一工作队列事件写入远程工作队列事件引擎模块的内部寄存器,并将所述远程完成队列事件寄存器的物理地址写入远程完成队列事件引擎模块的内部寄存器;
所述远程工作队列事件引擎模块将所述第一工作队列事件发送到第二队列对模块;
所述第二队列对模块根据所述第一工作队列事件获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标远程直接数据存取操作数据包。
可选地,所述工作队列事件包括工作队列事件标识、第一目标通道适配器模块的存储物理地址、第二目标通道适配器模块的目的存储地址以及数据字节长度,所述所述第二队列对模块根据所述工作队列事件获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块包括:
所述第二队列对模块根据所述第一目标通道适配器模块的存储物理地址获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,根据所述第二目标通道适配器模块的目的存储地址将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块。
可选地,在所述所述第二队列对模块根据所述第一工作队列事件获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块的步骤之后,所述方法包括:
接收第二目标通道适配器模块返回的数据传输完成信号,根据所述数据传输完成信号确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包。
可选地,所述接收第二目标通道适配器模块返回的数据传输完成信号,根据所述数据传输完成信号确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包包括:
接收第二目标通道适配器模块中第四队列对模块基于远程直接数据存取协议返回的确认字符数据包,根据所述确认字符数据包确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包。
可选地,在所述接收第二目标通道适配器模块中第四队列对模块基于远程直接数据存取协议返回的确认字符数据包,根据所述确认字符数据包确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包的步骤之后,所述方法包括:
根据所述确认字符数据包生成完成队列事件;
根据所述完成队列事件与所述远程完成队列事件寄存器的物理地址生成第二工作队列事件,将所述第二工作队列事件发送至与所述主机通道适配器模块,以使所述主机通道适配器模块根据所述第二工作队列事件将所述完成队列事件信息存储于所述远程完成队列事件寄存器。
可选地,在所述接收主机通道适配器模块发送的远程直接数据存取数据包的步骤之前,所述方法包括:
接收所述主机通道适配器模块发送的第一远程直接数据存取数据包,所述第一远程直接数据存取数据包包括所述第二目标通道适配器模块对应的物理地址;
根据所述第二目标通道适配器模块对应的物理地址识别第二目标通道适配器模块。
可选地,所述接收主机通道适配器模块发送的远程直接数据存取数据包包括:
在检测到所述主机通道适配器模块中预设配置完成,所述主机通道适配器模块中第五队列对模块对应的触发寄存器处于触发状态的情况下,接收所述主机通道适配器模块发送的远程直接数据存取数据包。
在本申请实施的又一方面,还提供了一种数据传输方法,应用于第二目标通道适配器模块,第一目标通道适配器模块和所述第二目标通道适配器模块通信连接,所述数据传输方法包括:
接收所述第一目标通道适配器模块发送的目标存储数据,其中,所述目标存储数据是根据所述主机通道适配器模块根据远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块传输的。
在本申请实施的又一方面,还提供了一种数据传输方法,应用于主机通道适配器模块,所述主机通道适配器模块通信连接有所述第一目标通道适配器模块和第二目标通道适配器模块,所述数据传输方法包括:
向第一目标通道适配器模块发送远程直接数据存取操作数据包,以使所述第一目标通道适配器模块根据所述远程直接数据存取操作数据包向所述第二目标通道适配器模块进行数据传输。
在本申请实施的又一方面,还提供了一种数据传输装置,应用于第一目标通道适配器模块,所述数据传输装置包括:
第一接收模块,用于在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包用于远程控制第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输;
第一发送模块,用于根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据。
在本申请实施的又一方面,还提供了一种数据传输装置,应用于第二目标通道适配器模块,第一目标通道适配器模块和所述第二目标通道适配器模块通信连接,所述数据传输方法包括:
第二接收模块,用于接收所述第一目标通道适配器模块发送的目标存储数据,其中,所述目标存储数据是根据所述主机通道适配器模块根据远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块传输的。
在本申请实施的又一方面,还提供了一种数据传输装置,应用于主机通道适配器模块,所述主机通道适配器模块通信连接有所述第一目标通道适配器模块和第二目标通道适配器模块,所述数据传输方法包括:
第二发送模块,用于向第一目标通道适配器模块发送远程直接数据存取操作数据包,以使所述第一目标通道适配器模块根据所述远程直接数据存取操作数据包向所述第二目标通道适配器模块进行数据传输。
在本申请实施的又一方面,还提供了一种通信设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的数据传输方法。
在本申请实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据传输方法。
在本申请实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据传输方法。
本申请实施例提供的数据传输***,所述数据传输***包括:主机通道适配器模块,第一目标通道适配器模块以及第二目标通道适配器模块;所述主机通道适配器模块通信连接有所述第一目标通道适配器模块和所述第二目标通道适配器模块;所述第一目标通道适配器模块和所述第二目标通道适配器模块通信连接;所述主机通道适配器模块用于向所述第一目标通道适配器模块发送发送远程直接数据存取操作数据包,根据所述远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输,即本申请实施例通过主机通道适配器模块远程控制目标通道适配器模块之间的数据传输,从而实现在不增加设备的情况下,使目标通道适配器设备之间可以直接传输数据,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了本申请实施例提供的一种数据传输***的示意图;
图2示出了本申请实施例提供的一种相关技术中的数据传输***的示意图;
图3示出了本申请实施例提供的另一种数据传输***的示意图;
图4示出了本申请实施例提供的一种目标通道适配器模块的示意图;
图5示出了本申请实施例提供的一种数据传输方法的步骤流程图;
图6示出了本申请实施例提供的另一种数据传输方法的步骤流程图;
图7示出了本申请实施例提供的另一种数据传输方法的步骤流程图;
图8示出了本申请实施例提供的另一种数据传输方法的步骤流程图;
图9示出了本申请实施例提供的一种数据传输装置的框图;
图10示出了本申请实施例提供的另一种数据传输装置的框图;
图11示出了本申请实施例提供的另一种数据传输装置的框图;
图12示出了本申请实施例提供的一种通信设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
需要说明的是,基于远程远程直接数据存取协议的数据传输,在传输之前需要在节点间建立队列对连接,每个节点可以有多个队列对模块资源,建立连接时需要通知对方本节点使用的队列对模块号。远程直接数据存取将计算节点分为主机通道适配器模块和目标通道适配器两种类型,其中主机通道适配器模块是带有操作***的服务器等,可以发起远程直接数据存取操作;而目标通道适配器是没有主机的网络硬盘、加速卡等,只能响应远程直接数据存取操作,参照图2,图2示出了本申请实施例提供的一种相关技术中的数据传输***的示意图,相关技术中,两个目标通道适配器模块之间进行数据传输,是通过主机通道适配器模块将数据从其中一个目标通道适配器模块读取出来,再发送到另一个目标通道适配器模块,具体的,主机通道适配器模块通过队列对1和第一目标通道适配器模块中的队列对1连接从而获取数据,主机通道适配器模块通过队列对2和第二目标通道适配器模块中的队列对1连接,从而实现将第一目标通道适配器模块中的数据传输至第二目标通道适配器模块中,从而会导致在数据传输过程中由于需要通过主机通道适配器模块进行转送,从而会导致主机在对目标通道适配器中硬盘或者加速卡等资源调配或者使用时延迟较大。
参照图1、图3,图1示出了本申请实施例提供的一种数据传输***的示意图,图3示出了本申请实施例提供的另一种数据传输***的示意图,本申请实施例提供了一种数据传输***,该数据传输***包括主机通道适配器模块,第一目标通道适配器模块以及第二目标通道适配器模块。
需要说明的是,在本申请实施例中,主机通道适配器模块通信连接有所述第一目标通道适配器模块和所述第二目标通道适配器模块,所述第一目标通道适配器模块和所述第二目标通道适配器模块通信连接。
具体的,第一目标通道适配器模块和第二目标通道适配器模块之间通过队列对进行通信连接,需要说明的时,在远程直接数据存取协议中,WQ是一个储存工作请求的队列,WQE是WQ队列中的元素,WQE可以认为是一种“任务说明”,这个工作请求是软件下发给硬件的,这份说明中包含了软件所希望硬件去做的任务以及有关这个任务的详细信息。比如,某一份任务是“把位于地址0x12345678的长度为10字节的数据发送给对面的节点”,硬件接到任务之后,就会通过DMA去内存中取数据,组装数据包,然后发送。
任何通信过程都要有收发两端,所以队列对就是一个发送工作队列和一个接受工作队列的组合,这两个队列可以分别称为SQ(Send Queue)和RQ(Receive Queue),因此,在本申请实施例中,主机通道适配器模块以及目标通道适配器模块在进行通信或者数据传输时,会存在多个对应的队列对模块,例如,图1中的第一队列对模块为第一目标通道适配器模块中的其中一个队列对模块可以和主机通道适配器模块中的第五队列对模块建立连接,当主机通道适配器模块需要进行远程直接数据存取操作时,可以通过第五队列对模块向第一队列对模块发送远程直接数据存取数据包。
因此,在本申请实施例中,为了实现目标通道适配器和目标通道适配器之间直接进行数据传输,因此,需要首先建立第一目标通道适配器模块和第二目标通道适配器模块的连接。
进一步地,所述第一目标通道适配器模块和所述第二目标通道适配器模块通信连接包括:主机通道适配器模块向所述第一目标通道适配器模块和所述第二目标通道适配器模块分别发送第一远程直接数据存取数据包和第二远程直接数据存取数据包,以使所述第一目标通道适配器模块和所述第二目标通道适配器模块根据所述第一远程直接数据存取数据包和第二远程直接数据存取数据包建立连接。
进一步地,所述主机通道适配器模块还用于向所述第一目标通道适配器模块中的第一解析模块发送第一远程直接数据存取数据包,所述第一远程直接数据存取数据包包括所述第二目标通道适配器模块对应的物理地址,向所述第二目标通道适配器模块中的第二解析模块第二远程直接数据存取数据包,所述第二远程直接数据存取数据包包括所述第一目标通道适配器模块对应的物理地址,以使所述第一目标通道适配器模块和所述第二目标通道适配器模块根据所述远程直接数据存取数据包建立连接。
需要说明的是,在本申请实施例中,解析模块可以表示为reg_operation模块,因此,第一解析模块可以表示为第一reg_operation模块,第二解析模块可以表示为第二reg_operation模块。
需要说明的是,主机通道适配器模块可以基于远程直接数据存取协议进行远程传输控制,因此,主机通道适配器模块可以分别向多个目标通道适配器模块(例如第一目标通道适配器模块和第二目标通道适配器模块)发送远程直接数据存取数据包,其中,在本申请实施例中,数据包中可以包括各个目标通道适配器模块对应的物理地址或者各个目标通道适配器模块对应的标识信息,例如,主机通道适配器模块可以向第一目标通道适配器模块中的第一解析模块发送第一远程直接数据存取数据包,所述第一远程直接数据存取数据包可以包括所述第二目标通道适配器模块对应的物理地址,或者第二目标通道适配器模块的标识信息,这样,第一目标通道适配器模块中的解析模块对数据包解析后可以获取第二目标通道适配器模块的识别信息,同样,第二目标通道适配器模块中的第二解析模块可以接收第二远程直接数据存取数据包,第二远程直接数据存取数据包包括所述第一目标通道适配器模块对应的物理地址,或者第一目标通道适配器模块的标识信息,因此,通过主机通道适配器模块可以实现对第一目标通道适配器模块和第二目标通道适配器模块之间建立队列对连接。
具体的,可以通过主机通道适配器模块远程写寄存器的方式,配置目标通道适配器内部空闲的队列对模块寄存器,使第一目标通道适配器模块和第二目标通道适配器模块之间建立队列对连接。两个目标通道适配器建立队列对连接后,主机通道适配器模块可以发起远程远程直接数据存取操作,控制第一目标通道适配器模块的数据写入第二目标通道适配器模块的预设地址中。
进一步地,所述主机通道适配器模块用于向所述第一目标通道适配器模块发送远程直接数据存取操作数据包,根据所述远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输。
其中,远程直接数据存取操作数据包可以包括载荷和头部,数据包的载荷可以是目标通道适配器模块内部寄存器的写地址和写数据,数据格式可以预先定义为预设的远程写寄存器格式;远程直接数据存取数据包基础传输层头部(Base Transport Head ,BTH)的目的存储地址字段可以为目标通道适配器模块内部的解析模块reg_operation的地址。目标通道适配器模块的reg_operation模块接收到数据包后,将载荷中的寄存器写地址和写数据提取出来,转换成数据总线写操作,进而对目标通道适配器内部连接数据总线的所有寄存器进行写操作。
进一步地,所述第一目标通道适配器模块包括rwqe_engine模块、rcqe_engine模块、第一队列对模块以及第二队列对模块;所述rwqe_engine模块用于将所述第一队列对模块中的内部寄存器记录的工作队列事件WQE数据组成WQE发送到第二队列对模块,并触发远程直接数据存取操作;所述rcqe_engine模块用于将所述第二队列对模块返回的完成队列事件CQE信息以及所述第一队列对模块中的内部寄存器记录的主机通道适配器模块对应的物理地址,组成WQE发送到第一队列对模块,以使所述第一队列对模块将所述CQE信息返回至所述主机通道适配器模块。
进一步地,所述第一目标通道适配器模块还包括第一解析模块;所述第一解析模块用于接收所述主机通道适配器模块发送的远程直接数据存取数据包,并对所述远程直接数据存取数据包进行解析,并将解析后的所述远程直接数据存取数据包转换成数据总线写操作。
具体的,第一目标通道适配器模块内部增加了两个模块,分别是rwqe_engine模块和rcqe_engine模块,其中,rwqe_engine模块可以将内部寄存器记录的远程WQE数据组成WQE发送到第二队列对模块,触发远程直接数据存取操作。rcqe_engine模块可以将第二队列对模块返回的CQE信息以及内部寄存器记录的主机通道适配器模块存储返回远程CQE的物理地址,组成WQE发送到队列对模块,使第一目标通道适配器模块产生的CQE信息以远程直接数据存取数据包的形式反馈给主机通道适配器模块。
另外,第一目标通道适配器模块内部还增加了第一解析模块,第一解析模块是解析模块,用于接收所述主机通道适配器模块发送的远程直接数据存取数据包,并对所述远程直接数据存取数据包进行解析,并将解析后的所述远程直接数据存取数据包转换成数据总线写操作。
进一步地,所述主机通道适配器模块包括第五队列对模块以及第六队列对模块;所述第五队列对模块和所述第二目标通道适配器模块中的第三队列对模块通信连接;所述第六队列对模块和所述第二目标通道适配器模块中的第一队列对模块通信连接。所述主机通道适配器模块用于向所述第一目标通道适配器模块发送发送远程直接数据存取操作数据包,根据所述远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输。
需要说明的是,在本申请实施例中,主机通道适配器模块主要用于远程控制第一目标通道适配器模块,从而使第一目标通道适配器模块将存储的数据传输至第二目标通道适配器模块。
进一步地,所述主机通道适配器模块对应的主机内存中预先设置远程完成队列事件寄存器以及远程工作队列事件寄存器;所述远程完成队列事件寄存器用于存储目标通道适配器返回的CQE信息;所述远程工作队列事件寄存器用于根据预设的远程写寄存器格式存储远程直接数据存取操作信息。
所述远程直接数据存取操作信息包括WQE信息和远程完成队列事件寄存器的物理地址;所述WQE对应所述第一目标通道适配器模块中的所述rwqe_engine模块的内部寄存器;所述远程完成队列事件寄存器的物理地址对应所述第一目标通道适配器模块中的所述rcqe_engine模块的内部寄存器。
需要说明的是,在本申请实施例中,主机通道适配器模块和主机连接,主机可以是服务器,在目标通道适配器模块进行数据传输前,主机通道适配器模块的主机内存中预先设置远程完成队列事件寄存器和远程工作队列事件寄存器,其中,远程完成队列事件寄存器用于存储目标通道适配器返回的CQE信息;远程工作队列事件寄存器用于按远程写寄存器格式存储发起远程远程直接数据存取操作需要的信息。这些信息包括远程远程直接数据存取的WQE信息和远程完成队列事件寄存器的物理地址,分别对应目标通道适配器中的rwqe_engine模块内部寄存器和rcqe_engine模块内部寄存器。
进一步地,所述第二目标通道适配器模块包括第三队列对模块以及第四队列对模块;所述第三队列对模块和所述主机通道适配器模块中的第六队列对模块通信连接;所述第四队列对模块和所述第一目标通道适配器模块中的第二队列对模块通信连接。所述第二目标通道适配器模块还包括第二解析模块;所述第二解析模块用于接收所述主机通道适配器模块发送的远程直接数据存取数据包,并对所述远程直接数据存取数据包进行解析,根据解析后的远程直接数据存取数据包识别所述第一目标通道适配器模块。
需要说明的是,在本申请实施例中,可以有多个第二目标通道适配器模块,第二目标通道适配器模块主要用于接收第一目标通道适配器模块中存储的数据。
因此,第二目标通道适配器模块中包括需要和第一目标通道适配器模块建立队列对连接的第四队列对模块,以及和主机通道适配器模块连接的第三队列对模块,以及第二解析模块用于接收所述主机通道适配器模块发送的远程直接数据存取数据包,并对所述远程直接数据存取数据包进行解析,根据解析后的远程直接数据存取数据包识别所述第一目标通道适配器模块。
本申请实施例提供的数据传输***,所述数据传输***包括:主机通道适配器模块,第一目标通道适配器模块以及第二目标通道适配器模块;所述主机通道适配器模块通信连接有所述第一目标通道适配器模块和所述第二目标通道适配器模块;所述第一目标通道适配器模块和所述第二目标通道适配器模块通信连接;所述主机通道适配器模块用于向所述第一目标通道适配器模块发送发送远程直接数据存取操作数据包,根据所述远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输,即本申请实施例通过主机通道适配器模块远程控制目标通道适配器模块之间的数据传输,从而实现在不增加设备的情况下,使目标通道适配器设备之间可以直接传输数据,而不经过主机通道适配器模块设备,大幅降低了数据传输延迟,提高了网络带宽利用率。
参照图4,图4示出了本申请实施例提供的一种目标通道适配器模块的示意图,在本申请实施例中,任意一台服务器可以作为主机,主机通过PCI-E插槽与其连接的为主机通道适配器模块,两块没有连接主机、独立供电的加速卡为第一目标通道适配器模块和第二目标通道适配器模块,加速卡的结构如图4所示,主芯片可以是FPGA,外部器件包括sdram、PCI-E插槽和100G光模块。通过本申请的方法和装置,可以实现主机通过主机通道适配器模块控制第一目标通道适配器模块的sdram中的数据,直接通过以太网搬移到第二目标通道适配器模块的sdram中,而不经过主机通道适配器模块转送。
因此,本申请实施例可以在不增加服务器的情况下,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
参照图5,示出了本申请实施例提供的一种数据传输方法的步骤流程图,所述方法可以包括:
步骤101,在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包用于远程控制第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输。
步骤102,根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据。
进一步地,步骤102包括:将所述远程直接数据存取操作数据包进行解析,根据解析后的远程直接数据存取操作数据包将所述远程工作队列事件寄存器数据中的第一工作队列事件写入远程工作队列事件引擎模块的内部寄存器,并将所述远程完成队列事件寄存器的物理地址写入远程完成队列事件引擎模块的内部寄存器;所述远程工作队列事件引擎模块将所述第一工作队列事件发送到第二队列对模块;所述第二队列对模块根据所述第一工作队列事件获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标远程直接数据存取操作数据包。
需要说明的是,上述步骤101-102中,在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包包括远程工作队列事件寄存器数据和远程完成队列事件寄存器的物理地址;
需要说明的是,在本申请实施例中,应用于第一目标通道适配器模块,第一目标通道适配器模块包括rwqe_engine模块、rcqe_engine模块、第一队列对模块以及第二队列对模块以及第一解析模块;所述rwqe_engine模块用于将所述第一队列对模块中的内部寄存器记录的工作队列事件WQE数据组成WQE发送到第二队列对模块,并触发远程直接数据存取操作;所述rcqe_engine模块用于将所述第二队列对模块返回的完成队列事件CQE信息以及所述第一队列对模块中的内部寄存器记录的主机通道适配器模块对应的物理地址,组成WQE发送到第一队列对模块,以使所述第一队列对模块将所述CQE信息返回至所述主机通道适配器模块。所述第一解析模块用于接收所述主机通道适配器模块发送的远程直接数据存取数据包,并对所述远程直接数据存取数据包进行解析,并将解析后的所述远程直接数据存取数据包转换成数据总线写操作。
第一目标通道适配器模块在和第二目标通道适配器模块建立队列对连接之后,可以进行数据传输,此时,第一目标通道适配器模块可以接收主机通道适配器模块发送的远程直接数据存取操作数据包,所述远程直接数据存取操作数据包包括远程工作队列事件寄存器数据和远程完成队列事件寄存器的物理地址。
需要说明的是,在数据传输之前,主机通道适配器模块连接的主机对应的主机内存中预先设置了远程完成队列事件寄存器和远程工作队列事件寄存器,其中,远程完成队列事件寄存器用于存储目标通道适配器返回的CQE信息;远程工作队列事件寄存器用于按远程写寄存器格式存储发起远程远程直接数据存取操作需要的信息。这些信息包括远程远程直接数据存取的WQE信息和远程完成队列事件寄存器的物理地址,分别对应目标通道适配器中的rwqe_engine模块内部寄存器和rcqe_engine模块内部寄存器。
因此,主机通道适配器模块发送给第一目标通道适配器模块的远程直接数据存取操作数据包中包括远程工作队列事件寄存器数据和远程完成队列事件寄存器的物理地址。
进一步地,所述接收主机通道适配器模块发送的远程直接数据存取数据包包括:在检测到所述主机通道适配器模块中预设配置完成,所述主机通道适配器模块中第五队列对模块对应的触发寄存器处于触发状态的情况下,接收所述主机通道适配器模块发送的远程直接数据存取数据包。
具体的,主机内存中的WQE中本地存储地址设置为远程工作队列事件寄存器的物理地址,目的地址设置为第一目标通道适配器模块的reg_operation模块地址,数据长度是远程工作队列事件寄存器的大小。当主机中对主机通道适配器模块的第五队列对模块的触发寄存器进行触发操作时,第五队列对模块可以自动获取主机内存中的WQE,根据WQE自动获取远程工作队列事件寄存器数据,组成远程直接数据存取操作数据包发送到第一目标通道适配器模块。
需要说明的是,在本申请实施例中,接收到远程直接数据存取操作数据包后,会对数据包进行解析,解析后的远程直接数据存取操作数据包将远程工作队列事件寄存器数据中的第一WQE写入rwqe_engine模块的内部寄存器,并将所述远程完成队列事件寄存器的物理地址写入rcqe_engine模块的内部寄存器。
具体的,第一目标通道适配器模块的reg_operation模块接收到数据包并解析载荷,根据寄存器地址将远程工作队列事件寄存器数据中远程远程直接数据存取的WQE信息写入rwqe_engine模块内部寄存器;将远程完成队列事件寄存器的物理地址写入rcqe_engine模块内部寄存器。
需要说明的是,在本申请实施例中,rwqe_engine模块根据寄存器配置将远程远程直接数据存取的WQE发送到队列对模块的WQE端口,触发远程直接数据存取写数据。
进一步地,所述WQE包括WQE标识、第一目标通道适配器模块的存储物理地址、第二目标通道适配器模块的目的存储地址以及数据字节长度,所述所述第二队列对模块根据所述WQE获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块包括:所述第二队列对模块根据所述第一目标通道适配器模块的存储物理地址获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,根据所述第二目标通道适配器模块的目的存储地址将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块。
需要说明的是,在本申请实施例中,WQE中包含WQE标识(WQE_id)、数据在本地(第一目标通道适配器模块)存储物理地址(local_addr)、数据发送到远端(第二目标通道适配器模块)目的存储地址(remote_addr)和数据字节长度等信息。第二队列对模块根据WQE信息,自动获取本地(第一目标通道适配器模块)存储的数据,组成目标远程直接数据存取操作数据包发送到第二目标通道适配器模块。
进一步地,在所述所述第二队列对模块根据所述第一WQE获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块的步骤之后,所述方法包括:接收第二目标通道适配器模块返回的数据传输完成信号,根据所述数据传输完成信号确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包。
进一步地,所述接收第二目标通道适配器模块返回的数据传输完成信号,根据所述数据传输完成信号确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包包括:接收第二目标通道适配器模块中第四队列对模块基于远程直接数据存取协议返回的确认字符(Acknowledge character ,ACK)数据包,根据所述ACK数据包确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包。
进一步地,在所述接收第二目标通道适配器模块中第四队列对模块基于远程直接数据存取协议返回的ACK数据包,根据所述ACK数据包确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包的步骤之后,所述方法包括:根据所述ACK数据包生成CQE;根据所述CQE与所述远程完成队列事件寄存器的物理地址生成第二WQE,将所述第二WQE发送至与所述主机通道适配器模块,以使所述主机通道适配器模块根据所述第二WQE将所述CQE信息存储于所述远程完成队列事件寄存器。
需要说明的是,在本申请实施例中,第二目标通道适配器模块的第四队列对模块,根据远程直接数据存取数据包中包含的remote_addr(数据发送到第二目标通道适配器模块目的存储地址)信息将数据存入预设的第二目标通道适配器模块存储空间,并按照远程直接数据存取协议返回ACK数据包到第一目标通道适配器模块。第一目标通道适配器模块的第二队列对模块接收到ACK数据包后,判断数据传输完成,产生CQE信息到rcqe_engine模块。rcqe_engine模块将CQE信息与寄存器中记录的远程完成队列事件寄存器的物理地址组成WQE,发送到与主机通道适配器模块连接的第一队列对模块,第一队列对模块根据WQE将CQE信息组成远程直接数据存取数据包,发送到主机通道适配器模块。
本申请实施例中,通过在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包包括远程工作队列事件寄存器数据和远程完成队列事件寄存器的物理地址;将所述远程直接数据存取操作数据包进行解析,根据解析后的远程直接数据存取操作数据包将所述远程工作队列事件寄存器数据中的第一WQE写入rwqe_engine模块的内部寄存器,并将所述远程完成队列事件寄存器的物理地址写入rcqe_engine模块的内部寄存器;所述rwqe_engine模块将所述第一WQE发送到第二队列对模块;所述第二队列对模块根据所述第一WQE获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述远程直接数据存取操作数据包发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述远程直接数据存取操作数据包。即本申请实施例通过在第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,第一目标通道适配器模块通过主机通道适配器模块的远程控制,将第一目标通道适配器模块中存储的数据直接传输至第二目标通道适配器模块,在不增加服务器的情况下,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
参照图6,示出了本申请实施例提供的另一种数据传输方法的步骤流程图,所述方法可以包括:
步骤001,接收所述主机通道适配器模块发送的第一远程直接数据存取数据包,所述第一远程直接数据存取数据包包括所述第二目标通道适配器模块对应的物理地址;
步骤002,根据所述第二目标通道适配器模块对应的物理地址识别第二目标通道适配器模块;
需要说明的是,上述步骤001-002中,在进行目标通道适配器之间的数据传输之前,需要建立第一目标通道适配器模块和第二目标通道适配器模块之间的队列对连接,因此,此时第一目标通道适配器模块会接收主机通道适配器模块发送的第一远程直接数据存取数据包,所述第一远程直接数据存取数据包包括所述第二目标通道适配器模块对应的物理地址,根据所述第二目标通道适配器模块对应的物理地址识别第二目标通道适配器模块。
同样的,第二目标通道适配器模块也会接收第二远程直接数据存取数据包,从而识别第一目标通道适配器模块。
步骤101,在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包用于远程控制第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输;
步骤102,根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据。
需要说明的是,在本申请实施例中,上述步骤101-102参照前序论述,在此不再赘述。
本申请实施例通过在第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,第一目标通道适配器模块通过主机通道适配器模块的远程控制,将第一目标通道适配器模块中存储的数据直接传输至第二目标通道适配器模块,在不增加服务器的情况下,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
参照图7,示出了本申请实施例提供的另一种数据传输方法的步骤流程图,所述方法可以包括:
步骤201,接收所述第一目标通道适配器模块发送的目标存储数据,其中,所述目标存储数据是根据所述主机通道适配器模块根据远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块传输的。
需要说明的是,在本申请实施例中,应用于第二目标通道适配器模块,第一目标通道适配器模块和所述第二目标通道适配器模块通信连接。
本申请实施例通过在第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,第一目标通道适配器模块通过主机通道适配器模块的远程控制,将第一目标通道适配器模块中存储的数据直接传输至第二目标通道适配器模块,在不增加服务器的情况下,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
参照图8,示出了本申请实施例提供的另一种数据传输方法的步骤流程图,所述方法可以包括:
步骤301,向第一目标通道适配器模块发送远程直接数据存取操作数据包,以使所述第一目标通道适配器模块根据所述远程直接数据存取操作数据包向所述第二目标通道适配器模块进行数据传输。
需要说明的是,在本申请实施例中,应用于应用于主机通道适配器模块,所述主机通道适配器模块通信连接有所述第一目标通道适配器模块和第二目标通道适配器模块。
本申请实施例通过在第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,第一目标通道适配器模块通过主机通道适配器模块的远程控制,将第一目标通道适配器模块中存储的数据直接传输至第二目标通道适配器模块,在不增加服务器的情况下,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
参照图9,图9示出了本申请实施例提供的一种数据传输装置,所述装置可以包括:
第一接收模块401,用于在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包用于远程控制第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输;
第一发送模块402,用于根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据。
本申请实施例通过在第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,第一目标通道适配器模块通过主机通道适配器模块的远程控制,将第一目标通道适配器模块中存储的数据直接传输至第二目标通道适配器模块,在不增加服务器的情况下,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
参照图10,图10示出了本申请实施例提供的另一种数据传输装置,所述装置可以包括:
第二接收模块501,用于接收所述第一目标通道适配器模块发送的目标存储数据,其中,所述目标存储数据是根据所述主机通道适配器模块根据远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块传输的。
本申请实施例通过在第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,第一目标通道适配器模块通过主机通道适配器模块的远程控制,将第一目标通道适配器模块中存储的数据直接传输至第二目标通道适配器模块,在不增加服务器的情况下,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
参照图11,图11示出了本申请实施例提供的另一种数据传输装置,所述装置可以包括:
第二发送模块601,用于向第一目标通道适配器模块发送远程直接数据存取操作数据包,以使所述第一目标通道适配器模块根据所述远程直接数据存取操作数据包向所述第二目标通道适配器模块进行数据传输。
本申请实施例通过在第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,第一目标通道适配器模块通过主机通道适配器模块的远程控制,将第一目标通道适配器模块中存储的数据直接传输至第二目标通道适配器模块,在不增加服务器的情况下,实现了目标通道适配器间数据的直接远程直接数据存取传输,提高了网络利用率,降低了数据传输延迟,且易于FPGA实现,可大幅降低FPGA云平台分布式计算的延迟。
本申请实施例还提供了一种通信设备,如图12所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,可以实现如下步骤:
在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包用于远程控制第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输;
根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据传输。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据传输。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或第三数据库通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或第三数据库进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、第三数据库等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (25)
1.一种数据传输***,其特征在于,所述数据传输***包括:主机通道适配器模块,第一目标通道适配器模块以及第二目标通道适配器模块;
所述主机通道适配器模块通信连接有所述第一目标通道适配器模块和所述第二目标通道适配器模块;
所述第一目标通道适配器模块和所述第二目标通道适配器模块通信连接;
所述主机通道适配器模块用于向所述第一目标通道适配器模块发送远程直接数据存取操作数据包,根据所述远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输;
所述第一目标通道适配器模块包括远程工作队列事件引擎模块、远程完成队列事件引擎模块第一队列对模块、第二队列对模块以及第一解析模块,所述第一目标通道适配器模块用于通信建立、触发数据存取以及转换写操作;
所述第二目标通道适配器模块包括第三队列对模块、第四队列对模块以及第二解析模块,所述第二目标通道适配器模块用于通信建立以及触发数据存取;
所述主机通道适配器模块分别向多个目标通道适配器模块发送所述远程直接数据存取操作数据包,所述远程直接数据存取操作数据包包括各个目标通道适配器模块对应的物理地址或者各个目标通道适配器模块对应的标识信息,所述主机通道适配器模块通过所述物理地址以及标识信息分别和所述第一目标通道适配器模块以及所述第二目标通道适配器模块通信连接。
2.根据权利要求1所述的数据传输***,其特征在于,所述第一目标通道适配器模块和所述第二目标通道适配器模块通信连接包括:主机通道适配器模块向所述第一目标通道适配器模块和所述第二目标通道适配器模块分别发送第一远程直接数据存取数据包和第二远程直接数据存取数据包,以使所述第一目标通道适配器模块和所述第二目标通道适配器模块根据所述第一远程直接数据存取数据包和第二远程直接数据存取数据包建立连接。
3.根据权利要求1所述的数据传输***,其特征在于,所述第一目标通道适配器模块包括远程工作队列事件引擎模块、远程完成队列事件引擎模块、第一队列对模块以及第二队列对模块;
所述远程工作队列事件引擎模块用于将所述第一队列对模块中的内部寄存器记录的工作队列事件数据组成工作队列事件发送到第二队列对模块,并触发远程直接数据存取操作;
所述远程完成队列事件引擎模块用于将所述第二队列对模块返回的完成队列事件信息以及所述第一队列对模块中的内部寄存器记录的主机通道适配器模块对应的物理地址,组成工作队列事件发送到第一队列对模块,以使所述第一队列对模块将所述完成队列事件信息返回至所述主机通道适配器模块。
4.根据权利要求1所述的数据传输***,其特征在于,所述第一目标通道适配器模块还包括第一解析模块;
所述第一解析模块用于接收所述主机通道适配器模块发送的远程直接数据存取操作数据包,并对所述远程直接数据存取操作数据包进行解析,并将解析后的所述远程直接数据存取操作数据包转换成数据总线写操作。
5.根据权利要求1所述的数据传输***,其特征在于,所述第二目标通道适配器模块包括第三队列对模块以及第四队列对模块;
所述第三队列对模块和所述主机通道适配器模块中的第六队列对模块通信连接;
所述第四队列对模块和所述第一目标通道适配器模块中的第二队列对模块通信连接。
6.根据权利要求1所述的数据传输***,其特征在于,所述第二目标通道适配器模块还包括第二解析模块;
所述第二解析模块用于接收所述主机通道适配器模块发送的第二远程直接数据存取数据包,并对所述第二远程直接数据存取数据包进行解析,根据解析后的第二远程直接数据存取数据包识别所述第一目标通道适配器模块。
7.根据权利要求1所述的数据传输***,其特征在于,所述主机通道适配器模块包括第五队列对模块以及第六队列对模块;
所述第五队列对模块和所述第二目标通道适配器模块中的第三队列对模块通信连接;
所述第六队列对模块和所述第二目标通道适配器模块中的第一队列对模块通信连接。
8.根据权利要求1所述的数据传输***,其特征在于,所述主机通道适配器模块还用于向所述第一目标通道适配器模块中的第一解析模块发送第一远程直接数据存取数据包,所述第一远程直接数据存取数据包包括所述第二目标通道适配器模块对应的物理地址,向所述第二目标通道适配器模块中的第二解析模块第二远程直接数据存取数据包,所述第二远程直接数据存取数据包包括所述第一目标通道适配器模块对应的物理地址,以使所述第一目标通道适配器模块和所述第二目标通道适配器模块根据所述远程直接数据存取数据包建立连接。
9.根据权利要求1所述的数据传输***,其特征在于,所述主机通道适配器模块对应的主机内存中预先设置远程完成队列事件寄存器以及远程工作队列事件寄存器;
所述远程完成队列事件寄存器用于存储目标通道适配器返回的完成队列事件信息;
所述远程工作队列事件寄存器用于根据预设的远程写寄存器格式存储远程直接数据存取操作信息。
10.根据权利要求9所述的数据传输***,其特征在于,所述远程直接数据存取操作信息包括工作队列事件信息和远程完成队列事件寄存器的物理地址;
所述工作队列事件对应所述第一目标通道适配器模块中的远程工作队列事件引擎模块的内部寄存器;
所述远程完成队列事件寄存器的物理地址对应所述第一目标通道适配器模块中的所述远程工作队列事件引擎模块的内部寄存器。
11.一种数据传输方法,其特征在于,应用于权利要求1-10中任一数据传输***中的第一目标通道适配器模块,所述数据传输方法包括:
在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包用于远程控制第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输;
根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据。
12.根据权利要求11所述的数据传输方法,其特征在于,所述远程直接数据存取操作数据包包括远程工作队列事件寄存器数据和远程完成队列事件寄存器的物理地址,所述根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据包括:
将所述远程直接数据存取操作数据包进行解析,根据解析后的远程直接数据存取操作数据包将所述远程工作队列事件寄存器数据中的第一工作队列事件写入远程工作队列事件引擎模块的内部寄存器,并将所述远程完成队列事件寄存器的物理地址写入远程完成队列事件引擎模块的内部寄存器;
所述远程工作队列事件引擎模块将所述第一工作队列事件发送到第二队列对模块;
所述第二队列对模块根据所述第一工作队列事件获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标远程直接数据存取操作数据包。
13.根据权利要求12所述的数据传输方法,其特征在于,所述工作队列事件包括工作队列事件标识、第一目标通道适配器模块的存储物理地址、第二目标通道适配器模块的目的存储地址以及数据字节长度,所述所述第二队列对模块根据所述工作队列事件获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块包括:
所述第二队列对模块根据所述第一目标通道适配器模块的存储物理地址获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,根据所述第二目标通道适配器模块的目的存储地址将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块。
14.根据权利要求12所述的数据传输方法,其特征在于,在所述所述第二队列对模块根据所述第一工作队列事件获取所述第一目标通道适配器模块对应的目标存储数据,并根据所述目标存储数据生成目标远程直接数据存取操作数据包,将所述目标远程直接数据存取操作数据包发送至第二目标通道适配器模块的步骤之后,所述方法包括:
接收第二目标通道适配器模块返回的数据传输完成信号,根据所述数据传输完成信号确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包。
15.根据权利要求14所述的数据传输方法,其特征在于,所述接收第二目标通道适配器模块返回的数据传输完成信号,根据所述数据传输完成信号确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包包括:
接收第二目标通道适配器模块中第四队列对模块基于远程直接数据存取协议返回的确认字符数据包,根据所述确认字符数据包确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包。
16.根据权利要求15所述的数据传输方法,其特征在于,在所述接收第二目标通道适配器模块中第四队列对模块基于远程直接数据存取协议返回的确认字符数据包,根据所述确认字符数据包确定所述第二目标通道适配器模块接收所述目标远程直接数据存取操作数据包的步骤之后,所述方法包括:
根据所述确认字符数据包生成完成队列事件;
根据所述完成队列事件与所述远程完成队列事件寄存器的物理地址生成第二工作队列事件,将所述第二工作队列事件发送至与所述主机通道适配器模块,以使所述主机通道适配器模块根据所述第二工作队列事件将所述完成队列事件信息存储于所述远程完成队列事件寄存器。
17.根据权利要求11所述的数据传输方法,其特征在于,在所述接收主机通道适配器模块发送的远程直接数据存取数据包的步骤之前,所述方法包括:
接收所述主机通道适配器模块发送的第一远程直接数据存取数据包,所述第一远程直接数据存取数据包包括所述第二目标通道适配器模块对应的物理地址;
根据所述第二目标通道适配器模块对应的物理地址识别第二目标通道适配器模块。
18.根据权利要求11所述的数据传输方法,其特征在于,所述接收主机通道适配器模块发送的远程直接数据存取数据包包括:
在检测到所述主机通道适配器模块中预设配置完成,所述主机通道适配器模块中第五队列对模块对应的触发寄存器处于触发状态的情况下,接收所述主机通道适配器模块发送的远程直接数据存取数据包。
19.一种数据传输方法,其特征在于,应用于权利要求1-10中任一数据传输***中的第二目标通道适配器模块,第一目标通道适配器模块和所述第二目标通道适配器模块通信连接,所述数据传输方法包括:
接收所述第一目标通道适配器模块发送的目标存储数据,其中,所述目标存储数据是根据主机通道适配器模块根据远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块传输的。
20.一种数据传输方法,其特征在于,应用于权利要求1-10中任一数据传输***中的主机通道适配器模块,所述主机通道适配器模块通信连接有第一目标通道适配器模块和第二目标通道适配器模块,所述数据传输方法包括:
向第一目标通道适配器模块发送远程直接数据存取操作数据包,以使所述第一目标通道适配器模块根据所述远程直接数据存取操作数据包向所述第二目标通道适配器模块进行数据传输。
21.一种数据传输装置,其特征在于,应用于权利要求1-10中任一数据传输***中的第一目标通道适配器模块,所述数据传输装置包括:
第一接收模块,用于在检测到所述第一目标通道适配器模块和第二目标通道适配器模块建立连接的情况下,接收主机通道适配器模块发送的远程直接数据存取操作数据包,其中,所述远程直接数据存取操作数据包用于远程控制第一目标通道适配器模块向所述第二目标通道适配器模块进行数据传输;
第一发送模块,用于根据所述远程直接数据存取操作数据包将所述第一目标通道适配器模块对应的目标存储数据发送至第二目标通道适配器模块,以使所述第二目标通道适配器模块获取所述目标存储数据。
22.一种数据传输装置,其特征在于,应用于权利要求1-10中任一数据传输***中的第二目标通道适配器模块,第一目标通道适配器模块和所述第二目标通道适配器模块通信连接,所述数据传输装置包括:
第二接收模块,用于接收所述第一目标通道适配器模块发送的目标存储数据,其中,所述目标存储数据是根据主机通道适配器模块根据远程直接数据存取操作数据包远程控制所述第一目标通道适配器模块传输的。
23.一种数据传输装置,其特征在于,应用于权利要求1-10中任一数据传输***中的主机通道适配器模块,所述主机通道适配器模块通信连接有第一目标通道适配器模块和第二目标通道适配器模块,所述数据传输装置包括:
第二发送模块,用于向第一目标通道适配器模块发送远程直接数据存取操作数据包,以使所述第一目标通道适配器模块根据所述远程直接数据存取操作数据包向所述第二目标通道适配器模块进行数据传输。
24.一种通信设备,其特征在于,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;
所述处理器,用于读取存储器中的程序实现如权利要求11-17中任意一项所述数据传输方法,或者如权利要求19所述数据传输方法,或者如权利要求20所述数据传输方法。
25.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求11-17中任意一项所述数据传输方法,或者如权利要求19所述数据传输方法,或者如权利要求20所述数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310488688.1A CN116226027B (zh) | 2023-05-04 | 2023-05-04 | 数据传输***、方法、装置、通信设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310488688.1A CN116226027B (zh) | 2023-05-04 | 2023-05-04 | 数据传输***、方法、装置、通信设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116226027A CN116226027A (zh) | 2023-06-06 |
CN116226027B true CN116226027B (zh) | 2023-08-15 |
Family
ID=86584626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310488688.1A Active CN116226027B (zh) | 2023-05-04 | 2023-05-04 | 数据传输***、方法、装置、通信设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116226027B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1640089A (zh) * | 2001-03-26 | 2005-07-13 | 英特尔公司 | 用于NGIO/InfiniBandTM应用的远程密钥验证的方法和机制 |
CN110888827A (zh) * | 2018-09-10 | 2020-03-17 | 华为技术有限公司 | 数据传输方法、装置、设备及存储介质 |
CN112099940A (zh) * | 2016-08-26 | 2020-12-18 | 华为技术有限公司 | 实现硬件加速处理的方法、设备和*** |
CN114979022A (zh) * | 2022-05-20 | 2022-08-30 | 北京百度网讯科技有限公司 | 远程直接数据存取的实现方法、装置、适配器和存储介质 |
-
2023
- 2023-05-04 CN CN202310488688.1A patent/CN116226027B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1640089A (zh) * | 2001-03-26 | 2005-07-13 | 英特尔公司 | 用于NGIO/InfiniBandTM应用的远程密钥验证的方法和机制 |
CN112099940A (zh) * | 2016-08-26 | 2020-12-18 | 华为技术有限公司 | 实现硬件加速处理的方法、设备和*** |
CN110888827A (zh) * | 2018-09-10 | 2020-03-17 | 华为技术有限公司 | 数据传输方法、装置、设备及存储介质 |
CN114979022A (zh) * | 2022-05-20 | 2022-08-30 | 北京百度网讯科技有限公司 | 远程直接数据存取的实现方法、装置、适配器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116226027A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040117375A1 (en) | Using direct memory access for performing database operations between two or more machines | |
CN110661725A (zh) | 用于对出口上的网络分组进行重排序的技术 | |
US11750418B2 (en) | Cross network bridging | |
CN107360261A (zh) | 一种http请求处理方法、装置及电子设备 | |
US20220358075A1 (en) | Pcie-based data transmission method and apparatus | |
CN105141603A (zh) | 通信数据传输方法及*** | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN114826542B (zh) | 基于异步串行通信的数据传输方法、装置、设备及介质 | |
WO2021147045A1 (zh) | 一种基于PCIe的数据传输方法及装置 | |
US8090893B2 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
CN111416778A (zh) | 用于多设备物联网的单串口网关平台 | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN116226027B (zh) | 数据传输***、方法、装置、通信设备及存储介质 | |
CN111857546A (zh) | 用于处理数据的方法、网络适配器和计算机程序产品 | |
CN113422792B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN112235411B (zh) | 基于ai的rpa流程控制端的服务器通信方法、装置、设备及介质 | |
CN114710426A (zh) | 一种确定读操作往返时延的方法、装置、***及相关设备 | |
CN110602211B (zh) | 一种带异步通知的乱序rdma方法与装置 | |
CN115904488A (zh) | 数据传输方法、***、装置及设备 | |
EP3631640B1 (en) | Communication between field programmable gate arrays | |
CN113157610B (zh) | 数据保存方法及装置、存储介质、电子装置 | |
US10452579B2 (en) | Managing input/output core processing via two different bus protocols using remote direct memory access (RDMA) off-loading processing system | |
CN114928377B (zh) | 降低usb数据透传带宽的输出传输方法、装置及设备 | |
CN112306918B (zh) | 数据访问方法、装置、电子设备和计算机存储介质 | |
CN115865944B (zh) | 设备间点对点通信方法、***、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |