CN112748948B - PCIe switch工作模式更新方法及相关组件 - Google Patents

PCIe switch工作模式更新方法及相关组件 Download PDF

Info

Publication number
CN112748948B
CN112748948B CN202110019337.7A CN202110019337A CN112748948B CN 112748948 B CN112748948 B CN 112748948B CN 202110019337 A CN202110019337 A CN 202110019337A CN 112748948 B CN112748948 B CN 112748948B
Authority
CN
China
Prior art keywords
switch
firmware version
pcie switch
pcie
current
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
CN202110019337.7A
Other languages
English (en)
Other versions
CN112748948A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110019337.7A priority Critical patent/CN112748948B/zh
Publication of CN112748948A publication Critical patent/CN112748948A/zh
Priority to KR1020237022180A priority patent/KR20230137298A/ko
Priority to PCT/CN2021/121426 priority patent/WO2022148072A1/zh
Priority to US18/270,240 priority patent/US11940941B2/en
Application granted granted Critical
Publication of CN112748948B publication Critical patent/CN112748948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种PCIe switch工作模式更新方法、装置、电子设备及计算机可读存储介质,应用于控制器,该PCIe switch工作模式更新方法包括:根据系统配置信息确定系统的需求switch固件版本;根据PCIe switch的当前端口定义状态确定当前switch固件版本;根据所述需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作;若是,将所述需求switch固件版本对应的数据文件发送给所述PCIe switch,以便所述PCIe switch根据所述数据文件更新工作模式。本申请刷新方式简单,能够实现在线刷新操作,灵活性强。

Description

