Firmware upgrading system and method, computing equipment and electronic equipment

By dividing the substrate management controller into multiple management units to send firmware files in parallel, the problem of limited SPI interface of a single BMC chip is solved, which improves the firmware upgrade efficiency of hardware partitions and reduces costs, and simplifies the operation process.

CN120371357AActive Publication Date: 2025-07-25INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202510866978.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-26
Publication Date
2025-07-25
Estimated Expiration
2045-06-26

AI Technical Summary

Technical Problem

In computing devices such as servers, the number of peripheral ports of a single BMC in the prior art is limited, resulting in inefficient firmware upgrades of hardware partitions and increasing hardware development costs.

Method used

The substrate management controller is divided into multiple management units that correspond one by one to the hardware partition, and any management unit is selected as the core unit. The target firmware file is cached to the preset buffer through the peripheral port, and the firmware file is sent to the corresponding hardware partition in parallel using multiple peripheral expansion ports of the control module.

Benefits of technology

Parallel firmware upgrades of multiple hardware partitions are realized, which improves firmware upgrade efficiency, reduces hardware development costs, simplifies operating processes and improves the economic and maintainability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120371357A_ABST
    Figure CN120371357A_ABST
Patent Text Reader

Abstract

The invention discloses a firmware upgrading system and method, computing equipment and electronic equipment, and relates to the technical field of computers, a substrate management controller is divided into a plurality of management units in one-to-one correspondence with hardware partitions, and any management unit is selected from the plurality of management units as a core unit; and obtaining a target firmware file of each hardware partition and caching the target firmware file to a preset buffer, reading the target firmware file of each hardware partition from the preset buffer by a control module, and through a plurality of peripheral extension ports arranged on the control module, executing the target firmware file of each hardware partition. And sending the target firmware file of each hardware partition to the corresponding hardware partition in parallel, that is, the method realizes parallel firmware upgrading of the plurality of hardware partitions based on one substrate management controller, and reduces the hardware development cost while improving the firmware upgrading efficiency of the hardware partitions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technologies, and in particular, to a firmware upgrade system, method, computing device, electronic device, and storage medium. Background Art

[0002] At present, in scenarios with high real-time requirements, computing devices such as servers generally run operating systems in the form of physical machines. Among them, with the continuous improvement of the response efficiency of the host system to business requests from users, the hardware partitioning technology of the host system has emerged, splitting the hardware system of the computing device into multiple hardware partitions, and each hardware partition has complete key components such as computing, storage, networking, and heat dissipation.

[0003] In related technologies, generally based on the Baseboard Management Controller (BMC for short), management operations such as firmware upgrade of core components in each hardware partition are implemented. However, the number of peripheral ports of a single BMC for firmware upgrade operations is limited, reducing the firmware upgrade efficiency of the hardware partition. If a BMC is configured for each hardware partition, it will cause an overabundance of 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 problems in related technologies of reducing the firmware upgrade efficiency of the hardware partition and the hardware development cost.

[0005] The present application provides a firmware upgrade system, including: a baseboard management controller and a control module; the baseboard management controller includes a plurality of management units, and the management units correspond to the hardware partitions one by one; Any one of the management units in the baseboard management controller is used as a core unit to obtain the target firmware files of each hardware partition, and cache the target firmware files of each hardware partition to a preset buffer through a peripheral port; The control module is used to obtain the target firmware files of each hardware partition from the preset buffer, and based on a plurality of preset peripheral expansion ports, send the target firmware files of each hardware partition to the corresponding hardware partition in parallel, so that each hardware partition upgrades the firmware of the core components based on the target firmware files; Wherein, 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.

[0006] The present application also provides a firmware upgrade method, which is applied to any one of the above firmware upgrade systems, and the method includes: Obtain the target firmware files of each hardware partition; Cache the target firmware files of each hardware partition to a preset buffer through a peripheral port; Based on the control module, obtain the target firmware files of each hardware partition from the preset buffer, so that the control module, based on a plurality of preset peripheral expansion ports, parallelly send the target firmware files of each hardware partition to the corresponding hardware partition, so that each hardware partition upgrades the firmware of the core component based on the target firmware file.

[0007] This application also provides a firmware upgrade device, which is applied to the firmware upgrade system of any of the above, and the device includes: An acquisition module, configured to acquire the target firmware files of each hardware partition; A cache module, configured to cache the target firmware files of each hardware partition to a preset buffer through a peripheral port; An upgrade module, configured to, based on the control module, obtain the target firmware files of each hardware partition from the preset buffer, so that the control module, based on a plurality of preset peripheral expansion ports, parallelly send the target firmware files of each hardware partition to the corresponding hardware partition, so that each hardware partition upgrades the firmware of the core component based on the target firmware file.

[0008] This application also provides a computing device, including: a hardware partition system composed of a plurality of hardware partitions and the firmware upgrade system of any of the above; Each hardware partition integrates a core component and a basic component.

[0009] This application also provides an electronic device, including: a memory, configured to store a computer program; a processor, configured to implement the steps of any of the above firmware upgrade methods when executing the computer program.

[0010] This application also provides a computer-readable storage medium, in which a computer program is stored, and wherein the computer program implements the steps of any of the above firmware upgrade methods when executed by a processor.

[0011] This application also provides a computer program product, including a computer program, and the computer program implements the steps of any of the above firmware upgrade methods when executed by a processor.

[0012] With this application, since the baseboard management controller is divided into multiple management units corresponding one by one to the hardware partitions, any one of the multiple management units is selected as the core unit, the target firmware files of each hardware partition are obtained and cached in a preset buffer, and the control module reads the target firmware files of each hardware partition from the preset buffer. Through the multiple peripheral expansion ports provided by the control module, the target firmware files of each hardware partition are sent to the corresponding hardware partition in parallel. That is, this application realizes the parallel firmware upgrade of multiple hardware partitions based on one baseboard management controller, improving the firmware upgrade efficiency of the hardware partitions while reducing the hardware development cost. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] To more clearly illustrate the embodiments of this application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of this application, and those of ordinary skill in the art can obtain other drawings based on these drawings without creative efforts.

[0014] Figure 1 Schematic diagram of the interaction process of the firmware upgrade system provided by an embodiment of this application; Figure 2 Schematic diagram of the structure of the firmware upgrade system provided by an embodiment of this application; Figure 3 Schematic diagram of the interaction process of an exemplary firmware upgrade system provided by an embodiment of this application; Figure 4 Schematic diagram of the process of the firmware upgrade method provided by an embodiment of this application; Figure 5 Schematic diagram of the structure of the firmware upgrade device provided by an embodiment of this application; Figure 6 Schematic diagram of the structure of the computing device provided by an embodiment of this application; Figure 7 Schematic diagram of the structure of the electronic device provided by an embodiment of this application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0015] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of this application without creative efforts fall within the protection scope of this application.

[0016] It should be noted that in the description of this application, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly 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, rather than to describe a specific order or sequence.

[0017] In recent years, with the rapid development of the semiconductor industry and integrated circuit technology, processors have become the core computing units in fields such as cloud computing, artificial intelligence, and big data. To achieve the sharing of hardware computing resources and improve the utilization rate of multi-core processors, virtualization technology has been widely introduced. By virtualizing multiple virtual machines on the processor hardware platform, each virtual machine runs an independent operating system, thus realizing the efficient allocation and management of resources. However, due to the introduction of additional overhead such as virtual machine management, the operating system based on virtual machines usually has difficulty meeting the strict requirements of the business for real-time performance. Therefore, in scenarios with high requirements for real-time performance, the operating system is usually run in the way of exclusive physical machines, that is, the "bare metal" mode. This way of using the processor can significantly reduce the latency of business processing, thus better meeting the needs of high-performance computing.

[0018] In the server industry, with the increasing demand for flexible resource allocation, the hardware partitioning technology of general host systems has emerged. By partitioning a server into two or more physical host systems, each partition can independently carry services and provide services. Traditional hardware partitioning systems usually need to have complete key components such as computing, storage, network, and heat dissipation, and each hardware partition is configured with a BMC management unit, that is, the multi-BMC management mode. The hardware partitioning system architecture under this multi-BMC management usually has the disadvantages of excessive BMC resources, low resource utilization rate, and high system cost. And for the hardware partitioning system architecture under multi-BMC management, since each BMC only needs to be connected to one BIOS in the hardware partition through the SPI interface to realize the out-of-band upgrade function of the BIOS, there is no situation where the interface is not enough. However, for the management of multiple hardware partitioning systems by a single BMC chip, due to the limited SPI interfaces of existing BMC chips, usually the SPI interface of one BMC chip is only enough for one hardware partition BIOS to connect and use.

[0019] To solve the above technical problems, the embodiments of the present application provide a firmware upgrade system, method, computing device, and electronic device. By dividing the baseboard management controller into multiple management units corresponding one-to-one to hardware partitions, selecting any one of the multiple management units as the core unit, obtaining the target firmware files of each hardware partition and caching them in a preset buffer, and having the control module read the target firmware files of each hardware partition from the preset buffer, and through multiple peripheral expansion ports provided in the control module, sending the target firmware files of each hardware partition to the corresponding hardware partition in parallel. That is, the present application realizes parallel firmware upgrade of multiple hardware partitions based on one baseboard management controller, improving the firmware upgrade efficiency of the hardware partitions while reducing the hardware development cost.

[0020] To enable those skilled in the art of this technology to better understand the solution of the present application, the following further details the present application in conjunction with the accompanying drawings and specific embodiments.

[0021] The embodiments of the present application provide a firmware upgrade system for efficiently upgrading the firmware of multiple hardware partitions.

[0022] As Figure 1 shown, it is a schematic diagram of the interaction process of the firmware upgrade system provided by the embodiments 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.

[0023] Among them, any one of the management units in the baseboard management controller serves as the core unit to obtain the target firmware files of each hardware partition and cache the target firmware files of each hardware partition in the preset buffer through the peripheral port; the control module is used to obtain the target firmware files of each hardware partition from the preset buffer and, based on the preset multiple peripheral expansion ports, send the target firmware files of each hardware partition to the corresponding hardware partition in parallel, so that each hardware partition upgrades the firmware of the core components based on the target firmware files; Among them, 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.

[0024] It should be noted that the control module can specifically adopt a Complex Programmable Logic Device (CPLD for short). The control module has the function of expanding peripheral ports in the embodiments of the present application. Among them, the peripheral ports include Serial Peripheral Interface (SPI for short) ports. Generally, a BMC only has one SPI port. The core component of the hardware partition specifically refers to the Basic Input Output System (BIOS for short). The BIOS is used for core operations such as hardware initialization and hardware detection of the hardware partition.

[0025] Specifically, first, the BMC management unit (baseboard management controller) with a multi-core processor is divided into multiple independent partitions, including Core1 partition, Core2 partition... CoreN partition. One partition is a management unit, and each partition independently runs its own management system, respectively responsible for monitoring and managing a hardware partition. Select any partition as the core unit from Core1 partition, Core2 partition... CoreN partition. For example, select Core1 partition as the core unit. The core unit has the firmware upgrade function relative to other management units. The core unit can obtain target firmware files such as BIOS firmware images of each hardware partition, and cache the firmware files to a preset buffer (such as an external EEPROM) through a peripheral port (such as an SPI interface). Multiple peripheral expansion ports (such as SPI interfaces) are integrated inside the control module. The peripheral expansion ports correspond to the hardware partitions one by one. 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 through the peripheral expansion port corresponding to each hardware partition.

[0026] Specifically, in the embodiments of the present application, the upgrade operation of the hardware partition BIOS corresponding to all other Core partitions is implemented 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 server system cost, it greatly simplifies the BIOS upgrade work of the hardware partition system under single BMC management, that is, there is no need to perform the relevant operations for out-of-band BIOS upgrade for each Core partition. At the same time, the embodiments of the present application also make 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 the BIOSs 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 embodiments of the present application are both inherent hardware units of the server system, and the embodiments of the present application do not need to upgrade the chip specifications of the BMC management unit, so the design cost of the server hardware partition system can be significantly reduced. This not only improves the economy of the system, but also provides important practical value for the rapid application and promotion of the related technologies of the server hardware partition system.

[0027] Based on the above embodiments, as Figure 2 shown, it is a schematic structural diagram of the firmware upgrade system provided by the embodiments of the present application. As an implementable manner, in one embodiment, the core unit is provided with a network device.

[0028] Among them, 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.

[0029] It should be noted that the network device includes network card devices, etc. The network device of the core unit serves as a 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.

[0030] Specifically, in one implementation, the firmware upgrade system further includes an operation and maintenance interaction 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.

[0031] Specifically, the main function of the external operation and maintenance interaction module is to provide a UI interface for users to remotely upgrade the firmware corresponding to each BIOS in the hardware partition system. It consists of an operation and maintenance interaction terminal and an Internet link. Among them, the operation and maintenance interaction terminal mainly realizes the system login access to the BMC management unit, and then uploads the BIOS firmware (or image) file (target firmware file) to be upgraded based on the BMC management system; the Internet link is connected to the network device corresponding to the core unit in the BMC management unit to build a file transfer channel from the operation and maintenance exchange bureau terminal to the BMC management unit. Here, the type of BIOS firmware to be uploaded configured by the BMC management system is determined according to the actual needs of the user. It can either be a firmware file (in this case, the BIOS of all hardware partition systems is upgraded to the same firmware version), or different firmware files (in this case, the BIOS of different hardware partition systems corresponds to different firmware files).

[0032] Specifically, according to the firmware upgrade requirements (firmware version) of each hardware partition issued by the user, the operation and maintenance interaction terminal extracts the corresponding target firmware file from the local firmware library 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.

[0033] Specifically, in one embodiment, the network device includes: A network interface for establishing a network connection with the operation and maintenance interaction terminal to receive the 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 sending the target firmware file to the transceiver; A transceiver for converting the target firmware file in the form of an analog signal into a target firmware file in the form of a digital signal and forwarding the target firmware file in the form of a digital signal to the network controller; A network controller for encapsulating 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.

[0034] Specifically, the network interface can specifically adopt an RJ45 network connector. The network interface receives the target firmware file in the form of an analog signal of each hardware partition sent by the operation and maintenance terminal through a network connection (Internet link). The transceiver (PHY chip) is used to convert the analog electrical signal (the target firmware file in the form of an analog signal) into a digital bit stream to obtain the target firmware file in the form of a digital signal, and at the same time extract the synchronization clock from the data stream to ensure the accuracy of data sampling. The network controller (MAC controller) is used to encapsulate the digital bit stream (the target firmware file in the form of a digital signal) into a standard Ethernet frame (add a frame header (source / destination MAC address and type field) and a frame tail (FCS check), and at the same time verify the frame integrity through the CRC-32 algorithm and discard the error frame. Finally, the Ethernet frame payload is encapsulated into an upper-layer data packet (IP packet), add an IP header (source / destination IP address, etc.), and route the upper-layer data packet to the firmware receiving subunit of the core unit according to the port number.

[0035] Among them, through a hierarchical processing mechanism, the network device converts the underlying physical signal into an upper-layer data packet, providing a secure and reliable data transmission channel for the firmware upgrade system.

[0036] Correspondingly, in an embodiment, the core unit includes: A firmware receiving subunit, which is used to receive the upper-layer data packet sent by the network controller, parse the obtained upper-layer data packet, extract the target firmware file of each hardware partition from 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.

[0037] Specifically, after receiving the upper-layer data packet sent by the network controller, the firmware receiving subunit performs decapsulation processing on the upper-layer data to parse the upper-layer data packet and extract the valid data (target firmware file) from it, that is, obtain the target firmware file of each hardware partition, and send the obtained target firmware file of each hardware partition to the firmware storage module. The firmware storage module is used to provide a storage function in the core unit.

[0038] Specifically, in an embodiment, the core unit includes: A firmware storage module, which is used to cache the target firmware file of each hardware partition into a preset buffer according to the data writing requirements of the preset buffer.

[0039] It should be noted that in the preset buffer, each hardware partition is allocated an independent storage area. When the firmware storage module caches the target firmware file of each hardware partition into the preset buffer, it writes the target firmware file of each hardware partition into the corresponding storage area. For example, it writes the target firmware file of hardware partition 1 into storage area 1 corresponding to hardware partition 1, and so on.

[0040] Specifically, in one embodiment, the firmware storage module is further configured to perform a file integrity check on the target firmware file for any hardware partition, and cache the target firmware file to a preset buffer when it is determined that the target firmware file passes the integrity check.

[0041] Specifically, a preset check algorithm can be used to perform an integrity check on the target firmware file. The preset check algorithms include hash algorithms and cyclic redundancy check algorithms, etc. By performing an integrity check on the target firmware file before caching it to the preset buffer, error codes in the firmware file caused by network fluctuations or hardware failures can be effectively intercepted, improving the reliability of the target firmware file and also enhancing the security of firmware upgrades.

[0042] Specifically, in one embodiment, the firmware storage module is further configured to perform a repeatability verification on the target firmware files of each hardware partition to screen out two or more hardware partitions with the same target firmware file, and use the two or more hardware partitions with the same target firmware file as firmware repeat hardware partitions; during the process of caching the target firmware files of each hardware partition to the preset buffer through a peripheral port, perform a single transmission on the target firmware files of the firmware repeat hardware partitions; and repeatedly write the target firmware files of the firmware repeat hardware partitions to the cache spaces corresponding to each firmware repeat hardware partition in the preset buffer.

[0043] Specifically, a unique feature identifier can be calculated for the target firmware file of each hardware partition, and the repeatability verification of the target firmware files of each hardware partition can be performed based on the unique feature identifiers of the target firmware files of each hardware partition. Among them, if the unique feature identifiers of the target firmware files of two hardware partitions are the same, it is determined that these two hardware partitions are firmware repeat hardware partitions. In practical applications, firmware repeat hardware partitions can be screened based on a preset filter.

[0044] Further, several firmware duplicate hardware partitions with unique feature identifiers are grouped together. For example, if the unique feature identifiers of hardware partitions 1, 3, and 5 are the same, then hardware partitions 1, 3, and 5 form duplicate group A, and the target firmware file a of hardware partitions 1, 3, and 5 is used as the target firmware file a of duplicate group A. During the process of caching the target firmware files of each hardware partition to a preset buffer through a peripheral port, for the target firmware files of the duplicate group, that is, only transfer the target firmware file a to the preset buffer once. In the preset buffer, through the address mapping mechanism of the SPI bus, write the same target firmware file into the cache spaces of multiple hardware partitions, that is, write the target firmware file a 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, through the address mapping mechanism of the SPI bus, the same target firmware file can be written into the cache spaces of multiple hardware partitions.

[0045] Among them, the repeatability verification mechanism of the firmware storage module reduces the transmission volume between the core unit and the preset buffer, laying a foundation for improving the firmware upgrade efficiency of the hardware partition.

[0046] Further, in an embodiment, the firmware storage module is further configured to: After successfully caching the target firmware files of each hardware partition to the preset buffer through the peripheral port, send a first status signal to the control module through the status interaction interface to indicate that the preset buffer has cached the target firmware files of each hardware partition.

[0047] Among them, the status interaction interface can specifically adopt a General-purpose input / output (GPIO) port. The firmware storage module first verifies whether the target firmware files of all hardware partitions have been successfully written into the preset buffer, that is, checks whether the storage space of each hardware partition contains a complete and verified target firmware file. If so, it is determined that the target firmware files of each hardware partition have been successfully cached to the preset buffer through the peripheral port, and a first status signal is sent to the control module through the GPIO pin (such as a high level indicating success) to trigger the subsequent process of the control module.

[0048] Among them, by sending the first status signal to the control module, it is avoided that when the control module accesses the preset buffer and the target firmware file of a certain hardware partition does not exist, it wastes the access resources of the control module to the preset buffer.

[0049] Based on the above embodiments, as an implementable manner, in an embodiment, the control module is specifically configured to: Receive a first status signal; wherein, when the core unit determines that the preset buffer has cached the target firmware files of each hardware partition, it sends the first status signal to the control module; In response to the first status signal, obtain the target firmware files of each hardware partition from the preset buffer.

[0050] Specifically, when the control module receives the first status signal through the GPIO, it sends a read command to the preset buffer to obtain the target firmware files of each hardware partition from the preset buffer.

[0051] Specifically, in one embodiment, the control module includes: A firmware reading module, configured to, in response to the first status signal, access the preset buffer through the basic peripheral expansion port to obtain the target firmware files of each hardware partition from the preset buffer, and cache the obtained target firmware files of each hardware partition into the internal buffer of the control module.

[0052] Wherein, the basic peripheral expansion port is a dedicated port for the control module to access the preset buffer, and the internal buffer includes the memory of the control module, etc.

[0053] Specifically, the firmware reading module, in response to the first status signal, accesses the preset buffer through the basic peripheral expansion port (SPI 0). The basic peripheral expansion port on the control module is the dedicated path for firmware file transmission from the preset buffer to the control module. The basic peripheral expansion port is independently set. During the process of the control module sending 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 firmware upgrade of multiple hardware partitions.

[0054] Specifically, in one embodiment, the control module includes: A firmware writing control module, configured to read the target firmware file of any hardware partition from the internal buffer, and call the peripheral expansion port corresponding to the hardware partition to send the target firmware file to the hardware partition through the peripheral expansion port.

[0055] It should be noted that the hardware partition system on the Host side consists of N independent hardware partitions. Each hardware partition runs an independent operating system and integrates basic components such as a CPU, network, storage, power supply, and sensors, and also includes a core component, the BIOS chip, that is, each hardware partition contains a BIOS chip. Among them, each BIOS is responsible for the hardware initialization and operating system boot work of the hardware partition system where it is located. The target firmware file in the embodiment of the present application is the firmware upgrade file of the BIOS.

[0056] Specifically, as an execution unit of the control module, the firmware writing control module is responsible for writing the target firmware file cached in the internal buffer into 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.

[0057] Among them, the firmware writing control module internally maintains a storage space address mapping table. For example, storage space 1 corresponds to hardware partition 1, and storage space 2 corresponds to hardware partition 2. Therefore, according to the storage space address information of the read target firmware file, it can be determined which hardware partition it corresponds to, and then which peripheral expansion port to call to send the target firmware file to the hardware partition.

[0058] Among them, since the control module CPLD has flexible hardware programmability and is easy to implement the SPI master logic, in the embodiments of the present application, multiple SPI masters are implemented through the CPLD, and further, by executing these SPI masters in parallel, the upgrade efficiency of the Host-side hardware partition system BIOS firmware is greatly improved.

[0059] Specifically, in one embodiment, the control module is further configured to return a second status signal to the core unit after parallelly sending the target firmware files of each hardware partition to the corresponding hardware partition based on a preset plurality of peripheral expansion ports.

[0060] 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.

[0061] Specifically, in one embodiment, the core unit is further configured to use the time when sending the first status signal to the control module as the start time for timing; among them, when the core unit receives the second status signal, it stops timing; when the timing result exceeds the preset timing threshold, a firmware upgrade warning message is generated.

[0062] Among them, the preset timing threshold can be dynamically adjusted according to the firmware upgrade complexity. For example, the preset timing threshold is determined according to the product of the number of partitions, the average writing time of the target firmware file, and the safety factor (such as 1.5).

[0063] Specifically, when sending the first status signal, the core unit records the current value of the system clock as the start time, and triggers the timer through the GPIO edge to ensure that the error between the signal sending and the timing start time is small enough. When the timer value (timing result) is greater than the preset timing threshold, a warning message is generated. Among them, the warning message includes a timestamp, the timeout hardware partition ID, the executed steps, and the system load, etc.

[0064] Among them, by performing timeout warning based on the above embodiments, it is possible to prevent the firmware upgrade process of the hardware partition from falling into an infinite loop, such as the hardware partition not responding, and avoid the hardware system being unavailable for a long time.

[0065] Specifically, in one embodiment, each management unit is provided with a plurality of basic ports.

[0066] Among them, the management unit is used to send the basic firmware file of the basic component to the hardware partition through the basic port when any basic component of the corresponding hardware partition needs to be upgraded with firmware.

[0067] Specifically, the basic ports include I2C ports and UARTs, etc. The components in the hardware partition other than the BIOS are basic components, and the basic components include temperature sensors and fan controllers, etc.

[0068] Specifically, when the basic components in the hardware partition need to be upgraded with firmware, each management unit can independently send the basic firmware file of the basic component to the hardware partition through the basic port, improving the firmware upgrade efficiency of the basic component.

[0069] Exemplarily, as Figure 3 shown, it is a schematic diagram of the interaction process of the exemplary firmware upgrade system provided by the embodiment of the present application, and the specific process is as follows: Step 1: The operation and maintenance interaction terminal logs in to the BMC Web management page and uploads the BIOS firmware image (target firmware file) of each hardware partition to the BMC management unit (baseboard management controller) through the network interface, specifically to the core unit of the BMC management unit; Step 2: The BMC management unit receives the BIOS image file from the operation and maintenance terminal through the firmware receiving module via the network interface; Step 3: The BMC management unit writes the received BIOS image file into the external EEPROM (preset buffer) through the firmware storage module via the SPI controller; Step 4: After the writing operation is completed, the BMC management unit notifies the CPLD unit (control module) of the writing completion status (the first status signal) through the GPIO; 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 the SPI master 0; Step 6: The firmware writing control module of the CPLD unit controls the SPI master 1, SPI master 2,..., SPI master N, etc. in parallel, and writes the above-read image file into the chips with BIOS 1, BIOS 2,..., BIOS N, etc. in the hardware partition system respectively; Step 7: After the writing operation is completed, the firmware writing control module of the CPLD unit notifies the BMC unit through GPIO that the firmware writing operation has been completed; Step 8: After receiving the writing operation completion signal (the second status signal) sent by the CPLD unit through GPIO, the BMC management unit sends the BIOS firmware upgrade success status to the operation and maintenance interaction terminal through the network interface to indicate the end of the entire BIOS firmware upgrade process.

[0070] 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 the hardware partitions one by one; any management unit in the baseboard management controller is used as the core unit to obtain the target firmware files of each hardware partition, and caches the target firmware files of each hardware partition to a preset buffer through a peripheral port; the control module is used to obtain the target firmware files of each hardware partition from the preset buffer, and based on a plurality of preset peripheral expansion ports, parallelly send the target firmware files of each hardware partition 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 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. In the system provided by the above solution, since the baseboard management controller is divided into multiple management units corresponding to the hardware partitions one by one, any management unit in the multiple management units is selected as the core unit to obtain the target firmware files of each hardware partition and cache them to the preset buffer, and the control module reads the target firmware files of each hardware partition from the preset buffer, and through the multiple peripheral expansion ports provided by the control module, parallelly sends the target firmware files of each hardware partition to the corresponding hardware partition, that is, the present application realizes parallel firmware upgrade of multiple hardware partitions based on one baseboard management controller, while improving the firmware upgrade efficiency of the hardware partitions, reducing the hardware development cost.

[0071] Moreover, the system provided by the above embodiments realizes the efficient and rapid upgrade of the BIOS firmware of multiple hardware partition systems by a single BMC. First, this solution divides the BMC into multiple independent partitions and utilizes the parallel SPI master logic of the CPLD unit to solve the problem of limited SPI interfaces of traditional single BMC chips, achieving parallel upgrades of the BIOS of multiple hardware partitions, significantly improving the upgrade efficiency and shortening the upgrade time. Second, this solution does not require configuring an independent BMC management unit for each hardware partition, reducing the redundancy of hardware resources, lowering the system cost, and avoiding the problem of low resource utilization in the multi-BMC management mode. In addition, the embodiments of the present application make full use of the inherent BMC management and CPLD units in the server system, without an additional out-of-band BIOS upgrade management chip, further reducing the hardware design cost. By simplifying the upgrade process, the operation complexity is reduced, and the maintainability and reliability of the system are improved. It 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.

[0072] Through the description of the above embodiments, those skilled in the art can clearly understand that the system according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases, the former is a better implementation method.

[0073] The embodiments of the present application provide a firmware upgrade method, which is applied to the firmware upgrade system provided by the above embodiments. The execution subject of the embodiments of the present application is an electronic device, such as a server, a desktop computer, a laptop computer, a tablet computer, and other electronic devices that can be used for firmware upgrade.

[0074] As Figure 4 shown, it is a schematic flowchart of the firmware upgrade method provided by the embodiments of the present application. The method includes: Step 401, obtain the target firmware files of each hardware partition.

[0075] Step 402, cache the target firmware files of each hardware partition to a preset buffer through a peripheral port.

[0076] Step 403, based on the control module, obtain the target firmware files of each hardware partition from the preset buffer, so that the control module, based on a preset plurality of peripheral expansion ports, sends the target firmware files of each hardware partition to the corresponding hardware partition in parallel, so that each hardware partition upgrades the firmware of the core components based on the target firmware files.

[0077] For the description of the features in the embodiments corresponding to the firmware upgrade method, reference can be made to the relevant descriptions of the embodiments corresponding to the firmware upgrade system, which will not be elaborated here one by one.

[0078] Embodiments of the present application also provide a firmware upgrade device for executing the firmware upgrade method provided in the above embodiments.

[0079] As Figure 5 shown, it is a schematic structural diagram of the firmware upgrade device provided in an embodiment of the present application. The firmware upgrade device 50 includes: an acquisition module 501, a cache module 502, and an upgrade module 503.

[0080] Among them, the acquisition module is used to acquire the target firmware files of each hardware partition; the cache module is used to cache the target firmware files of each hardware partition into a preset cache through a peripheral port; the upgrade module is used to acquire the target firmware files of each hardware partition from the preset cache based on a control module, so that the control module sends the target firmware files 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 upgrades the firmware of the core component based on the target firmware file.

[0081] For the description of the features in the corresponding embodiment of the firmware upgrade device, reference can be made to the relevant description in the corresponding embodiment of the firmware upgrade system, which will not be elaborated here one by one.

[0082] Embodiments of the present application also provide a computing device for deploying the firmware upgrade system provided in the above embodiments.

[0083] As Figure 6 shown, it is a schematic structural diagram of the computing device provided in an embodiment of the present application. The computing device includes: a hardware partition system composed of a plurality of hardware partitions and the firmware upgrade system provided in the above embodiments.

[0084] Among them, each hardware partition integrates a core component and a basic component.

[0085] For the description of the features in the corresponding embodiment of the computing device, reference can be made to the relevant description in the corresponding embodiment of the firmware upgrade system, which will not be elaborated here one by one.

[0086] Embodiments of the present application also provide an electronic device. As Figure 7 shown, it is a schematic structural diagram of the electronic device provided in an embodiment of the present application, including a processor 10 and a memory 20. The memory 20 stores a computer program, and the processor 10 is configured to run the computer program to execute the steps in any of the above firmware upgrade method embodiments.

[0087] Embodiments of the present application also provide a computer-readable storage medium, in which a computer program is stored. Among them, the computer program is configured to execute the steps in any of the above firmware upgrade method embodiments when running.

[0088] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: various media that can store computer programs such as USB flash drives, read-only memory (ROM for short), random access memory (RAM for short), external hard drives, magnetic disks, or optical discs.

[0089] An embodiment of the present application also provides a computer program product. The above computer program product includes a computer program, and when the computer program is executed by a processor, it implements the steps in any of the above-described firmware upgrade method embodiments.

[0090] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps in any of the above-described firmware upgrade method embodiments.

[0091] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described according to their functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Skilled professionals can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0092] The above has introduced in detail a firmware upgrade system, method, computing device, and electronic device provided by the present application. Specific examples are used herein to elaborate on the principles and implementation manners of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application. It should be noted that for those of ordinary skill in the art in the technical field, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.

Claims

1. A firmware upgrade system, characterized in that, Including: A baseboard management controller and a control module; The baseboard management controller includes a plurality of management units, and the management units correspond to hardware partitions one by one; Any one of the management units in the baseboard management controller is used as a core unit to obtain the target firmware files of the respective hardware partitions, and cache the target firmware files of the respective hardware partitions to a preset buffer through a peripheral port; The control module is used to obtain the target firmware files of the respective hardware partitions from the preset buffer, and based on a plurality of preset peripheral expansion ports, send the target firmware files of the respective hardware partitions to the corresponding hardware partitions in parallel, so that each hardware partition upgrades the firmware of the core components based on the target firmware file; Wherein, the control module is provided with a plurality of the 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.

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 files of the respective hardware partitions sent by the operation and maintenance interaction terminal based on the network device.

3. The firmware upgrade system according to claim 2, characterized in that, The system further includes: An operation and maintenance interaction terminal, which is used to determine the target firmware file corresponding to any one of the hardware partitions according to the user's firmware upgrade requirement 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 device includes: A network interface, which is used to establish a network connection with the operation and maintenance interaction terminal to receive the target firmware files of the respective hardware partitions in the form of analog signals sent by the operation and maintenance interaction terminal through the network connection, and send the target firmware file to a transceiver; The transceiver is used 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 files of the respective hardware partitions.

5. The firmware upgrade system according to claim 4, wherein The core unit includes: A firmware receiving sub-unit, which is used to receive the upper-layer data packet sent by the network controller, parse the obtained upper-layer data packet, extract the target firmware files of the respective hardware partitions from the upper-layer data packet, and send the extracted target firmware files of the respective hardware partitions to a firmware storage module to store the target firmware files of the respective hardware partitions in the firmware storage module.

6. The firmware upgrade system according to claim 1, wherein The core unit includes: A firmware storage module, which is used to cache the target firmware files of the respective hardware partitions to a preset buffer according to the data writing requirements of the preset buffer.

7. The firmware upgrade system according to claim 6, wherein The firmware storage module is further used for: For the target firmware file of any one of the hardware partitions, perform file integrity verification on the target firmware file, and cache the target firmware file to the preset buffer when it is determined that the target firmware file passes the integrity verification.

8. The firmware upgrade system according to claim 6, wherein The firmware storage module is further used for: Perform repetitive verification on the target firmware files of each of the hardware partitions to screen out two or more hardware partitions with the same target firmware file, and use the two or more hardware partitions with the same target firmware file as firmware duplicate hardware partitions; During the process of caching the target firmware files of each of the hardware partitions to a preset buffer through a peripheral port, perform a single transmission on the target firmware files of the firmware duplicate hardware partitions; In the preset buffer, repeatedly write the target firmware files of the firmware duplicate hardware partitions into the cache spaces corresponding to each of the firmware duplicate hardware partitions.

9. The firmware upgrade system according to claim 6, wherein The firmware storage module is further configured to: After successfully caching the target firmware files of each of the hardware partitions to the preset buffer through a peripheral port, send a first status signal to the control module through a status interaction interface to indicate that the preset buffer has cached the target firmware files of each of the hardware partitions.

10. The firmware upgrade system according to claim 1, wherein The control module is specifically configured to: Receive the first status signal; wherein, the core unit sends the first status signal to the control module when it determines that the preset buffer has cached the target firmware files of each of the hardware partitions; In response to the first status signal, obtain the target firmware files of each of the hardware partitions from the preset buffer.

11. The firmware upgrade system according to claim 10, wherein The control module includes: A firmware reading module, configured to, in response to the first status signal, access the preset buffer through a basic peripheral expansion port to obtain the target firmware files of each of the hardware partitions from the preset buffer, and cache the obtained target firmware files of each of the hardware partitions in an internal buffer of the control module; Wherein, 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, characterized in that, The control module includes: A firmware writing control module, configured to read the target firmware file of any one 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, characterized in that, The control module is further configured to: After parallelly sending the target firmware files of each of the hardware partitions to the corresponding hardware partitions based on a plurality of preset peripheral expansion ports, return a second status signal to the core unit.

14. The firmware upgrade system according to claim 13, wherein The core unit is further configured to: Use the time when sending the first status signal to the control module as the start time for timing; wherein, when the core unit receives the second status signal, stop timing; When the timing result exceeds a preset timing threshold, generate a firmware upgrade warning message.

