CN117009274B - 一种基于非透明桥模块的pcie交换机及主机系统 - Google Patents
一种基于非透明桥模块的pcie交换机及主机系统 Download PDFInfo
- Publication number
- CN117009274B CN117009274B CN202311267990.0A CN202311267990A CN117009274B CN 117009274 B CN117009274 B CN 117009274B CN 202311267990 A CN202311267990 A CN 202311267990A CN 117009274 B CN117009274 B CN 117009274B
- Authority
- CN
- China
- Prior art keywords
- transaction
- pcie
- module
- field
- request
- 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 abstract description 40
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 15
- 238000013519 translation Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 8
- 238000011144 upstream manufacturing Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明涉及集成电路技术领域,特别涉及一种基于非透明桥模块的PCIE交换机及主机系统。包括:虚拟侧PCIE端点、连接侧PCIE端点和非透明桥并行数据总线;所述虚拟侧PCIE端点和所述连接侧PCIE端点之间连接有所述非透明桥模块,且所述非透明桥模块由两条通路构成;两条通路均包括:接收路由模块;地址与ID转换模块;发送模块;完成事务仲裁模块,所述两条通路中,其中一条通路是由所述虚拟侧PCIE端点的接收模块到所述连接侧PCIE端点的发送模块;本发明通过非透明桥可以进行地址与ID的翻译,完成地址空间共享,使两个主机系统进行数据传输具有可行性。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及一种基于非透明桥模块的PCIE交换机及主机系统。
背景技术
PCI-Express(Peripheral Component Interconnect Express)是继PCI和PCI-X总线后的第三代高速串行计算机扩展总线标准,无论是在速度、性能、功能,还是可扩展性和兼容性等各方面,与之前相比都有显著改进和提高。为解决PCI总线负载能力不足的问题,PCISIG(外围部件互连专业组)发布了PCI-to-PCI桥接规范,将PCI总线进行扩展。
近年来,分布式系统得到广泛发展,多主机系统可以提供高带宽的同时,还能提供更好的稳定行。但是,PCIE协议使用树形拓扑结构,只存在一个根复合体,使得传统的PCIESWITCH无法构建多主机系统,非透明桥是用于连接与隔离两个独立的主机域,从而需要在PCIESWITCH中实现非透明桥来实现多主机系统。
在PCIESWITCH非透明桥的系统架构中,不同主机系统连接在非透明端口两侧,通过非透明桥进行主机系统间的数据交换,或主机系统与不在自身树形拓扑结构中的设备进行通信,不同主机系统的内存空间都是相对不可见的,这就需要非透明桥建立相应的数据通信路径,完成地址与ID的转换,实现主机系统间的通信。
综述所述,PCIE SWITCH中非透明桥的结构面向各种分布式系统场景,在PCIESWITCH中实现非透明桥,完成不同主机系统间的数据通信。
发明内容
本发明的目的在于提供一种基于非透明桥模块的PCIE交换机及主机系统,通过非透明桥可以进行地址与ID的翻译,完成地址空间共享,使两个主机系统进行数据传输具有可行性。
为解决上述技术问题,本发明提供了一种基于非透明桥模块的PCIE交换机,包括:虚拟侧PCIE端点、连接侧PCIE端点和非透明桥并行数据总线;所述虚拟侧PCIE端点和所述连接侧PCIE端点之间连接有所述非透明桥模块,且所述非透明桥模块由两条通路构成;
所述两条通路均包括:
接收路由模块,根据接收事务类型不同,分为请求事务与完成事务,将请求事务分为命中PCIE基址寄存器0/1的请求事务、命中PCIE基址寄存器2/3/4/5的请求报告事务、命中PCIE基址寄存器2/3/4/5的请求非报告事务和命中只读存储器基址寄存器请求事务;
地址与ID转换模块,该模块对请求事务进行ID和地址转换,对完成事务进行ID转换;其中ID转换通过ID全局查找表,将接收事务包头中ID字段保存在查找表中,使用查找表序号以及对端设备总线号进行替换,实现ID转换;地址转换是通过设置地址转换寄存器,确定偏移地址的位宽,配置转换基地址,替换请求事务包头中的地址字段的基地址,保持偏移地址不变;
发送模块,将转换过的事务进行跨时钟域处理,将事务从虚拟侧PCIE端点时钟域转换到连接侧PCIE端点时钟域,同时发送接口为三通道发送,分别是请求报告事务、请求非报告事务和完成事务;该发送模块完成请求报告事务、请求非报告事务的发送;
完成事务仲裁模块,对不同来源的完成事务进行仲裁输出,其中包括命中基址寄存器0/1的读请求事务对应的完成事务、命中只读存储基址寄存器的读请求事务对应的完成事务、命中基址寄存器2/3/4/5的读请求事务对应的完成事务、请求事务未命中产生的不支持该请求的完成事务、完成事务未命中产生的完成取消的完成事务,将仲裁输出的完成事务通过第三个完成事务发送接口发出。
优选的,所述两条通路中,其中一条通路是由所述虚拟侧PCIE端点的接收模块到所述连接侧PCIE端点的发送模块;另一条通路是由所述连接侧PCIE端点的接收模块到所述虚拟侧PCIE端点的发送模块;且两条通路方向相反、但功能相一致。
优选的,所述非透明桥并行数据总线,通过选择寄存器判断是否将非透明桥模块的虚拟侧PCIE端点连接至透明桥的下游PCIE端口上以及连接到哪个透明桥的下游PCIE端口。
优选的,所述PCIE交换机的热复位传递在根复合体和上游端口之间,下游端口与该PCIE交换机之间通过TS1训练序列中使能热复位控制字段传递热复位,PCIE交换机内部通过复位信号进行传递,当PCIE端口或PCIE端点收到热复位信号后,通过PCIE链路训练状态机进入热复位状态,实现PCIE端口或PCIE端点热复位。
优选的,所述非透明桥模块中包括两个时钟域,其中下游非透明PCIE端口与虚拟侧PCIE端点根据配置的链路信息,使用参考时钟经过时钟复位模块,产生对应的时钟;而连接侧PCIE端点采用物理层输出的时钟。
优选的,所述地址与ID转换模块,还包括:一个ID全局查找表和多个基地址转换寄存器;其中ID查找表包括32个表项,每个表项中包括Bus字段、Dev字段和Func字段;其中Bus字段用于记录总线号,Dev字段用于记录设备号,Func字段对应功能号,长度分别为8位、5位和3位,同时每个表项都对应一个5位的索引号。
优选的,当第一主机系统发起请求事务,路由至非透明桥的虚拟侧PCIE端点,将请求事务报文ID字段抓取,写入ID全局查找表中,同时第二主机系统枚举过程中,连接侧PCIE端点获取第二主机系统域的Bus号,当第一主机系统发起请求事务时,地址与ID转换模块将报文中的ID字段与ID全局查找表进行比对,命中后,获取对应表项索引号,将其替换ID字段中的Dev字段,同时用第二主机系统域Bus号替换ID字段中的Bus字段,Func字段保持不变,若未命中,则返回不支持该请求的完成事务;
当第二主机系统返回完成事务,路由至非透明桥的连接侧PCIE端点,将完成事务报文ID字段抓取,将其中Dev字段取出,通过该字段索引ID全局查找表,取出对应查找表表项,替换完成事务报文中的ID字段,若该字段索引到的表项无效,则返回取消完成的完成事务。
优选的,所述地址与ID转换模块,根据基地址转换寄存器,将请求事务报文中的地址字段,根据对应的基地址转换寄存器进行基地址转换,其中包括32位到32位地址转换、32位到64位地址转换、64位到32位地址转换以及64位到64位地址转换。
本发明还提供了一种主机系统,包括:第一主机系统、第二主机系统以及如上述所述的PCIE交换机;所述虚拟侧PCIE端点通过当前PCIE交换开关连接至上游端口的第一主机系统端,连接侧PCIE端点通过物理链路连接至第二主机系统端,两个主机系统的枚举软件将对应的虚拟侧PCIE端点和连接侧PCIE端点当作拓扑中的叶节点。
本发明与现有技术相比,具有如下有益效果:
本发明包括非透明桥并行数据总线,通过选择寄存器判断是否将非透明桥模块的虚拟侧PCIE端点连接至透明桥的下游PCIE端口上以及连接到哪个透明桥的下游PCIE端口,实现非透明端口的可选性,根据实际条件,可以动态设定非透明端口。本发明通过非透明桥可以进行地址与ID的翻译,完成地址空间共享,使两个主机系统进行数据传输具有可行性。本发明中的热复位传递方案,可以有效实现热复位的传递与阻断功能,当一个主机系统中的根复合体或SWITCH中的端口发起热复位时,在复位当前主机系统中的虚拟侧或连接侧端点时,不影响另一个主机系统。本发明中的时钟结构设计给非透明端口和虚拟侧端点提供锁相环产生的时钟,解决了非透明端口与虚拟侧端点不存在物理层的问题,在非透明桥模块中使用两个异步时钟域,也可以加强电路的稳定性。
附图说明
图1为本发明中PCIE交换机的结构组成图。
图2为本发明中由连接侧PCIE端点的接收模块到虚拟侧PCIE端点的发送模块的通路结构示意图。
图3为本发明中由虚拟侧PCIE端点的接收模块到连接侧PCIE端点的发送模块的通路结构示意图。
图4为本发明中非透明桥模块中热复位传递示意图。
图5为本发明中非透明桥模块时钟结构示意图。
图6为本发明中主机系统的结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
如图1-6所示,本发明实施例中基于非透明桥模块的PCIE交换机包括:虚拟侧PCIE端点、连接侧PCIE端点、接收路由模块、地址与ID转换模块、发送模块、完成事务仲裁模块以及非透明桥并行数据总线。第一主机系统是连接在PCIE交叉开关的上游端口的根复合体,第二主机系统是连接在连接侧PCIE端点的根复合体。
由图2-3可知,本实施例中存在两条通路,一路是由虚拟侧PCIE端点的接收模块到连接侧PCIE端点的发送模块;一路是由连接侧PCIE端点的接收模块到虚拟侧PCIE端点的发送模块。其中通路方向相反,但是功能是一致的。
接收路由模块用于将接收事务进行分类,将命中基址寄存器0/1的请求事务路由至寄存器模块,用于进行寄存器访问,将命中只读存储基址寄存器的请求事务路由至只读存储器访问模块,用于访问只读存储器,将剩余事务分为请求报告事务、请求非报告事务和完成事务,用于对不同事务包进行不同处理,通过不同发送端口进行发送。
通过虚拟侧PCIE端点上的接收路由模块收到的事务中的{Fmt,Type}、Address字段,判断接收事务类型,将接收事务进行分类,命中基址寄存器0/1的请求事务、命中只读存储基址寄存器的请求事务、请求报告事务、请求非报告事务和完成事务,其中命中基址寄存器0/1的请求事务被路由至寄存器模块,用于进行寄存器访问功能;命中只读存储基址寄存器的请求事务路由至只读存储器访问模块,用于访问只读存储器中的数据;请求报告事务、请求非报告事务和完成事务路由至地址与ID转换模块,进行地址与ID的转换。
地址与ID转换模块包括一个ID全局查找表,多个基地址转换寄存器,其中ID查找表包括32个表项,每个表项中包括Bus字段、Dev字段、Func字段,其中Bus字段用于记录总线号,Dev字段用于记录设备号,Func字段对应功能号,长度分别为8位、5位和3位,同时每个表项都对应一个5位的索引号。当第一主机系统发起请求事务,路由至非透明桥的虚拟侧端点,将请求事务报文ID字段抓取,写入ID查找表中,同时第二主机系统枚举过程中,连接侧端点获取第二主机系统域的Bus号,当第一系统发起请求事务时,地址与ID转换模块将报文中的ID字段与ID查找表进行比对,命中后,获取对应表项索引号,将其替换ID字段中的Dev字段,同时用第二系统域Bus号替换ID字段中的Bus字段,Func字段保持不变,如未命中,则返回不支持该请求的完成事务。当第二系统返回完成事务,路由至非透明桥的连接侧端点,将完成事务报文ID字段抓取,将其中Dev字段取出,通过该字段索引ID查找表,取出对应查找表表项,替换完成事务报文中的ID字段,如该字段索引到的表项无效,则返回取消完成的完成事务。
在地址与ID转换模块中,ID转换是通过一个ID全局查找表进行转换,通过接受路由模块传输的请求事务存在ID字段,ID字段由总线号、设备号以及功能号组成,ID全局查找表存在32个表项,每个表项也是由总线号、设备号以及功能号组成,将请求或完成事务的ID字段与查找表表项进行比对,当事务ID未命中查找表表项后,输出事务未命中信号,组成不支持请求的完成事务,发送至对侧通路的发送模块中。当事务的ID命中查找表表项后,输出命中表项的索引号,将该索引号替换事务ID字段中的设备号,同时将第二主机域中分配给连接侧PCIE端点的总线号替换事务ID字段中的总线号,功能号保持不变。
而通过接收路由模块传输的完成事务是通过对侧通路中的地址转换模块进行ID转换,在完成事务ID未命中查找表表项时,输出事务未命中信号,组成取消完成的完成事务,同样通过对侧通路的发送模块进行完成事务发送,在ID命中时,在将ID转换完成的完成事务发送至本通路的发送模块进行发送。
地址转换是通过基址转换寄存器实现,通过接受路由模块的请求事务存在地址字段,该地址会对应不同的基址转换寄存器,经过将对应基址转换寄存器中的基地址替换事务地址字段中的基地址,偏移地址保持不变。
将经过地址与ID转换过的请求或完成事务传输至发送模块,该模块将请求报告事务经过跨时钟域处理后发送至第一发送接口,将请求非报告事务经过跨时钟域处理后发送至第二发送接口,将完成事务经过跨时钟域处理后发送至完成事务仲裁模块,其中完成事务包括命中基址寄存器0/1的读请求事务对应的完成事务、命中只读存储基址寄存器的读请求事务对应的完成事务、命中基址寄存器2/3/4/5的读请求事务对应的完成事务、请求事务未命中产生的不支持该请求的完成事务、完成事务未命中产生的完成取消的完成事务。
完成事务仲裁模块对多个完成事务进行轮询仲裁,将仲裁得到的完成事务发送至第三发送接口。
非透明桥并行数据总线,选中与非透明模块连接的下游PCIE端口与非透明虚拟侧PCIE端点之间,是由非透明桥并行数据总线进行连接,不存在物理链路连接,所以舍弃PCS与PMA层,并不进行串并转换,导致下游PCIE端口与非透明虚拟侧PCIE端点之间不能进行链路训练,但PCIE协议规定L0状态才可以进行正常通信,本设计通过实现强制链路状态寄存器,使用EEPROM上电加载实现寄存器配置,当加载完成后触发链路状态强制使能,将链路状态置为L0。故此非透明桥并行数据总线是通过选择寄存器判断是否将非透明模块的虚拟侧PCIE端点连接至透明桥的下游PCIE端口上、以及连接到哪个透明桥的下游PCIE端口。
如图2所示,由连接侧PCIE端点的接收模块到虚拟侧PCIE端点的发送模块的通路的具体功能过程如下:由连接侧PCIE端点的接收模块Trgt1接口为并行数据接口,其中包括头有效信号、数据有效信号、地址与数据等。通过接收路由模块将接收到的包分为四类:Bar0/1 Match(命中PCIE Bar0/1空间的内存读写事务)、RomBarMatch(命中PCIE RomBar空间的内存读写事务)、Cpl/CplD(返回事务)、MemRd(其他内存读事务)和MemWr(其他内存写事务)。将Cpl/CplD(返回事务)、MemRd(其他内存读事务)和MemWr(其他内存写事务)发送给地址与ID转换模块进行地址与ID转换,转换为Trans Cpl/CplD(转换后的返回事务)、TransMemRd(转换后的内存读事务)和Trans MemWr(转换后的内存写事务);当地址与ID未命中时,产生未命中的UR CPL(不支持请求回事务)与CA CPL(完成取消回事务)。将以上PCIE事务发送给发送模块。发送模块同时接收 Bar0/1 Match(命中PCIE Bar0/1空间的事务)、RomBarMatch(命中PCIE RomBar空间的事务)产生的CFG CPL(配置包返回事务)和RomBarCPL(RomBar返回事务)。发送模块将Trans MemWr(转换后的内存写事务)送到Client2(并行数据发送接口2),将Trans MemRd(转换后的内存读事务)送到Client1(并行数据发送接口1),将多个完成事务经过完成事务仲裁模块后送到Client0(并行数据发送接口0),由虚拟侧PCIE端点的发送模块接收。同理,图3由虚拟侧PCIE端点的接收模块到连接侧PCIE端点的发送模块的通路的具体功能过程可参照上述图2所示描述。
如图4所示,PCIE交换机的热复位传递在根联合体和上游端口之间、下游端口与设备之间通过TS1训练序列中使能热复位控制字段传递热复位,PCIE交换机内部通过复位信号进行传递,当PCIE端口或PCIE端点收到热复位信号后,通过PCIE链路训练状态机进入热复位状态,实现PCIE端口或PCIE端点热复位,由于非透明桥下游PCIE端口和非透明桥虚拟侧PCIE端点不存在链路训练,无法进入热复位状态,所以使用PCIE交换机中的复位信号进行热复位传递,同时通过展宽同步该热复位信号,将其输出给非透明桥PCIE下游端口与虚拟侧PCIE端点的Non_sticky_rst_n信号,实现热复位功能。
如图5所示,非透明桥模块还包括两个时钟域,其中下游非透明PCIE端口与虚拟侧PCIE端点根据配置的链路信息,使用参考时钟经过时钟复位模块产生对应的时钟,而连接侧端点采用物理层输出的时钟。
如图6所示,通过PCIE交换设备(PCIE SWITCH)可以提供非透明桥功能。在使能非透明桥功能后,在非透明端口下,通过两个端点与外界相连,分别是虚拟侧PCIE端点和连接侧PCIE端点。虚拟侧PCIE端点通过当前PCIE交换开关连接至上游端口的主机端,连接侧端点通过物理链路连接至另一主机端,两个主机系统的枚举软件会把对应的虚拟和连接侧PCIE端点当作拓扑中的叶节点,两个主机系统无法看到对方主机域的设备,从而在实现两个主机系统隔离的同时,实现了两个主机系统的互联。
综述所述,通过非透明桥可以进行地址与ID的翻译,完成地址空间共享,使两个主机系统进行数据传输具有可行性。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (7)
1.一种基于非透明桥模块的PCIE交换机,其特征在于,包括:虚拟侧PCIE端点、连接侧PCIE端点和非透明桥并行数据总线;所述虚拟侧PCIE端点和所述连接侧PCIE端点之间连接有所述非透明桥模块,且所述非透明桥模块由两条通路构成;
所述两条通路均包括:
接收路由模块,根据接收事务类型不同,分为请求事务与完成事务,将请求事务分为命中PCIE基址寄存器0/1的请求事务、命中PCIE基址寄存器2/3/4/5的请求报告事务、命中PCIE基址寄存器2/3/4/5的请求非报告事务和命中只读存储器基址寄存器请求事务;
地址与ID转换模块,该模块对请求事务进行ID和地址转换,对完成事务进行ID转换;其中ID转换通过ID全局查找表,将接收事务包头中ID字段保存在查找表中,使用查找表序号以及对端设备总线号进行替换,实现ID转换;地址转换是通过设置地址转换寄存器,确定偏移地址的位宽,配置转换基地址,替换请求事务包头中的地址字段的基地址,保持偏移地址不变;
发送模块,将转换过的事务进行跨时钟域处理,将事务从虚拟侧PCIE端点时钟域转换到连接侧PCIE端点时钟域,同时发送接口为三通道发送,分别是请求报告事务、请求非报告事务和完成事务;该发送模块完成请求报告事务、请求非报告事务的发送;
完成事务仲裁模块,对不同来源的完成事务进行仲裁输出,其中包括命中基址寄存器0/1的读请求事务对应的完成事务、命中只读存储基址寄存器的读请求事务对应的完成事务、命中基址寄存器2/3/4/5的读请求事务对应的完成事务、请求事务未命中产生的不支持该请求的完成事务、完成事务未命中产生的完成取消的完成事务,将仲裁输出的完成事务通过第三个完成事务发送接口发出;
所述PCIE交换机的热复位传递在根复合体和上游端口之间,下游端口与该PCIE交换机之间通过TS1训练序列中使能热复位控制字段传递热复位,PCIE交换机内部通过复位信号进行传递,当PCIE端口或PCIE端点收到热复位信号后,通过PCIE链路训练状态机进入热复位状态,实现PCIE端口或PCIE端点热复位;
所述非透明桥模块中包括两个时钟域,其中下游非透明PCIE端口与虚拟侧PCIE端点根据配置的链路信息,使用参考时钟经过时钟复位模块,产生对应的时钟;而连接侧PCIE端点采用物理层输出的时钟。
2.如权利要求1所述的一种基于非透明桥模块的PCIE交换机,其特征在于,所述两条通路中,其中一条通路是由所述虚拟侧PCIE端点的接收模块到所述连接侧PCIE端点的发送模块;另一条通路是由所述连接侧PCIE端点的接收模块到所述虚拟侧PCIE端点的发送模块;且两条通路方向相反、但功能相一致。
3.如权利要求1所述的一种基于非透明桥模块的PCIE交换机,其特征在于,所述非透明桥并行数据总线,通过选择寄存器判断是否将非透明桥模块的虚拟侧PCIE端点连接至透明桥的下游PCIE端口上以及连接到哪个透明桥的下游PCIE端口。
4.如权利要求1所述的一种基于非透明桥模块的PCIE交换机,其特征在于,所述地址与ID转换模块,还包括:一个ID全局查找表和多个基地址转换寄存器;其中ID查找表包括32个表项,每个表项中包括Bus字段、Dev字段和Func字段;其中Bus字段用于记录总线号,Dev字段用于记录设备号,Func字段对应功能号,长度分别为8位、5位和3位,同时每个表项都对应一个5位的索引号。
5.如权利要求4所述的一种基于非透明桥模块的PCIE交换机,其特征在于,当第一主机系统发起请求事务,路由至非透明桥的虚拟侧PCIE端点,将请求事务报文ID字段抓取,写入ID全局查找表中,同时第二主机系统枚举过程中,连接侧PCIE端点获取第二主机系统域的Bus号,当第一主机系统发起请求事务时,地址与ID转换模块将报文中的ID字段与ID全局查找表进行比对,命中后,获取对应表项索引号,将其替换ID字段中的Dev字段,同时用第二主机系统域Bus号替换ID字段中的Bus字段,Func字段保持不变,若未命中,则返回不支持该请求的完成事务;
当第二主机系统返回完成事务,路由至非透明桥的连接侧PCIE端点,将完成事务报文ID字段抓取,将其中Dev字段取出,通过该字段索引ID全局查找表,取出对应查找表表项,替换完成事务报文中的ID字段,若该字段索引到的表项无效,则返回取消完成的完成事务。
6.如权利要求5所述的一种基于非透明桥模块的PCIE交换机,其特征在于,所述地址与ID转换模块,根据基地址转换寄存器,将请求事务报文中的地址字段,根据对应的基地址转换寄存器进行基地址转换,其中包括32位到32位地址转换、32位到64位地址转换、64位到32位地址转换以及64位到64位地址转换。
7.一种主机系统,其特征在于,包括:第一主机系统、第二主机系统以及如权利要求1-6任一项所述的PCIE交换机;所述虚拟侧PCIE端点通过当前PCIE交换开关连接至上游端口的第一主机系统端,连接侧PCIE端点通过物理链路连接至第二主机系统端,两个主机系统的枚举软件将对应的虚拟侧PCIE端点和连接侧PCIE端点当作拓扑中的叶节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311267990.0A CN117009274B (zh) | 2023-09-28 | 2023-09-28 | 一种基于非透明桥模块的pcie交换机及主机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311267990.0A CN117009274B (zh) | 2023-09-28 | 2023-09-28 | 一种基于非透明桥模块的pcie交换机及主机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117009274A CN117009274A (zh) | 2023-11-07 |
CN117009274B true CN117009274B (zh) | 2024-01-23 |
Family
ID=88576551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311267990.0A Active CN117009274B (zh) | 2023-09-28 | 2023-09-28 | 一种基于非透明桥模块的pcie交换机及主机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009274B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572508A (zh) * | 2015-01-22 | 2015-04-29 | 山东超越数控电子有限公司 | 一种基于PCIE非透明桥的cache镜像方法 |
CN111597135A (zh) * | 2020-06-18 | 2020-08-28 | 中国人民解放军国防科技大学 | 一种透明桥和非透明桥功能可选的pcie交换器及多主机系统 |
-
2023
- 2023-09-28 CN CN202311267990.0A patent/CN117009274B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572508A (zh) * | 2015-01-22 | 2015-04-29 | 山东超越数控电子有限公司 | 一种基于PCIE非透明桥的cache镜像方法 |
CN111597135A (zh) * | 2020-06-18 | 2020-08-28 | 中国人民解放军国防科技大学 | 一种透明桥和非透明桥功能可选的pcie交换器及多主机系统 |
Non-Patent Citations (1)
Title |
---|
基于PCIe的高速交换机的NT模式设计及UVM验证;刘洲畅;CNKI;第1-69页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117009274A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11061850B2 (en) | Multiple transaction data flow control unit for high-speed interconnect | |
US8769181B2 (en) | Multi-port system and method for routing a data element within an interconnection fabric | |
CN103117929B (zh) | 一种基于PCIe数据交换的通信方法及系统 | |
US8995302B1 (en) | Method and apparatus for translated routing in an interconnect switch | |
US8412875B2 (en) | Switch and network bridge apparatus | |
US7219183B2 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
US9025495B1 (en) | Flexible routing engine for a PCI express switch and method of use | |
US7174413B2 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
US8102843B2 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
US7240141B2 (en) | Programmable inter-virtual channel and intra-virtual channel instructions issuing rules for an I/O bus of a system-on-a-chip processor | |
US7404044B2 (en) | System and method for data transfer between multiple processors | |
US7131020B2 (en) | Distributed copies of configuration information using token ring | |
JP2014002545A (ja) | データ転送装置、及びデータ転送方法 | |
CN111597135B (zh) | 一种透明桥和非透明桥功能可选的pcie交换器及多主机系统 | |
US7120722B2 (en) | Using information provided through tag space | |
US20080263248A1 (en) | Multi-drop extension for a communication protocol | |
CN117009274B (zh) | 一种基于非透明桥模块的pcie交换机及主机系统 | |
US11836105B2 (en) | Communication device, information processing system, and communication method | |
CN114866497B (zh) | 一种全局异步站内同步的PCIe交换电路装置和方法 | |
US7404020B2 (en) | Integrated fibre channel fabric controller | |
US7549091B2 (en) | Hypertransport exception detection and processing | |
US20030065869A1 (en) | PCI/LVDS half bridge | |
CN106027423A (zh) | PCIe设备共享网络及其数据传输方法 | |
WO2024102915A1 (en) | Pcie retimer providing failover to redundant endpoint using inter-die data interface | |
WO2024102916A1 (en) | Root complex switching across inter-die data interface to multiple endpoints |
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 |