PCIe switch工作模式更新方法及相关组件
技术领域
本申请涉及PCIE领域,特别涉及一种PCIe switch工作模式更新方法及相关组件。
背景技术
随着数据量的激增,对CPU(Central Processing Unit,中央处理器)计算能力要求越来越高,为此,越来越多的服务器搭载更多的异构加速模块来实现系统算力提升,这对CPU外置PCIe(Peripheral Component Interconnect express,高速串行计算机扩展总线标准)资源提出了更多的要求,一方面要尽可能多的提供PCIe外设的数量,另一方面对于PCIe外设的资源分配方式能进行更多的延展,而不是局限在一种资源分配模式中。PCIeswitch作为一种PCIe交换芯片,可以实现对系统PCIe资源的扩展,而PCIe switch具有多种型号、多种应用模式,针对PCIe switch工作模式的变化,主要目的是再次分配PCIe switch的PCIe端口的工作模式,包括lanewidth、upstream/downstream、fabric port等。
目前,变更PCIe switch工作模式,现有技术方案有以下几种,一是通过BMC(Baseboard Management Controller,基板管理控制器)-switch-FLASH的链路模式,由BMC去升级switch下的FLASH存储的镜像文件,升级完成后,PCIe switch可以工作在新的工作模式下,但是这种方案在每次变更PCIe switch工作模式时,都需要BMC对PCIe switch进行升级,维护性差,使用麻烦;二是准备多颗Flash芯片,并根据硬件需求,让PCIe switch启动时加载不同FLASH的firmware,实现PCIe switch工作模式的变化,但是这种方案支持有限的工作模式,可以作为冗余备份,但无法执行在线刷新功能。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种PCIe switch工作模式更新方法、装置、电子设备及计算机可读存储介质,刷新方式简单,能够实现在线刷新操作,灵活性强。
为解决上述技术问题,本申请提供了一种PCIe switch工作模式更新方法,应用于控制器,该PCIe switch工作模式更新方法包括:
根据系统配置信息确定系统的需求switch固件版本;
根据PCIe switch的当前端口定义状态确定当前switch固件版本;
根据所述需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作;
若是,将所述需求switch固件版本对应的数据文件发送给所述PCIe switch,以便所述PCIe switch根据所述数据文件更新工作模式。
优选的,所述根据系统配置信息确定系统的需求switch固件版本之前,该PCIeswitch工作模式更新方法还包括;
定义并预存系统配置信息与需求switch固件版本之间的第一关系矩阵;
相应的,所述根据系统配置信息确定系统的需求switch固件版本的过程具体包括:
根据当前获取到的系统配置信息和所述第一关系矩阵确定当前的需求switch固件版本。
优选的,该PCIe switch工作模式更新方法还包括:
在闪存中划分多个数据块以分别存储所述第一关系矩阵和所述需求switch固件版本。
优选的,所述系统配置信息包括与当前系统拓扑结构对应的CONFIG信号的电平组合。
优选的,所述控制器通过GPIO接口与所述PCIe switch连接;
相应的,所述根据PCIe switch的当前端口定义状态确定当前switch固件版本的过程包括:
当所述PCIe switch上电,且加载当前switch固件后,获取GPIO的输出状态信号,根据所述输出状态信号确定当前switch固件版本。
优选的,所述控制器通过UART接口及SDB接口与所述PCIe switch连接;
相应的,该PCIe switch工作模式更新方法还包括:
确定所述需求switch固件版本对应的工作模式;
相应的,所述将所述需求switch固件版本对应的数据文件发送给所述PCIeswitch的过程包括:
当所述工作模式为基础模式,通过所述SDB接口将所述需求switch固件版本对应的数据文件发送给所述PCIe switch;
当所述工作模式为综合模式,通过所述UART接口将所述需求switch固件版本对应的数据文件发送给所述PCIe switch。
优选的,所述将所述需求switch固件版本对应的数据文件发送给所述PCIeswitch,以便所述PCIe switch根据所述数据文件更新工作模式之前,该PCIe switch工作模式更新方法还包括:
确定当前系统的状态;
若所述状态为开机状态,则暂停开机操作,执行所述将所述需求switch固件版本对应的数据文件发送给所述PCIe switch的操作;
若所述状态为待机状态,则禁止执行所述开机操作,执行所述将所述需求switch固件版本对应的数据文件发送给所述PCIe switch的操作。
为解决上述技术问题,本申请还提供了一种PCIe switch工作模式更新装置,应用于控制器,该PCIe switch工作模式更新装置包括:
第一确定模块,用于根据系统配置信息确定系统的需求switch固件版本;
第二确定模块,用于根据PCIe switch的当前端口定义状态确定当前switch固件版本;
判断模块,用于根据所述需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作,若是,触发刷新模块;
所述刷新模块,用于将所述需求switch固件版本对应的数据文件发送给所述PCIeswitch,以便所述PCIe switch根据所述数据文件更新工作模式。
为解决上述技术问题,本申请还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
控制器,用于执行所述计算机程序时实现如上文任意一项所述的PCIe switch工作模式更新方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的PCIe switch工作模式更新方法的步骤。
本申请提供了一种PCIe switch工作模式更新方法,通过系统配置信息确定当前系统slimline线缆接线形式,从而确定需求switch固件版本,然后将需求switch固件版本与通过PCIe switch的当前端口定义状态反馈的当前switch固件版本进行比较,通过比较结果即可确定PCIe switch工作模式是否发生变化,若变化则对PCIe switch端口执行重分配操作,采用本申请的方案不需要对PCIe switch进行升级,操作简便,且本申请也不需要在PCIe switch启动时加载不同FLASH的firmware来适应PCIe switch工作模式的变化,只需在检测到PCIe switch工作模式的变化时,将需求switch固件版本对应的数据文件发送给所述PCIe switch,刷新PCIe switch即可,可以实现在线刷新操作,灵活性强。本申请还提供了一种PCIe switch工作模式更新装置、电子设备及计算机可读存储介质,具有和上述PCIe switch工作模式更新方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种PCIe switch工作模式更新方法的步骤流程图;
图2为本申请所提供的一种CONFIG信号和需求switch固件版本之间的第一关系矩阵的示意图;
图3为本申请所提供的一种GPIO接口的输出信号与当前switch固件版本之间的第二关系矩阵的示意图;
图4为本申请所提供的另一种PCIe switch工作模式更新方法的步骤流程图;
图5为本申请所提供的一种PCIe switch工作模式更新装置的结构示意图;
图6为本申请所提供的一种PCIe switch端口配置原理图;
图7为本申请所提供的一种PCIe switch端口配置方案示意图;
图8为本申请所提供的另一种PCIe switch端口配置方案示意图;
图9为本申请所提供的另一种PCIe switch端口配置方案示意图。
具体实施方式
本申请的核心是提供一种PCIe switch工作模式更新方法、装置、电子设备及计算机可读存储介质,刷新方式简单,能够实现在线刷新操作,灵活性强。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,图1为本申请所提供的一种PCIe switch工作模式更新方法的步骤流程图,该PCIe switch工作模式更新方法包括:
S101:根据系统配置信息确定系统的需求switch固件版本;
在通过控制器执行S101-S104之前,还包括根据系统配置要求执行系统slimline线缆互联、系统上电等操作。当系统上电后,控制器启动工作,根据获取到的系统配置信息确定系统的需求switch固件版本,其中,系统配置信息具体可以包括系统配置信号,即CONFIG(配置命令)信号。
作为一种优选的实施例,根据系统配置信息确定系统的需求switch固件版本之前,该PCIe switch工作模式更新方法还包括;
定义并预存系统配置信息与需求switch固件版本之间的第一关系矩阵;
相应的,根据系统配置信息确定系统的需求switch固件版本的过程具体包括:
根据当前获取到的系统配置信息和第一关系矩阵确定当前的需求switch固件版本。
作为一种优选的实施例,系统配置信息包括与当前系统拓扑结构对应的CONFIG信号的电平组合。
具体的,PCIe switch引出2组x16端口,连接至高速slimline连接器,CONN A/B/C/D,用于外接不同系统单元,每个连接器定义一组configuration pin,对应CONFIG_A/B/C/D信号。如果系统拓扑不同,slimline线缆将连接至不同板卡以及不同PCIe端口上,相应的会将CONFIG_A/B/C/D信号进行上拉或下拉接地处理,出现不同的电平组合,通过定义第一关系矩阵,控制器便可以确定当前互联拓扑与switch端口应用模式之间的关系,因此,通过获取到的CONFIG信号的电平组合,即可确定系统当前额定互联拓扑,从而确定系统所需的switch端口应用模式,进而根据switch端口应用模式确定需求switch固件版本。
具体的,参照图2所示,图2为本申请所提供的一种CONFIG信号和需求switch固件版本之间的第一关系矩阵的示意图,由于slimline线缆连接方式的不同,每组高速连接器CONN A/B/C/D端口的configuration pin会被设置为不同0/1电平组合,控制器通过读取CONFIG_A/B/C/D信号,在第一关系矩阵中匹配对应当前系统的需求switch固件版本。
作为一种优选的实施例,该PCIe switch工作模式更新方法还包括:
在闪存中划分多个数据块以分别存储第一关系矩阵和需求switch固件版本。
具体的,在闪存中划分出多个数据块,用以分别存储需求switch固件版本对应的数据文件和第一关系矩阵。
S102:根据PCIe switch的当前端口定义状态确定当前switch固件版本;
作为一种优选的实施例,控制器通过GPIO(General-purpose input/output,通用型输入输出)接口与PCIe switch连接;
相应的,根据PCIe switch的当前端口定义状态确定当前switch固件版本的过程包括:
当PCIe switch上电,且加载当前switch固件后,获取GPIO的输出状态信号,根据输出状态信号确定当前switch固件版本。
具体的,控制器和PCIe switch通过GPIO接口连接,GPIO接口用于输出表征当前switch模式的信号,当PCIe switch上电加载当前使用的switch固件启动后,会配置GPIO输出一定的高低电平,控制器通过读取GPIO接口输出的高低电平状态,判断出当前PCIeswitch工作在哪一种switch固件下,进而可以判定出PCIe switch的当前端口定义状态。
如图3所示,每种switch固件版本下,可以对switch的GPIO接口进行配置,输出高低不同的0/1电平组合。PCIe switch上电工作后,控制器可以读取到GPIO状态,匹配出当前switch固件版本。
S103:根据需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作,若是,执行S104;
S104:将需求switch固件版本对应的数据文件发送给PCIe switch,以便PCIeswitch根据数据文件更新工作模式。
具体的,在获取到需求switch固件版本和当前switch固件版本之后,判断需求switch固件版本和当前switch固件版本是否一致,若一致,则不需要进行刷新操作,若不一致,则需要进行switch端口重分配操作,以适应当前系统需求。
具体的,将需求switch固件版本对应的数据文件发送给PCIe switch,PCIeswitch在接收到数据文件后,对自身参数进行调整,从而实现更新工作模式的目的。
可见,本实施例中,通过系统配置信息确定当前系统slimline线缆接线形式,从而确定需求switch固件版本,然后将需求switch固件版本与通过PCIe switch的当前端口定义状态反馈的当前switch固件版本进行比较,通过比较结果即可确定PCIe switch工作模式是否发生变化,若变化则对PCIe switch端口执行重分配操作,采用本申请的方案不需要对PCIe switch进行升级,操作简便,且本申请也不需要在PCIe switch启动时加载不同FLASH的firmware来适应PCIe switch工作模式的变化,只需在检测到PCIe switch工作模式的变化时,将需求switch固件版本对应的数据文件发送给所述PCIe switch,刷新PCIeswitch即可,可以实现在线刷新操作,灵活性强。
在上述实施例的基础上:
作为一种优选的实施例,控制器通过UART(Universal Asynchronous Receiver/Transmitte,通用非同步收发传输器)接口及SDB(Serial Debug Port,串行调试接口)接口与PCIe switch连接;
相应的,该PCIe switch工作模式更新方法还包括:
确定需求switch固件版本对应的工作模式;
相应的,将需求switch固件版本对应的数据文件发送给PCIe switch的过程包括:
当工作模式为基础模式,通过SDB接口将需求switch固件版本对应的数据文件发送给PCIe switch;
当工作模式为综合模式,通过UART接口将需求switch固件版本对应的数据文件发送给PCIe switch。
具体的,控制器与PCIe switch之间,还设计有UART通信接口和SDB通信接口,UART接口用于刷新工作在综合模式的switch固件;SDB接口用于刷新基础模式的switch固件。
具体的,当判定需要对PCIe switch固件版本进行刷新时,首先判断需求switch固件版本所对应的工作模式,根据其工作模式选择对应的刷新接口,以提高刷新效率及稳定性。具体的,如果需求switch固件版本工作在基础模式,则控制器必须使用SDB接口对PCIeswitch进行刷新动作;若需求switch固件版本工作在综合模式,则控制器使用UART接口对PCIe switch进行刷新动作。
作为一种优选的实施例,将需求switch固件版本对应的数据文件发送给PCIeswitch,以便PCIe switch根据数据文件更新工作模式之前,该PCIe switch工作模式更新方法还包括:
确定当前系统的状态;
若状态为开机状态,则暂停开机操作,执行将需求switch固件版本对应的数据文件发送给PCIe switch的操作;
若状态为待机状态,则禁止执行开机操作,执行将需求switch固件版本对应的数据文件发送给PCIe switch的操作。
具体的,参照图4所示,图4为本申请所提供的另一种PCIe switch工作模式更新方法的步骤流程图,该PCIe switch工作模式更新方法包括:
S201:根据系统配置信息确定系统的需求switch固件版本;
S202:确定当前系统的状态,若状态为开机状态,执行S203,若状态为待机状态,执行S204;
S203包括:
S2031:向主板CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)输出暂停信号,以暂停开机操作;
S2032:根据PCIe switch的当前端口定义状态确定当前switch固件版本;
S2033:根据所述需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作,若否,执行S2034,若是,执行S2037;
S2034:生成示警信号以点亮刷新指示灯;
S2035:选择与需求switch固件版本对应的刷新接口,通过所述刷新接口将所述需求switch固件版本对应的数据文件发送给所述PCIe switch,以便所述PCIe switch根据所述数据文件更新工作模式;
S2036:当刷新结束,通知CPLD再次进行一次Power Cycle,然后执行S2037;
S2037:通知CPLD正常开机;
S204包括:
S2041:向主板CPLD输出禁止开机信号,以禁止CPLD执行开机操作,并输出示警信号以以点亮刷新指示灯;
S2042:使能PCIe switch的供电端、时钟端、复位端;
S2043:根据PCIe switch的当前端口定义状态确定当前switch固件版本;
S2044:根据所述需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作,若否,执行S2045,若是,执行S2046;
S2045:选择与需求switch固件版本对应的刷新接口,通过所述刷新接口将所述需求switch固件版本对应的数据文件发送给所述PCIe switch,以便所述PCIe switch根据所述数据文件更新工作模式;
S2046:通知主板CPLD进入正常状态;
S2047:系统工作在standby状态。
综上所述,采用本申请的方案,通过获取CONFIG信号以及GPIO信号,分别反映出系统的需求switch固件版本和当前switch固件版本,通过控制器可以实现自动比对需求switch固件版本和当前switch固件版本,加载存储的需求switch固件版本对应的数据文件,自动实现刷新switch固件的动作,不需要人为干预,不影响正常开机/业务工作。
请参照图5,图5为本申请所提供的一种PCIe switch工作模式更新装置的结构示意图,应用于控制器,该PCIe switch工作模式更新装置包括:
第一确定模块1,用于根据系统配置信息确定系统的需求switch固件版本;
第二确定模块2,用于根据PCIe switch的当前端口定义状态确定当前switch固件版本;
判断模块3,用于根据需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作,若是,触发刷新模块4;
刷新模块4,用于将需求switch固件版本对应的数据文件发送给PCIe switch,以便PCIe switch根据数据文件更新工作模式。
可见,本实施例中,通过系统配置信息确定当前系统slimline线缆接线形式,从而确定需求switch固件版本,然后将需求switch固件版本与通过PCIe switch的当前端口定义状态反馈的当前switch固件版本进行比较,通过比较结果即可确定PCIe switch工作模式是否发生变化,若变化则对PCIe switch端口执行重分配操作,采用本申请的方案不需要对PCIe switch进行升级,操作简便,且本申请也不需要在PCIe switch启动时加载不同FLASH的firmware来适应PCIe switch工作模式的变化,只需在检测到PCIe switch工作模式的变化时,将需求switch固件版本对应的数据文件发送给所述PCIe switch,刷新PCIeswitch即可,可以实现在线刷新操作,灵活性强。
作为一种优选的实施例,该PCIe switch工作模式更新装置还包括;
预处理模块,用于定义并预存系统配置信息与需求switch固件版本之间的第一关系矩阵;
相应的,第一确定模块1具体用于:
根据当前获取到的系统配置信息和第一关系矩阵确定当前的需求switch固件版本。
作为一种优选的实施例,该PCIe switch工作模式更新装置还包括:
存储模块,用于在闪存中划分多个数据块以分别存储第一关系矩阵和需求switch固件版本。
作为一种优选的实施例,系统配置信息包括与当前系统拓扑结构对应的CONFIG信号的电平组合。
作为一种优选的实施例,控制器通过GPIO接口与PCIe switch连接;
相应的,第二确定模块2具体用于:
当PCIe switch上电,且加载当前switch固件后,获取GPIO的输出状态信号,根据输出状态信号确定当前switch固件版本。
作为一种优选的实施例,控制器通过UART接口及SDB接口与PCIe switch连接;
相应的,该PCIe switch工作模式更新装置还包括:
端口确定模块,用于确定需求switch固件版本对应的工作模式;
相应的,将需求switch固件版本对应的数据文件发送给PCIe switch的过程包括:
当工作模式为基础模式,通过SDB接口将需求switch固件版本对应的数据文件发送给PCIe switch;
当工作模式为综合模式,通过UART接口将需求switch固件版本对应的数据文件发送给PCIe switch。
作为一种优选的实施例,该PCIe switch工作模式更新装置还包括:
监控模块,用于确定当前系统的状态,若状态为开机状态,则暂停开机操作,执行将需求switch固件版本对应的数据文件发送给PCIe switch的操作,若状态为待机状态,则禁止执行开机操作,执行将需求switch固件版本对应的数据文件发送给PCIe switch的操作。
另一方面,本申请还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
控制器,用于执行计算机程序时实现如上文任意一项的PCIe switch工作模式更新方法的步骤。
具体的,本实施例以两个PCIe switch为例进行说明,每个switch可对外提供4个端口,S2/S3/S4/S5,设计为x16 lane的PCIe slot插槽,用以扩展PCIe Device;并且每个switch另外提2个端口,S0/S1,设计为高速连接器CONN形式。
具体的,本实施例中,控制器具体可以为FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),存储器可以包括多个FLASH模块,具体的,可以在每个PCIeswitch外部设计一个FLASH模块,分别为FLASH-0、FLASH-1,用以存放PCIe switch上电启动时所加载的switch固件文件。由FPGA负责自动识别检测系统拓扑的变动,比对系统的当前switch固件版本和需求switch固件版本,并根据对比结果对PCIe switch执行刷新动作,重新分配switch PCIe端口的模式。FPGA外部接一组DDR SDRAM内存,用以提供FPGA程序运行所需的存储空间以及临时数据的寄存。FPGA外部设计一个FLASH-2模块,用以存储FPGA固件,当FPGA上电启动时将从FLASH-2加载运行程序。
FPGA模块外部设计一个FLASH-3模块,根据需要FLASH-3内部划分出不同数据块,用以分别存储switch固件和关系矩阵。FPGA根据实际系统拓扑需要,加载相应Block区域的数据文件,并刷新给PCIe switch。FPGA与PCIe switch之间设计有UART通信接口、SDB通信接口以及GPIO接口。UART接口用于刷新工作在综合模式的switch固件;SDB接口用于刷新基础模式的switch固件;GPIO用于表征当前PCIe switch的工作模式,PCIe switch上电加载switch固件启动后,会配置GPIO接口输出一定的高低电平,FPGA则读取GPIO的状态,判断出PCIe switch当前工作在哪一种固件下,进而地可以判定出PCIe switch的端口工作状态。
具体的,PCIe switch引出2组x16端口,连接至高速slimline连接器,CONN A/B/C/D,用于外接不同系统单元。每个连接器定义一组configuration pin,CONFIG_A/B/C/D信号。如果系统拓扑不同,slimline线缆将连接至不同板卡以及不同PCIe端口上,相应的会将CONFIG_A/B/C/D信号进行上拉或下拉接地处理,出现不同的电平组合,通过定义关系矩阵,FPGA便可以确定互联拓扑与switch端口应用模式之间的关系。
进一步的,FPGA对外设计一组I2C接口,用以和BMC进行通信。BMC可以通过这一组I2C接口实现对FPGA FLASH-3存储内容的修改,包括对switch固件数据区域、关系矩阵数据区域内容的更新。这样对于同一硬件板卡,可以根据实际应用需要,定义不同数量的switch配置模式,实现最大限度的硬件资源复用。
参照图6,对本申请的PCIe switch端口分配具体实施方式进一步说明:
系统拓扑关系不同,PCIe switch端口工作在不同模式下。
如图7、图8所示,两个PCIe switch工作在基础模式下,switch-0的S1端口、switch-1的S0端口接到CPU端PCIe,工作在upstream模式下;switch-0的S0端口、switch-1的S1端口接到外置NIC,工作在downstream模式下;
如图9所示,两个PCIe switch工作在综合模式下,switch-0/-1的S0/S1端口均工作在upstream模式,switch内部将分配为两个virtual switch,将switch下挂的4个PCIe设备资源分配给两个upstream对应的CPU模块。
综上所述,采用本实施例的方案,通过CONFIG信号以及switch GPIO信号,分别反映出当前系统PCIe通道使用需求和switch工作状态,FPGA可以实现自动比对switch工作模式,通过加载存储的固件自动实现刷新switch固件动作,不需要人为干预,不影响正常开机/业务工作;在BMC和FPGA之间设计I2C通信接口,通过定义软件协议,可实现对FPGA外挂FLASH进行更新,即对模式匹配矩阵关系以及存储的switch firmware进行刷新,使得同一套FPGA-Switch硬件板卡可以支持更多的应用需求;该模块化的设计方案,可以轻松适配到不同应用场景,不同的switch工作模式需求,使得一套硬件可完美应对多种switch PCIe端口工作模式的切换,而且FPGA外挂的flash可以根据需要存储多种switch firmware,不再受限于单一switch端口定义的工作模式。
另一方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任意一个实施例所描述的PCIeswitch工作模式更新方法的步骤。
对于本申请所提供的一种计算机可读存储介质的介绍请参照上述实施例,本申请在此不再赘述。
本申请所提供的一种计算机可读存储介质具有和上述PCIe switch工作模式更新方法相同的有益效果。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种PCIe switch工作模式更新方法,其特征在于,应用于控制器,该PCIe switch工作模式更新方法包括:
根据系统配置信息确定系统的需求switch固件版本;
根据PCIe switch的当前端口定义状态确定当前switch固件版本;
根据所述需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作;
若是,将所述需求switch固件版本对应的数据文件发送给所述PCIe switch,以便所述PCIe switch根据所述数据文件更新工作模式;
所述根据系统配置信息确定系统的需求switch固件版本之前,该PCIe switch工作模式更新方法还包括;
定义并预存系统配置信息与需求switch固件版本之间的第一关系矩阵;
相应的,所述根据系统配置信息确定系统的需求switch固件版本的过程具体包括:
根据当前获取到的系统配置信息和所述第一关系矩阵确定当前的需求switch固件版本;
该PCIe switch工作模式更新方法还包括:
在闪存中划分多个数据块以分别存储所述第一关系矩阵和所述需求switch固件版本。
2.根据权利要求1所述的PCIe switch工作模式更新方法,其特征在于,所述系统配置信息包括与当前系统拓扑结构对应的CONFIG信号的电平组合。
3.根据权利要求1所述的PCIe switch工作模式更新方法,其特征在于,所述控制器通过GPIO接口与所述PCIe switch连接;
相应的,所述根据PCIe switch的当前端口定义状态确定当前switch固件版本的过程包括:
当所述PCIe switch上电,且加载当前switch固件后,获取GPIO的输出状态信号,根据所述输出状态信号确定当前switch固件版本。
4.根据权利要求1所述的PCIe switch工作模式更新方法,其特征在于,所述控制器通过UART接口及SDB接口与所述PCIe switch连接;
相应的,该PCIe switch工作模式更新方法还包括:
确定所述需求switch固件版本对应的工作模式;
相应的,所述将所述需求switch固件版本对应的数据文件发送给所述PCIe switch的过程包括:
当所述工作模式为基础模式,通过所述SDB接口将所述需求switch固件版本对应的数据文件发送给所述PCIe switch;
当所述工作模式为综合模式,通过所述UART接口将所述需求switch固件版本对应的数据文件发送给所述PCIe switch。
5.根据权利要求1-4任意一项所述的PCIe switch工作模式更新方法,其特征在于,所述将所述需求switch固件版本对应的数据文件发送给所述PCIe switch,以便所述PCIeswitch根据所述数据文件更新工作模式之前,该PCIe switch工作模式更新方法还包括:
确定当前系统的状态;
若所述状态为开机状态,则暂停开机操作,执行所述将所述需求switch固件版本对应的数据文件发送给所述PCIe switch的操作;
若所述状态为待机状态,则禁止执行所述开机操作,执行所述将所述需求switch固件版本对应的数据文件发送给所述PCIe switch的操作。
6.一种PCIe switch工作模式更新装置,其特征在于,应用于控制器,该PCIe switch工作模式更新装置包括:
第一确定模块,用于根据系统配置信息确定系统的需求switch固件版本;
第二确定模块,用于根据PCIe switch的当前端口定义状态确定当前switch固件版本;
判断模块,用于根据所述需求switch固件版本和当前switch固件版本判断是否需要执行switch端口重分配操作,若是,触发刷新模块;
所述刷新模块,用于将所述需求switch固件版本对应的数据文件发送给所述PCIeswitch,以便所述PCIe switch根据所述数据文件更新工作模式;
该PCIe switch工作模式更新装置还包括:
预处理模块,用于定义并预存系统配置信息与需求switch固件版本之间的第一关系矩阵;
相应的,所述第一确定模块具体用于:
根据当前获取到的系统配置信息和所述第一关系矩阵确定当前的需求switch固件版本;
该PCIe switch工作模式更新装置还包括:
存储模块,用于在闪存中划分多个数据块以分别存储所述第一关系矩阵和所述需求switch固件版本。
7.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
控制器,用于执行所述计算机程序时实现如权利要求1-5任意一项所述的PCIe switch工作模式更新方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5任意一项所述的PCIe switch工作模式更新方法的步骤。
CN202110019337.7A 2021-01-07 2021-01-07 PCIe switch工作模式更新方法及相关组件 Active CN112748948B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110019337.7A CN112748948B (zh) 2021-01-07 2021-01-07 PCIe switch工作模式更新方法及相关组件
KR1020237022180A KR20230137298A (ko) 2021-01-07 2021-09-28 PCIe 스위치 작동 모드 업데이트 방법 및 관련 어셈블리
PCT/CN2021/121426 WO2022148072A1 (zh) 2021-01-07 2021-09-28 PCIe switch工作模式更新方法及相关组件
US18/270,240 US11940941B2 (en) 2021-01-07 2021-09-28 PCIe switch working mode updating method and related assembly

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110019337.7A CN112748948B (zh) 2021-01-07 2021-01-07 PCIe switch工作模式更新方法及相关组件

