A server unified firmware management system, method, apparatus, device and medium

By managing BIOS and SCP firmware images through a baseboard management controller and complex programmable logic devices, the matching and upgrade issues of BIOS and SCP firmware during server startup are resolved, enabling stable and efficient server operation.

CN116339794BActive Publication Date: 2026-05-12INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2023-03-29
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

In existing technologies, after the BIOS firmware is split into the BIOS part and the SCP part, there is a lack of effective dual firmware matching and upgrade methods, which often leads to incompatibility problems when the server starts up, affecting boot stability and efficiency.

Method used

Design a unified firmware management system for servers. Through a baseboard management controller, complex programmable logic devices (CPLDs) and flash memory modules, implement image management and upgrades of BIOS and SCP firmware to ensure firmware image matching and updates. The CPLDs select the appropriate firmware image for booting based on the power-on status of the central processing unit (CPU). The baseboard management controller records and manages the firmware image version to ensure updates are performed after the CPU has completed booting.

Benefits of technology

It achieves unified management of BIOS and SCP firmware, ensuring server compatibility and stable operation at startup, improving firmware update efficiency, and guaranteeing server stability and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116339794B_ABST
    Figure CN116339794B_ABST
Patent Text Reader

Abstract

The application provides a server unified firmware management system, method, device, equipment and medium, and belongs to the technical field of server firmware management.The system comprises a BMC, a CPLD, main and standby BIOS flash memories, main and standby SCP flash memories and a host CPU;the BMC is connected with the main and standby BIOS flash memories and the main and standby SCP flash memories;the CPLD is connected with the main BIOS flash memory, the standby BIOS flash memory, the main SCP flash memory and the standby SCP flash memory;the CPLD is also connected with the BMC and the host CPU;the main BIOS flash memory stores a main BIOS firmware image, and the standby BIOS flash memory stores a standby BIOS firmware image;the main SCP flash memory stores a main SCP firmware image, and the standby SCP flash memory stores a standby SCP firmware image.The application unifies the matching startup and upgrade of BIOS firmware and SCP firmware, has high upgrade efficiency, ensures that the two firmware can be successfully started, and guarantees the stable operation of the server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of server firmware management technology, specifically relating to a unified server firmware management system, method, apparatus, device, and medium. Background Technology

[0002] BIOS is short for Basic Input Output System.

[0003] SCP is short for System Control Processor.

[0004] BMC is short for Baseboard Management Controller.

[0005] CPLD is short for Complex Programmable Logic Device.

[0006] To meet the increasingly demanding performance and functional requirements of server systems, improving boot speed and startup stability has become a continuous pursuit in server development. Currently, to improve BIOS firmware update speed, the BIOS firmware required for system boot is split into a BIOS part and an SCP part. Less frequently updated content is placed in the SCP part, while the BIOS part stores frequently changing content. This approach ensures that the more stable SCP part does not change frequently, and when the BIOS firmware is updated, the fewer changes significantly increase the update speed. Furthermore, the SCP part can also act as a bridge for the BMC to access the CPU, providing an interface for the BMC to obtain some information from the CPU. Therefore, the method of splitting the original BIOS firmware into a BIOS part and an SCP part has become widely adopted.

[0007] However, with the BIOS firmware splitting method, the SCP part needs to work in conjunction with the BIOS part during server startup for the server to boot normally. But in reality, the two parts of the dual firmware are often incompatible and both require upgrades. Related technologies cover primary and backup BIOS upgrades, switching, and booting, but do not address dual firmware compatibility-level upgrades.

[0008] Therefore, in order to address the aforementioned shortcomings, it is essential to provide a unified firmware management system, method, apparatus, device, and medium for servers. Summary of the Invention

[0009] To address the shortcomings of splitting BIOS firmware into two parts to improve firmware update speed, but lacking dual firmware matching and upgrade methods, this invention provides a unified server firmware management system, method, apparatus, device, and medium to solve the aforementioned technical problems.

[0010] In a first aspect, the present invention provides a unified firmware management system for servers, including a baseboard management controller, a complex programmable logic device, a main basic input / output system flash memory, a backup basic input / output system flash memory, a main system control processor flash memory, a backup system control processor flash memory, and a host central processing unit.

[0011] The baseboard management controller is connected to the main basic input / output system flash memory, the backup basic input / output system flash memory, the main system control processor flash memory, and the backup system control processor flash memory.

[0012] The complex programmable logic device is connected to the main basic input / output system flash memory, the backup basic input / output system flash memory, the main system control processor flash memory, and the backup system control processor flash memory.

[0013] The complex programmable logic device is also connected to the baseboard management controller and the host central processing unit;

[0014] The main basic input / output system (MBI) flash memory stores the main basic input / output system firmware image, and the backup basic input / output system (SBI) flash memory stores the backup basic input / output system firmware image.

[0015] The main system control processor flash memory stores the main system control processor firmware image, and the backup system control processor flash memory stores the backup system control processor firmware image.

[0016] The complex programmable logic device selects the matching basic input / output system firmware image and system control processor firmware image to start based on the power-on status of the host central processing unit, and records the currently started primary and backup firmware images.

[0017] The baseboard management controller controls the upgrade of the basic input / output system firmware image and the system control processor firmware image, records the firmware image version in the flash memory, and updates the corresponding firmware image according to the currently booted primary and backup firmware images after the host central processing unit completes the boot process.

[0018] Furthermore, the baseboard management controller is also connected to a storage unit and a remote server;

[0019] The storage unit is used by the baseboard management controller to record the firmware image versions and the active status of each firmware image in the main basic input / output system flash memory, the backup basic input / output system flash memory, the main system control processor flash memory, and the backup system control processor flash memory.

[0020] The baseboard management controller connects to a remote server via an external interface, providing the server with firmware image version information for the primary BIOS flash memory, backup BIOS flash memory, primary system controller flash memory, and backup system controller flash memory. The baseboard management controller stores the BIOS firmware image versions in the primary and backup BIOS flash memories, as well as the system controller firmware image versions in the primary and backup system controller flash memories, through storage units. These storage units can use EEPROM, SD cards, or eMMC storage media. External interfaces include a web interface, an IPMI interface, and a Redfish interface.

[0021] Secondly, the present invention provides a unified firmware management method for servers, comprising the following steps:

[0022] S1. Select the matching basic input / output system firmware image and system control processor firmware image for startup based on the power-on status of the host central processing unit, and record the currently started primary and backup firmware images.

[0023] S2. Control the upgrade of the firmware image corresponding to the basic input / output system and system control processor, record the firmware image version after the upgrade, and update the corresponding firmware image according to the currently started primary and backup firmware images after the host central processing unit completes the startup.

[0024] Furthermore, the specific steps of step S1 are as follows:

[0025] S11. Configure the primary basic input / output system flash memory and the backup basic input / output system flash memory in advance for the basic input / output system firmware, and store the basic input / output system firmware image in the two basic input / output system flash memory;

[0026] S12. Configure the main system control processor flash memory and the backup system control processor flash memory in advance for the system control processor firmware, and store the system control processor firmware image in the two system control processor flash memories;

[0027] S13. The complex programmable logic device selects either the firmware image in the main basic input / output system flash memory and the main system control processor flash memory to boot, or selects the firmware image in the backup basic input / output system flash memory and the backup system control processor flash memory to boot, depending on the power-on status of the host central processing unit.

[0028] S14. Complex programmable logic device records the basic input / output system and system control processor main and backup firmware images used by the host central processing unit during startup.

[0029] Furthermore, the specific steps of step S13 are as follows:

[0030] S131. Complex programmable logic device determines whether the host central processing unit is starting up for the first time after power-on;

[0031] If so, proceed to step S133;

[0032] If not, proceed to step S132;

[0033] S132. The complex programmable logic device uses the basic input / output system firmware image in the flash memory of the basic input / output system used during the last normal startup, and the system control processor firmware image in the flash memory of the system control processor to start the host central processing unit, and proceeds to step S2.

[0034] S133. The complex programmable logic device selects the basic input / output system firmware image in the main basic input / output system flash memory and selects the system control processor firmware image in the main system control processor flash memory to match and start the host central processing unit.

[0035] S134. Complex programmable logic devices determine whether the host central processing unit has successfully started up;

[0036] If so, proceed to step S14;

[0037] If not, proceed to step S135;

[0038] S135. The complex programmable logic device selects a basic input / output system firmware image in the backup basic input / output system flash memory for the host central processing unit, and selects a system control processor firmware image in the backup system control processor flash memory for matching and booting.

[0039] Furthermore, the specific steps of step S14 are as follows:

[0040] S141. The complex programmable logic device has a first flag bit, a second flag bit, a third flag bit, and a fourth flag bit pre-configured;

[0041] S142. The complex programmable logic device uses the first flag bit to record the basic input / output system flash memory used by the host central processing unit (CPU) during startup, and uses the fourth flag bit to record the system control processor flash memory used by the CPU during startup.

[0042] S143. Complex programmable logic devices determine whether there is a startup failure during the startup process of the host central processing unit by power-on timing, and when a startup failure occurs, determine whether the startup failure is the basic input / output system firmware image or the system control processor firmware image.

[0043] S144. The complex programmable logic device (CPLD) uses a combination of a second flag bit and a third flag bit to record whether the host CPU booted normally and the firmware image that failed to boot. The CPLD records whether the firmware image used for booting is in the main BIOS flash memory, the main system controller flash memory, or the backup BIOS flash memory or the backup system controller flash memory. Furthermore, in the event of a boot failure, it records whether the firmware image that failed to boot is in the main BIOS flash memory or the main system controller flash memory.

[0044] Furthermore, the specific steps of step S2 are as follows:

[0045] S21. The baseboard management controller controls the independent upgrade of the firmware images of the main basic input / output system flash memory, the backup basic input / output system flash memory, and the system control processor firmware images of the main system control processor flash memory and the backup system control processor flash memory, and records the firmware image version in each flash memory after the upgrade and the active status of each firmware image.

[0046] S22. After the host CPU successfully boots up, the baseboard management controller queries the complex programmable logic device for the main and backup firmware images used by the host CPU for booting up and the power-on boot information.

[0047] S23. The baseboard management controller determines whether the host central processing unit failed to boot from the firmware image in the main basic input / output system flash memory or the main system control processor flash memory during the last power-on.

[0048] If so, proceed to step S24;

[0049] If not, proceed to step S25;

[0050] S24. The baseboard management controller logs the firmware image that failed to boot and reminds the user to update the firmware image, then returns to step S13.

[0051] S25. The baseboard management controller determines whether the firmware image version in the main basic input / output system flash memory is higher than that in the backup basic input / output system flash memory, and whether the firmware image version in the main system control processor flash memory is higher than that in the backup system control processor flash memory. If the firmware image versions in the main basic input / output system flash memory and the main system control processor flash memory are higher, the controller updates the firmware image versions in the backup basic input / output system flash memory and the backup system control processor flash memory. The baseboard management controller stores the firmware image versions in the main basic input / output system flash memory, the backup basic input / output system flash memory, the main system control processor flash memory, and the backup system control processor flash memory through storage units. The storage units can use EEPROM, SD cards, and eMMC storage media. The active state of the firmware image refers to the usage state of the firmware image in the flash memory during the central processing unit's boot process.

[0052] Furthermore, the specific steps of step S22 are as follows:

[0053] S221. After the host central processing unit is successfully powered on, the baseboard management controller actively polls the four flag bits of the complex programmable logic device;

[0054] S222. The baseboard management controller determines, based on the first flag bit, whether the host central processing unit boots from the main basic input / output system flash memory or the firmware image in the backup basic input / output system flash memory;

[0055] S223. The baseboard management controller determines, based on the fourth flag bit, whether the host central processing unit starts up with the main system control processor flash memory or the firmware image in the backup system control processor flash memory;

[0056] S224. The baseboard management controller determines whether the host central processing unit is booting normally based on the combination of the second and third flag bits. If it is not booting normally, the problem is either with the main basic input / output system flash memory or with the firmware image in the main system control processor flash memory.

[0057] Furthermore, the specific steps of step S25 are as follows:

[0058] S251. The baseboard management controller determines whether the main basic input / output system flash memory is higher than the basic input / output system firmware image version in the backup basic input / output system flash memory;

[0059] If so, proceed to step S252;

[0060] If not, proceed to step S254;

[0061] S252. The baseboard management controller determines that the basic input / output system firmware image in the main basic input / output system flash memory was upgraded before the host central processing unit was powered on;

[0062] S253. The baseboard management controller updates the basic input / output system firmware image in the backup basic input / output system flash memory to the same version as that in the main basic input / output system flash memory;

[0063] S254. The baseboard management controller determines whether the flash memory of the main system control processor is higher than the firmware image version of the system control processor in the flash memory of the backup system control processor;

[0064] If so, proceed to step S255;

[0065] If not, return to step S13;

[0066] S255. The baseboard management controller determines that the system control processor firmware image in the main system control processor flash memory was upgraded before the host central processing unit was powered on;

[0067] S256. The baseboard management controller updates the system control processor firmware image in the backup system control processor flash memory to the same version as that in the main system control processor flash memory, and returns to step S13. When the firmware image in the main flash memory has been upgraded, the version in the main flash memory will be higher than that in the backup flash memory. Updating the backup flash memory ensures that the backup flash memory contains the latest bootable image version, so that if the image in the main flash memory fails to boot next time, it can sequentially switch to the newer version of the backup image.

[0068] Thirdly, the present invention provides a unified firmware management device for servers, comprising:

[0069] The host central processing unit boot control module is used to select the matching basic input / output system firmware image and system control processor firmware image for booting according to the power-on status of the host central processing unit, and to record the currently booted primary and backup firmware images.

[0070] The firmware image upgrade module is used to control the upgrade of the firmware image corresponding to the basic input / output system and the system control processor, record the firmware image version after the upgrade, and update the corresponding firmware image according to the currently booted primary and backup firmware images after the host central processing unit has completed the boot process.

[0071] Furthermore, the host central processing unit boot control module includes a basic input / output system main and backup flash memory configuration unit, a system control processor main and backup flash memory configuration unit, and complex programmable logic devices;

[0072] The complex programmable logic device includes a boot firmware image selection unit and a boot firmware image recording unit;

[0073] The Elementary Input / Output System (API) primary and backup flash memory configuration unit is used to pre-configure the primary API flash memory and backup API flash memory for the API firmware, and to store the API firmware image in the two API flash memory.

[0074] The system control processor primary and backup flash memory configuration unit is used to pre-configure the primary system control processor flash memory and backup system control processor flash memory for the system control processor firmware, and to store the system control processor firmware image in the two system control processor flash memories;

[0075] The firmware image selection unit is used to select the firmware image in the main basic input / output system flash memory and the main system control processor flash memory for booting, or select the firmware image in the backup basic input / output system flash memory and the backup system control processor flash memory for booting, depending on the power-on status of the host central processing unit.

[0076] The firmware image recording unit is used to record the basic input / output system and system control processor primary and backup firmware images used by the host central processing unit during startup.

[0077] Furthermore, the firmware image upgrade module includes:

[0078] The upgrade control recording unit is used to control the independent upgrade of the firmware images of the main basic input / output system flash memory, the backup basic input / output system flash memory, and the system control processor firmware images of the main system control processor flash memory and the backup system control processor flash memory, and to record the firmware image version in each flash memory after the upgrade and the active status of each firmware image.

[0079] The firmware image query unit is used to query the firmware image used by the host CPU for booting and power-on information after the host CPU has successfully booted.

[0080] The main firmware uses a judgment unit to determine whether the host central processing unit failed to boot from the firmware image in the main basic input / output system flash memory or the main system control processor flash memory during the last power-on.

[0081] The firmware image boot failure recording unit is used to log the firmware image that failed to boot when there is a firmware image in the main basic input / output system flash memory or the main system control processor flash memory. It also reminds users to update the firmware image.

[0082] The backup firmware image update unit is used to determine whether the firmware image version in the main BIOS flash memory is higher than that in the backup BIOS flash memory, and whether the firmware image version in the main system control processor flash memory is higher than that in the backup system control processor flash memory. If the firmware image versions in the main BIOS flash memory and the main system control processor flash memory are higher, the unit updates the firmware image versions in both. The firmware image upgrade module is located in the baseboard management controller.

[0083] Fourthly, the present invention provides a device,

[0084] Including processor and memory;

[0085] The memory is used to store a computer program, and the processor is used to retrieve and run the computer program from the memory, causing the device to perform the method described in the second aspect above.

[0086] Fifthly, the present invention provides a storage medium,

[0087] The storage medium stores instructions that, when run on a computer, cause the computer to perform the method described in the second aspect above.

[0088] The beneficial effects of this invention are as follows:

[0089] The server unified firmware management system, method, apparatus, equipment and medium provided by the present invention unifies the matching boot and upgrade of BIOS firmware and SCP firmware, with high upgrade efficiency, ensuring that both firmware can be successfully booted, and guaranteeing the stable operation of the server.

[0090] Furthermore, the design principle of this invention is reliable, the structure is simple, and it has a very wide range of application prospects.

[0091] Therefore, it is evident that the present invention has outstanding substantive features and significant progress compared with the prior art, and the beneficial effects of its implementation are also obvious. Attached Figure Description

[0092] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0093] Figure 1 This is a schematic diagram of the server unified firmware management system of the present invention.

[0094] Figure 2This is a flowchart of Embodiment 3 of the server unified firmware management method of the present invention.

[0095] Figure 3 This is a flowchart of Embodiment 4 of the server unified firmware management method of the present invention.

[0096] Figure 4 This is a schematic diagram of the process by which the CPLD selects the primary and backup firmware images based on the power-on status.

[0097] Figure 5 This is a schematic diagram of the server unified firmware management system device of the present invention.

[0098] In the diagram, 1-BMC; 2-CPLD; 3-Main BIOS flash memory; 4-Backup BIOS flash memory; 5-Main SCP flash memory; 6-Backup SCP flash memory; 7-Host CPU; 8-Host CPU boot control module; 8.1-BIOS main / backup flash memory configuration unit; 8.2-SCP main / backup flash memory configuration unit; 8.3-Boot firmware image selection unit; 8.4-Boot firmware image recording unit; 9-Firmware image upgrade module; 9.1-Upgrade control recording unit; 9.2-Boot firmware image query unit; 9.3-Main firmware usage judgment unit; 9.4-Boot failure firmware image recording unit; 9.5-Backup firmware image update unit. Detailed Implementation

[0099] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this invention.

[0100] Example 1:

[0101] like Figure 1 As shown, the present invention provides a unified firmware management system for servers, including BMC 1, CPLD 2, main BIOS flash memory 3, backup BIOS flash memory 4, main SCP flash memory 5, backup SCP flash memory 6 and host CPU 7;

[0102] BMC 1 is connected to the main BIOS flash memory 3, the backup BIOS flash memory 4, the main SCP flash memory 5, and the backup SCP flash memory 6.

[0103] CPLD 2 is connected to the main BIOS flash memory 3, the backup BIOS flash memory 4, the main SCP flash memory 5, and the backup SCP flash memory 6.

[0104] CPLD 3 is also connected to BMC 1 and host CPU 7;

[0105] The main BIOS flash memory 3 stores the main BIOS firmware image, and the backup BIOS flash memory 4 stores the backup BIOS firmware image.

[0106] The main SCP flash memory 5 stores the main SCP firmware image, and the backup SCP flash memory 6 stores the backup SCP firmware image.

[0107] CPLD 3 selects the matching BIOS firmware image and SCP firmware image for booting based on the power-on status of the host CPU 7, and records the currently booted primary and backup firmware images.

[0108] BMC 1 controls the upgrade of BIOS firmware image and SCP firmware image, records the firmware image version in flash memory, and updates the corresponding firmware image according to the currently booted primary and backup firmware images after the host CPU7 completes boot.

[0109] Example 2:

[0110] like Figure 1 As shown, the present invention provides a unified firmware management system for servers, including BMC 1, CPLD 2, main BIOS flash memory 3, backup BIOS flash memory 4, main SCP flash memory 5, backup SCP flash memory 6 and host CPU 7;

[0111] BMC 1 is connected to the main BIOS flash memory 3, the backup BIOS flash memory 4, the main SCP flash memory 5, and the backup SCP flash memory 6.

[0112] CPLD 2 is connected to the main BIOS flash memory 3, the backup BIOS flash memory 4, the main SCP flash memory 5, and the backup SCP flash memory 6.

[0113] CPLD 3 is also connected to BMC 1 and host CPU 7;

[0114] The main BIOS flash memory 3 stores the main BIOS firmware image, and the backup BIOS flash memory 4 stores the backup BIOS firmware image.

[0115] The main SCP flash memory 5 stores the main SCP firmware image, and the backup SCP flash memory 6 stores the backup SCP firmware image.

[0116] CPLD3 selects the matching BIOS firmware image and SCP firmware image for booting based on the power-on status of the host CPU7, and records the currently booted primary and backup firmware images.

[0117] BMC 1 controls the upgrade of BIOS firmware image and SCP firmware image, records the firmware image version in flash memory, and updates the corresponding firmware image according to the currently booted primary and backup firmware images after the host CPU7 completes the boot process.

[0118] BMC 1 is also connected to storage units and a remote server;

[0119] The storage unit is used by BMC 1 to record the firmware image version and the active status of each firmware image in the main BIOS flash memory 3, backup BIOS flash memory 4, main SCP flash memory 5 and backup SCP flash memory 6.

[0120] BMC 1 connects to a remote server via an external interface, providing the server with firmware image version information from the main BIOS flash memory 3, backup BIOS flash memory 4, main SCP flash memory 5, and backup SCP flash memory 6. BMC 1 stores the BIOS firmware image versions from the main BIOS flash memory 3 and backup BIOS flash memory 4, and the SCP firmware image versions from the main SCP flash memory 5 and backup SCP flash memory 6 through storage units; the storage units can use EEPROM, SD cards, and eMMC storage media; external interfaces include a web interface, an IPMI interface, and a Redfish interface.

[0121] Example 3:

[0122] like Figure 2 As shown, the present invention provides a unified firmware management method for servers, comprising the following steps:

[0123] S1. Select the matching BIOS firmware image and SCP firmware image for booting based on the power-on status of the host CPU, and record the currently booted primary and backup firmware images;

[0124] S2. Control the upgrade of the firmware image corresponding to the BIOS and SCP, record the firmware image version after the upgrade, and update the corresponding firmware image according to the currently booted primary and backup firmware images after the host CPU completes the boot process.

[0125] Example 4:

[0126] like Figure 3 As shown, the present invention provides a unified firmware management method for servers, comprising the following steps:

[0127] S1. Select the matching BIOS firmware image and SCP firmware image for booting based on the power-on status of the host CPU, and record the currently booted primary and backup firmware images; the specific steps of step S1 are as follows:

[0128] S11. Configure the primary BIOS flash memory and backup BIOS flash memory for the BIOS firmware in advance, and store the BIOS firmware image in the two BIOS flash memory;

[0129] S12. Configure the primary SCP flash memory and backup SCP flash memory in advance for the SCP firmware, and store the SCP firmware image in both SCP flash memory;

[0130] S13. The CPLD selects either the firmware image in the main BIOS flash memory and the main SCP flash memory for booting or the firmware image in the backup BIOS flash memory and the backup SCP flash memory for booting, depending on the power-on status of the host CPU.

[0131] S14.CPLD records the BIOS and SCP primary and backup firmware images used by the host CPU during startup;

[0132] S2. Control the upgrade of the firmware image corresponding to the BIOS and SCP, record the firmware image version after the upgrade, and update the corresponding firmware image according to the currently booting primary and backup firmware images after the host CPU completes the boot process; the specific steps of step S2 are as follows:

[0133] S21.BMC controls the independent upgrade of the BIOS firmware image in the main BIOS flash memory and the backup BIOS flash memory, as well as the SCP firmware image in the main SCP flash memory and the backup SCP flash memory, and records the firmware image version in each flash memory after the upgrade and the active status of each firmware image.

[0134] S22. After the host CPU successfully boots up, the BMC queries the CPLD for the primary and backup firmware images used by the host CPU for booting up and the power-on boot information;

[0135] S23.BMC determines whether the host CPU failed to boot from the firmware image in the main BIOS flash memory or main SCP flash memory during the last power-on;

[0136] If so, proceed to step S24;

[0137] If not, proceed to step S25;

[0138] S24.BMC logs the firmware image that failed to boot and reminds users to update the firmware image, then returns to step S13;

[0139] S25. The BMC determines whether the firmware image version in the primary BIOS flash memory is higher than that in the backup BIOS flash memory, and whether the firmware image version in the primary SCP flash memory is higher than that in the backup SCP flash memory. If the firmware image version in the primary BIOS flash memory and the primary SCP flash memory is higher, the BMC updates the firmware image versions in the backup BIOS flash memory and the backup SCP flash memory. The BMC stores the BIOS firmware image versions in the primary BIOS flash memory and the backup BIOS flash memory, as well as the SCP firmware image versions in the primary SCP flash memory and the backup SCP flash memory, through storage units; the storage units can use EEPROM, SD cards, and eMMC storage media. The active status of the firmware image refers to the usage status of the firmware image in the flash memory during CPU boot.

[0140] In some embodiments, such as Figure 4 As shown, the specific steps of step S13 are as follows:

[0141] S131. The CPLD determines whether the host CPU is starting up for the first time after power-on;

[0142] If so, proceed to step S133;

[0143] If not, proceed to step S132;

[0144] S132.CPLD uses the BIOS firmware image in the BIOS flash memory used during the last normal boot and the SCP firmware image in the SCP flash memory to boot the host CPU and proceed to step S2.

[0145] S133.CPLD selects the BIOS firmware image in the main BIOS flash memory and selects the SCP firmware image in the main SCP flash memory to match and boot the host CPU;

[0146] S134. The CPLD determines whether the host CPU has successfully booted up;

[0147] If so, proceed to step S14;

[0148] If not, proceed to step S135;

[0149] S135.CPLD selects the BIOS firmware image in the backup BIOS flash memory and the SCP firmware image in the backup SCP flash memory for the host CPU to match and boot.

[0150] In some embodiments, step S14 specifically includes the following steps:

[0151] S141. The CPLD pre-sets the first flag bit, the second flag bit, the third flag bit, and the fourth flag bit;

[0152] S142.CPLD uses the first flag bit to record the BIOS flash memory used by the host CPU for booting, and the fourth flag bit to record the SCP flash memory used by the host CPU for booting.

[0153] S143.CPLD determines whether there is a boot failure during the host CPU boot process by checking the power-on timing sequence, and when a boot failure occurs, it determines whether the failure is due to the BIOS firmware image or the SCP firmware image.

[0154] The S144.CPLD uses a combination of the second and third flag bits to record whether the host CPU boots normally and the firmware image that failed to boot. The CPLD records whether the firmware image used for booting is from the main BIOS flash memory, the main SCP flash memory, or the backup BIOS flash memory or the backup SCP flash memory. In the event of a boot failure, it records whether the firmware image that failed to boot is from the main BIOS flash memory or the main SCP flash memory.

[0155] In some embodiments, step S22 specifically includes the following steps:

[0156] S221. After the host CPU successfully boots up, the BMC actively polls the four flag bits of the CPLD;

[0157] S222.BMC determines whether the host CPU boots from the main BIOS flash memory or the firmware image in the backup BIOS flash memory based on the first flag bit.

[0158] S223.BMC determines whether the host CPU boots from the main SCP flash memory or the firmware image in the backup SCP flash memory based on the fourth flag bit.

[0159] S224.BMC determines whether the host CPU boots up normally based on the combination of the second and third flag bits. If it is not normal, it is either the main BIOS flash memory or the firmware image in the main SCP flash memory that is abnormal.

[0160] In some embodiments, step S25 specifically includes the following steps:

[0161] S251.BMC determines whether the main BIOS flash memory version is higher than the BIOS firmware image version in the backup BIOS flash memory;

[0162] If so, proceed to step S252;

[0163] If not, proceed to step S254;

[0164] S252.BMC determined that the BIOS firmware image in the main BIOS flash memory had been upgraded before the host CPU booted up;

[0165] S253.BMC updates the BIOS firmware image in the backup BIOS flash memory to the same version as that in the main BIOS flash memory;

[0166] S254.BMC determines whether the primary SCP flash memory version is higher than the SCP firmware image version in the backup SCP flash memory;

[0167] If so, proceed to step S255;

[0168] If not, return to step S13;

[0169] S255.BMC determined that the SCP firmware image in the main SCP flash memory had been upgraded before the host CPU was powered on.

[0170] S256.BMC updates the SCP firmware image in the backup SCP flash memory to the same version as the one in the primary SCP flash memory, and returns to step S13. If the firmware image in the primary flash memory has been upgraded, the version in the primary flash memory will be higher than the firmware image version in the backup flash memory. Updating the backup flash memory ensures that the backup flash memory contains the latest bootable image version, so that if the image in the primary flash memory fails to boot next time, it can sequentially switch to the newer version of the backup image.

[0171] Example 5:

[0172] like Figure 5 As shown, the present invention provides a unified firmware management device for servers, comprising:

[0173] The host CPU boot control module 8 is used to select the matching BIOS firmware image and SCP firmware image for booting according to the power-on status of the host CPU, and to record the currently booted primary and backup firmware images.

[0174] Firmware image upgrade module 9 is used to control the upgrade of the corresponding firmware image of BIOS and SCP, record the firmware image version after the upgrade, and update the corresponding firmware image according to the currently booted primary and backup firmware images after the host CPU completes the boot process.

[0175] Example 6:

[0176] like Figure 5 As shown, the present invention provides a unified firmware management device for servers, comprising:

[0177] The host CPU boot control module 8 is used to select the matching BIOS firmware image and SCP firmware image for booting according to the power-on status of the host CPU, and to record the currently booted primary and backup firmware images; the host CPU boot control module 8 includes a BIOS primary and backup flash memory configuration unit 8.1, an SCP primary and backup flash memory configuration unit 8.2 and a CPLD 2;

[0178] CPLD2 includes a boot firmware image selection unit 8.3 and a boot firmware image recording unit 8.4;

[0179] The BIOS primary and backup flash memory configuration unit 8.1 is used to pre-configure the primary BIOS flash memory and backup BIOS flash memory for the BIOS firmware, and to store the BIOS firmware image in both BIOS flash memory.

[0180] SCP primary and backup flash memory configuration unit 8.2 is used to pre-configure the primary SCP flash memory and backup SCP flash memory for SCP firmware, and to store SCP firmware images in both SCP flash memory;

[0181] The firmware image selection unit 8.3 is used to select the firmware image in the main BIOS flash memory and the main SCP flash memory for booting or select the firmware image in the backup BIOS flash memory and the backup SCP flash memory for booting, depending on the power-on status of the host CPU.

[0182] Startup uses firmware image recording unit 8.4 to record the BIOS and SCP primary and backup firmware images used by the host CPU during startup;

[0183] Firmware image upgrade module 9 is used to control the upgrade of the firmware image corresponding to the BIOS and SCP, record the firmware image version after the upgrade, and update the corresponding firmware image according to the currently booted primary and backup firmware images after the host CPU completes boot; Firmware image upgrade module 9 includes:

[0184] The upgrade control recording unit 9.1 is used to control the independent upgrade of the BIOS firmware image in the main BIOS flash memory and the backup BIOS flash memory and the SCP firmware image in the main SCP flash memory and the backup SCP flash memory, and to record the firmware image version in each flash memory after the upgrade and the active status of each firmware image.

[0185] The firmware image query unit 9.2 is used to query the firmware image used by the host CPU for booting and the power-on boot information from the firmware image record unit after the host CPU has successfully booted.

[0186] The main firmware uses judgment unit 9.3 to determine whether the host CPU failed to boot from the firmware image in the main BIOS flash memory or the main SCP flash memory during the last boot.

[0187] The firmware image recording unit 9.4 is used to log the firmware image that failed to boot when there is a firmware image in the main BIOS flash memory or main SCP flash memory. It also reminds users to update the firmware image.

[0188] The backup firmware image update unit 9.5 is used to determine whether the firmware image version in the main BIOS flash memory is higher than that in the backup BIOS flash memory, and whether the firmware image version in the main SCP flash memory is higher than that in the backup SCP flash memory. If the firmware image versions in the main BIOS flash memory and the main SCP flash memory are higher, the firmware image versions in the backup BIOS flash memory and the backup SCP flash memory are updated. The firmware image upgrade module 9 is located in BMC 1.

[0189] Example 7:

[0190] This invention provides a device,

[0191] Including processor and memory;

[0192] The memory is used to store computer programs, and the processor is used to call and run the computer programs from the memory, so that the device performs the method described in Embodiment 3 or Embodiment 4 above.

[0193] Example 8:

[0194] The present invention provides a storage medium storing instructions that, when run on a computer, cause the computer to perform the methods described in Embodiment 3 or Embodiment 4 above.

[0195] Although the present invention has been described in detail with reference to the accompanying drawings and preferred embodiments, the invention is not limited thereto. Various equivalent modifications or substitutions can be made to the embodiments of the invention by those skilled in the art without departing from the spirit and essence of the invention, and such modifications or substitutions should all be within the scope of the invention. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the invention should also be covered within the protection scope of the invention. Therefore, the protection scope of the invention should be determined by the scope of the claims.

Claims

1. A unified firmware management system for servers, characterized in that, It includes a baseboard management controller, complex programmable logic devices, main basic input / output system flash memory, backup basic input / output system flash memory, main system control processor flash memory, backup system control processor flash memory, and host central processing unit; The baseboard management controller is connected to the main basic input / output system flash memory, the backup basic input / output system flash memory, the main system control processor flash memory, and the backup system control processor flash memory. The complex programmable logic device is connected to the main basic input / output system flash memory, the backup basic input / output system flash memory, the main system control processor flash memory, and the backup system control processor flash memory. The complex programmable logic device is also connected to the baseboard management controller and the host central processing unit; The main basic input / output system (MBI) flash memory stores the main basic input / output system firmware image, and the backup basic input / output system (SBI) flash memory stores the backup basic input / output system firmware image. The main system control processor flash memory stores the main system control processor firmware image, and the backup system control processor flash memory stores the backup system control processor firmware image. The complex programmable logic device selects the matching basic input / output system firmware image and system control processor firmware image to start based on the power-on status of the host central processing unit, and records the currently started primary and backup firmware images. The baseboard management controller controls the upgrade of the basic input / output system firmware image and the system control processor firmware image, records the firmware image version in the flash memory, and updates the corresponding firmware image according to the currently booted primary and backup firmware images after the host central processing unit completes the boot process. The complex programmable logic device (CLPD) selects and boots the matching basic input / output system firmware image and system control processor firmware image based on the power-on status of the host central processing unit (CPU), and records the currently booted primary and backup firmware images, including: S11. Configure the primary basic input / output system flash memory and the backup basic input / output system flash memory in advance for the basic input / output system firmware, and store the basic input / output system firmware image in the two basic input / output system flash memory; S12. Configure the main system control processor flash memory and the backup system control processor flash memory in advance for the system control processor firmware, and store the system control processor firmware image in the two system control processor flash memories; S13. The complex programmable logic device selects to boot from the firmware image in the main basic input / output system flash memory and the main system control processor flash memory, or selects to boot from the backup basic input / output system flash memory and the backup system control processor flash memory, depending on the power-on status of the host central processing unit. S14. Complex programmable logic device records the basic input / output system and system control processor main and backup firmware image used by the host central processing unit during power-on startup; The specific steps of step S13 are as follows: S131. Complex programmable logic device determines whether the host central processing unit is starting up for the first time after power-on; If so, proceed to step S133; If not, proceed to step S132; S132. The complex programmable logic device uses the basic input / output system firmware image in the flash memory of the basic input / output system used during the last normal startup, and the system control processor firmware image in the flash memory of the system control processor to start the host central processing unit, and proceeds to step S2. S133. The complex programmable logic device selects the basic input / output system firmware image in the main basic input / output system flash memory and selects the system control processor firmware image in the main system control processor flash memory to match and start the host central processing unit. S134. Complex programmable logic devices determine whether the host central processing unit has successfully started up; If so, proceed to step S14; If not, proceed to step S135; S135. The complex programmable logic device selects a basic input / output system firmware image in the backup basic input / output system flash memory for the host central processing unit, and selects a system control processor firmware image in the backup system control processor flash memory for matching and booting.

2. The server unified firmware management system as described in claim 1, characterized in that, The baseboard management controller is also connected to a storage unit and a remote server; The storage unit is used by the baseboard management controller to record the firmware image versions and the active status of each firmware image in the main basic input / output system flash memory, the backup basic input / output system flash memory, the main system control processor flash memory, and the backup system control processor flash memory. The baseboard management controller connects to a remote server via an external interface, providing the remote server with firmware image version information for the main BIOS flash memory, backup BIOS flash memory, main system control processor flash memory, and backup system control processor flash memory.

3. A unified firmware management method for servers, characterized in that, Includes the following steps: S1. Select the matching basic input / output system firmware image and system control processor firmware image for startup based on the power-on status of the host central processing unit, and record the currently started primary and backup firmware images. S2. Control the upgrade of the firmware image corresponding to the basic input / output system and system control processor, record the firmware image version after the upgrade, and update the corresponding firmware image according to the currently started primary and backup firmware images after the host central processing unit completes the startup. The specific steps of step S1 are as follows: S11. Configure the primary basic input / output system flash memory and the backup basic input / output system flash memory in advance for the basic input / output system firmware, and store the basic input / output system firmware image in the two basic input / output system flash memory; S12. Configure the main system control processor flash memory and the backup system control processor flash memory in advance for the system control processor firmware, and store the system control processor firmware image in the two system control processor flash memories; S13. The complex programmable logic device selects to boot from the firmware image in the main basic input / output system flash memory and the main system control processor flash memory, or selects to boot from the backup basic input / output system flash memory and the backup system control processor flash memory, depending on the power-on status of the host central processing unit. S14. Complex programmable logic device records the basic input / output system and system control processor main and backup firmware image used by the host central processing unit during power-on startup; The specific steps of step S13 are as follows: S131. Complex programmable logic device determines whether the host central processing unit is starting up for the first time after power-on; If so, proceed to step S133; If not, proceed to step S132; S132. The complex programmable logic device uses the basic input / output system firmware image in the flash memory of the basic input / output system used during the last normal startup, and the system control processor firmware image in the flash memory of the system control processor to start the host central processing unit, and proceeds to step S2. S133. The complex programmable logic device selects the basic input / output system firmware image in the main basic input / output system flash memory and selects the system control processor firmware image in the main system control processor flash memory to match and start the host central processing unit. S134. Complex programmable logic devices determine whether the host central processing unit has successfully started up; If so, proceed to step S14; If not, proceed to step S135; S135. The complex programmable logic device selects a basic input / output system firmware image in the backup basic input / output system flash memory for the host central processing unit, and selects a system control processor firmware image in the backup system control processor flash memory for matching and booting.

