Firmware upgrade system and method, server device, program product, and storage medium

By setting a firmware upgrade module and a board management controller in a universal board, efficient PCIe retimer firmware upgrades without disassembly are achieved, solving the problem of low efficiency in existing technologies and supporting compatibility with different models of retimers and OAM interfaces.

WO2026001114A1PCT designated stage Publication Date: 2026-01-02INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/083400
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-27
Filing Date
2025-03-19
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

In existing technologies, PCIe retimer firmware upgrades require disassembly, resulting in low efficiency and inability to efficiently support different models of retimers and OAM interfaces.

Method used

A firmware upgrade module is set up in the universal baseboard, and the firmware is upgraded when the server is powered off and loaded when the server is powered on through the baseboard management controller, avoiding disassembly operations and supporting compatibility with different models of retimers and OAM interfaces.

Benefits of technology

It enables efficient firmware upgrades without disassembling the device, improves the convenience and compatibility of retimer firmware upgrades, and supports flexible combinations of various retimers and OAM interfaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025083400_02012026_PF_FP_ABST
    Figure CN2025083400_02012026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the field of universal baseboards, and provides a firmware upgrade system and method, a server device, a program product, and a storage medium, which are applied to a server. The system comprises: a baseboard management controller and a universal baseboard. A firmware upgrade module and retimers are provided on the universal baseboard, each retimer is provided with a corresponding firmware memory, and the baseboard management controller is connected to the firmware memories by means of the firmware upgrade module. The baseboard management controller is used for upgrading retimer firmware to the firmware memories by means of the firmware upgrade module when the server is in a shutdown state. The retimers are used for acquiring the upgraded retimer firmware from the firmware memories when the server enters a power-on state. An out-of-band upgrade of the retimer firmware can be implemented on the basis of the firmware upgrade module connected to the baseboard management controller and the firmware memories in the universal baseboard, so that the upgrade efficiency of the retimer firmware can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Firmware upgrade systems, methods, server equipment, program products, and storage media

[0001] Cross-references to related applications

[0002] This application claims priority to Chinese Patent Application No. 202410845178.X, filed on June 27, 2024, entitled "Firmware Upgrade System, Method, Server Equipment, Program Product and Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of general-purpose substrates, and in particular to a firmware upgrade system, method, server equipment, program product, and storage medium. Background Technology

[0004] A Universal Baseboard (UBB) is a type of OAM (OCP Acceleration Module) baseboard defined by the OCP (Open Compute Project) specification. Because it can integrate multiple OAM cards, it is widely used in servers. Since PCIe (Peripheral Component Interconnect express) signals in a Universal Baseboard typically involve cross-board transmission, which can easily lead to PCIe signal quality attenuation and loss, a PCIe retimer corresponding to the OAM interface can be set in the Universal Baseboard. This retimer can be used to recover PCIe signals transmitted across boards.

[0005] In related technologies, due to the variety of PCIe retimers and OAM interfaces, firmware adjustments and upgrades are typically required to ensure compatibility between PCIe retimers and OAM interfaces. However, these technologies usually employ specialized debugging tools connected to the retimer for firmware updates. Considering that inserting debugging tools into a fully functional device often necessitates disassembling the entire device, this significantly reduces the efficiency of firmware upgrades for retimers. Summary of the Invention

[0006] This application provides a firmware upgrade system for use in a server. The system includes a baseboard management controller and a general-purpose baseboard. The general-purpose baseboard is provided with a firmware upgrade module and a re-timer. The re-timer is provided with a corresponding firmware memory. The baseboard management controller is connected to the firmware memory through the firmware upgrade module.

[0007] The baseboard management controller, in response to determining that the server is in a power-off state, upgrades the retimer firmware to the firmware memory via the firmware upgrade module; and

[0008] The retimer is used to retrieve the upgraded retimer firmware from the firmware storage in response to determining that the server has entered the power-on state.

[0009] In some embodiments, the substrate management controller is further configured to:

[0010] When the firmware upgrade operation is triggered by the retimer, in response to determining that the server is powered on, the server is powered off; and

[0011] In response to determining that the server has entered a shutdown state, the step of upgrading the retimer firmware to the firmware storage via the firmware upgrade module is executed.

[0012] In some embodiments, the firmware upgrade module is connected to the baseboard management controller via a first integrated circuit bus, and the firmware upgrade module is connected to the firmware memory via a second integrated circuit bus.

[0013] In some embodiments, the substrate management controller is further configured to:

[0014] Obtain the bus address of the firmware storage from the firmware upgrade module;

[0015] Based on the bus address, the retimer firmware is upgraded to the firmware memory via the firmware upgrade module; and

[0016] Firmware upgrade module, used for:

[0017] Return the bus address of the firmware memory to the baseboard management controller;

[0018] The bus master writes the retimer firmware issued by the baseboard management controller into the firmware memory.

[0019] In some embodiments, the retimer is connected to the firmware memory via a third integrated circuit bus;