15. The firmware upgrade system according to claim 1, characterized in that, Each of the management units is provided with a plurality of basic ports; The management unit is configured to, when any basic component of the corresponding hardware partition needs to be upgraded with firmware, send the basic firmware file of the basic component to the hardware partition through the basic port.

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 includes: Obtain the target firmware files of each hardware partition; Cache the target firmware files of each of the hardware partitions to a preset buffer through a peripheral port; The control module obtains the target firmware files of the hardware partitions from the preset buffer, so that the control module parallelly sends the target firmware files of the hardware partitions to the corresponding hardware partitions based on a plurality of preset peripheral expansion ports, so that each hardware partition upgrades the firmware of the core components based on the target firmware file.

17. A computing device, characterized in that, It includes: a hardware partition system composed of multiple hardware partitions and the firmware upgrade system according to any one of claims 1 to 15; Each of the hardware partitions integrates a core component and a basic component.

18. An electronic device, characterized in that, It includes: A memory for storing computer programs; A processor for implementing 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, A computer program is stored in the computer-readable storage medium, 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, The computer program implements the steps of the firmware upgrade method according to claim 16 when executed by a processor.

Citation Information

Patent Citations

  • Rack and method for simultaneously updating multiple basic input output systems thereof

    CN103793238A

  • Upgrading method and device of substrate management controller, storage medium and electronic equipment

    CN117891485A

  • Starting and upgrading system, method and equipment for double storage chips, medium and product

    CN118349290A

  • Baseboard management controller firmware upgrading method and device

    CN118626123A

Cited By

  • Electronic equipment, management controller, firmware upgrading system and firmware upgrading method

    CN122285049A