4. The server unified firmware management method as described in claim 3, characterized in that, The specific steps of step S2 are as follows: S21. The baseboard management controller controls the independent upgrade of the firmware images of the main basic input / output system flash memory, the backup basic input / output system flash memory, and the system control processor firmware images of the main system control processor flash memory and the backup system control processor flash memory, and records the firmware image version in each flash memory after the upgrade and the active status of each firmware image. S22. After the host CPU successfully boots up, the baseboard management controller queries the complex programmable logic device for the main and backup firmware images used by the host CPU for booting up and the power-on boot information. S23. The baseboard management controller determines whether the host central processing unit failed to boot from the firmware image in the main basic input / output system flash memory or the main system control processor flash memory during the last power-on. If so, proceed to step S24; If not, proceed to step S25; S24. The baseboard management controller logs the firmware image that failed to boot and reminds the user to update the firmware image, then returns to step S13. S25. The baseboard management controller determines whether the firmware image version of the main basic input / output system flash memory is higher than that of the basic input / output system flash memory of the backup basic input / output system, and whether the firmware image version of the main system control processor flash memory is higher than that of the system control processor flash memory of the backup system control processor. If the firmware image versions of the main basic input / output system flash memory and the main system control processor flash memory are higher, the firmware image versions of the backup basic input / output system flash memory and the backup system control processor flash memory are updated.

5. The server unified firmware management method as described in claim 4, characterized in that, The specific steps of step S25 are as follows: S251. The baseboard management controller determines whether the main basic input / output system flash memory is higher than the basic input / output system firmware image version in the backup basic input / output system flash memory; If so, proceed to step S252; If not, proceed to step S254; S252. The baseboard management controller determines that the basic input / output system firmware image in the main basic input / output system flash memory was upgraded before the host central processing unit was powered on; S253. The baseboard management controller updates the basic input / output system firmware image in the backup basic input / output system flash memory to the same version as that in the main basic input / output system flash memory; S254. The baseboard management controller determines whether the flash memory of the main system control processor is higher than the firmware image version of the system control processor in the flash memory of the backup system control processor; If so, proceed to step S255; If not, return to step S13; S255. The baseboard management controller determines that the system control processor firmware image in the main system control processor flash memory was upgraded before the host central processing unit was powered on; S256. The baseboard management controller updates the system control processor firmware image in the backup system control processor flash memory to the same version as that in the main system control processor flash memory, and returns to step S13.

6. A unified firmware management device for servers, characterized in that, include: The host central processing unit boot control module is used to select the matching basic input / output system firmware image and system control processor firmware image for booting according to the power-on status of the host central processing unit, and to record the currently booted primary and backup firmware images. The firmware image upgrade module is used to control the upgrade of the firmware image corresponding to the basic input / output system and the system control processor, record the firmware image version after the upgrade, and update the corresponding firmware image according to the currently started primary and backup firmware images after the host central processing unit completes the boot process. The step of selecting and booting a matching Basic Input / Output System firmware image and a System Control Processor firmware image based on the power-on status of the host CPU, and recording the currently booted primary and backup firmware images, includes: S11. Configure the primary basic input / output system flash memory and the backup basic input / output system flash memory in advance for the basic input / output system firmware, and store the basic input / output system firmware image in the two basic input / output system flash memory; S12. Configure the main system control processor flash memory and the backup system control processor flash memory in advance for the system control processor firmware, and store the system control processor firmware image in the two system control processor flash memories; S13. The host CPU boot control module selects either the firmware image in the main BIOS flash memory and the main system control processor flash memory for booting or the firmware image in the backup BIOS flash memory and the backup system control processor flash memory for booting, depending on the power-on status of the host CPU. S14. The host CPU startup control module records the basic input / output system and system control processor main and backup firmware images used by the host CPU during startup. The specific steps of step S13 are as follows: S131. The host CPU startup control module determines whether the host CPU is starting up for the first time after power-on; If so, proceed to step S133; If not, proceed to step S132; S132. The host CPU boot control module uses the basic input / output system firmware image in the basic input / output system flash memory and the system control processor firmware image in the system control processor flash memory to boot the host CPU, and proceeds to step S2. S133. The host CPU boot control module selects the basic input / output system firmware image in the main basic input / output system flash memory and selects the system control processor firmware image in the main system control processor flash memory to match and boot the host CPU. S134. The host CPU startup control module determines whether the host CPU has successfully started up. If so, proceed to step S14; If not, proceed to step S135; S135. The host CPU boot control module selects the basic input / output system firmware image in the backup basic input / output system flash memory and the system control processor firmware image in the backup system control processor flash memory for matching and booting.

7. A device, characterized in that, Including processor and memory; The memory is used to store a computer program, and the processor is used to retrieve and run the computer program from the memory, causing the device to perform the method described in any one of claims 3-5.

8. A storage medium, characterized in that, The storage medium stores instructions that, when run on a computer, cause the computer to perform the method described in any one of claims 3-5.