CN114285917B - 一种基于PCIe NTB的多主机通讯方法和装置 - Google Patents

一种基于PCIe NTB的多主机通讯方法和装置 Download PDF

Info

Publication number
CN114285917B
CN114285917B CN202111639076.5A CN202111639076A CN114285917B CN 114285917 B CN114285917 B CN 114285917B CN 202111639076 A CN202111639076 A CN 202111639076A CN 114285917 B CN114285917 B CN 114285917B
Authority
CN
China
Prior art keywords
packet
host
transmission
packets
response
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
Application number
CN202111639076.5A
Other languages
English (en)
Other versions
CN114285917A (zh
Inventor
李正杰
宁佐林
苏海亮
陈楚冠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Zhongxing Microsystem Technology Co ltd
Original Assignee
Wuxi Zhongxing Microsystem Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi Zhongxing Microsystem Technology Co ltd filed Critical Wuxi Zhongxing Microsystem Technology Co ltd
Priority to CN202111639076.5A priority Critical patent/CN114285917B/zh
Publication of CN114285917A publication Critical patent/CN114285917A/zh
Application granted granted Critical
Publication of CN114285917B publication Critical patent/CN114285917B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于PCIe NTB的多主机通讯方法和装置,用于在由PCIe NTB链接的多个主机之间进行消息传递,该方法包括:预先定义用于多主机消息通讯的包头格式;将主机之间的传输划分为多个包,传输包括请求传输或响应传输;根据预先定义的包头格式,将每个包的包头字段进行填充;利用PAD寄存器将填充后的包依次从源主机发送到目的主机,并在目的主机将多个包重组为事务,以实现多主机消息通讯。本发明实现了独立于业务地址映射的PCIe NTB链接的多主机通讯,为上层应用提供了独立于不同厂商的统一的应用接口。

Description

一种基于PCIe NTB的多主机通讯方法和装置
技术领域
本发明属于总线设计领域,特别涉及一种基于PCIe NTB的多主机通讯方法和装置。
背景技术
PCIe(PCI Express)是一种高速串行计算机扩展总线标准。如图1的PCIe的典型拓扑结构图所示。整个拓扑结构中只有一个主机Host,Host可以访问拓扑结构中的所有EP设备(Endpoint,即PCIe端点设备)。对主CPU而言,只支持有限数量的PCIe端口,此时就需要使用PCIe Switch来扩展系统可使用的PCIe端口。
在某些通信和存储业务场景中,可能存在多个主机系统,多主机共享设备的场景应用如图2所示,诸如存储双控的镜像,或双主机的Failover场景。多个主机系统之间通过地址映射的方式进行通讯。例如Host1可以访问EP10、EP11、EP12、EP13,Host1也需要访问EP20、EP21、EP22、EP23的设备。但由于多Host不能共同存在于同一个PCIe拓扑结构,必须分为多个PCIe拓扑结构域,每个PCIe拓扑结构域存在一个Host。如果Host1要访问PCIeSwitch 2下挂的设备,则访问操作需要跨越两个PCIe拓扑结构域。为了解决跨PCIe拓扑结构域的访问,引入了NT技术,如NTB(Non Transparent Bridge,非透明桥),以在不同的Host地址域之间进行地址翻译。NT技术可以实现在主机CPU上,也可以实现在PCIe Switch上。
NT除实现多主机的地址映射通讯之外,还可以用于实现多主机的简单消息通讯。消息通讯方式适用于数据量较少,时延要求不高的管理消息。也就是说,现有技术中有两种消息通讯方式,分别为基于地址映射和基于PAD的方式。对于基于地址映射方式,需要预先知道两端Host的地址/内存,并且需要配置后才能正常工作。而地址/内存信息可能只有在Host重新启动后才能获得,并且双方Host需要交换该信息才能正常配置,因此这种方案应用条件有限。而对于基于PAD的方式,采用的是可以被多主机访问的公共暂存器,即PAD寄存器,用于主机直接单向传递较少量的数据,一般为4字节或8字节。例如Host1写入PAD寄存器,Host2则读取PAD寄存器,从而获取到Host1写的内容,使得主机间的消息通讯更为方便快捷。然而,当Host1发出消息传递请求,Host2返回通讯响应时,一方面,请求或响应的数据量可能有几十甚至几百字节,远超出PAD寄存器自身的容量。另一方面,基于PAD的应用是固定的,每个应用都有自己对PAD的应用规则,而且不同厂商的PAD寄存器的NT实现方式也可能不同,对于由于当更换应用时,或者更换PAD实现时,需要重新定义PAD的相关协议并重新编写相关代码。因此现有方案的通用性有待提高。
发明内容
本发明的目的在于提出一种通用的通讯协议,在屏蔽不同厂商的硬件差异的基础上,实现由PCIe NTB链接的多个主机Host之间的独立于NT地址映射的消息通讯,并以统一的软件接口减少上层应用软件的重复开发。
根据本发明的第一方面,本发明提供了一种基于PCIe NTB的多主机通讯方法,用于在由PCIe NTB链接的多个主机之间进行消息传递,该方法包括:
预先定义用于多主机消息通讯的包头格式;
将主机之间的传输划分为多个包,所述传输包括请求传输或响应传输;
根据预先定义的包头格式,将每个包的包头字段进行填充;
利用PAD寄存器将填充后的包依次从源主机发送到目的主机,并在所述目的主机将多个包重组为事务,以实现所述多主机消息通讯。
优选地,所述包头包括类型字段,用于指示当前包的类型,其中所述包的类型进一步包括请求包、响应包、确认包和继续包。
优选地,所述请求包表示由所述请求传输划分成的包,由源主机发送到目的主机;所述响应包表示由所述响应传输划分成的包,由所述目的主机返回到所述源主机。
优选地,所述包头中包括长度字段,用于指示当前包的载荷数据长度;
所述请求包和所述响应包的载荷数据长度不大于所述PAD寄存器的宽度与所述包头长度的差。
优选地,所述确认包表示所述目的主机对前序请求包的确认信息,并且所述继续包表示所述源主机对前序响应包的确认信息。
优选地,所述确认包和所述继续包的载荷数据长度为0。
优选地,所述将主机之间的传输划分为多个包,进一步包括:
获取请求传输或响应传输中的原始载荷数据;
将所述原始载荷数据进行分片,依次将每个分片与所述包头封装为包,使得每个包的大小等于所述PAD寄存器的宽度;
如果当前传输中的最后一个包的大小小于所述PAD寄存器的宽度,则补齐所述最后一个分片的字节数,直到所有包的大小相等。
优选地,所述事务包含以下任一组合:
请求包和确认包;
请求包和响应包;或
继续包和响应包。
优选地,所述实现所述多主机消息通讯,进一步包括:
将主机之间的传输封装成统一的应用接口,以供上层应用进行调用。
根据本发明的第二方面,提供了一种基于PCIe NTB的多主机通讯装置,用于在由PCIe NTB链接的多个主机之间进行消息传递,该装置包括:
定义模块,用于预先定义用于多主机消息通讯的包头格式;
分片重组模块,用于将主机之间的传输划分为多个包,所述传输包括请求传输或响应传输;
填充模块,用于根据预先定义的包头格式,将每个包的包头字段进行填充;
通讯模块,用于利用PAD寄存器将填充后的包依次从源主机发送到目的主机,并在所述目的主机将多个包重组为事务,以实现所述多主机消息通讯。
相比于现有技术,本发明的方案实现了独立于业务地址映射的多主机通讯,即在业务的地址映射未建立之前,可以在PCIe NTB链接的多个Host之间交换部分消息,并且实现了不同长度的PAD数据交互。本发明的方案为上层应用提供独立于不同厂商的统一的应用软件接口,节省了上层软件重复开发成本。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本发明的某些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1示出了根据现有技术的PCIe典型拓扑结构示意图。
图2示出了根据现有技术的PCIe NTB典型拓扑图结构示意图。
图3-图6示出了根据本发明的多种场景下的事务和所包含的包的传输示意图。
图7示出了根据本发明的基于PCIe NTB的多主机通讯方法的流程图。
图8示出了根据本发明的包头的字段格式示意图。
图9示出了根据本发明的方法将传输划分为多个包的示例。
图10示出了根据本发明的方法将多个包重组为事务的示例。
图11示出了根据本发明的方法按照包头协议格式填充字段内容的示例。
图12示出了根据本发明的方法在多个应用和多个PAD驱动之间进行PAD协议封装的模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
PAD实现具备如下特点:1)在通过NT通讯的多个主机Host中,任意需要通讯的两个Host之间都有对应的PAD实现。2)两个Host之间有主从之分,主Host1可以主动向从Host2通讯,从Host2也可以主动向主Host1通讯。3)对任意一个指定的Host,主动向任意一个其他Host通讯,需要的PAD寄存器的基地址是可以通过代码固定的,例如可以通过ID匹配找到设备,进一步找到基地址,再加上偏移地址。无论Host的PCIe拓扑结构如何变化,Host1和Host2只需操作自身的PAD寄存器,在Host1和Host2的软件代码中都可以不借助外部来通讯,通过固定的代码获取到自己需要的PAD寄存器地址。
有鉴于此,本发明的基于PCIe NTB的多主机通讯方法和装置基于不同的PAD实现,提供了多主机通用通讯协议,该协议可以应用于不同厂商的PAD实现。上层封装统一的PAD操作接口,抽象出基于PAD进行消息报文传递的具体细节,定义对应的报文类型和报文格式,给出了协议的软件实现方案,使上层的应用与PAD实现无关。本发明的通讯方法可在NT地址映射未建立之前,在PCIe NTB链接的多个Host之间进行通讯。
首先,对本发明涉及的若干术语的具体细节(传输/事务/包)进行必要的约定。
术语“传输”在本发明中表示由主到从的单向数据传递。传输对应于一个具体有含义的命令,包括发送请求和接收响应。传输的类型相应地包括请求传输和响应传输,请求传输在响应传输之前,并且是一一对应的。请求传输和响应传输均对应一个或多个事务。
术语“事务”在本发明中表示由主到从的单向数据会话。事务对应于一个请求和一个响应的集合,请求在响应之前,并且也是一一对应的。请求事务可以是请求包或者继续包两种类型的包。响应事务可为响应包或者确认包两种类型的包。
术语“包”在本发明中表示由主到从或由从到主的单向数据片段或报文。包的类型包括请求包、响应包、确认包(ack)、继续包(ctn),其中:
请求包是指将请求传输划分成多个报文后的每个报文,由主端(master)发送到从端(slave)。
响应包是指将响应传输划分成多个报文后的每个报文,由slave发到master。
确认包ack是由同一请求传输的多个请求包依次发出的,slave发送确认包到master,表示对前一个请求包的确认,通知对端可以继续发送请求。最后一个请求包不需要确认包,直接回到第一个响应包。
继续包ctn是由同一响应传输的多个响应包依次发出的,master发送继续包到slave,表示对前一个响应包的确认,通知对端可以继续发送响应。最后一个响应包不需要继续包,因为响应传输已经结束。
图3-图6示出了包括多种场景下的事务和对应的包的组合的传输示例。
如图7所示,根据本发明的第一方面,基于PCIe NTB的多主机通讯方法包括:
步骤101,预先定义用于多主机消息通讯的包头格式。
在Host1和Host2主从结构的基础上,本发明按照固定的包头(Header)格式进行包的附加信息描述,以实现通用的协议,参见图8,包头中的字段格式详细描述如下:
1)ver:协议版本号,当前值为00,值01/10/11被保留,用于后续协议的扩展升级。
2)type:包的类型,包含请求包(00)/响应包(01)/确认包(10)/继续包(11)。
3)len:当前包的payload(载荷)长度,以字节为单位。从0开始,0表示无数据,1-6表示1-6个字节的payload(当PAD为8个字节时,除去2个字节的头,剩余6个字节),7为无效。对确认包和继续包而言,len固定为0。
4)sot:表示当前包是否为分片后的第一个包(start of transfer)。对确认包和继续包而言,缺省为0。
5)eot:表示当前包是否为分片后的最后一个包(end of transfer)。对确认包和继续包而言,缺省为0。
6)pid:分片后包的编号,从0开始,当前最大支持到31,共32个包。对确认包而言,其pid为对应请求包的pid。对继续包而言,其pid为上一个事务中响应包的pid+1。
7)wid:PAD宽度(width),即PAD寄存器的容量。wid为0表示pad为4字节,wid为1表示pad为8字节。其中,当PAD为8字节以上(如16字节)时,可以利用更多的位来定义不同字段,这里的wid也可以分配到更多的位,此时可以表示4、8、16或者更多的情况。
8)res:保留字段,未定义,缺省为0。
步骤102,将主机之间的传输划分为多个包,所述传输包括请求传输或响应传输。
对于上层应用而言,它感知的是请求传输和响应传输,Host1发出请求传输到Host2,Host2回复响应传输到Host1。当请求传输或响应传输大于预设传输阈值,例如192((8-2)*32)字节时,无法通过一次传输完成,不在此协议的考虑范围之内。当请求传输或响应传输的字节数大于PAD宽度但小于预设传输阈值,例如上述192字节时,需要将传输划分为多个包,示意图如图9所示。
首先可以获取传输中的原始载荷数据,表示请求传输或响应传输对应的payload数据,长度为len。
然后可以将请求传输或响应传输中的payload进行分片,依次得到多个payload,将每个payload封装成一个包。除了最后一个payload,前面的payload长度均为6字节,如果最后一个payload的长度大于0但小于6,则补齐为6字节。例如在图9所示的示例中,原始payload可以被划分为3个包,分别编号为包1/3,包2/3,包3/3。D0表示PAD命令原始载荷数据的第1个字节。B0~B7分别表示划分后的每个包的第1至第8个字节。
其中包1/3表示总共3个payload中的第一个payload,加上2个字节包头(Header)之后,构成了本次传输对应的第一个包,长度为8字节,与PAD宽度相等。
包2/3表示第二个payload,加上2字节包头后构成第2个包。
包3/3表示第三个payload,加上2字节包头后构成第3个包,这个包为本次传输的最后一个包。
上述3个包中的每一个都由8个字节构成,前2个字节为协议包头字段,后续字节为载荷数据,最后一个包时,载荷数据的长度可能不足6字节,具体需要参照包头中的len字段。
借助上述分片过程,请求传输和响应传输的长度可以扩展到较大的范围,不再受限于PAD的宽度。举例而言,请求传输payload可以是17字节,响应传输payload可以是25字节。对于该请求传输,相应地可以按18字节计算(大于17的整数中6的最小倍数),其中最后一个包为5字节,所有payload编号为C0-C17。对于该响应传输,相应地可以按30字节计算(大于的25整数中6的最小倍数),其中最后一个包为1字节,所有payload编号为D0-D29。参见图10,此时可将请求传输和响应传输按照如下方式分片为包,并在包的接收端重组为事务,总共得到7个事务,分别为:
事务1:请求包(C0-C5)/确认包;
事务2:请求包(C6-C11)/确认包;
事务3:请求包(C12-C17)/响应包(D0-D5);
事务4:继续包/响应包(D6-D11);
事务5:继续包/响应包(D12-D17);
事务6:继续包/响应包(D18-D23);
事务7:继续包/响应包(D24-D29)。
如上所述,每个请求包和响应包的payload长度均为6字节。确认包和继续包的payload长度均为0。
步骤103,根据预先定义的包头格式,将每个包的包头字段进行填充。
对于划分得到的事务和组成事务的每个包,按先前定义的包头协议格式,将各字段内容进行填充,如图11所示。以事务1为例,请求包的ver字段填2b00,表示初始版本号0,type字段填2b00,表示包的类型为请求包,len字段为3b110,表示payload长度为6,sot字段为1b1,表示该包为当前传输被分片后的第一个包,eot字段为1b0,表示该包不是当前传输被分片后的最后一个包,pid字段为5b000000,表示分片后的包的编号从0开始,wid字段为1b1,表示PAD为8字节,res字段为1bx,即未定义的保留字段。
步骤104,利用PAD寄存器将填充后的包依次从源主机发送到目的主机,并在所述目的主机将多个包重组为事务,以实现所述多主机消息通讯。
在多个Host通过PCIe Switch建立连接的场景下,PAD寄存器中传输的包按照上述方法被重组,使得多主机之间的请求或响应的单个包的数据量达到PAD本身的容量级别。例如请求端的源主机将较长的请求内容分片后传输到目的主机即响应端,在响应端根据包头协议对包进行解析和重组,得到请求内容。目的主机将较长的响应内容分片后传输到源主机,在源主机根据包头协议对包进行解析和重组,得到响应内容,从而能够基于PAD寄存器的分片后的包来执行多主机之间的消息传递。
在进一步的实施例中,本发明的多主机通讯方法可以实现为一个通用的PAD通讯协议栈,在多个应用和多个PAD的硬件驱动之间进行PAD协议封装。具体地,如图12所示,可以为不同的PCIe或Switch厂商注册不同的驱动(driver),每个不同的PAD通讯协议栈对应于一个不同的PAD driver。由于上层应用仅能够感知请求传输和响应传输,无需关心传输的分片重组过程,因而本发明的PAD通讯协议相对于上层应用而言,屏蔽了PAD的硬件差异。然后,由PAD通讯协议栈提供一个通用的应用接口send_req_and_recv_rsp,供任意上层应用调用。该统一接口可以用于在多主机之间发送PAD请求,并接收PAD响应。并且该协议可以支持不同的PAD实现,包括4字节、8字节或16字节或更多的情况。
可见,采用本发明的上述技术方案,实现了独立于业务地址映射的多主机通讯,即在业务的地址映射未建立之前,可以在PCIe NTB链接的多个Host之间交换部分消息,并且实现了不同长度的PAD数据交互。本发明的方案为上层应用提供独立于不同厂商的统一的应用软件接口,节省了上层软件重复开发成本。
需要说明的是,以上所示的流程图或结构图仅用于说明而非限定本发明的技术方案。本领域技术人员可以理解,上述实施例中描述的元件拓扑结构和功能模块的数量仅为举例。本领域技术人员可以根据需要而采用任一种包、事务和传输的协议格式等。本领域技术人员在本发明基础上可以根据实际需要而对上述方法流程细节等做出容易想到的任意调整,而不应将本发明限于上述示例的具体细节。
相应地,本发明在第二方面提供了一种基于PCIe NTB的多主机通讯装置,用于在由PCIe NTB链接的多个主机之间进行消息传递,其特征在于,包括:
定义模块201,用于预先定义用于多主机消息通讯的包头格式;
分片重组模块202,用于将主机之间的传输划分为多个包,所述传输包括请求传输或响应传输;
填充模块203,用于根据预先定义的包头格式,将每个包的包头字段进行填充;
通讯模块204,用于利用PAD寄存器将填充后的包依次从源主机发送到目的主机,并在所述目的主机将多个包重组为事务,以实现所述多主机消息通讯。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于PCIe NTB的多主机通讯方法,用于在由PCIe NTB链接的多个主机之间进行消息传递,其特征在于,包括:
预先定义用于多主机消息通讯的包头格式;
将主机之间的传输划分为多个包,所述传输包括请求传输或响应传输;
根据预先定义的包头格式,将每个包的包头字段进行填充;
利用PAD寄存器将填充后的包依次从源主机发送到目的主机,并在所述目的主机将多个包重组为事务,以实现所述多主机消息通讯;
其中,所述将主机之间的传输划分为多个包,进一步包括:
获取请求传输或响应传输中的原始载荷数据;
将所述原始载荷数据进行分片,依次将每个分片与包头封装为包,使得每个包的大小等于所述PAD寄存器的宽度;
如果当前传输中的最后一个包的大小小于所述PAD寄存器的宽度,则补齐最后一个分片的字节数,直到所有包的大小相等。
2.根据权利要求1所述的基于PCIe NTB的多主机通讯方法,其特征在于,所述包头包括类型字段,用于指示当前包的类型,其中所述包的类型进一步包括请求传输对应的请求包或继续包;或响应传输对应的响应包或确认包。
3.根据权利要求2所述的基于PCIe NTB的多主机通讯方法,其特征在于,所述请求包表示由所述请求传输划分成的包,由源主机发送到目的主机;所述响应包表示由所述响应传输划分成的包,由所述目的主机返回到所述源主机。
4.根据权利要求3所述的基于PCIe NTB的多主机通讯方法,其特征在于,所述包头中包括长度字段,用于指示当前包的载荷数据长度;
所述请求包和所述响应包的载荷数据长度不大于所述PAD寄存器的宽度与所述包头长度的差。
5.根据权利要求4所述的基于PCIe NTB的多主机通讯方法,其特征在于,所述确认包表示所述目的主机对前序请求包的确认信息,并且所述继续包表示所述源主机对前序响应包的确认信息。
6.根据权利要求5所述的基于PCIe NTB的多主机通讯方法,其特征在于,所述确认包和所述继续包的载荷数据长度为0。
7.根据权利要求5所述的基于PCIe NTB的多主机通讯方法,其特征在于,所述事务包含以下任一组合:
请求包和确认包;
请求包和响应包;或
继续包和响应包。
8.根据权利要求1所述的基于PCIe NTB的多主机通讯方法,其特征在于,所述实现所述多主机消息通讯,进一步包括:
将所述多个主机之间的传输封装成统一的应用接口,以供上层应用进行调用。
9.一种基于PCIe NTB的多主机通讯装置,用于在由PCIe NTB链接的多个主机之间进行消息传递,其特征在于,包括:
定义模块,用于预先定义用于多主机消息通讯的包头格式;
分片重组模块,用于将主机之间的传输划分为多个包,所述传输包括请求传输或响应传输;
填充模块,用于根据预先定义的包头格式,将每个包的包头字段进行填充;
通讯模块,用于利用PAD寄存器将填充后的包依次从源主机发送到目的主机,并在所述目的主机将多个包重组为事务,以实现所述多主机消息通讯;
其中,所述将主机之间的传输划分为多个包,进一步包括:
获取请求传输或响应传输中的原始载荷数据;
将所述原始载荷数据进行分片,依次将每个分片与包头封装为包,使得每个包的大小等于所述PAD寄存器的宽度;
如果当前传输中的最后一个包的大小小于所述PAD寄存器的宽度,则补齐最后一个分片的字节数,直到所有包的大小相等。
CN202111639076.5A 2021-12-29 2021-12-29 一种基于PCIe NTB的多主机通讯方法和装置 Active CN114285917B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111639076.5A CN114285917B (zh) 2021-12-29 2021-12-29 一种基于PCIe NTB的多主机通讯方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111639076.5A CN114285917B (zh) 2021-12-29 2021-12-29 一种基于PCIe NTB的多主机通讯方法和装置

