CN115422110B - 电子设备和PCIE Switch芯片的端口配置方法 - Google Patents

电子设备和PCIE Switch芯片的端口配置方法 Download PDF

Info

Publication number
CN115422110B
CN115422110B CN202210893991.5A CN202210893991A CN115422110B CN 115422110 B CN115422110 B CN 115422110B CN 202210893991 A CN202210893991 A CN 202210893991A CN 115422110 B CN115422110 B CN 115422110B
Authority
CN
China
Prior art keywords
firmware
pcie switch
switch chip
port
chip
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
Application number
CN202210893991.5A
Other languages
English (en)
Other versions
CN115422110A (zh
Inventor
彭文庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202311004143.5A priority Critical patent/CN117149690A/zh
Priority to CN202210893991.5A priority patent/CN115422110B/zh
Publication of CN115422110A publication Critical patent/CN115422110A/zh
Application granted granted Critical
Publication of CN115422110B publication Critical patent/CN115422110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

本申请关于一种电子设备和PCIE Switch芯片的端口配置方法,涉及电子设备的通信接口技术领域,在本申请中,在电子设备未启动时,控制器将PCIE Switch芯片的目标固件对应的控制信号传输至PCIE Switch芯片,在电子设备启动时,PCIE Switch芯片根据该控制信号从多个候选固件中确定并加载目标固件,完成PCIE Switch芯片的配置。本申请在PCIESwitch芯片的配置过程中,无需对存储器内部存储的固件进行更新替换,PCIE Switch芯片只需在电子设备启动时根据控制信号确定并加载目标固件,完成配置。能够节约PCIE Switch芯片的配置时间,提升配置效率。

Description

电子设备和PCIE Switch芯片的端口配置方法
技术领域
本申请涉及电子设备的通信接口技术领域,尤其涉及一种电子设备和PCIESwitch芯片的端口配置方法。
背景技术
PCIE(Peripheral Component Interconnect express)是一种高速串行计算机扩展总线标准。PCIE Switch(PCIE交换)芯片是一种高速PCIE交换设备,用于电子设备的PCIE接口的扩展,以支持更多的PCIE设备,如SSD硬盘、网卡等。以电子设备为服务器为例,当服务器的主机侧通过PCIE Switch连接不同的PCIE设备时,需要对PCIE交换芯片进行初始化模式配置,以实现PCIE接口重新分配。
固件是实现系统的基础底层的工作的程序,一般存储于设备的电可擦除存储器EEPROM或FLASH芯片中,可由用户通过特定的刷新程序进行升级的程序。PCIE Switch芯片在正常运行时,需要固件的支持。比如,PCIE Switch芯片通过加载固件来进行初始化模式配置。相关技术中,通过基板管理控制器(Baseboard Management Controller,BMC)读取电子设备的系统配置信息,根据该系统配置信息判断当前设备的具体型号从而确定PCIESwitch芯片所对应的目标固件版本,同时获取PCIE Switch芯片的当前固件版本。在目标固件版本和当前固件版本不一致的情况下,BMC将当前固件版本的固件更新为目标固件版本的目标固件,然后对电子设备进行重启,以使得PCIE Switch芯片加载目标固件,完成配置。BMC对固件的更新过程及电子设备的重新启动使得PCIE Switch芯片的配置过程具有配置时间长,效率低的缺点。同时,如果出现与PCIE Switch相连的设备端口或线缆连接位置变化,电子设备的系统配置信息并不会自动更新,配置的灵活性差。因此,如何提升PCIESwitch芯片的配置效率,成为亟待解决的技术问题。
发明内容
本申请实施例提供一种电子设备和PCIE Switch芯片的端口配置方法,用于提升PCIE Switch芯片的配置效率及配置灵活性。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种电子设备,包括PCIE Switch芯片、控制器和存储器;PCIESwitch芯片连接控制器和存储器;存储器存储有PCIE Switch芯片的多个候选固件,多个候选固件与准备接入PCIE Switch芯片的多个接入设备一一对应;控制器用于在电子设备未启动的情况下,确定PCIE Switch芯片的目标固件的固件版本号,生成与目标固件的固件版本号对应的控制信号,将控制信号传输至PCIE Switch芯片;其中,目标固件为使得与PCIESwitch芯片连接的接入设备正常工作时所需加载的固件;PCIE Switch芯片用于当电子设备启动时,根据控制信号从多个候选固件中确定目标固件,并加载目标固件。也就是说,控制器能够在电子设备未启动的情况下,根据目标系统配置信息确定并传输目标固件对应的控制信号给PCIE Switch芯片,并且PCIE Switch芯片的多个候选固件预先存储在存储器中,PCIE Switch芯片只需在电子设备启动时根据控制信号从多个候选固件中确定目标固件,加载该目标固件,即可完成配置。由于在PCIE Switch芯片的配置过程中,无需诸如BMC的器件对存储器中的固件进行更新替换,也无需重启电子设备,因此能够节约PCIE Switch芯片的配置时间,提升配置效率。
在第一方面的一种可能的实现方式中,控制器在确定PCIE Switch芯片的目标固件的固件版本号时,具体用于:根据与所述PCIE Switch芯片连接的接入设备,获取接入设备的配置信息,根据所述配置信息确定与所述接入设备对应的固件版本号。能够快速根据配置信息确定PCIE Switch芯片的目标固件的固件版本号,以实现根据目标固件的固件版本号确定对应的控制信号,并传输给PCIE Switch芯片。
在第二方面的一种可能的实现方式中,配置信息为与PCIE Switch芯片连接的所述接入设备的一个或多个端口信息。
在第一方面的一种可能的实现方式中,存储器包括一个或者多个SPI Flash芯片。SPI Flash芯片与PCIE Switch芯片通过串行外设接口连接。SPI Flash芯片具有多个存储分区,不同存储分区分别存储有不同的候选固件。通过存储器内部的不同存储分区存储不同的候选固件,当电子设备启动时,PCIE Switch芯片只需根据控制信号选择对应的存储分区,无需遍历查找存储器内部存储的所有固件,能够节约PCIE Switch芯片的配置时间,提升配置效率。同时,通过多个SPI Flash芯片存储不同候选固件,能够满足不同使用条件下的使用需求,提升用户使用体验。
在第一方面的一种可能的实现方式中,PCIE Switch芯片在根据控制信号从多个候选固件中确定目标固件时,具体用于:根据所述控制器生成的控制信号确定SPI Flash芯片中的目标存储分区,并从所述目标存储分区中加载所述目标固件。能够快速根据控制信号确定控制信号对应的存储分区,以使得PCIE Switch芯片加载该存储分区中的目标固件,完成配置。
在第一方面的一种可能的实现方式中,该电子设备还包括连接器,PCIE Switch芯片的各个端口通过连接器连接接入设备;控制器连接上述连接器;连接器用于在PCIESwitch芯片未启动的情况下,获取所述接入设备的配置信息,并通过所述配置信息确定所述PCIE Switch芯片的各个端口的端口信息;控制器在获取接入设备的配置信息时,具体用于:接收来自连接器的端口信息,得到接入设备的配置信息;其中,接入设备的配置信息包括与PCIE Switch芯片连接的接入设备的各个端口的端口信息,端口信息包括端口种类和端口模式。控制器通过从连接器获取接入设备的配置信息,从而确定PCIE Switch芯片每个端口的端口种类和端口模式,进一步确定出PCIE Switch芯片对应的目标固件,能够节约配置时间,提升配置效率。另外,当PCIE Switch芯片连接的接入设备发生变更时,能够快速确定变更后的端口种类和端口模式,实现PCIE Switch芯片的快速配置。
在第一方面的一种可能的实现方式中,PCIE Switch芯片包括一个或者多个虚拟交换模块,所述虚拟交换模块包括一个或多个端口。在PCIE Switch芯片被设置为虚拟交换模式的情况下,即包括多个虚拟交换模块的情况下,控制器通过从连接器获取接入设备的配置信息,能够确定虚拟机交换模块的每一端口的端口种类、端口模式进一步确定出PCIESwitch芯片对应的目标固件,能够节约配置时间,提升配置效率。
在第一方面的一种可能的实现方式中,端口种类包括上行端口或下行端口,端口模式包括X16模式、X8模式、X4模式或X2模式中的一种或多种组合。不同端口种类和端口模式分别用于支持不同类型的接入设备,能够满足不同使用条件下的使用需求,实现PCIESwitch芯片的灵活配置。
第二方面,提供了一种PCIE Switch芯片的端口配置方法,应用于电子设备,该电子设备包括控制器,控制器连接PCIE Switch芯片,方法包括:在电子设备未启动的情况下,也就是PCIE Switch芯片未启动时,确定PCIE Switch芯片的目标固件的固件版本号,生成与目标固件的固件版本号对应的控制信号,将控制信号传输至PCIE Switch芯片;在所述电子设备启动时控制信号用于指示PCIE Switch芯片在启动时从多个候选固件中确定目标固件,并加载所述目标固件;其中所述目标固件为与PCIE Switch芯片连接的接入设备正常工作时所需加载的固件。多个候选固件存储在与PCIE Switch芯片连接的存储器中,多个候选固件中与准备接入PCIE Switch芯片的多个接入设备一一对应。控制器能够在电子设备未启动时,根据接入设备的配置信息确定并传输目标固件对应的控制信号给PCIE Switch芯片,在所述电子设备启动时,该控制信号用于指示PCIE Switch芯片从多个候选固件中确定目标固件,并加载所述目标固件,完成配置,能够有效节约PCIE Switch芯片的配置时间,提升效率。
在第二方面的一种可能的实现方式中,确定PCIE Switch芯片的固件信息,具体包括:根据与PCIE Switch芯片连接的接入设备,获取接入设备的配置信息,根据所述配置信息确定与所述接入设备对应的固件版本号。能够根据接入设备的配置信息确定PCIESwitch芯片的目标固件的固件版本号,以实现根据目标固件的固件版本号确定对应的控制信号,并传输给PCIE Switch芯片。
在第二方面的一种可能的实现方式中,配置信息为与PCIE Switch芯片连接的所述接入设备的一个或多个端口信息。
在第二方面的一种可能的实现方式中,所述存储器包括一个或者多个SPI Flash芯片;
所述SPI Flash芯片与所述PCIE Switch芯片连接;所述SPI Flash芯片具有多个存储分区,不同所述存储分区分别存储有不同的候选固件。通过存储器内部的不同存储分区存储不同的候选固件,当电子设备启动时,PCIE Switch芯片只需根据控制信号选择对应的存储分区,无需遍历查找存储器内部存储的所有固件,能够节约PCIE Switch芯片的配置时间,提升配置效率。同时,通过多个SPI Flash芯片存储不同候选固件,能够满足不同使用条件下的使用需求,提升用户使用体验。
在第二方面的一种可能的实现方式中,所述控制信号用于指示所述PCIE Switch芯片从多个候选固件中确定所述目标固件时,包括:根据所述控制器生成的控制信号确定SPI Flash芯片中的目标存储分区,并从所述目标存储分区中加载所述目标固件。能够快速根据控制信号确定控制信号对应的存储分区,以使得PCIE Switch芯片加载该存储分区中的目标固件,完成配置。
在第二方面的一种可能的实现方式中,控制器连接多个连接器;每个连接器用于在PCIE Switch芯片未启动的情况下,获取所述接入设备的配置信息,并通过所述配置信息确定所述PCIE Switch芯片的各个端口的端口信息。获取接入设备的配置信息,包括:接收来自连接器的端口信息,得到接入设备的配置信息;其中,该配置信息包括与PCIE Switch芯片连接的接入设备的各个端口的端口信息,端口信息包括端口种类和端口模式。控制器通过从连接器获取接入设备的配置信息,从而确定PCIE Switch芯片每个端口的端口种类和端口模式,进一步确定出PCIE Switch芯片对应的目标固件,能够节约配置时间,提升配置效率。
在第二方面的一种可能的实现方式中,PCIE Switch芯片包括一个或者多个虚拟交换模块,虚拟交换模块包括一个或多个端口。在PCIE Switch芯片被设置为虚拟交换模式的情况下,即包括多个虚拟交换模块的情况下,控制器通过从连接器获取接入设备的配置信息,能够确定虚拟交换机的每一端口的端口种类、端口模式,进一步确定出PCIE Switch芯片对应的目标固件,能够节约配置时间,提升配置效率。
在第二方面的一种可能的实现方式中,端口种类包括上行端口或下行端口,端口模式包括X16模式、X8模式、X4模式或X2模式中的一种或多种组合。不同端口种类和端口模式分别用于支持不同类型的接入设备,能够满足不同使用条件下的使用需求,实现PCIESwitch芯片的灵活配置。
其中,第一方面至第二方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为一种PCIE Switch芯片的连接示意图;
图2为本申请实施例提供的一种电子设备的连接示意图;
图3为本申请实施例提供的一种PCIE Switch芯片的端口配置方法的交互图;
图4为本申请实施例提供的一种PCIE Switch芯片的连接示意图;
图5为本申请实施例提供的另一种PCIE Switch芯片的连接示意图;
图6为本申请实施例提供的一种连接器的连接示意图;
图7为本申请实施例提供的一种控制器获取端口信息的过程示意图。
附图标记:
110—交换芯片;120—处理器;131—第一接入设备;132—第二接入设备;133—第三接入设备;140—存储器;150—控制器;160—连接器。
具体实施方式
在本申请实施例中,除非另有明确的规定和限定,术语“连接”应做广义理解;例如,可以是机械连接,如固定连接、可拆卸连接或成一体。可以是电性连接,还可以是通信连接。可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在本申请实施例中,为便于清楚地描述,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或者相似项进行区分,本领域技术人员可以理解“第一”、“第二”并不对数量和次序进行限定。
下面结合附图对本申请进行具体介绍,首先介绍本申请中涉及的专用名词。
外设总线接口标准(peripheral component interface express,PCIE)接口:是一种高速串行计算机扩展总线标准接口,PCIE接口用于高速串行点对点双通路高宽带传输,其所连接的设备分配独享通路带宽,不共享总线带宽,主要支持端对端的可靠传输。
外设总线接口标准交换(peripheral component interface express switch,PCIE Switch)芯片:PCIE Switch芯片(以下简称为交换芯片)是一种用于扩展PCIE链路的模块。由于PCIE链路使用端到端的连接方式,在一条PCIE链路的两端只能各连接一个设备或器件,因此必须使用交换芯片扩展PCIE链路,即扩展PCIE端口,才能在PCIE链路的一端连接多个设备或者器件。其中,交换芯片与其他设备或者器件之间通过PCIE总线连接。通过PCIE总线与交换芯片连接的设备或者器件称为接入设备,或者称为接入设备。需要说明的是,交换芯片需要在电子设备启动后,即存在业务电的情况下开始工作,加载对应的固件,完成配置。
串行外设接口非易失性闪存(serial peripheral interface flash,SPI flash)芯片:SPI flash芯片是一种通过SPI与其他器件连接的,且应用flash技术的存储芯片,其可以用于存储固件。
固件:固件是实现系统的基础底层的工作的程序,例如可以是设备内部保存的“驱动程序”,其可以被写入到SPI Flash芯片中。固件还可以为基本输入/输出系统(BasicInput/output System,BIOS)。其中,BIOS它是一组固化到计算机内主板上一个ROM上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补金属氧化物半导体(comp lementary metal oxide semiconductor,CMOS)中读写系统设置的具体信息。其主要功能是为电子设备提供底层的、直接的硬件设置和控制。
基板管理控制器(baseboard management controller,BMC),BMC可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
I2C接口,是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。主板上可以包含多组I2C总线。主板可以通过不同的I2C总线接口分别连接多种电子器件,例如,接入设备和控制器的连接。
UART接口,都属于串行通信接口,但是UART只有数据线收和发,并无时钟线,故为异步串行通信接口,是一种串行通用输入/输出接口,在嵌入式系统中,常用与控制器与接入设备通讯,包括控制器与控制器之间的通讯,控制器与接入设备之间的通讯。
SGPIO接口,是一种串行通用输入/输出接口,可以通过软件配置。SGPIO接口可以被配置为传输控制信号,也可被配置为传输数据信号。在一些实施例中,SGPIO接口可以用于发送控制信号。SGPIO接口还可以被配置为I2C接口。
交换芯片广泛应用于服务器中,用于扩展PCIE端口,使得服务器支持连接更多的接入设备。本申请实施例中,接入设备应做广义理解,其既可以是通过交换芯片接入到电子设备的接入设备,如可以为显示接口卡、音频卡和网络接口卡等,其也可以是服务器中的处理器。交换芯片在正常运行时,需要相应的固件的支持,相应的固件通常存储在与该交换芯片连接的存储器中。交换芯片可以调用存储器中的固件对应的程序来运行固件,以完成对交换芯片的配置。需要说明的是,交换芯片的配置,即配置交换芯片的每个端口,以使得每个端口可以与连接该端口的接入设备相匹配。
参见图1,图1为本申请实施例提供的一种电子设备中交换芯片与接入设备的连接关系示意图,该电子设备可以是服务器,服务器中一般包括交换芯片110、处理器120和多个接入设备,其中,处理器120和多个接入设备都属于交换芯片110的接入设备。该交换芯片110具有4个端口,不同端口可以被配置为不同的模式和种类,以用于连接不同的接入设备。其中,端口的类型可以为X16模式、X8模式、X4模式、X2模式的多种组合,分别对应不同的信号通道。端口的种类可以为上行端口或下行端口。
在图1所示示例中,服务器中的处理器120连接交换芯片110的端口可以被配置为某种模式的上行端口,如1*X16,即一个X16的信号通道。第一接入设备131、第二接入设备132及第三接入设备133为类型不同的多功能设备,交换芯片110与它们连接的端口可以被配置为某种模式的下行端口,比如,可以将其与第一接入设备131连接的端口配置为2*X8,即,两个X8的信号通道,将其与第二接入设备132连接的端口配置为4*X4,将其与第三接入设备133连接的端口配置为1*X8和2*X4。也就是说,为了使交换芯片110实现其端口扩展功能,需要对交换芯片110进行配置,使得交换芯片110的端口的模式和种类,可以适配连接该端口的接入设备。
相关技术中,通常通过基板管理控制器实现交换芯片的配置。具体的,服务器启动,其中的基板管理控制器和交换芯片即启动。交换芯片启动后,自动加载存储器中当前存储的固件(以下简称当前固件),以通过当前固件完成配置。基板管理控制器启动后,首先获取接入设备的配置信息,该接入设备的配置信息可预先存储在服务器的现场可更换单元(field replace unit,FRU)中,接入设备的配置信息根据与交换芯片连接的接入设备确定。例如,可以通过读取接入设备内部的FRU等器件内信息,判断出接入设备的型号或通过各个接入设备连接的交换芯片的端口的信息确定接入设备的配置信息。基板管理控制器可以根据该接入设备的配置信息确定交换芯片的目标固件的固件版本号,同时获取交换芯片的当前固件的固件版本号。在目标固件和当前固件的固件版本号不一致的情况下,基板管理控制器将存储器中的当前固件更新为目标固件,然后对服务器进行重启。通过重启服务器,重启交换芯片,以触发交换芯片再次自动加载存储器中的固件,这样,交换芯片即能加载版本与目标系统配置信息匹配的目标固件,完成配置。
然而,一方面,由于存储在FRU中的接入设备的配置信息无法随着交换芯片连接的接入设备的变更而自动更新,因此无法实现交换芯片的灵活配置。另一方面,基板管理控制器对存储器中固件的更新过程及电子设备重新启动的过程,使得交换芯片的配置过程具有配置时间长,效率低的缺点。因此,如何提升交换芯片的配置效率,且能够对交换芯片进行灵活配置,成为亟待解决的技术问题。
图2为本申请实施例提供的一种电子设备的架构示意图。该电子设备包括:交换芯片110、存储器140和控制器150。其中,存储器140可以通过串行外设接口与交换芯片连接,控制器150连接交换芯片110。交换芯片110具有多个端口,不同端口用于连接接入设备或者处理器120,一个端口可以连接一个接入设备,也可以连接多个接入设备,或者说,一个接入设备可以通过一个端口连接交换芯片110,也可以通过多个端口连接交换芯片110。由于其每个端口可以连接不同的接入设备,因此其多个端口可以被配置为一种或者多种种类与模式的组合,也即交换芯片110可以具有多种可能的配置信息。该存储器140中存储有交换芯片110的多个候选固件,每个候选固件分别对应交换芯片110的不同的配置信息,也就是说,交换芯片110通过运行不同的候选固件可以实现不同的端口配置。
需要说明的是,该电子设备还可以包括处理器120,还可以包括多个接入设备,还可以包括BMC等。
在上述实现方式中,控制器150可以为复杂可编程逻辑元件(complexprogrammable logic device,CPLD)是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。该CPLD适合完成各种算法和组合逻辑。
在上述实现方式中,控制器150可以为微控制器(microcontroller unit,MCU)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到目标芯片中,实现设计的数字系统。该MCU适合完成各种算法和组合逻辑。
参见图3,图3为本申请实施例提供的一种基于上述电子设备的交换芯片的端口配置方法的交互图。其中,控制器150在电子设备启动之前执行S301-S304,交换芯片在电子设备启动之后,执行S305-S306。应理解的是,在电子设备启动之前,此时计算机处于待机状态,此时控制器具有待机电,不具有业务电,它可以利用待机电正常工作,可选地,控制器可以是CPLD、MCU等逻辑器件,此处不做特别限制。
S301、控制器根据与交换芯片连接的目标接入设备,获取该目标接入设备的配置信息。
在上述实现方式中,接入设备的配置信息根据与交换芯片110连接的接入设备确定,该接入设备的配置信息可以是当前与交换芯片110连接的接入设备的单板的端口信息,包含单板类型,如标志此端口应做上行端口还是下行端口及port口配置。具体的,控制器可以向每个连接器发送多个管脚信号,在对端接入设备的单板上通过上、下拉电阻,对多个管脚信号进行配置,以此来向控制器传递该接入设备的配置信息,该信息可以用来区分各接口对应的交换芯片端口的类型和模式(上行/下行口,1*X16/2*X8/4*X4等)。
此外,接入设备还可以通过发出不同占空比、不同频率信号,通过SCPIO/I2C/UART等通道进行传递接入设备的单板信息,此处不做特别限制。接入设备通过不同占空比的信号向控制器传递该接入设备的配置信息,每种占空比的信号分别对应的交换芯片端口不同的类型和模式。接入设备通过不同频率的信号向控制器传递该接入设备的配置信息,每种频率的信号分别对应的交换芯片端口不同的类型和模式。
S302、控制器根据目标系统配置信息确定交换芯片的目标固件的固件版本号。
目标固件为使得与PCIE Switch芯片连接的接入设备正常工作时所需加载的固件,目标固件为多个候选固件中的一个,不同的候选固件分别具有不同的固件版本号。
在一种可能的实现方式中,不同接入设备的组合对应的配置信息和不同候选固件的固件版本号之间具有一一对应的关系,即第一预设关系,那么根据第一预设关系能够确定接入设备的配置信息对应的目标固件的固件版本号。具体的,可以在控制器中设置一张对应表,该对应表中预先存储可能出现的各型号接入设备(如不同的服务器机型)对应的端口信息组合,即一个端口或者多个端口的不同组合对应一个固件版本号。
S303、控制器根据目标固件的固件版本号确定对应的控制信号。
需要说明的是,不同固件的固件版本号和不同控制信号之间具有一一对应的第二预设关系,那么根据第二预设关系能够确定目标固件的固件版本号所对应的控制信号。具体的,控制器中的对应表中还预先存储了各不同固件版本号与不同控制信号的对应关系。一个固件版本号对应一个PCIE switch的控制信号,该控制信号可以是PCIE switch的管脚信号,管脚的多个高电平和/或低电平的不同组合可以形成不同的控制信号。由于各型号接入设备对应的固件版本号、以及其对应的PCIE switch的控制信号预先存储于对应表中,当控制器获取到了目标固件的固件版本号之后,通过查找对应表中的控制信号,从而获得与该目标固件的固件版本号对应的控制信号。
S304、控制器将控制信号传输给交换芯片。
在一种可能的实现方式中,控制器的多个管脚分别与交换芯片110的配置管脚一一对应连接。具体地,当控制信号确定之后,控制器通过多个管脚向PCIE switch所对应的管脚发送该控制信号,以实现控制信号的传输。
在一个例子中,控制器150可以通过四个管脚与交换芯片110的四个配置管脚一一对应连接,那么控制信号则为4个电平信号的组合,存储器140中存储有2个候选固件分别为第一候选固件和第二候选固件,第一、第二候选固件具有不同的固件版本号,如固件号1,固件号2,第一固件版本号对应的控制信号,即也是第一候选固件对应的控制信号,可以为“低电平、低电平、低电平、低电平”;第二固件版本号对应的控制信号,也即第二候选固件对应的控制信号,可以为“低电平、低电平、高电平、高电平”。第一、第二固件版本号所对应的控制信号还可以是其他任意的高/低电平的组合,此处不做特别限制。
S305、交换芯片根据控制信号确定从存储器存储的多个候选固件中确定目标固件。
需要说明的是,交换芯片在执行S305时电子设备已经启动,此时交换芯片110具有业务电,可以开始工作。
S306、交换芯片加载目标固件。
由上述可知,控制器150能够在电子设备未启动的情况下,根据接入设备的配置信息确定目标固件的固件版本号对应的控制信号,并将该控制信号传输给交换芯片110,当电子设备接通电源时,交换芯片110开始工作读取来自控制器的控制信号,根据控制信号从多个候选固件中确定目标固件,加载目标固件,完成配置。由于与可能接入的各设备的型号对应的多个候选固件可以预先存储在存储器中,因此,交换芯片110的配置过程中,无需对存储器中的固件进行更新替换,交换芯片110只需在电子设备启动时根据控制信号从多个候选固件中确定目标固件,无需重启,加载该目标固件完成配置。能够节约交换芯片的配置时间,提升配置效率。
在一种实现方式中,存储器140包括一个或者多个SPI Flash芯片,每个SPI Flash芯片被预先划分为多个存储分区,每个存储分区分别可以用于存储不同的候选固件。其中,每个存储分区分别对应SPI Flash芯片的不同存储字段,该存储字段用于存储不同的候选固件。同时,不同存储分区和不同控制信号之间具有一一对应的第三预设关系,也可以理解为:不同的控制信号对应不同的存储分区,控制器中的对应表中预先存储了不同存储分区与不同控制信号的对应关系。
例如,参见图4,存储器140包括2个SPI Flash芯片,分别为芯片A和芯片B,芯片A包括3个存储分区,分别存储第一候选固件、第二候选固件和第三候选固件,芯片B包括3个存储分区,分别存储第四候选固件、第五候选固件和第六候选固件。以芯片A为例,第一存储分区对应的控制信号可以为电平信号“低电平、低电平、低电平、低电平”,第二存储分区对应的控制信号可以为“低电平、低电平、高电平、高电平”,第三存储分区对应的控制信号为“高电平、高电平、高电平、高电平”。
由上述可知,通过SPI Flash芯片内部的不同存储分区存储不同的候选固件,当电子设备启动时,交换芯片110只需根据控制信号从控制器中的对应表中选择对应的存储分区,无需对SPI Flash芯片内部存储的固件进行遍历查找,无需BMC进行更新,能够快速在多个候选固件中确定目标固件,能够节约交换芯片110的配置时间,提升配置效率。同时,通过连接多个SPI Flash芯片,能够增加在SPI Flash芯片中存储的交换芯片110的候选固件的数量,使得外部的接入设备的配置更灵活多样。
在一些实现方式中,结合图2,参见图5,本申请提供的电子设备中,还包括:多个连接器160,其中,连接器160即为CONNECTOR,亦称作接插件、插头和插座。连接器160用于连接两个器件,传输信号。
在上述实现方式中,连接器160的数量与交换芯片110的端口数量相同,该连接器160用于实现交换芯片110的一个端口和处理器120或接入设备的连接。并且,控制器150的输入端通过信号管脚与每个连接器160连接,用于获取与每个连接器160的连接接入设备的配置信息,包含接入设备的单板类型,如端口种类和端口模式。
在上述实现方式中,在上述S301中,控制器150具体用于:根据来自每个连接器160的单板端口信息确定目标系统配置信息,确认方式与上一个实施例相同,需要说明的是,该目标系统配置信息包括交换芯片110所对应的端口的端口种类和端口模式。
由上述可知,控制器150通过从连接器获取与其对应连接的接入设备的配置信息,从而确定交换芯片110每个端口的端口种类和端口模式,能够快速确定电子设备的整机配置,进一步确定出对应的目标固件,能够节约配置时间,提升配置效率。
在上述实现方式中,控制器150可通过多种方式实现与连接器160之间的信息传输。结合图5,参见图6,图6为本申请实施例提供的一种连接器与接入设备的连接示意图,连接器160可以通过多根信号线以上拉电阻和下拉电阻进行不同组合的方式生成端口信息,具体的,控制器150向每个连接器160发出5个管脚信号,连接器对端的接入设备上通过上、下拉电阻,对此5个信号进行配置,控制器150通过信号管脚获取该端口信息,其中,上拉电阻是指在一条信号线上,通过电阻与一个固定的高电平VCC(供电电压)相接,以使其电压在空闲状态保持在VCC电平。下拉电阻是指一条信号线通过电阻接在固定的低电平GND(电线接地端)上,使其空闲状态保持GND电平,端口信息可以通过上拉电阻和下拉电阻进行不同组合生成对应的bit信号传递,bit信号可以为bit[4:0],bit[4:0]表示bit信号中的第4位到第0位,也就是bit0、bit1、bit2、bit3和bit4,每一位bit信号都可以为0或1,通过多位的bit信号的不同组合,分别对应不同的端口信息。
示例的,通过两位bit信号表示端口种类,例如:“00”表示上行端口,“01”表示下行端口。通过三位bit信号表示端口模式,例如:“001”表示1*X16模式,“010”表示2*X8模式,“011”表示1*X8+2*X4模式。“100”表示2*X4+1*X8模式。“101”表示4*X4模式。示例性的,bit[2:0]用来表示端口模式,bit[2:0]也就是bit0、bit1、bit2,也就是bit信号的第二位至第零位。bit[4:3]用来表示端口种类。bit[4:3]为bit3和bit4,也就是bit信号的第四位和第三位。
示例性的,当控制器150从连接器A获取的bit信号为01001时,此时bit[4:3]为01,表示该连接器A连接的交换芯片110的端口为下行端口,此时bit[0:2]为001,表示该连接器A连接的交换芯片110的端口的模式为1*X16模式。当控制器150从连接器A获取的bit信号为00010时,此时bit[4:3]为00,表示该连接器B连接的交换芯片110的端口为上行端口,bit[0:2]为010时,表示该连接器A连接的交换芯片110的端口的模式为2*X8模式。通过连接器传输的bit信号,控制器150能够在电子设备未启动时,即可获取交换芯片110的每个端口的端口信息。
示例性的,参见图7,交换芯片110具有4个端口,控制器150获取来自4个端口连接的连接器C、连接器D、连接器E、连接器F的bit信号,分别为00001、01001、01101和01100,确定交换芯片110的目标系统配置信息,即四个端口分别为“上行端口,1*X16模式”“下行端口,1*X16模式”“下行端口,4*X4模式”“下行端口,2*X4+1*X8模式”。控制器150根据该目标系统配置信息确定对应的目标固件的固件版本号,该目标固件的固件版本号为1.0,根据目标固件的固件版本号确定对应的控制信号,控制信号为“低电平、低电平、低电平、低电平”,将控制信号传输给交换芯片,当电子设备启动时,交换芯片110读取该控制信号,根据该控制信号确定“低电平、低电平、低电平、低电平”对应的第一存储分区,在第一存储分区中运行第一存储分区中存储的目标固件,即固件版本号为1.0的固件,以使得交换芯片110的四个端口分别被配置为“上行端口,1*X16模式”“下行端口,1*X16模式”“下行端口,4*X4模式”“下行端口,2*X4+1*X8模式”。
在一种实现方式中,控制器150可以向连接器160发送不同占空比、不同频率信号的方式获取端口信息进行传递。在另一种实现方式中,控制器150还可以通过SGPIO/I2C/UART等多种通道获取端口信息,此处对控制器150获取端口信息的方式不做特别限制。
在一种实现方式中,在交换芯片110被配置为虚拟交换(virtual Switch)模式的情况下,即,交换芯片110包括多个虚拟交换模块的情况下,可以通过两位bit信号表示端口种类和对应的虚拟交换模块。例如,交换芯片110包括虚拟交换模块A和虚拟交换模块B,“00”表示虚拟交换模块A的上行端口,“01”表示虚拟交换模块A的下行端口,“10”表示虚拟交换模块B的上行端口,“11”表示虚拟交换模块B的下行端口。通过三位bit信号表示端口模式,例如:“001”表示1*X16模式,“010”表示2*X8模式,“011”表示1*X8+2*X4模式,“100”表示2*X4+1*X8模式,“101”表示4*X4模式。
示例性的,交换芯片110具有4个端口,A、B虚拟机各设置两个端口,控制器150获取来自4个端口连接的连接器H、连接器I、连接器J、连接器K的bit信号,分别为00001、01001、10101和11100,确定交换芯片110的目标系统配置信息,即四个端口分别为“虚拟交换模块A,上行端口,1*X16模式”“虚拟交换模块A,下行端口,1*X16模式”“虚拟交换模块B,上行端口,4*X4模式”“虚拟交换模块B,下行端口,2*X4+1*X8模式”。控制器150根据该系统配置信息确定对应的固件版本,以完成交换芯片110的多个虚拟交换模块的不同端口的配置。具体实现方式与上述配置方式相同,此处不予赘述。
在一种实现方式中,当交换芯片的某个端口未连接接入设备的情况下,例如,某根线缆存在未插或松动情况下,或,交换芯片的某个端口的接入设备更换的情况下,此时FRU中存储的目标系统配置信息并未更新,控制器150能够直接根据来自连接器160的端口信息确定满足当前需求的目标固件,使得交换芯片110的配置方式根据实际场景进行调整,更加灵活,实现了交换芯片的灵活配置。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

Claims (16)

1.一种电子设备,其特征在于,包括PCIE Switch芯片、控制器和存储器;所述PCIESwitch芯片连接所述控制器和所述存储器;所述存储器存储有所述PCIE Switch芯片的多个候选固件,所述多个候选固件与准备接入PCIE Switch芯片的多个接入设备一一对应;
所述控制器用于在所述电子设备未启动时,确定所述PCIE Switch芯片的目标固件的固件版本号,生成与所述目标固件的固件版本号所对应的控制信号,将所述控制信号传输至所述PCIE Switch芯片;其中,所述目标固件为使得与PCIE Switch芯片连接的接入设备正常工作时所需加载的固件;
所述PCIE Switch芯片用于当所述电子设备启动时,根据所述控制信号从所述多个候选固件中确定所述目标固件,并加载所述目标固件。
2.根据权利要求1所述的电子设备,其特征在于,所述控制器在确定所述PCIE Switch芯片的目标固件的固件版本号时,包括:
根据与所述PCIE Switch芯片连接的接入设备,获取接入设备的配置信息,根据所述配置信息确定与所述接入设备对应的固件版本号。
3.根据权利要求2所述的电子设备,其特征在于,所述配置信息为与所述PCIE Switch芯片连接的所述接入设备的一个或多个端口信息。
4.根据权利要求1或2所述的电子设备,其特征在于,所述存储器包括一个或者多个SPIFlash芯片;
所述SPI Flash芯片与所述PCIE Switch芯片连接;
所述SPI Flash芯片具有多个存储分区,不同所述存储分区分别存储有不同的候选固件。
5.根据权利要求4所述的电子设备,其特征在于,所述PCIE Switch芯片在根据所述控制信号从所述多个候选固件中确定所述目标固件时,包括:根据所述控制器生成的控制信号确定SPI Flash芯片中的目标存储分区,并从所述目标存储分区中加载所述目标固件。
6.根据权利要求2所述的电子设备,其特征在于,所述电子设备还包括连接器,所述PCIE Switch芯片的各个端口通过所述连接器与接入设备连接;所述控制器连接所述连接器;
在电子设备未启动的情况下,所述控制器通过所述连接器获取所述接入设备的配置信息,并且通过所述配置信息确定所述PCIE Switch芯片的各个端口的端口信息,所述端口信息包括端口种类和端口模式。
7.根据权利要求6所述的电子设备,其特征在于,所述PCIE Switch芯片包括一个或者多个虚拟交换模块,所述虚拟交换模块包括一个或多个端口。
8.根据权利要求6或7所述的电子设备,其特征在于,所述端口种类包括上行端口或下行端口,所述端口模式包括X16模式、X8模式、X4模式或X2模式中的一种或多种组合。
9.一种PCIE Switch芯片的端口配置方法,其特征在于,应用于电子设备,所述电子设备包括控制器,所述控制器连接PCIE Switch芯片,所述方法包括:
在所述电子设备未启动时,确定所述PCIE Switch芯片的目标固件的固件版本号;
生成与所述目标固件的固件版本号所对应的控制信号;
将所述控制信号传输至所述PCIE Switch芯片;在所述电子设备启动时所述控制信号用于指示所述PCIE Switch芯片从多个候选固件中确定所述目标固件,并加载所述目标固件;所述多个候选固件存储在与所述PCIE Switch芯片连接的存储器中;其中所述目标固件为与PCIE Switch芯片连接的接入设备正常工作时所需加载的固件,所述多个候选固件与准备接入PCIE Switch芯片的多个接入设备一一对应。
10.根据权利要求9所述的PCIE Switch芯片的端口配置方法,其特征在于,所述确定所述PCIE Switch芯片的目标固件的固件版本号,包括:
根据与所述PCIE Switch芯片连接的接入设备,获取接入设备的配置信息,根据所述配置信息确定与所述接入设备对应的固件版本号。
11.根据权利要求10所述的PCIE Switch芯片的端口配置方法,其特征在于,所述配置信息为与所述PCIE Switch芯片连接的所述接入设备的一个或多个端口信息。
12.根据权利要求9或10所述的PCIE Switch芯片的端口配置方法,其特征在于,所述存储器包括一个或者多个SPI Flash芯片;
所述SPI Flash芯片与所述PCIE Switch芯片连接;
所述SPI Flash芯片具有多个存储分区,不同所述存储分区分别存储有不同的候选固件。
13.根据权利要求12所述的PCIE Switch芯片的端口配置方法,其特征在于,所述控制信号用于指示所述PCIE Switch芯片从多个候选固件中确定所述目标固件时,包括:根据所述控制器生成的控制信号确定SPI Flash芯片中的目标存储分区,并从所述目标存储分区中加载所述目标固件。
14.根据权利要求10所述的PCIE Switch芯片的端口配置方法,其特征在于,所述PCIESwitch芯片的各个端口通过连接器与所述接入设备连接,所述控制器连接所述连接器;
在电子设备未启动的情况下,所述控制器通过连接器获取与所述接入设备的配置信息,并且通过所述配置信息确定所述PCIE Switch芯片的各个端口的端口信息,所述端口信息包括端口种类和端口模式。
15.根据权利要求14所述的PCIE Switch芯片的端口配置方法,其特征在于,所述PCIESwitch芯片包括一个或者多个虚拟交换模块,所述虚拟交换模块包括一个或多个端口。
16.根据权利要求14或15所述的PCIE Switch芯片的端口配置方法,其特征在于,所述端口种类包括上行端口或下行端口,所述端口模式包括X16模式、X8模式、X4模式或X2模式中的一种或多种组合。
CN202210893991.5A 2022-07-27 2022-07-27 电子设备和PCIE Switch芯片的端口配置方法 Active CN115422110B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202311004143.5A CN117149690A (zh) 2022-07-27 2022-07-27 电子设备和PCIE Switch芯片的端口配置方法
CN202210893991.5A CN115422110B (zh) 2022-07-27 2022-07-27 电子设备和PCIE Switch芯片的端口配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210893991.5A CN115422110B (zh) 2022-07-27 2022-07-27 电子设备和PCIE Switch芯片的端口配置方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311004143.5A Division CN117149690A (zh) 2022-07-27 2022-07-27 电子设备和PCIE Switch芯片的端口配置方法

Publications (2)

Publication Number Publication Date
CN115422110A CN115422110A (zh) 2022-12-02
CN115422110B true CN115422110B (zh) 2023-09-01

Family

ID=84196554

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210893991.5A Active CN115422110B (zh) 2022-07-27 2022-07-27 电子设备和PCIE Switch芯片的端口配置方法
CN202311004143.5A Pending CN117149690A (zh) 2022-07-27 2022-07-27 电子设备和PCIE Switch芯片的端口配置方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311004143.5A Pending CN117149690A (zh) 2022-07-27 2022-07-27 电子设备和PCIE Switch芯片的端口配置方法

Country Status (1)

Country Link
CN (2) CN115422110B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258667A (zh) * 2020-02-05 2020-06-09 苏州浪潮智能科技有限公司 一种服务器的自适应配置方法、装置、设备及存储介质
CN114153477A (zh) * 2021-10-29 2022-03-08 浪潮(北京)电子信息产业有限公司 Pcie驱动卡固件升级方法、装置、系统、设备及介质
CN114296837A (zh) * 2021-12-31 2022-04-08 西安易朴通讯技术有限公司 固件的控制方法、装置、电子设备及计算机可读存储介质
WO2022148072A1 (zh) * 2021-01-07 2022-07-14 苏州浪潮智能科技有限公司 PCIe switch工作模式更新方法及相关组件

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258667A (zh) * 2020-02-05 2020-06-09 苏州浪潮智能科技有限公司 一种服务器的自适应配置方法、装置、设备及存储介质
WO2022148072A1 (zh) * 2021-01-07 2022-07-14 苏州浪潮智能科技有限公司 PCIe switch工作模式更新方法及相关组件
CN114153477A (zh) * 2021-10-29 2022-03-08 浪潮(北京)电子信息产业有限公司 Pcie驱动卡固件升级方法、装置、系统、设备及介质
CN114296837A (zh) * 2021-12-31 2022-04-08 西安易朴通讯技术有限公司 固件的控制方法、装置、电子设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵姣 等."一种PCIE交换芯片交换管控方法".《中国集成电路》.2020,全文. *

Also Published As

Publication number Publication date
CN117149690A (zh) 2023-12-01
CN115422110A (zh) 2022-12-02

Similar Documents

Publication Publication Date Title
US8275599B2 (en) Embedded bus emulation
US6012103A (en) Bus interface system and method
US8756360B1 (en) PCI-E compatible chassis having multi-host capability
CN101398801B (zh) 扩展内部集成电路总线的方法及装置
CN103870429B (zh) 基于嵌入式gpu的高速信号处理板
CN104054064B (zh) 基于接口耦合的灵活的端口配置
CN112951315A (zh) 一种兼容nvme\ahci双协议硬盘测试装置及方法
CN213365380U (zh) 一种服务器主板及服务器
CN109992555A (zh) 一种供多路服务器共用的管理板卡
CN112306952A (zh) 一种主机板及服务器
CN110399328B (zh) 一种板载图形处理器控制方法与装置
CN111881074B (zh) 电子系统、主机端装置及控制方法
CN115422110B (zh) 电子设备和PCIE Switch芯片的端口配置方法
CN109815169B (zh) 一种存储设备及其存储链路自适应的方法
CN216388068U (zh) 一种pcie接口验证板及测试系统
CN114265731A (zh) 一种pcie接口验证板、测试系统及测试方法
US20060095626A1 (en) Multifunction adapter
Bhatt et al. Design of a controller for a universal input/output port
CN214751393U (zh) 微控制器和计算系统
CN113849355A (zh) I2c速率自适应调整方法、系统、终端及存储介质
CN112947287A (zh) 一种控制方法、控制器及电子设备
CN113760800A (zh) 基于bmc的串口路径选择方法、系统、终端及存储介质
CN114281393A (zh) 同时编程多个存储器装置的方法与系统
CN213365511U (zh) 一种主机板及服务器
CN116028409B (zh) 转接卡、主板、计算机、数据传输方法、设备和介质

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