CN118018481A - 数据传输方法、设备及系统 - Google Patents
数据传输方法、设备及系统 Download PDFInfo
- Publication number
- CN118018481A CN118018481A CN202311805734.2A CN202311805734A CN118018481A CN 118018481 A CN118018481 A CN 118018481A CN 202311805734 A CN202311805734 A CN 202311805734A CN 118018481 A CN118018481 A CN 118018481A
- Authority
- CN
- China
- Prior art keywords
- storage
- target data
- cxl
- data
- memory
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 161
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 129
- 230000004044 response Effects 0.000 claims abstract description 4
- 230000015654 memory Effects 0.000 claims description 144
- 238000013507 mapping Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种数据传输方法、设备及系统,所述方法应用于数据传输设备,所述数据传输设备包括处理芯片、第一CXL接口和第二CXL接口,所述处理芯片与所述第一CXL接口和所述第二CXL接口均连接,所述第一CXL接口用于与第一设备连接,所述第二CXL接口用于与第二设备连接,所述方法还包括:响应于所述第一设备向所述第二设备传输目标数据的请求,所述处理芯片通过所述第一CXL接口从所述第一设备获取所述目标数据的第一存储信息,以及通过所述第二CXL接口从所述第二设备获取待存储所述目标数据的第二存储信息;根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备。上述方法可以提高数据传输效率。
Description
技术领域
本申请实施例涉及计算设备技术领域,尤其涉及一种数据传输方法、设备及系统。
背景技术
计算设备之间可以进行数据传输。例如,计算设备可以为服务器。
目前,计算设备之间可以通过远程直接内存访问(Remote Direct MemoryAccess,RDMA)技术,进行数据传输。通过RDMA技术传输数据时,待传输数据需要以网络报文的形式进行传输。发送待传输数据的计算设备需要生成网络报文,接收待传输数据的计算设备需要解析网络报文,以完成待传输数据的传输,使得数据传输效率较低。
发明内容
本申请实施例提供了一种数据传输方法、设备及系统,以解决数据传输效率较低的技术问题。
第一方面,本申请实施例提供了一种数据传输方法,应用于数据传输设备,所述数据传输设备包括处理芯片、第一计算快速链接CXL接口和第二CXL接口,所述处理芯片与所述第一CXL接口和所述第二CXL接口均连接,所述第一CXL接口用于与第一设备连接,所述第二CXL接口用于与第二设备连接,所述方法还包括:
响应于所述第一设备向所述第二设备传输目标数据的请求,所述处理芯片通过所述第一CXL接口从所述第一设备获取所述目标数据的第一存储信息,以及通过所述第二CXL接口从所述第二设备获取待存储所述目标数据的第二存储信息;
根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备。
上述方案中,第一设备可以通过数据传输设备,向第二设备传输目标数据,目标数据的传输过程中,无需对目标数据进行网络语义转换,提高了数据传输效率。
一种可能的实现方式中,所述数据传输设备包括存储器,所述存储器的数量为一个或多个;所述根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备,包括:
根据所述第一存储信息,通过所述第一CXL接口在所述第一设备中获取所述目标数据,并将所述目标数据存储至所述存储器中;
根据所述第二存储信息,通过所述第二CXL接口将所述存储器中的所述目标数据存储至所述第二设备。
上述方案中,数据传输设备可以从第一设备获取目标数据,并可以向第二设备写入目标数据,实现了将目标数据从第一设备传输至第二设备的目的。
一种可能的实现方式中,所述第一存储信息中包括第一存储空间的存储地址,所述第一存储空间的数量可以为一个或多个;所述根据所述第一存储信息,通过所述第一CXL接口在所述第一设备中获取所述目标数据,包括:
根据所述存储器的第一数量、以及所述第一存储空间的第二数量,确定M个拷贝线程,所述M为所述第一数量和所述第二数量的最小值;
确定每个拷贝线程对应的第一存储空间的存储地址;
通过所述第一CXL接口,并行通过所述M个拷贝线程根据对应的第一存储空间的存储地址拷贝数据、并将拷贝的数据对应存储至存储器,直至将目标数据存储至存储器中。
上述方案中,通过M个拷贝线程根据对应的第一存储空间的存储地址拷贝数据,可以提高目标数据的拷贝效率,以进一步提高目标数据的传输效率。
一种可能的实现方式中,针对任意一个拷贝线程;通过所述拷贝线程根据对应的第一存储空间的存储地址拷贝数据,包括:
判断所述第一设备的缓存中是否存在所述第一存储空间的存储地址对应的数据;
若是,则根据所述对应的第一存储空间的存储地址,通过所述拷贝线程从所述第一设备的缓存拷贝数据;
若否,则根据所述对应的第一存储空间的存储地址,通过所述拷贝线程从所述第一设备的内存拷贝数据。
上述方案中,若第一设备的缓存中包括第一存储空间的存储地址对应的数据,数据传输装置的处理芯片优先从第一设备的缓存中拷贝数据,进一步提高了数据传输效率。
一种可能的实现方式中,所述将所述目标数据存储至所述存储器中,包括:
在一个或多个存储器中确定每个拷贝线程对应的存储器;
将每个拷贝线程拷贝得到的数据存储至对应的存储器中。
上述方案中,可以将通过每个拷贝线程拷贝的数据,存储在对应的存储器中,以实现数据存储设备从第一设备拷贝目标数据的目的。
一种可能的实现方式中,所述根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备之前,还包括:
根据所述第一存储信息,确定所述目标数据在所述第一设备中所占存储空间的第一空间容量;
根据所述第二存储信息,确定所述第二设备为所述目标数据所分配的存储空间的第二空间容量;
确定所述第一空间容量和所述第二空间容量是否相同。
上述方案中,若第一空间容量和第二空间容量相等,可以确定第二设备满足目标数据的存储需求,数据传输设备可以从第一设备向第二设备传输目标数据。
一种可能的实现方式中,所述根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备之前,还包括:
根据所述第一存储信息,确定所述目标数据在所述第一设备中所占存储空间的第一空间容量;
确定所述数据传输设备中的存储器的第三空间容量;
确定所述第三空间容量是否大于或等于所述第一空间容量。
上述方案中,若第三空间容量大于或等于第一空间容量,可以确定数据传输设备中的存储空间足够存储目标数据,数据传输设备可以用于传输目标数据。
一种可能的实现方式中,所述第二存储信息中包括第二存储空间的存储地址,所述第二存储空间的数量可以为一个或多个;所述根据所述第二存储信息,通过所述第二CXL接口将所述存储器中的所述目标数据存储至所述第二设备,包括:
确定所述目标数据与所述第二存储空间的存储地址之间的映射关系;
根据所述映射关系,通过所述第二CXL接口将所述目标数据存储至所述第二存储空间。
上述方案中,可以将存储器中的目标数据存储至第二设备,实现了将目标数据传输至第二设备的目的。
第二方面,本申请实施例提供了一种数据传输设备,包括处理芯片和至少两个CXL接口,所述处理芯片与每个CXL接口均连接,所述至少两个CXL接口中包括第一CXL接口和第二CXL接口,其中,
所述第一CXL接口用于与第一设备连接,所述第二CXL接口用于与第二设备连接,所述第一设备待向所述第二设备发送目标数据;
所述处理芯片用于获取所述目标数据在所述第一设备中的第一存储地址、以及所述第二设备中待存储所述目标数据的第二存储地址,并根据所述第一存储地址和所述第二存储地址,将所述第一设备中的所述目标数据传输至所述第二设备。
上述方案中,第一设备可以通过数据传输设备,向第二设备传输目标数据,目标数据的传输过程中,无需对目标数据进行网络语义转换,提高了数据传输效率。
第三方面,本申请实施例提供了一种计算系统,包括第一设备、第二设备和数据传输设备,其中,
所述数据传输设备包括处理芯片、第一CXL接口和第二CXL接口,所述处理芯片与所述第一CXL接口和第二CXL接口均连接,所述第一CXL接口与所述第一设备连接,所述第二CXL接口与所述第二设备连接,
所述处理芯片用于通过所述第一CXL接口从所述第一设备获取目标数据的第一存储信息,以及通过所述第二CXL接口从所述第二设备获取待存储所述目标数据的第二存储信息;
根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备。
上述方案中,第一设备可以通过数据传输设备,向第二设备传输目标数据,目标数据的传输过程中,无需对目标数据进行网络语义转换,提高了数据传输效率。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理芯片执行时用于实现如第一方面任一项所述的方法。
上述方案中,第一设备可以通过数据传输设备,向第二设备传输目标数据,目标数据的传输过程中,无需对目标数据进行网络语义转换,提高了数据传输效率。
本申请实施例提供的数据传输方法、设备及系统,可以通过第一CXL接口从第一设备获取目标数据的第一存储信息,以及通过第二CXL接口从第二设备获取待存储目标数据的第二存储信息;可以根据第一存储信息和第二存储信息,将第一设备中的目标数据传输至第二设备。上述方法中,无需对目标数据进行网络语义转换,提高了数据传输效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用场景的示意图;
图2为本申请实施例提供的一种数据传输示意图;
图3为本申请实施例提供的另一种数据传输示意图;
图4为本申请实施例提供的一种数据传输设备的结构示意图;
图5为本申请实施例提供的一种数据传输方法的流程示意图;
图6为本申请实施例提供的另一种数据传输方法的流程示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
本申请实施例涉及计算快速链接(Compute Express Link,CXL)技术。为便于理解,首先对CXL技术进行解释说明。
CXL:指一种高速串行协议。CXL技术允许在计算机系统内部的不同组件之间进行快速、可靠的数据传输。CXL技术旨在解决内存容量、内存带宽、以及输入/输出延迟等问题。
CXL协议包括三个子协议。三个子协议分别为CXL.io协议、CXL.cache协议、以及CXL.memory协议。
CXL.io协议:本质上是高速串行计算机扩展总线标准(peripheral componentinterconnect express,PCIE)协议的扩展。CXL.io协议用于设备的发现、配置、寄存器访问和中断等。
CXL.cache协议:该协议定义了CXL设备对计算设备内存的访问。CXL.cache协议允许CXL设备使用请求/响应机制访问计算设备的内存。
CXL.memory协议:该协议用于支持计算设备处理器访问CXL设备的内存。
CXL设备可以为类型1(Type 1)设备、类型2(Type 2)设备、以及类型3(Type 3)设备。
Type 1设备:支持CXL.io协议、以及CXL.cache协议。Type 1设备内可以包括处理芯片,Type 1设备可以通过处理芯片访问计算设备的内存。例如,Type 1设备可以为网卡(Network Interface Controller,NIC)、或者智能网卡(smart network interface Card,Smart NIC)等。
Type 2设备:支持CXL.io协议、CXL.cache协议、以及CXL.memory协议。Type 2设备内可以包括处理芯片、以及内存。Type 2设备可以通过处理芯片访问计算设备的内存,计算设备也可以访问Type 2设备的内存。例如,Type 2设备可以为图形处理器(graphicsprocessing unit,GPU)卡、专用集成电路(Application Specific Integrated Circuits,ASIC)卡、现场可编程门阵列(Field Programmable Gate Array,FPGA)卡、或者神经网络处理器(Neural Processing Unit,NPU)卡等。
Type 3设备:支持CXL.io协议、以及CXL.memory协议。Type 3设备内可以包括控制芯片和内存。计算设备可以访问Type 3设备的内存。例如,Type 3设备可以为内存扩展设备。
为便于理解,下面结合图1,对本申请实施例涉及的应用场景进行说明。
图1为本申请实施例提供的一种应用场景的示意图。请参见图1,计算设备1可以与计算设备2之间进行数据传输。例如,计算设备可以为服务器。
示例性的,计算设备1可以向计算设备2发送待传输数据,或者,计算设备1可以从计算设备2获取待传输数据。
本申请实施例对计算设备的具体类型不做限定。例如,计算设备可以为服务器、台式电脑、平板电脑、或人工智能设备等。服务器例如可以是图形处理器(GraphicsProcessing Unit,GPU)服务器或人工智能(Artificial Intelligence,AI)服务器等。
需要说明的是,计算设备的数量可以为两个或两个以上。图1仅以计算设备的数量为两个为例进行说明,并不构成对本申请实施例提供的技术方案的限定。
相关技术中,计算设备之间可以通过RDMA技术进行数据传输。下面,结合图2,对相关技术中,计算设备之间的数据传输方法进行说明。
图2为本申请实施例提供的一种数据传输示意图。请参见图2,计算设备1可以包括内存1和网卡1,计算设备2可以包括内存2和网卡2,计算设备1与计算设备2之间可以通过网卡进行通信。
目前,通过RDMA技术传输数据时,数据发送设备的网卡可以从数据发送设备的内存中获取待传输数据,可以根据待传输数据生成网络报文,并可以向数据接收设备的网卡发送网络报文。网络报文中可以包括待传输数据。
相应的,数据接收设备可以通过网卡接收网络报文。数据接收设备的网卡可以解析网络报文,以从网络报文中获取待传输数据。
示例性的,假设图2所示的计算设备1为数据发送设备,计算设备2为数据接收设备。则计算设备1的网卡1可以从内存1中获取待传输数据,可以根据待传输数据生成网络报文,并可以向计算设备2的网卡2发送网络报文。网络报文中可以包括待传输数据。网卡2可以接收网络报文,并解析网络报文,以从网络报文中获取待传输数据。
上述数据传输过程中,待传输数据需要以网络报文的形式进行传输。计算设备需要对待传输数据进行网络语义转换,数据传输过程所需的时长较大,导致数据传输效率较低。
有鉴于此,本申请实施例提供了一种数据传输方法,以提高数据传输效率。下面,结合图3,对本申请实施例提供的数据传输方法进行说明。
图3为本申请实施例提供的另一种数据传输示意图。请参见图3,计算设备1可以包括内存1和CXL接口。计算设备2可以包括内存2和CXL接口。数据传输设备可以包括两个CXL接口。计算设备1与数据传输设备之间可以通过数据传输设备的一个CXL接口连接,计算设备2与数据传输设备之间可以通过数据传输设备的另一个CXL接口连接。
可以理解的是,计算设备1的CXL接口可以为计算设备1的中央处理器的CXL接口,计算设备2的CXL接口可以为计算设备2的中央处理器的CXL接口。
需要说明的是,计算设备1和计算设备2包括的CXL接口的数量均可以为一个或多个(多个可以为两个或两个以上)。数据传输设备包括的CXL接口的数量可以为两个或两个以上。图3仅以计算设备1/计算设备2包括的CXL接口的数量为1,数据传输设备包括的CXL接口的数量为2为例进行说明,并不构成对本申请实施例提供的技术方案的限制。
若数据传输设备包括的CXL接口的数量为多个,数据传输设备可以通过每个CXL接口连接一个计算设备。也就是说,数据传输设备可以连接多个计算设备。多个计算设备中的任意两个或两个以上的计算设备,可以通过数据传输设备传输数据。
示例性的,假设数据传输设备通过多个CXL接口,分别与计算设备1、计算设备2、计算设备3、……以及计算设备n连接,n为大于或等于4的整数。则计算设备1可以通过数据传输设备同时向计算设备2、计算设备3、……以及计算设备n传输待传输数据;或者,计算设备1可以通过数据传输设备向计算设备2传输待传输数据1,同时,计算设备3可以通过数据传输设备向计算设备4传输待传输数据2。
假设图3中计算设备1为数据发送设备,计算设备2为数据接收设备。数据传输设备可以通过CXL接口从计算设备1的内存1中获取待传输数据,并可以通过CXL接口将待传输数据写入计算设备2。
本申请实施例提供的数据传输方法中,数据传输设备可以完成计算设备1与计算设备2之间的数据传输,计算设备1和计算设备2的中央处理器(Central Processing Unit,CPU)无需参与数据传输,使得计算设备的开销较小。另外,数据传输设备可以使用CXL协议、通过CXL接口,完成计算设备1与计算设备2之间的数据传输,数据传输过程无需对待传输数据进行网络语义转换,提高了数据传输效率。
下面以具体的实施例对本申请实施例的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图4为本申请实施例提供的一种数据传输设备的结构示意图。请参见图4,数据传输设备可以包括处理芯片、以及两个CXL接口,处理芯片与两个CXL接口均连接。
如图4所示的数据传输设备,数据传输设备可以通过处理芯片访问数据发送设备的内存,以从数据发送设备的内存中获取待传输数据。数据传输设备还可以将待传输数据写入数据接收设备,以实现数据发送设备与数据接收设备之间进行数据传输的目的。例如,数据发送设备、以及数据接收设备均可以为图1所示的计算设备。
图4所示的数据传输设备可以包括处理芯片,并可以通过处理芯片访问计算设备的内存。也就是说,数据传输设备具有访问计算设备的内存的能力。由此,数据传输设备可以为Type1设备。
需要说明的是,本申请实施例中对数据传输设备的具体结构不做限定。数据传输设备可以是任何包含图4中相似结构的电子设备。数据传输设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
下面,结合图5,对本申请实施例提供的数据传输方法进行说明。
图5为本申请实施例提供的一种数据传输方法的流程示意图。该方法的执行主体可以为图4所示的数据传输设备,也可以为设置在数据传输设备中的处理芯片。下面仅以执行主体为设置在数据传输设备中的处理芯片为例进行说明。请参见图5,该方法可以包括:
S501、响应于第一设备向第二设备传输目标数据的请求,处理芯片通过第一CXL接口从第一设备获取目标数据的第一存储信息,以及通过第二CXL接口从第二设备获取待存储目标数据的第二存储信息。
本实施例中,数据传输设备可以包括处理芯片、第一CXL接口和第二CXL接口,第一CXL接口与第一设备连接,第二CXL接口与第二设备连接。
第一设备可以为,用于发送目标数据的数据发送设备。
第二设备可以为,用于接收目标数据的数据接收设备。
示例性的,第一设备可以为,用于发送目标数据的服务器,例如,图3中的计算设备1。第二设备可以为,用于接收目标数据的服务器,例如,图3中的计算设备2。
第一存储信息可以为,目标数据在第一设备中的存储地址。目标数据在第一设备中的存储地址可以为,第一设备的内存中的物理地址。
第二存储信息可以为,第二设备待存储目标数据的存储空间的存储地址。第二设备待存储目标数据的存储空间的存储地址可以为,第二设备的内存中的物理地址。
本实施例中,第一设备或者第二设备,可以请求处理芯片对目标数据进行传输。例如,第一设备可以根据CXL.io协议向处理芯片发送第一存储信息,以请求处理芯片对目标数据进行传输;或者,第二设备可以根据CXL.io协议向处理芯片发送第二存储信息,以请求处理芯片对目标数据进行传输。
需要说明的是,处理芯片获取第一存储信息、以及第二存储信息之前,若第一设备需要给第二设备传输目标数据,第一设备可以确定第一存储信息,并请求数据传输设备对目标数据进行传输。另外,第一设备可以与第二设备进行通信,以使第二设备确定存储目标数据所需的存储空间的大小。例如,第一设备可以通过网络与第二设备进行通信。第二设备可以根据存储目标数据所需的存储空间的大小,确定第二存储信息,并请求数据传输设备对目标数据进行传输。
本实施例中,第一设备确定第一存储信息后,可以通过第一CXL接口,根据CXL.io协议向处理芯片发送第一存储信息,以使处理芯片可以获取第一存储信息。第二设备确定第二存储信息后,可以通过第二CXL接口,根据CXL.io协议向处理芯片发送第二存储信息,以使处理芯片可以获取第二存储信息。
在其他实施例中,第二设备确定第二存储信息后,还可以通过网络向第一设备发送第二存储信息。第一设备确定第一存储信息、且接收第二设备发送的第二存储信息后,可以通过第一CXL接口,根据CXL.io协议向处理芯片发送第一存储信息和第二存储信息,以使处理芯片可以获取第一存储信息和第二存储信息。
在又一其他实施例中,第一设备确定第一存储信息后,可以通过网络向第二设备发送第一存储信息。第二设备确定第二存储信息、且接收第一设备发送的第一存储信息后,可以通过第二CXL接口,根据CXL.io协议向处理芯片发送第一存储信息和第二存储信息,以使处理芯片可以获取第一存储信息和第二存储信息。
S502、根据第一存储信息和第二存储信息,将第一设备中的目标数据传输至第二设备。
本实施例中,处理芯片可以根据第一存储信息,从第一设备中读取目标数据;处理芯片还可以根据第二存储信息,将目标数据写入第二设备,以实现将第一设备中的目标数据传输至第二设备的目的。
可选的,数据传输设备包括存储器,存储器的数量可以为一个或多个。存储器可以设置于处理芯片上;或者,存储器可以独立于处理芯片单独设置,且可以与处理芯片连接。例如,存储器可以为寄存器、缓存或者双倍数据率同步动态随机存取存储器(Double DataRate,DDR)。
本实施例中,处理芯片可以根据第一存储信息,通过第一CXL接口在第一设备中获取目标数据,并将目标数据存储至存储器中;根据第二存储信息,通过第二CXL接口将存储器中的目标数据存储至第二设备。
具体而言,处理芯片可以通过第一CXL接口、根据CXL.cache协议访问第一设备,可以根据第一存储信息从第一设备中读取目标数据,并可以将目标数据存储至存储器中。处理芯片还可以通过第二CXL接口、根据CXL.cache协议访问第二设备,可以根据第二存储信息,将存储器中存储的目标数据存储至第二设备。
可选的,处理芯片将目标数据存储至第二设备后,可以将目标数据的传输状态设置为已完成状态,示例的,可以在处理芯片的寄存器中存储目标数据已完成传输的状态。第一设备和第二设备可以通过轮询的方式读取寄存器中存储的目标数据的传输状态。当然,处理芯片还可以向第一设备和第二设备发送中断信息。中断信息可以用于,指示第一设备和第二设备从数据传输设备中获取目标数据的传输状态。第一设备和第二设备接收中断信息后,可以从数据传输设备中获取目标数据的传输状态,例如从寄存器中获取目标数据的传输状态。
可选的,处理芯片完成目标数据的传输任务后,可以继续执行S501-S502,以对其他目标数据进行传输。
本实施例提供的数据传输方法中,数据传输设备的处理芯片可以通过第一CXL接口从第一设备获取目标数据的第一存储信息,以及通过第二CXL接口从第二设备获取待存储目标数据的第二存储信息;可以根据第一存储信息和第二存储信息,将第一设备中的目标数据传输至第二设备。上述方法中,无需对目标数据进行网络语义转换,提高了数据传输效率。
在上述任一实施例的基础上,第一存储信息可以包括至少一个第一存储空间的存储地址。数据传输设备的处理芯片可以通过至少一个拷贝线程,从第一设备中拷贝数据。下面,结合图6,对本申请实施例提供的数据传输方法进行进一步说明。
图6为本申请实施例提供的另一种数据传输方法的流程示意图。该方法的执行主体可以为图4所示的数据传输设备,也可以为设置在数据传输设备中的处理芯片。下面仅以执行主体为设置在数据传输设备中的处理芯片为例进行说明。请参见图6,该方法可以包括:
S601、通过第一CXL接口从第一设备获取目标数据的第一存储信息,以及通过第二CXL接口从第二设备获取待存储目标数据的第二存储信息。
需要说明的是,S601的具体实现方式可以参见S501,此处不再赘述。
可选的,处理芯片获取第一存储信息和第二存储信息后,还可以根据第一存储信息和第二存储信息,确定是否满足目标数据的传输要求。
本实施例中,确定是否满足目标数据的传输需求,至少存在如下两种情况:
情况1、确定目标数据在第一设备中所占存储空间的容量,与第二设备为目标数据分配的存储空间的容量是否相同。
该情况下,处理芯片可以根据第一存储信息,确定目标数据在第一设备中所占存储空间的第一空间容量;根据第二存储信息,确定第二设备为目标数据所分配的存储空间的第二空间容量;确定第一空间容量和第二空间容量是否相同。
具体而言,第一存储信息中可以包括第一存储空间的存储地址。第一存储空间的数量可以为一个或多个。处理芯片可以根据一个或多个第一存储空间的存储地址,确定第一空间容量。第二存储信息中可以包括第二存储空间的存储地址,第二存储空间的数量可以为一个或多个。处理芯片可以根据第二存储空间的存储地址,确定第二空间容量。若第一空间容量与第二空间容量相同,则处理芯片确定可以开始从第一设备拷贝数据。若第一空间容量与第二空间容量不相同,则处理芯片可以终止数据传输。
该情况下,若第一空间容量和第二空间容量相等,可以确定第二设备为目标数据分配的存储空间可以用于存储目标数据。也就是说,第二设备满足目标数据的存储需求,数据传输设备可以从第一设备向第二设备传输目标数据。
情况2、确定数据传输设备中的存储器的容量,是否大于或等于目标数据在第一设备中所占存储空间的容量。
该情况下,处理芯片可以根据第一存储信息,确定目标数据在第一设备中所占存储空间的第一空间容量;确定数据传输设备中的存储器的第三空间容量;确定第三空间容量是否大于或等于第一空间容量。
具体而言,第一存储信息中可以包括第一存储空间的存储地址。第一存储空间的数量可以为一个或多个。处理芯片可以根据一个或多个第一存储空间的存储地址,确定第一空间容量。若第一空间容量大于存储器的第三空间容量,则处理芯片可以终止数据传输。
该情况下,若第三空间容量大于或等于第一空间容量,可以确定数据传输设备中的存储空间足够存储目标数据。也就是说,数据传输设备满足目标数据的传输要求。
需要说明的是,具体实现过程中,处理芯片可以根据上述任一情况所示的方法、或者上述两种情况所示方法的结合,判断是否满足目标数据的传输要求。
可选的,若满足目标数据的传输要求,处理芯片可以将目标数据的传输状态设置为已就绪,还可以向第一设备和第二设备发送中断信息。中断信息可以用于,指示第一设备和第二设备从数据传输设备中获取目标数据的传输状态。
可选的,第一设备/第二设备接收中断信息后,可以从数据传输设备中获取目标数据的传输状态。若目标数据的传输状态为已就绪,第一设备/第二设备可以向处理芯片发送目标数据传输请求,以请求处理芯片开始对目标数据进行传输。
S602、根据存储器的第一数量、以及第一存储空间的第二数量,确定M个拷贝线程,M为第一数量和第二数量中的最小值。
本实施例中,数据传输设备可以包括一个或多个存储器。例如,存储器可以为设置于处理芯片上的寄存器。一个或多个存储器可以用于存储目标数据。
本实施例中,第一存储信息中包括第一存储空间的存储地址,第一存储空间的数量可以为一个或多个。
当第一存储空间的数量为一个时,第一存储信息中包括一个第一存储空间的存储地址,第一存储空间可以为,第一设备中用于存储目标数据的内存空间。
第一存储空间的存储地址可以为,第一设备中用于存储目标数据的内存空间的物理地址。
当第一存储空间的数量为多个时,第一存储信息中包括多个第一存储空间的存储地址,第一存储空间可以为,第一设备中用于存储部分目标数据的内存空间。
第一存储空间的存储地址可以为,第一设备中用于存储部分目标数据的内存空间的物理地址。
第一存储空间的存储地址可以通过第一存储空间的首地址、以及第一存储空间的长度表示;或者,第一存储空间的存储地址可以通过第一存储空间的首地址、以及第一存储空间的结束地址表示。
本实施例中,若第一存储空间的数量的为一个,则目标数据可以存储于第一设备的内存中一个连续的存储空间内。若第一存储空间的数量为多个,则目标数据可以存储于第一设备的内存中多个不连续的存储空间内。其中,多个为两个或两个以上。
本实施例中,针对任意一个拷贝线程,处理芯片可以通过拷贝线程拷贝一个连续的存储空间的目标数据,并可以将拷贝得到的目标数据存储至拷贝线程对应的存储器中。也就是说,存储器与拷贝线程相互对应。
示例性的,假设数据传输设备中存储器的第一数量为3,第一存储空间的第二数量为2。则处理芯片可以确定拷贝线程的数量为2。
S603、确定每个拷贝线程对应的第一存储空间的存储地址。
本实施例中,若M等于第一存储空间的第二数量,处理芯片可以为每个拷贝线程确定一个第一存储空间的存储地址,并可以通过一次并行拷贝操作,拷贝目标数据。若M小于第一存储空间的第二数量,处理芯片可以为每个拷贝线程确定一个或多个第一存储空间的存储地址,并可以通过多次并行拷贝操作,拷贝目标数据。其中,多次可以为两次或两次以上。
示例性的,假设M等于2,第二数量也等于2,处理芯片可以为每个拷贝线程确定一个第一存储空间的存储地址。假设M等于2,第二数量等于3,处理芯片可以为一个拷贝线程确定一个第一存储空间的存储地址、并可以为另一个拷贝线程确定两个第一存储空间的存储地址。
S604、通过第一CXL接口,并行使用M个拷贝线程根据对应的第一存储空间的存储地址拷贝数据、并将拷贝的数据对应存储至存储器,直至将目标数据存储至存储器中。
本实施例中,若M大于1,并行通过M个拷贝线程根据对应的第一存储空间的存储地址拷贝数据,可以提高目标数据的拷贝效率,以进一步提高目标数据的传输效率。
需要说明的是,处理芯片通过每个拷贝线程拷贝数据的方法相同。下面,以任意一个拷贝线程为例,对处理芯片通过每个拷贝线程拷贝数据的过程进行说明。
本实施例中,针对任意一个拷贝线程;通过拷贝线程根据对应的第一存储空间的存储地址拷贝数据时,可以判断第一设备的缓存中是否存在第一存储空间的存储地址对应的数据;若是,则根据对应的第一存储空间的存储地址,通过拷贝线程从第一设备的缓存拷贝数据;若否,则根据对应的第一存储空间的存储地址,通过拷贝线程从第一设备的内存拷贝数据。例如,第一设备的缓存可以为,第一设备的CPU缓存。
具体而言,处理芯片可以先在第一设备的缓存中查询第一存储空间的存储地址,若第一设备的缓存中包括第一存储空间的存储地址,处理芯片可以从第一设备的缓存中拷贝第一存储空间的存储地址对应的数据;若第一设备的缓存中不包括第一存储空间的存储地址,处理芯片可以从第一设备的内存中拷贝第一存储空间的存储地址对应的数据。
应该理解的是,若第一设备的缓存中包括第一存储空间的存储地址,第一设备的缓存中包括的第一存储空间的存储地址对应的数据,与第一设备的内存中包括的第一存储空间的存储地址对应的数据相同。
本实施例中,若第一设备的缓存中包括第一存储空间的存储地址对应的数据,数据传输装置的处理芯片优先从第一设备的缓存中拷贝数据,进一步提高了数据传输效率。
本实施例中,处理芯片可以通过CXL.cache协议的读(Read)语义,从第一存储空间的存储地址拷贝数据。
本实施例中,在一次并行拷贝数据的过程中,一个拷贝线程可以对应一个存储器。针对任意一个拷贝线程,处理芯片可以通过拷贝线程,将从第一存储空间拷贝的数据存储至对应的存储器中。
一个示例中,M等于第一存储空间的第二数量,处理芯片通过M个拷贝线程并行拷贝一次数据,可以实现将目标数据存储至存储器的目的。
另一个示例中,M小于第一存储空间的第二数量,处理芯片可以通过M个拷贝线程执行多次并行拷贝处理,并可以在多次并行拷贝处理后,将目标数据存储至存储器。其中,多次可以为两次或两次以上。例如M等于2,第二数量等于3,也就是处理芯片的存储器为两个,例如为第一存储器和第二存储器,则处理芯片第一次可以通过两个拷贝线程将对应的两个第一存储空间的数据分别拷贝至第一存储器和第二存储器,处理芯片第二次可以通过一个拷贝线程将剩下的一个第一存储空间的数据拷贝至第一存储器或第二存储器,从而实现将目标数据存储至存储器的目的。
S605、根据第二存储信息,通过第二CXL接口将存储器中的目标数据存储至第二设备。
本实施例中,第二存储信息中可以包括第二存储空间的存储地址,第二存储空间的数量可以为一个或多个。
当第二存储空间的数量为一个时,第二存储信息中包括一个第二存储空间的存储地址,第二存储空间可以为,第二设备中用于存储目标数据的内存空间。
第二存储空间的存储地址可以为,第二设备中用于存储目标数据的内存空间的物理地址。
当第二存储空间的数量为多个时,第二存储信息中包括多个第二存储空间的存储地址,第二存储空间可以为,第二设备中用于存储部分目标数据的内存空间。
第二存储空间的存储地址可以通过第二存储空间的首地址、以及第二存储空间的长度表示;或者,第二存储空间的存储地址可以通过第二存储空间的首地址、以及第二存储空间的结束地址表示。
本实施例中,若第二存储空间的数量的为一个,则目标数据可以存储于第二设备的内存中一个连续的存储空间内。若第二存储空间的数量的为多个,则目标数据可以存储于第二设备的内存中多个不连续的存储空间内。其中,多个为两个或两个以上。
本实施例中,处理芯片可以通过CXL.cache协议的写(Write)语义,将存储器中的目标数据存储至第二设备。
本实施例中,处理芯片可以确定目标数据与第二存储空间的存储地址之间的映射关系;根据映射关系,通过第二CXL接口将目标数据存储至第二存储空间。
需要说明的是,处理芯片可以根据第一存储信息、以及第二存储信息,确定目标数据与第二存储空间的存储地址之间的映射关系。
具体而言,若第一存储信息包括一个第一存储空间的存储地址,处理芯片可以确定第二存储空间的数量;可以按照第二存储空间的数量,将目标数据分为一份或多份(多份为两份或两份以上),第二存储空间的数量与目标数据的份数相同;并可以按照第二存储空间的存储顺序、以及每份目标数据的顺序,依次确定每份目标数据与第二存储空间的存储地址之间的映射关系。
示例性的,假设第一存储信息包括一个第一存储空间的存储地址,第一存储空间的容量为5MB(即目标数据的大小为5MB)。假设第二存储信息包括2个第二存储空间的存储地址,第1个第二存储空间的大小为2MB,第2个第二存储空间的大小为3MB。处理芯片可以将目标数据分为2份,第1份目标数据的大小可以为2MB,第2份目标数据的大小可以为3MB。处理芯片可以确定,第1份目标数据与第1个第二存储空间的存储地址对应、且第2份目标数据与第2个第二存储空间的存储地址对应。
若第一存储信息包括多个第一存储空间的存储地址,处理芯片可以确定多个第一存储空间的存储顺序、以及第二存储空间的数量;可以根据多个第一存储空间的存储顺序,依次将多个第一存储空间存储的目标数据分为一份或多份,第二存储空间的数量与目标数据的份数相同;并可以按照第二存储空间的存储顺序、以及每份目标数据的顺序,依次确定每份目标数据与第二存储空间的存储地址之间的映射关系。
示例性的,假设第一存储信息包括2个第一存储空间的存储地址,第1个第一存储空间的大小为2MB,第2个第二存储空间的大小为2MB。假设第二存储信息包括1个第二存储空间的存储地址。处理芯片可以根据2个第一存储空间的存储顺序,将2个第一存储空间中存储的目标数据拼接为1份目标数据,并可以确定该1份目标数据与第二存储空间的存储地址对应。
假设第一存储信息包括2个第一存储空间的存储地址,第1个第一存储空间的大小为2MB,第2个第二存储空间的大小为2MB。假设第二存储信息包括2个第二存储空间的存储地址。第1个第二存储空间的大小为3MB,第2个第二存储空间的大小为1MB。处理芯片可以根据2第一存储空间的存储顺序,将目标数据分为2份,第1份目标数据的大小可以为3MB,第2份目标数据的大小可以为1MB。处理芯片可以确定,第1份目标数据与第1个第二存储空间的存储地址对应、且第2份目标数据与第2个第二存储空间的存储地址对应。
可选的,确定映射关系后,处理芯片可以根据映射关系,通过第二CXL接口将目标数据存储至第二设备的CPU缓存中。
可选的,处理芯片将目标数据存储至第二设备后,可以将目标数据的传输状态设置为已完成状态,示例的,可以在处理芯片的寄存器中存储目标数据已完成传输的状态。第一设备和第二设备可以通过轮询的方式读取寄存器中存储的目标数据的传输状态。当然,处理芯片还可以向第一设备和第二设备发送中断信息。中断信息可以用于,指示第一设备和第二设备从数据传输设备中获取目标数据的传输状态。第一设备和第二设备接收中断信息后,可以从数据传输设备中获取目标数据的传输状态,例如从寄存器中获取目标数据的传输状态。
本实施例提供的数据传输方法中,处理芯片可以通过第一CXL接口从第一设备获取目标数据的第一存储信息,以及通过第二CXL接口从第二设备获取待存储目标数据的第二存储信息;可以根据存储器的第一数量、以及第一存储空间的第二数量,确定M个拷贝线程;可以确定每个拷贝线程对应的第一存储空间的存储地址;可以通过第一CXL接口,并行使用M个拷贝线程根据对应的第一存储空间的存储地址拷贝数据、并将拷贝的数据对应存储至存储器,直至将目标数据存储至存储器中;可以根据第二存储信息,通过第二CXL接口将存储器中的目标数据存储至第二设备。上述方法中,无需对目标数据进行网络语义转换,提高了数据传输效率。
本申请实施例还提供了一种数据传输设备,包括处理芯片和至少两个CXL接口,所述至少两个CXL接口中包括第一CXL接口和第二CXL接口,其中,
所述第一CXL接口用于与第一设备连接,所述第二CXL接口用于与第二设备连接,所述第一设备待向所述第二设备发送目标数据;
所述处理芯片用于获取所述目标数据在所述第一设备中的第一存储地址、以及所述第二设备中待存储所述目标数据的第二存储地址,并根据所述第一存储地址和所述第二存储地址,将所述第一设备中的所述目标数据传输至所述第二设备。
本实施例提供的数据传输设备,可用于执行上述方法实施例所示的数据传输方法,其实现原理和技术效果类似,此处不作赘述。
本申请实施例还提供了一种计算系统,包括第一设备、第二设备和数据传输设备,其中,
所述数据传输设备包括处理芯片、第一CXL接口和第二CXL接口,所述处理芯片与所述第一CXL接口和第二CXL接口均连接,所述第一CXL接口与所述第一设备连接,所述第二CXL接口与所述第二设备连接;
所述处理芯片用于通过所述第一CXL接口从所述第一设备获取目标数据的第一存储信息,以及通过所述第二CXL接口从所述第二设备获取待存储所述目标数据的第二存储信息;
所述处理芯片用于根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备。
本实施例提供的计算系统,可用于执行上述方法实施例所示的数据传输方法,其实现原理和技术效果类似,此处不作赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理芯片执行时可用于执行上述方法实施例所示的数据传输方法,其实现原理和技术效果类似,此处不作赘述。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppydisk)、光盘(英文:optical disc)及其任意组合。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程终端设备的处理单元以产生一个机器,使得通过计算机或其他可编程终端设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程终端设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请实施例也意图包含这些改动和变型在内。
在本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。术语“或”及其变形可以指“和/或”。本申请实施例中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请实施例中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域技术人员在考虑说明书及实践里公开的发明后,将容易想到本申请的其它实施方案。本申请实施例旨在涵盖本申请实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请实施例的一般性原理并包括本申请实施例未公开的本技术领域中的公知常识或惯用技术手段。
Claims (10)
1.一种数据传输方法,其特征在于,应用于数据传输设备,所述数据传输设备包括处理芯片、第一计算快速链接CXL接口和第二CXL接口,所述处理芯片与所述第一CXL接口和所述第二CXL接口均连接,所述第一CXL接口用于与第一设备连接,所述第二CXL接口用于与第二设备连接,所述方法还包括:
响应于所述第一设备向所述第二设备传输目标数据的请求,所述处理芯片通过所述第一CXL接口从所述第一设备获取所述目标数据的第一存储信息,以及通过所述第二CXL接口从所述第二设备获取待存储所述目标数据的第二存储信息;
根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备。
2.根据权利要求1所述的方法,其特征在于,所述数据传输设备包括存储器,所述存储器的数量为一个或多个;所述根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备,包括:
根据所述第一存储信息,通过所述第一CXL接口在所述第一设备中获取所述目标数据,并将所述目标数据存储至所述存储器中;
根据所述第二存储信息,通过所述第二CXL接口将所述存储器中的所述目标数据存储至所述第二设备。
3.根据权利要求2所述的方法,其特征在于,所述第一存储信息中包括第一存储空间的存储地址,所述第一存储空间的数量可以为一个或多个;所述根据所述第一存储信息,通过所述第一CXL接口在所述第一设备中获取所述目标数据,包括:
根据所述存储器的第一数量、以及所述第一存储空间的第二数量,确定M个拷贝线程,所述M为所述第一数量和所述第二数量的最小值;
确定每个拷贝线程对应的第一存储空间的存储地址;
通过所述第一CXL接口,并行通过所述M个拷贝线程根据对应的第一存储空间的存储地址拷贝数据、并将拷贝的数据对应存储至存储器,直至将目标数据存储至存储器中。
4.根据权利要求3所述的方法,其特征在于,针对任意一个拷贝线程;通过所述拷贝线程根据对应的第一存储空间的存储地址拷贝数据,包括:
判断所述第一设备的缓存中是否存在所述第一存储空间的存储地址对应的数据;
若是,则根据所述对应的第一存储空间的存储地址,通过所述拷贝线程从所述第一设备的缓存拷贝数据;
若否,则根据所述对应的第一存储空间的存储地址,通过所述拷贝线程从所述第一设备的内存拷贝数据。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述将所述目标数据存储至所述存储器中,包括:
在一个或多个存储器中确定每个拷贝线程对应的存储器;
将每个拷贝线程拷贝得到的数据存储至对应的存储器中。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备之前,还包括:
根据所述第一存储信息,确定所述目标数据在所述第一设备中所占存储空间的第一空间容量;
根据所述第二存储信息,确定所述第二设备为所述目标数据所分配的存储空间的第二空间容量;
确定所述第一空间容量和所述第二空间容量是否相同。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备之前,还包括:
根据所述第一存储信息,确定所述目标数据在所述第一设备中所占存储空间的第一空间容量;
确定所述数据传输设备中的存储器的第三空间容量;
确定所述第三空间容量是否大于或等于所述第一空间容量。
8.根据权利要求2-7任一项所述的方法,其特征在于,所述第二存储信息中包括第二存储空间的存储地址,所述第二存储空间的数量可以为一个或多个;所述根据所述第二存储信息,通过所述第二CXL接口将所述存储器中的所述目标数据存储至所述第二设备,包括:
确定所述目标数据与所述第二存储空间的存储地址之间的映射关系;
根据所述映射关系,通过所述第二CXL接口将所述目标数据存储至所述第二存储空间。
9.一种数据传输设备,其特征在于,包括处理芯片和至少两个CXL接口,所述处理芯片与每个CXL接口均连接,所述至少两个CXL接口中包括第一CXL接口和第二CXL接口,其中,
所述第一CXL接口用于与第一设备连接,所述第二CXL接口用于与第二设备连接,所述第一设备待向所述第二设备发送目标数据;
所述处理芯片用于获取所述目标数据在所述第一设备中的第一存储地址、以及所述第二设备中待存储所述目标数据的第二存储地址,并根据所述第一存储地址和所述第二存储地址,将所述第一设备中的所述目标数据传输至所述第二设备。
10.一种计算系统,其特征在于,包括第一设备、第二设备和数据传输设备,其中,
所述数据传输设备包括处理芯片、第一CXL接口和第二CXL接口,所述处理芯片与所述第一CXL接口和第二CXL接口均连接,所述第一CXL接口与所述第一设备连接,所述第二CXL接口与所述第二设备连接;
所述处理芯片用于通过所述第一CXL接口从所述第一设备获取目标数据的第一存储信息,以及通过所述第二CXL接口从所述第二设备获取待存储所述目标数据的第二存储信息;
所述处理芯片用于根据所述第一存储信息和所述第二存储信息,将所述第一设备中的所述目标数据传输至所述第二设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311805734.2A CN118018481A (zh) | 2023-12-26 | 2023-12-26 | 数据传输方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311805734.2A CN118018481A (zh) | 2023-12-26 | 2023-12-26 | 数据传输方法、设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118018481A true CN118018481A (zh) | 2024-05-10 |
Family
ID=90943759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311805734.2A Pending CN118018481A (zh) | 2023-12-26 | 2023-12-26 | 数据传输方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118018481A (zh) |
-
2023
- 2023-12-26 CN CN202311805734.2A patent/CN118018481A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403247B2 (en) | Methods and apparatus for network interface fabric send/receive operations | |
EP3846040A1 (en) | Neural network data processing apparatus, method and electronic device | |
CN109558344B (zh) | 一种适用于网络传输的dma传输方法及dma控制器 | |
US8325761B2 (en) | System and method for establishing sufficient virtual channel performance in a parallel computing network | |
US20090119460A1 (en) | Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space | |
EP3077914B1 (en) | System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface | |
CN115934623B (zh) | 一种基于远程直接内存访问的数据处理方法、设备及介质 | |
CN115934625B (zh) | 一种用于远程直接内存访问的敲门铃方法、设备及介质 | |
CN102291298A (zh) | 一种高效的面向长消息的计算机网络通信方法 | |
CN105677491A (zh) | 一种数据传输方法及装置 | |
CN117312229B (zh) | 一种数据传输装置、数据处理设备、系统、方法及介质 | |
US20020112105A1 (en) | Method and apparatus for efficient messaging between memories across a PCI bus | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN116841936A (zh) | 一种多设备的数据处理方法、装置、系统和计算机设备 | |
CN118018481A (zh) | 数据传输方法、设备及系统 | |
US10579310B2 (en) | System and method for reliably persisting storage writes at high speed | |
US8898353B1 (en) | System and method for supporting virtual host bus adaptor (VHBA) over infiniband (IB) using a single external memory interface | |
EP4387201A1 (en) | Rdma data transmission system, rdma data transmission method, and network device | |
US10250515B2 (en) | Method and device for forwarding data messages | |
KR20050080704A (ko) | 프로세서간 데이터 전송 장치 및 방법 | |
CN106325377B (zh) | 外部设备扩展卡及输入输出外部设备的数据处理方法 | |
CN114238156A (zh) | 处理系统以及操作处理系统的方法 | |
CN114625220A (zh) | 服务器及其数据处理方法 | |
CN107085557A (zh) | 直接存储器访问系统以及相关方法 | |
CN115604198B (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 |