一种PCIe Switch的系统扩展管理方法

文档序号:115483 发布日期:2021-10-19 浏览:17次 >En<

阅读说明:本技术 一种PCIe Switch的系统扩展管理方法 (PCIe Switch system expansion management method ) 是由 苏海亮 宁佐林 宁丽霞 马乐 于 2021-08-03 设计创作,主要内容包括:本发明提供了一种PCIe Switch的系统扩展管理方法,包括:确定待扩展的PCIe Switch设备下行端口DP的数量,如果DP的数量超过预设阈值,采用第一扩展模式连接第一PCIe Switch设备和第二PCIe Switch设备;如果DP的数量未超过预设阈值,采用第二扩展模式连接第一PCIe Switch设备和第二PCIe Switch设备,第二扩展模式与第一扩展模式不同。本发明灵活支持多个模式的PCIe Switch扩展配置,可以根据不同的应用场景,通过更新软件固件实现不同模式的适配。特别在DP端口数量较少时,使用内部端口的方式互联,节省Bus编号,适用于Bus编号资源有限的PCIe系统场景。(The invention provides a system expansion management method of PCIe Switch, which comprises the following steps: determining the number of the downlink ports DP of the PCIe Switch equipment to be expanded, and if the number of the DP exceeds a preset threshold value, connecting the first PCIe Switch equipment and the second PCIe Switch equipment by adopting a first expansion mode; and if the number of the DPs does not exceed the preset threshold, connecting the first PCIe Switch equipment and the second PCIe Switch equipment by adopting a second expansion mode, wherein the second expansion mode is different from the first expansion mode. The invention flexibly supports PCIe Switch expansion configuration of a plurality of modes, and can realize adaptation of different modes by updating software firmware according to different application scenes. Particularly, when the number of the DP ports is small, the internal ports are used for interconnection, Bus numbers are saved, and the method is suitable for PCIe system scenes with limited Bus number resources.)

一种PCIe Switch的系统扩展管理方法

技术领域

本发明属于总线设计领域,特别涉及一种PCIe Switch的系统扩展管理方法。

背景技术

PCIe Switch是PCIe拓扑结构中的一个扩展器件,可以用来扩展PCIe的通道(lane)的数量,以此增强主CPU的PCIe设备的扩展能力。PCIe Switch广泛应用于大型存储系统或服务器平台的板卡设备中。传统的PCIe扩展模式如图1所示,一个PCIe Switch芯片对接另外的PCIe Switch芯片,每个器件都是一个单独的PCIe Switch芯片,并且无论下级PCIe Switch芯片下行端口(DP)能够连接的设备数量是多少,设备的Function(功能)数量是多少,下级PCIe Switch的UP端口始终需要占用整个PCIe拓扑结构中的一个Bus(总线)号。如图1所示,存在三个PCIe Switch,分别为PCIe Switch 1、PCIe Switch 2和PCIeSwitch 3。每个Switch的上行端口(UP)都会占用PCIe拓扑结构中的一个Bus号。可见,现有技术在PCIe扩展的实际应用中存在下列问题:PCIe Switch芯片的扩展是固定的,缺乏灵活性。当通过PCIe Switch芯片扩展设备,每个PCIe Switch都是单独的芯片,在实际的产品单板上都会占用更大的空间,并且通过PCIe Switch芯片进行设备扩展,是通过增加PCIeSwitch单独芯片进行的,必然增加单板的BOM成本。

发明内容

本发明的目的在于一种PCIe Switch设备的系统扩展管理方法,该方法包括:

确定待扩展的PCIe Switch设备下行端口DP的数量;

如果所述DP的数量超过预设阈值,采用第一扩展模式连接第一PCIe Switch设备和第二PCIe Switch设备;

如果所述DP的数量未超过所述预设阈值,采用第二扩展模式连接所述第一PCIeSwitch设备和所述第二PCIe Switch设备,所述第二扩展模式与所述第一扩展模式不同。

优选地,所述采用第一扩展模式连接第一PCIe Switch设备和第二PCIe Switch设备,进一步包括:

将所述第一PCIe Switch设备的下行端口DP与所述第二PCIe Switch设备的上行端口UP相连接;将所述第一PCIe Switch设备的下行端口DP配置为虚拟下行端口VDP,并将所述第二PCIe Switch设备的上行端口UP配置为虚拟上行端口VUP。

优选地,在所述第一扩展模式下,所述第一PCIe Switch设备和第二PCIe Switch设备的Bus号不同。

优选地,所述采用第二扩展模式连接第一PCIe Switch设备和第二PCIe Switch设备,进一步包括:

将所述第一PCIe Switch设备的第一内部端口与所述第二PCIe Switch设备的第二内部端口相连接。

优选地,在所述第二扩展模式下,第一PCIe Switch设备和第二PCIe Switch设备中的所有下行端口DP共享同一个Bus号。当所述第一PCIe Switch设备与主机设备相连接时,所述内部端口对所述主机设备是透明的。

优选地,所述预设阈值是PCIe设备中单个Bus号可挂接的最大设备数量。

优选地,所述第一PCIe Switch设备和第二PCIe Switch设备之间通过互联总线连接,所述互联总线包括高速I/O管脚互联接口,或高速Serdes互联接口。

优选地,所述第一PCIe Switch设备和第二PCIe Switch设备分别为第一PCIeSwitch芯片和第二PCIe Switch芯片。

优选地,所述第一PCIe Switch设备和第二PCIe Switch设备分别为第一PCIeSwitch Die和第二PCIe Switch Die。

相比于现有技术,本发明的方案根据Die或PCIe Switch扩展的DP端口数量选择不同的方式。对于同一个PCIe Switch的Die或PCIe Switch芯片,可以灵活支持多个模式的配置,从而支持多个形态的Die或PCIe Switch芯片扩展。在PCIe Switch或Die的初始化阶段进行配置,可以根据不同的应用场景,通过更新软件固件实现不同模式的适配。在DP端口数量较少时,使用内部端口的方式互联,节省Bus编号,特别适用于Bus编号资源有限的PCIe系统场景。

本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获取。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本发明的某些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。

图1是根据现有技术的PCIe Switch的扩展模式的结构示意图。

图2是根据本发明的PCIe Switch的第一扩展模式的结构示意图。

图3是根据本发明的PCIe Switch的第二扩展模式的结构示意图。

图4是根据本发明的第二扩展模式下两个以上PCIe Switch的互联结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。

本发明公开了一种PCIe Switch的扩展方案,首先判断扩展PCIe下行端口DP的数量,根据扩展PCIe下行端口DP的数量的不同,确定要使用的扩展模式,如果DP数量超过预设阈值,可以选择与通用PCIe Switch扩展相同的方式,作为第一扩展模式。如果DP数量未超过预设阈值,可以选择多个PCIe Switch共享Bus号的方式,作为第二扩展模式。所述预设阈值是PCIe Switch中单个Bus号可以挂接的最大设备数量。

所述PCIe Switch与PCIe Switch之间通过互联总线连接,互联总线是自定义的互联接口,根据应用场景可将其配置为VUP、VDP等端口。但对Host而言,Host端并不需要区分互联接口与普通的PCIe端口的区别。例如互联接口可以是高速I/O管脚互联,也可以是高速Serdes互联。

在一个实施例中,所述预设阈值为32。在所述第一扩展模式下,即当下行端口DP超过32个时,利用通用PCIe Switch扩展的方式。如图2所示,由于PCIe协议中,一个Bus号最多可以挂接32个设备,所以在PCIe DP数量超过32时,需要通过扩展Bus号,将下级PCIeSwitch的UP端口通过新的Bus号连接于上级PCIe Switch的DP端口之一,并在新的Bus号下另外挂接其他设备。以此类推,新的Bus号最多挂接32个设备,如果仍然存在未挂接的设备,继续扩展新的Bus号。

所述PCIe Switch之间的互联接口的端口也是Bus内部交换网络的一个端口,可以将以上端口配置为多种角色,例如VUP(虚拟UP端口)、VDP(虚拟DP端口)、内部端口等三种角色。参见图2,在优选的实施例中,如果PCIe Switch 1和PCIe Switch 2两个Switch互联,扩展的DP端口数量超过了32个,则PCIe Switch 1的互联接口的端口配置为VDP端口,图2示例性地示出了DP1_0作为VDP,而PCIe Switch 2的互联接口的端口配置为VUP端口,图2示例性地示出了UP2是VUP。

举例而言,如果VDP端口在PCIe Switch 1中是编号DP1_0,VUP端口在整个PCIe拓扑结构中是UP2。则主机Host在枚举阶段会检测到在Bus64上存在DP1_0设备,但在Host看来,DP1_0和其他DP是完全相同的。并且Host会检测到在DP1_0设备下挂接了一个UP2,即Bus65下的一个UP,此UP是VUP。但在Host看来,UP2和普通的PCIe UP上行端口是完全相同的。

