Firmware updating method, firmware updating device, computer device and medium

CN114564225BActive Publication Date: 2026-09-11INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210224309.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-09
Publication Date
2026-09-11
Estimated Expiration
2042-03-09

AI Technical Summary

Technical Problem

[0004]因此,本发明要解决的技术问题在于克服现有技术中固件更新失败,导致驱动芯片无法启动、运行的缺陷,从而提供一种固件更新方法、固件更新装置、计算机设备及介质

Benefits of technology

[0022]In this method, during the firmware update process, the new firmware of the target driver chip is written to the target storage chip, while the historical firmware in the historical storage chip remains unchanged. Therefore, during the online update process, the storage chip connected to the target driver chip can be determined based on the firmware update status. This ensures that regardless of whether the firmware update is successful or not, the target driver chip has complete firmware that can function properly. This makes the firmware update method safer and more reliable, helps reduce maintenance costs, reduces the need for returning the storage chip to the factory for desoldering and reprogramming, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114564225B_ABST
    Figure CN114564225B_ABST
Patent Text Reader

Abstract

The application provides a firmware updating method, a firmware updating device, a computer device and a medium. The firmware updating method comprises the following steps: in the process of firmware updating, a target storage chip is controlled to be in communication with a control chip, so that the control chip writes new firmware of a target drive chip into the target storage chip. Whether the new firmware is successfully written into the target storage chip is determined according to a comparison result between storage data of the new firmware in the target storage chip and complete data of the new firmware in the control chip. If the new firmware is not completely written into the target storage chip, the target drive chip is controlled to be in communication with a historical storage chip of the target drive chip. Through the method provided by the application, in the case of firmware updating failure, the target drive chip can still be started or run by using historical firmware, so that the case that the new firmware storage failure affects the normal work of the target drive chip is avoided, thereby helping to reduce the maintenance cost and reduce the security risk of the server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of firmware update technology, specifically to a firmware update method, firmware update device, computer equipment, and medium. Background Technology

[0002] With the development of cloud computing applications, information technology is gradually covering all sectors of society. The cloud computing era requires a larger number of servers to participate in computing and storage tasks; currently, there are tens of millions of servers operating in data centers in my country. Such a massive number of servers operating online demands that they possess not only better computing performance and excellent operational stability, but also support convenient maintenance and repair methods.

[0003] Firmware updates are a common maintenance method in server upkeep. However, in practice, if an anomaly occurs during the firmware update, it can easily cause the corresponding driver chip to fail to boot. Related technologies require removing the server from the rack and returning it to the factory, removing the storage chip, and then using an offline flashing method to update the storage chip and complete the firmware update. This increases maintenance costs and the risk of device damage. Summary of the Invention

[0004] Therefore, the technical problem to be solved by the present invention is to overcome the defect in the prior art that firmware update failure leads to the inability of the driver chip to start and run, thereby providing a firmware update method, firmware update device, computer equipment and medium.

[0005] According to a first aspect, the present invention provides a firmware update method, the method comprising:

[0006] During the firmware update process, the target storage chip is connected to the control chip so that the control chip writes the new firmware of the target driver chip into the target storage chip.

[0007] Based on the comparison between the stored data of the new firmware in the target storage chip and the complete data of the new firmware in the control chip, it is determined whether the new firmware has been successfully written into the target storage chip.

[0008] If the new firmware is not fully written into the target storage chip, then the target driver chip is connected to the target driver chip's historical storage chip.

[0009] In this approach, even if the firmware update fails, the target driver chip can still boot or run using the historical firmware stored in the historical storage chip. This avoids the situation where the failure to store the new firmware version affects the normal operation of the target driver chip, thereby helping to reduce maintenance costs and reduce server security risks.

[0010] In conjunction with the first aspect, in the first embodiment of the first aspect, controlling the connection between the target storage chip and the control chip during the firmware update process includes:

[0011] Receive the firmware update command sent by the control chip to determine the target driver chip to be updated;

[0012] The target memory chip is selected from multiple memory chips;

[0013] Connect the target memory chip to the control chip.

[0014] In conjunction with the first embodiment of the first aspect, in the second embodiment of the first aspect, selecting the target memory chip from a plurality of memory chips includes:

