CN108595193B - Firmware updating method of baseboard management controller for fan rotating speed control - Google Patents

Firmware updating method of baseboard management controller for fan rotating speed control Download PDF

Info

Publication number
CN108595193B
CN108595193B CN201710131788.3A CN201710131788A CN108595193B CN 108595193 B CN108595193 B CN 108595193B CN 201710131788 A CN201710131788 A CN 201710131788A CN 108595193 B CN108595193 B CN 108595193B
Authority
CN
China
Prior art keywords
firmware
management controller
parameter data
baseboard management
temporary storage
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.)
Active
Application number
CN201710131788.3A
Other languages
Chinese (zh)
Other versions
CN108595193A (en
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.)
Mitac Computer Shunde Ltd
Mitac Computing Technology Corp
Original Assignee
Mitac Computer Shunde Ltd
Mitac Computing Technology Corp
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 Mitac Computer Shunde Ltd, Mitac Computing Technology Corp filed Critical Mitac Computer Shunde Ltd
Priority to CN201710131788.3A priority Critical patent/CN108595193B/en
Publication of CN108595193A publication Critical patent/CN108595193A/en
Application granted granted Critical
Publication of CN108595193B publication Critical patent/CN108595193B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

In the firmware updating method for the baseboard management controller, the baseboard management controller responds to a received first control instruction, starts to receive updating parameter data related to the rotating speed control of a fan unit, and stores the received updating parameter data in a first temporary storage area of a temporary storage module. And then, when the substrate management controller receives a second control instruction and judges that the updating parameter data stored in the first temporary storage area is correct or not, the substrate management controller updates the setting parameter data stored in a second temporary storage area of the temporary storage module by using the updating parameter data stored in the first temporary storage area of the temporary storage module.

Description

Firmware updating method of baseboard management controller for fan rotating speed control
Technical Field
The present invention relates to a firmware updating method for a baseboard management controller, and more particularly, to a firmware updating method for a baseboard management controller for controlling a fan rotation speed.
Background
Heat dissipation is extremely important to the operation of the server. Typically, a Baseboard Management Controller (BMC) is used to control the rotational speed of one or more fans installed in the server, and a fan speed control algorithm associated with the fan speed control is included in a BMC firmware in the form of a program.
Each of a plurality of server products in the same series includes a plurality of SKUs (stock Keeping units) with different hardware configurations, wherein the fan speed control algorithms required by the SKUs may be different. Therefore, when the same BMC firmware is used for controlling the fan speed of the SKUs, a plurality of fan speed control algorithms respectively corresponding to the SKUs must be included in the BMC firmware, and thus the BMC firmware including a relatively large number of programs may occupy a relatively large storage space in the Flash memory, for example. In addition, for the existing server product, if the BMC firmware, such as the setting parameters of the fan speed control algorithm included in the BMC firmware, is to be modified or adjusted, the BMC firmware to be updated is still required to be re-programmed, which causes inconvenience in use.
On the other hand, in the development of server products, it is likely to take a lot of time and effort to repeatedly adjust setting parameters required for a fan rotational speed control algorithm related to heat dissipation. In particular, each time a set of adjusted setting parameters is obtained, the set of setting parameters must be written into a BMC firmware to obtain a test BMC firmware, and then the test BMC firmware is executed to test and evaluate the fan cooling performance. This is not only cumbersome, but also time and human resources are consumed.
Disclosure of Invention
Therefore, it is an object of the present invention to provide a firmware updating method for a bmc for fan speed control, which can overcome the disadvantages of the prior art.
Therefore, the firmware updating method of the baseboard management controller is implemented by a baseboard management control system. The substrate management control system comprises a storage module storing firmware related to the rotation speed control of a fan unit, a temporary storage module comprising a first temporary storage area and a second temporary storage area, and a substrate management controller electrically connected with the storage module and the temporary storage module. The temporary storage module is used for storing the firmware downloaded from the storage module, the baseboard management controller controls the rotating speed of the fan unit by executing the firmware stored in the temporary storage module, the firmware comprises set parameter data related to the rotating speed control of the fan unit, and the set parameter data is stored in the second temporary storage area of the temporary storage module. The method for updating the firmware of the baseboard management controller comprises the following steps:
(A) the substrate management controller responds to a received first control instruction, starts to receive updating parameter data related to the rotation speed control of the fan unit, and stores the received updating parameter data in the first temporary storage area of the temporary storage module;
(B) When the substrate management controller receives a second control instruction, judging whether the updated parameter data stored in the first temporary storage area of the temporary storage module is correct or not; and
(C) the substrate management controller updates the set parameter data stored in the second temporary storage area of the temporary storage module by the updated parameter data stored in the first temporary storage area of the temporary storage module when judging that the updated parameter data stored in the first temporary storage area of the temporary storage module is correct or correct.
In some embodiments, the temporary storage module further stores a status flag indicating whether the bmc is in a data receiving status, and before step (a), the method further includes step (D) of updating, by the bmc, a flag value of the status flag stored in the temporary storage module to a first flag value indicating that the bmc is in the data receiving status when the first control signal is received.
In some embodiments, in step (C), the bmc switches from a normal mode to an update mode, and further controls the fan unit to operate at a predetermined rotation speed before updating the setting parameter data stored in the second temporary storage area of the temporary storage module.
In some embodiments, the predetermined rotational speed is a maximum rotational speed.
In some embodiments, after step (C), the bmc further comprises (E) updating the flag value of the status flag stored in the register module to a second flag value different from the first flag value and indicating that the bmc is not in the data receiving status.
In some embodiments, in step (E), the bmc switches from the update mode back to the normal mode and controls the rotation speed of the fan unit by executing the firmware including the updated setting parameter data stored in the second temporary storage area of the temporary storage module.
In some embodiments, in step (a), the updated parameter data includes a series of updated parameter codes, and in step (C), the updated set parameter data is stored in the second register area of the register module in the form of a parameter table.
In some embodiments, in step (C), after the updating of the configuration parameter data is completed, the bmc further updates the firmware stored in the storage module with the firmware including the updated configuration parameter data.
Compared with the prior art, the baseboard management controller of the invention can start an updating procedure of the firmware through the first control instruction when a server is in use (namely, in an on-line state), and immediately control the rotating speed of the fan unit by executing the updated firmware after the updating procedure is finished. Therefore, when the user wants to update the firmware of the baseboard management controller at any time, the troublesome burning procedure as the prior art is not needed, and the server in use is not needed to be powered off or restarted. Particularly, during the firmware updating period, the baseboard management controller controls the fan unit to temporarily operate at the preset rotating speed, so that the operation of the server is not affected at all, the convenience of firmware updating during use or testing can be greatly improved, and the consumption of time and human resources is greatly reduced.
[ description of the drawings ]
FIG. 1 is a block diagram of a baseboard management control system for implementing one embodiment of the baseboard management controller firmware updating method according to the present invention; and
FIG. 2 is a flowchart illustrating how a baseboard management controller of the baseboard management control system executes a firmware update procedure.
[ detailed description ] embodiments
Before the present invention is described in detail, it should be noted that like elements are represented by like numerals throughout the following description.
Referring to FIG. 1, a baseboard management control system 100 for implementing one embodiment of the baseboard management controller firmware tracing method of the present invention is shown. In the present embodiment, the bmc 100 is applied to a server (not shown) including a fan unit 200 for dissipating heat, and controls the operation of the fan unit 200 when the server is used, so as to ensure the normal operation of the server. The substrate Management control system 100 includes a temporary storage module 2, a storage module 3, and a substrate Management Controller (Baseboard Management Controller)1 electrically connecting the temporary storage module 2 and the storage module 3. It should be noted that the baseboard management controller 1 can operate in an update mode or a normal mode, and the management controller 1 and the temporary storage module 2 can be integrated on a management motherboard as a management control platform.
The register module 2 is, for example, but not limited to, a RAM module, and includes a first register 21 and a second register 22. The temporary storage module 2 stores a status Flag indicating whether the bmc 1 is in a data receiving status.
The storage module 3 is, for example, a Flash memory module, but not limited thereto, and stores a firmware FW related to the rotation speed control of the fan unit 200. In the present embodiment, the firmware FW includes setting parameter data FSC related to the rotational speed control of the fan unit 200.
When the server is in use (i.e. on-line), the temporary storage module 2 stores the firmware (not shown in fig. 1) downloaded from the storage module 3. It should be noted that, in the embodiment, the setting parameter data FSC stored in the firmware of the register module 2 is stored in the second register 22, but not limited thereto. In other embodiments, the setting parameter data FSC stored in the firmware of the register module 2 can also be stored in the first register area 21. Meanwhile, the bmc 1 operates in the normal mode, wherein the bmc 1 controls the rotation speed of the fan unit 200 by executing the firmware stored in the temporary storage module 2.
In the following, referring to fig. 1 and fig. 2, how the bmc 1 executes a firmware update procedure according to an embodiment of the present invention when the bmc is used in the server will be described in detail. The firmware update procedure comprises the following steps.
In step S21, when a user wants to update the firmware FW, a first control command C1, such as an IPMI OEM command, may be transmitted to the bmc 1 via the operating system (not shown) of the server, so that the bmc 1 receives the first control command C1 from the operating system. It should be noted that, in the present embodiment, the user may be a local administrator, and in other embodiments, the user may also be a remote administrator, which causes the server to issue the first control command C1 in a communication manner.
In step S22, the bmc server 1 enters a data receiving state in response to the received first control command C1, and updates the Flag value of the status Flag stored in the register module 21 to a first Flag value, such as TRUE, indicating that the bmc server 1 is in the data receiving state.
Next, in step S23, the bmc 1 starts receiving updated parameter data desired by the user and related to the speed control of the fan unit 200. In the present embodiment, the bmc 1 stores the received updated parameter data in the first temporary storage area 21 of the temporary storage module 2, for example. In other embodiments, when the first register 21 stores the setting parameter data FSC of the firmware FW, the updating parameter data may also be stored in the second register 22. In this embodiment, the (near-end) user can manually input the updated parameter data and transmit the updated parameter data to the bmc 1 through the os of the server, while in other embodiments, a remote user can first transmit the updated parameter data to the server by using network communication and then transmit the updated parameter data to the bmc 1 through the os.
In the embodiment, the update parameter data includes, for example, a series of update parameter codes completely corresponding to the setting parameter data, and a predetermined hash value associated with the update parameter codes and used for verifying whether the update parameter data is correct. To ensure that the updated parameter data can be completely transmitted to the bmc 1, after the completely updated parameter data is transmitted to the bmc 1, the user sends a second control command C2 indicating that the data transmission is completed to the bmc 1 through the os of the server.
In step S24, the bmc 1 determines whether the updated parameter data is completely received by determining whether the second control command C2 is received from the server according to the above. If the determination result is affirmative (i.e., the second control command C2 is received), the flow proceeds to step S25. On the contrary, if the determination result is negative (i.e., the second control command C2 has not been received), the flow returns to step S23 to continue receiving the rest of the updated parameter data.
In step S25, the bmc 1 determines whether the updated parameter data stored in the first register 21 of the register module 2 is correct. If the determination result is positive, the flow proceeds to step S26, otherwise, the bmc 1 transmits an error message indicating that the data is incorrect to the server (step S30). It should be noted that, in the present embodiment, the bmc 1 obtains a hash value associated with the updated parameter codes, for example, by using the same hash algorithm, and determines whether the updated parameter data is correct by determining whether the obtained hash value matches the predetermined hash value received. In other words, if the hash value is determined to match the predetermined hash value, the bmc 1 determines that the updated parameter data is correct.
It is noted that the bmc 1 still maintains the normal mode of operation during the period from step S21 to step S25, and controls the rotation speed of the fan unit 200 by executing the firmware stored in the temporary storage module 2.
Next, in step S26, the bmc 1 switches from the normal mode to the update mode. In the refresh mode, the bmc 1 controls the fan unit to operate at a predetermined rotation speed, such as the maximum rotation speed, but not limited thereto.
In step S27, the bmc 1 first updates the setting parameter data FSC stored in the second register area 21 of the register module 2, for example, by replacing the setting parameter data with the update parameter codes of the update parameter data stored in the first register area 21 of the register module 2, but not limited thereto. Then, after the bmc 1 finishes updating the setting parameter data FSC, the firmware FW stored in the storage module 3 is updated by the firmware including the updated setting parameter data FSC. In the embodiment, the updated setting parameter data FSC is stored in the second register area 22 of the register module 2 in the form of a parameter table, but not limited thereto.
In step S28, the bmc 1 updates the Flag value of the status Flag stored in the register module 2 to a second Flag value, such as FALSE, different from the first Flag value (e.g., TRUE) and indicating that the bmc is not in the data receiving status.
Finally, in step S29, the bmc 1 switches from the update mode back to the normal mode and controls the rotation speed of the fan unit 200 by executing the firmware (i.e., updated firmware) containing the updated setting parameter data FSC stored in the second temporary storage area 22 of the temporary storage module 2.
In summary, according to the bmc firmware update method of the present invention, the bmc 1 can start the firmware update procedure through the first control command C1 when a server is in use (i.e. on-line state), and immediately control the rotation speed of the fan unit 200 by executing the updated firmware without re-executing the initialization of the bmc 1 after the firmware update procedure is finished. Thus, when the user wants to update the firmware FW of the bmc 1 at any time, especially only to modify or adjust the setting parameter data FSC, it is not necessary to perform the troublesome burning procedure as described in the prior art, and it is not necessary to power off or restart the server in use. In particular, during the firmware FW updating period, the baseboard management controller 1 controls the fan unit 200 to operate at the preset rotation speed temporarily, so as to completely avoid affecting the operation of the server, thereby greatly improving the convenience of updating the firmware FW during use or testing, and greatly reducing the consumption of time and human resources, thereby achieving the purpose of the present invention.
The detailed description and examples of the present invention are given above with reference to the accompanying drawings, but the scope of the present invention is not limited thereto, and the equivalent modifications and variations within the scope of the claims of the present invention should be considered as falling within the scope of the present invention.

Claims (7)

1. A method for updating firmware of a baseboard management controller is implemented by a baseboard management control system, which comprises a storage module storing firmware related to the rotation speed control of a fan unit, a RAM module comprising a first temporary storage area and a second temporary storage area, and a baseboard management controller electrically connected with the storage module and the RAM module, wherein the RAM module is used for storing the firmware downloaded from the storage module, the baseboard management controller controls the rotation speed of the fan unit by executing the firmware stored in the RAM module, the firmware comprises setting parameter data related to the rotation speed control of the fan unit, and the setting parameter data is stored in the second temporary storage area of the RAM module, and the method comprises the following steps: the method for updating the firmware of the baseboard management controller comprises the following steps:
(A) the baseboard management controller responds to a received first control instruction, starts to receive updating parameter data related to the rotation speed control of the fan unit, and stores the received updating parameter data in the first temporary storage area of the RAM module;
(B) When the baseboard management controller receives a second control instruction, judging whether the updated parameter data stored in the first temporary storage area of the RAM module is correct; and
(C) the baseboard management controller updates the set parameter data stored in the second temporary storage area of the RAM module by the updated parameter data stored in the first temporary storage area of the RAM module when judging that the updated parameter data stored in the first temporary storage area of the RAM module is correct or not, switches from a normal mode to an updating mode, and controls the fan unit to operate at a preset rotating speed before updating the set parameter data stored in the second temporary storage area of the RAM module.
2. The baseboard management controller firmware updating method according to claim 1, wherein: the RAM module further stores a status flag indicating whether the bmc is in a data receiving status, and before the step (a), further includes the steps of:
(D) when the first control instruction is received, the flag value of the status flag stored in the RAM module is updated to a first flag value indicating that the baseboard management controller is in the data receiving state through the baseboard management controller.
3. The baseboard management controller firmware updating method according to claim 1, wherein: the preset rotation speed is a maximum rotation speed.
4. The baseboard management controller firmware updating method according to claim 2, wherein: after the step (C), further comprising the steps of:
(E) updating, by the BMC, a flag value of the status flag stored in the RAM module to a second flag value different from the first flag value and indicating that the BMC is not in the data receiving status.
5. The baseboard management controller firmware updating method according to claim 4, wherein: in step (E), the bmc switches from the update mode back to the normal mode, and controls the rotation speed of the fan unit by executing the firmware including the updated setting parameter data stored in the second temporary storage area of the RAM module.
6. The baseboard management controller firmware updating method according to claim 1, wherein: in step (a), the updated parameter data comprises a series of updated parameter codes, and in step (C), the updated setting parameter data is stored in the second buffer area of the RAM module in the form of a parameter table.
7. The baseboard management controller firmware updating method according to claim 1, wherein: in step (C), after the bmc finishes updating the setting parameter data, the firmware stored in the storage module is updated by the firmware including the updated setting parameter data.
CN201710131788.3A 2017-03-07 2017-03-07 Firmware updating method of baseboard management controller for fan rotating speed control Active CN108595193B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710131788.3A CN108595193B (en) 2017-03-07 2017-03-07 Firmware updating method of baseboard management controller for fan rotating speed control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710131788.3A CN108595193B (en) 2017-03-07 2017-03-07 Firmware updating method of baseboard management controller for fan rotating speed control

