A method for upgrading power supply firmware and a computing device
By assessing power health and performing firmware upgrades while the computing device is operating normally, the problem of risk management impacting power firmware upgrades in existing technologies is solved, achieving efficient and stable power firmware upgrades and fault repair.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- XFUSION DIGITAL TECH CO LTD
- Filing Date
- 2026-05-26
- Publication Date
- 2026-07-31
AI Technical Summary
In existing technologies, server power supply firmware upgrades need to be performed while the computing device is powered off, which affects the risk management capabilities of high-risk power supplies and leads to delays in repairs.
When the computing device is working normally, its health is assessed by acquiring power supply operating data, and firmware upgrades are performed when there are enough healthy power supplies, ensuring the computing device's ability to manage risks from high-risk power supplies.
This enables firmware upgrades of the power supply while the computing device is running normally, maintaining risk management capabilities, preventing power supply failures, improving upgrade efficiency, and avoiding channel interference and resource waste.
Smart Images

Figure CN122489100A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method for upgrading power firmware and a computing device. Background Technology
[0002] In related technologies, server power supply stability is ensured by upgrading the server power supply firmware. However, this firmware upgrade method requires the computing device to be powered off, which can easily affect the computing device's ability to manage high-risk power supplies, leading to delays in the repair of high-risk power supplies. Summary of the Invention
[0003] The purpose of this application is to provide a power supply firmware upgrade method and a computing device, so as to upgrade the power supply firmware while the computing device is working normally, so as to maintain the computing device's risk control capability for high-risk power supplies, thereby ensuring that the board management controller can repair high-risk power supplies in a timely manner.
[0004] In a first aspect, embodiments of this application provide a method for upgrading power firmware for a baseboard management controller. The baseboard management controller is connected to multiple power supplies included in a computing device. The method includes: When a power supply in the in-situ state is identified among multiple power supplies, the operating data of the power supply in the in-situ state is acquired. Based on the operating data of the power supply in the in-situ state, determine the health of the power supply in the in-situ state. Based on the health status of the power supplies in the in-situ state, determine the number of healthy power supplies in the in-situ state. If the number of healthy power supplies is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in its current state, then the firmware of the power supplies in the in-situ state is upgraded based on their health status.
[0005] In the method of this application embodiment, the health of the power supply in the in-situ state can be determined by using the operating data of the power supply in the in-situ state, and based on this, the number of healthy power supplies in the in-situ state can be determined. If the number of healthy power supplies is greater than or equal to the minimum number of power supplies when the computing device is operating normally in the current state, it means that the number of healthy power supplies of the computing device is sufficient to meet the normal operation of the computing device under power redundancy. Therefore, the health of the power supply in the in-situ state can be used as a reference to upgrade the firmware based on the health of the power supply in the in-situ state.
[0006] As can be seen, the method of this application embodiment can perform firmware upgrades on the power supply in the in-situ state with reference to the health of the power supply in the in-situ state when the computing device is running normally, thereby maintaining the computing device's risk control capability for high-risk power supplies and ensuring that the board management controller can repair high-risk power supplies in a timely manner.
[0007] In one possible implementation, the identity of the power supply in the in-situ state is stored in an in-situ power supply list, and the method further includes: In response to the detection of a hot-plugging event of a target power supply among multiple power supplies, the identity identifier of the target power supply is obtained; Update the list of in-situ power supplies based on the identity of the target power supply.
[0008] When a hot-plug event occurs in a target power supply among multiple power supplies, it indicates that the number of identity identifiers corresponding to the in-situ power supply list has changed. Therefore, when a hot-plug event is detected in a target power supply, the identity identifiers of the power supplies in the in-situ power supply list can be updated based on the identity identifier of the target power supply.
[0009] In one possible implementation, the list of in-situ power sources is updated based on the identity of the target power source, including: Determine the state of the target power supply based on the hot-plugging event that occurs in the target power supply; If the target power supply is in the in-place state, it means that the baseboard management controller has detected that the target power supply is plugged into the motherboard of the computing device. Therefore, the identification of the target power supply can be added to the list of in-place power supplies. If the target power supply is in an off-site state, it means that the baseboard management controller has detected that the target power supply has been removed from the motherboard of the computing device. Therefore, the identity of the target power supply can be deleted from the list of in-situ power supplies.
[0010] In one possible implementation, the operating data of the power supply in the in-situ state includes multi-dimensional operating data of the power supply in the in-situ state. Based on the operating data of the power supply in the in-situ state, the health of the power supply in the in-situ state is determined, including: Based on the multidimensional operating data of the power supplies in the in-situ status, determine the multidimensional health indicators of the power supplies corresponding to the in-situ power supply list. The health of a power supply in its in-situ state is determined based on multidimensional health indicators.
[0011] In one possible implementation, the number of healthy power supplies in the in-situ state is determined based on their health status, including: Get the number of power supplies with a health value greater than the preset health value in the power supply list. The number of healthy power supplies is determined based on the number of power supplies with a health level greater than the preset health level.
[0012] In one possible implementation, the method further includes: In response to obtaining the current state of the computing device, determine the minimum number of power supplies required for the computing device to operate normally in the current state.
[0013] In one possible implementation, the multiple power supplies include redundant power supplies and a primary power supply, determining the minimum number of power supplies required for the computing device to operate normally in the current state, including: If the current state is power-on, confirm that the minimum number of power supplies equals the number of primary power supplies; if the current state is power-off, confirm that the minimum number of power supplies equals the number of redundant power supplies.
[0014] In one possible implementation, there are multiple power supplies in the in-service state, and the identities of these multiple in-service power supplies are stored in an in-service power supply list. Based on the health status of the in-service power supplies, firmware upgrades are performed on them, including: Based on the health status of multiple power supplies corresponding to the in-place power supply list, determine the upgrade priority of multiple power supplies corresponding to the in-place power supply list. If the number of power supplies in the in-service power supply list is greater than the minimum number of power supplies, firmware upgrades will be performed on multiple power supplies in the in-service power supply list based on their upgrade priority. The upgrade priority of a power supply is negatively correlated with its health.
[0015] In the method of this application embodiment, the health status of multiple power supplies corresponding to the in-situ power supply list can be used as a reference to determine the upgrade priority of the multiple power supplies corresponding to the in-situ power supply list, so that the upgrade priority of the multiple power supplies is negatively correlated with the health status of the multiple power supplies. The lower the health status of the power supply, the higher its safety risk. Therefore, when the upgrade priority of the power supply is negatively correlated with the health status of the power supply, the firmware upgrade can be performed on the power supplies with poor health status and high safety risk among the multiple power supplies corresponding to the in-situ power supply list based on the upgrade priority of the multiple power supplies. This can not only prevent power supply failure caused by the late upgrade of power supplies with high safety risk, but also prevent the connection channel interference problem that may be caused by simultaneously performing firmware upgrades on multiple in-situ power supplies through this serial upgrade method, thereby ensuring the stability of power supply firmware upgrade.
[0016] Furthermore, when the number of healthy power supplies is greater than the minimum number of power supplies, and the number of power supplies corresponding to the in-place power supply list is greater than the minimum number of power supplies, it means that when healthy power supplies equal to the minimum number of power supplies are supplying power to the computing device normally among the multiple power supplies corresponding to the in-place power supply list, upgrading the firmware of these remaining power supplies will not affect the normal operation of the computing device in the current state.
[0017] In one possible implementation, the upgrade priority of multiple power supplies corresponding to the in-place power supply list is determined based on their health status, including: Based on the health status of multiple power supplies corresponding to the in-situ power supply list, determine the health level of multiple power supplies corresponding to the in-situ power supply list. Based on the health levels of multiple power supplies, determine the upgrade priority of multiple power supplies corresponding to the in-place power supply list; If the target health level among multiple power supplies corresponds to at least two power supplies, it means that the health of at least two power supplies may be close. Therefore, the runtime of at least two power supplies corresponding to the target health level can be obtained. Furthermore, since the runtime of the power supply corresponding to the target health level is positively correlated with the upgrade priority of the power supply corresponding to the target health level, the longer the runtime of the power supply, the higher its risk. Therefore, the upgrade priority of at least two power supplies corresponding to the target health level can be determined based on the runtime of the power supply corresponding to the target health level. This can more accurately identify high-risk power supplies among multiple power supplies in the in-situ power supply list.
[0018] In one possible implementation, there are multiple power supplies in the in-situ state, and the identities of these multiple in-situ power supplies are stored in an in-situ power supply list; based on the health status of the in-situ power supplies, firmware upgrades are performed on the in-situ power supplies, including: If the number of power supplies corresponding to the in-place power supply list is greater than the minimum number of power supplies, the theoretical safe concurrency of firmware upgrades is determined based on the number of power supplies corresponding to the in-place power supply list and the minimum number of power supplies. This theoretical safe concurrency is used to indicate the theoretical number of power supplies in the in-place power supply list that can perform firmware upgrades in parallel. If the theoretical safe concurrency number meets the concurrency upgrade conditions, obtain the effective connection channel topology information of multiple power supplies corresponding to the baseboard management controller and the in-situ power supply list; Based on the theoretical safe concurrency and effective connection channel topology information, the actual safe concurrency is determined. This actual safe concurrency is used to indicate the actual number of power supplies that are performing firmware upgrades in parallel, corresponding to the in-situ power supply list. Based on the actual number of safe concurrent connections, the topology information of the effective connection channels, and the health status of multiple power supplies corresponding to the in-situ power supply list, firmware upgrades are performed on multiple power supplies belonging to different effective connection channels.
[0019] In the method of this application embodiment, the minimum number of power supplies can reflect the minimum number of power supplies required to ensure normal operation of the computing device in its current state. Therefore, when the number of healthy power supplies is greater than or equal to the minimum number of power supplies, as long as the healthy power supplies in the power supply list that are equal to the minimum number of power supplies are working normally, the remaining power supplies can be upgraded with firmware. Therefore, the theoretical safe concurrency of firmware upgrades can be determined based on the number of power supplies in the power supply list and the minimum number of power supplies. Then, the actual safe concurrency can be determined by combining the baseboard management controller and the topology information of the effective connection channels. Based on this, the firmware can be upgraded for multiple power supplies belonging to different effective channels by combining the actual safe concurrency and the health of multiple power supplies in the power supply list, and by referring to the topology information of the effective connection channels. This not only ensures that the baseboard management controller performs serial firmware upgrades for multiple power supplies connected to the same effective channel, but also ensures that the baseboard management controller performs parallel firmware upgrades for multiple power supplies connected to different effective channels, thereby effectively improving firmware upgrade efficiency and saving firmware upgrade time. Moreover, controlling the baseboard management controller to perform firmware upgrades for multiple power supplies belonging to different effective channels can also avoid resource waste caused by the idleness of a single connection channel and improve the utilization rate of the computing device's operation and maintenance resources.
[0020] In one possible implementation, the actual safe concurrency is determined based on the theoretical safe concurrency and the effective connection channel topology information, including: The number of valid connection channels is determined based on the topology information of the valid connection channels; If the number of valid connection channels is greater than the theoretical safe concurrency, then the actual safe concurrency is confirmed to be equal to the theoretical safe concurrency. If the number of valid connection channels is less than or equal to the theoretical safe concurrency, then the actual safe concurrency is confirmed to be equal to the number of valid connection channels.
[0021] In the method of this application embodiment, among the multiple power supplies corresponding to the in-situ power supply list, the number of healthy power supplies equal to the theoretical safe concurrency number can ensure that the requirements for normal operation of the computing device are met during the parallel upgrade of multiple power supplies. Therefore, the actual safe concurrency number can be determined by taking the theoretical safe concurrency number as the upper limit and combining it with the number of effective connection channels. In this way, when performing firmware upgrades on one power supply corresponding to each effective connection channel, it can not only ensure that the requirements for normal operation of the computing device are met during the parallel upgrade of multiple power supplies, but also prevent channel interference problems caused by simultaneously performing firmware upgrades on multiple power supplies connected to the same connection channel, thereby ensuring the stability of firmware upgrades.
[0022] In one possible implementation, firmware upgrades are performed on multiple power supplies belonging to different valid connection channels based on the actual number of secure concurrent connections, the topology information of the effective connection channels, and the health status of multiple power supplies corresponding to the in-situ power supply list. This includes: Based on the effective connection channel topology information and the actual safe concurrency, multiple power supplies corresponding to the in-situ power supply list are grouped to obtain multiple in-situ power supply groups, so that the multiple power supplies included in the same in-situ power supply group correspond to different effective connection channels. Based on the health status of multiple power supplies corresponding to the in-situ power supply list, a target in-situ power supply group is obtained from multiple in-situ power supply groups. The target in-situ power supply group includes the unupgraded power supply with the lowest health status among those corresponding to the in-situ power supply list. Firmware upgrades are performed on multiple power supplies included in the target in-situ power group in parallel.
[0023] In the method of this application embodiment, multiple power supplies corresponding to the in-situ power supply list can be grouped with reference to the effective connection channel topology information and the actual safe concurrency to obtain multiple in-situ power supply groups. This allows multiple power supplies in the same in-situ power supply group to correspond to different effective connection channels. Therefore, when a target in-situ power supply group is obtained from multiple in-situ power supply groups, the firmware of multiple power supplies in the target in-situ power supply group can be upgraded in parallel. This not only improves the power supply upgrade efficiency but also avoids the channel interference problem caused by simultaneously upgrading the firmware of multiple power supplies connected to the same connection channel.
[0024] Furthermore, since the target in-situ power group is selected from multiple in-situ power groups based on the health status of multiple power sources corresponding to the in-situ power list, ensuring that the target in-situ power group includes the one with the lowest health status among the un-upgraded power sources corresponding to the in-situ power list, the method of this application embodiment can prioritize firmware upgrades for power sources with lower health status and higher safety risks, preventing the risk management capability from declining due to late firmware upgrades.
[0025] Secondly, embodiments of this application also provide a parameter configuration device for a computing cluster, the computing cluster including computing nodes, the device comprising: The acquisition module is used to acquire the operating data of the power supply that is in the in-situ state when multiple power supplies are identified as being in the in-situ state. The filtering module is used to determine the health status of power supplies in the in-situ state based on their operating data; and to determine the number of healthy power supplies in the in-situ state based on their health status. The upgrade module is used to perform firmware upgrades on the power supplies in the in-place state based on the health status of the power supplies if the number of healthy power supplies is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in the current state.
[0026] Thirdly, embodiments of this application also provide a baseboard management controller, including: a processor; and a memory storing a program; wherein the program includes instructions that, when executed by the processor, cause the processor to perform the method according to the first aspect of the embodiments of this application or any possible implementation thereof.
[0027] Fourthly, embodiments of this application also provide a computer storage medium storing computer instructions that, when executed on a baseboard management controller, cause the processor of the baseboard management controller to perform the method described in the first aspect of the embodiments of this application or any possible implementation thereof.
[0028] Fifthly, embodiments of this application also provide a computer program product, including a computer program, wherein the computer program, when executed by a baseboard management controller, implements the method described in the first aspect or any possible implementation of the first aspect.
[0029] Sixthly, embodiments of this application also provide a computing device, including a baseboard management controller and a plurality of power supplies. The baseboard management controller is connected to the plurality of power supplies and is used to perform the method described in the first aspect of the embodiments of this application or any possible implementation thereof.
[0030] The beneficial effects of the second to sixth aspects of the embodiments of this application can be referred to the beneficial effects of the methods described in the first aspect or any possible implementation of the first aspect of the embodiments of this application, which will not be repeated here. Attached Figure Description
[0031] Further details, features, and advantages of this application are claimed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which: Figure 1 An example schematic diagram of a computing device in which the various methods described herein may be implemented, according to an embodiment of this application, is shown; Figure 2 This illustration shows a schematic diagram of the two-layer collaborative architecture of the baseboard management controller in an embodiment of this application; Figure 3 A flowchart illustrating a power firmware upgrade method according to an embodiment of this application is shown. Figure 4 This illustration shows a flowchart of a serial firmware upgrade process for power supplies corresponding to an in-situ power supply list, according to an embodiment of this application. Figure 5 This illustration shows a flowchart of a process for performing firmware upgrades on multiple power supplies corresponding to an in-situ power supply list in parallel, according to an embodiment of this application. Figure 6This paper illustrates a schematic diagram of the process for obtaining effective connection channel topology information according to an embodiment of this application. Figure 7 This paper illustrates another flowchart of a parallel process for upgrading firmware for multiple power supplies corresponding to an in-situ power supply list, according to an embodiment of this application. Figure 8 A schematic block diagram of a functional module of a power firmware upgrade apparatus according to an exemplary embodiment of this application is shown. Detailed Implementation
[0032] Embodiments of this application will now be described in more detail with reference to the accompanying drawings. While some embodiments of this application are shown in the drawings, it should be understood that this application can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this application. It should be understood that the drawings and embodiments of this application are for illustrative purposes only and are not intended to limit the scope of protection of this application.
[0033] It should be understood that the steps described in the method embodiments of this application may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this application is not limited in this respect.
[0034] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the following description. It should be noted that the concepts of "first", "second", etc., mentioned in this application are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.
[0035] It should be noted that the terms "a" and "a plurality of" used in this application are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more". Before introducing the embodiments of this application, the relevant terms involved in the embodiments of this application are first explained as follows: The Baseboard Management Controller (BMC) is an out-of-band management microcontroller integrated on the motherboard of a computing device. It has independent power supply, independent storage, independent network, and independent bus (I2C / SMBus / PMBus). It operates independently of the main business system and realizes out-of-band monitoring, control, operation and maintenance, and firmware management of the computing device hardware.
[0036] An I2C bus controller (I2C Master Controller) is a hardware communication module that can be integrated into a BMC to implement the physical layer and link layer functions of the I2C protocol. As a master device, it actively initiates read and write operations and communicates with each slave device on the bus through a two-wire serial data and serial clock bus to complete hardware status acquisition, control command issuance, and firmware data transmission.
[0037] The power supply firmware is an embedded program that runs on the internal control chip of the power module. It is used to monitor the power supply's operating status, protect against hardware faults, perform I2C bus communication, and control power logic. The firmware can be flashed and versioned via the I2C connection channel through the BMC.
[0038] This application provides a method for upgrading power supply firmware and a computing device. Based on the health status of power supplies in the in-situ state, the method can obtain the number of healthy power supplies in the in-situ state and use this as a reference to decide whether to upgrade the firmware of power supplies in the in-situ state under normal operation of the computing device, thereby maintaining the computing device's risk control capability for high-risk power supplies and ensuring that the board management controller can repair high-risk power supplies in a timely manner.
[0039] Figure 1 Example schematic diagrams of computing devices according to embodiments of this application, in which the various methods described herein can be implemented, are shown. Figure 1 As shown, the computing device 100 of this application embodiment includes: a motherboard 101, a baseboard management controller 102, and multiple power supplies. The motherboard 101 is connected to the baseboard management controller 102, and the baseboard management controller 102 can be connected to the multiple power supplies via a bus (such as I2C).
[0040] Optionally, the computing device 100 may further include multiple I2C bus controllers, and the baseboard management controller 102 may be connected to multiple I2C bus controllers, each of which may be connected to one or more power supplies. The I2C bus controllers here may be I2C bus controllers integrated within the baseboard management controller.
[0041] exist Figure 1The illustration shows six power supplies and three I2C bus controllers; however, in practice, there may be fewer I2C bus controllers. The number of power supplies connected to each I2C bus controller in this embodiment can be the same or different. For example, the substrate management controller 102 is connected to the first power supply 1031A and the second power supply 1032A via the first I2C bus controller 104A, the substrate management controller 102 is connected to the third power supply 1031B and the fourth power supply 1032B via the second I2C bus controller 104B, and the substrate management controller 102 is connected to the fifth power supply 1031C and the sixth power supply 1032C via the third I2C bus controller 104C.
[0042] It is understandable that any one of the power supplies 1031A to 1032C can also integrate an I2C bus controller, which is electrically connected to the I2C bus controller integrated in the substrate management controller. If the I2C bus controllers integrated in multiple power supplies (such as two power supplies) are connected to the same I2C bus controller integrated in the substrate management controller, then it can be considered that the multiple power supplies are connected to the substrate management controller 102 through the same I2C connection channel.
[0043] The baseboard management controller 102 of this application embodiment can perform firmware upgrades on the power supply. The baseboard management controller 102 can adopt a two-layer collaborative architecture of intelligent scheduling layer and execution layer to achieve closed-loop management of the entire process from power supply status perception and upgrade strategy decision-making to upgrade command execution. The functional implementation process of the two-layer collaborative architecture is described below with reference to the accompanying drawings.
[0044] Figure 2 A schematic diagram of the two-layer collaborative architecture of the baseboard management controller in an embodiment of this application is shown. Figure 2 As shown, the two-layer collaborative architecture 200 of this application embodiment includes an intelligent scheduling layer 201 and an execution layer 202. This two-layer collaborative architecture 200 can adapt to both core scenarios of computing devices (such as servers powered on and running (online business) and powered off for maintenance (offline business)). Optionally, as... Figure 2 As shown, the intelligent scheduling layer 201 includes a health assessment module 2011, a priority decision engine 2012, and a concurrency control engine 2013, while the execution layer 202 includes a condition check module 2021, a standardized upgrade interface 2022, and an exception handling and retry mechanism 2023.
[0045] like Figure 2As shown, the health assessment module 2011 can identify power supplies that are in a present state from multiple power supplies and save the identity of the power supplies in a present state list. Here, a power supply in a present state can be understood as a power supply that is physically plugged into the power supply slot of the computing device chassis and is recognized by the baseboard management controller, regardless of whether it is currently powered on or outputting voltage normally.
[0046] like Figure 2 As shown, for any power supply in the in-situ state, the health assessment module 2011 can monitor the operating data of each power supply in the in-situ state, and determine the health level of the power supply in the in-situ state based on the operating data of the power supply in the in-situ state, and classify the health level of the power supply in the in-situ state using the health level of the power supply in the in-situ state.
[0047] Optional, such as Figure 2 As shown, the health assessment module 2011 can collect multi-dimensional operating data (such as hardware fault type flags, output voltage, temperature, load rate, running time, etc.) of each power supply in the in-situ state in real time through the I2C / PMBus interface, and determine the multi-dimensional health indicators of the power supply in the in-situ state based on each dimension of operating data; and then perform a weighted summation of the multi-dimensional health indicators of the power supply in the in-situ state to obtain the health level of the power supply in the in-situ state. Based on the health level of the power supply in the in-situ state, the health level of the power supply in the in-situ state is divided, and multiple power supplies are divided into healthy power supplies and unhealthy power supplies according to the health level. Unhealthy power supplies can be further subdivided into emergency fault power supplies, general fault power supplies, sub-healthy power supplies, and healthy power supplies.
[0048] In one alternative approach, such as Figure 2 As shown, considering that some power supplies may be detached from the power supply slots of the computing device chassis, and some power supplies may be re-inserted into the power supply slots of the computing device chassis, causing the number of power supplies corresponding to the in-place power supply list to change dynamically, the priority decision engine 2012 can detect the hot-plug events of the computing device's power supplies to determine the power supply status (such as in-place and out-of-place status), and update the power supply identification in the in-place power supply list according to the power supply status. In this way, the health assessment module 2011 can use the identification of the power supplies included in the dynamically changing in-place power supply list as a reference to obtain the operating data of the power supplies in the in-place state, so as to obtain the health status and health level of each power supply corresponding to the in-place power supply list. Therefore, through the health assessment module 2011, the hot-plug events of the computer device can be detected periodically to dynamically update the power supply identification in the in-place power supply list, ensuring the success rate of firmware upgrades and reducing unnecessary bus resource occupation.
[0049] like Figure 2As shown, the Priority Decision Engine 2012 can sort the identities of multiple power supplies included in the in-place power supply list based on the health status of each power supply in the updated in-place power supply list, in ascending order of health level. This order of the identities of multiple power supplies in the in-place power supply list reflects the order in which they are likely to be at risk. Theoretically, the more likely a power supply is to be at risk, the sooner its firmware should be upgraded. Therefore, sorting the identity information of multiple power supplies in the in-place power supply list according to their health level from low to high is essentially sorting the upgrade priorities of the multiple power supplies in the in-place power supply list.
[0050] In other words, by sorting the identity information of multiple power supplies included in the in-place power supply list according to their health level from low to high, a queue of power supplies to be upgraded can be obtained. Furthermore, on the one hand, the operating data of the multiple power supplies corresponding to the in-place power supply list may change over time, causing their health levels to change synchronously; on the other hand, the identity information of the multiple power supplies included in the in-place power supply list is also dynamically updated. Therefore, the order and number of power supply identity information entries in the queue of power supplies to be upgraded will both change dynamically. It is evident that when generating the queue of power supplies to be upgraded according to their health level from low to high, the baseboard management controller can prioritize firmware upgrades for power supplies with low health (high risk) among the multiple power supplies in the in-place power supply list, based on the principle of "power supply risk priority."
[0051] Optional, such as Figure 2 As shown, when each power supply in the in-situ power supply list is connected to the baseboard management controller 102 via a different I2C bus, the priority decision engine 2012 can determine the upgrade priority of each power supply in the in-situ power supply list based on the health level of each power supply, and send the upgrade instructions of each power supply to the standardized upgrade interface 2022 in a serial upgrade manner.
[0052] In one example, the health level of each power supply in the in-situ power supply list can be divided according to the health level range corresponding to the power supply's health level. Based on the health levels of multiple power supplies in the in-situ power supply list, the upgrade priority of multiple power supplies in the in-situ power supply list can be determined.
[0053] If a certain health level corresponds to multiple power supplies, considering that the longer the power supply's runtime, the higher the safety risk, the upgrade priority of the multiple power supplies corresponding to the same health level can be determined based on their runtime, so that the runtime of the power supply corresponding to the same health level is positively correlated with the upgrade priority.
[0054] In one alternative approach, such as Figure 2As shown, the concurrent control engine 2013 can sense the current state of the computing device (power-on or power-off state), use the current state of the computing device to determine the minimum number of power supplies required for the computing device to operate normally in the current state, and based on the minimum number of power supplies required for the computing device to operate normally in the current state, determine whether the board management controller can perform firmware upgrades on the power supplies of different connection channels in parallel.
[0055] Optional, such as Figure 2 As shown, Figure 1 The GPIO pins of the baseboard management controller 102 can obtain signal potentials from the power timing management chip of the motherboard 101. When the concurrent control engine 2013 detects that the GPIO pins have received a high-level signal, it can confirm that the computing device is in a powered-on state; when the GPIO pins of the baseboard management controller 102 can obtain a low-level signal from the power timing management chip of the motherboard 101, it can confirm that the computing device is in a powered-off state.
[0056] like Figure 2 As shown, before upgrading the firmware of the power supply to be upgraded, the condition check module 2021 can count the number of healthy power supplies corresponding to the power supply list. The number of healthy power supplies is greater than or equal to the minimum number of power supplies when the computing device is running normally in the current state. This indicates that when upgrading the firmware of a power supply with a high risk, the healthy power supplies can ensure that the computing device is running normally in the current state.
[0057] When a computing device has multiple power supplies, including redundant power supplies and primary power supplies, with i primary power supplies and j redundant power supplies, the power redundancy requirement for this computing device is i+j. The number of primary and redundant power supplies can be set according to actual business needs. No limitation is imposed here.
[0058] When the computing device is powered on, it can be assumed that at least i healthy power supplies (i.e., the number of healthy power supplies ≥ i) are required from the multiple power supplies in the in-situ power supply list to ensure the computing device operates normally when powered on. When the computing device is powered off, it can be assumed that at least j healthy power supplies (i.e., the number of healthy power supplies ≥ j) are required from the multiple power supplies in the in-situ power supply list to ensure the computing device operates normally when powered off (i.e., the core power supply is not interrupted, for example, ...). Figure 1 The power supply to the baseboard management controller 102 shown is uninterrupted.
[0059] Optionally, when the number of primary power supplies is N and the number of redundant power supplies is 1, it can be assumed that when the computing device is powered on, the number of healthy power supplies in the power supply list must be greater than or equal to N; and when the computing device is powered off, the number of healthy power supplies in the power supply list must be greater than or equal to 1. Figure 1For example, if the number of primary power supplies is 5 and the number of redundant power supplies is 1, then when the computing device is powered on, the number of healthy power supplies in the power supply list must be greater than or equal to 5. When the computing device is powered off, the number of healthy power supplies in the power supply list must be greater than or equal to 1.
[0060] If the number of healthy power supplies is less than the minimum number of power supplies required for the computing device to operate normally in its current state, it indicates that upgrading the firmware of the higher-risk power supplies cannot guarantee the normal operation of the computing device in its current state. Therefore, it is not necessary to upgrade the firmware of the higher-risk power supplies and trigger an alarm.
[0061] In one example, if the number of power supplies in the in-place power supply list is greater than the minimum number of power supplies required for the computing device to operate normally in the current state, firmware upgrades can be performed on the unhealthy power supplies in the in-place power supply list to ensure that there are healthy power supplies that meet the minimum number of power supplies, thus guaranteeing that the computing device operates normally in the current state.
[0062] Optional, such as Figure 2 As shown, when the number of healthy power supplies is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in its current state, the Concurrency Control Engine 2013 can identify the valid I2C connection channels of each power supply in the in-situ power supply list, and perform firmware upgrades on one power supply corresponding to each valid connection channel based on the valid I2C connection channels of the power supply.
[0063] In one example, such as Figure 2 As shown, the Concurrency Control Engine 2013 can store a BMC configuration file, which can save the hardware I2C topology. Therefore, the Concurrency Control Engine 2013 can identify the valid I2C connection channels of the power supply based on the I2C configuration file.
[0064] In one example, such as Figure 2 As shown, the concurrency control engine 2013 can determine the theoretical safe concurrency based on the number of power supplies corresponding to the in-situ power supply list and the minimum number of power supplies required for the computing device to operate normally in the current state. Finally, it determines the actual safe concurrency based on the number of valid connection channels and the theoretical safe concurrency. The theoretical safe concurrency indicates the theoretical number of power supplies in the in-situ power supply list that can perform firmware upgrades in parallel, while the actual safe concurrency indicates the actual number of power supplies in the in-situ power supply list that can perform firmware upgrades in parallel.
[0065] If the number of valid connection channels is greater than the theoretical safe concurrency, it means that the power supply is being upgraded in parallel using the theoretical safe concurrency as the actual safe concurrency. This will prevent the issue of firmware upgrades being performed on multiple power supplies corresponding to the same connection channel. Therefore, it can be confirmed that the actual safe concurrency is equal to the theoretical safe concurrency. If the number of valid connection channels is less than or equal to the theoretical safe concurrency, it means that the power supply is being upgraded in parallel using the theoretical safe concurrency as the actual safe concurrency. This will prevent the issue of firmware upgrades being performed on multiple power supplies corresponding to the same connection channel. Therefore, it can be confirmed that the actual safe concurrency is equal to the number of valid connection channels.
[0066] Based on this, the power supplies in the in-situ power supply list can be grouped according to the effective I2C connection channels and actual safe concurrency of the multiple power supplies corresponding to the in-situ power supply list, so that the multiple power supplies included in each in-situ power supply group are connected to the baseboard management controller 102 through different effective connection channels. At the same time, the number of multiple power supplies included in each in-situ power supply group is the same as the actual safe concurrency.
[0067] like Figure 2 As shown, the standardized upgrade interface 2022 can encapsulate and adapt the PMBus standard upgrade instruction set, providing the same firmware loading, erasing, writing, and calibration, ensuring upgrade compatibility for different power supply models.
[0068] Optional, such as Figure 1 As shown, when some power supplies in the in-situ power supply list are connected to the board management controller 102 using the same I2C bus, it is possible to... Figure 1 Taking the in-situ power group allocation as an example. Among them, in Figure 1 In the list of in-service power supplies, the power supplies include the first power supply 1031A to the sixth power supply 1032C. It is assumed that there are 4 primary power supplies and 2 redundant power supplies.
[0069] When calculating the power-on state of the device, such as Figure 1 and Figure 2 As shown, if the first power supply 1031A, the second power supply 1032A, the third power supply 1031B, and the fifth power supply 1031C are all healthy power supplies, and the fourth power supply 1032B and the sixth power supply 1032C are unhealthy power supplies (for example, the health level can be emergency failure, general failure, sub-health, and healthy, etc.), then the concurrent control engine 2013 can determine that the fourth power supply 1032B connected to the second I2C bus controller 104B and the sixth power supply 1032C connected to the third I2C bus controller 104C are power supplies to be upgraded, and the fourth power supply 1032B and the sixth power supply 1032C can be assigned to an in-situ power supply group.
[0070] In one example, such as Figure 1 and Figure 2 As shown, after determining the power supply to be upgraded, the concurrent control engine 2013 can send the upgrade instructions of the fourth power supply 1032B and the sixth power supply 1032C to the standardized upgrade interface 2022 in a parallel upgrade manner to improve firmware upgrade efficiency. In another example, after the concurrent control engine 2013 determines the power supply to be upgraded, the priority decision engine 2012 determines the upgrade priority of the fourth power supply 1032B and the sixth power supply 1032C based on the health status of the fourth power supply 1032B and the sixth power supply 1032C, and then sends the upgrade instructions of the fourth power supply 1032B and the sixth power supply 1032C to the standardized upgrade interface 2022 in a serial upgrade manner to ensure that the computing device can stably and safely perform tasks when powered on.
[0071] When the computing device is powered off, such as Figure 1 and Figure 2 As shown, if the first power supply 1031A and the second power supply 1032A are both healthy power supplies, and the third power supply 1031B to the sixth power supply 1032C are unhealthy power supplies (for example, the health level can be emergency failure, general failure, sub-health and healthy, etc.), the power supply can be ordered according to the upgrade priority as the third power supply 1031B, the sixth power supply 1032C, the fifth power supply 1031C and the fourth power supply 1032B. The concurrent control engine 2013 divides the third power supply 1031B and the sixth power supply 1032C into the first in-situ power supply group and the fourth power supply 1032B and the fifth power supply 1031C into the second in-situ power supply group according to the upgrade priority from high to low.
[0072] If a parallel upgrade strategy is adopted, such as Figure 1 and Figure 2 As shown, the concurrent control engine 2013 can perform parallel firmware upgrades on the third power supply 1031B and the fifth power supply 1031C included in the first in-situ power supply group, in descending order of upgrade priority, and then perform parallel firmware upgrades on the fourth power supply 1032B and the sixth power supply 1032C included in the second in-situ power supply group.
[0073] For example, such as Figure 1 and Figure 2 As shown, when performing firmware upgrades on the first in-situ power supply group, including the third power supply and the sixth power supply 1032C, the upgrade instructions for the third power supply 1031B and the sixth power supply 1032C can be sent to the standardized upgrade interface 2022 in a parallel upgrade manner to improve firmware upgrade efficiency. After the upgrades of the third power supply 1031B and the sixth power supply 1032C are completed, the concurrent control engine 2013 can also send the upgrade instructions for the fourth power supply 1032B and the fifth unit to the standardized upgrade interface 2022 to improve firmware upgrade efficiency.
[0074] like Figure 2 As shown, the exception handling and retry mechanism 2023 can monitor the upgrade process of different power supplies corresponding to the in-place power supply list in real time. For exceptions such as upgrade interruption, power supply entering Loader mode (Loader mode is a special boot / burning mode), and verification failure, it can automatically perform recovery operations and retry. For example, if there are N power supplies corresponding to the in-place power supply list, the number of upgrade attempts for each power supply can be set to no more than two, and the global cumulative number of retries can be set to no more than 2N, avoiding infinite loops in power supply firmware upgrades.
[0075] This application provides a method for upgrading power supply firmware, which can be used in a baseboard management controller. The baseboard management controller is connected to multiple power supplies included in a computing device to upgrade the firmware of the power supplies while the computing device is operating normally, so as to maintain the computing device's risk control capability for high-risk power supplies, thereby ensuring that the baseboard management controller can repair high-risk power supplies in a timely manner.
[0076] The power firmware upgrade method of this application embodiment can be executed by the baseboard management controller or a chip in the baseboard management controller. Figure 3 A flowchart illustrating a power firmware upgrade method according to an embodiment of this application is shown. Figure 3 As shown, the power firmware upgrade method 300 of this application embodiment includes steps 301 to 305.
[0077] In step 301, when a power supply in the in-situ state is identified among multiple power supplies, the operating data of the power supply in the in-situ state is acquired.
[0078] Optionally, in this embodiment, the operating data of the power supply in the in-situ state can be obtained via the I2C / PMBus bus. Furthermore, when a hot-plug event occurs, the baseboard management controller can acquire the power supply's PRESENT# signal via GPIO or the I2C / PMBus bus and record the PRESENT# signal in a log format. Here, the power supply's PRESENT# signal exhibits different potentials depending on the type of hot-plug event.
[0079] For example, when the power supply is plugged into the motherboard of the computing device, the power supply's PRESENT# signal is pulled low. This PRESENT# signal is an in-place signal, and the power supply is in the in-place state. When the power supply is unplugged from the computing device, the power supply's PRESENT# signal goes high. This PRESENT# signal is an out-of-place signal, and the power supply is in the out-of-place state.
[0080] As can be seen, the baseboard management controller can obtain the PRESENT# signal of each power supply from the log records, and filter out the power supplies in the in-situ state from multiple power supplies by judging the potential of the PRESENT# signal of the power supply, and save the identity of the power supply in the in-situ state in the in-situ power supply list.
[0081] In step 302, the health of the power supply in the in-situ state is determined based on the operating data of the power supply in the in-situ state.
[0082] Optionally, the operating data of the power supply in its in-situ state may include multi-dimensional operating data. In this case, multi-dimensional health indicators of the power supply in its in-situ state can be determined based on the multi-dimensional operating data included in the operating data; and the health level of the power supply in its in-situ state can be determined based on the multi-dimensional health indicators. For example, a weighted summation method can be used to weight and sum the multi-dimensional health indicators of the power supply in its in-situ state to obtain the health level of the power supply in its in-situ state, thereby achieving quantitative fusion of the multi-dimensional operating data of the power supply in its in-situ state, ensuring the accuracy and scenario adaptability of the health level assessment of the power supply in its in-situ state.
[0083] Taking the operating data of a power supply in its in-situ state, including hardware fault status, output voltage value, operating temperature, output power load rate, and cumulative operating time, as an example, the hardware fault status, output voltage value, operating temperature, output power load rate, and cumulative operating time of the power supply in its in-situ state are input into the health assessment module. The health assessment module can output the health data of the power supply in its in-situ state, such as the health level of the power supply in its in-situ state.
[0084] For example, the health indicators s1 (for hardware fault status), s2 (for output voltage), s3 (for operating temperature), s4 (for output power load rate), and s5 (for cumulative operating time) can be determined through the mapping relationship between operating data and health indicators (e.g., Table 1). In this case, the health of the power supply in its "in-situ" state is S = w1×s1 + w2×s2 + w3×s3 + w4×s4 + w5×s5, where w1 represents the weight of the health indicator for hardware fault status, w2 represents the weight of the health indicator for output voltage, w3 represents the weight of the health indicator for operating temperature, w4 represents the weight of the health indicator for output power load rate, and w5 represents the weight of the health indicator for cumulative operating time.
[0085] The weights of the health indicators for hardware fault states (w1), output voltage values (w2), operating temperature (w3), output power load rate, and cumulative runtime (w5) can be configured by the user through the management interface of the baseboard management controller according to business scenario requirements (e.g., the weight of "hardware fault state" can be increased in high-reliability scenarios), and w1+w2+w3+w4+w5=100%. For example, w1=35%, w2=25%, w3=15%, w4=15%, w5=10%.
[0086] Table 1. Mapping Relationship between Operational Data and Health Indicators
[0087] In step 303, the number of healthy power supplies in the in-situ state is determined based on the health status of the power supplies in the in-situ state.
[0088] Optionally, when the identity information of multiple power supplies in the in-place state is stored in the in-place power supply list, the number of healthy power supplies among the multiple power supplies corresponding to the in-place power supply list can be identified. For example, the health level of the power supplies in the in-place state can be classified based on their health status. For instance, it can be determined whether the health status of the power supply in the in-place state is greater than a preset health status; if so, it indicates that the power supply in the in-place state is a healthy power supply.
[0089] Power supplies with a health level less than or equal to the preset health level can be considered unhealthy power supplies with safety risks. The health levels of unhealthy power supplies can be further subdivided into emergency failure, general failure, and sub-health in order from low to high. Correspondingly, power supplies in the in-situ state can be called emergency failure power supplies, general failure power supplies, and sub-healthy power supplies.
[0090] Optionally, taking the operating data of a power supply in an in-situ state, including hardware fault status, output voltage value, operating temperature, output power load rate, and cumulative running time, as an example, the hardware fault status, output voltage value, operating temperature, output power load rate, and cumulative running time of the power supply in an in-situ state are input into the health assessment module. The health assessment module can not only output the health status of the power supply in an in-situ state, but also determine the health level of the power supply in an in-situ state based on the health indicators of the hardware fault status, output voltage value, operating temperature, output power load rate, and cumulative running time of the power supply in an in-situ state through threshold judgment (as shown in Table 2), and output the health level of the power supply in an in-situ state.
[0091] Table 2 Power Supply Health Level Classification Table
[0092] Taking Table 1 as an example, when the health score S of a power supply in the in-situ state is 75, the health level of the power supply in the in-situ state is sub-healthy, that is, the power supply in the in-situ state is a sub-healthy power supply. When the health score S of a power supply in the in-situ state is 95, the health level of the power supply in the in-situ state is healthy, that is, the power supply in the in-situ state is a healthy power supply.
[0093] In step 304, it is determined whether the number of healthy power supplies is greater than or equal to the minimum number of power supplies required for the calculation device to operate normally in the current state.
[0094] In this embodiment, the number of healthy power supplies and the current state of the computing device can be input into the condition check module. When the condition check module detects that the number of healthy power supplies is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in the current state, it can output an upgrade permission signal. When the condition check module detects that the number of healthy power supplies is less than the minimum number of power supplies required for the computing device to operate normally in the current state, it can output an upgrade pause signal.
[0095] Optionally, in response to obtaining the current state of the computing device, the minimum number of power supplies required for the computing device to operate normally in the current state can be determined. Here, the GPIO pins of the baseboard management controller can obtain signal potentials from the power timing management chip on the motherboard. If a high-level signal is received on the GPIO pin, it can be confirmed that the computing device is powered on; if a low-level signal is received on the GPIO pin, it can be confirmed that the computing device is powered off.
[0096] When the number of healthy power supplies is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in its current state, it indicates that the number of healthy power supplies is sufficient to ensure the computing device operates normally under power redundancy. Therefore, proceed to step 305. When the number of healthy power supplies is less than the minimum number of power supplies required for the computing device to operate normally in its current state, it indicates that the number of healthy power supplies is insufficient to ensure the computing device operates normally under power redundancy. Therefore, return to step 301. Optionally, when the number of healthy power supplies is less than the minimum number of power supplies required for the computing device to operate normally in its current state, the firmware upgrade can be recorded as a failure.
[0097] In one example, based on power redundancy requirements, the multiple power supplies of a computing device can be divided into redundant power supplies and primary power supplies. Here, redundant power supplies and primary power supplies are distinguished primarily from a functional perspective, rather than from an identity information perspective. That is to say, for the same power supply, it can be used as a primary power supply in some situations and as a redundant power supply in others.
[0098] For example, if the current state is power-on, the computing device requires more power (these power supplies are called primary power supplies) to operate normally. Therefore, it can be confirmed that the minimum number of power supplies is equal to the number of primary power supplies. If the current state is power-off, it is only necessary to ensure that the power supply for the core (these power supplies are called redundant power supplies) operates normally. Therefore, it can be confirmed that the minimum number of power supplies is equal to the number of redundant power supplies.
[0099] In step 305, based on the health status of the power supply in the in-situ state, a firmware upgrade is performed on the power supply in the in-situ state. After the firmware upgrade is performed on the power supply in the in-situ state, the firmware upgrade result can be recorded.
[0100] Optionally, when the identity information of multiple power supplies in a current state is stored in a list of power supplies in a current state, unhealthy power supplies can be identified from the list based on their health status, and at least one unhealthy power supply can be upgraded in firmware. After upgrading the firmware of an unhealthy power supply, the firmware upgrade result can be recorded. Currently, after upgrading the firmware of an unhealthy power supply, it is also possible to upgrade the firmware of healthy power supplies from the list of power supplies in a similar state.
[0101] When upgrading the firmware of unhealthy power supplies corresponding to the in-place power supply list, the number of healthy power supplies corresponding to the in-place power supply list is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in its current state. Therefore, even if the baseboard management controller upgrades the firmware of unhealthy power supplies, it can still ensure the normal operation of the computing device by using healthy power supplies with the same number as the minimum number of power supplies.
[0102] by Figure 1 For example, if the power redundancy requirement of the computing device is 5+1, the number of redundant power supplies is 1, and the number of primary power supplies is 5, then the minimum number of power supplies required for the computing device to operate normally when powered on is 5, and the minimum number of power supplies required for the computing device to operate normally when powered off is 1.
[0103] When the computing device is powered on, power supplies 1031A through 1032C are all in place, power supplies 1031A through 1031C are all healthy, and power supply 1032C is unhealthy. Therefore, the number of healthy power supplies in the in-place power supply list equals the minimum number of power supplies required for the computing device to operate normally under power-on conditions. In this case, provided that power supplies 1031A through 1031C ensure the computing node operates normally under power-on conditions, firmware upgrades for power supply 1032C can be prioritized.
[0104] When the computing device is powered down, all power supplies from the first power supply 1031A to the sixth power supply 1032C are in a present state. The first power supply 1031A is a healthy power supply, while the second power supplies 1032A to the sixth power supply 1032C are unhealthy power supplies. Therefore, the number of healthy power supplies in the present power supply list is equal to the minimum number of power supplies required for the computing device to operate normally when powered down. In this case, provided that the first power supply 1031A ensures the computing node operates normally when powered down, firmware upgrades can be prioritized for any unhealthy power supply from the second power supply 1032A to the sixth power supply 1032C.
[0105] As can be seen, the method of this application embodiment can perform firmware upgrades on the power supplies corresponding to the in-situ power supply list while the computing device is operating normally, thereby maintaining the computing device's risk control capability for high-risk power supplies and ensuring that the board management controller can repair high-risk power supplies in a timely manner.
[0106] In one possible implementation, the identity of a power supply in the in-situ state is stored in an in-situ power supply list. Considering that power supplies for computing devices may be hot-plugged at any time, the in-situ power supply list can be updated based on the identity of the target power supply in response to the detection of a hot-plugging event of a target power supply among multiple power supplies.
[0107] When a hot-plug event occurs in a target power supply among multiple power supplies, it indicates that the number of power supply identifications in the in-situ power supply list has changed. Therefore, when a hot-plug event is detected in a target power supply, the identifications of the power supplies in the in-situ power supply list can be dynamically updated based on the identifications of that target power supply.
[0108] Optionally, the status of the target power supply can be determined based on a hot-plug event. If the target power supply is in a present state, it means that the baseboard management controller has detected that the target power supply has been inserted into the motherboard of the computing device. Therefore, the identity of the target power supply can be added to the list of present power supplies. If the target power supply is out of a present state, it means that the baseboard management controller has detected that the target power supply has been removed from the motherboard of the computing device. Therefore, it can be confirmed that the identity of the target power supply is stored in the list of present power supplies, but the target power supply is not currently in a present state. Therefore, the identity of the target power supply can be deleted from the list of present power supplies.
[0109] Optionally, the operating data of the power supplies corresponding to the in-situ power supply list can be obtained periodically to update the health status and health level of the power supplies corresponding to the in-situ power supply list. This allows for more timely firmware upgrades of unhealthy power supplies when performing step 305, thereby reducing the safety risks of unhealthy power supplies.
[0110] In this application embodiment, there are multiple power supplies in the in-situ state, and the identification identifiers of these multiple in-situ power supplies are stored in an in-situ power supply list. When there are multiple power supplies corresponding to the in-situ power supply list, the firmware of the multiple power supplies corresponding to the in-situ power supply list can be upgraded serially or in parallel, which will be described below.
[0111] In one possible implementation, when upgrading multiple power supplies in a serial manner, the upgrade priority of the multiple power supplies corresponding to the in-situ power supply list can be determined based on the health status of the multiple power supplies corresponding to the in-situ power supply list. If the number of power supplies corresponding to the in-situ power supply list is greater than the minimum number of power supplies, the firmware upgrade of the multiple power supplies corresponding to the in-situ power supply list is performed based on the upgrade priority of the multiple power supplies.
[0112] Optionally, the health status of multiple power supplies corresponding to the in-situ power supply list, the in-situ power supply list, and hot-plug events can be input into the priority decision engine. The priority decision engine can dynamically output an upgrade task queue in descending order of upgrade priority. This upgrade task queue can be regarded as a list of in-situ units sorted in descending order of upgrade priority.
[0113] Optionally, based on the health status of multiple power supplies corresponding to the in-situ power supply list, a health level is determined for each power supply. Based on these health levels, an upgrade priority is determined for each power supply. If a target health level corresponds to at least two power supplies, it indicates that the health status of at least two power supplies is likely similar. Therefore, the runtime of the at least two power supplies corresponding to the target health level can be obtained, and the runtime of the power supply corresponding to the target health level can be positively correlated with its upgrade priority. In this case, the longer the runtime of a power supply, the higher its risk. Therefore, the upgrade priority of the at least two in-situ power supplies corresponding to the target health level can be determined based on their runtime. This allows for more accurate identification of high-risk power supplies.
[0114] In one example, multiple power supplies are sorted according to their health levels from lowest to highest in the in-place power supply list, allowing them to be prioritized for upgrades from highest to lowest. When the upgrade priority of a power supply is negatively correlated with its health level, firmware upgrades for multiple power supplies are essentially performed serially, according to their upgrade priorities. This serial upgrade method prevents connection channel interference that may occur when upgrading firmware for multiple power supplies simultaneously, thus ensuring the stability of the power supply firmware upgrade process.
[0115] In this embodiment, the health status of multiple power supplies corresponding to the in-situ power supply list can be used as a reference to determine the upgrade priority of the multiple power supplies corresponding to the in-situ power supply list, so that the upgrade priority of the multiple power supplies is negatively correlated with the health status of the multiple power supplies. Since the higher the health status (health level) of the power supply, the higher its safety risk, the multiple power supplies corresponding to the in-situ power supply list can be sorted in order of health status (health level) from low to high. The earlier the power supply is sorted, the higher its upgrade priority. This ensures that the upgrade priority of the power supply is negatively correlated with the health status of the power supply. Therefore, the method of this embodiment can prioritize firmware upgrades for power supplies with poor health status and high safety risk, while firmware upgrades for power supplies with good health status and low safety risk are performed later. This can prevent failures caused by late firmware upgrades for power supplies with high safety risks, and the serial upgrade method can prevent connection channel interference problems that may be caused by simultaneous firmware upgrades for multiple power supplies, thereby ensuring the stability of power supply firmware upgrades.
[0116] Furthermore, when the number of healthy power supplies is greater than the minimum number of power supplies, and the number of power supplies corresponding to the in-place power supply list is greater than the minimum number of power supplies, it means that when healthy power supplies equal to the minimum number of power supplies are supplying power to the computing device normally among the multiple power supplies corresponding to the in-place power supply list, upgrading the firmware of the remaining power supplies will not affect the normal operation of the computing device in the current state.
[0117] To facilitate explanation of the embodiments of this application regarding the serial upgrade of the power supply firmware corresponding to the in-situ power supply list, Figure 4 This illustration shows a flowchart of a serial firmware upgrade process for power supplies corresponding to an in-situ power supply list, according to an embodiment of this application. Figure 4 As shown in the embodiment of this application, the firmware upgrade 400 is performed on multiple power supplies corresponding to the in-situ power supply list based on the health status of multiple power supplies, including steps 401 to 411.
[0118] In step 401, firmware upgrade parameters are initialized. These parameters include the maximum total number of retries and the power redundancy configuration parameters used for power redundancy requirements. Here, the maximum total number of retries T=2M, where M represents the number of power supplies in the calculation device. That is, each power supply can attempt firmware upgrades a maximum of two times. The power redundancy parameters can include the number of primary power supplies i and the number of redundant power supplies j. For example, i=N, j=1, M=N+1. By using the power redundancy configuration parameters used for power redundancy requirements, it can be ensured that the core power supply (such as the power supply to the baseboard management controller) is not lacking during the power firmware upgrade process.
[0119] In step 402, based on the log records of the baseboard management controller, the identification of the power supply included in the in-situ power supply list and the operating data of the power supply corresponding to the in-situ power supply list are obtained.
[0120] Optionally, the identity of multiple power supplies included in the in-situ power supply list can be determined based on the log records of the baseboard management controller. In this way, multi-dimensional operating data of multiple power supplies corresponding to the in-situ power supply list can be obtained based on the identity of multiple power supplies included in the in-situ power supply list, such as hardware fault status, output voltage, etc.
[0121] In step 403, upon detecting a hot-plug event of a target power supply in the computing device, the list of in-situ power supplies is updated based on this hot-plug event. The process of updating the list of in-situ power supplies based on the hot-plug event of the target power supply can be referred to the relevant description above, and will not be repeated here.
[0122] If a hot-plug event of the target power supply is detected for the first time, the log record of the board management controller can be updated, and then step 402 can be re-executed to update the list of in-situ power supplies; otherwise, the list of in-situ power supplies can be updated based on the hot-plug event of the target power supply, thereby ensuring the timeliness and accuracy of the list of in-situ power supplies.
[0123] In step 403, the health status of the multiple power supplies corresponding to the in-situ power supply list is determined based on their operational data. This can be achieved by the health assessment module using the operational data of the multiple power supplies corresponding to the in-situ power supply list to determine their health status.
[0124] In step 404, the health level of the multiple power supplies corresponding to the in-situ power supply list is determined based on their health status. For example, the health assessment module determines the health level of the multiple power supplies corresponding to the in-situ power supply list based on their health status.
[0125] In step 405, based on the health levels of multiple power supplies corresponding to the in-place power supply list, the multiple in-place power supplies in the in-place power supply list are sorted to obtain the upgrade task queue corresponding to the in-place power supply list. For example, the priority decision engine can obtain the upgrade task queue corresponding to the in-place power supply list based on the health levels of multiple power supplies corresponding to the in-place power supply list.
[0126] Taking Table 2 as an example, the health level of the power supply can include emergency fault P0, general fault P1, sub-healthy P2 and healthy P3. The priority of different in-situ power supplies can be set in the order of emergency fault P0, general fault P1, sub-healthy P2 and healthy P3.
[0127] Optionally, when setting the upgrade task queue corresponding to the in-situ power supply list using the health level method, if the target health level corresponds to multiple power supplies among the multiple power supplies in the in-situ power supply list, the runtime of the multiple power supplies corresponding to the target health level can be obtained, and the upgrade priority of the multiple power supplies corresponding to the target health level can be set according to the positive correlation between the runtime of the power supply and the upgrade priority, so that the runtime of the power supply corresponding to the target health level is positively correlated with the upgrade priority of the power supply corresponding to the target health level, thereby more accurately identifying high-risk online power supplies.
[0128] In step 405, it is detected whether the power supplies corresponding to the in-situ power supply list meet the firmware upgrade conditions. These firmware upgrade conditions may include the number of healthy power supplies corresponding to the in-situ power supply list being greater than or equal to the minimum number of power supplies required for the computing device to operate normally in its current state, and the number of power supplies corresponding to the in-situ power supply list being greater than the minimum number of power supplies required for the computing device to operate normally in its current state.
[0129] If the number of healthy power supplies in the in-place power supply list is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in its current state, and the number of power supplies in the in-place power supply list is greater than the minimum number of power supplies required for the computing device to operate normally in its current state, it means that even if the firmware upgrade is performed on the power supply with the poorest health status first, the remaining healthy power supplies can still ensure the normal operation of the computing device. Therefore, if the power supplies in the in-place power supply list meet the firmware upgrade conditions, step 406 can be executed; otherwise, step 407 can be executed.
[0130] In step 406, a firmware upgrade task is executed: based on the upgrade task queue corresponding to the in-situ power supply list, firmware upgrades are performed on multiple power supplies corresponding to the in-situ power supply list. Here, a firmware upgrade task can refer to a task that performs firmware upgrades on all power supplies corresponding to the in-situ power supply list.
[0131] Optionally, the standardized upgrade interface can issue upgrade commands to the in-situ power supplies according to the upgrade priority of the multiple power supplies corresponding to the in-situ power supply list, so as to perform firmware loading, erasing, writing, and verification processes on the multiple power supplies corresponding to the in-situ power supply list in sequence.
[0132] Optionally, after performing the power supply firmware upgrade, step 407 can be executed to upgrade the firmware of the next power supply, until all power supplies have completed the firmware upgrade or entered a suspended upgrade state. Here, the suspended upgrade state means that among all power supplies in the in-situ power supply list, except for the healthy power supply, all other power supplies have completed the firmware upgrade, that is, the firmware upgrades for the emergency failure power supply, the general failure power supply, and the sub-healthy power supply in the in-situ power supply list have been completed.
[0133] The exception handling and retry mechanism can monitor the power supply firmware upgrade process in real time. If a power supply firmware upgrade fails, step 407 can be executed. Simultaneously, this handling and retry module can also detect whether the number of power supply upgrade attempts is less than two.
[0134] If the number of power supply upgrade attempts is less than two, the power supply firmware upgrade can be re-executed after the upgrade fails. If the number of power supply upgrade attempts reaches two, the next power supply firmware upgrade can be performed.
[0135] In step 407, the firmware upgrade result is recorded, and the global cumulative retry count is determined based on the firmware upgrade result. This firmware upgrade result record not only records whether the firmware upgrade for each power supply corresponding to the in-situ power supply list was successful, but also records the number of power supply firmware upgrades. Therefore, the global cumulative retry count can be determined based on the firmware upgrade result.
[0136] Optionally, the global cumulative retry count can be determined based on the number of upgrade attempts for all power supplies corresponding to the in-place power supply list. For example, the global cumulative retry count can be set to the sum of the number of upgrade attempts for all power supplies corresponding to the in-place power supply list.
[0137] In step 408, it is determined that the global cumulative number of retries is equal to the maximum total number of retries. Optionally, when the number of power supplies corresponding to the in-place power supply list is N, if the number of power supply upgrade attempts does not exceed two, the maximum total number of retries is 2N.
[0138] If the total number of global retries is less than 2N, it means that one of the power supplies in the in-place power supply list can still try one more power supply firmware upgrade. Therefore, we can return to step 402 to upgrade the power supplies that have not been upgraded among the multiple power supplies in the in-place power supply list.
[0139] If the total number of global retries is equal to 2N, it means that the upgrade attempts for all power supplies in the in-place power supply list have reached two. Therefore, step 409 can be executed.
[0140] In step 409, the global cumulative retry count is reset. When the global cumulative retry count is equal to the maximum total number of retries, the global cumulative retry count is reset to zero.
[0141] In step 410, it is determined whether the number of firmware upgrade task failures is greater than 0. The number of firmware upgrade task failures can be stored in the firmware upgrade result record. The number of firmware upgrade task failures can refer to the number of times the firmware upgrade has failed for all power supplies in the in-situ power supply list. For any power supply in the in-situ power supply list, a firmware upgrade failure can mean that the firmware upgrade still fails after the power supply has attempted to upgrade twice.
[0142] For example, if all power supplies in the in-situ power supply list fail firmware upgrades, the failure count for the firmware upgrade task can be considered to have increased by one. If the failure count for the firmware upgrade task is read as 0 from the firmware upgrade result record, it can be considered that the firmware upgrade can be performed again for all power supplies in the in-situ power supply list. Therefore, the failure count for the firmware upgrade task can be updated to 1, and the process returns to step 402. If the failure count for the firmware upgrade task is read as greater than 0 (e.g., equal to 1) from the firmware upgrade result record, it can be considered that the maximum number of firmware upgrades for all power supplies in the in-situ power supply list has been reached. Therefore, step 411 can be executed. In step 411, the firmware upgrade task is confirmed to be complete. This prevents the firmware upgrade task from running indefinitely. Taking a server as an example, this server has four built-in power supplies: PSU1 (first power supply), PSU2 (second power supply), PSU3 (third power supply), and PSU4 (fourth power supply). The minimum number of power supplies required for the server to operate normally while powered on is three, and PSU1 through PSU4 are all power supplies.
[0143] After evaluating the operating data of power supplies PSU1 through PSU4 using the health assessment module, the health score of PSU1 is 25 points, with a health level of Emergency Fault P0; the health score of PSU2 is 80 points, with a health level of Healthy P3; the health score of PSU3 is 85 points, with a health level of Healthy P3; and the health score of PSU4 is 90 points, with a health level of Healthy P3. Based on the health scores of each power supply, an upgrade task queue can be generated as PSU1→PSU2→PSU3→PSU4.
[0144] As can be seen from the upgrade task queue, the lower the health level, the higher the upgrade priority and the higher its ranking in the upgrade task queue. Therefore, when upgrading the various power supplies of the server, if the number of healthy power supplies is equal to 3, the first power supply PSU1 (for the emergency failure P0) can be upgraded first. After the upgrade, if the number of healthy power supplies is still equal to 3, the second power supply PSU2 can be upgraded according to the upgrade task queue of PSU2→PSU3→PSU4. After the upgrade, if the number of healthy power supplies is still equal to 3, the third power supply PSU3 can be upgraded according to the upgrade task queue of PSU3→PSU4. After the upgrade, if the number of healthy power supplies is still equal to 3, the fourth power supply PSU4 can be upgraded. It is evident that during the upgrade process from the first power supply PSU1 to the fourth power supply PSU4, the server can be guaranteed uninterrupted power supply throughout the task execution.
[0145] The multi-dimensional operational data of the power supply in this application embodiment can quantify power supply reliability. Therefore, the multi-dimensional operational data of the power supply can be used to score its health and classify its health level. Using this data as a reference, combined with an upgrade priority decision-making mechanism, the upgrade order (upgrade priority) of multiple power supplies corresponding to the in-situ power supply list can be determined, thereby achieving intelligent scheduling of firmware upgrades for multiple power supplies driven by risk. Furthermore, before upgrading the firmware of multiple power supplies corresponding to the in-situ power supply list, it is possible to verify whether the power supplies in the in-situ power supply list meet the firmware upgrade conditions (refer to step 407) to ensure that the firmware upgrade is completed during service operation while the server is powered on, without requiring the server to be powered off.
[0146] As can be seen, the method of this application embodiment can ensure power supply redundancy when upgrading power firmware, without requiring the server to be powered down, thus breaking free from the business interruption constraints of traditional solutions, meeting the 24 / 7 operation requirements of core businesses, reducing business losses caused by maintenance, and achieving zero business interruption.
[0147] Moreover, by prioritizing the upgrade of high-risk (low-health) power supplies, the risk exposure window of the server is shortened. Compared with fixed-sequence upgrades, the uptime of high-risk power supplies can be reduced by 30%-50%, improving system reliability and achieving the goal of precise management of upgrade risks.
[0148] Finally, by monitoring power supply hot-plug events, the list of in-place power supplies is dynamically updated, thereby achieving real-time updates to the upgrade queue, avoiding upgrade failures or power supply anomalies caused by power supply plugging and unplugging, and improving stability in complex operation and maintenance scenarios.
[0149] In one possible implementation, when upgrading the power supply using a parallel upgrade approach... Figure 5 This illustration shows a flowchart of a parallel firmware upgrade process for multiple power supplies corresponding to an in-situ power supply list, according to an embodiment of this application. Figure 5 As shown, the firmware upgrade 500 for multiple power supplies in the in-situ state based on the health status of the multiple power supplies in the in-situ state includes: steps 501 to 504.
[0150] In step 501, if the number of power supplies corresponding to the in-situ power supply list is greater than the minimum number of power supplies, the theoretical safe concurrency for firmware upgrades is determined based on the number of power supplies corresponding to the in-situ power supply list and the minimum number of power supplies. This theoretical safe concurrency is used to indicate the theoretical number of power supplies corresponding to the in-situ power supply list that can perform firmware upgrades in parallel. Here, the theoretical safe concurrency for firmware upgrades can be understood as the maximum safe concurrency for firmware upgrades.
[0151] The minimum number of power supplies can reflect the number of power supplies required for the computing device to operate normally in the current state. Therefore, when the number of healthy power supplies is greater than or equal to the minimum number of power supplies, as long as the healthy power supplies in the in-situ power supply list that are equal to the minimum number of power supplies are working normally, the remaining power supplies can be upgraded with firmware. Therefore, the theoretical safe concurrency of firmware upgrades can be determined based on the number of power supplies corresponding to the in-situ power supply list and the minimum number of power supplies.
[0152] by Figure 1 For example, if the power redundancy requirement of the computing device is 5+1, the number of redundant power supplies is 1, and the number of primary power supplies is 5, then the minimum number of power supplies required for the computing device to operate normally when powered on is 5, and the minimum number of power supplies required for the computing device to operate normally when powered off is 1.
[0153] When the computing device is powered on, if there are 5 healthy power sources, then the theoretical safe concurrent firmware upgrade can be 6-5=1 (power sources); when the computing device is powered off, if there are 2 healthy power sources, then the theoretical safe concurrent firmware upgrade can be 6-1=5 (power sources).
[0154] In step 502, if the theoretical safe concurrency number meets the concurrency upgrade condition, the effective connection channel topology information of multiple power supplies corresponding to the baseboard management controller and the in-situ power supply list is obtained.
[0155] Optionally, the concurrent upgrade condition can refer to a theoretically safe concurrent count being greater than or equal to 2. If the theoretically safe concurrent count does not meet the concurrent upgrade condition, it means that the theoretically safe concurrent count is equal to 1. In this case, it is not necessary to upgrade the firmware of multiple power supplies corresponding to the in-situ power supply list in parallel. Therefore, you can directly refer to the previous section on upgrading the firmware of each power supply serially.
[0156] When the theoretical safe concurrency meets the concurrent upgrade condition, it means that the theoretical safe concurrency is greater than or equal to 2. It may be necessary to perform firmware upgrades on multiple power supplies corresponding to the in-situ power supply list in parallel. Therefore, the effective connection channel topology information between the baseboard management controller and the power supplies corresponding to the in-situ power supply list can be obtained.
[0157] In this application embodiment, the effective connection channel topology information can refer to the connection channel topology between the baseboard management controller and the power supply for data communication. Figure 6 A schematic diagram illustrating the process of obtaining effective connection channel topology information according to an embodiment of this application is shown. Figure 6 As shown, obtaining the effective connection channel topology information 600 of the baseboard management controller and the in-situ power supply list includes steps 601 to 605.
[0158] In step 601, a channel scan is performed on the I2C bus. For example, the board management controller can issue an I2C bus scan command to traverse all preset I2C bus controllers (numbered 0 to K-1) of the board management controller and obtain the bus address range of each I2C bus controller.
[0159] In step 602, probe commands are sent to each I2C bus controller address by address according to the standard I2C address protocol (7-bit / 10-bit address), and the responding I2C address is recorded as a valid power address.
[0160] In step 603, the corresponding physical address is queried from the mapping table between the preset valid power address and the physical location of the I2C bus controller based on the valid power address, so as to obtain the physical address of the I2C bus controller corresponding to the valid power address.
[0161] In step 604, based on the physical address corresponding to the valid power address and the hardware connection topology of the I2C bus controller, the mapping relationship between the valid power number, valid power address, I2C connection channel number, and I2C bus controller physical address is determined. This hardware connection topology can be pre-stored in the Baseboard Management Controller (BMC) configuration file.
[0162] In step 605, a structured I2C valid connection channel topology table is generated based on the mapping relationship between valid power supply number, valid power supply address, I2C connection channel number, and I2C bus controller physical address to support querying and updating.
[0163] In step 503, the actual safe concurrency is determined based on the theoretical safe concurrency and the effective connection channel topology information. This actual safe concurrency is used to indicate the actual number of power supplies that are performing firmware upgrades in parallel, corresponding to the in-situ power supply list.
[0164] Considering that the board management controller can be connected to multiple power supplies (such as...) through the same connection channel Figure 1 (Two of them) are connected. If multiple power supplies (such as those corresponding to the same connection channel) are connected simultaneously, Figure 1 Upgrading firmware using either of the two methods can lead to channel interference issues. Therefore, we can combine the theoretical safe concurrency count with the effective connection channel topology information to decide whether to use the theoretical safe concurrency count as the actual safe concurrency count.
[0165] Optionally, the number of valid connection channels can be determined based on the valid connection channel topology information. If the number of valid connection channels is greater than the theoretical safe concurrency, the actual safe concurrency is confirmed to be equal to the theoretical safe concurrency. If the number of valid connection channels is less than or equal to the theoretical safe concurrency, the actual safe concurrency is confirmed to be equal to the number of valid connection channels.
[0166] Since the theoretical safe concurrency is determined by the number of power supplies in the in-situ power supply list and the minimum number of power supplies, and the minimum number of power supplies required for the computing device to operate normally in its current state is constant, the theoretical safe concurrency can be considered as the maximum number of power supplies that the board management controller can concurrently upgrade.
[0167] When the number of valid connection channels is greater than the theoretical safe concurrency, it means that the actual safe concurrency can be equal to the theoretical safe concurrency, thus avoiding the situation where the computing device cannot be guaranteed to work normally in the current state when the number of valid connection channels is used as the actual safe concurrency.
[0168] When the number of effective connection channels is less than or equal to the theoretical safe concurrency, it means that the actual safe concurrency can be equal to the number of effective connection channels. This avoids channel interference problems that occur when firmware upgrades are performed on multiple power supplies corresponding to the same connection channel at the same time when the theoretical safe concurrency is used as the actual safe concurrency.
[0169] For example, if there are 3 valid connection channels and the theoretical safe concurrency is 4, if the actual safe concurrency is set to be equal to 4, then it is possible to perform parallel firmware upgrades on the two power supplies corresponding to a certain valid connection channel at the same time. This will cause interference problems between the valid connection channels and make it impossible to complete the firmware upgrade of the two power supplies corresponding to that valid connection channel. Therefore, the actual safe concurrency is set to be equal to 3 (that is, the actual safe concurrency is equal to the number of valid connection channels).
[0170] For example, if there are 3 effective connection channels and the theoretical safe concurrency is 2, setting the actual safe concurrency to 3 might require firmware upgrades to the power supply that supports the normal operation of the computing device, affecting its normal operation. Therefore, the actual safe concurrency is set to 2 (i.e., the actual safe concurrency is equal to the theoretical safe concurrency).
[0171] As can be seen, in the method of this application embodiment, among the multiple power supplies corresponding to the in-situ power supply list, the number of healthy power supplies equal to the theoretical safe concurrency can ensure that the requirements for normal operation of the computing device are met during the parallel upgrade of multiple power supplies. Therefore, the actual safe concurrency can be determined by taking the theoretical safe concurrency as the upper limit and combining it with the number of effective connection channels. In this way, when performing firmware upgrades on one power supply corresponding to each effective connection channel, it can not only ensure that the requirements for normal operation of the computing device are met during the parallel upgrade of multiple power supplies, but also prevent channel interference problems caused by simultaneously performing firmware upgrades on multiple power supplies connected to the same connection channel, thereby ensuring the stability of firmware upgrades.
[0172] In step 504, based on the actual safe concurrency, the effective connection channel topology information, and the health status of the power supplies corresponding to the in-situ power supply list, firmware upgrades are performed on multiple power supplies belonging to different effective connection channels. When performing firmware upgrades on multiple power supplies belonging to different effective connection channels, a parallel upgrade approach can be adopted. That is, at the same time, a power supply can be selected from multiple effective connection channels with the same actual safe concurrency for upgrade. This power supply can be the one with the lowest health status or health level among the multiple power supplies corresponding to that effective connection channel that have not undergone firmware upgrades.
[0173] Optionally, based on the effective connection channel topology information and the actual number of safe concurrent connections, the multiple power supplies corresponding to the in-situ power supply list are grouped to obtain multiple in-situ power supply groups, so that the multiple power supplies included in the same in-situ power supply group correspond to different effective connection channels; based on the health of the multiple power supplies corresponding to the in-situ power supply list, a target in-situ power supply group is obtained from the multiple in-situ power supply groups, and the target in-situ power supply group includes the one with the lowest health among the un-upgraded power supplies corresponding to the in-situ power supply list; and the target in-situ power supply group is upgraded in parallel.
[0174] In one example, the target in-situ power group may include a large number of power supplies, potentially exceeding the actual safe concurrency. Therefore, firmware upgrades can be performed on multiple power supplies included in the target in-situ power group in parallel based on the actual safe concurrency, ensuring that the number of power supplies being upgraded in parallel in the target in-situ power group does not exceed the actual safe concurrency.
[0175] In one example, a list of power supplies to be upgraded can be obtained according to the health levels of multiple power supplies corresponding to the list of in-place power supplies. The list of power supplies to be upgraded includes the identity information of the power supplies to be upgraded. The power supplies to be upgraded can be power supplies with a health level lower than a preset health level (unhealthy power supplies). Multiple groups of power supplies to be upgraded can be obtained by grouping the power supplies to be upgraded corresponding to the list of in-place power supplies based on the effective connection channel topology information.
[0176] In one example, when grouping multiple power supplies corresponding to the in-situ power supply list based on the effective connection channel topology information and the actual safe concurrency, the number of power supplies included in the in-situ power supply group can be controlled by referring to the actual safe concurrency, so that the number of power supplies included in the in-situ power supply group is less than or equal to the actual safe concurrency. In this way, when the target in-situ power supply group is obtained, the multiple power supplies included in the target in-situ power supply group can be directly upgraded in parallel.
[0177] In one example, when grouping multiple power supplies corresponding to the in-place power supply list, grouping can be done not only based on the effective connection channel topology information and the actual number of secure parallel connections, but also by combining the upgrade priorities of the multiple power supplies corresponding to the in-place power supply list. Thus, after obtaining the target in-place power supply group, the power supplies included in the target in-place power supply group can be the ones with the highest upgrade priority among the multiple power supplies corresponding to their respective effective connection channels. This allows for the concentration of the power supplies with the highest upgrade priority from each effective connection channel within the target in-place power supply group. Therefore, when performing parallel firmware upgrades on the power supplies included in the target in-place power supply group, the power supply with the highest security risk in different effective connection channels can be prioritized for firmware upgrades, preventing problems caused by delays in upgrading high-security-risk power supplies.
[0178] In the method of this application embodiment, multiple power supplies corresponding to the in-situ power supply list can be grouped with reference to the effective connection channel topology information and the actual safe concurrency to obtain multiple in-situ power supply groups. This allows multiple power supplies in the same in-situ power supply group to correspond to different effective connection channels. Therefore, when a target in-situ power supply group is obtained from multiple in-situ power supply groups, the multiple power supplies in the target in-situ power supply group can be upgraded in parallel. This not only improves the upgrade efficiency of the power supplies but also prevents channel interference problems caused by simultaneously upgrading the firmware of multiple power supplies connected to the same connection channel.
[0179] Furthermore, since the target in-situ power group is selected from multiple in-situ power groups based on the health status of multiple power sources corresponding to the in-situ power list, ensuring that the target in-situ power group includes the one with the lowest health status among the un-upgraded power sources corresponding to the in-situ power list, the method of this application embodiment can prioritize firmware upgrades for power sources with lower health status and higher safety risks, preventing the risk management capability from declining due to late firmware upgrades.
[0180] To facilitate explanation of the embodiments of this application regarding the parallel upgrade of firmware for multiple power supplies corresponding to the in-situ power supply list, Figure 7 This illustration shows another flowchart of a parallel firmware upgrade process for multiple power supplies corresponding to an in-situ power supply list, according to an embodiment of this application. For example... Figure 7 As shown, in this embodiment of the application, firmware upgrade 700 is performed on multiple power supplies in the in-situ state based on the health status of multiple power supplies in the in-situ state, including: steps 701 to 709.
[0181] In step 701, a topology-aware algorithm is used to discover the topology of valid I2C connection channels to obtain the topology information of the valid connection channels of multiple power supplies corresponding to the board management controller and the in-situ power supply list. The topology discovery process here can be found in [reference needed]. Figure 6 Related descriptions.
[0182] In step 702, if the number of power supplies corresponding to the in-situ power supply list is greater than the minimum number of power supplies, the theoretical safe concurrency of firmware upgrade is determined based on the number of power supplies corresponding to the in-situ power supply list and the minimum number of power supplies required for the computing device to operate normally in the current state.
[0183] Optionally, let R be the number of power supplies corresponding to the in-situ power supply list, and N be the minimum number of power supplies. min The theoretical safe concurrent number C for firmware upgrades max =RN min When the number of primary power supplies in the power redundancy requirement is i and the number of redundant power supplies is j, N is in the power-on state of the computing device. min =i, N, when the computing device is powered off. min =j. The theoretical safe concurrency C for firmware upgrades. max This can be understood as the number of power supplies that can theoretically be upgraded in parallel.
[0184] In step 703, it is determined whether the theoretical safe concurrency of the firmware upgrade is greater than or equal to 2. If the theoretical safe concurrency of the firmware upgrade is greater than or equal to 2, proceed to step 704; otherwise, proceed to step 709.
[0185] In step 704, the number of valid connection channels is determined based on the substrate management controller and the valid connection channel topology information. Figure 1 For example, the number of valid connection channels is 3.
[0186] In step 705, it is determined whether the number of valid connection channels is greater than the theoretical safe concurrency. If the number of valid connection channels is greater than the theoretical safe concurrency, step 706A can be executed; otherwise, step 706B can be executed.
[0187] The theoretically safe concurrency is determined by the number of power supplies R in the in-situ power supply list and the minimum number of power supplies N required for the computing device to operate normally in its current state. min Determined, and the number of power supplies R and the number of valid connection channels N. min These can all change dynamically; therefore, when a decrease in the number of power supplies R is detected, the theoretical safe concurrency C can be adjusted downwards simultaneously. max If a valid connection channel becomes abnormal, causing a decrease in the number of valid connection channels, the number of valid connection channels can be recalculated to update the theoretical safe concurrency count C. max .
[0188] In step 706A, it is determined that the actual safe concurrency is equal to the theoretical safe concurrency. Then, step 707 is executed.
[0189] In step 706B, the actual number of secure concurrent connections is determined to be equal to the number of valid connection channels. Then, step 707 is executed.
[0190] In step 707, based on the effective connection channel topology information and the actual safe concurrency, multiple in-situ power supply groups are determined. Each power supply in the same in-situ power supply group corresponds to a different effective connection channel, and the number of power supplies is less than or equal to the actual safe concurrency.
[0191] Each power supply in the same in-situ power group corresponds to a different effective connection channel, which can ensure that the effective connection channels of the power supplies in the same in-situ power group do not interfere with each other during the upgrade process. The number of power supplies in the in-situ power group is less than or equal to the actual safe concurrent number, which can avoid interference between effective connection channels and prevent the computing device from malfunctioning.
[0192] In step 708, the multiple power supplies included in each in-situ power supply group are upgraded in parallel according to the order of their lowest health status from low to high.
[0193] After each in-situ power supply group has been upgraded, check the firmware version consistency of each power supply. If the firmware versions of all power supplies are consistent, the power supply firmware upgrade can be completed.
[0194] In step 709, firmware upgrades are performed on multiple power supplies sequentially according to their upgrade priorities.
[0195] Assume the server is configured with 6 power supplies, distributed across 3 independent I2C channels (I2C channel 1: Power Supply 1 PSU1, Power Supply 2 PSU2; I2C channel 2: Power Supply 3 PSU3, Power Supply 4 PSU4; I2C channel 3: Power Supply 5 PSU5, Power Supply 6 PSU6). The minimum number of healthy power supplies in a power-down scenario is 1, and the total number of power supplies in operation is 6. Therefore, the theoretical safe concurrency is 6 - 1 = 5. Since the number of I2C channels is 3, and the theoretical safe concurrency is 5, the actual safe concurrency is 3.
[0196] Assuming the health levels of power supplies PSU1, PSU2, PSU3, and PSU5 are all P1-P2, and grouped by I2C channels, the resulting in-situ power supply group includes PSU1 (I2C channel 1), PSU3 (I2C channel 2), and PSU5 (I2C channel 3). Under the constraint of a safe concurrent operation limit of 3, power supply upgrades can be initiated simultaneously across all three I2C channels, reducing upgrade time by approximately 60% compared to a serial upgrade.
[0197] In the method of this application embodiment, based on the topology-aware algorithm, valid connection channels can be identified by scanning the I2C channel, and the number of valid connection channels can be compared with the theoretical safe concurrency to dynamically determine the actual safe concurrency. In this way, based on the actual safe concurrency and the topology information of the valid connection channels, multiple power supplies corresponding to the in-situ power supply list can be grouped to perform parallel firmware upgrades on each in-situ power supply group, thereby adapting to the power supply firmware upgrade efficiency requirements of the current state of the computing device (such as power-off maintenance scenarios).
[0198] As can be seen, the method in this application embodiment optimizes the linear time consumption of serial upgrades into an approximately logarithmic growth of parallel upgrades by upgrading different power supplies of different effective connection channels in parallel, thereby achieving a leapfrog improvement in upgrade efficiency. In multi-power supply and multi-channel scenarios, batch upgrade time can be reduced by 50%-80%, significantly reducing the operation and maintenance time costs of large-scale data centers.
[0199] Furthermore, the method in this application embodiment can fully leverage the hardware potential of multiple I2C connection channels, avoiding resource waste caused by single-channel idleness, thereby making full use of I2C connection channel resources and improving the utilization rate of operation and maintenance resources. Moreover, by controlling the number of power supplies included in the in-situ power group through actual safe concurrency, it ensures that the minimum power redundancy requirements are met during the parallel upgrade of multiple power supplies included in the same in-situ power group, while avoiding inter-channel interference and ensuring upgrade stability.
[0200] By dividing the functional modules according to their respective functions, an exemplary embodiment of this application provides a power firmware upgrade apparatus for a baseboard management controller, the baseboard management controller being connected to multiple power supplies included in a computing device. This power firmware upgrade apparatus can be the baseboard management controller or a chip applied to the baseboard management controller. Figure 8 A schematic block diagram of a functional module of a power firmware upgrade apparatus according to an exemplary embodiment of this application is shown. Figure 8 As shown, the power firmware upgrade device 800 includes: The acquisition module 801 is used to acquire the operating data of the power supply that is in the in-situ state when it is identified as one of the multiple power supplies in the in-situ state. The filtering module 802 is used to determine the health status of the power supplies in the in-situ state based on the operating data of the power supplies in the in-situ state; and to determine the number of healthy power supplies in the in-situ state based on the health status of the power supplies in the in-situ state. Upgrade module 803 is used to perform firmware upgrades on power supplies in the in-place state based on the health status of the power supplies if the number of healthy power supplies is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in the current state.
[0201] In one possible implementation, the identity of the power supply in the in-situ state is stored in the in-situ power supply list. The acquisition module 801 is also used to acquire the identity of the target power supply in response to detecting a hot-plug event of the target power supply among multiple power supplies, and update the in-situ power supply list based on the identity of the target power supply.
[0202] In one possible implementation, the acquisition module 801 is used to acquire the number of power supplies with a health level greater than a preset health level in the power supply list corresponding to the power supply; and to determine the number of healthy power supplies based on the number of power supplies with a health level greater than the preset health level.
[0203] In one possible implementation, the multiple power supplies include redundant power supplies and a primary power supply. The acquisition module 801 is also used to acquire the current state of the computing device; if the current state is a power-on state, it confirms that the minimum number of power supplies is equal to the number of primary power supplies; if the current state is a power-off state, it confirms that the minimum number of power supplies is equal to the number of redundant power supplies.
[0204] In one possible implementation, there are multiple power supplies in the in-place state, and the identities of these multiple in-place power supplies are stored in an in-place power supply list. The upgrade module 803 is used to determine the upgrade priority of the multiple power supplies corresponding to the in-place power supply list based on their health status. If the number of power supplies corresponding to the in-place power supply list is greater than the minimum number of power supplies, firmware upgrades are performed on the multiple power supplies corresponding to the in-place power supply list based on their upgrade priorities. The upgrade priority of a power supply is negatively correlated with its health status.
[0205] In one possible implementation, the upgrade module 803 is used to determine the health level of multiple power supplies corresponding to the in-situ power supply list based on the health status of the power supplies; determine the upgrade priority of the multiple power supplies corresponding to the in-situ power supply list based on the health levels of the multiple power supplies; if the target health level among the multiple power supply health levels corresponds to at least two power supplies, obtain the runtime of at least two power supplies corresponding to the target health level; and determine the upgrade priority of at least two power supplies corresponding to the target health level based on the runtime of at least two power supplies corresponding to the target health level, wherein the runtime of the multiple power supplies corresponding to the target health level is positively correlated with the upgrade priority of the power supplies corresponding to the target health level.
[0206] In one possible implementation, there are multiple power supplies in the in-situ state, and the identities of these multiple in-situ power supplies are stored in an in-situ power supply list. The upgrade module 803 is used to determine the theoretical safe concurrency for firmware upgrades based on the number of power supplies in the in-situ power supply list and the minimum number of power supplies if the number of power supplies in the in-situ power supply list is greater than the minimum number of power supplies; if the theoretical safe concurrency meets the concurrent upgrade conditions, it obtains the effective connection channel topology information between the baseboard management controller and the multiple power supplies in the in-situ power supply list; based on the theoretical safe concurrency and the effective connection channel topology information, it determines the actual safe concurrency; based on the actual safe concurrency, the effective connection channel topology information, and the health status of the multiple power supplies in the in-situ power supply list, it performs firmware upgrades on multiple power supplies belonging to different effective connection channels. The theoretical safe concurrency indicates the theoretical number of power supplies in the in-situ power supply list that can undergo firmware upgrades in parallel, and the actual safe concurrency indicates the actual number of power supplies in the in-situ power supply list that can undergo firmware upgrades in parallel.
[0207] In one possible implementation, the upgrade module 803 is used to determine the number of valid connection channels based on the valid connection channel topology information; if the number of valid connection channels is greater than the theoretical safe concurrency, it confirms that the actual safe concurrency is equal to the theoretical safe concurrency; if the number of valid connection channels is less than or equal to the theoretical safe concurrency, it confirms that the actual safe concurrency is equal to the number of valid connection channels.
[0208] In one possible implementation, the upgrade module 803 is used to group multiple power supplies corresponding to the in-situ power supply list based on the effective connection channel topology information and the actual safe concurrency, to obtain multiple in-situ power supply groups, such that the multiple power supplies included in the same in-situ power supply group correspond to different effective connection channels; based on the health of the multiple power supplies corresponding to the in-situ power supply list, to obtain a target in-situ power supply group from the multiple in-situ power supply groups, the target in-situ power supply group including the one with the lowest health among the un-upgraded power supplies corresponding to the in-situ power supply list; and to perform firmware upgrades on the multiple power supplies included in the target in-situ power supply group in parallel.
[0209] This application also provides a baseboard management controller, including: a processor; and a memory storing a program; wherein the program includes instructions that, when executed by the processor, cause the processor to perform a power firmware upgrade method according to an embodiment of this application.
[0210] This application also provides a computer storage medium storing computer instructions that, when executed on a management device, cause the processor of a baseboard management controller to execute a power firmware upgrade method according to an embodiment of this application.
[0211] An exemplary embodiment of this application also provides a computer program product, including a computer program, wherein, when executed by a processor of a baseboard management controller, the computer program implements a method for upgrading power firmware according to an embodiment of this application to cause the baseboard management controller to perform such an upgrade.
[0212] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely exemplary illustrations of this application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from the spirit and scope of this application. Thus, if such modifications and modifications of this application fall within the scope of the claims of this application and their equivalents, this application is also intended to include such modifications and modifications.
Claims
1. A method for upgrading power supply firmware, characterized in that, For a baseboard management controller, the baseboard management controller being connected to multiple power supplies included in a computing device, the method includes: When a power supply in the in-situ state is identified among the plurality of power supplies, the operating data of the power supply in the in-situ state is acquired. Based on the operating data of the power supply in the in-situ state, the health status of the power supply in the in-situ state is determined. Based on the health status of the power supplies in the in-situ state, determine the number of healthy power supplies in the in-situ state. If the number of healthy power supplies is greater than or equal to the minimum number of power supplies required for the computing device to operate normally in its current state, then the firmware of the power supplies in the in-situ state is upgraded based on their health status.
2. The method according to claim 1, characterized in that, The identification of the power supply in the in-situ state is stored in the in-situ power supply list, and the method further includes: In response to detecting a hot-plug event of a target power supply among the plurality of power supplies, the identity identifier of the target power supply is obtained; The list of in-situ power sources is updated based on the identity of the target power source.
3. The method according to claim 2, characterized in that, Determining the number of healthy power supplies in the in-situ state based on the health status of the power supplies in the in-situ state includes: Obtain the number of power supplies with a health level greater than a preset health level in the power supply list corresponding to the in-situ power supply list; The number of healthy power supplies is determined based on the number of power supplies with a health level greater than a preset health level.
4. The method according to any one of claims 1 to 3, characterized in that, The plurality of power supplies includes redundant power supplies and a primary power supply, and the method further includes: Obtain the current state of the computing device; If the current state is a power-on state, confirm that the minimum number of power supplies is equal to the number of main power supplies; If the current state is a power-off state, confirm that the minimum number of power supplies is equal to the number of redundant power supplies.
5. The method according to any one of claims 1 to 4, characterized in that, The number of power supplies in the in-place state is multiple, and the identities of these multiple in-place power supplies are stored in an in-place power supply list. The firmware upgrade of the in-place power supplies based on their health status includes: Based on the health status of the multiple power supplies corresponding to the in-situ power supply list, the upgrade priority of the multiple power supplies corresponding to the in-situ power supply list is determined. If the number of power supplies corresponding to the in-place power supply list is greater than the minimum number of power supplies, the firmware of the multiple power supplies corresponding to the in-place power supply list is upgraded based on the upgrade priority of the multiple power supplies. The upgrade priority of the power supply is negatively correlated with the health of the power supply.
6. The method according to claim 5, characterized in that, The step of determining the upgrade priority of multiple power supplies corresponding to the in-place power supply list based on their health status includes: Based on the health status of multiple power sources corresponding to the in-situ power source list, determine the health level of the multiple power sources corresponding to the in-situ power source list; Based on the health levels of the plurality of power supplies, determine the upgrade priority of the plurality of power supplies corresponding to the in-situ power supply list; If the target health level among the multiple health levels of the power supplies corresponds to at least two of the power supplies, obtain the runtime of the at least two power supplies corresponding to the target health level; Based on the runtime of at least two power supplies corresponding to the target health level, the upgrade priority of at least two power supplies corresponding to the target health level is determined, and the runtime of the power supply corresponding to the target health level is positively correlated with the upgrade priority of the power supply corresponding to the target health level.
7. The method according to any one of claims 1 to 4, characterized in that, The number of power supplies in the in-place state is multiple, and the identities of these multiple in-place power supplies are stored in an in-place power supply list. The firmware upgrade of the in-place power supplies based on their health status includes: If the number of power supplies corresponding to the in-situ power supply list is greater than the minimum number of power supplies, the theoretical safe concurrency of the firmware upgrade is determined based on the number of power supplies corresponding to the in-situ power supply list and the minimum number of power supplies. The theoretical safe concurrency is used to indicate the theoretical number of power supplies corresponding to the in-situ power supply list that can perform firmware upgrades in parallel. If the theoretical safe concurrency number meets the concurrency upgrade condition, obtain the effective connection channel topology information of the multiple power supplies corresponding to the baseboard management controller and the in-situ power supply list; Based on the theoretical safe concurrency count and the effective connection channel topology information, the actual safe concurrency count is determined. The actual safe concurrency count is used to indicate the actual number of power supplies that are performing firmware upgrades in parallel, corresponding to the in-situ power supply list. Based on the actual number of secure concurrent connections, the topology information of the effective connection channels, and the health status of the multiple power supplies corresponding to the in-situ power supply list, firmware upgrades are performed on multiple power supplies belonging to different effective connection channels.
8. The method according to claim 7, characterized in that, The determination of the actual secure concurrency based on the theoretical secure concurrency number and the effective connection channel topology information includes: Based on the effective connection channel topology information, the number of effective connection channels is determined; If the number of valid connection channels is greater than the theoretical safe concurrency, then the actual safe concurrency is confirmed to be equal to the theoretical safe concurrency. If the number of effective connection channels is less than or equal to the theoretical safe concurrency, then the actual safe concurrency is confirmed to be equal to the number of effective connection channels.
9. The method according to claim 7, characterized in that, The firmware upgrade for multiple power supplies belonging to different valid connection channels, based on the actual safe concurrency, the effective connection channel topology information, and the health status of multiple power supplies corresponding to the in-situ power supply list, includes: Based on the effective connection channel topology information and the actual safe concurrency, the multiple power supplies corresponding to the in-situ power supply list are grouped to obtain multiple in-situ power supply groups, such that the multiple power supplies included in the same in-situ power supply group correspond to different effective connection channels. Based on the health status of multiple power supplies corresponding to the in-situ power supply list, a target in-situ power supply group is obtained from the multiple in-situ power supply groups. The target in-situ power supply group includes the power supply with the lowest health status among the unupgraded power supplies corresponding to the in-situ power supply list. Firmware upgrades are performed on multiple power supplies included in the target in-situ power group in parallel.
10. A computing device, characterized in that, The device includes a substrate management controller and multiple power supplies, the substrate management controller being connected to the multiple power supplies, and the substrate management controller being used to perform the method according to any one of claims 1 to 9.