[0015] The connectivity between each of the multiple memory chips and the driver chip is detected, and the memory chip that is not connected to the driver chip is identified as the target memory chip.

[0016] In conjunction with the second embodiment of the first aspect, in the third embodiment of the first aspect, detecting the connectivity between each of the plurality of memory chips and the driver chip includes:

[0017] Detect the identification of each memory chip;

[0018] If the current memory chip's identifier is the first identifier, then it is determined that the current memory chip has a corresponding connected driver chip;

[0019] If the current storage chip's identifier is the second identifier, then it is determined that the current storage chip does not have a corresponding connected driver chip, and the current storage chip is a backup storage chip.

[0020] In conjunction with the first aspect, in a fourth embodiment of the first aspect, the method further includes:

[0021] If the new firmware is completely written into the target storage chip, the firmware update is confirmed to be successful, and the target driver chip is connected to the target storage chip to complete the firmware update.

[0022] In this method, during the firmware update process, the new firmware of the target driver chip is written to the target storage chip, while the historical firmware in the historical storage chip remains unchanged. Therefore, during the online update process, the storage chip connected to the target driver chip can be determined based on the firmware update status. This ensures that regardless of whether the firmware update is successful or not, the target driver chip has complete firmware that can function properly. This makes the firmware update method safer and more reliable, helps reduce maintenance costs, reduces the need for returning the storage chip to the factory for desoldering and reprogramming, and improves the user experience.

[0023] In conjunction with the fourth embodiment of the first aspect, in the fifth embodiment of the first aspect, connecting the target driver chip and the target memory chip includes:

[0024] Disconnect the target driver chip from the historical storage chip;

[0025] Connect the target memory chip to the driver chip.

[0026] In this method, the connection between the target driver chip and the historical storage chip is disconnected, and the target driver chip is connected to the target storage chip. This allows the target driver chip to be driven based on the new firmware in the target storage chip when it works normally in the future, thereby realizing online firmware updates.

[0027] In conjunction with the fifth embodiment of the first aspect, in the sixth embodiment of the first aspect, the method further includes:

[0028] A reset signal is sent to the target driver chip to control the target driver chip to load the new firmware in the target memory chip.

[0029] According to a second aspect, the present invention also provides a firmware update apparatus, the apparatus comprising:

[0030] The first control unit is used to control the connection between the target storage chip and the control chip during the firmware update process, so that the control chip writes the new firmware of the target driver chip into the target storage chip.

[0031] The verification unit is used to determine whether the new firmware has been successfully written into the target storage chip based on the comparison result between the stored data of the new firmware in the target storage chip and the complete data of the new firmware in the control chip.

[0032] The second control unit is used to control the target driver chip to connect with the target driver chip's historical storage chip if the new firmware is not fully written into the target storage chip.

[0033] In conjunction with the second aspect, in the first embodiment of the second aspect, the first control unit includes:

[0034] The receiving unit is used to receive the firmware update instruction sent by the control chip in order to determine the target driver chip to be updated.

[0035] A filtering unit is used to filter out the target memory chip from a plurality of memory chips;

[0036] A communication unit is used to connect the target memory chip to the control chip.

[0037] In conjunction with the first embodiment of the second aspect, in the second embodiment of the second aspect, the screening unit includes:

[0038] The filtering subunit is used to detect the connectivity between each of the multiple memory chips and the driver chip, and to identify the memory chip that is not connected to the driver chip as the target memory chip.

[0039] In conjunction with the second embodiment of the second aspect, in the third embodiment of the second aspect, the screening subunit includes:

[0040] The detection unit is used to detect the identity of each memory chip;

[0041] The first determining unit is used to determine that if the identity identifier of the current storage chip is the first identifier, the current storage chip has a corresponding connected driver chip.

[0042] The second determining unit is used to determine that if the identity identifier of the current storage chip is the second identifier, then the current storage chip does not have a corresponding connected driver chip, and the current storage chip is a backup storage chip.

[0043] In conjunction with the second aspect, in a fourth embodiment of the second aspect, the apparatus further includes:

[0044] The third control unit is used to determine that the firmware update is successful if the new firmware is completely written into the target storage chip, and to connect the target driver chip and the target storage chip to complete the firmware update.

