CN102870381A - 一种pcie交换系统、装置及交换方法 - Google Patents
一种pcie交换系统、装置及交换方法 Download PDFInfo
- Publication number
- CN102870381A CN102870381A CN2012800007160A CN201280000716A CN102870381A CN 102870381 A CN102870381 A CN 102870381A CN 2012800007160 A CN2012800007160 A CN 2012800007160A CN 201280000716 A CN201280000716 A CN 201280000716A CN 102870381 A CN102870381 A CN 102870381A
- Authority
- CN
- China
- Prior art keywords
- pecb
- cell
- transaction layer
- layer packet
- packet voice
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种PCIE交换系统、装置及交换方法,其中,所述系统包括:多个PCIE交换到信元交换的转换桥PECB和多个信元交换模块;多个PECB中的每一个PECB与多个信元交换模块中的每一个信元交换模块通信相连;多个PECB中的第一PECB,用于接收事务层包报文,将事务层包报文转换为信元,并向多个信元交换模块中的至少一个信元交换模块发送信元;多个信元交换模块中的至少一个信元交换模块,用于接收第一PECB发送的信元,并根据信元中包含的多个PECB中的第二PECB的ID号将信元转发给第二PECB。采用本发明,能够提高PCIE交换系统的可靠性,解决交换器间带宽瓶颈的问题。
Description
技术领域
本发明涉及通信领域,尤其涉及一种PCIE交换系统、装置及交换方法。
背景技术
PCI Express(Peripheral Component Interconnect Express,外部组件快速互连总线,下文中简称PCIE)协议,其传输层基于TLP(Transaction Layer Packet,事务层包)报文进行数据交换,采用点对点通信模式,从RC(Root Complex,根节点)到EP(End Point,叶子节点)是一种树形网络结构,RC可直接连接EP或者通过连接一个/多个交换器(Switch)与EP相连,请参考图1。在树形结构中,任意RC与EP间只有一条通路,当该通路出现故障时,该通路两端的RC与EP就无法进行数据交换,导致系统可靠性差。
此外,如果PCI Express交换器下挂的EP较多,每个EP能够占有的带宽就受限于交换器的总带宽。在如图1所示的PCIE交换系统中,交换器Switch11与交换器Switch12之间只有一条链路,交换器12下挂的EP能够占有的带宽就受限于交换器Switch11与交换器Switch12之间的总带宽。
发明内容
本发明所要解决的技术问题在于,提供一种PCIE交换系统、装置及交换方法,可提高系统的可靠性,并解决PCIE交换器存在的带宽瓶颈问题。
为了解决上述技术问题,一方面,本发明的实施例提供了一种PCIE交换系统,包括:多个PCIE交换到信元交换的转换桥PECB和多个信元交换模块;所述多个PECB中的每一个PECB与所述多个信元交换模块中的每一个信元交换模块通信相连;
所述多个PECB中的第一PECB,用于接收事务层包报文,将所述事务层包报文转换为信元,并向所述多个信元交换模块中的至少一个信元交换模块发送所述信元;
所述多个信元交换模块中的至少一个信元交换模块,用于接收所述第一PECB发送的所述信元,并根据所述信元中包含的所述多个PECB中的第二PECB的ID号将所述信元转发给所述第二PECB,所述第二PECB为所述信元的接收端PECB。
另一方面,本发明的实施例还提供了一种PCIE交换到信元交换的转换桥PECB,所述PECB与多个信元交换模块通信相连,所述PECB包括:
接收模块,用于接收事物层包报文;
转换模块,用于将所述接收模块接收到的事物层包报文转换为第一信元;
发送模块,用于向所述多个信元交换模块中的至少一个信元交换模块发送所述转换模块转换得到的所述第一信元,以使所述信元交换模块向所述信元的接收端PECB发送所述第一信元。
另一方面,本发明的实施例还提供了一种PCIE交换方法,包括:
第一PECB接收事物层包报文,所述PECB为PCIE交换到信元交换的转换桥;
所述第一PECB将所述事物层包报文转换为信元;
所述第一PECB向至少一个信元交换模块发送所述信元,以使所述信元交换模块根据所述信元中携带的接收端PECB的ID号向接收端PECB发送所述信元。
采用多个PECB与多个信元交换模块组建一个交叉交换网架构的信元交换网络,使得任何PECB之间都存在多条交换路径供RC或者EP选择(交换路径数量和信元交换模块的数量相同),在某一节点通过该信元交换网络与其他节点通信时,即使其中存在发生故障的路径,也不会影响节点间的通信,较好地保证了系统的可靠性;并且PECB会在多条路径上进行负荷分担,也可有效提高节点之间交换数据的带宽,保证了数据的交换速率。
附图说明
图1是现有技术中PCIE系统交换的结构示意图;
图2是现有技术中PCIE交换器中总线号的分布示意图;
图3是本发明一种实施例中PCIE交换系统的结构示意图;
图4是本发明实施例的PCIE交换到信元交换的PECB的其中一种具体结构组成示意图;
图5是本发明一种实施例中PECB与信元交换模块的连接关系图;
图6是本发明一种实施例中PECB实现IO虚拟化的示意图;
图7是本发明第一实施例中PCIE交换方法的流程图;
图8是本发明第二实施例中PCIE交换方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图3,为本发明一种实施例中PCIE交换系统的结构示意图。如图3所示,所述交换系统包括多个PECB(PCI Express to Cell Bridge,PCIE交换到信元交换的转换桥)、多个信元交换模块;所述多个PECB中的每一个PECB与所述多个信元交换模块中的每一个信元交换模块通信相连。
所述多个PECB中的第一PECB,用于接收事务层包报文,将所述事务层包报文转换为信元,并向所述多个信元交换模块中的至少一个信元交换模块发送所述信元;
所述多个信元交换模块中的至少一个信元交换模块,用于接收所述第一PECB发送的所述信元,并根据所述信元中包含的所述多个PECB中的第二PECB的ID号将所述信元转发给所述第二PECB,所述第二PECB为所述信元的接收端PECB。
本发明实施例采用多个PECB与多个信元交换模块组建一个信元交换网络,PECB接收到TLP报文后将其转换为信元,然后从多个信元交换模块中选择一个或多个,向信元交换模块发送信元。因为PECB间存在多个通路可以选择和进行负荷分担,从而提高了交换系统的可靠性,同时解决了现有技术中两个交换器之间存在带宽瓶颈的问题。
进一步的,所述交换系统还包括:多个RC和多个EP。RC或者EP与系统中的一个PECB相连,用于作为发送节点将待传输的数据封装为TLP报文发送给与其相连的所述第一PECB,并用于作为目的节点接收与其相连的所述第二PECB转发的TLP报文。
具体的,所述多个RC中的第一RC(发送节点)或所述多个EP中的第一EP(发送节点),用于将待传输的数据封装为所述事务层包报文发送给与其相连的所述第一PECB;
所述多个RC中的第二RC(目的节点)或所述多个EP中的第二EP(目的节点),用于接收与其相连的所述第二PECB转发的所述事务层包报文。
其中的每一个RC可以自成一个PCIE域,由与其连接的CPU(CentralProcessing Unit,中央处理器)进行管理。
具体的,所述第一PECB将从第一RC或第一EP接收到的TLP报文转换为信元,然后从多个信元交换模块中选择其中的一个或多个信元交换模块传输所述信元。其中,所述第一PECB是检测与其他PECB之间的链路状态,并根据检测结果选择与所述第二PECB间链路状态正常的信元交换模块发送所述转换得到的信元。PECB自动选择链路状态正常的信元交换模块进行信元传输,能够进一步提高PCIE交换的可靠性。
所述第二PECB还用于接收信元交换模块发送的信元,将接收到的信元还原为TLP报文后发送给目的节点(第二RC或者第二EP)。
进一步的,所述第一PECB可以将接收到的TLP报文转换为多个信元,此时,所述第一PECB将自己的ID号作为发送端PECB的ID号在所述信元中携带。所述第二PECB将所述信元还原成TLP报文时,具体包括:重组具有相同发送端PECB的ID号的所述信元,以还原出TLP报文。
进一步可选的,信元交换模块在传输信元的过程中,还可以根据信元中携带的第一PECB的ID号(即发送端PECB的ID号)和第二PECB的ID号(即接收端PECB的ID号),学习所述第一PECB和第二PECB之间的链路关系,在其维护的信元转发表中创建第一PECB与第二PECB之间的物理链路关系,以便于在信元转发的过程中,能够根据信元转发表转发信元。
进一步可选的,所述多个PECB中的每一个PECB,还用于虚拟一个或多个总线接口到总线接口P2P桥,所述每个虚拟的P2P桥用于连接一个或多个虚拟EP,所述虚拟EP与实体EP或实体EP中的虚拟功能对应。
需要说明的是,所述第一PECB从多个信元交换模块中选择其中的一个或多个信元交换模块传输其转换得到的信元,指的是在将一个TLP报文封装成多个信元时,其中的每一个信元选择一个信元交换模块进行传输,也可以将得到的多个信元在一个信元交换模块中传输。
需要说明的是,图3中PECB与信元交换模块的数目只是一种示例性的说明,并不能作为对本发明保护范围的限制。另外,在本实施例的基础上可以添加RC与EP,每添加一个RC或添加一个EP都需要相应地添加一个PECB。
具体地,所述第一PECB接收到TLP报文后,按照信元数据的固定长度将TLP报文切片,然后封装到信元内。另外,为了保证还原出的TLP报文准确,在最后一个切片内标识其有效长度。
进一步的,本实施例中的所述PCIE交换系统还包括管理处理器MCPU。所述MCPU,用于为系统中每一个PECB分配ID号。并还用于配置PECB的转换表,所述转换表包括地址转换表和ID转换表;在此情况下,作为发送端PECB的所述第一PECB,还用于由所述事务层包报文根据所述地址转换表或ID转换表得到所述信元的所述第二PECB的ID号,并将所述第二PECB的ID号在所述信元中携带。所述MCPU还具有其他功能,如枚举与每一个PECB连接的EP以便对系统中的PCIE设备进行管理等功能。
MCPU通过PCIE链路连接到系统中的每一个PECB,并为每一个PECB配置PECB的转换表。PECB转换表包括地址转换表和/或ID转换表,地址转换表中包含事物层包报文中的目的地址与接收端PECB的ID号的对应关系,ID转换表中包含事物层报文的请求者ID与接收端PECB的ID号的对应关系,地址转换表与ID转换表用于支持TLP报文转换为信元,以及IO虚拟化。另外,MCPU也可以用于配置信元转发表,用于进行信元转发时,根据物理链路状态选择物理链路,从而选择相应的信元交换模块传输转换得到的信元。
MCPU为每一个PECB配置唯一的ID号。作为发送端PECB的第一PECB在转换生成信元并发送时,将自身的ID作为SID标记在信元中,将接收端PECB的ID作为DID标记在所述信元中,其中,所述PECB可以根据地址转换表或者ID转换表得到相应的接收端PECB的ID,即得到DID号,标记到所述信元中。
本发明实施例采用多个PECB与多个信元交换模块组建一个信元交换网络,PECB接收到TLP报文后将其转换为信元,然后从多个信元交换模块中选择一个或多个,向其发送信元,接收端的PECB接收到信元后将其还原为TLP报文,发送给目的节点。因为任何PECB之间都存在多条交换路径,且PECB可以选择一个或多个信元交换模块进行负荷分担,从而提高了交换系统的可靠性,也解决了现有技术中两个交换器之间存在带宽瓶颈的问题。
请参见图4,是本发明实施例的PCIE交换到信元交换的PECB的其中一种具体结构组成示意图,所述PECB可作为上述的第一PECB和第二PECB,即既可以将接收到的TLP报文转换为信元发送,也可以接收信元交换模块发送的信元。具体的,本实施例的所述PECB包括接收模块,转换模块以及发送模块。其中,
接收模块11,用于接收事物层包报文;
转换模块12,用于将所述接收模块11接收到的事物层包报文转换为第一信元;
发送模块13,用于向多个信元交换模块中的至少一个信元交换模块发送所述转换模块12转换得到的第一信元,以使该信元交换模块向所述第一信元的接收端PECB发送所述第一信元。
本发明实施例的PECB接收到TLP报文后将其转换为信元,然后从多个信元交换模块中选择一个或多个信元交换模块发送信元。因为PECB可以选择一个或多个信元交换模块作为通信通道,从而提高了交换系统的可靠性,同时也解决了现有技术中两个交换器之间存在带宽瓶颈的问题。
优选的,所述转换模块12具体可以通过将接收模块11接收到的事物层包报文,按照信元数据的固定长度切片后封装为第一信元,完成事物层包报文到信元的转换。
所述转换模块12将TLP报文进行切片封装得到的第一信元包括:TLP报文的头部,以及TLP报文的数据和摘要部分,其中,所述TLP报文的数据和摘要为可选部分。所述转换模块对TLP报文进行切片封装处理时,可以对TLP报文的头部进行切片封装,也可以对TLP报文的头部及TLP报文的数据或摘要进行切片封装,也可以对TLP报文的头部、数据及摘要进行切片封装。
具体的,所述转换模块12转换得到的第一信元的格式可以如下表1所示:
表1:
SID | DID | SEQ | PRIO | LEN | FLAG |
表1中的各个字段的定义如下表2所示:
表2:
其中,SID为发送所述第一信元的PECB的ID号,DID为接收信元的PECB的ID号,信元交换模块可以根据SID创建信元转发表,根据DID查信元转发表将第一信元通过相应的物理链路发给接收端PECB。另外,接收端PECB将具有相同SID的信元还原为一个TLP报文。
SEQ为信元的序号,用于标识同一个TLP报文切割成的信元,以保证还原时按照原来的顺序排列信元,从而还原出准确的TLP报文。在一种实施方式中,每个信元的SEQ按照发出的顺序加1,在还原TLP报文时,按照切割时分配的序号SEQ进行重新排列即可还原出TLP报文。SEQ由切片封装子模块设置,其设置原则可由MCPU进行配置。
PRIO用于标识信元交换模块转发信元的优先级,优先级高的先转发,优先级低的后转发。优先级的设置可以根据TLP报文的紧急程度,一个TLP报文切割成的多个信元设置为相同的优先级。
LEN用于标识TLP切割成的最后一个信元的有效长度,以保证还原时能够得到原先的TLP报文而不至于将无用的信息包含在TLP报文中。
FLAG用于标识TLP报文的多个信元的第一个和最后一个。
具体的,所述转换模块12可以将本端PECB的ID号作为SID号,根据配置的地址转换表或ID转换表得到接收所述第一信元的PECB的ID号即DID号。所述的地址转换表可以为如表3所示,包含TLP报文中的目的地址与接收端PECB的ID号的对应关系,所述ID转换表可以如表4所示,包含TLP报文的请求者ID与接收端PECB的ID号的对应关系。
表3:
表4:
其中,如果接收到的TLP报文使用地址路由,根据TLP报文中的目的地址查如表3所示的地址转换表,命中表项后,在TLP报文切片后形成的信元中,使用地址转换表中该TLP报文的目的地址对应的请求者ID和目的地址,替换原TLP报文的请求者ID和目的地址,并将地址转换表中对应的DID(接收端PECB的ID号)加入到TLP报文切片后形成的第一信元中;
如果接收到的TLP报文使用ID路由,使用TLP报文的请求者ID作为关键字查如表4所示的ID转换表,在TLP报文切片后形成的信元中,使用ID转换表中该TLP报文的请求者ID对应的请求者ID和完成者ID,替换TLP报文的请求者ID和完成者ID,并将地址转换表中对应的DID(接收端PECB的ID号)加入到TLP报文切片后形成的第一信元中。
进一步具体的,所述PECB还可以包括一个检测模块14。
所述检测模块14用于检测本PECB与PCIE交换系统中其他PECB之间的链路状态。而所述发送模块13具体用于根据所述检测模块14的检测结果选择与所述信元的接收端PECB间链路状态正常的信元交换模块发送所述第一信元。需要说明的是,此处链路正常不仅包括作为发送端的第一PECB到信元交换模块之间的链路状态正常,还包括信元交换模块到作为接收端的第二PECB之间的链路状态正常。
请参考图5,是本发明一种实施例中PECB与信元交换模块的连接关系图。图5所示的PCIE交换系统包括6个PECB1~PECB6,4个信元交换模块1~信元交换模块4。从PECB1到PECB6有4条链路,PECB1的检测模块14定时或者实时检测与PECB2~PECB6的链路状态,在将接收到的TLP报文转换为信元传输给PECB6时,从信元交换模块1~信元交换模块4中选择一条或多条到PECB6链路状态正常的信元交换模块进行信元交换。
例如,从PECB1到信元交换模块1的链路状态正常,但是从信元交换模块1到PECB6的链路出现了故障,那么PECB1将不会选择经由信元交换模块1到PECB6的链路,而改选其它链路状态正常的信元交换模块2到信元交换模块4进行信元交换,从而提高了系统的可靠性。
作为发送端的PECB根据一预设的信元转发表转发相应信元,所述信元转发表的信息包括PECB ID(本PCIE交换系统中其他任一PECB的ID),物理链路状态,物理链路编号。PECB的所述发送模块13根据接收第一信元的PECB的ID,从所述信元转发表中可以确定到该接收信元的PECB的物理链路状态,以及到该接收信元的PECB的物理链路编号。其中,物理链路编号指的是:发送第一信元的PECB与接收第一信元的PECB的ID即DID下的PECB之间的物理链路的编号,一般地,系统中有几个信元交换模块,PECB到其他任一个PECB就有几条物理链路,信元交换模块获知DID后,还需要知道物理链路编号才能将信元发送给相应的ID的PECB。
发送第一信元的PECB将TLP报文转换为信元后,根据DID查找上述的信元转发表,如果表项命中,则在信元转发表确定出到该DID对应的物理链路状态正常的物理链路编号,从而确定出相应的从发送端PECB到信元交换模块,再到接收端PECB间的链路,通过该物理链路将转换得到的信元发送给DID对应的PECB。而如果根据DID查找上述的信元转发表未命中,则丢弃该信元。
进一步的,作为接收端PECB还包括还原模块15;
所述接收模块11还用于接收信元交换模块发送的第二信元;
所述还原模块15具体用于将所述接收模块11接收到的所述第二信元还原为事务层包报文。
具体的,作为接收端PECB时,所述接收模块11会接收到信元交换模块转发的第二信元,所述还原模块15在将所述接收模块11接收到的所述第二信元还原为事务层包报文时,具体是通过重组具有相同发送端PECB的ID号的信元的方式,还原出事务层包报文。即在接收模块11接收到第二信元后,还原模块15将具有相同SID的第二信元根据信元中的SEQ排序后进行重组,以还原出TLP报文。
本发明实施例的PECB接收到TLP报文后将其转换为信元,然后从多个信元交换模块中选择一个或多个,向其发送信元,并由接收端的PECB接收到信元后将其还原为TLP报文,发送给目的节点。因为PECB可以选择一个或多个信元交换模块作为通信通道,所以PECB间都存在多条交换路径,且可以进行负荷分担,从而提高了交换系统的可靠性,也解决了现有技术中两个交换器之间存在带宽瓶颈的问题。
此外,所述PECB具体还可以包括虚拟模块16,用于虚拟一个或多个总线接口到总线接口P2P桥,所述每个虚拟的P2P桥用于连接一个或多个虚拟EP,所述虚拟EP与实体EP或实体EP中的虚拟功能对应。
具体请参考图6,是本发明一种实施例中PECB实现IO虚拟化的示意图。本发明中的PECB支持IO虚拟化,可以实现多主机动态共享IO。与RC连接的PECB可以虚拟一个或多个P2P(PCI to PCI,总线接口到总线接口)桥,每个虚拟P2P桥下面可以连接一个或多个虚拟EP。该PECB中虚拟的EP与实际EP对应或者与该实际EP的虚拟功能VF对应,如图中虚线所示,一般地,一个实际EP中有多个虚拟功能VF,能够与多个PECB中的虚拟EP对应,从而实现了一个实际EP可以挂在多个RC下,从而实现多主机IO共享。另外,EP的物理功能PF由MCPU进行管理和配置。
需要说明的是,现有技术中对于每个PCI Express的交换器而言都有一个唯一的上行端口和若干个下行端口,交换器的每个端口在内部有一个虚拟的P2P桥(PCI to PCI Bridge),每个P2P桥的两端分别设置一个总线号,图2中的Switch需要分配5个总线号(图中1~5的位置)。在一个系统内,PCI Express规范制定的总线号最多不能超过256个,当有很多个交换器时,就可能会出现总线号不够的情况。
而在本发明实施例中,所有PECB及PECB下挂的EP在一个PCIE域内,享有标准PCIE域的256个总线号,该PCIE域由MCPU进行管理。由PECB虚拟出来的P2P桥与RC连接的一端占用该RC所在PCIE域的总线号,该虚拟P2P桥与信元转换模块连接的一端占用PECB所在PCIE域的总线号,因此相对于现有技术中P2P两端的总线号均为RC所在PCIE域的总线号来说,减少了总线号的占有数量,从而在一定程度上缓解了总线号受到限制的问题。
另外,PECB可以虚拟出P2P桥及EP,虚拟出的EP与实际EP或其中的虚拟功能VF对应,一个实际EP中可以有多个虚拟功能VF,从而一个实际EP可以通过其内部的虚拟功能VF与多个RC通信,从而实现了多主机IO共享。
下面对本发明的PCIE交换方法进行详细说明。
请参考图7,其中所示为本发明第一实施例中PCIE交换方法的流程图。该方法包括以下步骤:
S101:第一PECB接收事物层包报文,所述PECB为PCIE交换到信元交换的转换桥;
具体的,所述第一PECB可以接收来自于与其相连的RC或EP发送的TLP报文。
S102:第一PECB将所述事物层包报文转换为信元。即所述第一PECB作为发送端PECB发送所述转换为适合信元交换模块传输的信元。
S103:所述第一PECB向至少一个信元交换模块发送所述信元,以使所述信元交换模块根据所述信元中携带的接收端PECB的ID号向接收端PECB发送所述信元。
所述发送端PECB与多个信元交换模块相连,每一个信元交换模块同时也与多个PECB相连,所述发送端PECB在转换得到信元后,选择其中一个链路状态正常的信元交换模块,由该信元交换模块将相应的信元发送到第二PECB即接收端PECB,然后由所述第二PECB发送给相应的目的节点(目的RC或者EP)。
采用该方法,可选择信元交换模块进行信元传输,提高PCIE交换方法的可靠性,并且PECB会在多条路径上进行负荷分担,也可有效提高节点之间交换数据的带宽,保证了数据的交换速率。
请参考图8,其中所示为本发明第二实施例中PCIE交换方法的流程图。该方法包括以下步骤:
S201:第一PECB接收事物层包报文。
即在所述S201之前,与所述第一PECB相连的第一根节点或第一叶子节点,将待传输的数据封装为所述事务层包报文发送给所述第一PECB。
S202:第一PECB将所述事物层包报文转换为信元。
具体的,可以将所述S201接收到的TLP报文按照信元数据的固定长度切片,将所述切片封装为信元,标识封装最后一个切片的信元的有效长度。即由信元中的LEN字段标识其有效长度,当TLP报文的实际长度小于信元数据的固定长度时,只有一个信元,需要在LEN字段中标识该信元的有效长度。
在封装信元时,所述第一PECB可以将自己的ID号作为发送端PECB的ID号在所述信元中携带;并将所述接收端PECB的ID号在所述信元中携带,以使信元交换模块根据所述信元中携带的接收端PECB的ID号发送所述信元。
其中的所述接收端PECB的ID号可根据预设的地址转换表或者ID转换表获得。所述地址转换表可如上述表3所示,所述ID转换表可如上述的表4所示。
进一步地,将切片封装为信元时,还包括设置每个信元的序号SEQ,在一种实施方式中,设置每个信元的序号是通过加1方式实现的,即在同一个TLP报文中每生成一个信元,其序号叠加1。
将TLP报文封装得到信元时,TLP报文的头部是必选的,数据、摘要是可选的。
另外,信元中还可以包括发送端PECB的ID即SID和用于接收端PECB的ID即DID。信元交换模块还根据DID查信元转发表,如果命中,则按照信元转发表中DID对应的物理链路将信元发送给接收端PECB。
需要说明的是,发送端PECB及接收端PECB是相对于信元而言的,例如PECB1发送信元A,那么PECB1对于信元A而言就是发送端PECB,若PECB1接收信元B,那么对于信元B而言,PECB1即为接收端PECB。
S203:第一PECB检测与PCIE交换系统中其他PECB之间的链路状态。
S204:第一PECB根据检测结果选择与所述信元的接收端PECB间链路状态正常的信元交换模块发送所述信元。
S205:信元交换模块根据所述信元中携带的接收端PECB的ID号向接收端PECB发送所述信元。所述S205中的信元交换模块为接收到所述第一PECB发送的信元的信元交换模块。
S206:所述信元的接收端PECB在接收到所述信元交换模块发送的所述信元时,重组具有相同发送端PECB的ID号的所述信元,以还原出所述事务层报文。
所述信元的接收端PECB在还原得到事物层包报文后,将还原得到的事物层包报文发送给相应的第二根节点或第二叶子节点,所述第二根节点或第二叶子节点,接收与其相连的所述信元的接收端PECB转发的所述事务层包报文。
所述第一PECB同时与PCIE交换系统中多个信元交换模块相连,每一个信元交换模块也同时与多个PECB相连,所述第一PECB可以将转换得到的信元通过信元交换模块发送给接收端PECB,然后由接收端PECB发送给相应的目的节点(目的RC或者EP)。
被选择发送信元的所述信元交换模块根据信元中的接收端PECB的ID即DID查信元转发表获得目的物理链路,按照所述目的物理链路将所述信元发送至接收端PECB。
同时,被选择发送信元的所述信元交换模块还用于根据所述信元中携带的所述发送端PECB的ID号和所述接收端PECB的ID号,学习所述发送端PECB与接收端PECB之间的链路关系,并在信元转发表中创建所述发送端PECB与接收端PECB之间的物理链路关系。
另外,在有总线号扩展需求时,所述方法还包括:
所述第一PECB虚拟一个或多个总线接口到总线接口P2P桥,所述每个虚拟的P2P桥用于连接一个或多个虚拟叶子节点,所述虚拟叶子节点与实体叶子节点或实体叶子节点中的虚拟功能对应。
本发明实施例具有如下优点或有益效果:
采用多个PECB与多个信元交换模块组建一个信元交换网络,PECB接收到TLP报文后将其转换为信元,然后从多个信元交换模块中选择一个或多个,向其发送信元,接收端的PECB接收到信元后将其还原为TLP报文,发送给目的节点,其中该目的节点为另一个PCIE域中的RC或EP。从而提高了交换系统的可靠性,解决了现有技术中两个交换器之间存在带宽瓶颈的问题。
另外,PECB可以虚拟出P2P桥及EP,虚拟出的EP与实际EP或其中的虚拟功能VF对应,一个实际EP中可以有多个虚拟功能VF,从而一个实际EP可以通过其内部的虚拟功能VF与多个RC通信,从而实现了多主机IO共享。
另外,本发明实施例提供的交换系统具有较好的扩展性,在本发明构思的基础上,只要添加一个PECB就可以添加一个主机实现IO共享。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (22)
1.一种外部组件快速互连总线PCIE交换系统,其特征在于,包括:多个PCIE交换到信元交换的转换桥PECB和多个信元交换模块;所述多个PECB中的每一个PECB与所述多个信元交换模块中的每一个信元交换模块通信相连;
所述多个PECB中的第一PECB,用于接收事务层包报文,将所述事务层包报文转换为信元,并向所述多个信元交换模块中的至少一个信元交换模块发送所述信元;
所述多个信元交换模块中的至少一个信元交换模块,用于接收所述第一PECB发送的所述信元,并根据所述信元中包含的所述多个PECB中的第二PECB的ID号将所述信元转发给所述第二PECB,所述第二PECB为所述信元的接收端PECB。
2.如权利要求1所述的系统,其特征在于,所述第一PECB还用于检测与其他PECB之间的链路状态,并根据检测结果选择与所述第二PECB间链路状态正常的信元交换模块发送所述转换得到的信元。
3.如权利要求1或2所述的系统,其特征在于,所述第二PECB,用于接收所述信元交换模块发送的所述信元,将所述信元还原为所述事务层包报文。
4.如权利要求3所述的系统,其特征在于,所述第一PECB还用于,当将所述事务层包报文转换为多个所述信元时,将自己的ID号作为发送端PECB的ID号在所述信元中携带;
则,所述第二PECB将所述信元还原成所述事务层包报文具体为:所述第二PECB重组具有相同发送端PECB的ID号的所述信元,还原出所述事务层包报文。
5.如权利要求3或4任一项所述的系统,其特征在于,还包括多个根节点,多个叶子节点,所述多个根节点中的一个根节点或多个叶子节点中的一个叶子节点和所述多个PECB中的一个PECB相连;
所述多个根节点中的第一根节点或所述多个叶子节点中的第一叶子节点,用于将待传输的数据封装为所述事务层包报文发送给与其相连的所述第一PECB;
所述多个根节点中的第二根节点或所述多个叶子节点中的第二叶子节点,用于接收与其相连的所述第二PECB转发的所述事务层包报文。
6.如权利要求1至5任一项所述的系统,其特征在于,所述系统还包括与所述多个PECB中的每个PECB相连的管理处理器;
所述管理处理器,用于为所述每个PECB分配ID号。
7.如权利要求6所述的系统,其特征在于,所述管理处理器还用于配置所述PECB的转换表,所述转换表包括地址转换表和/或ID转换表,所述地址转换表包含事物层包报文中的目的地址与接收端PECB的ID号的对应关系,所述ID转换表包含事物层报文的请求者ID与接收端PECB的ID号的对应关系;
则,所述第一PECB,还用于根据所述地址转换表或ID转换表,由所述事务层包报文得到所述信元的所述接收端PECB的ID号,并将所述接收端PECB的ID号在所述信元中携带。
8.如权利要求7所述的系统,其特征在于,所述信元交换模块还用于根据所述信元中携带的所述第一PECB的ID号和所述第二PECB的ID号,学习所述第一PECB与所述第二PECB之间的链路关系,并在信元转发表中创建所述第一PECB与所述第二PECB之间的物理链路关系。
9.如权利要求1至8任一项所述的系统,其特征在于,
所述多个PECB中的每一个PECB,还用于虚拟一个或多个总线接口到总线接口P2P桥,所述每个虚拟的P2P桥用于连接一个或多个虚拟叶子节点,所述虚拟叶子节点与实体叶子节点或实体叶子节点中的虚拟功能对应。
10.一种外部组件快速互连总线PCIE交换到信元交换的转换桥PECB,其特征在于,所述PECB与多个信元交换模块通信相连,所述PECB包括:
接收模块,用于接收事物层包报文;
转换模块,用于将所述接收模块接收到的事物层包报文转换为第一信元;
发送模块,用于向所述多个信元交换模块中的至少一个信元交换模块发送所述转换模块转换得到的所述第一信元,以使所述信元交换模块向所述信元的接收端PECB发送所述第一信元。
11.如权利要求10所述的PECB,其特征在于,还包括:
检测模块,用于检测与其他PECB之间的链路状态;
所述发送模块具体用于根据所述检测模块的检测结果选择与所述信元的接收端PECB间链路状态正常的信元交换模块发送所述第一信元。
12.如权利要求10或11所述的PECB,其特征在于,
所述接收模块还用于接收信元交换模块发送的所述第二信元;
所述PECB还包括:
还原模块,用于将所述接收模块接收到的所述第二信元还原为事务层包报文。
13.如权利要求12所述的PECB,其特征在于,
所述转换模块在将所述事务层包报文转换为多个所述第一信元时,还用于将本PECB的ID号作为发送端PECB的ID号在所述第一信元中携带;
所述还原模块在将所述接收模块接收到的所述第二信元还原为所述事务层包报文时,是通过重组具有相同发送端PECB的ID号的信元的方式,还原出事务层包报文。
14.如权利要求10至13任一项所述的PECB,其特征在于,
所述转换模块在将所述事务层包报文转换为多个所述第一信元时,还用于根据配置的地址转换表或ID转换表,由所述事务层包报文得到所述第一信元的接收端PECB的ID号,并将得到的接收端PECB的ID号在所述信元中携带,所述地址转换表包含事物层包报文中的目的地址与接收端PECB的ID号的对应关系,所述ID转换表包含事物层报文的请求者ID与接收端PECB的ID号的对应关系。
15.如权利要求10至14任一项所述的PECB,其特征在于,所述PECB还包括:
虚拟模块,用于虚拟一个或多个总线接口到总线接口P2P桥,所述每个虚拟的P2P桥用于连接一个或多个虚拟叶子节点,所述虚拟叶子节点与实体叶子节点或实体叶子节点中的虚拟功能对应。
16.一种外部组件快速互连总线PCIE交换方法,其特征在于,包括:
第一PECB接收事物层包报文,所述PECB为PCIE交换到信元交换的转换桥;
所述第一PECB将所述事物层包报文转换为信元;
所述第一PECB向至少一个信元交换模块发送所述信元,以使所述信元交换模块根据所述信元中携带的接收端PECB的ID号向接收端PECB发送所述信元。
17.如权利要求16所述的方法,其特征在于,所述向至少一个信元交换模块发送所述信元之前,还包括:
所述第一PECB检测与PCIE交换系统中其他PECB之间的链路状态;
则,所述向至少一个信元交换模块发送所述信元,具体为:根据检测结果选择与所述信元的接收端PECB间链路状态正常的信元交换模块发送所述信元。
18.如权利要求16或17所述的方法,其特征在于,还包括:
所述信元的接收端PECB在接收到所述信元交换模块发送的所述信元时,将接收到的所述信元还原为所述事物层包报文。
19.如权利要求18所述的方法,其特征在于,
所述第一PECB将所述事物层包报文转换为信元,还包括:
将自己的ID号作为发送端PECB的ID号在所述信元中携带;
将所述接收端PECB的ID号在所述信元中携带;
则,所述信元的接收端PECB在接收到所述信元交换模块发送的所述信元时,将接收到的所述信元还原为所述事物层包报文包括:
所述信元的接收端PECB在接收到所述信元交换模块发送的所述信元时,重组具有相同发送端PECB的ID号的所述信元,还原出所述事务层包报文。
20.如权利要求18或19任一项所述的方法,其特征在于,所述第一PECB接收事物层包报文之前,还包括:第一根节点或第一叶子节点,将待传输的数据封装为所述事务层包报文发送给与其相连的所述第一PECB;
在所述信元的接收端PECB将接收到的所述信元还原为所述事物层包报文之后,还包括:第二根节点或第二叶子节点,接收与其相连的所述信元的接收端PECB转发的所述事务层包报文。
21.如权利要求16至20任一项所述的方法,其特征在于,还包括,所述第一PECB,根据地址转换表或ID转换表由所述事务层包报文得到所述信元的所述接收端PECB的ID号,所述地址转换表包含事物层包报文中的目的地址与接收端PECB的ID号的对应关系,所述ID转换表包含事物层报文的请求者ID与接收端PECB的ID号的对应关系。
22.如权利要求16至21任一项所述的方法,其特征在于,还包括,所述第一PECB虚拟一个或多个总线接口到总线接口P2P桥,所述每个虚拟的P2P桥用于连接一个或多个虚拟叶子节点,所述虚拟叶子节点与实体叶子节点或实体叶子节点中的虚拟功能对应。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/077905 WO2014000271A1 (zh) | 2012-06-29 | 2012-06-29 | 一种pcie交换系统、装置及交换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102870381A true CN102870381A (zh) | 2013-01-09 |
CN102870381B CN102870381B (zh) | 2015-09-09 |
Family
ID=47447767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280000716.0A Active CN102870381B (zh) | 2012-06-29 | 2012-06-29 | 一种pcie交换系统、装置及交换方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102870381B (zh) |
WO (1) | WO2014000271A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103931144A (zh) * | 2013-07-08 | 2014-07-16 | 华为技术有限公司 | 一种在虚拟域中通信的方法、设备和系统 |
CN104579772A (zh) * | 2014-12-30 | 2015-04-29 | 华为技术有限公司 | 计算机设备与计算机设备的配置管理方法 |
CN105450430A (zh) * | 2014-07-17 | 2016-03-30 | 华为技术有限公司 | 一种信息传输方法及装置 |
US9733848B2 (en) | 2012-12-31 | 2017-08-15 | Huawei Technologies Co., Ltd. | Method and system for pooling, partitioning, and sharing network storage resources |
CN108268412A (zh) * | 2013-06-28 | 2018-07-10 | 华为技术有限公司 | 用于扩展外围组件互连高速结构的系统和方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826907B (zh) * | 2022-04-22 | 2023-08-11 | 西安广和通无线通信有限公司 | PCIe的RC和EP模式切换方法、装置、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101277196A (zh) * | 2007-03-30 | 2008-10-01 | 杭州华三通信技术有限公司 | 一种基于pcie交换网的通信系统、通信方法及线卡板 |
CN101882126A (zh) * | 2010-07-13 | 2010-11-10 | 中国科学院计算技术研究所 | 多个HT总线到单个PCIe总线的桥接装置及其方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8189603B2 (en) * | 2005-10-04 | 2012-05-29 | Mammen Thomas | PCI express to PCI express based low latency interconnect scheme for clustering systems |
-
2012
- 2012-06-29 CN CN201280000716.0A patent/CN102870381B/zh active Active
- 2012-06-29 WO PCT/CN2012/077905 patent/WO2014000271A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101277196A (zh) * | 2007-03-30 | 2008-10-01 | 杭州华三通信技术有限公司 | 一种基于pcie交换网的通信系统、通信方法及线卡板 |
CN101882126A (zh) * | 2010-07-13 | 2010-11-10 | 中国科学院计算技术研究所 | 多个HT总线到单个PCIe总线的桥接装置及其方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10481804B2 (en) | 2012-12-31 | 2019-11-19 | Huawei Technologies Co., Ltd. | Cluster system with calculation and storage converged |
US9733848B2 (en) | 2012-12-31 | 2017-08-15 | Huawei Technologies Co., Ltd. | Method and system for pooling, partitioning, and sharing network storage resources |
US10082972B2 (en) | 2012-12-31 | 2018-09-25 | Huawei Technologies Co., Ltd. | Method and system for pooling, partitioning, and sharing network storage resources |
US11042311B2 (en) | 2012-12-31 | 2021-06-22 | Huawei Technologies Co., Ltd. | Cluster system with calculation and storage converged |
US11429550B2 (en) | 2013-06-28 | 2022-08-30 | Futurewei Technologies, Inc. | System and method for extended peripheral component interconnect express fabrics |
CN108268412A (zh) * | 2013-06-28 | 2018-07-10 | 华为技术有限公司 | 用于扩展外围组件互连高速结构的系统和方法 |
CN108268412B (zh) * | 2013-06-28 | 2022-04-05 | 华为技术有限公司 | 用于扩展外围组件互连高速结构的系统和方法 |
US10922259B2 (en) | 2013-06-28 | 2021-02-16 | Futurewei Technologies, Inc. | System and method for extended peripheral component interconnect express fabrics |
WO2015003295A1 (zh) * | 2013-07-08 | 2015-01-15 | 华为技术有限公司 | 一种在虚拟域中通信的方法、设备和系统 |
CN103931144B (zh) * | 2013-07-08 | 2015-11-25 | 华为技术有限公司 | 一种在虚拟域中通信的方法、设备和系统 |
CN103931144A (zh) * | 2013-07-08 | 2014-07-16 | 华为技术有限公司 | 一种在虚拟域中通信的方法、设备和系统 |
CN105450430A (zh) * | 2014-07-17 | 2016-03-30 | 华为技术有限公司 | 一种信息传输方法及装置 |
CN105450430B (zh) * | 2014-07-17 | 2019-02-26 | 华为技术有限公司 | 一种信息传输方法及装置 |
US10318443B2 (en) | 2014-12-30 | 2019-06-11 | Huawei Technologies Co., Ltd. | Computer device and configuration and management method of computer device |
CN104579772B (zh) * | 2014-12-30 | 2018-12-14 | 华为技术有限公司 | 计算机设备与计算机设备的配置管理方法 |
CN104579772A (zh) * | 2014-12-30 | 2015-04-29 | 华为技术有限公司 | 计算机设备与计算机设备的配置管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102870381B (zh) | 2015-09-09 |
WO2014000271A1 (zh) | 2014-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102067533B (zh) | 与虚拟接口相关联的端口分组 | |
CN104104570B (zh) | Irf系统中的聚合处理方法及装置 | |
CN103560967B (zh) | 一种业务需求感知的虚拟数据中心映射方法 | |
CN101841451B (zh) | 一种云主机基于虚拟局域网的限速方法和系统 | |
CN102870381B (zh) | 一种pcie交换系统、装置及交换方法 | |
CN105745883B (zh) | 转发表同步的方法、网络设备和系统 | |
CN104253765B (zh) | 一种数据包交换方法、装置以及接入交换机和交换系统 | |
CN101820358A (zh) | 高利用率以及多路的以太网光纤通道 | |
CN1934560A (zh) | 通过网络系统的树型和环型拓扑发送信息的方法 | |
CN101277196B (zh) | 一种基于pcie交换网的通信系统、通信方法及线卡板 | |
CN101350773A (zh) | 一种移动分组网络架构及其多个防火墙负载均衡接入方法 | |
CN101335709A (zh) | 在流量分析服务器之间实现负载分担的方法和分流设备 | |
CN102185772B (zh) | 数据中心网络系统的路由方法 | |
CN102761479A (zh) | 链路选择方法和装置 | |
CN103780486A (zh) | 一种trill网络中的镜像报文传输方法和设备 | |
CN105282631B (zh) | Potn中实现电层线性保护的系统及方法 | |
CN102970231A (zh) | 组播流转发实现方法和路由网桥(rb) | |
CN110401478B (zh) | 一种基于sdn技术的空间信息网络管控方法 | |
CN102164088A (zh) | 数据中心网络系统 | |
CN104301417A (zh) | 一种负载均衡方法及装置 | |
CN105743816B (zh) | 一种链路聚合方法及装置 | |
CN105490937B (zh) | 以太虚拟网络网关切换方法和服务商边缘节点设备 | |
CN102111327A (zh) | 信元调度方法和系统 | |
CN100531215C (zh) | 一种多台网络设备链路聚集的实现方法 | |
CN102984082A (zh) | 一种网络服务质量控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |