Firmware upgrade system, method, computing device and electronic device
By dividing the baseboard management controller into multiple management units and using CPLD for parallel firmware file transmission, the problem of low firmware upgrade efficiency in hardware partitioning system is solved, and efficient and low-cost firmware upgrade is achieved.
Patent Information
- Application Number
- CN202510866978.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-26
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-06-26
AI Technical Summary
In a hardware partitioning system, the number of peripheral ports of a single BMC is limited, resulting in inefficient firmware upgrades and increased hardware development costs.
The baseboard management controller is divided into multiple management units corresponding to the hardware partitions, and parallel firmware file transmission is achieved through multiple peripheral expansion ports of the control module, and parallel upgrade management is performed using complex programmable logic devices (CPLDs).
It improves the firmware upgrade efficiency of hardware partitions, reduces hardware development costs, simplifies the BIOS upgrade process, and improves the economy and maintainability of the system.
Smart Images

Figure CN120371357B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a firmware upgrade system, method, computing device, electronic device, and storage medium. Background Art
[0002] Currently, servers and other computing devices, in scenarios with high real-time requirements, typically run operating systems on physical machines. As the efficiency of responding to user requests from computing devices continues to improve, hardware partitioning technology has emerged. This technology splits the hardware system of a computing device into multiple partitions, each of which contains a complete set of key components such as computing, storage, networking, and cooling.
[0003] In related technologies, a baseboard management controller (BMC) is usually used to implement management operations such as firmware upgrades for core components in each hardware partition. However, a single BMC has a limited number of peripheral ports for firmware upgrade operations, which reduces the firmware upgrade efficiency of the hardware partition. If a BMC is configured for each hardware partition, it will cause excess BMC resources and increase the hardware development cost of the computing device. Summary of the Invention
[0004] The present application provides a firmware upgrade system, method, computing device, and electronic device to at least solve the problem in the related art of reducing the firmware upgrade efficiency and hardware development cost of hardware partitions.
[0005] The present application provides a firmware upgrade system, comprising: a baseboard management controller and a control module; the baseboard management controller comprises a plurality of management units, and the management units correspond one to one with the hardware partitions;
[0006] Any management unit in the baseboard management controller is used as a core unit to obtain the target firmware file of each hardware partition and cache the target firmware file of each hardware partition to a preset cache through a peripheral port;
[0007] The control module is used to obtain the target firmware file of each hardware partition from a preset buffer, and send the target firmware file of each hardware partition to the corresponding hardware partition in parallel based on a plurality of preset peripheral expansion ports, so that each hardware partition performs a firmware upgrade on the core component based on the target firmware file;
[0008] The control module is provided with a plurality of peripheral expansion ports, and the port attributes of the peripheral expansion ports are the same as those of the peripheral ports on the baseboard management controller.
[0009] This application also provides a firmware upgrade method, which is applied to any of the above-mentioned firmware upgrade systems, and the method includes:
[0010] Obtain the target firmware file for each hardware partition;
[0011] caching the target firmware files of each hardware partition into a preset buffer via a peripheral port;
[0012] Based on the control module, the target firmware file of each hardware partition is obtained from the preset cache, so that the control module sends the target firmware file of each hardware partition to the corresponding hardware partition in parallel based on the preset multiple peripheral expansion ports, so that each hardware partition upgrades the firmware of the core component based on the target firmware file.
[0013] The present application also provides a firmware upgrade device, which is applied to any of the above-mentioned firmware upgrade systems, and the device includes:
[0014] An acquisition module is used to obtain the target firmware file of each hardware partition;
[0015] A cache module, configured to cache the target firmware files of each hardware partition into a preset cache via a peripheral port;
[0016] The upgrade module is used to obtain the target firmware files of each hardware partition from the preset cache based on the control module, so that the control module can send the target firmware files of each hardware partition to the corresponding hardware partition in parallel based on the preset multiple peripheral expansion ports, so that each hardware partition can upgrade the firmware of the core components based on the target firmware files.
[0017] The present application also provides a computing device, comprising: a hardware partition system composed of a plurality of hardware partitions and a firmware upgrade system as described above;
[0018] Each hardware partition integrates core components and basic components.
[0019] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned firmware upgrade methods when executing the computer program.
[0020] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned firmware upgrade methods are implemented.
[0021] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned firmware upgrade methods when executed by a processor.
[0022] Through this application, since the baseboard management controller is divided into multiple management units corresponding to the hardware partitions one by one, any one management unit is selected as the core unit from the multiple management units, the target firmware file of each hardware partition is obtained and cached in a preset cache, the control module reads the target firmware file of each hardware partition from the preset cache, and the target firmware file of each hardware partition is sent in parallel to the corresponding hardware partition through the multiple peripheral expansion ports provided in the control module. That is, this application realizes parallel firmware upgrades for multiple hardware partitions based on one baseboard management controller, which improves the firmware upgrade efficiency of the hardware partitions while reducing the hardware development cost. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0024] Figure 1 A schematic diagram of the interaction flow of the firmware upgrade system provided in an embodiment of the present application;
[0025] Figure 2 A schematic diagram of the structure of the firmware upgrade system provided in an embodiment of the present application;
[0026] Figure 3 A schematic diagram of an exemplary interaction flow of a firmware upgrade system provided in an embodiment of the present application;
[0027] Figure 4 A flowchart of a firmware upgrade method provided in an embodiment of the present application;
[0028] Figure 5 A schematic diagram of the structure of a firmware upgrade device provided in an embodiment of the present application;
[0029] Figure 6 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0030] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0031] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0032] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0033] In recent years, with the rapid development of the semiconductor industry and integrated circuit technology, processors have become the core computing unit in fields such as cloud computing, artificial intelligence, and big data. To enable the sharing of hardware computing resources and improve the utilization of multi-core processors, virtualization technology has been widely introduced. By creating multiple virtual machines (VMs) on the processor hardware platform, each running an independent operating system, efficient resource allocation and management is achieved. However, VM-based operating systems often struggle to meet the stringent real-time requirements of businesses due to the additional overhead introduced by VM management. Therefore, in scenarios with high real-time requirements, operating systems are often run on dedicated physical machines, known as "bare metal" mode. This processor usage approach can significantly reduce business processing latency, better meeting the needs of high-performance computing.
[0034] In the server industry, with the increasing demand for flexible resource allocation, hardware partitioning technology for general-purpose host systems has emerged. By partitioning a single server into two or even multiple physical host systems, each partition can independently host and provide services. Traditional hardware partitioning systems typically require a complete set of key components, including compute, storage, networking, and cooling, and each hardware partition is configured with a Baseboard Management Console (BMC), i.e., a multi-BMC management model. This multi-BMC-managed hardware partitioning system architecture often suffers from excessive BMC resources, low resource efficiency, and high system costs. However, since each BMC only needs to connect to one BIOS in the hardware partition via the SPI interface to implement out-of-band BIOS updates, there is no interface shortage. However, the management of multiple hardware partition systems by a single BMC chip is limited due to the limited SPI interface of existing BMC chips. Typically, a single BMC chip only has enough SPI interface to connect to the BIOS of one hardware partition.
[0035] To solve the above technical problems, the embodiments of the present application provide a firmware upgrade system, method, computing device and electronic device, which divides the baseboard management controller into multiple management units corresponding to the hardware partitions one by one, selects any one management unit from the multiple management units as the core unit, obtains the target firmware file of each hardware partition and caches it in a preset cache, and the control module reads the target firmware file of each hardware partition from the preset cache, and sends the target firmware file of each hardware partition in parallel to the corresponding hardware partition through the multiple peripheral expansion ports provided in the control module. That is, the present application realizes parallel firmware upgrade of multiple hardware partitions based on one baseboard management controller, which improves the firmware upgrade efficiency of the hardware partitions and reduces the hardware development cost.
[0036] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0037] An embodiment of the present application provides a firmware upgrade system for efficiently upgrading the firmware of multiple hardware partitions.
[0038] like Figure 1 As shown, it is a schematic diagram of the interaction process of the firmware upgrade system provided in an embodiment of the present application, the system includes: a baseboard management controller and a control module; the baseboard management controller includes multiple management units, and the management units correspond one-to-one to the hardware partitions.
[0039] Among them, any management unit in the baseboard management controller is used as a core unit to obtain the target firmware file of each hardware partition, and cache the target firmware file of each hardware partition to a preset buffer through the peripheral port; the control module is used to obtain the target firmware file of each hardware partition from the preset buffer, and send the target firmware file of each hardware partition to the corresponding hardware partition in parallel based on multiple preset peripheral expansion ports, so that each hardware partition can upgrade the firmware of the core component based on the target firmware file;
[0040] The control module is provided with a plurality of peripheral expansion ports, and the port attributes of the peripheral expansion ports are the same as those of the peripheral ports on the baseboard management controller.
[0041] It should be noted that the control module can specifically be implemented as a Complex Programmable Logic Device (CPLD). In the embodiments of this application, the control module serves to expand peripheral ports. Peripheral ports include Serial Peripheral Interface (SPI) ports. A BMC typically has only one SPI port. The core component of the hardware partition is the Basic Input Output System (BIOS), which performs core operations such as hardware initialization and hardware detection on the hardware partition.
[0042] Specifically, the BMC (Baseboard Management Controller) management unit (BMC) with a multi-core processor is first divided into multiple independent partitions, including Core1, Core2, ..., CoreN. Each partition is a management unit, and each partition independently runs its own management system, responsible for monitoring and managing a hardware partition. Any of the Core1, Core2, ..., CoreN partitions is selected as a core unit. For example, Core1 is selected as the core unit. The core unit has firmware upgrade capabilities relative to other management units. The core unit can obtain target firmware files, such as BIOS firmware images, for each hardware partition and cache the firmware files in a preset buffer (such as an external EEPROM) via a peripheral port (such as an SPI interface). The control module integrates multiple peripheral expansion ports (such as an SPI interface), which correspond one-to-one with the hardware partitions. After the main control module reads the target firmware file from the preset buffer, it sends the target firmware file to the corresponding hardware partition via the peripheral expansion port corresponding to each hardware partition.
[0043] Specifically, the embodiment of the present application implements the upgrade operation of the hardware partition BIOS corresponding to all other Core partitions through a core unit of a BMC, without the need to configure an additional out-of-band BIOS upgrade management chip for the system. While saving the cost of the server system, it greatly simplifies the BIOS upgrade work of the hardware partition system under the management of a single BMC, that is, there is no need for each Core partition to perform the related operations of the out-of-band BIOS upgrade. At the same time, the embodiment of the present application also makes full use of the logic of the CPLD unit that is easy to execute in parallel. By implementing multiple independent SPI masters (peripheral expansion ports) inside it, it allows all BIOS of the entire hardware partition system to be updated in parallel, greatly improving the upgrade efficiency. In addition, the BMC management unit and CPLD involved in the embodiment of the present application are both inherent hardware units of the server system, and the embodiment of the present application does not need to upgrade the chip specifications of the BMC management unit, so it can significantly reduce the design cost of the server hardware partition system. This not only improves the economy of the system, but also provides important practical value for the rapid application and promotion of related technologies of the server hardware partition system.
[0044] Based on the above embodiments, Figure 2 As shown, it is a structural diagram of the firmware upgrade system provided in an embodiment of the present application. As an implementable method, in one embodiment, the core unit is provided with a network device.
[0045] The core unit receives the target firmware files of each hardware partition sent by the operation and maintenance interaction terminal based on the network device.
[0046] It should be noted that the network equipment includes network card equipment, etc. The network equipment of the core unit serves as the communication hub with the external operation and maintenance interaction module, and the external operation and maintenance interaction module includes the operation and maintenance interaction terminal.
[0047] Specifically, in one implementation, the firmware upgrade system also includes an operation and maintenance interactive terminal, which is used to determine the target firmware file corresponding to any hardware partition according to the user's firmware upgrade requirements for the core components of the hardware partition, and send the target firmware file corresponding to the hardware partition to the network device.
[0048] Specifically, the main function of the external operation and maintenance interaction module is to provide a UI interface for users to remotely upgrade the corresponding firmware of each BIOS in the hardware partition system. It consists of an operation and maintenance interaction terminal and an Internet link. The operation and maintenance interaction terminal mainly implements system login access to the BMC management unit, and then uploads the BIOS firmware (or image) file to be upgraded (the target firmware file) based on the BMC management system; the Internet link connects to the network device corresponding to the core unit in the BMC management unit to establish a file transfer channel from the operation and maintenance switching station terminal to the BMC management unit. The type of BIOS firmware to be uploaded configured by the BMC management system here is determined by the actual needs of the user. It can be either a single firmware file (in this case, the BIOS of all hardware partition systems are upgraded to the same firmware version) or different firmware files (in this case, the BIOS of different hardware partition systems correspond to different firmware files).
[0049] Specifically, the operation and maintenance interactive terminal extracts the corresponding target firmware file from the local firmware library according to the firmware upgrade requirements (firmware version) of each hardware partition issued by the user, and sends the target firmware file to the network device through the Internet link, so that the core unit can obtain the target firmware file of each hardware partition based on the network device.
[0050] Specifically, in one embodiment, the network device includes:
[0051] A network interface is used to establish a network connection with the operation and maintenance interactive terminal to receive the target firmware file in the form of an analog signal of each hardware partition sent by the operation and maintenance interactive terminal through the network connection, and send the target firmware file to the transceiver;
[0052] a transceiver, configured to convert a target firmware file in an analog signal form into a target firmware file in a digital signal form, and forward the target firmware file in the digital signal form to a network controller;
[0053] The network controller is used to encapsulate the obtained target firmware file into an upper layer data packet so that the core unit can obtain the target firmware file of each hardware partition.
[0054] Specifically, the network interface, which can be an RJ45 network connector, receives the analog signal-based target firmware files for each hardware partition, sent by the maintenance terminal via a network connection (Internet link). The transceiver (PHY chip) converts the analog electrical signal (target firmware file in analog form) into a digital bit stream, extracting a synchronous clock from the data stream to ensure data sampling accuracy. The network controller (MAC controller) encapsulates the digital bit stream (target firmware file in digital form) into a standard Ethernet frame, adding a frame header (source / destination MAC address and type field) and a frame trailer (FCS checksum). It also verifies frame integrity using the CRC-32 algorithm and discards erroneous frames. Finally, the Ethernet frame payload is encapsulated into an upper-layer data packet (IP packet), adding an IP header (source / destination IP address, etc.). The upper-layer data packet is then routed to the core unit's firmware receiving subunit based on the port number.
[0055] Among them, the network equipment converts the underlying physical signals into upper-layer data packets through a layered processing mechanism, providing a safe and reliable data transmission channel for the firmware upgrade system.
[0056] Accordingly, in one embodiment, the core unit includes:
[0057] The firmware receiving subunit is used to receive the upper-layer data packet sent by the network controller, and parse the obtained upper-layer data packet to extract the target firmware file of each hardware partition in the upper-layer data packet, and send the extracted target firmware file of each hardware partition to the firmware storage module to store the target firmware file of each hardware partition in the firmware storage module.
[0058] Specifically, after receiving the upper-layer data packet sent by the network controller, the firmware receiving sub-unit decapsulates the upper-layer data to parse the upper-layer data packet and extract valid data (target firmware file) therefrom, that is, obtains the target firmware file of each hardware partition, and sends the obtained target firmware file of each hardware partition to the firmware storage module, which is used to provide storage function in the core unit.
[0059] Specifically, in one embodiment, the core unit includes:
[0060] The firmware storage module is used to cache the target firmware files of each hardware partition into the preset buffer according to the data writing requirement of the preset buffer.
[0061] It should be noted that in the preset cache, each hardware partition is allocated an independent storage area. When the firmware storage module caches the target firmware files of each hardware partition into the preset cache, the target firmware file of each hardware partition is written into the corresponding storage area. For example, the target firmware file of hardware partition 1 is written into the storage area 1 corresponding to hardware partition 1, and so on.
[0062] Specifically, in one embodiment, the firmware storage module is further configured to perform a file integrity check on the target firmware file of any hardware partition, and cache the target firmware file to a preset cache if it is determined that the target firmware file passes the integrity check.
[0063] Specifically, the target firmware file can be integrity-verified using a preset verification algorithm, including a hash algorithm and a cyclic redundancy check algorithm. By caching the target firmware file in a preset buffer and performing an integrity check on the target firmware file, bit errors in the firmware file caused by network fluctuations or hardware failures can be effectively intercepted, improving the reliability of the target firmware file and the security of the firmware upgrade.
[0064] Specifically, in one embodiment, the firmware storage module is also used to verify the repeatability of the target firmware files of each hardware partition to screen out two or more hardware partitions with the same target firmware files, and use the two or more hardware partitions with the same target firmware files as firmware duplicate hardware partitions; in the process of caching the target firmware files of each hardware partition to a preset cache through a peripheral port, a single transmission is performed on the target firmware files of the firmware duplicate hardware partition; in the preset cache, the target firmware files of the firmware duplicate hardware partition are repeatedly written into the cache space corresponding to each firmware duplicate hardware partition.
[0065] Specifically, a unique characteristic identifier can be calculated for the target firmware file of each hardware partition, and the target firmware files of each hardware partition can be verified for duplication based on the unique characteristic identifier of each hardware partition's target firmware file. If two hardware partitions have the same unique characteristic identifier for their target firmware files, then these two hardware partitions are determined to be duplicate firmware hardware partitions. In actual applications, duplicate firmware hardware partitions can be screened based on a preset filter.
[0066] Furthermore, several firmware duplicate hardware partitions identified by unique characteristics are grouped together. For example, if hardware partitions 1, 3, and 5 have the same unique characteristic, then hardware partitions 1, 3, and 5 form duplicate group A, and the target firmware files a of hardware partitions 1, 3, and 5 are used as the target firmware files a of duplicate group A. In the process of caching the target firmware files of each hardware partition into a preset buffer via a peripheral port, the target firmware file of the duplicate group is transmitted only once to the preset buffer. In the preset buffer, the same target firmware file is written into the cache spaces of multiple hardware partitions via the address mapping mechanism of the SPI bus, that is, the target firmware file a is written into the cache space 1 corresponding to hardware partition 1, the cache space 3 corresponding to hardware partition 3, and the storage space 5 corresponding to hardware partition 5, respectively. Specifically, the address mapping mechanism of the SPI bus can be used to write the same target firmware file into the cache spaces of multiple hardware partitions.
[0067] Among them, the repetitive verification mechanism of the firmware storage module reduces the transmission volume between the core unit and the preset buffer, laying the foundation for improving the firmware upgrade efficiency of the hardware partition.
[0068] Furthermore, in one embodiment, the firmware storage module is further configured to:
[0069] After the target firmware files of each hardware partition are successfully cached in the preset cache through the peripheral port, a first status signal is sent to the control module through the status interaction interface to indicate that the preset cache has cached the target firmware files of each hardware partition.
[0070] Specifically, the status interaction interface can utilize a general-purpose input / output (GPIO) port. The firmware storage module first verifies whether the target firmware files for all hardware partitions have been successfully written to the preset cache, i.e., checks whether the storage space of each hardware partition contains a complete and verified target firmware file. If so, it determines that the target firmware files for each hardware partition have been successfully cached to the preset cache via the peripheral port, and sends a first status signal to the control module via the GPIO pin (e.g., a high level indicates success) to trigger the subsequent process of the control module.
[0071] By sending the first status signal to the control module, it is avoided that when the control module accesses the preset buffer, the target firmware file of a certain hardware partition does not exist, thereby wasting the control module's access resources to the preset buffer.
[0072] Based on the above embodiment, as an implementable manner, in one embodiment, the control module is specifically configured to:
[0073] receiving a first status signal; wherein, when the core unit determines that the preset buffer has cached the target firmware file of each hardware partition, it sends the first status signal to the control module;
[0074] In response to the first status signal, the target firmware file of each hardware partition is obtained from a preset buffer.
[0075] Specifically, when the control module receives the first state signal through the GPIO, it sends a read command to the preset buffer to obtain the target firmware file of each hardware partition from the preset buffer.
[0076] Specifically, in one embodiment, the control module includes:
[0077] The firmware reading module is used to access the preset cache through the basic peripheral expansion port in response to the first status signal to obtain the target firmware file of each hardware partition from the preset cache, and cache the obtained target firmware file of each hardware partition into the internal cache of the control module.
[0078] The basic peripheral expansion port is a dedicated port for the control module to access a preset buffer, and the internal buffer includes the memory of the control module.
[0079] Specifically, the firmware reading module accesses the preset buffer through the basic peripheral expansion port (SPI 0) in response to the first status signal. The basic peripheral expansion port on the control module is a dedicated channel for transmitting firmware files from the preset buffer to the control module. The basic peripheral expansion port is independently set. When the control module sends the target firmware file to the hardware partition through the peripheral expansion port, the basic peripheral expansion port can normally access the preset buffer. That is, the control module's reading of the target firmware file does not affect the parallel upgrade of the firmware of multiple hardware partitions.
[0080] Specifically, in one embodiment, the control module includes:
[0081] The firmware write control module is used to read the target firmware file of any hardware partition in the internal buffer, call the peripheral expansion port corresponding to the hardware partition, and send the target firmware file to the hardware partition through the peripheral expansion port.
[0082] It should be noted that the host-side hardware partition system consists of N independent hardware partitions, each of which runs an independent operating system and integrates basic components such as the CPU, network, storage, power supply, and sensors. It also includes a core component, the BIOS chip, meaning each hardware partition contains a BIOS chip. Each BIOS is responsible for hardware initialization and operating system booting for its hardware partition system. The target firmware file in the embodiments of this application is the BIOS firmware upgrade file.
[0083] Specifically, the firmware write control module serves as the execution unit of the control module and is responsible for writing the target firmware file cached in the internal cache to the corresponding hardware partition. For example, by calling SPI master 1 (peripheral expansion port 1), the target firmware file 1 is sent to hardware partition 1, and so on.
[0084] Among them, the firmware write control module maintains a storage space address mapping table inside. For example, storage space 1 corresponds to hardware partition 1, and storage space 2 corresponds to hardware partition 2. Therefore, based on the storage space address information of the target firmware file read, it can be determined which hardware partition it corresponds to, and then determine which peripheral expansion port to call to send the target firmware file to the hardware partition.
[0085] Among them, since the control module CPLD has flexible hardware programmability and is easy to implement SPI master control logic, the embodiment of the present application implements multiple SPI masters through CPLD, and further greatly improves the upgrade efficiency of the Host side hardware partition system BIOS firmware by executing these SPI masters in parallel.
[0086] Specifically, in one embodiment, the control module is further configured to return a second status signal to the core unit after sending the target firmware files of each hardware partition to the corresponding hardware partition in parallel based on the preset multiple peripheral expansion ports.
[0087] Specifically, after completing the writing of the target firmware files of all hardware partitions, the control module sends a second status signal to the core unit through the status interaction interface (GPIO) to notify the core unit that the control module has completed the corresponding firmware upgrade operation.
[0088] Specifically, in one embodiment, the core unit is also used to use the time of sending the first status signal to the control module as the starting time for timing; wherein, when the core unit receives the second status signal, the timing is stopped; when the timing result exceeds the preset timing threshold, a firmware upgrade alarm message is generated.
[0089] The preset timing threshold can be dynamically adjusted according to the complexity of the firmware upgrade. For example, the preset timing threshold is determined based on the product of the number of partitions, the average writing time of the target firmware file, and a safety factor (such as 1.5).
[0090] Specifically, when the core unit sends the first status signal, it records the current value of the system clock as the start time. It then triggers a timer via a GPIO edge to ensure that the error between the signal transmission and the start time is sufficiently small. When the timer value (timing result) exceeds a preset timing threshold, an alarm message is generated. The alarm message includes a timestamp, the ID of the hardware partition that timed out, the executed steps, and the system load.
[0091] Among them, by performing a timeout alarm based on the above embodiment, the firmware upgrade process of the hardware partition can be prevented from falling into an infinite loop, such as the hardware partition becoming unresponsive, thereby avoiding the hardware system being unavailable for a long time.
[0092] Specifically, in one embodiment, each management unit is provided with a plurality of basic ports.
[0093] The management unit is used to send the basic firmware file of the basic component to the hardware partition through the basic port when the corresponding hardware partition has any basic component to be upgraded.
[0094] Specifically, basic ports include I2C ports and UARTs, and components other than BIOS in the hardware partition are basic components. Basic components include temperature sensors and fan controllers, and the like.
[0095] Specifically, when a basic component in a hardware partition requires firmware upgrade, each management unit can independently send the basic firmware file of the basic component to the hardware partition through the basic port, thereby improving the firmware upgrade efficiency of the basic component.
[0096] For example, Figure 3 FIG. 1 is a flow chart of an exemplary firmware upgrade system interaction process according to an embodiment of the present application. The specific process is as follows:
[0097] Step 1: Log in to the BMC web management page from the operation and maintenance interactive terminal and upload the BIOS firmware image (target firmware file) of each hardware partition to the BMC management unit (baseboard management controller) through the network interface. Specifically, it is sent to the core unit of the BMC management unit.
[0098] Step 2: The BMC management unit receives the BIOS image file from the operation and maintenance terminal through the network interface through the firmware receiving module;
[0099] Step 3: The BMC management unit writes the received BIOS image file to the external EEPROM (preset buffer) through the firmware storage module via the SPI controller;
[0100] Step 4: After the write operation is completed, the BMC management unit notifies the CPLD unit (control module) of the write completion status (first status signal) through GPIO;
[0101] Step 5: The firmware reading module of the CPLD unit receives the GPIO notification signal from the BMC management unit, and then reads the image file in the EEPROM through SPI master 0;
[0102] Step 6: The firmware writing control module of the CPLD unit controls SPI master 1, SPI master 2, ..., SPI master N in parallel, and writes the read image file into the chips such as BIOS 1, BIOS 2, ..., BIOS N in the hardware partition system respectively;
[0103] Step 7: After the write operation is completed, the firmware write control module of the CPLD unit notifies the BMC unit through the GPIO that the firmware write operation is completed;
[0104] Step 8: After receiving the write operation completion signal (second status signal) from the CPLD unit through the GPIO, the BMC management unit sends the BIOS firmware upgrade success status to the operation and maintenance interactive terminal through the network interface, indicating that the entire BIOS firmware upgrade process is complete.
[0105] The firmware upgrade system provided by the embodiment of the present application includes: a baseboard management controller and a control module; the baseboard management controller includes multiple management units, and the management units correspond to hardware partitions one by one; any management unit in the baseboard management controller is used as a core unit to obtain the target firmware file of each hardware partition, and cache the target firmware file of each hardware partition to a preset buffer through a peripheral port; the control module is used to obtain the target firmware file of each hardware partition from the preset buffer, and based on multiple preset peripheral expansion ports, send the target firmware file of each hardware partition in parallel to the corresponding hardware partition, so that each hardware partition upgrades the firmware of the core component based on the target firmware file; wherein, the control module is provided with multiple peripheral expansion ports, and the port attributes of the peripheral expansion ports are the same as those of the peripheral ports on the baseboard management controller. The system provided by the above scheme divides the baseboard management controller into multiple management units corresponding to the hardware partitions one by one, selects any one of the multiple management units as the core unit, obtains the target firmware file of each hardware partition and caches it in a preset cache, and the control module reads the target firmware file of each hardware partition from the preset cache, and sends the target firmware file of each hardware partition in parallel to the corresponding hardware partition through the multiple peripheral expansion ports provided in the control module. That is, the present application realizes parallel firmware upgrades for multiple hardware partitions based on one baseboard management controller, thereby improving the firmware upgrade efficiency of the hardware partitions and reducing the hardware development cost.
[0106] Moreover, the system provided by the above embodiment realizes the efficient and rapid upgrade of the BIOS firmware of multiple hardware partition systems by a single BMC. First, by dividing the BMC into multiple independent partitions and utilizing the parallel SPI master control logic of the CPLD unit, the solution solves the problem of limited SPI interface of the traditional single BMC chip, realizes the parallel upgrade of the BIOS of multiple hardware partitions, significantly improves the upgrade efficiency, and shortens the upgrade time. Secondly, the solution does not need to configure an independent BMC management unit for each hardware partition, reduces the redundancy of hardware resources, reduces the system cost, and avoids the problem of low resource utilization under the multi-BMC management mode. In addition, the embodiment of the present application makes full use of the inherent BMC management and CPLD units in the server system, and does not require an additional out-of-band BIOS upgrade management chip, further reducing the hardware design cost. By simplifying the upgrade process, the operational complexity is reduced and the maintainability and reliability of the system are improved. Not only does it improve the economy of the system, but it also provides important practical value for the rapid application and promotion of technologies related to server hardware partition systems.
[0107] Through the description of the above implementation methods, those skilled in the art can clearly understand that the system according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0108] The embodiment of the present application provides a firmware upgrade method, which is applied to the firmware upgrade system provided in the above embodiment. The execution subject of the embodiment of the present application is an electronic device, such as a server, desktop computer, laptop computer, tablet computer and other electronic devices that can be used for firmware upgrade.
[0109] like Figure 4 FIG. 1 is a flow chart of a firmware upgrade method according to an embodiment of the present application, the method comprising:
[0110] Step 401: Obtain the target firmware file of each hardware partition.
[0111] Step 402 : Cache the target firmware files of each hardware partition into a preset cache through the peripheral port.
[0112] Step 403, based on the control module, obtains the target firmware file of each hardware partition from the preset cache, so that the control module sends the target firmware file of each hardware partition to the corresponding hardware partition in parallel based on the preset multiple peripheral expansion ports, so that each hardware partition upgrades the firmware of the core component based on the target firmware file.
[0113] For the description of the features in the embodiment corresponding to the firmware upgrade method, please refer to the relevant description of the embodiment corresponding to the firmware upgrade system, which will not be repeated here.
[0114] The embodiments of the present application also provide a firmware upgrade device for executing the firmware upgrade method provided in the above embodiments.
[0115] like Figure 5 FIG. 5 is a schematic diagram of the structure of a firmware upgrade device according to an embodiment of the present invention. The firmware upgrade device 50 includes an acquisition module 501 , a cache module 502 and an upgrade module 503 .
[0116] Among them, the acquisition module is used to obtain the target firmware file of each hardware partition; the cache module is used to cache the target firmware file of each hardware partition to a preset cache through a peripheral port; the upgrade module is used to obtain the target firmware file of each hardware partition from the preset cache based on the control module, so that the control module can send the target firmware file of each hardware partition to the corresponding hardware partition in parallel based on multiple preset peripheral expansion ports, so that each hardware partition can upgrade the firmware of the core components based on the target firmware file.
[0117] For the description of the features in the embodiment corresponding to the firmware upgrade device, please refer to the relevant description of the embodiment corresponding to the firmware upgrade system, which will not be repeated here.
[0118] An embodiment of the present application further provides a computing device for deploying the firmware upgrade system provided in the above embodiment.
[0119] like Figure 6 FIG2 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. The computing device includes: a hardware partition system composed of multiple hardware partitions and a firmware upgrade system provided in the above embodiment.
[0120] Each hardware partition integrates core components and basic components.
[0121] For descriptions of features in the embodiments corresponding to the computing device, please refer to the relevant descriptions of the embodiments corresponding to the firmware upgrade system, which will not be repeated here.
[0122] The embodiment of the present application also provides an electronic device, such as Figure 7 As shown, it is a structural diagram of an electronic device provided in an embodiment of the present application, including a processor 10 and a memory 20, in which a computer program is stored. The processor 10 is configured to run the computer program to execute the steps in any of the above-mentioned firmware upgrade method embodiments.
[0123] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above-mentioned firmware upgrade method embodiments when running.
[0124] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0125] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned firmware upgrade method embodiments are implemented.
[0126] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned firmware upgrade method embodiments are implemented.
[0127] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0128] The above is a detailed introduction to a firmware upgrade system, method, computing device, and electronic device provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A firmware upgrade system, characterized in that: include: Baseboard management controller and control module; The baseboard management controller includes a plurality of management units, and the management units correspond one to one with the hardware partitions; Any management unit in the baseboard management controller is used as a core unit to obtain the target firmware file of each hardware partition, and cache the target firmware file of each hardware partition to a preset buffer through a peripheral port; The control module is used to obtain the target firmware file of each hardware partition from the preset buffer, and send the target firmware file of each hardware partition to the corresponding hardware partition in parallel based on a plurality of preset peripheral expansion ports, so that each hardware partition performs a firmware upgrade on a core component based on the target firmware file; The control module is provided with a plurality of peripheral expansion ports, which have the same port attributes as the peripheral ports on the baseboard management controller, so as to expand the limited number of peripheral ports of the baseboard management controller based on the plurality of peripheral expansion ports.
2. The firmware upgrade system according to claim 1, wherein: The core unit is provided with a network device; The core unit receives the target firmware file of each hardware partition sent by the operation and maintenance interaction terminal based on the network device.
3. The firmware upgrade system according to claim 2, wherein: The system further comprises: The operation and maintenance interactive terminal is used to determine the target firmware file corresponding to any of the hardware partitions according to the user's firmware upgrade requirements for the core components of the hardware partition, and send the target firmware file corresponding to the hardware partition to the network device.
4. The firmware upgrade system according to claim 2, wherein: The network equipment includes: a network interface, configured to establish a network connection with the operation and maintenance interaction terminal, to receive a target firmware file in the form of an analog signal of each hardware partition sent by the operation and maintenance interaction terminal through the network connection, and to send the target firmware file to the transceiver; a transceiver, configured to convert the target firmware file in the form of an analog signal into a target firmware file in the form of a digital signal, and forward the target firmware file in the form of a digital signal to a network controller; The network controller is used to encapsulate the obtained target firmware file into an upper layer data packet, so that the core unit obtains the target firmware file of each hardware partition.
5. The firmware upgrade system according to claim 4, wherein: The core unit includes: The firmware receiving subunit is used to receive the upper layer data packet sent by the network controller, and parse the obtained upper layer data packet to extract the target firmware file of each hardware partition in the upper layer data packet, and send the extracted target firmware file of each hardware partition to the firmware storage module to store the target firmware file of each hardware partition in the firmware storage module.
6. The firmware upgrade system according to claim 1, wherein: The core unit includes: The firmware storage module is used to cache the target firmware files of each hardware partition into a preset buffer according to the data writing requirement of the preset buffer.
7. The firmware upgrade system according to claim 6, wherein: The firmware storage module is further used for: For any target firmware file of the hardware partition, a file integrity check is performed on the target firmware file. If it is determined that the target firmware file passes the integrity check, the target firmware file is cached in a preset cache.
8. The firmware upgrade system according to claim 6, wherein: The firmware storage module is further used for: Performing duplication verification on the target firmware files of the hardware partitions to screen two or more hardware partitions with the same target firmware files, and taking the two or more hardware partitions with the same target firmware files as duplicate firmware hardware partitions; In the process of caching the target firmware files of each of the hardware partitions into the preset buffer via the peripheral port, performing a single transmission on the target firmware files of the firmware repeated hardware partitions; In the preset buffer, the target firmware file of the firmware duplication hardware partition is repeatedly written into the buffer space corresponding to each of the firmware duplication hardware partitions.
9. The firmware upgrade system according to claim 6, wherein: The firmware storage module is further used for: After the target firmware files of the hardware partitions are successfully cached in the preset cache through the peripheral port, a first status signal is sent to the control module through the status interaction interface to indicate that the preset cache has cached the target firmware files of the hardware partitions.
10. The firmware upgrade system according to claim 1, wherein: The control module is specifically used to: receiving a first status signal; wherein, when the core unit determines that the preset buffer has cached the target firmware file of each hardware partition, the core unit sends the first status signal to the control module; In response to the first status signal, the target firmware file of each hardware partition is obtained from the preset buffer.
11. The firmware upgrade system according to claim 10, wherein: The control module includes: a firmware reading module, configured to access the preset buffer through the basic peripheral expansion port in response to the first status signal, so as to obtain the target firmware file of each hardware partition from the preset buffer, and cache the obtained target firmware file of each hardware partition in the internal buffer of the control module; The basic peripheral expansion port is a dedicated port for the control module to access the preset buffer.
12. The firmware upgrade system according to claim 11, wherein: The control module includes: The firmware writing control module is used to read the target firmware file of any of the hardware partitions in the internal buffer, call the peripheral expansion port corresponding to the hardware partition, and send the target firmware file to the hardware partition through the peripheral expansion port.
13. The firmware upgrade system according to claim 10, wherein: The control module is further configured to: After the target firmware files of the hardware partitions are sent in parallel to the corresponding hardware partitions based on the preset multiple peripheral expansion ports, a second status signal is returned to the core unit.
14. The firmware upgrade system according to claim 13, wherein: The core unit is further used for: The time of sending the first status signal to the control module is used as the starting time for timing; wherein, when the core unit receives the second status signal, the timing is stopped; When the timing result exceeds the preset timing threshold, a firmware upgrade alarm message is generated.
15. The firmware upgrade system according to claim 1, wherein: Each of the management units is provided with a plurality of basic ports; The management unit is configured to send a basic firmware file of any basic component to the hardware partition through the basic port when the corresponding hardware partition has any basic component to be upgraded in firmware.
16. A firmware upgrade method, applied to the firmware upgrade system according to any one of claims 1 to 15, characterized in that: The method comprises: Obtain the target firmware file for each hardware partition; caching the target firmware files of each hardware partition into a preset buffer via a peripheral port; Based on the control module, the target firmware file of each hardware partition is obtained from the preset cache, so that the control module sends the target firmware file of each hardware partition to the corresponding hardware partition in parallel based on the preset multiple peripheral expansion ports, so that each hardware partition upgrades the firmware of the core component based on the target firmware file, so as to expand the limited number of peripheral ports of the baseboard management controller based on the multiple peripheral expansion ports.
17. A computing device, characterized in that The invention comprises: a hardware partition system composed of a plurality of hardware partitions and a firmware upgrade system according to any one of claims 1 to 15; Each of the hardware partitions is integrated with core components and basic components.
18. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the firmware upgrade method according to claim 16 when executing the computer program.
19. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the firmware upgrade method according to claim 16 when executed by a processor.
20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the firmware upgrade method according to claim 16 are implemented.
Citation Information
Patent Citations
Rack and method for simultaneously updating multiple basic input output systems thereof
CN103793238A
Starting and upgrading system, method and equipment for double storage chips, medium and product
CN118349290A