[0020] The firmware upgrade module is also used to: open the second integrated circuit bus in response to detecting that the server has entered the power-on state;

[0021] The retimer is also used to: retrieve the retimer firmware from the firmware storage as a bus host in response to detecting that the server has entered a power-on state.

[0022] In some embodiments, the firmware upgrade module is further configured to:

[0023] Upon detecting a power-on signal, the server is determined to be in a power-on state.

[0024] In some embodiments, the substrate management controller is further configured to:

[0025] After upgrading the retimer firmware to the firmware memory via the firmware upgrade module, the firmware to be verified is read from the firmware memory via the firmware upgrade module.

[0026] The firmware to be verified is compared and verified with the retimer firmware; and

[0027] In response to the determination that the firmware to be verified is different from the retimer firmware, the retimer firmware is re-upgraded to the firmware memory via the firmware upgrade module.

[0028] In some embodiments, the substrate management controller is further configured to:

[0029] The first hash value of the firmware to be verified is compared and verified with the second hash value of the retimer firmware.

[0030] In some embodiments, the firmware upgrade module is a complex programmable logic device or a field-programmable gate array.

[0031] In some embodiments, the firmware memory is an electrically erasable programmable read-only memory.

[0032] In some embodiments, the firmware upgrade system includes multiple retimers, and the general-purpose substrate includes open computing acceleration module interfaces corresponding to each retimer; wherein, different models of retimers correspond to different first bill of materials attributes in the general-purpose substrate design stage, and different models of open computing acceleration module interfaces correspond to different second bill of materials attributes in the general-purpose substrate design stage.

[0033] In some embodiments, multiple combinations of bill of materials attributes are obtained by combining different first bill of materials attributes with different second bill of materials attributes; and

[0034] By combining various bill of materials attributes to assemble a general-purpose substrate, different models of retimers and different models of open computing acceleration module interfaces are combined and assembled onto the general-purpose substrate.

[0035] This application also provides a firmware upgrade method, applied to the firmware upgrade system described above, the method comprising:

[0036] When the baseboard management controller determines that the server is in a power-off state, it upgrades the retimer firmware to the firmware memory corresponding to the retimer in the general baseboard through the firmware upgrade module in the general baseboard.

[0037] When the server enters the power-on state, the retimer retrieves the upgraded retimer firmware from the firmware storage.

[0038] This application also provides a server device, including the firmware upgrade system described above.

[0039] This application also provides a computer program product, including computer-executable instructions, which, when executed by one or more processors, implement the steps of the firmware upgrade method described above.

[0040] This application also provides a non-volatile computer-readable storage medium storing computer-executable instructions, which, when loaded and executed by one or more processors, implement the firmware upgrade method described above.

[0041] This application provides a firmware upgrade system for a server. The system includes: a baseboard management controller and a general-purpose baseboard. The general-purpose baseboard is equipped with a firmware upgrade module and a re-timer. The re-timer is equipped with a corresponding firmware memory. The baseboard management controller is connected to the firmware memory through the firmware upgrade module. The baseboard management controller is used to upgrade the re-timer firmware to the firmware memory through the firmware upgrade module when the server is in a power-off state. The re-timer is used to retrieve the upgraded re-timer firmware from the firmware memory when the server enters a power-on state. Attached Figure Description

[0042] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0043] Figure 1 is a structural block diagram of a firmware upgrade system provided in an embodiment of this application.

[0044] Figure 2 is a structural block diagram of another firmware upgrade system provided in an embodiment of this application.

[0045] Figure 3 is a flowchart of a firmware upgrade method provided in an embodiment of this application.

[0046] Figure 4 is a flowchart of another firmware upgrade method provided in the embodiments of this application.

[0047] Figure 5 is a structural block diagram of the server device provided in the embodiment of this application.

[0048] Figure 6 is a structural block diagram of the computer program product provided in the embodiments of this application.

[0049] Figure 7 is a structural block diagram of the non-volatile computer-readable storage medium provided in the embodiments of this application. Detailed Implementation

[0050] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0051] A Universal Baseboard (UBB) is a type of OAM (OCP Acceleration Module) baseboard defined by the OCP (Open Compute Project) specification. Because a Universal Baseboard can integrate multiple OAM cards, it is widely used in servers. Since PCIe signals (Peripheral Component Interconnect express, a high-speed serial computer expansion bus standard) in a Universal Baseboard typically involve cross-board transmission, which can easily lead to PCIe signal quality attenuation and loss, a PCIe retimer corresponding to the OAM interface can be set in the Universal Baseboard. This retimer can be used to recover PCIe signals transmitted across boards.

[0052] In related technologies, due to the variety of PCIe retimers and OAM interfaces, firmware adjustments and updates are typically required to ensure compatibility between the retimer and the OAM interface. However, these technologies usually employ specialized debugging tools connected to the retimer for firmware updates. Considering that inserting debugging tools into a complete device often necessitates disassembling the entire device, this significantly reduces the efficiency of retimer firmware upgrades. Therefore, this application proposes a firmware upgrade module embedded in a general-purpose substrate. This module enables out-of-band upgrades of the retimer firmware, thereby effectively improving the upgrade efficiency of the retimer firmware.