[0045] In conjunction with the fourth embodiment of the second aspect, in the fifth embodiment of the second aspect, the third control unit includes:

[0046] A control subunit is used to disconnect the target driver chip from the historical storage chip;

[0047] A communication unit is used to connect the target memory chip to the driver chip.

[0048] In conjunction with the fifth embodiment of the second aspect, in the sixth embodiment of the second aspect, the apparatus further includes:

[0049] The sending unit is used to send a reset signal to the target driver chip to control the target driver chip to load the new firmware in the target memory chip.

[0050] According to a third aspect, embodiments of the present invention also provide a computer device, including a memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to perform a firmware update method according to any one of the first aspect and its optional embodiments.

[0051] According to a fourth aspect, embodiments of the present invention also provide a computer-readable storage medium storing computer instructions for causing the computer to perform the firmware update method of any one of the first aspect and its alternative embodiments. Attached Figure Description

[0052] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0053] Figure 1 This is a schematic diagram of the structure of a firmware system according to an exemplary embodiment.

[0054] Figure 2 This is a flowchart of a firmware update method according to an exemplary embodiment.

[0055] Figure 3 This is a flowchart of another firmware update method proposed according to an exemplary embodiment.

[0056] Figure 4 This is a flowchart of yet another firmware update method proposed according to an exemplary embodiment.

[0057] Figure 5 This is a schematic diagram of the structure of another firmware system proposed according to an exemplary embodiment.

[0058] Figure 6 This is a flowchart of yet another firmware update method proposed according to an exemplary embodiment.

[0059] Figure 7This is a structural block diagram of a firmware update device according to an exemplary embodiment.

[0060] Figure 8 This is a schematic diagram of the hardware structure of a computer device according to an exemplary embodiment. Detailed Implementation

[0061] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0062] In related technologies, the structure of the server's internal firmware system can be as follows: Figure 1 As shown. Figure 1 This is a schematic diagram of a firmware system according to an exemplary embodiment. In the firmware system, the firmware of the driver chip can be programmed online through a Baseboard Management Controller (BMC). For example, if the driver chip is a BMC, the BMC can directly program the BMC firmware to the flash memory chip storing the BMC firmware based on the Serial Peripheral Interface (SPI) protocol. If the driver chip is a Southbridge (Platform Controller Hub, PCH), the BMC can also disconnect the PCH's SPI-based switch chip from the Basic Input Output System (BIOS) through a command control logic control chip (e.g., an FPGA chip), and then establish a connection between the BMC and the flash memory storing the BIOS firmware through the switch chip, thereby programming the BIOS firmware into the flash memory.

[0063] However, if an error occurs during firmware update using online flashing, such as firmware corruption or mistakenly storing other firmware in the memory chip of the specified driver chip, the server must be taken off the rack and returned to the factory. After removing the memory chip, the memory chip must be updated using offline flashing to complete the firmware update. This leads to increased maintenance costs and a greater risk of device damage.

[0064] To address the aforementioned problems, this invention provides a firmware update method for use in a computer device. It should be noted that the executing entity can be a firmware update device, which can be implemented as part or all of the computer device through software, hardware, or a combination of both. The computer device can be a terminal, client, or server. The server can be a single server or a server cluster composed of multiple servers. In this embodiment, the terminal can be a smartphone, personal computer, tablet computer, wearable device, or other intelligent hardware device such as a smart robot. The following method embodiments will use a computer device as the executing entity for illustration.

[0065] In the computer device of this invention, each driver chip corresponds to a storage chip, and the storage chip of the driver chip stores firmware for starting or running the driver chip. Through the firmware update method provided by this invention, when updating the firmware of the target driver chip, a control chip is connected to the target storage chip, so that the control chip stores the new firmware of the target driver chip into the target storage chip, and determines whether the new firmware has been successfully written based on the integrity of the stored data of the new firmware in the target storage chip. When it is determined that the new firmware has not been completely written to the target storage chip, the target driver chip is connected to its historical storage chip, so that the target driver chip can still use the historical firmware in the historical storage chip to start or run, thereby avoiding the situation where the failure to store the new firmware affects the startup or operation of the target driver chip, thus helping to reduce maintenance costs and reduce server security risks.

