掌桥专利:专业的专利平台
掌桥专利
首页

一种端口配置方法及装置、存储介质及电子设备

文献发布时间:2023-06-19 19:28:50


一种端口配置方法及装置、存储介质及电子设备

技术领域

本申请涉及PCIe Switch配置技术领域,尤其涉及一种端口配置方法及装置、存储介质及电子设备。

背景技术

PCIe Switch(即PCIe交换机)用于PCIe信号的扩展与重新分配,针对不同的系统应用场景通常需要对PCIe Switch进行不同的端口配置,即同一个PCIe Switch可能存在使用不同的端口配置的情况。

现有技术中,根据GPIO管脚的定义实现对PCIe Switch的端口配置,由于GPIO管脚的数目是确定的,当增加新的系统应用场景,即存在配置更新的需求时,需要通过硬件改版实现,导致配置更新具有局限性,且成本较高。

发明内容

本申请提供了一种端口配置方法及装置、存储介质及电子设备,目的在于解决现有技术中存在的配置更新具有局限性,且成本较高的问题。

为了实现上述目的,本申请提供了以下技术方案:

一种端口配置方法,应用于含有PCIe Switch的机箱,所述方法包括:

获取非易失性存储器中预先写入的目标系统应用场景的目标配置标识;

在确定出所述目标配置标识为有效标识的情况下,在配置表中查找与所述目标配置标识匹配的配置信息集合;所述配置表中存储了预先写入的多个配置标识对应的配置信息集合,所述配置标识与系统应用场景相对应;

基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。

上述的方法,可选的,所述确定出所述目标配置标识为有效标识,包括:

判断所述目标配置标识是否满足预设的有效条件;

若所述目标配置标识不满足预设的有效条件,则确定出所述目标配置标识为无效标识;

若所述目标配置标识满足预设的有效条件,则确定出所述目标配置标识为有效标识。

上述的方法,可选的,还包括:

在确定出所述目标配置标识为无效标识的情况下,获取默认配置标识;

在所述配置表中查找与所述默认配置标识匹配的配置信息集合;

基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。

上述的方法,可选的,所述配置信息集合包括多个端口的多个配置参数信息,所述基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置,包括:

基于所述配置信息集合中包括的每个端口的各个配置参数信息,对所述PCIeSwitch的每个端口的各个待配置对象进行端口配置。

上述的方法,可选的,所述非易失性存储器包括带电可擦可编程只读存储器EEPROM或闪存Flash。

一种端口配置装置,应用于含有PCIe Switch的机箱,所述装置包括:

第一获取单元,用于获取非易失性存储器中预先写入的目标系统应用场景的目标配置标识;

第一查找单元,用于在确定出所述目标配置标识为有效标识的情况下,在配置表中查找与所述目标配置标识匹配的配置信息集合;所述配置表中存储了预先写入的多个配置标识对应的配置信息集合,所述配置标识与系统应用场景相对应;

配置单元,用于基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。

上述的装置,可选的,所述第一查找单元在确定出所述目标配置标识为有效标识时,具体用于:

判断所述目标配置标识是否满足预设的有效条件;

若所述目标配置标识不满足预设的有效条件,则确定出所述目标配置标识为无效标识;

若所述目标配置标识满足预设的有效条件,则确定出所述目标配置标识为有效标识。

上述的装置,可选的,还包括:

第二获取单元,用于在确定出所述目标配置标识为无效标识的情况下,获取默认配置标识;

第二查找单元,用于在所述配置表中查找与所述默认配置标识匹配的配置信息集合,执行所述配置单元。

一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如上述的端口配置方法。

一种电子设备,包括:

存储器,用于存储至少一组指令集;

处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上述的端口配置方法。

与现有技术相比,本申请包括以下优点:

本申请提供了一种端口配置方法及装置、存储介质及电子设备,该方法包括:获取非易失性存储器中预先写入的目标系统应用场景的目标配置标识;非易失性存储器中的配置标识可以被擦除;在确定出目标配置标识为有效标识的情况下,在配置表中查找与目标配置标识匹配的配置信息集合;配置表中存储了预先写入的多个配置标识对应配置信息集合,配置标识与系统应用场景相对应;基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。本方案通过预先写入目标配置标识,以及在配置表中预先写入多个配置标识对应配置信息集合,实现通过单个PCIe Switch固件兼容多种配置,以及配置表中的配置标识及对应的配置信息集合可以根据需求任意指定或增加,无需改动硬件,配置更新更加灵活且减低了成本。

