CN117743240B - 一种具备透明和非透明双模式的PCIe桥设备 - Google Patents
一种具备透明和非透明双模式的PCIe桥设备 Download PDFInfo
- Publication number
- CN117743240B CN117743240B CN202410182616.9A CN202410182616A CN117743240B CN 117743240 B CN117743240 B CN 117743240B CN 202410182616 A CN202410182616 A CN 202410182616A CN 117743240 B CN117743240 B CN 117743240B
- Authority
- CN
- China
- Prior art keywords
- message
- pcie
- module
- address
- configuration space
- 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
- 238000006243 chemical reaction Methods 0.000 claims description 34
- 239000000284 extract Substances 0.000 claims description 12
- 238000011144 upstream manufacturing Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 abstract description 5
- 238000012986 modification Methods 0.000 abstract description 3
- 230000004048 modification Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000009977 dual effect Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 2
- 101800001295 Putative ATP-dependent helicase Proteins 0.000 description 1
- 101800001006 Putative helicase Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种具备透明和非透明双模式的PCIe桥设备,可灵活配置为透明桥或非透明桥模式。借助该结构,可以无需独立的NTB模块,完成跨网络通信。且实现该结构仅需要对译码和寄存器做少量修改即可完成,并与普通PCI‑to‑PCI Bridge功能完全兼容。本方案设计实现简单,数据通路结构简单,延迟低,支持双模式,可根据应用需要灵活配置;并且拓扑结构简单,便于软件配置和使用。
Description
技术领域
本发明涉及数字信息传输及集成电路技术领域,尤其涉及一种具备透明和非透明双模式的PCIe桥设备。
背景技术
PCIe网络由RC(即根复合体)、Switch、EP(即端点设备)设备组成,为树状拓扑结构,其中Switch由多个PCI-to-PCI Bridge组成。因为RC可以发现PCI-to-PCI下的设备,因此被称为透明桥。
根据协议规定,两个不同的PCIe网络之间不能发生流量的交换。但是在实际工程应用中,也存在一个PCIe网络需要和另一个PCIe网络发生流量交换的场景,因此在工程实现中定义了一种非透明桥,即NTB(Non-Transparent Bridging)。
根据PCIe协议规定,上面的PCIe网络1和PCIe网络2由各自的RC进行管理,两个网络中的设备不能互相通信,例如在图1中RC0不能访问EP2或EP3。
但是在实际的工程应用中,例如主备双控场景,需要PCIe网络1和PCIe网络2可以互相通信。为解决这个需求,现有技术中定义了一种叫非透明桥的设备,非透明桥在拓扑中等效为两个背靠背对接的EP设备,一端和PCIe网络1的下游端口链接,一端和PCIe网络2的下游端口连接。流量在经过NTB桥时,将报文的部分信息(地址、ID等)进行转换,使其转换成目标网络中合法的地址或ID信息,并将转换后的报文发送到目标网络中,转换后的报文就可以在目标网络中正常路由,并最终送达目标设备,实现跨网络的访问。
从操作系统视角看,NTB桥在网络拓扑中为一个EP设备,一个网络的RC实际上无法发现另一个网络的设备,但是却可以通过将报文发往NTB桥,由NTB桥转换后转发至另一个网络,因此被称为非透明桥。
目前NTB一般都集成在PCIe Switch当中,并通过独立的NTB模块实现,需要独立实现NTB逻辑后将其挂接在核心交换上。当需要通过NTB进行跨网络访问时,报文首先会通过核心交换发送到NTB逻辑,NTB逻辑将报文转换后从另一侧接口发送到目标网络,反向依然。
现有技术方案通过两个背靠背的EP和转换逻辑实现了一个NTB,借助NTB实现跨PCIe网络通信。NTB桥需要独立设计实现,由于NTB同时连接了两个PCIe网络,因此需要两个背靠背对接的EP端点。此外,协议还规定EP设备不允许挂接在PCIe Switch内部的总线上,因此在NTB和Switch core之间还必须存在一个下游端口PCI-to-PCI Bridge。即要完成跨网络通信,至少需要通过一个下游端口PCI-to-PCI Bridge、转换逻辑和两个EP,因此现有技术方案缺点如下:
1.设计实现复杂:NTB需要独立设计,除转换逻辑外,还需要实现两个PCIe协议规定的EP的功能。在芯片制造时,由于增加了独立的NTB模块,布局布线难度也比更大。
2.延迟高:要完成跨网络访问,至少需要通过一个下游端口PCI-to-PCI Bridge、以及两个EP设备,带来较高的传输延迟。
3.在系统软件的角度上,集成了NTB的PCIe网络拓扑结构较复杂,为配置和使用带来一定的难度。
发明内容
有鉴于此,本发明提出一种新型的双模式PCI-to-PCI Bridge结构,可灵活配置为透明桥或非透明桥模式。借助该结构,可以无需独立的NTB模块,完成跨网络通信。且实现该结构仅需要对译码(路由)和寄存器做少量修改即可完成,并与普通PCI-to-PCI Bridge功能完全兼容。本发明并非简单通过选择来激活内部独立的PCI-to-PCI Bridge或独立的NTB,而是提出了一种全新的PCIe设备结构并实现了两种功能的融合。具体而言,本发明提供了以下技术方案:
一种具备透明和非透明双模式的PCIe桥设备,所述设备包括:下行报文地址和ID判断模块、下行NT转换模块、配置空间0、转发路由模块、上行报文地址和ID判断模块、上行NT转换模块、配置空间1,以及PCIe控制器;
所述下行报文地址和ID判断模块分别连接配置空间0、下行NT转换模块以及转发路由模块;
所述上行报文地址和ID判断模块分别连接配置空间1、上行NT转换模块以及转发路由模块;
所述下行报文地址和ID转换模块接收来自PCIe网络1的报文;所述转发路由模块连接PCIe控制器,所述PCIe控制器接收来自PCIe网络2的报文;所述上行报文地址和ID转换模块接收来自PCIe控制器的报文;
所述上行报文地址和ID判断模块及下行报文地址和ID判断模块用于提取报文中的相关字段,并判断所述报文是否需要进行报文转换;
所述PCIe桥设备工作在透明桥模式时,仅所述配置空间0有效;所述PCIe桥设备工作在非透明桥模式时,所述配置空间0和配置空间1均有效。
优选地,所述相关字段包括地址字段、ID、Attr字段等。
优选地,所述配置空间0和配置空间1分别用于供PCIe网络1、PCIe网络2中的设备访问,实现例如枚举、控制、检测状态功能。
优选地,所述PCIe桥设备具备两套BAR空间,其中第一BAR空间的地址在配置空间0的基址寄存器中定义,第二BAR空间的地址在配置空间1的基址寄存器中定义;
所述PCIe网络1的RC可以通过存储报文访问所述第一BAR空间;所述PCIe网络2的RC可以通过存储报文访问所述第二BAR空间。
优选地,所述上行NT转换模块及下行NT转换模块,用于将报文中的相关字段进行转换,转换后的报文为目的PCIe网络的合法报文。
优选地,所述转发路由模块基于报文的相关字段,完成报文路由,并生成目的端口信息。
优选地,当该PCIe桥设备工作在透明桥模式时:
在egress方向上,所述下行报文地址和ID判断模块接收报文,并提取报文的相关信息;再通过转发路由模块,将该报文发送至PCIe控制器,PCIe控制器再将该报文发送至PCIe网络2的链路上;
在ingress方向上,当PCIe控制器接收到PCIe网络2链路上的报文后,将报文发送至转发路由模块;转发路由模块提取报文的相关信息,并基于相关信息得到目的端口信息,之后将报文及目的端口信息发送至交换模块,交换模块将该报文路由至目的端口上。
优选地,所述交换模块根据报文路由目的端口信息,在Switch内部完成端口间的报文传输,将报文发送到对应的目的端口去。
优选地,当该PCIe桥设备工作在非透明桥模式时:
在egress方向上,下行报文地址和ID判断模块接收报文,并判断报文是否满足访问条件;当报文满足访问条件时,则将报文发送至下行NT转换模块;下行NT转换模块提取报文的相关信息,并通过查表得到新报文相关信息,新报文相关信息作为报文的新报文头,并将新报文头与原报文的Payload组装成为新报文;新报文发送至转发路由模块,再由转发路由模块发送至PCIe控制器,PCIe控制器将新报文发送至PCIe网络2的链路上;
在ingress方向上,PCIe控制器接收报文,并发送至上行报文地址和ID判断模块;上行报文地址和ID判断模块判断报文是否满足访问条件;当报文满足访问条件时,则报文传输至上行NT转换模块,上行NT转换模块提取报文的相关信息,并通过查表得到新报文相关信息,新报文相关信息作为报文的新报文头,新报文头与原报文的Payload组装成为新报文;新报文发送至转发路由模块,转发路由模块基于新报文的类型,提取地址和ID信息,并基于地址和ID信息得到目的端口信息,并将新报文和目的端口信息发送给交换模块,交换模块将新报文路由至目的端口上。
优选地,所述访问条件为:(1)报文命中记录在配置空间0的BAR空间,或(2)报文的目的BUS和记录在配置空间0的BUS号一致。
优选地,判断所述报文是否需要进行报文转换的条件为:(1)报文命中记录在配置空间0的BAR空间,或(2)报文的目的BUS和记录在配置空间0的BUS号一致。
优选地,在PCIe网络1和PCIe网络2中的RC进行枚举时,所述PCIe桥设备向枚举的RC回复该PCIe桥设备另一侧不存在设备的响应报文。
与现有技术相比,本发明技术方案至少具有以下有益效果:1.设计实现简单。仅需对对译码模块、寄存器和端口进行修改,不再需要独立设计的NTB模块。相比传统的NTB,省下了两个EP端点,减少了设计复杂度和资源数量。2.延迟低,数据通路结构简单,报文转换后直接发送到对端,仅在报文转换、路由和控制器消耗部分时间,延时更低。而传统的NTB需要经过两个额外的EP端点,延时较大。3.支持双模式,可根据应用需要灵活配置。透明桥模式下与普通的PCI to PCI Bridge完全兼容,非透明桥模式下可实现跨网络访问,且仍为桥设备,可直接挂在Switch内部总线,不违背PCIe协议。4.拓扑结构简单,便于软件配置和使用。在透明桥和非透明模式时,在网络中只表现为一个PCI to PCI Bridge设备,且两种模式配置空间的定义一致,便于驱动和软件开发。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中两独立PCIe网络结构示意图;
图2为本发明实施例的双模式桥实现跨PCIe网络访问的示意图;
图3为本发明实施例的双模式桥内部结构示意图;
图4为本发明实施例的透明桥模式工作示意图;
图5为本发明实施例的非透明桥模式工作示意图;
图6为本发明实施例的非透明桥模式下的网络拓扑结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域技术人员应当知晓,下述具体实施例或具体实施方式,是本发明为进一步解释具体的发明内容而列举的一系列优化的设置方式,而该些设置方式之间均是可以相互结合或者相互关联使用的,除非在本发明明确提出了其中某些或某一具体实施例或实施方式无法与其他的实施例或实施方式进行关联设置或共同使用。同时,下述的具体实施例或实施方式仅作为最优化的设置方式,而不作为限定本发明的保护范围的理解。
如图2所示,为本发明的借助双模式桥实现跨PCIe网络访问的示意图,本发明主要提出了一种新型的双模式PCI-to-PCI Bridge结构设备,可灵活配置为透明桥或非透明桥模式。借助该结构,可以无需独立的NTB模块,完成跨网络通信。且实现该结构仅需要对译码(路由)和寄存器做少量修改即可完成,并与普通PCI-to-PCI Bridge功能完全兼容。本发明并非简单通过选择来激活内部独立的PCI-to-PCI Bridge或独立的NTB,而是提出了一种全新的PCIe设备结构并实现了两种功能的融合。通过配置如图2的结构,本实施例提供的双模式PCIe桥的主要功能定义如下:
1.通过配置可选择工作模式为透明桥或非透明桥。
2.模式为透明桥模式时,其实现的功能与普通透明桥完全一致。
3.模式为非透明桥模式时,实现以下功能:
1)具有两套协议规定的配置空间,分别为配置空间0和配置空间1,用于供给两个不同的网络访问。例如,在图2中RC0可以通过配置报文访问配置空间0,而RC1可以通过配置报文访问配置空间1。
2)RC枚举时,该PCIe桥设备会向RC回复该桥另一侧不存在设备的响应报文。例如,当收到RC发送的Type1配置报文时,该PCIe桥内部生成状态为UR(unsupported request,不支持的请求)的完成响应报文,并回复给RC,以完成不存在设备的响应。
3)具有两套BAR空间。第一个BAR空间的地址在配置空间0的基址寄存器定义,第二个BAR空间的地址在配置空间1的基址寄存器定义,用于供给两个不同的网络访问。例如,RC0可以通过存储报文访问第一个BAR空间,RC1可以通过存储报文访问第二个BAR空间。
4)命中BAR空间的存储报文或与配置空间中记录的BUS号一致的报文(两个方向独立判断),为需要进行跨网络的报文。
5)上述需要跨网络的报文进行报文转换,转换后的报文为目标网络的合法报文。
6)将转换后的报文发送到对侧。
在一个更优的实施方式中,如图3所示,为本发明提供的双模式桥的内部结构示意图,该双模式桥主要包括两个报文地址和ID判断模块(即下行位置的报文地址和ID判断模块、上行位置的报文地址和ID判断模块)、配置空间0、配置空间1、转发路由模块、两个NT转换模块(即下行位置的NT转换模块、上行位置的NT转换模块),以及PCIe控制器。其中,下行位置的报文地址和ID判断模块接收来自PCIe网络1的数据信息,并分别与配置空间0、下行位置的NT转换模块、转发路由模块连接,下行位置的NT转换模块与转发路由模块连接;转发路由模块与PCIe控制器连接。PCIe控制器接收PCIe网络2的数据信息,并将信息传输至上行位置的报文地址和ID判断模块,上行位置的报文地址和ID判断模块分别与上行位置的NT转换模块、转发路由模块、配置空间1连接;上行位置的NT转换模块与转发路由模块连接。转发路由模块将下行信号发送至PCIe控制器,并且将上行信号发送至PCIe网络1。
图3中各模块功能如下:
报文地址和ID判断模块:本模块中,报文地址和ID判断模块设置有两个,分别应用在报文信息上行和报文信息下行链路上。其主要功能是提取报文相关字段,例如地址字段和ID,判断该报文是否需要进行报文转换,若报文为地址路由类型,则判断地址命中配置空间中的BAR地址空间;若报文为ID路由类型,则判断ID和配置空间记录的BUS号是否一致。此处进一步解释:当报文为地址路由类型情况下,报文中的地址存在于在BAR空间中,就需要进行转换。BAR空间是系统在枚举阶段分配的一段地址,该地址记录在配置空间的BAR寄存器中。若未命中BAR空间,则不需要转换,正常情况下PCIe网络也不应该发送未命中报文过来,如果发送过来就作为不支持报文处理,不进行转换。当报文为ID路由类型时,提取报文中的目的ID,并与配置空间中记录的设备ID(即BUS号)比较,一致就会进行转换,否则作为不支持报文处理。
报文转换模块(即NT转换模块):进行报文中相关字段的查表转换,例如地址、ID或Attr转换等,转换后的报文为目的网络的合法报文。此处转换不涉及报文中的payload数据。
转发路由模块:根据报文相关字段,例如,地址字段或ID,完成报文路由,生成目的端口信息;具体目的端口信息的生成,根据协议规定的路由规则确定。
配置空间:协议规定的4K配置空间,共有两个,为配置空间0和配置空间1。当工作在透明桥模式时,仅配置空间0有效,因此仅能访问配置空间0;当工作在非透明桥模式时,配置空间0和配置空间1都有效,由于该设备连接了两个网络,每个网络各自能访问一套配置空间。
配置空间的内容根据设备类型,分为Type0 配置空间和Type1 配置空间,配置空间内容由具体协议规定。由于非透明桥连接了两个不同的PCIe域,因此有两套配置空间,供两个PCIe域内的设备访问。RC可以通过配置报文访问各自管理的PCIe域内的配置空间,并且在枚举、控制桥设备、读取状态时都需要访问。
在一个优选的实施方式中,对于本实施例提供的PCIe桥设备的模式切换方式,可以通过例如开关方式进行切换。该开关的形式可以是芯片的管脚,上拉和下拉分别对应一种工作模式;或者在芯片内部增加寄存器,通过寄存器控制模式切换,访问寄存器的手段较多,例如iic、jtag或者管理口等。
以下结合图4、图5,对本发明设备的工作过程进行详细阐述。在本实施例中,该端口可同时实现透明桥和非透明桥功能。芯片初始化或工作时,配置该端口工作在透明桥或非透明桥模式。当配置为透明桥模式时,该端口工作的子模块如图4所示。
在透明桥模式时,仅配置空间0和转发路由模块工作,NT相关的其他模块均处于关断状态。灰色箭头为报文egress方向(即出站方向),该模块接受来自交换的报文后,直接将其发送到PCIe控制器,然后PCIe控制器发送到PCIe网络2的链路上。黑色箭头为报文ingress方向(即入站方向),PCIe控制器接收到链路上的报文后,将报文送到转发路由模块,转发路由模块根据报文类型,提取地址和ID等信息,并根据地址和ID查表得到目的端口,之后将报文和目的端口信息发送给交换模块,交换模块将其路由到对应的端口上,该交换模块为本领域常用的辅助电路模块,不涉及本发明的改进内容,此处不再赘述。此处,查表涉及的表单中,记录了地址、ID和目的端口信息,查表过程就是提取报文中地址、ID信息,与表中存储的信息进行匹配,从而获得目的端口信息,该表可以存储在特定RAM中,或者由寄存器来实现。
在系统软件角度看,在透明桥模式下,本双模式桥可实现下游PCI-to-PCI Bridge的常规功能。
结合图5所示,当配置为非透明桥模式时,图中的所有模块均处于工作状态,并协助实现非透明模式。
灰色箭头为egress方向(即出站方向,与此处的下行方向一致),只有两种情况下,报文满足访问条件:(1)命中记录在配置空间0的BAR空间内的报文,或(2)目的BUS和记录在配置空间0的BUS号一致的报文,只有满足上述条件(1)和/或(2)的报文才允许访问另一个PCIe网络;这一判断在报文地址和ID判断模块(下行方向的)中完成。若报文满足访问条件,则进入到NT转换模块(下行方向),下行方向的NT转换模块提取报文头部的报文地址、ID、Attr等字段,并通过查表得到新的报文地址、ID、Attr等字段,组装成新的报文头,并与原报文的Payload(即报文中的纯数据部分)装成新的报文,该新的报文为目的PCIe交换网络中的合法报文。报文通过转发路由模块被发送到PCIe控制器,然后PCIe控制器将报文发送到PCIe网络2的链路上。若报文不满足访问条件,则作为不支持报文处理。
黑色箭头为ingress方向(即入站方向,与此处的上行方向一致),类似地,只有两种情况下,报文满足访问条件:(1)命中记录在配置空间1的BAR空间内的报文,或(2)目的BUS和记录在配置空间1的BUS号一致的报文,只有满足上述的条件(1)和/或(2)的报文才允许访问另一个PCIe网络,类似地,这一判断在报文地址和ID判断模块(上行方向的)中完成。若报文满足访问条件,则进入到NT转换模块(上行方向),上行方向的NT转换模块提取报文头部的报文地址、ID、Attr等字段,并通过查表得到新的报文地址、ID、Attr等字段,组装成新的报文头,并与原报文的Payload组装成新的报文,该报文为目的PCIe交换网络中的合法报文。报文被发送到转发路由模块,转发路由模块根据报文类型,提取地址和ID信息,并根据地址和ID查表得到目的端口,之后将报文和目的端口信息发送给交换模块,交换模块将其路由到对应的端口上。
从系统软件上看,该对应的端口会被两个PCIe网络的RC枚举到,此时拓扑结构如图6所示。
通过本实施例我们可以看到,每个PCIe网络都会将该双模式桥认为是一个PCI-to-PCI Bridge,等效的两个PCI-to-PCI Bridge各自有配置空间和BAR空间,由两个网络分别管理。由于在RC枚举时,该双模式桥会向RC回复该桥另一侧不存在设备的响应报文,因此两个RC都会认为该双模式桥设备即为网络分支的“终点”,无法直接发现对面网络的设备。但是两个RC可以向该双模式桥发送报文,只要报文符合访问规则(命中记录在配置空间的BAR空间内的报文或报文目的BUS和记录在配置空间的BUS号一致),该双模式桥就会将该报文转换后发到对面网络,并在目标网络中完成路由,并最终发送到目标设备上,从而实现了跨网络访问。
本方案在又一种实施方式下,可以应用于具有总线架构的设备中,总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线将包括一个或多个处理器、存储器和/或硬件模块的各种电路连接到一起。总线还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其它电路连接。
本发明中涉及的流程中的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本方案的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本方案的实施方式所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种具备透明和非透明双模式的PCIe桥设备,其特征在于,所述设备包括:下行报文地址和ID判断模块、下行NT转换模块、配置空间0、转发路由模块、上行报文地址和ID判断模块、上行NT转换模块、配置空间1,以及PCIe控制器;
所述下行报文地址和ID判断模块分别连接配置空间0、下行NT转换模块以及转发路由模块;
所述上行报文地址和ID判断模块分别连接配置空间1、上行NT转换模块以及转发路由模块;
所述下行报文地址和ID转换模块接收来自PCIe网络1的报文;所述转发路由模块连接PCIe控制器,所述PCIe控制器接收来自PCIe网络2的报文;所述上行报文地址和ID转换模块接收来自PCIe控制器的报文;
所述上行报文地址和ID判断模块及下行报文地址和ID判断模块用于提取报文中的相关字段,并判断所述报文是否需要进行报文转换;
所述PCIe桥设备工作在透明桥模式时,仅所述配置空间0有效;所述PCIe桥设备工作在非透明桥模式时,所述配置空间0和配置空间1均有效;
所述配置空间0和配置空间1分别用于供PCIe网络1、PCIe网络2中的设备访问。
2.根据权利要求1所述的PCIe桥设备,其特征在于,所述相关字段包括地址字段、ID和Attr字段。
3.根据权利要求1所述的PCIe桥设备,其特征在于,所述PCIe桥设备具备两套BAR空间,其中第一BAR空间的地址在配置空间0的基址寄存器中定义,第二BAR空间的地址在配置空间1的基址寄存器中定义;
所述PCIe网络1的RC可以通过存储报文访问所述第一BAR空间;所述PCIe网络2的RC可以通过存储报文访问所述第二BAR空间。
4.根据权利要求1所述的PCIe桥设备,其特征在于,所述上行NT转换模块及下行NT转换模块,用于将报文中的相关字段进行转换,转换后的报文为目的PCIe网络的合法报文。
5.根据权利要求1所述的PCIe桥设备,其特征在于,所述转发路由模块基于报文的相关字段,完成报文路由,并生成目的端口信息。
6.根据权利要求1所述的PCIe桥设备,其特征在于,当该PCIe桥设备工作在透明桥模式时:
在egress方向上,所述下行报文地址和ID判断模块接收报文,并提取报文的相关信息;再通过转发路由模块,将该报文发送至PCIe控制器,PCIe控制器再将该报文发送至PCIe网络2的链路上;
在ingress方向上,当PCIe控制器接收到PCIe网络2链路上的报文后,将报文发送至转发路由模块;转发路由模块提取报文的相关信息,并基于相关信息得到目的端口信息,之后将报文及目的端口信息发送至交换模块,交换模块将该报文路由至目的端口上。
7.根据权利要求1所述的PCIe桥设备,其特征在于,当该PCIe桥设备工作在非透明桥模式时:
在egress方向上,下行报文地址和ID判断模块接收报文,并判断报文是否满足访问条件;当报文满足访问条件时,则将报文发送至下行NT转换模块;下行NT转换模块提取报文的相关信息,并通过查表得到新报文相关信息,新报文相关信息作为报文的新报文头,并将新报文头与原报文的Payload组装成为新报文;新报文发送至转发路由模块,再由转发路由模块发送至PCIe控制器,PCIe控制器将新报文发送至PCIe网络2的链路上;
在ingress方向上,PCIe控制器接收报文,并发送至上行报文地址和ID判断模块;上行报文地址和ID判断模块判断报文是否满足访问条件;当报文满足访问条件时,则报文传输至上行NT转换模块,上行NT转换模块提取报文的相关信息,并通过查表得到新报文相关信息,新报文相关信息作为报文的新报文头,新报文头与原报文的Payload组装成为新报文;新报文发送至转发路由模块,转发路由模块基于新报文的类型,提取地址和ID信息,并基于地址和ID信息得到目的端口信息,并将新报文和目的端口信息发送给交换模块,交换模块将新报文路由至目的端口上。
8.根据权利要求7所述的PCIe桥设备,其特征在于,在egress方向上,所述访问条件为:(1)报文命中记录在配置空间0的BAR空间,或(2)报文的目的BUS和记录在配置空间0的BUS号一致;
在ingress方向上,所述访问条件为:(1)报文命中记录在配置空间1的BAR空间,或(2)报文的目的BUS和记录在配置空间1的BUS号一致。
9.根据权利要求1所述的PCIe桥设备,其特征在于,在PCIe网络1和PCIe网络2中的RC进行枚举时,所述PCIe桥设备向枚举的RC回复该PCIe桥设备另一侧不存在设备的响应报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410182616.9A CN117743240B (zh) | 2024-02-19 | 2024-02-19 | 一种具备透明和非透明双模式的PCIe桥设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410182616.9A CN117743240B (zh) | 2024-02-19 | 2024-02-19 | 一种具备透明和非透明双模式的PCIe桥设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117743240A CN117743240A (zh) | 2024-03-22 |
CN117743240B true CN117743240B (zh) | 2024-04-19 |
Family
ID=90281748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410182616.9A Active CN117743240B (zh) | 2024-02-19 | 2024-02-19 | 一种具备透明和非透明双模式的PCIe桥设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117743240B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102177A (zh) * | 2007-08-20 | 2008-01-09 | 杭州华三通信技术有限公司 | 一种主备控制器倒换的实现方法及设备 |
CN101242371A (zh) * | 2008-03-14 | 2008-08-13 | 杭州华三通信技术有限公司 | 基于PCIe交换架构路由器堆叠的方法、系统和装置 |
CN101814060A (zh) * | 2008-09-25 | 2010-08-25 | 英特尔公司 | 在背靠背非透明桥中进行系统间协议交换的方法和装置 |
CN103117929A (zh) * | 2013-01-31 | 2013-05-22 | 中国科学院计算技术研究所 | 一种基于PCIe数据交换的通信方法及系统 |
CN104142849A (zh) * | 2013-05-06 | 2014-11-12 | 财团法人工业技术研究院 | 多主机单根输入/输出虚拟化虚拟功能共享的方法及系统 |
CN104639345A (zh) * | 2015-01-09 | 2015-05-20 | 加弘科技咨询(上海)有限公司 | 一种ntb性能测试方法及系统 |
CN105721357A (zh) * | 2016-01-13 | 2016-06-29 | 华为技术有限公司 | 交换设备、外围部件互连高速系统及其初始化方法 |
CN110941576A (zh) * | 2018-09-21 | 2020-03-31 | 苏州库瀚信息科技有限公司 | 具有多模pcie功能的存储控制器的系统、方法和设备 |
CN111597135A (zh) * | 2020-06-18 | 2020-08-28 | 中国人民解放军国防科技大学 | 一种透明桥和非透明桥功能可选的pcie交换器及多主机系统 |
CN115543894A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 存储系统、数据处理方法及装置、存储介质及电子设备 |
CN116346744A (zh) * | 2023-03-29 | 2023-06-27 | 青芯半导体科技(上海)有限公司 | 一种具多个非透明桥端口的PCIe交换机及其通信方法 |
CN116743684A (zh) * | 2023-06-14 | 2023-09-12 | 青芯半导体科技(上海)有限公司 | 一种具多个非透明桥端口的PCIe交换机及其通信方法 |
CN117149674A (zh) * | 2023-08-22 | 2023-12-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于嵌入式实时场景的多主机PCIe互联结构 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150261709A1 (en) * | 2014-03-14 | 2015-09-17 | Emilio Billi | Peripheral component interconnect express (pcie) distributed non- transparent bridging designed for scalability,networking and io sharing enabling the creation of complex architectures. |
WO2020055921A1 (en) * | 2018-09-10 | 2020-03-19 | GigaIO Networks, Inc. | Methods and apparatus for high-speed data bus connection and fabric management |
WO2022261200A1 (en) * | 2021-06-09 | 2022-12-15 | Enfabrica Corporation | Multi-plane, multi-protocol memory switch fabric with configurable transport |
-
2024
- 2024-02-19 CN CN202410182616.9A patent/CN117743240B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102177A (zh) * | 2007-08-20 | 2008-01-09 | 杭州华三通信技术有限公司 | 一种主备控制器倒换的实现方法及设备 |
CN101242371A (zh) * | 2008-03-14 | 2008-08-13 | 杭州华三通信技术有限公司 | 基于PCIe交换架构路由器堆叠的方法、系统和装置 |
CN101814060A (zh) * | 2008-09-25 | 2010-08-25 | 英特尔公司 | 在背靠背非透明桥中进行系统间协议交换的方法和装置 |
CN103117929A (zh) * | 2013-01-31 | 2013-05-22 | 中国科学院计算技术研究所 | 一种基于PCIe数据交换的通信方法及系统 |
CN104142849A (zh) * | 2013-05-06 | 2014-11-12 | 财团法人工业技术研究院 | 多主机单根输入/输出虚拟化虚拟功能共享的方法及系统 |
CN104639345A (zh) * | 2015-01-09 | 2015-05-20 | 加弘科技咨询(上海)有限公司 | 一种ntb性能测试方法及系统 |
CN105721357A (zh) * | 2016-01-13 | 2016-06-29 | 华为技术有限公司 | 交换设备、外围部件互连高速系统及其初始化方法 |
CN110941576A (zh) * | 2018-09-21 | 2020-03-31 | 苏州库瀚信息科技有限公司 | 具有多模pcie功能的存储控制器的系统、方法和设备 |
CN111597135A (zh) * | 2020-06-18 | 2020-08-28 | 中国人民解放军国防科技大学 | 一种透明桥和非透明桥功能可选的pcie交换器及多主机系统 |
CN115543894A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 存储系统、数据处理方法及装置、存储介质及电子设备 |
CN116346744A (zh) * | 2023-03-29 | 2023-06-27 | 青芯半导体科技(上海)有限公司 | 一种具多个非透明桥端口的PCIe交换机及其通信方法 |
CN116743684A (zh) * | 2023-06-14 | 2023-09-12 | 青芯半导体科技(上海)有限公司 | 一种具多个非透明桥端口的PCIe交换机及其通信方法 |
CN117149674A (zh) * | 2023-08-22 | 2023-12-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于嵌入式实时场景的多主机PCIe互联结构 |
Non-Patent Citations (6)
Title |
---|
PCI-to-PCI非透明桥的设计和应用;王乐 等;微电子学与计算机;20071231;第24卷(第7期);160-165 * |
Seamless Fail-over for PCIe Switched Networks;William Cheng-Chun Tu et al.;Proceedings of the 11th ACM International Systems and Storage Conference;20180630;101-111 * |
SmartIO: Zero-overhead Device Sharing through PCIe Networking;JONAS MARKUSSEN et al.;ACM Transactions on Computer Systems;20210630;1-73 * |
基于PCI6540的PCI交换电路设计与实现;林凡淼 等;电子与封装;20211130;第21卷(第11期);1-6 * |
基于PCIE非透明桥的嵌入式异构平台设计;徐健;张建泉;张健;;微电子学与计算机;20180105;第35卷(第1期);26-30 * |
王乐 ; 马春江 ; 冯晓东 ; 张锐 ; .PCI-to-PCI非透明桥的设计和应用.微电子学与计算机.2007,第24卷(第07期),160-162. * |
Also Published As
Publication number | Publication date |
---|---|
CN117743240A (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8995302B1 (en) | Method and apparatus for translated routing in an interconnect switch | |
US9025495B1 (en) | Flexible routing engine for a PCI express switch and method of use | |
US7660932B2 (en) | Composing on-chip interconnects with configurable interfaces | |
WO2017121376A1 (zh) | 交换设备、外围部件互连高速系统及其初始化方法 | |
US7808989B2 (en) | Multiple-domain processing system using hierarchically orthogonal switching fabric | |
US9146890B1 (en) | Method and apparatus for mapped I/O routing in an interconnect switch | |
US7969989B2 (en) | High performance ethernet networking utilizing existing fibre channel arbitrated loop HBA technology | |
US7849182B2 (en) | Blade server | |
US20150261709A1 (en) | Peripheral component interconnect express (pcie) distributed non- transparent bridging designed for scalability,networking and io sharing enabling the creation of complex architectures. | |
KR0145324B1 (ko) | 데이터 통신 어덥터 및 그것을 사용한 데이터통신 단말장치 | |
EP1786157B1 (en) | Switched integrated circuit connection architectures and techniques | |
US20080144670A1 (en) | Data Processing System and a Method For Synchronizing Data Traffic | |
CN110535788A (zh) | 多协议控制器和多协议交换芯片 | |
CN101009542B (zh) | 一种数据网络节点设备端口的扩展装置 | |
CN117743240B (zh) | 一种具备透明和非透明双模式的PCIe桥设备 | |
Carara et al. | Communication models in networks-on-chip | |
US9461913B2 (en) | Method of data transmission in a system on chip | |
US10261936B2 (en) | PCIe switch with data and control path systolic array | |
CN205507610U (zh) | 一种采用串行内总线的星载计算机 | |
CN116489114A (zh) | 一种PCIe交换机及其终端的数据转换方法 | |
CN113709066B (zh) | 一种PCIe通信装置及BMC | |
US6714556B1 (en) | In-band management of a stacked group of switches by a single CPU | |
CN116049044B (zh) | 一种pcie设备控制方法、计算机设备及片上系统 | |
CN113132199B (zh) | 一种PCIe NTB的系统实现管理方法 | |
CN115134311B (zh) | RapidIO端点控制器及端点设备 |
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 |