Firmware upgrade system and method
By establishing a digital signal channel between the logic controller and the management controller in the server, the problem of error alarms during firmware upgrades is solved, enabling more efficient and reliable firmware upgrade operations.
Patent Information
- Application Number
- CN202511055946.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-30
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2045-07-30
AI Technical Summary
During server firmware upgrades, other management controllers may capture reset status data of storage devices, leading to erroneous alarms and affecting the accuracy and efficiency of the monitoring system.
A digital signal channel is established between the logic controller and the management controller to transmit firmware upgrade instructions and status information, and the monitoring process is shut down during the firmware upgrade process to avoid error alarms.
It effectively avoids false alarms, improves the Service Level Agreement (SLA) metrics of the server monitoring system, reduces the response cost for technicians to handle false alarms, and improves the efficiency and reliability of firmware upgrades.
Smart Images

Figure CN120560694B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of server technology, and in particular to a firmware upgrade system and method. Background Art
[0002] In the server technology field, a high-density server consists of multiple server nodes and a backplane. The backplane is equipped with a logic controller. Each server node includes a management controller, which is connected to the logic controller. Due to technological updates in storage protocols and hardware devices, the firmware of the logic controller needs to be updated to ensure that the logic controller can accurately monitor and operate the storage devices connected to the backplane.
[0003] During a firmware upgrade, only one of the multiple management controllers is typically allowed to control the upgrade. Because the storage device's status data is reset during the firmware upgrade, other management controllers might detect the reset status data and believe the storage device is missing or faulty, issuing an error alert. Summary of the Invention
[0004] The present application provides a firmware upgrade system, method, electronic device, storage medium, and program product to solve the problem of false alarms during the firmware upgrade process.
[0005] The present application provides a firmware upgrade system, which includes a logic controller and multiple management controllers, wherein the logic controller establishes a digital signal channel and a serial communication channel with each management controller;
[0006] a first management controller, configured to send a firmware upgrade instruction to the logic controller via a target serial communication channel between the first management controller and the logic controller, wherein the first management controller is a management controller among the multiple management controllers that controls the logic controller to perform a firmware upgrade operation;
[0007] The logic controller is configured to, upon receiving a firmware upgrade instruction, execute a firmware upgrade operation according to the firmware upgrade instruction; and switch the states of the operation objects included in the logic controller and corresponding to all management controllers to a first state, wherein the first state is used to indicate that the logic controller is in a firmware upgrade process;
[0008] Each management controller in the firmware upgrade system is used to shut down the first monitoring process and stop reading the status data of the storage device from the logic controller when detecting that the state of the operation object corresponding to itself is the first state through the digital signal channel between itself and the logic controller.
[0009] The present application also provides a firmware upgrade method, which is applied to a firmware upgrade system. The firmware upgrade system includes a logic controller and multiple management controllers. The logic controller establishes a digital signal channel and a serial communication channel with each management controller. The method includes:
[0010] The first management controller sends a firmware operation instruction to the logic controller through a target serial communication channel between the first management controller and the logic controller, wherein the first management controller is a management controller that controls the logic controller to perform a firmware upgrade operation among the multiple management controllers;
[0011] When receiving the firmware upgrade instruction, the logic controller performs a firmware upgrade operation according to the firmware upgrade instruction; and switches the states of the operation objects corresponding to all the management controllers included in the logic controller to a first state, wherein the first state is used to indicate that the logic controller is in a firmware upgrade process;
[0012] When each management controller in the firmware upgrade system detects that the state of the operation object corresponding to itself is the first state through the digital signal channel between itself and the logic controller, it closes the first monitoring process to stop reading the state data of the storage device from the logic controller.
[0013] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps performed by the above-mentioned management controller or logic controller when executing the computer program.
[0014] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps performed by the above-mentioned management controller or logic controller are implemented.
[0015] The present application also provides a computer program product, including a computer program, which implements the steps performed by the above-mentioned management controller or logic controller when executed by a processor.
[0016] Through this application, in a firmware upgrade system, a new digital signal channel is added between each management controller and the logic controller, specifically for the logic controller to inform the management controller that it is performing a firmware upgrade operation, while retaining the original serial communication channel for transmitting related instructions. During the firmware upgrade process, the first management controller can send a firmware upgrade instruction to the logic controller via the originally established serial communication channel. Upon receiving the firmware upgrade instruction, the logic controller can execute the firmware upgrade operation and switch the status of the operation objects corresponding to all management controllers included in it to the first state, thereby informing each management controller that the current logic controller is performing an upgrade operation. When each management controller detects that the status of its corresponding operation object is the first state through the digital signal channel between itself and the logic controller, it can know that the logic controller is performing an upgrade operation and that the storage device status data it obtains may be incorrect. Therefore, each management controller can shut down the status of the first monitoring process. In this way, a management controller that has not obtained control of the firmware upgrade can shut down the first monitoring process and block the alarm task to avoid the problem of obtaining reset status data of the storage device and issuing an erroneous alarm. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0018] Figure 1 A schematic diagram of the architecture of a firmware upgrade system provided in an embodiment of the present application;
[0019] Figure 2 A schematic diagram of the architecture of another firmware upgrade system provided in an embodiment of the present application;
[0020] Figure 3 A flowchart of a firmware upgrade method provided in an embodiment of the present application;
[0021] Figure 4 A schematic diagram of the architecture of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0022] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0023] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0024] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0025] This application provides a firmware upgrade system, such as Figure 1 As shown, the firmware upgrade system may include a logic controller 20 and multiple management controllers. The logic controller 20 establishes a digital signal channel and a serial communication channel with each management controller respectively. Among them, the management controller may be a baseboard management controller (Baseboard Management Controller, BMC), and the logic controller 20 may be a complex programmable logic device (Complex Programmable Logic Device, CPLD). The logic controller 20 may be located on the backplane (for example, the middle backplane) of a high-density server (a server including multiple BMCs), and each management controller is electrically connected to the logic controller 20, specifically through a general purpose input / output (GPIO) line (that is, the above-mentioned digital signal channel) and an I2C cable (that is, the above-mentioned serial communication channel). The GPIO line can be used to transmit control signals (for example, high and low level signals), and the I2C cable can be used to transmit related instructions (for example, firmware upgrade instructions, firmware reload instructions). The above-mentioned backplane can be connected to at least one storage device. For example, the storage device may be a hard disk, or a solid state disk (SSD), such as Figure 2 shown.
[0026] The first management controller 10 may be configured to send a firmware operation instruction to the logic controller 20 when status indication information corresponding to the target processing stage is obtained during the target processing stage of the firmware upgrade process.
[0027] The logic controller 20 can be used to execute the firmware processing operation of the target processing stage according to the firmware operation instruction when receiving the firmware operation instruction, and to switch the states of the operation objects corresponding to all management controllers included in the logic controller 20 to states corresponding to the firmware operation instruction.
[0028] Each of the plurality of management controllers (e.g., Figure 1 The first management controller 10, management controller 301, management controller 301, management controller 301) can all be used to perform setting operations corresponding to the target state on the first monitoring process according to the target state after the switch when detecting that the state of the operation object corresponding to itself is switched.
[0029] The firmware upgrade process may include multiple processing stages, for example, a firmware upgrade stage and a firmware reload stage. The firmware reload stage may be a processing stage subsequent to the firmware upgrade stage. The first management controller 10 is the management controller that controls the logic controller 20 to perform firmware upgrade operations among the multiple management controllers. The first monitoring process is a monitoring process that executes alarm tasks corresponding to the logic controller 20, and may also be referred to as an upgrade process.
[0030] Specifically, under normal operating conditions, the aforementioned logic controller 20 generally performs the following tasks: first, collecting information about the storage device's presence, fault, and activity status via the interface controller; second, controlling the power supply timing and isolating the data signals from the storage device; and third, transparently transmitting abnormal status data from the storage device to the corresponding management controller. When the logic controller 20 is performing a firmware upgrade, it may be unable to perform these tasks normally, potentially transmitting erroneous status data. To prevent the management controller from issuing an error alarm upon receiving erroneous status data, a digital signal channel can be established between the logic controller 20 and each management controller, allowing each management controller to determine whether the logic controller 20 is performing a firmware upgrade via the digital signal channel. Accordingly, when one of the multiple management controllers (i.e., the aforementioned first management controller 10) receives a firmware upgrade instruction (also referred to as an UPDATE Mode instruction) from the target device, the first management controller 10 can control the logic controller 20 to perform the upgrade operation. Accordingly, at each processing stage of the firmware upgrade process, the first management controller 10 receives the firmware operation instruction corresponding to that processing stage and transmits it to the logic controller 20 via the aforementioned serial communication channel, thereby controlling the logic controller 20 to complete the firmware upgrade process.
[0031] Upon receiving the firmware operation instruction, the logic controller 20 may execute the firmware processing operation for that processing phase in accordance with the firmware operation instruction. Furthermore, to ensure that all management controllers are aware that the logic controller 20 is currently executing or has completed a firmware upgrade, the logic controller 20 may also switch the states of its own operation objects, each corresponding to the management controller, to the states corresponding to the firmware operation instruction.
[0032] In this way, each management controller can detect that the state of the operation object corresponding to itself is switched, and can set the state of the first monitoring process according to the target state after the switch, so as to stop reading the status data of the storage device from the logic controller 20 during the upgrade process, and after the upgrade is completed, read the status data of the storage device from the logic controller 20 again to avoid the management controller issuing an erroneous alarm message.
[0033] The following describes in detail the process of executing the firmware upgrade operation of the firmware upgrade system in two stages.
[0034] First, the firmware upgrade stage.
[0035] The first management controller 10 may be configured to send a firmware upgrade instruction to the logic controller 20 via a target serial communication channel between the first management controller 10 and the logic controller 20 .
[0036] The logic controller 20 may be configured to, upon receiving a firmware upgrade instruction, execute a firmware upgrade operation according to the firmware upgrade instruction and switch the states of the operation objects corresponding to all management controllers included in the logic controller 20 to the first state.
[0037] The first state is used to indicate that the logic controller 20 is in a firmware upgrade process.
[0038] Each management controller in the firmware upgrade system can be used to shut down the first monitoring process and stop reading the status data of the storage device from the logic controller 20 when it detects that the state of the operation object corresponding to itself is the first state through the digital signal channel between itself and the logic controller 20.
[0039] Specifically, upon receiving a firmware upgrade instruction from a target device, the first management controller 10 may send the firmware upgrade instruction to the logic controller 20 via the target serial communication channel between the first management controller 10 and the logic controller 20. The target device may be a firmware update platform, a client device, or the like. The firmware upgrade instruction may include firmware update information, which may include only the update type and the firmware corresponding to the update type. For example, if the update type is an increment type, the firmware corresponding to the update type is the increment firmware; or if the update type is a replacement type, the firmware corresponding to the replacement type is the updated firmware.
[0040] Upon receiving the firmware upgrade instruction, the logic controller 20 sets the state of each operation object corresponding to each management controller in the logic controller 20 to the first state. This allows each management controller in the firmware upgrade system to detect the first state of its corresponding operation object through the digital signal channel between itself and the logic controller 20. At this point, each management controller can shut down its first monitoring process, which is used to perform alarm tasks, thereby stopping reading storage device status data from the logic controller 20 and discontinuing any alarm operations. Furthermore, upon receiving the firmware upgrade instruction, the logic controller 20 must also execute the firmware upgrade operation in accordance with the firmware upgrade instruction.
[0041] Second, the firmware reloading stage.
[0042] The first management controller 10 may also be configured to monitor the progress of the firmware upgrade operation using a pre-built second monitoring process when detecting that the state of the target operation object corresponding to the first management controller 10 is the first state. When the progress of the firmware upgrade operation reaches a preset progress, the first management controller 10 may send a firmware reload instruction to the logic controller 20 via the target serial communication channel.
[0043] The logic controller 20 may also be configured to execute a firmware reloading operation upon receiving a firmware reloading instruction, and switch the states of the operation objects corresponding to all management controllers included in the logic controller 20 to the second state.
[0044] The second state may be used to indicate that the logic controller 20 has completed the firmware upgrade operation.
[0045] Each management controller in the firmware upgrade system can also be used to restore the first monitoring process to continue reading the status data of the storage device from the logic controller 20 when it detects that the state of the operation object corresponding to itself is the second state through the digital signal channel between itself and the logic controller 20.
[0046] Specifically, upon detecting that the state of an operation object corresponding to the first management controller 10 in the logic controller 20 has switched to the first state, the first management controller 10 may determine that the logic controller 20 has begun executing a firmware upgrade operation. Furthermore, the first management controller 10 may utilize a pre-established second monitoring process to monitor the progress of the firmware upgrade operation. When the progress of the firmware upgrade operation reaches a preset progress, the first management controller 10 may send a firmware reload instruction to the logic controller 20 via the target serial communication channel. For example, the preset progress may be 100%.
[0047] After receiving the firmware reload instruction, the logic controller 20 can set the state of the operation object corresponding to each management controller in the logic controller 20 to the second state. In this way, each management controller in the firmware upgrade system can detect that the state of its corresponding operation object is in the second state through the digital signal channel between itself and the logic controller 20. At this time, each management controller can start its own first monitoring process for executing the alarm task, thereby continuing to read storage device status data from the logic controller 20. Furthermore, after receiving the firmware reload instruction, the logic controller 20 can execute the firmware reload operation.
[0048] In the firmware upgrade system of an embodiment of the present application, a new digital signal channel is added between each management controller and the logic controller 20, specifically for the logic controller 20 to inform the management controller that it is performing a firmware upgrade operation. The original serial communication channel is retained to transmit relevant instructions. During the firmware upgrade process, the first management controller 10 can send firmware upgrade instructions to the logic controller 20 via the originally established serial communication channel. Upon receiving the firmware upgrade instruction, the logic controller 20 can execute the firmware upgrade operation and switch the state of the operation objects corresponding to all management controllers included in it to the first state, thereby notifying each management controller that the logic controller 20 is currently performing an upgrade operation. When each management controller detects that the state of its corresponding operation object is in the first state via the digital signal channel between itself and the logic controller 20, it knows that the logic controller 20 is performing an upgrade operation and that the storage device status data it has obtained may be incorrect. Therefore, each management controller can disable the status of the first monitoring process. In this way, management controllers that have not obtained control of the firmware upgrade can disable the first monitoring process and block the alarm task, thereby avoiding the problem of obtaining reset status data of the storage device and issuing erroneous alarms. Furthermore, it can reduce the response costs of technical personnel in handling false alarms and improve the service level agreement (SLA) indicators of the server monitoring system, which is an indicator for monitoring service quality.
[0049] Furthermore, after detecting that the logic controller 20 has completed the firmware upgrade, the first management controller 10 can send a firmware reload instruction to it via the target serial communication channel. The logic controller 20 then executes the firmware reload and sets the states of the corresponding operation objects of all management controllers to the second state. This allows all management controllers in the firmware upgrade system to know that the logic controller 20 has completed the firmware upgrade and that the storage device status data it sent is correct. At this point, after resuming the first monitoring process, each management controller can promptly read the correct storage device status data from the logic controller 20 and execute accurate alarm tasks.
[0050] In some optional embodiments, to prevent the logic controller 20 from malfunctioning during the firmware update process, resulting in the inability to continue executing related operations, the first management controller 10 may also perform a timing operation on the firmware update process. Accordingly, the first management controller 10 may also be configured to start a timer to perform a timing operation upon detecting that the state of the target operation object corresponding to itself is in the first state. When the timer duration equals a preset timing duration and the target operation object still has not been detected to have changed from the first state to the second state, a target alarm message is generated and recorded. For example, the preset timing duration may be 600 seconds.
[0051] Specifically, when the first management controller 10 detects that the state of the target operation object corresponding to the first management controller 10 switches from the second state to the first state, it can start the timer to start the timing operation. When it is monitored that the timing duration of the timer is equal to the preset timing duration, and the state of the target operation object has not been detected to switch back from the first state to the second state, that is, the firmware upgrade operation has not been completed, it is determined that the firmware upgrade operation has timed out. The first management controller 10 can generate and record target alarm information and send it to the target device to indicate that the firmware update process has timed out. The technician can intervene and restore the firmware upgrade operation as soon as possible, thereby completing the firmware upgrade operation as soon as possible, which can improve the efficiency of the firmware upgrade operation.
[0052] The firmware upgrade system of the embodiment of the present application, by timing the firmware update process, can avoid the problem of the firmware upgrade system being in an inoperative state for a long time due to firmware update jams. Furthermore, by promptly generating a target alarm message when the timing reaches a preset timing duration, technicians can accurately determine the cause of the fault and resolve it, ensuring that subsequent firmware upgrade operations can be carried out in a timely manner, further improving the efficiency of firmware upgrade operations in the event of a fault.
[0053] In some optional embodiments, the logic controller 20 may also be configured to, based on the firmware operation instructions, perform setup operations corresponding to the firmware operation instructions on the interface controller connected to the storage device on the backplane to which the logic controller 20 belongs. Specifically, upon receiving a firmware upgrade instruction, the logic controller 20 may be configured to lock the interface controller connected to the storage device on the backplane to which the logic controller 20 belongs, thereby stopping monitoring the storage device's status data. Alternatively, upon receiving a firmware reload instruction, the logic controller 20 may be configured to restore the interface controller connected to the storage device on the backplane to which the logic controller 20 belongs, thereby continuing to monitor the storage device's status data.
[0054] The interface controller is used to monitor the status data of the storage device. For example, the interface controller may be a Serial General Purpose Input / Output (SGPIO) controller.
[0055] Specifically, upon receiving a firmware upgrade instruction, the logic controller 20 can lock the interface controller on its backplane. This causes the interface controller to stop scanning storage device status data, saving resources and avoiding the generation of erroneous alarms. During the firmware reload phase, upon receiving a firmware reload instruction, the logic controller 20 can release the interface controller. This allows the interface controller to resume scanning storage devices and obtain storage device status data.
[0056] The firmware upgrade system of the embodiment of the present application can save resources and avoid generating erroneous status data by locking or releasing the interface controller. When the logic controller 20 resumes normal operation and transmits correct status information, the interface controller continues to monitor and promptly detects storage device failures.
[0057] In some optional embodiments, the logic controller 20 may include a universal output interface corresponding to each management controller. Each management controller includes a universal input interface. A universal input interface of a management controller (which may be named "NODE_BMC_I2C_INT_N") is electrically connected to a universal output interface in the logic controller 20 to establish a digital signal channel between the logic controller 20 and each management controller. In addition, the management controller may also have other input interfaces to perform other management controller-related functions, such as sending or receiving reset signals (RST_SYS_RST_N, BMC_NODE_RST_H) and sending or receiving interrupt events (IRQ_PCH_CPU_NMI_EVENT_BMC_N, FM_NMI_BMC_N).
[0058] Correspondingly, the above-mentioned operation object may be a level signal (also referred to as CPLD_READY_OUT) or a status value of a register.
[0059] Specifically, in the case where the operation object is a level signal of a universal output interface, when the logic controller 20 receives a firmware upgrade instruction, the logic controller 20 may switch the level signal output by the universal output interface corresponding to each management controller from a high level state to a low level state, and transmit the level signal to the universal input interface of the management controller via a digital signal channel. In this way, the management controller can detect that the level signal of the universal input interface has changed to a low level state, that is, it has detected that the state of the operation object corresponding to itself is the first state. Alternatively, when the logic controller 20 receives a firmware reload instruction, the logic controller 20 may switch the level signal output by the universal output interface corresponding to each management controller from a low level state back to a high level state, and transmit the level signal to the universal input interface of the management controller via a digital signal channel. In this way, the management controller can detect that the level signal of the universal input interface has changed to a high level state, that is, it has detected that the state of the operation object corresponding to itself is the second state.
[0060] In the case where the operation object is the state value of a register, when the logic controller 20 receives a firmware upgrade instruction, the logic controller 20 can set the state value of the register connected to each management controller to a first preset value, wherein the first preset value is the first state. In this way, the management controller can detect that the state value in the register corresponding to itself is the first preset value, that is, it detects that the state of the operation object corresponding to itself is the first state. Alternatively, when the logic controller 20 receives a firmware reload instruction, the logic controller 20 can set the state value of the register connected to each management controller to a second preset value, wherein the second preset value is the second state. In this way, the management controller can detect that the state value in the register corresponding to itself is the second preset value, that is, it detects that the state of the operation object corresponding to itself is the second state.
[0061] The firmware upgrade system of the embodiment of the present application realizes synchronous update of the status of all management controllers through parallel writing of physical levels / registers, which is more efficient and can ensure that the management controller knows in time whether the logic controller 20 is performing a firmware upgrade operation.
[0062] In some optional implementations, the logic controller 20 is specifically configured to extract firmware update information from the firmware update instruction and perform a firmware upgrade operation based on the firmware update information.
[0063] Specifically, during the firmware upgrade phase, after receiving a firmware upgrade instruction, the logic controller 20 can extract the firmware update information from the firmware upgrade instruction and, based on the firmware update information, perform a firmware upgrade operation on the original firmware in its own memory. For example, when the firmware update information includes updated firmware, the logic controller 20 can replace the original firmware in the memory with the updated firmware. Alternatively, when the firmware update information includes an additional type and additional firmware corresponding to the additional type, the additional firmware can be directly written to the memory, where the original firmware and the additional firmware constitute the updated firmware.
[0064] In some optional implementations, when the firmware update information is updated firmware, the logic controller 20 may be specifically configured to:
[0065] Obtain an update storage address. Write the updated firmware to an update storage area in the memory corresponding to the update storage address. The memory also includes an original storage area, which stores the original firmware. After writing the updated firmware to the update storage area, delete the original firmware from the original storage area. Furthermore, obtain a target storage address corresponding to the original storage area. Update the update storage address to the target storage address for performing the next firmware upgrade operation.
[0066] Specifically, the logic controller 20 can first obtain the variable value of the target pointer and determine this variable value as the update storage address. Then, using this update storage address as the starting storage address, the updated firmware can be written to the update storage area in the memory. After the updated firmware is completely written to the update storage area, the logic controller 20 can delete the original firmware in the original storage area and obtain the target storage address corresponding to the original storage area. Finally, the variable value of the target pointer is updated to the target storage address. In this way, the firmware can be updated in a similar manner the next time a firmware upgrade operation is performed.
[0067] The firmware upgrade system of the present application utilizes a dual-storage area architecture to maintain the integrity of the original firmware while writing the new firmware. Even if an unexpected situation occurs during the upgrade process, the firmware can still be loaded from the original storage area, thereby improving the reliability of the entire system. Furthermore, after each upgrade, the new and old storage areas are automatically swapped, significantly reducing the number of storage area refreshes, extending the memory's lifespan, and reducing hardware costs.
[0068] In some optional implementations, the logic controller 20 is specifically configured to perform a restart operation, read updated firmware from the update storage area after the restart, and perform a firmware loading operation based on the updated firmware.
[0069] Specifically, in the firmware reloading stage, when the logic controller 20 receives a firmware reloading instruction, it can read the updated firmware from the memory and perform a firmware loading operation on the updated firmware.
[0070] In some optional embodiments, the first management controller 10 and the logic controller 20 can also cooperate with each other to automatically handle the problem of firmware upgrade operation timeout. Accordingly, when the operation object is the status value of the register corresponding to the management controller in the logic controller 20, the first management controller 10 can also be used to obtain the latest progress of the firmware upgrade operation when the timing duration of the timer is equal to the preset timing duration, and send a reset signal to the logic controller 20.
[0071] The logic controller 20 may also be configured to perform a reset operation when a reset signal is detected, and to set the state value of the target register corresponding to the first management controller 10 to a third preset value after the reset operation is completed.
[0072] The first management controller 10 may also be configured to send firmware update information and the latest progress to the logic controller 20 when detecting that the state value of the target register is a third preset value.
[0073] The logic controller 20 may also be configured to continue executing the firmware upgrade operation on the update storage area according to the firmware update information and the latest progress.
[0074] Specifically, during the firmware upgrade phase, when the first management controller 10 detects that its timer has reached a preset timer duration, it can obtain the latest progress of the firmware upgrade operation and send a reset signal to the logic controller 20. Upon detecting the reset signal, the logic controller 20 performs a reset operation. Upon completion of the reset operation, the state value of the target operation object is set to a target value (different from both the first preset value and the second preset value). Upon detecting the target value, the first management controller 10 can resend the firmware update information and the current latest progress to the logic controller 20. The logic controller 20 can determine the update location based on the firmware update information and the latest progress (determine the updated size based on the size of the firmware update information and the latest progress, determine a first storage address in the update storage area, and determine the first storage address as the update location). Finally, the logic controller 20 continues to write the unwritten firmware in the updated firmware included in the firmware update information to the update storage area, starting with the first storage address.
[0075] The firmware upgrade system of the embodiment of the present application, through the cooperation between the first management controller 10 and the logic controller 20, can automatically and promptly handle update timeouts. In addition, during the update recovery process, the update can be resumed from the breakpoint, eliminating the need to restart the firmware update from the beginning. This can greatly improve the efficiency of the firmware upgrade operation.
[0076] In some optional embodiments, the logic controller 20 can also be used to write update completion indication information to a preset storage location in the update storage area after all the updated firmware is written to the update storage area. Accordingly, the first management controller 10 can also be used to directly send a firmware reload instruction to the logic controller 20 when the timing duration of the timer is equal to the preset timing duration. After receiving the firmware reload instruction, the logic controller 20 restarts. After completing the restart, first check whether the update storage area stores the update completion indication information. If so, it means that the update has been completed and the updated firmware can be directly loaded from the update storage area for use. If not, it means that the upgrade operation is estimated to have timed out and the firmware upgrade operation is not completed. The logic controller 20 can load the original firmware from the original firmware area to restore the working task of the logic controller 20 and avoid the logic controller 20 being in an inoperable state for a long time. After the logic controller 20 completes the firmware loading operation, the states of the operation objects corresponding to all management controllers will all be set to the second state, so that all management controllers can restore the alarm task.
[0077] In the firmware upgrade system of the embodiment of the present application, if the update process fails and the update process fails, the logic controller 20 can restart under the control of the first management controller 10, load the original firmware, and execute related tasks. This can significantly shorten the downtime of the firmware upgrade system.
[0078] The embodiment of the present application provides a firmware upgrade method, which can be applied to the above-mentioned firmware upgrade system. The firmware upgrade system includes a logic controller and multiple management controllers. The logic controller establishes a digital signal channel and a serial communication channel with each management controller. Figure 3 As shown, the specific processing steps of the firmware upgrade method may include:
[0079] Step S301 : The first management controller sends a firmware operation instruction to the logic controller through a target serial communication channel between the first management controller and the logic controller.
[0080] The first management controller is a management controller among the multiple management controllers that controls the logic controller to perform firmware upgrade operations.
[0081] Step S302 : When receiving the firmware upgrade instruction, the logic controller executes the firmware upgrade operation according to the firmware upgrade instruction, and switches the states of the operation objects corresponding to all the management controllers included in the logic controller to the first state.
[0082] The first state is used to indicate that the logic controller is in a firmware upgrade process.
[0083] In step S303 , each management controller in the firmware upgrade system shuts down the first monitoring process to stop reading storage device status data from the logic controller when detecting that the state of the operation object corresponding to itself is the first state through the digital signal channel between itself and the logic controller.
[0084] The first monitoring process is a monitoring process that executes an alarm task corresponding to the logic controller.
[0085] In the firmware upgrade method of an embodiment of the present application, in a firmware upgrade system, a new digital signal channel is added between each management controller and the logic controller, specifically for the logic controller to notify the management controller that it is performing a firmware upgrade operation, while retaining the original serial communication channel for transmitting relevant instructions. During the firmware upgrade process, the first management controller can send the firmware upgrade instruction to the logic controller via the originally established serial communication channel. Upon receiving the firmware upgrade instruction, the logic controller can execute the firmware upgrade operation and switch the state of the operation objects corresponding to all management controllers within it to the first state, thereby notifying each management controller that the logic controller is currently performing an upgrade operation. When each management controller detects that the state of its corresponding operation object is in the first state via the digital signal channel between itself and the logic controller, it can determine that the logic controller is performing an upgrade operation and that the storage device status data it has obtained may be incorrect. Therefore, each management controller can disable the status of the first monitoring process. In this way, management controllers that have not obtained control of the firmware upgrade can disable the first monitoring process and disable the alarm task to avoid the problem of obtaining reset status data of the storage device and issuing an erroneous alarm. The execution process of the above-mentioned firmware upgrade method is described in detail below using a specific example.
[0086] Step 1: During the firmware upgrade phase of the firmware upgrade process, when the first management controller obtains status indication information corresponding to the firmware upgrade phase, it sends a firmware upgrade instruction to the logic controller.
[0087] Step 2: When the logic controller receives the firmware upgrade instruction, it executes the firmware upgrade operation.
[0088] In step three, the logic controller switches the states of the operation objects corresponding to all the management controllers included in the logic controller to the first state.
[0089] Step 4: The logic controller locks the interface controller on the backplane connected to the storage device to stop the interface controller from monitoring the storage device.
[0090] In step five, when each of the multiple management controllers detects that the state of the operation object corresponding to itself is switched and the target state after the switch is the first state, the management controller closes the first monitoring process to stop the alarm task.
[0091] Step 6: When the first management controller detects that the target state of the target operation object after switching is the first state, it is also necessary to use the pre-built second monitoring process to monitor the progress of the firmware upgrade operation.
[0092] Step seven: when the first management controller monitors that the progress of the firmware upgrade operation has reached a preset progress, the information that the progress of the firmware upgrade operation has reached the preset progress is used as status indication information corresponding to the firmware reloading stage.
[0093] Step eight: the first management controller obtains a firmware reloading instruction according to the status indication information corresponding to the firmware reloading stage, and sends the instruction to the logic controller.
[0094] Step nine: During the firmware reloading phase of the firmware upgrade process, the logic controller executes a firmware loading operation upon receiving a firmware reloading instruction.
[0095] In step 10, the logic controller switches the states of the operation objects corresponding to all the management controllers included in the logic controller to the second state.
[0096] In step eleven, the logic controller releases the interface controller on the backplane connected to the storage device to resume the interface controller's monitoring task on the storage device.
[0097] In step 12, each of the plurality of management controllers recovers the first monitoring process to restart the alarm task when detecting that the state of the operation object corresponding to itself is switched and the target state after the switch is the second state.
[0098] In the firmware upgrade method of an embodiment of the present application, during the firmware upgrade phase, the first management controller sends a firmware upgrade instruction to the logic controller. Upon receiving the firmware upgrade instruction, the logic controller may execute the firmware upgrade operation and switch the states of the operation objects corresponding to all of its management controllers to the first state. Each management controller may stop the relevant alarm task upon detecting that the state of its corresponding operation object has been switched and that the state after the switch is the first state. In this way, management controllers that have not yet acquired control can also promptly know that the current logic controller is in the firmware upgrade phase and can block alarm tasks to avoid receiving erroneous alarm information. Furthermore, after completing the firmware upgrade operation, the first management controller may send a firmware reload instruction to the logic controller. Upon receiving the firmware upgrade instruction, the logic controller may execute the firmware reload operation and switch the states of the operation objects corresponding to all of its management controllers to the second state. Each management controller may resume the relevant alarm task upon detecting that the state of its corresponding operation object has been switched and that the state after the switch is the second state. In this way, the management controller that has not obtained control rights can also resume the alarm task in time and continue monitoring, ensuring the time sequence integrity of the storage device status information collection.
[0099] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0100] The embodiment of the present application also provides an electronic device, such as Figure 4 As shown, it includes a processor 401 and a memory 402, and the memory 402 stores a computer program. The processor 401 is configured to run the computer program to execute the steps performed by the above-mentioned management controller, that is, the electronic device is the above-mentioned management controller, or the processor 401 is configured to run the computer program to execute the steps performed by the above-mentioned logic controller, that is, the electronic device is the above-mentioned logic controller.
[0101] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above-mentioned firmware upgrade method embodiments when running.
[0102] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0103] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the computer program implements the steps performed by the management controller or logic controller.
[0104] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps performed by the above-mentioned management controller or logic controller.
[0105] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0106] The above is a detailed introduction to a firmware upgrade system, method electronic device, storage medium, and program product provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the present application.
Claims
1. A firmware upgrade system, characterized in that: The firmware upgrade system includes a logic controller and multiple management controllers, wherein a digital signal channel and a serial communication channel are established between the logic controller and each of the management controllers; a first management controller, configured to send a firmware upgrade instruction to the logic controller via a target serial communication channel between the first management controller and the logic controller, wherein the first management controller is a management controller among the plurality of management controllers that controls the logic controller to perform a firmware upgrade operation; The logic controller is configured to, upon receiving the firmware upgrade instruction, execute a firmware upgrade operation according to the firmware upgrade instruction; and switch the states of the operation objects corresponding to all management controllers included in the logic controller to a first state, wherein the first state is used to indicate that the logic controller is in a firmware upgrade process; Each of the management controllers in the firmware upgrade system is configured to shut down a first monitoring process when detecting, through a digital signal channel between the management controller and the logic controller, that the state of an operation object corresponding to the management controller is the first state, so as to stop reading the state data of the storage device from the logic controller; The first management controller is further configured to, upon detecting that the state of the target operation object corresponding to the first management controller is the first state, monitor the progress of the firmware upgrade operation using a pre-built second monitoring process; and, when the progress of the firmware upgrade operation reaches a preset progress, send a firmware reload instruction to the logic controller via the target serial communication channel; The logic controller is further configured to, upon receiving the firmware reloading instruction, execute a firmware reloading operation; and switch the states of the operation objects corresponding to all management controllers included in the logic controller to a second state, wherein the second state is used to indicate that the logic controller has completed the firmware upgrade operation; Each of the management controllers in the firmware upgrade system is further used to restore the first monitoring process when detecting that the state of the operation object corresponding to itself is the second state through the digital signal channel between itself and the logic controller, so as to continue reading the status data of the storage device from the logic controller.
2. The firmware upgrade system according to claim 1, wherein: The first management controller is further configured to: When detecting that the state of the target operation object corresponding to itself is the first state, starting a timer to perform a timing operation; When the timing duration of the timer is equal to the preset timing duration and the state of the target operation object is still not detected to be changed from the first state to the second state, target alarm information is generated and recorded.
3. The firmware upgrade system according to any one of claims 1 or 2, characterized in that: The logic controller is further configured to: When the firmware upgrade instruction is received, the interface controller on the backplane to which the logic controller belongs, which is connected to the storage device, is locked to stop monitoring the status data of the storage device.
4. The firmware upgrade system according to claim 1 or 2, characterized in that: The logic controller is further configured to: When the firmware reload instruction is received, the interface controller on the backplane to which the logic controller belongs, which is connected to the storage device, is restored to continue monitoring the status data of the storage device.
5. The firmware upgrade system according to claim 1 or 2, characterized in that: The logic controller includes a universal output interface corresponding to each of the management controllers, and each of the management controllers includes a universal input interface. The universal input interface of a management controller is electrically connected to a universal output interface in the logic controller to construct a digital signal channel between the logic controller and each of the management controllers.
6. The firmware upgrade system according to claim 5, characterized in that: The operation object is a level signal, and the logic controller is specifically used to: When the firmware upgrade instruction is received, the level signal of the universal output interface corresponding to each management controller in the logic controller is switched from a high level state to a low level state, wherein the low level state is the first state.
7. The firmware upgrade system according to claim 6, wherein: The operation object is a level signal, the second state is the high level state, and the logic controller is specifically configured to: When the firmware reload instruction is received, the level signal of the universal output interface corresponding to each management controller in the logic controller is switched from the low level state to the high level state.
8. The firmware upgrade system according to claim 2, wherein: The operation object is the state value of the register; the logic controller is specifically used to: When the firmware upgrade instruction is received, the state value of the register corresponding to each management controller in the logic controller is set to a first preset value, wherein the first preset value is the first state.
9. The firmware upgrade system according to claim 8, wherein: The logic controller is specifically used for: When the firmware reload instruction is received, the state value of the register corresponding to each management controller in the logic controller is set to a second preset value, wherein the second preset value is the second state.
10. The firmware upgrade system according to claim 8, wherein: The logic controller is specifically used for: Extracting firmware update information from the firmware upgrade instruction; The firmware upgrade operation is performed based on the firmware update information.
11. The firmware upgrade system according to claim 10, wherein: When the firmware update information is updated firmware, the logic controller is specifically configured to: Get the update storage address; Writing the updated firmware into an update storage area corresponding to the update storage address in a memory, wherein the memory further includes an original storage area storing the original firmware; After all the updated firmware is written into the update storage area, the original firmware in the original storage area is deleted; and, obtaining a target storage address corresponding to the original storage area; The update storage address is updated to the target storage address for performing the next firmware upgrade operation.
12. The firmware upgrade system according to claim 11, wherein: The logic controller is specifically used for: A restart operation is performed, and after the restart, the updated firmware is read from the update storage area, and a firmware loading operation is performed based on the updated firmware.
13. The firmware upgrade system according to claim 11, wherein: The first management controller is further configured to: When the timing duration of the timer is equal to the preset timing duration, obtaining the latest progress of the firmware upgrade operation and sending a reset signal to the logic controller; The logic controller is further configured to perform a reset operation when the reset signal is detected; and after completing the reset operation, set the state value of the target register corresponding to the first management controller to a third preset value; The first management controller is further configured to send the firmware update information and the latest progress to the logic controller when detecting that the state value of the target register is the third preset value; The logic controller is further configured to continue executing the firmware upgrade operation on the update storage area according to the firmware update information and the latest progress.
14. A firmware upgrade method, characterized in that: The method is applied to the firmware upgrade system according to any one of claims 1 to 13, wherein the firmware upgrade system includes a logic controller and multiple management controllers, wherein a digital signal channel and a serial communication channel are established between the logic controller and each of the management controllers; the method includes: A first management controller sends a firmware upgrade instruction to the logic controller through a target serial communication channel between the first management controller and the logic controller, wherein the first management controller is a management controller among the plurality of management controllers that controls the logic controller to perform a firmware upgrade operation; When receiving the firmware upgrade instruction, the logic controller performs a firmware upgrade operation according to the firmware upgrade instruction; and switches the states of the operation objects corresponding to all management controllers included in the logic controller to a first state, wherein the first state is used to indicate that the logic controller is in a firmware upgrade process; When each of the management controllers in the firmware upgrade system detects that the state of the operation object corresponding to itself is the first state through the digital signal channel between itself and the logic controller, it shuts down the first monitoring process to stop reading the state data of the storage device from the logic controller; When the first management controller detects that the state of the target operation object corresponding to itself is the first state, the first management controller uses a pre-built second monitoring process to monitor the progress of the firmware upgrade operation; when the progress of the firmware upgrade operation reaches a preset progress, the first management controller sends a firmware reload instruction to the logic controller through the target serial communication channel; When receiving the firmware reload instruction, the logic controller performs a firmware reload operation; and switches the states of the operation objects corresponding to all management controllers included in the logic controller to a second state, wherein the second state is used to indicate that the logic controller has completed the firmware upgrade operation; Each of the management controllers in the firmware upgrade system restores the first monitoring process to continue reading the status data of the storage device from the logic controller when detecting that the state of the operation object corresponding to itself is the second state through the digital signal channel between itself and the logic controller.
Citation Information
Patent Citations
Logic control based BIOS (basic input / output system) and BMC (baseboard management controller) backup method
CN104615506A
Firmware upgrading system and method
CN120335845A