[0053] For ease of understanding, please refer to Figure 1, which is a structural block diagram of a firmware upgrade system provided in an embodiment of this application. This system can be applied to a server and may include: a baseboard management controller 10 and a general-purpose baseboard 20. The general-purpose baseboard 20 is provided with a firmware upgrade module 21 and a re-timer 23. The re-timer 23 is provided with a corresponding firmware memory 22. The baseboard management controller 10 is connected to the firmware memory 22 through the firmware upgrade module 21.

[0054] In the application, the baseboard management controller 10 can be used to upgrade the retimer firmware to the firmware memory 22 via the firmware upgrade module 21 in response to determining that the server is in a power-off state. The retimer 23 can be used to retrieve the upgraded retimer firmware from the firmware memory 22 in response to determining that the server has entered a power-on state.

[0055] It should be noted that the firmware update operation for the retimer in the firmware storage 22 in this embodiment occurs during the server shutdown period. During server shutdown, the retimer 23 is not operational, and therefore the retimer firmware in the firmware storage 22 is not loaded. Thus, updating the firmware file at this time will not affect the normal operation of the retimer 23. After the firmware upgrade is completed, simply restarting the server is sufficient to re-enter the retimer 23 and reload the firmware from the corresponding firmware storage 22 for the new firmware to take effect.

[0056] It is worth noting that, to enable out-of-band firmware upgrades, this embodiment specifically adds a firmware upgrade module 21 to the general-purpose baseboard 20. First, the firmware upgrade module 21 is connected to each firmware memory 22 and can write data to and read data from each firmware memory 22. Additionally, the firmware upgrade module 21 can also be connected to an external baseboard management controller 10, capable of receiving and processing instructions issued by the baseboard management controller 10, and can also return data requested by the baseboard management controller 10. Furthermore, when the baseboard management controller 10 determines that the server is in a powered-off state, it can directly flash the retimer firmware to the corresponding firmware memory 22 through the firmware upgrade module 21. After the firmware flashing is completed, the retimer 23 can retrieve the updated retimer firmware from the corresponding firmware memory 22 after a reboot. As can be seen, by adding the firmware upgrade module 21, users can directly operate the baseboard management controller 10 to complete the retimer firmware flashing when performing retimer firmware upgrades, without having to connect the debugging tool to the retimer 23, and thus without having to disassemble the entire server, which can significantly improve the convenience of retimer firmware updates.

[0057] It should be noted that there is a one-to-one correspondence between the retimer 23 and the firmware memory 22, meaning that each retimer 23 has its own dedicated firmware memory 22. Furthermore, the types of retimers 23 can be different, and the retimer firmware stored in each firmware memory 22 can be different, thus meeting the operational requirements of different types of retimers 23. Additionally, the general-purpose substrate 20 can be equipped with multiple sets of retimers 23 and firmware memories 22 to meet the needs of multiple OAM cards (not shown). This application embodiment does not limit the specific number of sets, which can be set according to actual application requirements, for example, it can be 8 sets. This application embodiment also does not limit the hardware form of the firmware memory 22, as long as it can meet the data storage requirements, for example, it can be an electrically erasable programmable read-only memory (EEPROM).

[0058] It should also be noted that the embodiments of this application do not limit the hardware link configuration and communication method between the baseboard management controller 10 and the firmware upgrade module 21, between the firmware upgrade module 21 and each firmware memory 22, and between the retimer 23 and the firmware memory 22. The hardware link and communication method can refer to the relevant technologies of communication buses and be set according to actual needs. For example, the hardware link can be an I2C bus (Inter-Integrated Circuit), and the communication method between hardware components can follow the I2C protocol.

[0059] It should also be noted that the hardware form of the firmware upgrade module 21 is not limited in the embodiments of this application. As long as it can ensure that the firmware upgrade module 21 can receive, process and respond to the instructions issued by the baseboard management controller 10, it can be set according to the actual application requirements. For example, the firmware upgrade module 21 is a complex programmable logic device (CPLD) or a field programmable gate array (FPGA).

[0060] Furthermore, this embodiment does not limit the process of the baseboard management controller 10 flashing the re-timer firmware to the firmware memory 22 via the firmware upgrade module 21, and can be set according to actual application requirements. For example, the baseboard management controller 10 can first control the firmware upgrade module 21 to erase the firmware memory 22. After erasure, the baseboard management controller 10 can further control the firmware upgrade module 21 to burn the re-timer firmware to the firmware memory 22 to complete the firmware update. Of course, to determine whether the correct firmware has been written to the firmware memory 22, after the firmware burning is completed, the baseboard management controller 10 can also control the firmware upgrade module 21 to read the firmware from the firmware memory 22 and use the firmware as the firmware to be verified. Subsequently, the baseboard management controller 10 can compare the firmware to be verified with the correct re-timer firmware. If they are the same, it means that the burning is correct. If they are different, it means that the burning is incorrect. At this time, the baseboard management controller 10 can re-control the firmware upgrade module 21 to burn the firmware to the firmware memory 22.

[0061] Based on this, the baseboard management controller 10 can also be used to: after upgrading the retimer firmware to the firmware memory 22 via the firmware upgrade module 21, read the firmware to be verified from the firmware memory 22 via the firmware upgrade module 21; compare and verify the firmware to be verified with the retimer firmware; and, in response to determining that the firmware to be verified is different from the retimer firmware, upgrade the retimer firmware to the firmware memory 22 again via the firmware upgrade module 21.

[0062] It should be noted that the embodiments of this application do not limit how the baseboard management controller 10 compares and verifies the firmware to be verified and the re-timer firmware; relevant technologies can be consulted. For example, a hash value can be set for the re-timer firmware. This hash value is used to verify the correctness and integrity of the firmware file. Then, the baseboard management controller 10 can compare and verify the first hash value of the firmware to be verified with the second hash value of the re-timer firmware. If the first hash value and the second hash value are the same, it indicates that the burning is correct. If the first hash value and the second hash value are different, it indicates that the burning is incorrect.

[0063] Based on this, the baseboard management controller 10 can also be used to compare and verify the first hash value of the firmware to be verified with the second hash value of the retimer firmware.

[0064] Furthermore, considering that the baseboard management controller 10 typically has the function of managing and controlling the server, in response to determining that the user has triggered a retimer firmware upgrade operation, the baseboard management controller 10 can determine whether the server is in a powered-on state. In response to determining that the server is in a powered-on state, it can control the server to power off, and can only start flashing and upgrading the retimer firmware when it is determined that the server has entered a powered-off state.

[0065] Based on this, the baseboard management controller 10 can also be used to: control the server to shut down in response to determining that the server is in a powered-on state when a re-timer firmware upgrade operation is triggered; and execute the step of upgrading the re-timer firmware to the firmware memory 22 via the firmware upgrade module 21 in response to determining that the server has entered a powered-off state.

[0066] Based on the above embodiments, this application can include a firmware upgrade module in a general-purpose substrate. This firmware upgrade module can be connected to the firmware memory of the retimer or to an external substrate management controller. When the substrate management controller determines that the server is in a powered-off state, it can upgrade the retimer firmware to the firmware memory via the firmware upgrade module. When the retimer enters a powered-on state, it can retrieve the upgraded retimer firmware from the firmware memory. Thus, this application can achieve out-of-band upgrades of the retimer firmware by including a firmware upgrade module connected to the substrate management controller and firmware memory in a general-purpose substrate. This avoids the need to disassemble the entire server to upgrade the retimer firmware, thereby improving the efficiency of the retimer firmware upgrade.

[0067] Based on the above embodiments, the structure and operation of the firmware upgrade system will be further described below in conjunction with the bus structure. Please refer to Figure 2, which is a structural block diagram of another firmware upgrade system provided in this application embodiment. In this structural block diagram, the firmware upgrade module 21 is connected to the baseboard management controller 10 through the first integrated circuit bus 1, and the firmware upgrade module 21 is connected to the firmware memory 22 through the second integrated circuit bus 2.

[0068] In the application, the baseboard management controller 10 can also be used to: obtain the bus address of the firmware memory 22 from the firmware upgrade module 21; and upgrade the retimer firmware to the firmware memory 22 via the firmware upgrade module 21 based on the bus address.

[0069] The firmware upgrade module 21 can be used to: return the bus address of the firmware memory 22 to the baseboard management controller 10; and write the retimer firmware issued by the baseboard management controller 10 into the firmware memory 22 as a bus master.

[0070] In simple terms, the baseboard management controller 10 can interact with the firmware upgrade module 21 based on the I2C bus protocol, for example, by sending the re-timer firmware to be burned. Similarly, the firmware upgrade module 21 can also interact with each firmware memory 22 based on the I2C bus protocol, such as erasing the firmware memory 22 and burning new re-timer firmware. Since each firmware memory 22 has a corresponding bus address in the bus, before firmware burning, the baseboard management controller 10 can first request the bus address of the firmware memory 22 to be updated from the firmware upgrade module 21, and then control the firmware upgrade module 21 to write the new re-timer firmware to the firmware memory 22 based on the bus address. It is worth noting that the firmware upgrade module 21 can write the re-timer firmware to the firmware memory 22 based on its bus master identity (I2C Master).

[0071] Furthermore, the retimer 23 is connected to the firmware memory 22 via the third integrated circuit bus 3.

[0072] It is worth noting that when the components in the firmware upgrade system are connected via an integrated circuit bus, in order to avoid interfering with the operation of the re-timer 23, this embodiment of the application also needs to solve the I2C multi-master conflict problem. In some embodiments, since the re-timer 23 is also an I2C master of the firmware memory 22, both the re-timer 23 and the firmware upgrade module 21 are I2C masters for the firmware memory 22. In this case, if these two masters work simultaneously, it will cause a bus communication conflict, thereby affecting the communication result.