[0066] Figure 2 This is a flowchart illustrating a firmware update method according to an exemplary embodiment. Figure 2 As shown, the firmware update method includes the following steps S201 to S203.

[0067] In step S201, during the firmware update process, the target storage chip is connected to the control chip.

[0068] In this embodiment of the invention, the target storage chip can be understood as a storage chip specifically used to store the new firmware. Using a target storage chip to store the new firmware helps avoid accidental storage of the new firmware during the firmware update process. Therefore, during the firmware update process, a communication relationship is established between the target storage chip and the control chip, enabling the control chip to write the new firmware of the target driver chip into the target storage chip. This allows the target driver chip to subsequently boot or run by reading the new firmware from the target storage chip. In one example, the storage chip can be a Flash chip, or any type of storage chip capable of fast data storage and erasure; no limitation is imposed in this invention.

[0069] In step S202, based on the comparison between the stored data of the new firmware in the target storage chip and the complete data of the new firmware in the control chip, it is determined whether the new firmware has been successfully written into the target storage chip.

[0070] In this embodiment of the invention, after the target storage chip completes the writing of the new firmware, the control chip uses a readback method to read the stored data of the new firmware in the target storage chip and compares this stored data with the complete data of the new firmware inside it. Based on the comparison result, it is determined whether the new firmware has been successfully written into the target storage chip. Since the essence of firmware update is to completely write the new firmware of the driver chip into the corresponding storage chip, the comparison result can determine whether any update anomalies have occurred during the firmware update process. For example, if the comparison result shows that the stored data is the same as the complete data, it can be determined that the new firmware has been completely written into the target storage chip, and the new firmware writing is successful. If the comparison result shows that the stored data is less than the complete data, it can be determined that an update anomaly occurred during the writing process, resulting in the new firmware not being completely written into the target storage chip, and the new firmware writing failed.

[0071] In step S203, if the new firmware is not fully written into the target storage chip, the target driver chip is connected to the target driver chip's historical storage chip.

[0072] In this embodiment of the invention, the target storage chip and the historical storage chip are two different chips. Whether or not the new firmware is fully written to the target storage chip does not affect the integrity of the historical firmware in the historical storage chip. The historical storage chip can be understood as the chip that stores the historical firmware of the target driver chip, and the historical firmware can be understood as the firmware driven by the target driver chip before the firmware update.

[0073] Based on the comparison results, if it is determined that the new firmware has not been fully written into the target storage chip, then the firmware update has failed. Therefore, in order to ensure the normal operation of the target driver chip, the target driver chip is connected to the target driver chip's historical storage chip so that the target driver chip can start or run according to the historical firmware in the historical storage chip. This helps to avoid the situation where the target driver chip cannot work properly after the firmware update fails, thereby helping to reduce maintenance costs.

[0074] Through the above embodiments, even if the firmware update fails, the target driver chip can still be started or run using the historical firmware in the historical storage chip. This avoids the situation where the failure to store the new firmware version affects the normal operation of the target driver chip, thereby helping to reduce maintenance costs and reduce server security risks.

[0075] In one embodiment, during the firmware update process, the logic control chip can control the connection between the control chip and the target storage chip, as well as control the connection between the target driver chip and the target storage chip or the historical storage chip.

[0076] In another embodiment, when the target storage chip is connected to the control chip, after receiving the firmware update instruction sent by the control chip, the logic control chip helps to identify the target driver chip to be updated, and then selects the target storage chip suitable for storing the new firmware of the target driver chip from multiple chips, and connects the target storage chip to the control chip so that the control chip can write the new firmware into the target storage chip.

[0077] In one example, when selecting a target memory chip from multiple memory chips, the selection can be based on the connectivity between the memory chip and the driver chip. The connectivity between each memory chip and the driver chip is checked. If a memory chip is connected to the driver chip, it indicates that the firmware in that memory chip cannot be modified; modification would easily affect the normal operation of the corresponding connected driver chip. If a memory chip is not connected to the driver chip, it indicates that the firmware in that memory chip can be modified. Furthermore, since the memory chip is not connected to the driver chip, updating the firmware in that memory chip will not affect the normal operation of the driver chip. Therefore, a memory chip not connected to the driver chip can be identified as the target memory chip, which helps to avoid accidental firmware writes during updates. Moreover, since the target memory chip is not connected to the driver chip, if an update anomaly occurs during the firmware update process, the firmware can still be updated again without affecting the normal operation of the target driver chip, thus helping to reduce maintenance costs.