所述VUP和VDP至少包括PCIe的4KB配置空间寄存器,其他PCIe功能可以按需要扩展,所有的VUP和VDP符合PCIe的协议规范。

在一个实施例中,所述预设阈值为32。在所述第二扩展模式下,即当下行端口DP未超过单个Bus号可以挂接的最大设备数量时,可以使用两个PCIe Switch扩展设备,但是两个PCIe Switch中的所有下行端口DP共享一个Bus号,如图3所示。

如果PCIe Switch 1和PCIe Switch 2两个Switch互联,扩展的DP端口数量小于32个,采用图3方式进行互联,此时PCIe Switch 1和PCIe Switch 2的两个Switch的端口都配置为内部端口,此时的互联端口只是Switch内部交换网络的一个端口。可以节省一个Bus号。由于是内部端口,在Host端感知不到PCIe Switch 2的连接存在,也感知不到PCIeSwitch 2中的VUP/VDP的端口,只能检测到在Bus64下连接了最多32个DP。

本领域技术人员可以理解,上述实施例中描述的元件拓扑结构和功能模块的数量仅为举例。本领域技术人员可以根据需要而将本发明的方法可以应用于两个PCIe Switch设备的互联,或者应用于多个PCIe Switch设备的互联。图4示出了PCIe Switch 1和PCIeSwitch 2、PCIe Switch 3分别互联的情形。

如图4所示,三个PCIe Switch共享一个Bus号,PCIe Switch 1和PCIe Switch 2、PCIe Switch 3的两个Switch的端口都配置为内部端口,此时的互联端口只是Switch内部交换网络的一个端口。可以节省两个Bus号。Host端感知不到PCIe Switch 2和3的连接存在,同样只能检测到在Bus64下连接了最多32个DP。

根据可选的实施方式,PCIe Switch 1和PCIe Switch 2可以是两个PCIe SwitchDie,也可以是两个独立的Switch芯片。

当PCIe Switch Die 1和Die 2需要扩展连接时,根据下行端口DP的数量来确定使用的扩展模式,如果DP数量超过预设阈值,可以选择与通用PCIe扩展相同的方式。如果DP数量未超过预设阈值,可以选择多个Die共享Bus号的方式。所述预设阈值是Die中单个Bus号可以挂接的最大设备数量。可以将以上端口配置为多种角色,例如VUP(虚拟UP端口)、VDP(虚拟DP端口)、内部端口等三种角色。

在一个实施例中,所述预设阈值为32。即当下行端口DP超过32个时,利用通用PCIe扩展的方式。由于一个Bus号最多可以挂接32个设备,所以在DP数量超过32时,需要通过扩展Bus号。将下级Die的UP端口通过新的Bus号连接于上级Die的DP端口之一,并在新的Bus号下另外挂接其他设备。以此类推,新的Bus号最多挂接32个设备,如果仍然存在未挂接的设备,继续扩展新的Bus号。

当下行端口DP不超过单个Bus号可以挂接的最大设备数量时,可以将两个Die共享一个Bus号。此时Die 1和Die 2的两个Switch的端口都配置为内部端口,此时的互联端口只是Die内部交换网络的一个端口。因此可以节省一个Bus号。由于是内部端口,在Host端感知不到Die 2的连接存在,也感知不到Die 2中的VUP/VDP的端口,只能检测到在Bus64下连接了最多32个DP。

当PCIe Switch 1和PCIe Switch 2都是Die时,可以合封一个芯片使用,可以节省单板的BOM成本。

可见,采用本发明的上述技术方案,同一个PCIe Switch的Die或PCIe Switch芯片,可以灵活支持多个模式的配置,从而支持多个形态的Die或PCIe Switch芯片扩展。本发明能够根据Die或PCIe Switch扩展的DP端口数量选择不同的方式。在PCIe Switch或Die的初始化阶段进行配置,可以根据不同的应用场景,通过更新软件固件实现不同模式的适配。在DP端口数量过多时,使用VUP、VDP方式互联,兼容当前PCIe系统的扩展模式。在DP端口数量较少时,使用内部端口的方式互联,节省Bus编号,特别适用于Bus编号资源有限的PCIe系统场景。

尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种控制485收发方向切换的方法、装置、设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!