CN114237658A - Method and circuit for updating firmware based on BMC - Google Patents

Method and circuit for updating firmware based on BMC Download PDF

Info

Publication number
CN114237658A
CN114237658A CN202111423623.6A CN202111423623A CN114237658A CN 114237658 A CN114237658 A CN 114237658A CN 202111423623 A CN202111423623 A CN 202111423623A CN 114237658 A CN114237658 A CN 114237658A
Authority
CN
China
Prior art keywords
interface
working
bmc
firmware
liquid cooling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111423623.6A
Other languages
Chinese (zh)
Inventor
任维航
杨博
杜正高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Sugon Information Industry Chengdu Co ltd
Original Assignee
Zhongke Sugon Information Industry Chengdu Co ltd
Dawning Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongke Sugon Information Industry Chengdu Co ltd, Dawning Information Industry Co Ltd filed Critical Zhongke Sugon Information Industry Chengdu Co ltd
Priority to CN202111423623.6A priority Critical patent/CN114237658A/en
Publication of CN114237658A publication Critical patent/CN114237658A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

The invention discloses a method and a circuit for updating firmware based on BMC, comprising the following steps: determining a working BMC based on two BMCs which are redundant with each other, and connecting the working BMC with a liquid cooling chip of the firmware to be updated; sending the firmware file to the working BMC; and the working BMC updates the firmware of the liquid cooling chip based on the firmware file. According to the technical scheme, the stability of the circuit is ensured through the two BMCs which are redundant with each other, wherein when one BMC is abnormal, the whole liquid cooling system can still work normally; the liquid cooling chip firmware can be remotely updated through the network of the server management chip, and batch firmware updating can be realized.

Description

Method and circuit for updating firmware based on BMC
Technical Field
The invention belongs to the technical field of firmware updating, and particularly relates to a method and a circuit for updating firmware based on BMC.
Background
With the rapid development of the information-oriented society, the requirement of human beings on the information processing capability is higher and higher, a stronger server is needed to provide the computing capability, the power consumption of the server is particularly large while the computing capability is improved, a large amount of electric power cost is needed, and in order to better dissipate heat and save cost, the immersed liquid cooling technology is developed.
In order to better control the liquid cooling system, a special chip is designed on a mainboard of a server to manage the liquid cooling system, the function of the liquid cooling system is often updated, so that firmware needs to be updated, and at present, a notebook computer is connected to update the firmware through a Universal Asynchronous Receiver/Transmitter (UART) serial port of the liquid cooling chip; if the liquid cooling chip is required to be operated, for example, the working mode of the liquid cooling chip is controlled, a serial port line is required to be plugged for inputting a command, however, when the number of the liquid cooling chips is large, a notebook computer is required to be held to move a plurality of places to be plugged and unplugged, and the operation is time-consuming and labor-consuming;
at present, the mode of updating the liquid cooling chip firmware is to insert a serial port line through a rear cabin of a server, however, the mode needs special personnel to insert the serial port line into each server and update the serial port line, when the server is large in scale, much manpower and time are consumed, and the server needs to be powered off when the serial port line is updated, so that the service is interrupted, and the use of a client is further influenced.
Disclosure of Invention
The present invention is directed to solving, at least to some extent, one of the technical problems in the related art. Therefore, an object of the present invention is to provide a method and circuit for updating firmware based on BMC.
In order to solve the above technical problem, an embodiment of the present invention provides the following technical solutions:
a method of updating firmware based on BMC, comprising:
determining a working BMC based on two BMCs which are redundant with each other, and connecting the working BMC with a liquid cooling chip of the firmware to be updated;
sending the firmware file to the working BMC;
and the working BMC updates the firmware of the liquid cooling chip based on the firmware file.
Optionally, determining a working BMC based on two BMCs that are redundant to each other, and connecting the working BMC to a liquid-cooled chip of the firmware to be updated, includes:
determining the working BMC based on a switching interface; the working BMC is provided with a first working interface, the liquid cooling chip is provided with a second working interface, and the first working interface is connected with the second working interface through the switching interface;
and connecting the working BMC with the liquid cooling chip based on the first working interface and the second working interface.
Optionally, the updating the firmware of the liquid cooling chip by the working BMC based on the firmware file includes:
the working BMC sends first control information to the liquid cooling chip; the working BMC is provided with a first control interface, and the liquid cooling chip is provided with a second control interface; the first control interface sends the first control information to the second control interface;
the liquid cooling chip enters a burning mode based on the first control information;
and the working BMC updates the firmware file to the liquid cooling chip through the first working interface.
Optionally, the work BMC updates the firmware file to the liquid cooling chip through the first work interface, and further includes:
the working BMC reads and writes each sector of the liquid cooling chip based on the first working interface to obtain a reading and writing result;
verifying the read-write result to obtain a verification result;
and acquiring the updating result of the firmware based on the verification result.
Optionally, the verifying the read-write result to obtain a verification result includes:
generating a first check code based on the reading and writing result;
acquiring a second check code of the firmware file corresponding to each sector;
and comparing the first check code with the second check code to obtain a comparison result.
Optionally, the obtaining an update result of the firmware based on the verification result includes:
if the comparison result of each sector is consistent, updating the firmware of each sector successfully;
if the comparison result of the sectors is inconsistent, the firmware of the liquid cooling chip fails to be updated, and the firmware of the liquid cooling chip is updated again until the firmware of each sector is updated successfully.
An embodiment of the present invention further provides a circuit for updating firmware based on BMC, including:
the method comprises the steps that two BMCs which are redundant with each other determine a working BMC based on the two BMCs which are redundant with each other;
the liquid cooling chip is respectively connected with the two BMCs which are redundant with each other;
the liquid cooling chip is connected with the working BMC through a working interface to form a working circuit.
Optionally, the working interface includes a first working interface and a second working interface; the working BMC is provided with the first working interface, the liquid cooling chip is provided with the second working interface, and the first working interface is connected with the second working interface through a switching interface.
Optionally, the first working interface includes a first UART interface and a first I2C interface, and the second working interface includes a second UART interface and a second I2C interface; the switching interface comprises a first switching interface and a second switching interface;
the first UART interface is connected with the second UART interface through the first switching interface;
the first I2C interface and the second I2C interface are connected through a second switch interface.
Optionally, the working BMC is provided with a first control interface, the liquid-cooled chip is provided with a second control interface, and the first control interface is connected with the second control interface.
Embodiments of the present invention also provide an electronic device comprising a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, the processor implementing the method as described above when executing the computer program.
Embodiments of the present invention also provide a computer-readable storage medium comprising a stored computer program, wherein the computer program, when executed, controls an apparatus in which the computer-readable storage medium is located to perform the method as described above.
The embodiment of the invention has the following technical effects:
according to the technical scheme, 1) the stability of the circuit is ensured through the two redundant BMCs, and the whole liquid cooling system can still work normally when one upper computer (BMC) is abnormal.
2) The liquid cooling chip firmware can be remotely updated through the network of the server management chip, and batch firmware updating can be realized.
3) The working BMC controls the GPIO interface to control the liquid cooling chip to enter a burning mode or complete the restarting action of the liquid cooling chip.
4) The liquid cooling chip can be restarted and reset through IPMI and the like, and can be used as a debugging port of the liquid cooling chip to debug the liquid cooling chip.
Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
Drawings
Fig. 1 is a schematic structural diagram of a circuit for updating firmware based on BMC according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating a method for updating firmware based on BMC according to an embodiment of the invention;
FIG. 3 is a BMC WEB page for one of the firmware updates provided by embodiments of the invention;
FIG. 4 is another BMC WEB page for firmware update provided by an embodiment of the invention;
fig. 5 is a block diagram of a method for updating firmware based on BMC according to an embodiment of the present invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative and intended to be illustrative of the invention and are not to be construed as limiting the invention.
To facilitate understanding by those skilled in the art, some terms of the invention will first be explained:
1) BMC: the substrate management controller runs the linux system;
2) the UART MUX: a multiplexing chip of a UART interface;
3) I2C MUX: a multiplexing chip of an I2C interface;
4) RESTFUL: a design style and development mode of a network application program is based on HTTP and can use XML format definition or JSON format definition;
5) IPMI: an Intelligent Platform Management Interface (Intelligent Platform Management Interface);
6) ISP PIN: entering an In-System Programming Pin into a Pin of online Programming;
7) RESET PIN: a pin for restarting the liquid-cooled chip;
8) liquid cooling chip: controlling and managing chips of the liquid cooling system;
9) GPIO: general Purpose Input Output, standard Input Output;
10) UART (Universal Asynchronous Receiver/Transmitter, Universal Asynchronous Receiver/Transmitter; a UART interface: the method is used for transmitting the firmware file between the BMC and the liquid cooling chip.
11) I2C interface: the interface is used for transmitting control and data information, and can acquire related information such as liquid level, air pressure, working state, version number and the like of the liquid cooling chip, and write a register of the liquid cooling chip and control the working mode of the liquid cooling chip.
In order to facilitate understanding of the embodiment of the present invention, a description will be given below of one of the circuits based on the BMC firmware update according to the embodiment of the present invention.
As shown in fig. 1, an embodiment of the present invention provides a circuit for updating firmware based on BMC, including:
the method comprises the steps that two BMCs which are redundant with each other determine a working BMC based on the two BMCs which are redundant with each other;
specifically, when the IPMI works, the IPMI sends a command to the BMC to realize the function, and the command uses an instruction specified in an IPMI specification; the BMC is provided with a file module used for storing the file received by the BMC.
The liquid cooling chip is respectively connected with the two BMCs which are redundant with each other;
specifically, the liquid cooling chip is provided with 8 fixed sectors, and firmware updating is required to be carried out one by one;
the liquid cooling chip can be connected with any BMC and performs data transmission.
The liquid cooling chip is connected with the working BMC through a working interface to form a working circuit.
Specifically, the embodiment of the present invention may specifically include a working circuit and a standby circuit, and each element of the working circuit and the standby circuit may normally work after connection is established, so as to ensure stability of a firmware updating process.
According to the embodiment of the invention, the stability of the circuit is ensured by the two BMCs which are redundant with each other, wherein when one upper computer (BMC) is abnormal, the whole liquid cooling system can still work normally; the liquid cooling chip firmware can be updated remotely through the network of the server management chip, and batch firmware updating can be realized.
In an optional embodiment of the present invention, the working interface includes a first working interface and a second working interface; the working BMC is provided with the first working interface, the liquid cooling chip is provided with the second working interface, and the first working interface is connected with the second working interface through a switching interface.
Specifically, the standby BMC is provided with a third working interface, and the third working interface is connected with the second working interface through a switching interface;
the switching interface receives a control command of the IPMI and selects to establish connection with the first working interface or the second working interface based on the control command so as to form a first working circuit or a second working circuit, and the first working circuit and the second working circuit are mutually standby circuits.
According to the embodiment of the invention, the working circuit and the standby circuit can be formed based on the two BMCs and the liquid cooling chip by arranging the plurality of working interfaces, so that the stability of the updating process is ensured.
In an alternative embodiment of the present invention, the first working interface includes a first UART interface and a first I2C interface, and the second working interface includes a second UART interface and a second I2C interface; the switching interface comprises a first switching interface and a second switching interface;
the first UART interface is connected with the second UART interface through the first switching interface;
the first I2C interface and the second I2C interface are connected through a second switch interface.
Specifically, the third working interface includes a third UART interface and a third I2C interface;
the third UART interface is connected with the second UART interface through the first switching interface;
the third I2C interface and the second I2C interface are connected through a second switch interface.
The operating circuit includes:
the working BMC, the first UART interface, the first switching interface, the second UART interface and the liquid cooling chip are connected in sequence; this path is used for the transfer of firmware files.
The working BMC, the first I2C interface, the first switching interface, the second I2C interface and the liquid cooling chip are connected in sequence; the path is used for transmission of control information or transmission of read data.
The standby circuit includes: the standby BMC, the third UART interface, the first switching interface, the second UART interface and the liquid cooling chip are connected in sequence;
the standby BMC, the third I2C interface, the first switching interface, the second I2C interface and the liquid cooling chip are connected in sequence;
the first switching interface can be a UART MUX; the second switching interface may be an I2C MUX.
According to the embodiment of the invention, the working circuit and the standby circuit are established based on the selection of the first switching interface and the second switching interface to the BMC, and the alternative work of the working circuit and the standby circuit can be realized.
In an optional embodiment of the present invention, the working BMC is provided with a first control interface, the liquid-cooled chip is provided with a second control interface, and the first control interface is connected to the second control interface.
Specifically, the connection between the working BMC and the liquid cooling chip can be established based on the GPIO interface. In the embodiment of the invention, the working BMC controls the GPIO interface to control the liquid cooling chip to enter the burning mode or complete the restarting action of the liquid cooling chip.
According to an optional embodiment of the invention, when the BMC cannot read the information of the liquid-cooled chip through I2C for a long time, the BMC may regard that the liquid-cooled chip enters a deadlock or downtime state, and at this time, the server management chip controls the BMC to reset the liquid-cooled chip, so that the liquid-cooled chip returns to a normal working state.
According to the embodiment of the invention, the liquid cooling chip can be restarted and reset through the server management chip, and the liquid cooling chip can be debugged as a debugging port of the liquid cooling chip.
As shown in fig. 2, an embodiment of the present invention provides a method for updating firmware based on BMC, including:
step S1: determining a working BMC based on two BMCs which are redundant with each other, and connecting the working BMC with a liquid cooling chip of the firmware to be updated;
specifically, when the firmware of the liquid cooling chip needs to be updated, the IPMI controls the UART MUX to select the BMC with the better working state, and determines the BMC with the better working state as the working BMC;
after the UART MUX is connected with the first UART of the working BMC, a working circuit for transmitting the firmware file is formed;
when the working BMC is determined to be good, the I2C MUX is connected with the working BMC, and a working circuit for controlling information transmission is formed.
Step S2: sending the firmware file to the working BMC;
specifically, the IPMI sends the firmware file to a file module of the working BMC for standby.
Step S3: and the working BMC updates the firmware of the liquid cooling chip based on the firmware file.
According to the embodiment of the invention, the firmware can be updated in batch in a burning mode out of the network band, so that a large amount of manpower and material resources are saved; by arranging two BMCs which are redundant with each other, the stability of the working circuit is ensured.
In an optional embodiment of the present invention, in step S1, the determining a working BMC based on two BMCs that are redundant to each other, and connecting the working BMC to a liquid-cooled chip of a firmware to be updated includes:
step S11: determining the working BMC based on a switching interface; the working BMC is provided with a first working interface, the liquid cooling chip is provided with a second working interface, and the first working interface is connected with the second working interface through the switching interface;
step S12: and connecting the working BMC with the liquid cooling chip based on the first working interface and the second working interface.
In an optional embodiment of the present invention, in step S3, the updating, by the operating BMC, the firmware of the liquid-cooled chip based on the firmware file includes:
step S31: the working BMC sends first control information to the liquid cooling chip; the working BMC is provided with a first control interface, and the liquid cooling chip is provided with a second control interface; the first control interface sends the first control information to the second control interface;
step S32: the liquid cooling chip enters a burning mode based on the first control information;
step S33: and the working BMC updates the firmware file to the liquid cooling chip through the first working interface.
In the embodiment of the invention, the two BMCs are respectively communicated with the liquid-cooled chip through the I2C MUX, and the two BMCs can read the data of the liquid-cooled chip by switching the I2C MUX; the two BMCs are respectively communicated with the liquid-cooled chip through the UART MUX, and the liquid-cooled chip firmware can be burned by switching the UART MUX; and the two BMCs are connected with the liquid cooling chip through GPIO interfaces so as to enable the liquid cooling chip to enter a burning mode and complete actions such as restarting of the liquid cooling chip.
In an optional embodiment of the present invention, in step S33, after the working BMC updates the firmware file to the liquid-cooled chip through the first working interface, the method includes:
step S331: the working BMC reads and writes each sector of the liquid cooling chip based on the first working interface to obtain a reading and writing result;
specifically, the second working interface comprises a first I2C interface and a second I2C interface; the third working interface comprises a third I2C interface;
the working BMC establishes connection with the 12C MUX based on the first I2C interface, and further realizes reading and writing of sector data of the liquid cooling chip;
after receiving the firmware file, the working BMC generates a corresponding check code, for example, a cyclic redundancy check code, for a part of the firmware file corresponding to each sector of the liquid-cooled chip.
Step S332: the reading and writing result is verified to obtain a verification result;
specifically, the working BMC obtains the read-write result based on the first I2C interface, and generates a corresponding cyclic redundancy check code for the read-write result.
Step S333: and acquiring the updating result of the firmware based on the verification result.
In the embodiment of the invention, the corresponding cyclic redundancy check codes are generated for the firmware file and the data of the updated sector and then checked to ensure the correctness of the firmware update.
In an optional embodiment of the present invention, in step S332, verifying the read-write result to obtain a verification result includes:
step S3321: generating a first check code based on the reading and writing result;
step S3322: acquiring a second check code of the firmware file corresponding to each sector;
step S3323: and comparing the first check code with the second check code to obtain a comparison result.
In the embodiment of the invention, the first check code and the second check code are compared to obtain the comparison result, and the comparison result is used as a standard for judging whether the updating is successful or not, so that a reliable guarantee is added for ensuring the success of the updating of the firmware.
In an optional embodiment of the present invention, in step S333, the obtaining an update result of the firmware based on the verification result includes:
step S3331: if the comparison result of each sector is consistent, updating the firmware of each sector successfully;
step S3332: if the comparison result of the sectors is inconsistent, the firmware of the liquid cooling chip fails to be updated, and the firmware of the liquid cooling chip is updated again until the firmware of each sector is updated successfully.
Specifically, when the comparison result shows that the sectors are inconsistent, it is indicated that the firmware update of the sectors fails, and then the above steps are repeated to perform the firmware update on the sectors with the failed firmware update for a plurality of times, wherein the number of times of the firmware update can be flexibly preset according to actual needs, until the firmware update of all the sectors is successful, the firmware update of the liquid cooling chip is successful.
When the firmware of a certain sector is updated again for a plurality of times, the firmware still fails to be updated, the firmware of the next sector is directly updated, when all sectors finish the firmware updating, the firmware updating failure of the liquid cooling chip is prompted, the information of the firmware updating failure of the liquid cooling chip is fed back to the working BMC, the firmware of all sectors of the liquid cooling chip is updated again, and if the firmware of the same sector fails to be updated, the condition that the liquid cooling chip is abnormal can be basically judged.
In general, the probability of failure of firmware update of a sector is low, and the number of sector re-update times can be set in actual operation based on actual conditions.
According to the embodiment of the invention, the success or failure of the firmware update of each sector is verified through the cyclic redundancy check code, and when the firmware update fails, the sector with the failed firmware update is updated for multiple times, and then the firmware update of the next sector is started, so that the correctness of the firmware update of each sector is ensured, and the firmware update efficiency is improved.
With reference to fig. 3 and 4, in an alternative embodiment of the present invention, the BMC WEB page of the firmware update is updated, various operation buttons can be visually seen on the updated page through the visual WEB page, and various functions can be triggered by one key, so that the operation is simple, convenient, and fast.
Specifically, each step of the WEB page operation is provided with a RESETFUL interface corresponding to the bottom layer, and when a plurality of servers exist in a computer room, a writing script calls the RESETFUL interface updated by firmware and transmits the RESETFUL interface updated by firmware to IP addresses of different machines BMC.
For example, the updating progress can be checked on the updated page, the detailed information in the current updating process can be checked, and debugging and problem positioning are facilitated.
When a sync failed typeface is seen, it can be determined that the recording mode is abnormal, and it can be determined that the UART link is abnormal.
According to the embodiment of the invention, the detailed updating progress and the log can be seen through the web browser, so that the debugging is facilitated.
With reference to fig. 5, the above-described embodiment of the present invention can be implemented by the following implementation manners:
the first BMC is used as a working BMC, the I2C MUX is connected with the first I2C interface, and the UART MUX is connected with the first UART interface.
1) And the user logs in the WEB page of the BMC through a notebook (or other terminals) of the user, finds a page for updating the function of the liquid cooling chip and selects to upload the firmware of the liquid cooling chip.
2) And clicking to start firmware updating, pulling down the ISP PIN by the BMC to enable the liquid cooling chip to enter a burning mode, then reading and writing each sector of the liquid cooling chip, performing cyclic redundancy check on the read and written data, and if the brushing of a certain sector fails, re-brushing the sector three times.
If the sector flash fails for three times, the next sector refresh is started, finally, the firmware update failure can be performed on the liquid cooling chip again according to the prompt of the flash failure, and if the same sector fails, the abnormality of the liquid cooling chip can be basically explained.
3) If all 8 sectors are completely written, pulling up the ISP PIN, pulling down the REST PIN and then pulling up the REST PIN to enable new firmware to take effect, if the user is failed to be reminded of refreshing failure, and the reset liquid cooling chip enables the chip to recover to a normal mode, wherein the 8 sectors are fixed sectors and respectively store different code segments.
4) The working BMC reads the version number of the liquid cooling chip information through I2C and UART respectively, and judges whether the firmware is updated to an expected version by checking the version number in multiple layers;
if the expected version is not reached, whether the updated firmware version is normal or not needs to be checked.
An embodiment of the present invention further provides a device for updating firmware based on BMC, including:
the determining module is used for determining a working BMC based on two BMCs which are redundant with each other and connecting the working BMC with a liquid cooling chip of the firmware to be updated;
the sending module is used for sending the firmware file to the working BMC;
and the updating module is used for updating the firmware of the liquid cooling chip by the working BMC based on the firmware file.
Optionally, determining a working BMC based on two BMCs that are redundant to each other, and connecting the working BMC to a liquid-cooled chip of the firmware to be updated, includes:
determining the working BMC based on a switching interface; the working BMC is provided with a first working interface, the liquid cooling chip is provided with a second working interface, and the first working interface is connected with the second working interface through the switching interface;
and connecting the working BMC with the liquid cooling chip based on the first working interface and the second working interface.
Optionally, the updating the firmware of the liquid cooling chip by the working BMC based on the firmware file includes:
the working BMC sends first control information to the liquid cooling chip; the working BMC is provided with a first control interface, and the liquid cooling chip is provided with a second control interface; the first control interface sends the first control information to the second control interface;
the liquid cooling chip enters a burning mode based on the first control information;
and the working BMC updates the firmware file to the liquid cooling chip through the first working interface.
Optionally, the work BMC updates the firmware file to the liquid cooling chip through the first work interface, and further includes:
the working BMC reads and writes each sector of the liquid cooling chip based on the first working interface to obtain a reading and writing result;
verifying the read-write result to obtain a verification result;
and acquiring the updating result of the firmware based on the verification result.
Optionally, the verifying the read-write result to obtain a verification result includes:
generating a first check code based on the reading and writing result;
acquiring a second check code of the firmware file corresponding to each sector;
and comparing the first check code with the second check code to obtain a comparison result.
Optionally, the obtaining an update result of the firmware based on the verification result includes:
if the comparison result of each sector is consistent, updating the firmware of each sector successfully;
if the comparison result of the sectors is inconsistent, the firmware of the liquid cooling chip fails to be updated, and the firmware of the liquid cooling chip is updated again until the firmware of each sector is updated successfully.
Embodiments of the present invention also provide an electronic device comprising a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, the processor implementing the method as described above when executing the computer program.
Embodiments of the present invention also provide a computer-readable storage medium comprising a stored computer program, wherein the computer program, when executed, controls an apparatus in which the computer-readable storage medium is located to perform the method as described above.
In addition, other configurations and functions of the circuit according to the embodiment of the present invention are known to those skilled in the art, and are not described herein in detail to reduce redundancy.
It should be noted that the logic and/or steps represented in the flowcharts or otherwise described herein, such as an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
In the description of the present invention, it is to be understood that the terms "central," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," "circumferential," and the like are used in the orientations and positional relationships indicated in the drawings for convenience in describing the invention and to simplify the description, and are not intended to indicate or imply that the referenced devices or elements must have a particular orientation, be constructed and operated in a particular orientation, and are therefore not to be considered limiting of the invention.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
In the present invention, unless otherwise expressly stated or limited, the terms "mounted," "connected," "secured," and the like are to be construed broadly and can, for example, be fixedly connected, detachably connected, or integrally formed; can be mechanically or electrically connected; they may be directly connected or indirectly connected through intervening media, or they may be connected internally or in any other suitable relationship, unless expressly stated otherwise. The specific meanings of the above terms in the present invention can be understood by those skilled in the art according to specific situations.
In the present invention, unless otherwise expressly stated or limited, the first feature "on" or "under" the second feature may be directly contacting the first and second features or indirectly contacting the first and second features through an intermediate. Also, a first feature "on," "over," and "above" a second feature may be directly or diagonally above the second feature, or may simply indicate that the first feature is at a higher level than the second feature. A first feature being "under," "below," and "beneath" a second feature may be directly under or obliquely under the first feature, or may simply mean that the first feature is at a lesser elevation than the second feature.
Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention, and that variations, modifications, substitutions and alterations can be made to the above embodiments by those of ordinary skill in the art within the scope of the present invention.

Claims (10)

1. A method for updating firmware based on BMC, comprising:
determining a working BMC based on two BMCs which are redundant with each other, and connecting the working BMC with a liquid cooling chip of the firmware to be updated;
sending the firmware file to the working BMC;
and the working BMC updates the firmware of the liquid cooling chip based on the firmware file.
2. The method of claim 1, wherein determining an operating BMC based on two BMCs that are redundant to each other and connecting the operating BMC with a liquid-cooled chip whose firmware is to be updated comprises:
determining the working BMC based on a switching interface; the working BMC is provided with a first working interface, the liquid cooling chip is provided with a second working interface, and the first working interface is connected with the second working interface through the switching interface;
and connecting the working BMC with the liquid cooling chip based on the first working interface and the second working interface.
3. The method of claim 1, wherein the operating BMC updates the firmware of the liquid-cooled chip based on the firmware file, comprising:
the working BMC sends first control information to the liquid cooling chip; the working BMC is provided with a first control interface, and the liquid cooling chip is provided with a second control interface; the first control interface sends the first control information to the second control interface;
the liquid cooling chip enters a burning mode based on the first control information;
and the working BMC updates the firmware file to the liquid cooling chip through a first working interface.
4. The method of claim 3, wherein after the operating BMC updates the firmware file to the liquid-cooled chip via the first operating interface, further comprising:
the working BMC reads and writes each sector of the liquid cooling chip based on the first working interface to obtain a reading and writing result;
verifying the read-write result to obtain a verification result;
and acquiring the updating result of the firmware based on the verification result.
5. The method according to claim 4, wherein the verifying the read-write result to obtain a verification result comprises:
generating a first check code based on the reading and writing result;
acquiring a second check code of the firmware file corresponding to each sector;
and comparing the first check code with the second check code to obtain a comparison result.
6. The method of claim 5, wherein obtaining the update result of the firmware based on the verification result comprises:
if the comparison result of each sector is consistent, updating the firmware of each sector successfully;
if the comparison result of the sectors is inconsistent, the firmware of the liquid cooling chip fails to be updated, and the firmware of the liquid cooling chip is updated again until the firmware of each sector is updated successfully.
7. A BMC-based firmware update circuit, comprising:
the method comprises the steps that two BMCs which are redundant with each other determine a working BMC based on the two BMCs which are redundant with each other;
the liquid cooling chip is respectively connected with the two BMCs which are redundant with each other;
the liquid cooling chip is connected with the working BMC through a working interface to form a working circuit.
8. The circuit of claim 7, wherein the working interface comprises a first working interface and a second working interface; the working BMC is provided with the first working interface, the liquid cooling chip is provided with the second working interface, and the first working interface is connected with the second working interface through a switching interface.
9. The circuit of claim 8, wherein the first working interface comprises a first UART interface and a first I2C interface, and wherein the second working interface comprises a second UART interface and a second I2C interface; the switching interface comprises a first switching interface and a second switching interface;
the first UART interface is connected with the second UART interface through the first switching interface;
the first I2C interface and the second I2C interface are connected through a second switch interface.
10. The circuit of claim 8, wherein the operating BMC is configured with a first control interface, wherein the fluid-cooled chip is configured with a second control interface, and wherein the first control interface is coupled to the second control interface.
CN202111423623.6A 2021-11-26 2021-11-26 Method and circuit for updating firmware based on BMC Pending CN114237658A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111423623.6A CN114237658A (en) 2021-11-26 2021-11-26 Method and circuit for updating firmware based on BMC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111423623.6A CN114237658A (en) 2021-11-26 2021-11-26 Method and circuit for updating firmware based on BMC