[0073] Therefore, the solution provided in this application embodiment is as follows: 1. Firmware burning only occurs when the server is powered off. This is because when the server is powered off, the re-timer terminal 23 is not powered on, and thus the third integrated circuit bus 3 between the re-timer 23 and the firmware memory 22 is not working. For the firmware memory 22, only the firmware upgrade module 21 is its bus host. At this time, the firmware burning operation of the firmware upgrade module 21 on the firmware memory 22 will not be interfered with by the re-timer 23. 2. When the firmware upgrade module 21 detects that the server is powered on, it actively opens the second integrated circuit bus 2 with the firmware memory 22. When the re-timer 23 is working normally, since the firmware upgrade module 21 has actively opened the second integrated circuit bus 2, the bus host of the firmware memory 22 is only the corresponding re-timer 23. Therefore, the loading of the firmware file by the re-timer 23 will also not be interfered with by the firmware upgrade module 21. In this way, this application embodiment can ensure that the firmware upgrade module 21 and the re-timer 23 will not encounter the I2C multi-master conflict problem, thereby ensuring the normal operation of both components.

[0074] Based on this, the firmware upgrade module 21 can also be used to: open the second integrated circuit bus 2 in response to detecting that the server has entered the power-on state. The re-timer 23 can also be used to: retrieve the re-timer firmware from the firmware memory as a bus master in response to detecting that the server has entered the power-on state.

[0075] In addition, the firmware upgrade module 21 can actively detect power-on signals (such as PWRBTN signal, Power Button, power button signal), and upon detecting the power-on signal, determine that the server has entered the power-on state and actively open the second integrated circuit bus.

[0076] Based on this, the firmware upgrade module 21 can also be used to: determine that the server has entered the power-on state in response to the detection of a power-on signal.

[0077] Based on the above embodiments, since the firmware of the retimer can be flexibly flashed in this application embodiment, the compatibility of the retimer can be significantly improved. Therefore, different types and manufacturers of retimers and Open Compute Acceleration Module (OAM) interfaces can be set on this basis to meet the needs of different users. Considering that the OAM interface and pin attributes both comply with the OCP OAM design specification, the differences only lie in the interconnect topology, IO level, and some functional attribute configurations. The PCIe retimer design also basically complies with the PIN to PIN design, with differences only in some GPIO or timing designs. Therefore, for the same general-purpose board design, this application embodiment can set different types of retimers and open compute acceleration module interfaces on the same general-purpose board by controlling the loading of hardware materials. In order to realize the setting of retimers and open compute acceleration module interfaces from different manufacturers on the general-purpose board, this application embodiment can assign different first bill of materials attributes (BOM attributes) to different models of retimers in the general-purpose board design stage, and assign different second bill of materials attributes to different models of open compute acceleration module interfaces in the general-purpose board design stage. The bill of materials attributes are used to determine whether to load the corresponding components. Furthermore, in this embodiment, it is only necessary to combine different first bill of materials attributes with different second bill of materials attributes to obtain multiple bill of materials attribute combinations, and assemble a general-purpose substrate according to multiple bill of materials attribute combinations, so that different models of retimers and different models of open computing acceleration module interfaces can be assembled onto the same general-purpose substrate.

[0078] Based on this, the general-purpose substrate includes open computing acceleration module interfaces that correspond one-to-one with the retimer. Different models of retimers correspond to different first bill of materials attributes in the general-purpose substrate design stage, and different models of open computing acceleration module interfaces correspond to different second bill of materials attributes in the general-purpose substrate design stage. Different models of retimers and different models of open computing acceleration module interfaces are combined and assembled onto the general-purpose substrate by combining different first bill of materials attributes with different second bill of materials attributes to obtain multiple bill of materials attribute combinations, and then assembling the general-purpose substrate according to the multiple bill of materials attribute combinations.

[0079] For example, considering the peer-to-peer (P2P) attribute of retimer chips, different materials can be fed by setting different BOM attributes. For instance, CN1 attribute can be defined for retimer chip 1, CN2 attribute for retimer chip 2, CN3 attribute for OAM1, CN4 attribute for OAM2, and so on. Furthermore, the above attributes can be combined as follows:

[0080] 1. Retimer chip 1+OAM1: CN1 attribute + CN3 attribute.

[0081] 2. Retimer chip 1+OAM2: CN1 attribute + CN4 attribute.

[0082] 3. Retimer chip 2+OAM1: CN2 attribute + CN3 attribute.

[0083] 4. Retimer chip 2+OAM2: CN2 attribute + CN4 attribute.

[0084] During assembly, if retimer chip 1+OAM1 or retimer chip 2+OAM2 are required, they can be assembled based on CN1 attribute + CN3 attribute and CN2 attribute + CN4 attribute.