Publications (2)

Publication Number Publication Date
CN112748948A CN112748948A (zh) 2021-05-04
CN112748948B true CN112748948B (zh) 2022-06-07

Family

ID=75650243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110019337.7A Active CN112748948B (zh) 2021-01-07 2021-01-07 PCIe switch工作模式更新方法及相关组件

Country Status (4)

Country Link
US (1) US11940941B2 (zh)
KR (1) KR20230137298A (zh)
CN (1) CN112748948B (zh)
WO (1) WO2022148072A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112748948B (zh) 2021-01-07 2022-06-07 苏州浪潮智能科技有限公司 PCIe switch工作模式更新方法及相关组件
CN114047959A (zh) * 2021-11-01 2022-02-15 东莞新能安科技有限公司 开机管理方法、装置及电源系统
CN117149690A (zh) * 2022-07-27 2023-12-01 超聚变数字技术有限公司 电子设备和PCIE Switch芯片的端口配置方法
CN117834447B (zh) * 2024-03-05 2024-05-07 北京数渡信息科技有限公司 基于PCIe Switch的互联池化系统拓扑管理装置及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775877A (zh) * 2016-12-22 2017-05-31 郑州云海信息技术有限公司 一种固件刷新方法及一种服务器
CN107193563A (zh) * 2017-05-19 2017-09-22 郑州云海信息技术有限公司 一种服务器无状态固件版本管理的方法
US20170300431A1 (en) * 2014-12-30 2017-10-19 Huawei Technologies Co., Ltd. Computer device and configuration and management method of computer device
CN107992423A (zh) * 2017-12-14 2018-05-04 郑州云海信息技术有限公司 一种双控存储系统固件升降级的测试方法及装置
CN108090006A (zh) * 2017-12-14 2018-05-29 郑州云海信息技术有限公司 一种一键切换PCIE Switch工作模式的方法
CN109660391A (zh) * 2018-12-10 2019-04-19 浪潮电子信息产业股份有限公司 一种池化服务器系统固件升级方法、系统及相关装置
CN110147340A (zh) * 2019-05-21 2019-08-20 苏州浪潮智能科技有限公司 一种PCIE switch引脚电平配置系统、方法及相关组件
CN111258667A (zh) * 2020-02-05 2020-06-09 苏州浪潮智能科技有限公司 一种服务器的自适应配置方法、装置、设备及存储介质
CN111858148A (zh) * 2019-12-21 2020-10-30 苏州浪潮智能科技有限公司 一种PCIE Switch芯片配置文件恢复系统及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201142608A (en) * 2010-05-31 2011-12-01 Hon Hai Prec Ind Co Ltd Multiple processors based system and method for controlling PCI-E slots
US9043527B2 (en) * 2013-01-04 2015-05-26 American Megatrends, Inc. PCI express channel implementation in intelligent platform management interface stack
EP3001310B1 (de) 2014-09-24 2019-10-30 Siemens Aktiengesellschaft Verfahren und Einrichtung zur Aktualisierung von Firmware für Komponenten einer industriellen Automatisierungsanordnung
US10146527B2 (en) * 2016-10-12 2018-12-04 Samsung Electronics Co., Ltd. Method and apparatus for using BMC as proxy for NVME over fabrics device firmware upgrade
CN110166301A (zh) 2019-05-28 2019-08-23 浪潮商用机器有限公司 一种pcie端口的自动配置方法、装置、系统及控制器
CN110780932A (zh) 2019-09-26 2020-02-11 苏州浪潮智能科技有限公司 一种pcie切换芯片的工作模式切换方法与装置
CN111092773B (zh) 2019-12-25 2022-06-21 成都华大九天科技有限公司 一种支持虚拟交换的pcie交换芯片端口配置系统和方法
EP4080375A4 (en) * 2020-01-22 2022-12-21 Huawei Technologies Co., Ltd. PCIE BASED DATA TRANSFER METHOD AND DEVICE
CN111522559A (zh) 2020-04-17 2020-08-11 苏州浪潮智能科技有限公司 智能网卡固件刷新方法、装置及计算机可读存储介质
CN112748948B (zh) 2021-01-07 2022-06-07 苏州浪潮智能科技有限公司 PCIe switch工作模式更新方法及相关组件

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170300431A1 (en) * 2014-12-30 2017-10-19 Huawei Technologies Co., Ltd. Computer device and configuration and management method of computer device
CN106775877A (zh) * 2016-12-22 2017-05-31 郑州云海信息技术有限公司 一种固件刷新方法及一种服务器
CN107193563A (zh) * 2017-05-19 2017-09-22 郑州云海信息技术有限公司 一种服务器无状态固件版本管理的方法
CN107992423A (zh) * 2017-12-14 2018-05-04 郑州云海信息技术有限公司 一种双控存储系统固件升降级的测试方法及装置
CN108090006A (zh) * 2017-12-14 2018-05-29 郑州云海信息技术有限公司 一种一键切换PCIE Switch工作模式的方法
CN109660391A (zh) * 2018-12-10 2019-04-19 浪潮电子信息产业股份有限公司 一种池化服务器系统固件升级方法、系统及相关装置
CN110147340A (zh) * 2019-05-21 2019-08-20 苏州浪潮智能科技有限公司 一种PCIE switch引脚电平配置系统、方法及相关组件
CN111858148A (zh) * 2019-12-21 2020-10-30 苏州浪潮智能科技有限公司 一种PCIE Switch芯片配置文件恢复系统及方法
CN111258667A (zh) * 2020-02-05 2020-06-09 苏州浪潮智能科技有限公司 一种服务器的自适应配置方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112748948A (zh) 2021-05-04
KR20230137298A (ko) 2023-10-04
US20230393841A1 (en) 2023-12-07
WO2022148072A1 (zh) 2022-07-14
US11940941B2 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
CN112748948B (zh) PCIe switch工作模式更新方法及相关组件
CN111159085B (zh) 一种pcie带宽的自动配置方法、服务器主板及服务器
CN109324991B (zh) 一种pcie设备的热插拔装置、方法、介质及系统
CN114003538B (zh) 一种智能网卡的识别方法及智能网卡
CN110968352B (zh) 一种pcie设备的复位系统及服务器系统
CN112799985B (zh) Usb接口控制方法、usb控制电路及智能网联设备主板
CN111143256A (zh) 一种读取现场可更换单元信息的方法和装置
CN111966626B (zh) 一种基于espi总线的服务器启动装置和方法
CN109725940A (zh) 用于计算系统启动的方法和计算系统
CN113568858B (zh) 设备管理方法、装置及存储介质
CN113468027B (zh) 监测器件地址管理方法及装置、基板管理控制器、设备
CN214751393U (zh) 微控制器和计算系统
CN113760810A (zh) 一种信息处理方法、信息处理装置、设备和存储介质
CN115905072A (zh) 计算机系统、基于PCIe设备的控制方法及相关设备
CN111399871A (zh) 一种hba卡的系统更新方法、装置、设备及介质
CN110119624A (zh) 一种安全度量方法
CN115422110B (zh) 电子设备和PCIE Switch芯片的端口配置方法
CN113014667B (zh) 一种机架式服务器的配置方法、装置、设备及存储介质
CN217506538U (zh) 一种适用于光模块的多处理器通讯系统
CN112486868B (zh) 基于cpld存储双控同步系统、方法、设备及存储介质
CN118132458A (zh) Mmio地址资源分配方法、装置、计算设备和存储介质
CN113886190A (zh) 一种用于服务器的设备管理系统、方法、设备及存储介质
CN115237839A (zh) 一种在pcie外插卡中识别pcie设备的装置和方法
CN117389944A (zh) 一种双路cpu控制方法、系统、装置及存储介质
CN115470170A (zh) 一种fru设备的确定方法、装置及介质

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