[0078] In another example, when detecting the connectivity between each of multiple memory chips and its driver chip, the detection can be performed based on the identification of each memory chip. During the detection process, if the current memory chip's identification is the first identifier, it is determined that the current memory chip has a connected driver chip. If the current memory chip's identification is the second identifier, it is determined that the current memory chip does not have a corresponding connected driver chip, and the current memory chip is a backup memory chip. In one example, the memory chip's identification can be stored in the last specified number of bytes in the memory chip's storage space. For example, the last 16 bytes. In another example, the first identifier can include the name of the driver chip corresponding to the firmware it stores, thus identifying the driver chip connected to the current memory chip. For example, if the first identifier is "BIOS Flash," it indicates that the firmware stored on the current memory chip is BIOS firmware, thus identifying the driver chip connected to the current memory chip as the PCH chip. The second identifier is used to identify the current memory chip as a backup memory chip, so "Back Flash" can be used instead. When the second identifier is detected, it can be determined that the current memory chip is a backup memory chip, and its internal data can be modified. In another example, access permissions for the first and second identifiers can be restricted by a logic control chip, allowing the logic control chip to read or change the identity identifier of the storage chip. This helps limit the control chip's access permissions to the storage chip when filtering target storage chips by identity identifier, preventing the firmware in the storage chip with the first identifier from being modified, which could affect the normal operation of the driver chip that is expected to be connected, and thus helps to enhance information security.

[0079] Figure 3 This is a flowchart of another firmware update method proposed according to an exemplary embodiment. Figure 3 As shown, the firmware update method includes the following steps.

[0080] In step S301, during the firmware update process, the target storage chip is connected to the control chip.

[0081] In step S302, based on the comparison between the stored data of the new firmware in the target storage chip and the complete data of the new firmware in the control chip, it is determined whether the new firmware has been successfully written into the target storage chip.

[0082] In step S3031, if the new firmware is not fully written into the target storage chip, the target driver chip is connected to the historical storage chip of the target driver chip.

[0083] In step S3032, if the new firmware is completely written into the target storage chip, the firmware update is confirmed to be successful, and the target driver chip and the target storage chip are connected to complete the firmware update.

[0084] In this embodiment of the invention, if the new firmware is completely written into the target storage chip, the firmware update can be considered successful. Therefore, the target driver chip and the target storage chip can be connected so that the target driver chip can start or run by reading the new firmware in the target storage chip, thereby completing the firmware update.

[0085] Through the above embodiments, during the firmware update process, the new firmware of the target driver chip is written into the target storage chip, while the historical firmware in the historical storage chip remains unchanged. Therefore, during the online update process, the storage chip connected to the target driver chip can be determined based on the firmware update status, so that the target driver chip has complete firmware that can be used normally regardless of whether the firmware update is successful or not. This makes the firmware update method safer and more reliable, helps to reduce maintenance costs, reduces the occurrence of returning to the factory to desolder and re-burn storage chips, and improves the user experience.

[0086] In one embodiment, to ensure the normal operation of the target driver chip, the connection between the target driver chip and the historical storage chip is maintained during the firmware update process. Once the firmware update is complete and successful, the connection between the target driver chip and the historical storage chip is disconnected, and the target driver chip is connected to the target storage chip. This ensures that the target driver chip operates normally subsequently based on the new firmware version in the target storage chip, thereby enabling online firmware updates.

[0087] In another embodiment, the historical storage chip is identified by a first identifier, indicating that the historical storage chip is a storage chip connected to the target driver chip, and the target storage chip is identified by a second identifier, indicating that the target storage chip is a backup storage chip.