附图说明

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

图1为本申请提供的一种端口配置方法的场景示例图;

图2为本申请提供的一种端口配置方法的又一场景示例图;

图3为本申请提供的一种端口配置方法的方法流程图;

图4为本申请提供的一种端口配置方法的又一方法流程图;

图5为本申请提供的一种端口配置装置的结构示意图;

图6为本申请提供的一种电子设备的结构示意图。

具体实施方式

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

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本申请公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本申请公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。

由背景技术可知,现有技术根据GPIO管脚的定义实现对PCIe Switch的端口配置,由于GPIO管脚的数目是确定的,当增加新的系统应用场景,即存在配置更新的需求时,需要通过硬件改版实现,导致配置更新具有局限性,且成本较高。

因此,本申请提供了一种端口配置方法及装置、存储介质及电子设备,通过获取非易失性存储器中预先写入的目标系统应用场景的目标配置标识;非易失性存储器中的配置标识可以被擦除;在确定出目标配置标识为有效标识的情况下,在配置表中查找与目标配置标识匹配的配置信息集合;配置表中存储了预先写入的多个配置标识对应配置信息集合,配置标识与系统应用场景相对应;基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。本方案通过预先写入目标配置标识,以及在配置表中预先写入多个配置标识对应配置信息集合,实现通过单个PCIe Switch固件兼容多种配置,以及配置表中的配置标识及对应的配置信息集合可以根据需求任意指定或增加,无需改动硬件,配置更新更加灵活且减低了成本。

本实施例中,为了便于理解,对本申请涉及的相关名词进行说明如下:

PCIe:Peripheral Component Interconnect Express,是一种高速串行计算机扩展总线标准。

GPU:Graphics Processing Unit,图像处理器。

CPU:Central Processing Unit,中央处理器。

SSD:Solid State Drives,固态硬盘。

NIC:Network Interface Controller,网络接口控制器。

JBOF:Just a Bunch OfFlash,硬盘扩展柜。

RBOF:Raid a Bunch OfFlash。

本申请实施例提供了一种端口配置方法,该方法应用于含有PCIe Switch的机箱,含有PCIe Switch的机箱包括但不限于含有PCIe Switch的GPU Box、GPU Server、JBOF和RBOF。

本申请实施例提供的端口配置方法可以应用在多种场景中,包括但不限于以下场景:

场景一:PCIe Switch的3种配置分别独立应用于在单个或多个Virtual Switch(虚拟交换机)的应用场景。

参见图1中的a图,PCIe Switch内部配置为单个Virtual Switch,包括VirtualSwitch0,其中,Virtual Switch0的上行端口与宿主操作系统Host中的CPU连接,CGF1(Confguration,配置)为内部配置为单个Virtual Switch的PCIe Switch的配置标识,从而可以基于配置表中CGF1对应的配置信息,对图1的a图中的PCIe Switch的端口进行配置。

参见图1中的b图,PCIe Switch内部配置为两个Virtual Switch,包括VirtualSwitch0和Virtual Switch1,其中,Virtual Switch0的上行端口与宿主操作系统Host中的CPU0连接,Virtual Switch1的上行端口与宿主操作系统Host中的CPU1连接,CGF2(Confguration,配置)为内部配置为两个Virtual Switch的PCIe Switch的配置标识,从而可以基于配置表中CGF2对应的配置信息,对图1的b图中的PCIe Switch的端口进行配置。其中,P1为Virtual Switch1的上行端口1。

参见图1中的c图,PCIe Switch内部配置为三个Virtual Switch,包括VirtualSwitch0、Virtual Switch1和Virtual Switch2,其中,Virtual Switch0的上行端口与第一宿主操作系统Host0中的CPU连接,Virtual Switch1的上行端口与第二宿主操作系统Host1中的CPU连接,Virtual Switch2的上行端口与第三宿主操作系统Host2中的CPU连接,CGF3(Confguration,配置)为内部配置为三个Virtual Switch的PCIe Switch的配置标识,从而可以基于配置表中CGF3对应的配置信息,对图1的c图中的PCIe Switch的端口进行配置。

场景二:PCIe Switch的某个端口port1在配置2的系统应用场景(即图1中的b图对应的系统应用场景)下该port1是上行端口。