Publications (2)

Publication Number Publication Date
CN114285917A CN114285917A (zh) 2022-04-05
CN114285917B true CN114285917B (zh) 2023-03-10

Family

ID=80877905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111639076.5A Active CN114285917B (zh) 2021-12-29 2021-12-29 一种基于PCIe NTB的多主机通讯方法和装置

Country Status (1)

Country Link
CN (1) CN114285917B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981070B1 (en) * 2000-07-12 2005-12-27 Shun Hang Luk Network storage device having solid-state non-volatile memory
CN101710314A (zh) * 2009-11-17 2010-05-19 中兴通讯股份有限公司 高速外围部件互连交换控制器及其实现方法
CN103023824A (zh) * 2012-12-11 2013-04-03 华为技术有限公司 基于周边组件接口快速通道PCIe的数据传输系统及方法
CN113498597A (zh) * 2020-01-22 2021-10-12 华为技术有限公司 一种基于PCIe的数据传输方法及装置
CN113498596A (zh) * 2020-01-22 2021-10-12 华为技术有限公司 一种基于PCIe的数据传输方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981070B1 (en) * 2000-07-12 2005-12-27 Shun Hang Luk Network storage device having solid-state non-volatile memory
CN101710314A (zh) * 2009-11-17 2010-05-19 中兴通讯股份有限公司 高速外围部件互连交换控制器及其实现方法
CN103023824A (zh) * 2012-12-11 2013-04-03 华为技术有限公司 基于周边组件接口快速通道PCIe的数据传输系统及方法
CN113498597A (zh) * 2020-01-22 2021-10-12 华为技术有限公司 一种基于PCIe的数据传输方法及装置
CN113498596A (zh) * 2020-01-22 2021-10-12 华为技术有限公司 一种基于PCIe的数据传输方法及装置