[0088] To avoid confusion between the target memory chip's identifier and the identifier of the historical memory chip, which could affect firmware updates for other driver chips, before establishing a connection between the target driver chip and the target memory chip, the identifier of the target memory chip is changed from the second identifier to the first identifier corresponding to the target driver chip, and the identifier of the historical memory chip is changed from the first identifier corresponding to the target driver chip to the second identifier. This way, when other driver chips need to update their firmware, the historical memory chip with the second identifier can be used for firmware updates, thus helping to ensure the orderly progress of firmware updates for other driver chips.

[0089] Figure 4This is a flowchart of yet another firmware update method proposed according to an exemplary embodiment. For example... Figure 4 As shown, the firmware update method includes the following steps.

[0090] In step S401, during the firmware update process, the target storage chip is connected to the control chip.

[0091] In step S402, based on the comparison between the stored data of the new firmware in the target storage chip and the complete data of the new firmware in the control chip, it is determined whether the new firmware has been successfully written into the target storage chip.

[0092] In step S4031, if the new firmware is not completely written into the target storage chip, the target driver chip is connected to the historical storage chip of the target driver chip.

[0093] In step S4032, if the new firmware is completely written into the target storage chip, the firmware update is confirmed to be successful, and the target driver chip and the target storage chip are connected to complete the firmware update.

[0094] In step S404, a reset signal is sent to the target driver chip.

[0095] In this embodiment of the invention, a reset signal is sent to the target driver chip so that the target driver chip can be reconfigured according to the new firmware version, and then it can start or run by loading the new firmware version in the target storage chip when it is working normally in the future.

[0096] The above embodiments make firmware updates more secure and reliable, and help reduce maintenance costs.

[0097] In one implementation scenario, taking the BMC as the control chip and the PCH chip as the target driver chip as an example, the structural diagram of the firmware system used for firmware updates can be as follows: Figure 5 As shown. Figure 5This is a schematic diagram of another firmware system proposed according to an exemplary embodiment. The firmware system includes three memory chips: Flash1, Flash2, and Flash3. Flash1 is identified by a first identifier for communication with the BMC (Browser Control Center), and stores the BMC firmware. Flash2 is identified by a first identifier for communication with the PCH (Pulse Communication Center), and stores the BIOS firmware. Flash3 is identified by a second identifier, meaning it is a backup memory chip. An FPGA (Field-Programmable Gate Array) is used to control the communication between the memory chips and the BMC and PCH. The FPGA interacts with the BMC, PCH, or memory chips based on the SPI protocol. After a firmware update, the FPGA can send a Reset signal to the PCH to restart and load the new BIOS firmware from Flash3. In one example, if the driver chip is the BMC, after a firmware update, the FPGA can send a Reset signal to the BMC to restart and load the new BMC firmware from Flash3.

[0098] In another implementation scenario, based on Figure 5 The firmware update process for the firmware system shown, taking the BMC as the control chip and the PCH as the target driver chip as an example, can be described as follows: Figure 6 As shown. Figure 6 This is a flowchart of yet another firmware update method proposed according to an exemplary embodiment.

[0099] In step S601, the BMC sends a firmware update command to the FPGA to update the BIOS firmware.

[0100] In step S602, the connectivity between each of the multiple memory chips and the driver chip is detected, and the memory chip that is not connected to the driver chip is identified as the target memory chip.

[0101] In this embodiment of the invention, the FPGA detects the connectivity between Flash1, Flash2, and Flash3 and the driver chip, respectively. When it is detected that Flash1 is connected to the BMC, Flash2 is connected to the PCH, and Flash3 is not connected to the driver chip, then Flash3 is identified as the target memory chip.

[0102] In step S603, Flash3 is connected to BMC.

[0103] In this embodiment of the invention, Flash3 is connected to BMC so that BMC can write the new firmware of BIOS into Flash3.

[0104] In step S604, based on the comparison between the stored data of the new firmware in Flash3 and the complete data of the new firmware in BMC, it is determined whether the new firmware has been successfully written into Flash3.

[0105] In step S6051, if the new firmware is not completely written into Flash3, then control the PCH to connect with Flash2.

[0106] In step S6052, if the new firmware is completely written into Flash3, the FPGA will modify the identity of Flash3 to the first identity connected to the PCH and modify the identity of Flash2 to the second identity.