Publications (2)

Publication Number Publication Date
CN108595193A CN108595193A (en) 2018-09-28
CN108595193B true CN108595193B (en) 2021-11-16

Family

ID=63632901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710131788.3A Active CN108595193B (en) 2017-03-07 2017-03-07 Firmware updating method of baseboard management controller for fan rotating speed control

Country Status (1)

Country Link
CN (1) CN108595193B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579116B (en) * 2019-09-29 2023-07-18 佛山市顺德区顺达电脑厂有限公司 Control method for remote updating firmware

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262570A (en) * 2010-05-28 2011-11-30 英业达股份有限公司 Method for updating fan control table
CN104281593A (en) * 2013-07-04 2015-01-14 英业达科技有限公司 Method for updating fan speed-control table
CN104346188A (en) * 2013-08-07 2015-02-11 英业达科技有限公司 Updating method of substrate management controller and updating system of substrate management controller
CN106445577A (en) * 2015-08-12 2017-02-22 广达电脑股份有限公司 Updating method, server system and non-transitory computer readable medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160306623A1 (en) * 2015-04-16 2016-10-20 Aic Inc. Control module of node and firmware updating method for the control module

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262570A (en) * 2010-05-28 2011-11-30 英业达股份有限公司 Method for updating fan control table
CN104281593A (en) * 2013-07-04 2015-01-14 英业达科技有限公司 Method for updating fan speed-control table
CN104346188A (en) * 2013-08-07 2015-02-11 英业达科技有限公司 Updating method of substrate management controller and updating system of substrate management controller
CN106445577A (en) * 2015-08-12 2017-02-22 广达电脑股份有限公司 Updating method, server system and non-transitory computer readable medium