参见图2,PCIe Switch内部配置为单个Virtual Switch,包括Virtual Switch0,其中,Virtual Switch0的上行端口与宿主操作系统Host中的CPU0连接,Virtual Switch0的下行端口P1用于连接SSD/NIC/Cascading,CGF4(Confguration,配置)为配置标识,从而可以基于配置表中CGF4对应的配置信息,对图2中的PCIe Switch的端口进行配置。

由图1中的b图和图2可知,同一端口P1在不同的系统应用场景下,可以被配置为不同的功能,也就是可以被配置为上行端口,也可以被配置为下行端口。

需要说明的是,PCIe Switch中的各个端口的配置基于配置表中PCIe Switch的配置ID对应的配置信息确定。

场景三:GPU Box通常有多个PCIe Switch,根据不同的应用场景每个switch的配置信息可能存在差异,可以利用本申请方案根据每个PCIe Switch读取的配置ID来决定使用该使用哪种配置信息,从而达到多个Switch共用一个Image(对象)的目的。

其他场景比如PCIe Switch Port Bifurcation(端口宽度)及Clocking(端口时钟)不同,多Host下行设备(比如SSD,NIC等)分配不同等配置的差异,都可以利用本申请方案使用单个固件兼容不同的配置场景。

以上场景不限具体硬件形态,只要含有PCIe Switch的GPU Box,GPU Server,JBOF,RBOF等机箱都可以适用本申请方案。

参见图3,端口配置方法的方法流程图如图1所示,具体包括:

S301、获取非易失性存储器中预先写入的目标系统应用场景的目标配置标识。

本实施例中,根据实际使用的系统应用场景,预先在非易失性存储器中写入配置标识,也就是预先在非易失性存储中写入目标系统应用场景的配置标识,目标系统应用场景为多个系统应用场景的其中一个系统应用场景,也就是各个系统应用场景中,根据实际需求需要使用到的系统应用场景。

配置标识可以用配置ID表示。示例性的,非易失性存储器包括带电可擦可编程只读存储器EEPROM或闪存Flash。

示例性的,配置标识可以是自然数,例如,0、1、2和3。

需要说明的是,非易失性存储器中写入的配置标识可以被擦除,以及可以再次写入新的配置标识。

本实施例中,在启动机箱后,会对PCIe Switch进行初始化,在对PCIe Switch初始化时,获取非易失性存储器中预先写入的目标系统应用场景的配置标识,将所获取的配置标识作为目标配置标识。

S302、判断目标配置标识是否为有效标识,若是,执行S103,若否,执行S104。

本实施例中,判断目标配置标识是否为有效标识。

参阅图4,判断目标配置标识是否为有效标识的过程,具体包括以下步骤:

S401、判断目标配置标识是否满足预设的有效条件,若是,执行S402,若否,执行S403。

本实施例中,预设有效条件,其中,有效条件根据配置表中的配置标识,即配置ID设置。示例性的,配置表中包括的配置标识为自然数0、1、2、3、4和5,则有效条件可以是属于[0,5]范围内的自然数。

预先存储有效条件,在获取到目标配置标识后,获取预先存储的有效条件,判断目标配置标识是否满足有效条件。

S402、确定出目标配置标识为有效标识。

本实施例中,若目标配置标识满足有效条件,则说明目标配置标识有效,并确定出目标配置标识为有效标识。

S403、确定出目标配置标识为无效标识。

本实施例中,若目标配置标识不满足有效条件,则说明目标配置标识无效,并确定出目标配置标识为无效标识。

S303、在配置表中查找与目标配置标识匹配的配置信息集合。

本实施例中,预设配置表,配置表中存储了预先写入的多个配置标识对应的配置信息集合,配置标识与系统应用场景相对应,也就是一个配置标识对应一个系统应用场景。

由于配置标识系统应用场景相对应,配置标识与配置信息集合相对应,从而可知,系统应用场景与配置信息集合相对应。

配置信息集合中包括多个端口的多个配置参数信息,配置表如表1所示:

表1

需要说明的是,由于PCIe Switch包括多个端口,从而所写入至配置表中的每个配置信息集合也需要包括多个端口的各个配置参数信息。