[0107] In step S606, the FPGA disconnects the connection between the PCH chip and Flash2, and connects the PCH to Flash3.

[0108] In step S607, the FPGA sends a Reset signal to the PCH to reset the PCH.

[0109] In this embodiment of the invention, the FPGA sends a Reset signal to the PCH to reset the PCH so that the PCH can restart, load the new firmware of the BIOS in Flash3, and complete the firmware update.

[0110] The above embodiments can resolve the issue of BMC and PCH failing to boot and run due to abnormal power outages or restarts during firmware updates. Furthermore, if the firmware update fails, the firmware system can automatically use historical firmware to ensure that BMC and PCH can boot and operate normally.

[0111] Based on the same inventive concept, the present invention also provides a firmware update device.

[0112] Figure 7 This is a structural block diagram of a firmware update device according to an exemplary embodiment. Figure 7 As shown, the firmware update device includes a first control unit 701, a verification unit 702, and a second control unit 703.

[0113] The first control unit 701 is used to control the connection between the target storage chip and the control chip during the firmware update process, so that the control chip writes the new firmware of the target driver chip into the target storage chip.

[0114] The verification unit 702 is used to determine whether the new firmware has been successfully written into the target storage chip based on the comparison result between the stored data of the new firmware in the target storage chip and the complete data of the new firmware in the control chip.

[0115] The second control unit 703 is used to control the target driver chip to connect with the target driver chip's historical storage chip if the new firmware is not completely written into the target storage chip.

[0116] In one embodiment, the first control unit 701 includes: a receiving unit for receiving a firmware update instruction sent by a control chip to determine a target driver chip to be updated; a filtering unit for filtering a target memory chip from a plurality of memory chips; and a communication unit for communicating the target memory chip with the control chip.

[0117] In another embodiment, the filtering unit includes a filtering subunit, used to detect the connectivity between each of the multiple memory chips and the driver chip, and to identify a memory chip that is not connected to the driver chip as the target memory chip.

[0118] In another embodiment, the screening subunit includes: a detection unit for detecting the identity identifier of each memory chip; a first determining unit for determining that if the identity identifier of the current memory chip is a first identifier, the current memory chip has a corresponding connected driver chip; and a second determining unit for determining that if the identity identifier of the current memory chip is a second identifier, the current memory chip does not have a corresponding connected driver chip, and the current memory chip is a backup memory chip.

[0119] In another embodiment, the device further includes a third control unit, configured to determine that the firmware update is successful if the new firmware is completely written into the target storage chip, and to connect the target driver chip and the target storage chip to complete the firmware update.

[0120] In another embodiment, the third control unit includes: a control subunit for disconnecting the connection between the target driver chip and the historical memory chip; and a connection unit for connecting the target memory chip and the driver chip.

[0121] In another embodiment, the apparatus further includes a sending unit for sending a reset signal to the target driver chip to control the target driver chip to load a new firmware version from the target memory chip.

[0122] The specific limitations and beneficial effects of the aforementioned firmware update device can be found in the limitations of the firmware update method described above, and will not be repeated here. Each of the above modules can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in the computer device in hardware form, or stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0123] Figure 8 This is a schematic diagram of the hardware structure of a computer device according to an exemplary embodiment. For example... Figure 8 As shown, the device includes one or more processors 810 and a memory 820, the memory 820 including persistent memory, volatile memory, and a hard disk. Figure 8 Taking a processor 810 as an example, the device may also include an input device 830 and an output device 840.

[0124] The processor 810, memory 820, input device 830, and output device 840 can be connected via a bus or other means. Figure 8 Taking the example of a connection between China and Israel via a bus.

[0125] Processor 810 can be a Central Processing Unit (CPU). Processor 810 can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations thereof. The general-purpose processor can be a microprocessor or any conventional processor.

[0126] The memory 820, as a non-transitory computer-readable storage medium, includes persistent memory, volatile memory, and a hard disk. It can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the business management method in this embodiment. The processor 810 executes various server functions and data processing by running the non-transitory software programs, instructions, and modules stored in the memory 820, thereby implementing any of the firmware update methods described above.

