CN114253625B - 一种PCIe Switch芯片工作模式切换方法、系统、存储介质及设备 - Google Patents
一种PCIe Switch芯片工作模式切换方法、系统、存储介质及设备 Download PDFInfo
- Publication number
- CN114253625B CN114253625B CN202111436977.4A CN202111436977A CN114253625B CN 114253625 B CN114253625 B CN 114253625B CN 202111436977 A CN202111436977 A CN 202111436977A CN 114253625 B CN114253625 B CN 114253625B
- Authority
- CN
- China
- Prior art keywords
- configuration
- custom
- pcie switch
- switch chip
- configuration data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种PCIe Switch芯片工作模式切换方法、系统、存储介质及设备,方法包括:生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区;向所述定制分区分配定制管脚的定制赋值;响应于PCIe Switch芯片的固件程序的启动,在初始化阶段读取该定制管脚的实际值;响应于该定制管脚的实际值与该定制赋值相对应,从该定制分区中读取配置索引,并且响应于该定制管脚的实际值与该定制赋值不相对应,将该实际值赋值给配置索引;基于该配置索引读取相应的配置数据以设置该PCIe Switch芯片的工作模式。基于本发明提供了一种PCIe switch芯片工作模式可灵活配置的技术方案,解决了只能通过固件版本升级才能切换芯片工作模式的问题。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及PCIe Switch技术领域,具体涉及一种PCIeSwitch芯片工作模式切换方法、系统、存储介质及设备。
背景技术
PCIe(Peripheral Component Interconnect express)是一种高速串行计算机扩展总线标准。PCIe Switch(PCIe交换)芯片是一种高速PCIe交换设备,常用于服务器上,用于主机侧PCIe接口的扩展,以支持更多的PCIe设备,如SSD硬盘、网卡等。高性能的PCIe交换芯片是可以动态配置下行端口模式的,支持X16、X8、X4、X2不同模式,以适配不同的PCIe设备。
现有技术中,以CN 112748948 A的“PCIe switch工作模式更新方法及相关组件”的专利申请为例,对PCIe交换芯片的配置,通常是通过选择不同的Switch固件版本来进行不同的初始化模式配置,以实现端口重新分配。不同的端口可以配置为X16、X8、X4、X2。而且PCIe交换芯片一般下行端口数量也比较多,如32个以上,这样进行不同场景的排列组合,需要的固件版本数量非常庞大,很难维护。
因此,针对现有技术中的上述缺点、问题,需要提出一种优化的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芯片工作模式切换方法的一些实施例中,该生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区进一步包括:
按关键字解析该配置文件得到配置数据,并生成不同平台要求的格式的文件。
在根据本发明的PCIe Switch芯片工作模式切换方法的一些实施例中,该生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区进一步包括:
配置烧写工具执行烧写命令,发送给烧写指令到UART;
响应于接收到UART关于该烧写指令的反馈,发送配置数据到UART。
在根据本发明的PCIe Switch芯片工作模式切换方法的一些实施例中,该生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区进一步包括:
Bootloader启动并进行硬件模块初始化;
响应于进入配置烧写模式,监测UART是否接收到配置烧写工具发出的烧写指令;
响应于接收到该烧写指令,向该配置烧写工具发送反馈,并准备开始接收配置数据;
将接收到的完整配置数据烧写到定制分区。
本发明的另一方面,还提供了一种PCIe Switch芯片工作模式切换的系统,其中包括:
配置烧写模块,该配置烧写模块配置为生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区;
分区赋值模块,该分区赋值模块配置为向该定制分区分配定制管脚的定制赋值;
启动读值模块,该启动读值模块配置为响应于PCIe Switch芯片的固件程序的启动,在初始化阶段读取该定制管脚的实际值;
配置索引模块,该配置索引模块配置为响应于该定制管脚的实际值与该定制赋值相对应,从该定制分区中读取配置索引,并且响应于该定制管脚的实际值与该定制赋值不相对应,将该实际值赋值给配置索引;
模式设置模块,该模式设置模块配置为基于该配置索引读取相应的配置数据以设置该PCIe Switch芯片的工作模式。
本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的PCIe Switch芯片工作模式切换方法。
本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的PCIeSwitch芯片工作模式切换方法。
本发明至少具有以下有益技术效果:基于本发明的方法,提供了一种PCIe switch芯片工作模式可灵活配置的技术方案,解决了只能通过固件版本升级才能切换芯片工作模式的问题,通过将用户设置的Switch配置模式存储为配置文件,存储于定制分区中,然后通过定制管脚来选择使用哪种配置;此外,通过脚本可以更加方便的修改自定义的配置文件,通过配置烧写工具,将配置文件烧写到存储配置的分区中;也就是说本发明的主要优点是不需要更换PCIe Switch的固件版本,只需要切换管脚或者修改配置文件的方式就可以实现芯片工作模式的切换,对于不同场景的芯片模式配置都可以灵活选择,而且只需要一个固件版本即可,对于PCIe Switch固件版本维护有很大帮助。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
在图中:
图1示出了根据本发明的PCIe Switch芯片工作模式切换方法的实施例的示意性结构图;
图2示出了根据本发明的PCIe Switch芯片工作模式切换方法的定制分区的实施例的示意图;
图3示出了根据本发明的PCIe Switch芯片工作模式切换方法的实施例的示意性框图;
图4示出了根据本发明的PCIe Switch芯片工作模式切换方法的部分的实施例的示意性流程图;
图5示出了根据本发明的PCIe Switch芯片工作模式切换方法的部分的实施例的示意性流程图;
图6示出了根据本发明的PCIe Switch芯片工作模式切换方法的部分的实施例的示意性流程图;
图7示出了根据本发明的PCIe Switch芯片工作模式切换的系统的实施例的示意性框图;
图8示出了根据本发明的实现PCIe Switch芯片工作模式切换方法的计算机可读存储介质的实施例的示意图;
图9示出了根据本发明的实现PCIe Switch芯片工作模式切换方法的计算机设备的实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
为了解决现有技术中存在的固件版本数量庞大、切换过程繁复、系统配置死板,进而导致维护困难等问题,本发明提供了一种PCIe Switch芯片工作模式可灵活配置的技术方案,解决了只能通过固件版本升级才能切换芯片工作模式的问题。图1示出了根据本发明的PCIe Switch芯片工作模式切换方法的实施例的示意性结构图。简单地说,本发明的构思基于一下几点。
首先通过将用户设置的switch配置模式存储为配置文件,存储于定制的FLASH分区中,然后通过Bootstrap的两个定制的管脚来选择使用哪种配置。此外,通过JSON脚本可以更加方便的修改自定义的配置文件,通过FLASH烧写工具,将配置文件烧写到FLASH的存储配置的定制分区中。图2示出了根据本发明的PCIe Switch芯片工作模式切换方法的定制分区的实施例的示意图。
这种方式的优点是不需要更换PCIe Switch的固件版本,只需要切换Bootstrap的定制管脚或者修改配置文件的方式就可以实现芯片工作模式的切换。对于不同场景的芯片模式配置都可以灵活选择,而且只需要一个固件版本即可。对于PCIe switch固件版本维护有很大帮助。
此外,JSON脚本可以给开发人员提供更加简洁的方式来生成自己需要的配置文件。
使用Bootstrap的两个定制管脚可以很方便切换配置文件,并且当Bootstrap两个定制管脚选择为定制赋值(例如[1 1])的时候,配置索引可以存储在FLASH中,这样可以支持更多的配置文件。
配置文件增加配置文件版本号、Magic Number、增加配置数据CRC32校验、增加配置文件备份功能。两个配置文件均校验不通过的情况下,系统选择默认配置X16模式,保证系统仍然可用。根据本发明增加了配置文件的安全性和冗余备份机制。
为此具体地,本发明的第一方面,提供了一种PCIe Switch芯片工作模式切换方法100。图3示出了根据本发明的PCIe Switch芯片工作模式切换方法的实施例的示意性框图。在如图1所示的实施例中,该方法包括:
步骤S110:生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区;
步骤S120:向该定制分区分配定制管脚的定制赋值;
步骤S130:响应于PCIe Switch芯片的固件程序的启动,在初始化阶段读取该定制管脚的实际值;
步骤S140:响应于该定制管脚的实际值与该定制赋值相对应,从该定制分区中读取配置索引,并且响应于该定制管脚的实际值与该定制赋值不相对应,将该实际值赋值给配置索引;
步骤S150:基于该配置索引读取相应的配置数据以设置该PCIe Switch芯片的工作模式。
总的来说,针对现有技术中存在的上述问题,首先步骤S110生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区。也就是说,将用户设置的switch配置模式存储为配置文件,存储于定制的FLASH分区中,如图1所示。随后在步骤S120中向定制分区分配定制管脚的定制赋值,即为该定制的FLASH分区分配定制的管脚,优选Bootstrap的两个定制的管脚,以便随后通过Bootstrap的两个定制的管脚来选择使用哪种配置。
在此基础上,在步骤S130中响应于PCIe Switch芯片的固件程序的启动,在初始化阶段读取该定制管脚的实际值。也就是说,要根据该定制管脚的实际值判断是否要使用配置文件中的配置还是要使用固件中的固有配置。
然后在步骤S140中响应于该定制管脚的实际值与该定制赋值相对应,从该定制分区中读取配置索引,并且响应于该定制管脚的实际值与该定制赋值不相对应,将该实际值赋值给配置索引。也就是说,当定制管脚、即Bootstrap两个定制管脚选择为定制赋值(例如[1 1])的时候,从在定制的FLASH分区中读取存储在其中的配置索引。而当定制管脚、即Bootstrap两个定制管脚不是之前分配给定制分区的定制赋值(例如[1 1]),而是其他赋值的时候,将该实际值赋值给配置索引。
最后在步骤S150中基于该配置索引读取相应的配置数据以设置该PCIe Switch芯片的工作模式。由此实现了不需要更换PCIe Switch的固件版本,只需要切换Bootstrap的定制管脚或者修改配置文件的方式就可以实现芯片工作模式的切换。对于不同场景的芯片模式配置都可以灵活选择,而且只需要一个固件版本即可。
在根据本发明的PCIe Switch芯片工作模式切换方法100的一些实施例中,步骤S110生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区进一步包括:
步骤S111:解析该配置文件以生成配置数据和备份配置数据;
步骤S112:将该配置数据和该备份配置数据分别烧写到定制分区和定制备份分区。
具体地,本发明的一个重要步骤是配置文件的生成和配置数据的烧写。根据如图1所示的实施例,其中的配置解析工具用来将JSON格式的配置文件解析并生成二进制配置文件。配置烧写工具将配置文件烧写到FLASH指定分区,配置文件有两个备份,防止损坏。因此,在步骤S111中解析该配置文件以生成配置数据和备份配置数据,然后在步骤S112中将该配置数据和该备份配置数据分别烧写到定制分区和定制备份分区。
JSON配置文件格式如下所示:
其中,第一种配置模式“5X16 DEVCIE”可用于连接下行5个X16的PCIe设备,比如GPU、网卡等。第二种配置模式“24X4 NVME”可用于连接24个X2设备,比如SSD硬盘通常为X2模式。这种配置模式通常用于存储服务器上。
用户根据自己的需要很方便的修改每个stack ID对应的stack mode。而PCIeSwitch中PHY的初始化依据SRAM Bypass和SRAM EXT LOAD标记来选择使用内部ROM初始化数据还是使用外部SRAM初始化数据。SRAM中PHY的初始化数据也是在FLASH中存储。
在根据本发明的PCIe Switch芯片工作模式切换方法100的一些实施例中,步骤S110生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区进一步包括:为该配置数据和该备份配置数据配备循环冗余校验。
图2示出了根据本发明的PCIe Switch芯片工作模式切换方法的定制分区的实施例的示意图。Main Firmware和Backup Firmware分区用来存储固件版本,其中Backup分区用于固件升级备份。Hardware Info分区用于存储硬件相关配置数据,也存储两份用于备份。PHY FW分区用于存储PHY的固件程序。SwitchCore Config Data区域用于存储PCIeSwitch的配置数据,即不同模式的配置数据。此外,配置数据存储为n份配置。每份配置都有循环冗余校验(CRC32)进行校验。多份配置分别只有一个版本号,用于区分不同的配置文件。配置文件和上述的JSON脚本一一对应,相当于FLASH分区映像的描述文件。
在根据本发明的PCIe Switch芯片工作模式切换方法100的一些实施例中,步骤S150基于该配置索引读取相应的配置数据以设置该PCIe Switch芯片的工作模式进一步包括:
步骤S151:基于该配置索引读取相应的配置数据,并对该配置数据进行校验;
步骤S152:响应于该配置数据校验未成功,读取备份配置数据或固件默认配置数据以设置该PCIe Switch芯片的工作模式。
PCIe Switch中的固件程序在启动过程中,初始化阶段会从FLASH中读取配置数据来设置PCIe Switch的工作模式。图4示出了根据本发明的PCIe Switch芯片工作模式切换方法的部分的实施例的示意性流程图。在图4所示的实施例中,固件程序启动后,步骤S151基于步骤S140中得到的配置索引读取相应的配置数据(例如图4中配置0),并对该配置数据进行校验。如果校验成功,则根据该配置数据设置PCIe Switch芯片的工作模式。如果该配置数据校验未成功,则步骤S152读取备份配置数据或固件默认配置数据以设置该PCIeSwitch芯片的工作模式。更优选地,在根据S140中得到的配置索引读取到的相应的配置数据校验位成功的情况下,首先根据配置索引读取备份配置数据(例如图4中配置1),并对该备份配置数据进行校验。如果该备份配置数据校验成功,则根据该备份配置数据设置PCIeSwitch芯片的工作模式。如果该备份配置数据校验未成功,则读取固件默认配置数据以设置该PCIe Switch芯片的工作模式。
在根据本发明的PCIe Switch芯片工作模式切换方法100的一些实施例中,步骤S110生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区进一步包括:按关键字解析该配置文件得到配置数据,并生成不同平台要求的格式的文件。
在上述实施例中涉及使用配置解析工具实现步骤S110。优选地,配置解析工具使用Python脚本实现,会读取JSON格式的配置文件。然后按关键字解析出配置数据,并生成不同平台要求的Bin格式文件或者txt格式文件。Bin文件可以直接烧写至FLASH中。一些FPGA平台,如ZEBU,需要txt格式的文件用于模拟FLASH数据加载。
进一步地,步骤S110的实现还涉及使用配置烧写工具。配置烧写工具需要和系统中的BootLoader程序进行交互,通过UART的方式将配置文件烧写到FLASH定制分区。配置烧写工具和BootLoader程序进行交互,传输配置文件到BootLoader管理的内存区域中,然后下载配置文件到SwitchCore Config Data分区。BootLoader程序启动进入配置烧写模式。图5示出了根据本发明的PCIe Switch芯片工作模式切换方法的部分的实施例的示意性流程图。如图5所示,BootLoader程序启动后进行硬件模块初始化。然后判断是否进入配置烧写模式。如果不进入则正常进入固件的启动。如果需要进入配置烧写模式,则烧写配置文件,并在配置文件烧写完成后进行系统的复位重启。
此外,BootLoader程序在烧写模式和配置烧写工具之间进行交互。参考以下实施例及图6进一步地说明了该交互过程。
在根据本发明的PCIe Switch芯片工作模式切换方法100的一些实施例中,步骤S110生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区进一步包括:
步骤S113:配置烧写工具执行烧写命令,发送给烧写指令到UART;
步骤S114:响应于接收到UART关于该烧写指令的反馈,发送配置数据到UART。
具体地说,首先从配置烧写工具方面来说,步骤S113中配置烧写工具执行烧写命令,发送给烧写指令(例如0x5AA5)到UART。随后当接收到UART关于该烧写指令(0x5AA5)的反馈(0xA55A)时,步骤S114响应于此,发送配置数据到UART。在发送完毕之后,程序结束配置烧写工具完成其一次烧写任务。
另一方面,在根据本发明的PCIe Switch芯片工作模式切换方法100的一些实施例中,步骤S110生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区进一步包括:
步骤S115:Bootloader启动并进行硬件模块初始化;
步骤S116:响应于进入配置烧写模式,监测UART是否接收到配置烧写工具发出的烧写指令;
步骤S117:响应于接收到该烧写指令,向该配置烧写工具发送反馈,并准备开始接收配置数据;
步骤S118:将接收到的完整配置数据烧写到定制分区。
具体地说,从BootLoader程序的配置烧写模式方面来说,首先步骤S115中Bootloader启动并进行硬件模块初始化。当确定进入配置烧写模式时,步骤S116监测UART是否接收到配置烧写工具发出的烧写指令(0x5AA5)。当接收到该烧写指令(0x5AA5)后,步骤S117向该配置烧写工具发送反馈(0xA55A),并准备开始接收配置数据。最后在接收配置数据完毕后,步骤S118将接收到的完整配置数据烧写到FLAH定制分区中。
综合根据本发明的前述实施例,本发明提供了一种PCIe switch芯片工作模式可灵活配置的技术方案,解决了只能通过固件版本升级才能切换芯片工作模式的问题,通过将用户设置的Switch配置模式存储为配置文件,存储于定制分区中,然后通过定制管脚来选择使用哪种配置;此外,通过脚本可以更加方便的修改自定义的配置文件,通过配置烧写工具,将配置文件烧写到存储配置的分区中;也就是说本发明的主要优点是不需要更换PCIe Switch的固件版本,只需要切换管脚或者修改配置文件的方式就可以实现芯片工作模式的切换,对于不同场景的芯片模式配置都可以灵活选择,而且只需要一个固件版本即可,对于PCIe Switch固件版本维护有很大帮助。
本发明的第二方面,还提供了一种PCIe Switch芯片工作模式切换的系统200。图7示出了根据本发明的PCIe Switch芯片工作模式切换的系统200的实施例的示意性框图。如图7所示,该系统包括:
配置烧写模块210,该配置烧写模块210配置为生成PCIe Switch芯片的配置文件,解析该配置文件并将解析出的配置数据烧写到定制分区;
分区赋值模块220,该分区赋值模块220配置为向该定制分区分配定制管脚的定制赋值;
启动读值模块230,该启动读值模块230配置为响应于PCIe Switch芯片的固件程序的启动,在初始化阶段读取该定制管脚的实际值;
配置索引模块240,该配置索引模块240配置为响应于该定制管脚的实际值与该定制赋值相对应,从该定制分区中读取配置索引,并且响应于该定制管脚的实际值与该定制赋值不相对应,将该实际值赋值给配置索引;
模式设置模块250,该模式设置模块250配置为基于该配置索引读取相应的配置数据以设置该PCIe Switch芯片的工作模式。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图8示出了根据本发明实施例提供的PCIe Switch芯片工作模式切换方法的计算机可读存储介质的示意图。如图8所示,计算机可读存储介质300存储有计算机程序指令310,该计算机程序指令310可以被处理器执行。该计算机程序指令310被执行时实现上述任意一项实施例的方法。
应当理解,在相互不冲突的情况下,以上针对根据本发明的PCIe Switch芯片工作模式切换方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的PCIe Switch芯片工作模式切换的系统和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备400,包括存储器420和处理器410,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例的方法。
如图9所示,为本发明提供的执行PCIe Switch芯片工作模式切换方法的计算机设备的一个实施例的硬件结构示意图。以如图9所示的计算机设备400为例,在该计算机设备中包括一个处理器410以及一个存储器420,并还可以包括:输入装置430和输出装置440。处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图9中以通过总线连接为例。输入装置430可接收输入的数字或字符信息,以及产生与PCIeSwitch芯片工作模式切换有关的信号输入。输出装置440可包括显示屏等显示设备。
存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的资源监控方法对应的程序指令/模块。存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储资源监控方法的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的资源监控方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种PCIe Switch芯片工作模式切换方法,其特征在于,包括以下步骤:
生成PCIe Switch芯片的配置文件,解析所述配置文件并将解析出的配置数据烧写到定制分区;
向所述定制分区分配定制管脚的定制赋值;
响应于PCIe Switch芯片的固件程序的启动,在初始化阶段读取所述定制管脚的实际值;
响应于所述定制管脚的实际值与所述定制赋值相对应,从所述定制分区中读取配置索引,并且响应于所述定制管脚的实际值与所述定制赋值不相对应,将所述实际值赋值给配置索引;
基于所述配置索引读取相应的配置数据以设置所述PCIe Switch芯片的工作模式。
2.根据权利要求1所述的方法,其特征在于,所述生成PCIe Switch芯片的配置文件,解析所述配置文件并将解析出的配置数据烧写到定制分区进一步包括:
解析所述配置文件以生成配置数据和备份配置数据;
将所述配置数据和所述备份配置数据分别烧写到定制分区和定制备份分区。
3.根据权利要求2所述的方法,其特征在于,所述生成PCIe Switch芯片的配置文件,解析所述配置文件并将解析出的配置数据烧写到定制分区进一步包括:
为所述配置数据和所述备份配置数据配备循环冗余校验。
4.根据权利要求3所述的方法,其特征在于,所述基于所述配置索引读取相应的配置数据以设置所述PCIe Switch芯片的工作模式进一步包括:
基于所述配置索引读取相应的配置数据,并对所述配置数据进行校验;
响应于所述配置数据校验未成功,读取备份配置数据或固件默认配置数据以设置所述PCIe Switch芯片的工作模式。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述生成PCIe Switch芯片的配置文件,解析所述配置文件并将解析出的配置数据烧写到定制分区进一步包括:
按关键字解析所述配置文件得到配置数据,并生成不同平台要求的格式的文件。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述生成PCIe Switch芯片的配置文件,解析所述配置文件并将解析出的配置数据烧写到定制分区进一步包括:
配置烧写工具执行烧写命令,发送给烧写指令到UART;
响应于接收到UART关于所述烧写指令的反馈,发送配置数据到UART。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述生成PCIe Switch芯片的配置文件,解析所述配置文件并将解析出的配置数据烧写到定制分区进一步包括:
Bootloader启动并进行硬件模块初始化;
响应于进入配置烧写模式,监测UART是否接收到配置烧写工具发出的烧写指令;
响应于接收到所述烧写指令,向所述配置烧写工具发送反馈,并准备开始接收配置数据;
将接收到的完整配置数据烧写到定制分区。
8.一种PCIe Switch芯片工作模式切换的系统,其特征在于,包括:
配置烧写模块,所述配置烧写模块配置为生成PCIe Switch芯片的配置文件,解析所述配置文件并将解析出的配置数据烧写到定制分区;
分区赋值模块,所述分区赋值模块配置为向所述定制分区分配定制管脚的定制赋值;
启动读值模块,所述启动读值模块配置为响应于PCIe Switch芯片的固件程序的启动,在初始化阶段读取所述定制管脚的实际值;
配置索引模块,所述配置索引模块配置为响应于所述定制管脚的实际值与所述定制赋值相对应,从所述定制分区中读取配置索引,并且响应于所述定制管脚的实际值与所述定制赋值不相对应,将所述实际值赋值给配置索引;
模式设置模块,所述模式设置模块配置为基于所述配置索引读取相应的配置数据以设置所述PCIe Switch芯片的工作模式。
9.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被执行时实现如权利要求1-7任意一项所述的PCIe Switch芯片工作模式切换方法。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-7任意一项所述的PCIeSwitch芯片工作模式切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436977.4A CN114253625B (zh) | 2021-11-29 | 2021-11-29 | 一种PCIe Switch芯片工作模式切换方法、系统、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436977.4A CN114253625B (zh) | 2021-11-29 | 2021-11-29 | 一种PCIe Switch芯片工作模式切换方法、系统、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114253625A CN114253625A (zh) | 2022-03-29 |
CN114253625B true CN114253625B (zh) | 2023-07-14 |
Family
ID=80793504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111436977.4A Active CN114253625B (zh) | 2021-11-29 | 2021-11-29 | 一种PCIe Switch芯片工作模式切换方法、系统、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253625B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325919A (zh) * | 2016-08-11 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 基于PCIE Redriver的配置系统及方法 |
US9672047B1 (en) * | 2014-10-31 | 2017-06-06 | American Megatrends, Inc. | Systems and methods for accessing a bootable partition on a serial peripheral interface device |
CN110147340A (zh) * | 2019-05-21 | 2019-08-20 | 苏州浪潮智能科技有限公司 | 一种PCIE switch引脚电平配置系统、方法及相关组件 |
CN110780932A (zh) * | 2019-09-26 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种pcie切换芯片的工作模式切换方法与装置 |
CN111092830A (zh) * | 2019-12-11 | 2020-05-01 | 成都九芯微科技有限公司 | 一种pcie交换芯片端口配置系统和方法 |
CN113515478A (zh) * | 2021-08-03 | 2021-10-19 | 无锡众星微系统技术有限公司 | 一种PCIe Switch的系统扩展管理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037223B2 (en) * | 2007-06-13 | 2011-10-11 | Hewlett-Packard Development Company, L.P. | Reconfigurable I/O card pins |
US11392525B2 (en) * | 2019-02-01 | 2022-07-19 | Liqid Inc. | Specialized device instantiation onto PCIe fabrics |
-
2021
- 2021-11-29 CN CN202111436977.4A patent/CN114253625B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672047B1 (en) * | 2014-10-31 | 2017-06-06 | American Megatrends, Inc. | Systems and methods for accessing a bootable partition on a serial peripheral interface device |
CN106325919A (zh) * | 2016-08-11 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 基于PCIE Redriver的配置系统及方法 |
CN110147340A (zh) * | 2019-05-21 | 2019-08-20 | 苏州浪潮智能科技有限公司 | 一种PCIE switch引脚电平配置系统、方法及相关组件 |
CN110780932A (zh) * | 2019-09-26 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种pcie切换芯片的工作模式切换方法与装置 |
CN111092830A (zh) * | 2019-12-11 | 2020-05-01 | 成都九芯微科技有限公司 | 一种pcie交换芯片端口配置系统和方法 |
CN113515478A (zh) * | 2021-08-03 | 2021-10-19 | 无锡众星微系统技术有限公司 | 一种PCIe Switch的系统扩展管理方法 |
Non-Patent Citations (1)
Title |
---|
基于PCIe总线的多处理器数据交换技术;毕城 等;电子科技(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114253625A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107329741B (zh) | 一种基于指纹识别的软件分布式升级方法与装置 | |
US6993647B2 (en) | Method and apparatus for booting an electronic device using a plurality of agent records and agent codes | |
CN111124440A (zh) | 芯片软件烧录方法、芯片软件烧录数据处理方法和装置 | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN111240720A (zh) | 引导程序升级方法、装置及存储介质 | |
US10579801B2 (en) | Selecting and loading firmware volumes based on license | |
WO2017202338A1 (zh) | 机顶盒加载驱动的方法及系统 | |
CN112615759A (zh) | 全链路压测组件、全链路压测方法及装置 | |
CN111367560A (zh) | 一种扩展服务器功能的方法、系统、设备及介质 | |
CN113010214B (zh) | 一种bios选项设置方法、系统及存储介质 | |
KR20230091660A (ko) | 소프트웨어의 무결성 검증 방법 및 그 장치 | |
CN114253625B (zh) | 一种PCIe Switch芯片工作模式切换方法、系统、存储介质及设备 | |
EP2778910A1 (en) | Systems and methods to extend rom functionality | |
CN113918197A (zh) | 一种固件升级方法、系统、存储介质及设备 | |
CN107203373B (zh) | 界面控件的获取方法、测试方法及获取装置、测试装置 | |
CN112162794A (zh) | 一种单板启动方法、装置、单板以及网络设备 | |
WO2020113382A1 (zh) | 硬件升级方法、装置、设备和存储介质 | |
CN113553110A (zh) | 一种服务器的硬件基线自动化修正方法、装置及系统 | |
WO2022134918A1 (zh) | 虚拟机属性变更方法和装置、存储介质和电子装置 | |
US11748110B2 (en) | Server with setup menu for the bios settings | |
CN116795679A (zh) | 一种Web应用测试方法、装置、电子设备及存储介质 | |
CN114328210A (zh) | 一种测试方法、装置及计算机可读存储介质 | |
CN112000698A (zh) | 日志的记录方法及装置、存储介质、电子装置 | |
CN113835762B (zh) | 硬盘背板默认配置更新方法及系统 | |
US20240163669A1 (en) | Personal identification number (pin) unlock in automated wireless communication device testing |
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 |