Also Published As

Publication number Publication date
CN114285917A (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
US11412078B2 (en) Data transmission method and first device
KR100988339B1 (ko) 무선 인터페이스를 통해 tcp 성능을 개선시키기 위한 이중 프록시 접근 방식
US5815516A (en) Method and apparatus for producing transmission control protocol checksums using internet protocol fragmentation
US8103869B2 (en) Distributed (modular) internal architecture
JP3625478B2 (ja) 無線通信用パケットデータプロトコル
WO2016187813A1 (zh) 一种光电混合网络的数据传输方法及装置
US20040258076A1 (en) Setting up a delegated TCP connection
CN101409675A (zh) 网络分组净荷压缩
EP4195760A1 (en) Roce network congestion control method and related apparatus
US20220358074A1 (en) PCIe-Based Data Transmission Method, Apparatus, and System
CN113645258A (zh) 数据传输方法、装置、存储介质、处理器及电子设备
US20220365899A1 (en) PCIe-Based Data Transmission Method, Apparatus, and System
US20130332504A1 (en) Station, target apparatus, initiator apparatus, communication system, and communication method
CN114285917B (zh) 一种基于PCIe NTB的多主机通讯方法和装置
CN113938431A (zh) 突发数据包传输方法、装置和电子设备
WO2022017454A1 (zh) 一种报文处理方法、网络设备以及相关设备
US8387073B1 (en) Method and system for processing network packets
WO2018137218A1 (zh) 一种数据传输方法、数据接收设备及数据发送设备
US20060114892A1 (en) Method and apparatus to transmit state information through a communication link
CN115801236A (zh) 一种加密代理方法、加密代理模块、代理设备及存储介质
JP3878136B2 (ja) 受信したデータパケットから、不要なヘッダ情報を除去するためのマルチプルバッファ
WO2012126352A1 (zh) 在pcie总线上传输报文的方法、设备和系统
US8793399B1 (en) Method and system for accelerating network packet processing
CN112019450A (zh) 设备间流式通信
CN115982090B (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