[0127] The memory 820 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data that is needed and required. Furthermore, the memory 820 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 820 may optionally include memory remotely located relative to the processor 810, and these remote memories can be connected to the data processing device via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0128] Input device 830 can receive input digital or character information, and generate key signal inputs related to user settings and function control. Output device 840 may include display devices such as a display screen.

[0129] One or more modules are stored in memory 820, and when executed by one or more processors 810, they perform actions such as... Figures 1-6 The method shown.

[0130] The above-described product can execute the method provided in the embodiments of the present invention, and has the corresponding functional modules and beneficial effects for executing the method. Technical details not described in detail in this embodiment can be found in [reference 1]. Figures 1-6 The relevant descriptions in the illustrated embodiments.

[0131] This invention also provides a non-transitory computer storage medium storing computer-executable instructions that can execute the authentication method in any of the above method embodiments. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk drive (HDD), or solid-state drive (SSD), etc.; the storage medium may also include combinations of the above types of memory.

[0132] Obviously, the above embodiments are merely illustrative examples for clear explanation and are not intended to limit the implementation. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.

Claims

1. A firmware update method characterized by comprising: The method includes: During the firmware update process, the target storage chip is connected to the control chip so that the control chip writes the new firmware of the target driver chip into the target storage chip. Based on the comparison between the stored data of the new firmware in the target storage chip and the complete data of the new firmware in the control chip, it is determined whether the new firmware has been successfully written into the target storage chip. If the new firmware is not fully written into the target storage chip, then the target driver chip is connected to the target driver chip's historical storage chip. During the firmware update process, the connection between the target storage chip and the control chip is controlled, including: Receive the firmware update command sent by the control chip to determine the target driver chip to be updated; The target memory chip is selected from multiple memory chips; Connect the target memory chip to the control chip; The selection of the target memory chip from multiple memory chips includes: The connectivity between each of the multiple memory chips and the driver chip is detected, and the memory chip that is not connected to the driver chip is identified as the target memory chip.

2. The method of claim 1, wherein, The detection of the connectivity between each of the multiple memory chips and the driver chip includes: Detect the identification of each memory chip; If the current memory chip's identifier is the first identifier, then it is determined that the current memory chip has a corresponding connected driver chip; If the current storage chip's identifier is the second identifier, then it is determined that the current storage chip does not have a corresponding connected driver chip, and the current storage chip is a backup storage chip.

3. The method according to claim 1, characterized in that, The method further includes: If the new firmware is completely written into the target storage chip, the firmware update is confirmed to be successful, and the target driver chip is connected to the target storage chip to complete the firmware update.

4. The method according to claim 3, characterized in that, The step of connecting the target driver chip and the target memory chip includes: Disconnect the target driver chip from the historical storage chip; Connect the target memory chip to the driver chip.

5. The method according to claim 4, characterized in that, The method further includes: A reset signal is sent to the target driver chip to control the target driver chip to load the new firmware in the target memory chip.

6. A firmware update device, characterized in that, The device includes: The first control unit is used to control the connection between the target storage chip and the control chip during the firmware update process, so that the control chip writes the new firmware of the target driver chip into the target storage chip. The verification unit is used to determine whether the new firmware has been successfully written into the target storage chip based on the comparison result between the stored data of the new firmware in the target storage chip and the complete data of the new firmware in the control chip. The second control unit is used to control the target driver chip to connect with the target driver chip's historical storage chip if the new firmware is not completely written into the target storage chip. The second control unit includes: The receiving unit is used to receive the firmware update instruction sent by the control chip in order to determine the target driver chip to be updated. A filtering unit is used to filter out the target memory chip from a plurality of memory chips; A communication unit is used to connect the target memory chip to the control chip; The filtering unit includes: The filtering subunit is used to detect the connectivity between each of the multiple memory chips and the driver chip, and to identify the memory chip that is not connected to the driver chip as the target memory chip.

7. A computer device, characterized in that, The device includes a memory and a processor, which are communicatively connected to each other. The memory stores computer instructions, and the processor executes the computer instructions to perform the firmware update method according to any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to perform the firmware update method according to any one of claims 1-5.

Citation Information

Patent Citations

  • Device and method for on-line updating fastener programm

    CN101030140A

  • DSP code online updating system and method based on double FLASH

    CN110377320A