[0085] Please refer to Figures 3-7 for an introduction to the firmware upgrade method, server device, computer program product, and non-volatile computer-readable storage medium provided in the embodiments of this application. The firmware upgrade method, server device, computer program product, and non-volatile computer-readable storage medium described below can be referred to in correspondence with the firmware upgrade system described above.

[0086] Please refer to Figure 3, which is a flowchart of a firmware upgrade method provided in an embodiment of this application. The method is applied to the firmware upgrade system described above and includes:

[0087] S301 When the baseboard management controller determines that the server is in a power-off state, it upgrades the retimer firmware to the firmware memory corresponding to the retimer in the general baseboard through the firmware upgrade module in the general baseboard.

[0088] S302: When the server enters the power-on state, the retimer retrieves the upgraded retimer firmware from the firmware storage.

[0089] As can be seen, this application allows for the inclusion of a firmware upgrade module in a general-purpose substrate. This firmware upgrade module can be connected to the firmware memory of the retimer or to an external substrate management controller. The substrate management controller can then upgrade the retimer firmware to the firmware memory via this firmware upgrade module when the server is in a powered-off state. The retimer can then retrieve the upgraded retimer firmware from the firmware memory when the server is powered on. Thus, this application achieves out-of-band upgrades of the retimer firmware by including a firmware upgrade module connected to both the substrate management controller and the firmware memory in a general-purpose substrate. This avoids the need to disassemble the entire server to upgrade the retimer firmware, thereby improving the efficiency of the retimer firmware upgrade.

[0090] In some embodiments, the method may further include:

[0091] When the baseboard management controller triggers a retimer firmware upgrade operation, it controls the server to shut down in response to determining that the server is in a powered-on state. Upon determining that the server has entered a powered-off state, it executes the step of upgrading the retimer firmware to the firmware memory via the firmware upgrade module.

[0092] In some embodiments, the firmware upgrade module is connected to the baseboard management controller via a first integrated circuit bus and to the firmware memory via a second integrated circuit bus. The method may further include:

[0093] The baseboard management controller obtains the bus address of the firmware memory from the firmware upgrade module.

[0094] The firmware upgrade module returns the bus address of the firmware memory to the baseboard management controller.

[0095] The baseboard management controller upgrades the retimer firmware to the firmware memory via the firmware upgrade module based on the bus address.

[0096] The firmware upgrade module, acting as a bus host, writes the retimer firmware issued by the baseboard management controller into the firmware memory.

[0097] In some embodiments, the retimer is connected to the firmware memory via a third integrated circuit bus. The method may further include:

[0098] When the firmware upgrade module detects that the server has entered the power-on state, it performs an open circuit operation on the second integrated circuit bus.

[0099] When the retimer detects that the server has entered the power-on state, it retrieves the retimer firmware from the firmware storage as a bus host.

[0100] In some embodiments, the method may further include:

[0101] When the firmware upgrade module detects a power-on signal, it determines that the server has entered the power-on state.

[0102] In some embodiments, the method may further include:

[0103] After the baseboard management controller upgrades the retimer firmware to the firmware memory via the firmware upgrade module, it reads the firmware to be verified from the firmware memory via the firmware upgrade module. The firmware to be verified is compared with the retimer firmware, and if it is determined that the firmware to be verified is different from the retimer firmware, the retimer firmware is upgraded to the firmware memory again via the firmware upgrade module.

[0104] In some embodiments, the method may further include:

[0105] The baseboard management controller compares and verifies the first hash value of the firmware to be verified with the second hash value of the retimer firmware.

[0106] In some embodiments, the firmware upgrade module is a complex programmable logic device or a field-programmable gate array.

[0107] In some embodiments, the firmware memory is an electrically erasable programmable read-only memory.

[0108] In some embodiments, the general-purpose substrate includes an open computing acceleration module interface corresponding to a retimer. Different models of retimers correspond to different first bill of materials attributes in the general-purpose substrate design phase, and different models of open computing acceleration module interfaces correspond to different second bill of materials attributes in the general-purpose substrate design phase. Different models of retimers and different models of open computing acceleration module interfaces are combined and assembled onto the general-purpose substrate by combining different first bill of materials attributes with different second bill of materials attributes to obtain multiple bill of materials attribute combinations, and then assembling the general-purpose substrate according to the multiple bill of materials attribute combinations.

[0109] The firmware upgrade method described above will be fully described below based on an example. Please refer to Figure 4, which is a flowchart of a firmware upgrade method provided in an embodiment of this application. This method may include:

[0110] 1) This system includes at least a PCIe retimer, an I2C control link, and an OAM peripheral configuration circuit.

[0111] 2) The PCIe retimer, as a crucial component of the universal base box (UBB BOX), is designed from two aspects: ① Based on the different BOM CN attributes set in the schematic, compatibility and adaptation are achieved for retimers and OAM modules of different brands and packages. ② Out-of-band upgrades are implemented for the retimer, addressing the differences in upgrade requirements for different debugging tools (dongle tools) caused by different retimers of different brands, and the differences in out-of-band upgrade development tools caused by different SDK boards (Software Development Kits).