其中,每个端口的多个配置参数信息包括但不限于端口类型Port Type(包括上行端口Upstream或下行端口Downstream)的配置参数信息、端口宽度Port Bifurcation((x16,x8x8,x4x4x4x4等等)的配置参数信息、端口时钟Port Clocking(包括同源时钟Common Clock、独立不带展频时钟SRNS或独立带展平的时钟SRIS)的配置参数信息和端口所属Port Assignment的配置参数信息。

可选的,配置表预先存储至内存FW中。

本实施例中,在确定出目标配置标识为有效标识的情况下,基于目标配置标识,在配置表中查找与目标配置标识匹配的配置信息集合,具体的,基于目标配置标识,遍历配置表,依次将目标配置标识与配置表中的各个配置标识进行匹配,将配置表中与目标配置标识相匹配的配置标识所对应的配置信息集合,确定为与目标配置标识匹配的配置信息集合。

其中,目标配置标识与配置表中的配置标识相匹配具体为:目标配置标识与配置表中的配置标识比对一致。

S304、获取默认配置标识,并在配置表中查找与默认配置标识匹配的配置信息集合。

本实施例中,在确定出目标配置标识为无效标识的情况下,获取默认配置标识,默认配置标识为人为指定的配置表中预先写入的各个配置标识中的任意一个配置标识。

在获取到默认配置标识后,基于默认配置标识,在配置表中查找与默认配置标识匹配的配置信息集合,具体的,基于默认配置标识,遍历配置表,依次将默认配置标识与配置表中的各个配置标识进行匹配,将配置表中与默认配置标识相匹配的配置标识所对应的配置信息集合,确定为与默认配置标识匹配的配置信息集合。

其中,默认配置标识与配置表中的配置标识相匹配具体为:默认配置标识与配置表中的配置标识比对一致。

S305、基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。

本实施例中,基于所查找到配置信息集合,对PCIe Switch的各个端口进行端口配置,具体的,基于配置信息中包括的每个端口的各个配置参数信息,对PCIe Switch的每个端口的各个待配置对象进行端口配置。

其中,每个端口的待配置对象包括但不限于端口类型Port Type、端口宽度PortBifurcation、端口时钟Port Clocking和端口所属PortAssignment。

其中,对PCIe Switch的每个端口的每个待配置对象进行端口配置的具体过程,包括:针对目标端口,从配置信息集合中包括的每个端口的各个配置参数信息中确定与目标端口对应的各个配置参数信息,并基于与目标端口对应的每个配置参数信息,对目标端口的每个待配置对象进行配置。目标端口为PCIe Switch的任意一个端口。

示例性的,PCIe Switch包括端口P1、P2和P3,P1、P2和P3均包括的四个待配置对象,分别为Port Type、Port Bifurcation、Port Clocking和Port Assignment。所查找到的配置信息集合中包括P1对应的Port Type、Port Bifurcation、Port Clocking和PortAssignment的配置参数信息,P2对应的Port Type、Port Bifurcation、Port Clocking和PortAssignment的配置参数信息,P3对应的Port Type、PortBifurcation、PortClocking和PortAssignment的配置参数信息,P4对应的Port Type、Port Bifurcation、Port Clocking和PortAssignment的配置参数信息;从而基于配置信息集合中包括P1对应的Port Type、Port Bifurcation、Port Clocking和Port Assignment的配置参数信息对PCIe Switch的端口P1的四个待配置对象进行端口配置,也就是基于配置信息集合中包括P1对应的Port Type的配置参数信息对PCIe Switch的端口P1的Port Type进行端口配置,基于配置信息集合中包括P1对应的Port Bifurcation的配置参数信息对PCIe Switch的端口P1的Port Bifurcation进行端口配置,基于配置信息集合中包括P1对应的PortClocking的配置参数信息对PCIe Switch的端口P1的Port Clocking进行端口配置,基于配置信息集合中包括P1对应的Port Assignment的配置参数信息对PCIe Switch的端口P1的Port Assignment进行端口配置,对PCIe Switch的端口P2和P3的四个待配置对象进行端口配置过程同对PCIe Switch的端口P1的四个待配置对象进行端口配置过程类似,此处不再赘述。

本申请实施例提供的端口配置方法,获取非易失性存储器中预先写入的目标系统应用场景的目标配置标识;非易失性存储器中的配置标识可以被擦除;在确定出目标配置标识为有效标识的情况下,在配置表中查找与目标配置标识匹配的配置信息集合;配置表中存储了预先写入的多个配置标识对应配置信息集合,配置标识与系统应用场景相对应;基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。本方案通过预先写入目标配置标识,以及在配置表中预先写入多个配置标识对应配置信息集合,实现通过单个PCIe Switch固件兼容多种配置,以及配置表中的配置标识及对应的配置信息集合可以根据需求任意增加,并通过擦除非易失性存储器中写入的目标配置标识并重新写入新的配置标识实现指定用于端口配置的配置信息集合,而无需改动硬件,配置更新更加灵活且减低了成本。

需要说明的是,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。

应当理解,本申请公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请公开的范围在此方面不受限制。

与图1所述的方法相对应,本申请实施例还提供了一种端口配置装置,应用于含有PCIe Switch的机箱,用于对图3中方法的具体实现,该装置结构示意图如图5所示,具体包括:

第一获取单元501,用于获取非易失性存储器中预先写入的目标系统应用场景的目标配置标识;

第一查找单元502,用于在确定出所述目标配置标识为有效标识的情况下,在配置表中查找与所述目标配置标识匹配的配置信息集合;所述配置表中存储了预先写入的多个配置标识对应的配置信息集合,所述配置标识与系统应用场景相对应;

配置单元503,用于基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。

本申请实施例提供的端口配置装置,通过预先写入目标配置标识,以及在配置表中预先写入多个配置标识对应配置信息集合,实现通过单个PCIe Switch固件兼容多种配置,以及配置表中的配置标识及对应的配置信息集合可以根据需求任意增加,并通过擦除非易失性存储器中写入的目标配置标识并重新写入新的配置标识实现指定用于端口配置的配置信息集合,而无需改动硬件,配置更新更加灵活且减低了成本。

在本申请的一个实施例中,基于前述方案,第一查找单元502在确定出所述目标配置标识为有效标识时,具体用于:

判断所述目标配置标识是否满足预设的有效条件;

若所述目标配置标识不满足预设的有效条件,则确定出所述目标配置标识为无效标识;

若所述目标配置标识满足预设的有效条件,则确定出所述目标配置标识为有效标识。

在本申请的一个实施例中,基于前述方案,还可以配置为:

第二获取单元,用于在确定出所述目标配置标识为无效标识的情况下,获取默认配置标识;

第二查找单元,用于在所述配置表中查找与所述默认配置标识匹配的配置信息集合,执行配置单元503。

在本申请的一个实施例中,基于前述方案,配置信息集合包括多个端口的多个配置参数信息,配置单元503具体用于:

基于所述配置信息集合中包括的每个端口的各个配置参数信息,对所述PCIeSwitch的每个端口的各个待配置对象进行端口配置。

在本申请的一个实施例中,基于前述方案,所述非易失性存储器包括带电可擦可编程只读存储器EEPROM或闪存Flash。

本申请实施例还提供了一种存储介质,所述存储介质存储有指令集,其中,在所述指令集运行时执行以下操作:

判断所述主用设备是否发生设备异常故障;

若确定出所述主用设备发生设备异常故障,则在接收到对预设开关的备用切换指令的情况下,控制将所述预设开关由第一状态切换至第二状态,以实现将所述与主用设备连接的通信线路切换连接至所述备用设备。

本申请实施例还提供了一种电子设备,其结构示意图如图6所示,具体包括存储器601,用于存储至少一组指令集;处理器602,用于执行所述存储器中存储的指令集,通过执行所述指令集实现以下操作:

获取非易失性存储器中预先写入的目标系统应用场景的目标配置标识;

在确定出所述目标配置标识为有效标识的情况下,在配置表中查找与所述目标配置标识匹配的配置信息集合;所述配置表中存储了预先写入的多个配置标识对应的配置信息集合,所述配置标识与系统应用场景相对应;

基于所查找到的配置信息集合,对PCIe Switch的各个端口进行端口配置。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

以上描述仅为本申请公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 测量配置的方法、装置、电子设备和存储介质
  • 商品活动规则的配置方法、装置、电子设备及存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种端口扫描检测的方法、装置、计算机设备和存储介质
  • 一种端口迁移的方法、装置、系统及存储介质
  • 一种BIOS中配置项目端口的方法、装置、终端及存储介质
  • 一种端口配置管理方法、装置、存储介质及终端
技术分类

06120115922258