Also Published As

Publication number Publication date
CN108595193A (en) 2018-09-28

Similar Documents

Publication Publication Date Title
US10120676B2 (en) Method of updating baseboard management controller firmware for fan speed control
US9110843B2 (en) Rack and method thereof for simultaneously updating basic input output systems
US10698679B2 (en) Server with double-firmware storage space and firmware update method therefor
US9710284B1 (en) System for programmably configuring a motherboard
CN103324495A (en) Method and system for data center server boot management
CN106020875B (en) Firmware update management method and device of embedded terminal
US10037170B2 (en) Motherboard and a method for boot-up
US9904561B2 (en) Computer system and method for setting BIOS
CN113434202B (en) Device starting method and device, electronic device and computer storage medium
US9864596B2 (en) Network switch system and operating method thereof
CN109976816B (en) Computer system configuration method and server
WO2016062146A1 (en) Serial number information update method, device and terminal
US20150154029A1 (en) Electronic apparatus and operational method thereof
US10430181B1 (en) Retrieving updated firmware code
CN108427885B (en) Basic input output system updating method and device
CN108595193B (en) Firmware updating method of baseboard management controller for fan rotating speed control
CN106775590B (en) Method for updating BIOS (basic input/output system) firmware of mainboard by BMC (baseboard management controller)
CN117289963A (en) Method and equipment for online updating target area of server platform service firmware
CN106484442B (en) Server system and method for updating startup mapping file
CN113986357B (en) Method, apparatus and storage medium for establishing communication link
CN112083964B (en) Method for deploying an operating system
CN113923240A (en) System and method for dynamically upgrading equipment interface protocol in gateway of Internet of things by using local OTA method
CN106445571B (en) Mainboard and starting method
CN111142961B (en) Basic input/output system setting method
CN106548311B (en) Inventory management setting system

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
GR01 Patent grant
GR01 Patent grant