[0112] 3) When there is a firmware refresh requirement for the re-timer, the machine status is first determined. The refresh needs to be performed in S5 state (server shutdown state).

[0113] 4) When the server is working normally, the retimer is powered on and the I2C bus between the retimer and the firmware memory (EEPROM) is working normally. If the baseboard management controller initiates a refresh request through the firmware upgrade module (CPLD) at this time, it will cause I2C master contention, which may lead to refresh failure.

[0114] 5) In S5 state, the retimer is not powered on, and the I2C link between the retimer and the firmware memory is not working and is in a disconnected state. At this moment, a refresh action is initiated, and the baseboard management controller works normally through the I2C link between the firmware upgrade module and the retimer firmware memory.

[0115] 6) When the refresh begins, the baseboard management controller erases and re-burns the re-timer firmware memory through the firmware upgrade module. After burning is completed, the contents of the firmware memory are read back and the contents are verified.

[0116] 7) If the verification is successful, the power-on action is executed. When the retimer is powered on, it obtains the contents of the retimer firmware memory and completes the configuration of the new parameters.

[0117] 8) In response to the normal operation of determining no refresh request, the retimer can directly obtain the configuration information in the retimer firmware memory to complete the parameter configuration.

[0118] 9) In order to avoid the multi-master contention problem of I2C slave, the firmware upgrade module detects the PWRBTN signal (power-on signal) of the general baseboard box and opens the I2C link with the firmware memory when the device is powered on.

[0119] This application also provides a server device including the firmware upgrade system described above. The firmware upgrade system can be either as shown in Figure 1 or further as shown in Figure 2, and can be configured according to actual application requirements.

[0120] It should be noted that the embodiments of this application do not limit the other hardware structures in the server device, and can be set according to actual application requirements. For example, the server device may also include a processor, memory, power supply, access interface, input / output interface, communication bus, and other structures. In addition, the components in the firmware upgrade system in the above embodiments may also have a connection relationship with the components in the server device. For example, the OAM interface in the general-purpose board can be connected to the central processing unit in the server device through the PCIe bus. Then, the OAM card (such as a GPU accelerator card) connected to the OAM interface can communicate with the server's central processing unit through the PCIe bus, and the PCIe signal sent by the OAM card to the server's central processing unit can be recovered by the retimer corresponding to the OAM interface in the general-purpose board to improve the cross-board transmission quality of the PCIe signal.

[0121] Since the embodiments of the server device part correspond to the embodiments of the firmware upgrade system part, please refer to the description of the embodiments of the firmware upgrade system part for the embodiments of the server device part, and they will not be repeated here.

[0122] This application also provides a computer program product, including computer-executable instructions, which, when executed by a processor, implement the firmware upgrade method described in the above embodiments.

[0123] Since the embodiments of the computer program product part correspond to the embodiments of the firmware upgrade method part, please refer to the description of the embodiments of the firmware upgrade method part for the embodiments of the computer program product part, and will not be repeated here.

[0124] This application also provides a non-volatile computer-readable storage medium storing computer-executable instructions, which, when executed by one or more processors, implement the firmware upgrade method described in the above embodiments.

[0125] Since the embodiments of the non-volatile computer-readable storage medium portion correspond to the embodiments of the firmware upgrade method portion, the embodiments of the storage medium portion are described in the description of the embodiments of the firmware upgrade method portion, and will not be repeated here.

[0126] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to the method section.

[0127] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can 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 steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0129] The firmware upgrade system, method, server equipment, program product, and storage medium provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of this application. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of this application.

Claims

1. A firmware upgrade system, characterized in that, Applied to a server, the system includes: a baseboard management controller and a general baseboard, wherein the general baseboard is provided with a firmware upgrade module and a re-timer, the re-timer is provided with a corresponding firmware memory, and the baseboard management controller is connected to the firmware memory through the firmware upgrade module; The baseboard management controller is configured to, in response to determining that the server is in a power-off state, upgrade the retimer firmware to the firmware memory via the firmware upgrade module; and The retimer is used to retrieve the upgraded retimer firmware from the firmware memory in response to determining that the server has entered the power-on state.

2. The firmware upgrade system according to claim 1, characterized in that, The baseboard management controller is also used for: When the firmware upgrade operation is triggered by the retimer, in response to determining that the server is in the powered-on state, the server is controlled to shut down. as well as In response to determining that the server has entered the shutdown state, the step of upgrading the retimer firmware to the firmware memory via the firmware upgrade module is performed.

3. The firmware upgrade system according to claim 1, characterized in that, The firmware upgrade module is connected to the baseboard management controller via a first integrated circuit bus, and the firmware upgrade module is connected to the firmware memory via a second integrated circuit bus.