Publications (1)

Publication Number Publication Date
CN114237658A true CN114237658A (en) 2022-03-25

Family

ID=80751447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111423623.6A Pending CN114237658A (en) 2021-11-26 2021-11-26 Method and circuit for updating firmware based on BMC

Country Status (1)

Country Link
CN (1) CN114237658A (en)

Similar Documents

Publication Publication Date Title
WO2021169260A1 (en) System board card power supply test method, apparatus and device, and storage medium
CN105144074A (en) Block storage using a hybrid memory device
US10922071B2 (en) Centralized off-board flash memory for server devices
CN109189627B (en) Hard disk fault monitoring and detecting method, device, terminal and storage medium
CN111274077A (en) Disk array reliability testing method, system, terminal and storage medium
CN104731678A (en) RAID storage mode test system and method and electronic device
CN113672270A (en) Upgrading method, computer system and remote upgrading device
US6973412B2 (en) Method and apparatus involving a hierarchy of field replaceable units containing stored data
GB2398405A (en) Consolidating data regarding a hierarchy of field replaceable units containing stored data
CN113672306A (en) Server component self-checking abnormity recovery method, device, system and medium
CN111984287A (en) Equipment upgrading method and system
CN112558862A (en) Onboard RAID control method, device, system, BMC and medium
CN114237658A (en) Method and circuit for updating firmware based on BMC
CN113377425B (en) BMC firmware generation method and device, BMC starting method and device and storage medium
CN116015561A (en) Data reissue method, device, equipment and storage medium
CN115168146A (en) Anomaly detection method and device
CN109614279B (en) Industrial personal computer self-checking system and control method thereof and related equipment
CN114528555A (en) ARM server firmware safety check starting management method, device and medium
CN112231159A (en) Memory installation position testing method, system, terminal and storage medium
CN114328044B (en) AIC+box topology testing method, device and system
CN114385379B (en) Method, system, terminal and storage medium for detecting on-board information refreshing
CN115841842B (en) Memory testing method, system and computer readable storage medium
CN117608618B (en) Server firmware upgrading method and device, storage medium and electronic equipment
CN117472291B (en) Data block verification method and device, storage medium and electronic equipment
CN113407217B (en) Chip program upgrading method, communication device and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20230329

Address after: 610213 846, southern section of Tianfu Avenue, Huayang street, Tianfu New District, Chengdu, Sichuan

Applicant after: ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd.

Address before: 300380 1-3 / F, No.15, Haitai Huake street, Huayuan Industrial Zone, Xiqing District, Tianjin

Applicant before: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Applicant before: ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd.

TA01 Transfer of patent application right