4. The firmware upgrade system according to claim 3, characterized in that, The baseboard management controller is also used for: Obtain the bus address of the firmware memory from the firmware upgrade module; Based on the bus address, the retimer firmware is upgraded to the firmware memory via the firmware upgrade module; as well as The firmware upgrade module is used for: Return the bus address of the firmware memory to the baseboard management controller; The retimer firmware issued by the baseboard management controller is written into the firmware memory as a bus host.

5. The firmware upgrade system according to claim 4, characterized in that, The re-timer is connected to the firmware memory via a third integrated circuit bus; The firmware upgrade module is further configured to: in response to detecting that the server has entered a power-on state, perform an open-circuit process on the second integrated circuit bus; and The retimer is also used to: in response to detecting that the server has entered a power-on state, retrieve the retimer firmware from the firmware memory as a bus host.

6. The firmware upgrade system according to claim 5, characterized in that, The firmware upgrade module is also used for: In response to the detection of a power-on signal, it is determined that the server has entered the power-on state.

7. The firmware upgrade system according to claim 1, characterized in that, The baseboard management controller is also used for: After the retimer firmware is upgraded to the firmware memory via the firmware upgrade module, the firmware to be verified is read from the firmware memory via the firmware upgrade module. The firmware to be verified is compared and verified with the re-timer firmware; as well as In response to determining that the firmware to be verified is different from the retimer firmware, the retimer firmware is re-upgraded to the firmware memory via the firmware upgrade module.

8. The firmware upgrade system according to claim 7, characterized in that, The baseboard management controller is also used for: The first hash value of the firmware to be verified is compared and verified with the second hash value of the retimer firmware.

9. The firmware upgrade system according to claim 1, characterized in that, The firmware upgrade module is a complex programmable logic device or a field-programmable gate array.

10. The firmware upgrade system according to claim 1, characterized in that, The firmware memory is an electrically erasable programmable read-only memory.

11. The firmware upgrade system according to any one of claims 1 to 10, characterized in that, The firmware upgrade system includes multiple re-timers, and the universal baseboard includes open computing acceleration module interfaces corresponding to each re-timer; wherein... Different models of retimers correspond to different first bill of materials attributes in the general-purpose substrate design stage, and different models of open computing acceleration module interfaces correspond to different second bill of materials attributes in the general-purpose substrate design stage.

12. The firmware upgrade system according to claim 11, characterized in that, Multiple combinations of bill of materials attributes are obtained by combining different first bill of materials attributes with different second bill of materials attributes; and Based on the combination of various bill of materials attributes, the assembly method of the general-purpose substrate is obtained, and different models of retimers and different models of open computing acceleration module interfaces are combined and assembled onto the general-purpose substrate.

13. The firmware upgrade system according to claim 1, characterized in that, The substrate management controller is used for: The firmware memory is erased via the firmware upgrade module; and In response to determining that the firmware upgrade module has completed erasing the firmware memory, the re-timer is burned into the firmware memory through the firmware upgrade module to complete the upgrade of the re-timer into the firmware memory.

14. The firmware upgrade system according to claim 1, characterized in that, The baseboard management controller is also used for: Request the bus address of the firmware memory from the firmware upgrade module; and Based on the bus address, the firmware upgrade module is controlled to burn the retimer into the firmware memory.

15. The firmware upgrade system according to claim 1, characterized in that, The firmware upgrade system includes multiple retimers and multiple firmware upgrade modules, wherein the multiple retimers are of different types, and each firmware upgrade module stores different retimer firmware.

16. The firmware upgrade system according to claim 1, characterized in that, The baseboard management controller and the firmware upgrade module are connected via an integrated circuit bus, the firmware upgrade module and the firmware memory are connected via an integrated circuit bus, and the retimer and the firmware memory are connected via an integrated circuit bus.

17. A firmware upgrade method, characterized in that, The method, applied to the firmware upgrade system as described in any one of claims 1 to 16, comprises: When the baseboard management controller determines that the server is in a power-off state, it upgrades the retimer firmware to the firmware memory corresponding to the retimer in the general baseboard through the firmware upgrade module in the general baseboard. When the retimer determines that the server has entered the power-on state, it retrieves the upgraded retimer firmware from the firmware memory.

18. A server device, characterized in that, Includes the firmware upgrade system as described in any one of claims 1 to 16.

19. A computer program product comprising computer-executable instructions, characterized in that, When the computer-executable instructions are executed by one or more processors, they implement the steps of the firmware upgrade method of claim 17.

20. A non-volatile computer-readable storage medium, characterized in that, The non-volatile computer-readable storage medium stores computer-executable instructions, which, when loaded and executed by one or more processors, implement the firmware upgrade method as described in claim 17.

Citation Information

Patent Citations

  • Server system

    CN104516751A

  • Firmware out-of-band upgrading method and device, electronic equipment and storage medium

    CN115794182A

  • Chip upgrading method and device, equipment and medium

    CN116627463A

  • Firmware updating method and device of retimer, storage medium and electronic equipment

    CN117435224A

  • Firmware upgrading system and method, server device, program product and storage medium

    CN118409775A