Computing system with a cooling function utilizing formula with algorithm

A computing system includes a target device to be cooled, a fan unit, a storage device storing a first portion and a second portion of firmware, and a baseboard management controller (BMC). In the firmware, only the first portion is related to heat-dissipation control. The BMC executes the firmware for monitoring the target device, generating a monitoring report for the target device, and controlling the rotational speed of the fan unit based on the monitoring report thus generated and on cooling parameters and cooling algorithms stored in the first portion of the firmware.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority of Chinese Invention Patent Application No. 202010343363.0, filed on Apr. 27, 2020.

TECHNICAL FIELD

The disclosure relates to a computing system, and more particularly to a computing system that utilizes a fan unit to cool down components of the computing system.

BACKGROUND

A conventional computing system, such as a server, includes a baseboard management controller (BMC) that executes firmware to monitor hardware devices in the conventional computing system, including, for example, hard disk drives, expansion cards (e.g., Peripheral Component Interconnect Express (PCIe) cards), central processing units (CPUs). In particular, the BMC monitors temperatures of the hardware devices and maybe also temperatures at one or more spots of a chassis of the conventional computing system. The conventional computing system includes fans for cooling down the hardware devices and the chassis. The BMC may control rotational speeds of the fans based on the temperatures of the monitored components of the conventional computing system, in order to dissipate heat generated in the computing system well, so that these components may normally operate under moderate temperatures. The firmware is usually stored in flash memory accessible by the BMC, and can be updated by using remote connection or an external tool that is locally connected to the flash memory. However, such conventional update of the BMC firmware lacks time efficiency when only a portion of the firmware that is related to heat-dissipation control (e.g., a parameter table for controlling the rotational speeds of the fans) needs to be updated (which happens from time to time), because the firmware is updated as a whole.

SUMMARY

Therefore, an object of the disclosure is to provide a computing system that can alleviate at least one of the drawbacks of the prior art.

According to one aspect of the disclosure, the computer system includes at least one target device to be cooled, a fan unit, a storage device and a baseboard management controller (BMC) electrically connected to the at least one target device, the fan unit and the storage device. The fan unit includes at least one fan corresponding respectively to the at least one target device, wherein a rotational speed of each of the at least one fan is controlled for cooling the respective one of the at least one target device. The storage device stores a first portion of firmware and a second portion of the firmware. In the firmware, only the first portion is related to heat-dissipation control and includes multiple sets of cooling parameters and multiple cooling algorithms. The heat-dissipation control is related to the rotational speed of each of the at least one fan of said fan unit. The BMC is configured to access the first portion and the second portion of the firmware stored in the storage device, in order to execute the firmware for monitoring the at least one target device, generating at least one monitoring report respectively for the at least one target device being monitored, and controlling the rotational speed of each of the at least one fan of the fan unit based on the at least one monitoring report thus generated and on the sets of cooling parameters and the cooling algorithms stored in the first portion of the firmware.

DETAILED DESCRIPTION

FIG.1exemplarily illustrates a computing system100(which may be, for example, at least one server, but the disclosure is not limited thereto) according to an embodiment of the disclosure. The computing system100includes at least one target device3to be cooled (only one target device3is illustrated inFIG.1for simplicity), a fan unit4, a storage device2and a baseboard management controller (BMC)1that is electrically connected to the at least one target device3, the fan unit4and the storage device2.

The at least one target device3relates to cooling operation. In some embodiments, the at least one target device3may include a device(s) included in the computing system100that generates or accumulates heat during operation. For example, the at least one target device3may include, for example, at least one central processing unit (CPU), at least one main memory device (e.g., random access memory (RAM)), at least one hard disk drive or at least one expansion card (e.g., Peripheral Component Interconnect Express (PCIe) card or graphics card), or any combination thereof. In some embodiments, the at least one target device3may include a chassis of the computer system100. A temperature of air that enters the computer system (i.e., an ambient temperature) through the chassis may be detected for determining the cooling operation (e.g., operation of the fan unit4). In an embodiment, the at least one target device3includes multiple target devices3.

The fan unit4includes at least one fan corresponding respectively to the at least one target device3for cooling the at least one target device3, wherein a rotational speed of each fan is controllable by the BMC1. In an embodiment, the at least one target device3includes multiple target devices3and the at least one fan includes multiple fans corresponding respectively to the multiple target devices3.

The storage device2may be, for example, flash memory. The storage device2stores a first portion21and a second portion22of firmware that is to be executed by the BMC1. In the firmware, only the first portion21is related to heat-dissipation control that is related to the rotational speed of each fan of the fan unit4, which means that the second portion22is irrelevant to heat-dissipation control. Multiple sets of cooling parameters212and multiple cooling algorithms211are included (i.e., stored) in the first portion21of the firmware.

The BMC1is configured to access the first portion21and the second portion22of the firmware stored in the storage device2, in order to execute the firmware for monitoring the at least one target device3, generating at least one monitoring report respectively for the at least one target device3being monitored, and controlling the rotational speed of each fan of the fan unit4based on the at least one monitoring report thus generated and on the cooling parameters212and the cooling algorithms211stored in the first portion21of the firmware.

Specifically, the monitoring of the at least one target device3is performed by the second portion22of the firmware executed by the BMC1. According to some embodiments, the monitoring of the at least one target device3includes measuring the temperature of each target device3. In an embodiment, the temperature of each target device3is measured by using at least one temperature sensor that is disposed in relation to the target device3.

Then, the second portion22of the firmware executed by the BMC1generates the at least one monitoring report respectively for the at least one target device3based on a result of the monitoring. The at least one monitoring report each contains a (measured) temperature value of the target device3that the monitoring report is generated for (that the monitoring report corresponds to), and device information of said target device3that includes, for example, at least one of a brand of said target device3, a product type of said target device3, or a serial number of said target device3.

After the at least one monitoring report is generated for the at least one target device3, the second portion22of the firmware executed by the BMC1may select one monitoring report from among the at least one monitoring report thus generated, and send the temperature value included in the one monitoring report thus selected (i.e., the temperature value of the target device3corresponding to the one monitoring report (referred to as “focused target device” hereinafter)) and at least a portion of the device information included in the one monitoring report (i.e., at least a portion of the device information of the focused target device3) to the first portion21of the firmware executed by the BMC1. In an embodiment, the one monitoring report is selected by using a filtering criterion that is a temperature value threshold to filter the at least one monitoring report, in order to find out which of the at least one monitoring report contains a temperature value that is higher than the temperature value threshold (and thus corresponds to a target device3with a high temperature), and select the one monitoring report which corresponds to the focused target device3from among the monitoring report(s) thus found to correspond to the target device(s)3with a high temperature. In another embodiment, the one monitoring report is selected by using a filtering criterion that is a specified brand, a specified product type or a specified serial number, in order to find out which of the at least one monitoring report contains the specific brand, the specific product type or the specified serial number, and select the one monitoring report from among the monitoring report(s) thus found to correspond to target device(s)3of the specific brand, the specific product type or the specified serial number. For example, the second portion22of the firmware executed by the BMC1may select the one monitoring report using a filtering criterion that indicates a specific product type of a chassis, and send to the first portion21of the firmware executed by the BMC1information that indicates the chassis and that includes the temperature value corresponding to the selected monitoring report and serving as the ambient temperature value.

According to some embodiments, the at least a portion of the device information (referred to as “device description” hereinafter) that is sent to the first portion21of the firmware may include at least one of the brand of the focused target device3, the product type of the focused target device3, or the serial number of the focused target device3. In response to receiving the temperature value and the device description of the focused target device3, the first portion21of the firmware executed by the BMC1selects, based on the device description thus received, one set of cooling parameters from among the multiple sets of cooling parameters and one cooling algorithm from among the multiple cooling algorithms, determines a fan speed request (i.e., a required rotational speed of a fan) of one fan (referred to as “focused fan” hereinafter) among the at least one fan of the fan unit4that corresponds to the focused target device3based on the one set of cooling parameters and the one cooling algorithm, generates a control signal that corresponds to the fan speed request thus determined, and sends the control signal to the second portion22of the firmware executed by the BMC1. In some embodiments, a corresponding relationship between the device description and the multiple sets of cooling parameters, and a corresponding relationship between the device description and the multiple cooling algorithms are predetermined. For example, the multiple sets of cooling parameters may include a first set of cooling parameters that corresponds to hard disk drives, and the multiple cooling algorithms may include a first cooling algorithm that corresponds to hard disk drives. When the first portion21of the firmware receives the device description that specifies a product type of “hard disk drive”, the first set of cooling parameters and the first cooling algorithm may be selected. As another example, the multiple sets of cooling parameters may include the first set of cooling parameters that corresponds to hard disk drives of a first capacity, and a second set of cooling parameters that also corresponds to hard disk drives of a different, second capacity; and the multiple cooling algorithms may include the first cooling algorithm that corresponds to hard disk drives of the first capacity, and a second cooling algorithm that corresponds to hard disk drives of the second capacity. In this case, when the first portion21of the firmware receives the device description that specifies a product type of “hard disk drive” and a serial number that indicates the second capacity, the second set of cooling parameters and the second cooling algorithm may be selected.

The multiple cooling algorithms stored in the first portion21of the firmware each include at least one formula213and several operation steps. According to an embodiment, the operation steps of one of the cooling algorithms may include: (i) determining or confirming a number of the at least one target device3and maybe also installed position(s) of the at least one target device3, in order to obtain device reference information; (ii) selecting, for each of the at least one target device3, one of the at least one formula213included in the cooling algorithm and one of the multiple sets of cooling parameters that corresponds to the target device3based on at least one of the device description thus received or the device reference information thus determined (the selection of the one of the multiple sets of cooling parameters may be at least partially based on the selected one of the at least one formula213); (iii) when the first portion21of the firmware receives the device description and the temperature value of the focused target device3, determining the fan speed request of the focused fan corresponding to the focused target device3by applying the temperature value and one of the multiple sets of cooling parameters212that corresponds to the focused target device3to the formula213included in the cooling algorithm that corresponds to the focused target device3.

According to some embodiments, the at least one formula213may include any of a formula that has an open-loop feature (e.g., the formula (1) described below), a formula that has a closed-loop feature (e.g., the formula (2) described below), and a formula that is related to exhaust temperature control (e.g., the formula (3) described below).

In these formulas, FSR represents the fan speed request, and FSR0is a previously calculated FSR. C1, C2, C3of formula (1) and C4of formula (3) are thermal parameters, where C1, C2and C3form a combination that is selected based on the focused target device3. T represents the ambient temperature. Formula (2) describes a proportional-integral-derivative (PID) controller, where KPand KDare predetermined parameters. The function e(t) is related to a current temperature error that is a difference between the temperature value and a desired temperature value, and the function e(t0) is related to a previous temperature error that is a difference between a previous temperature value and the desired temperature value. ΔT is equal to t−t0. “power” represents a current power consumption of the entire system. T1represents a current ambient temperature, and T2represents a temperature that is measured immediately prior to the measurement of T1. The abovementioned formulas are merely used to exemplarily explain one possible implementation of the embodiment, but this disclosure is not limited to such. Other embodiments may use different algorithms and formulas to achieve thermal control, and should be deemed covered by the present disclosure.

Upon receiving from the first portion21of the firmware the control signal generated for the focused fan, the second portion22of the firmware executed by the BMC1controls the rotational speed of the focused fan based on the control signal to match the fan speed request determined for the focused target device3. In an embodiment, delivery of the control signal between the first portion21of the firmware and the second portion22of the firmware supports intelligent platform management interface (IPMI) original equipment manufacturer (OEM) commands.

In this way, rotational speed(s) of the at least one fan included in the fan unit4may be individually controlled, in order to achieve required temperature control in the computing system100. In an embodiment, the temperature of a chassis of the computing system100is also monitored and controlled.

The first portion21of the firmware and the second portion22of the firmware that are stored in the storage device2are configured to be updated independently of each other. For example, in some embodiments, the first portion21of the firmware may include only both the cooling parameters212and the multiple cooling algorithms211, and is not related to other operations of the computer system100, while the second portion22of the firmware is related only to the other operations of the computer system100, and does not include any of the cooling parameters212and the cooling algorithms211(i.e., irrelevant to heat-dissipation control), so the first portion21of the firmware can be updated alone while the operations of the computer system100remain unaffected. Further, the first portion21of the firmware stored in the storage device2is configured to be partially updated by updating either the multiple cooling algorithms or the multiple sets of cooling parameters, wherein updating the multiple cooling algorithms includes updating the formulas213included in the cooling algorithms. For example, when only the formulas213of the cooling algorithms need to be updated, the firmware may be updated by using remote connection or an external tool that is locally connected to the storage device2to only update (overwrite) file(s) in the first portion21that is/are related to the formulas213, keeping other portions of the firmware untouched. The partial update feature of the firmware of the disclosure makes the firmware update more flexible and more time-efficient in comparison to conventional techniques because the firmware is not required to be updated in its entirety every time. When only the first portion21of the firmware is updated, verification is not required to be performed on the entire firmware, but only needs to be performed on the function that is related to the first portion21of the firmware (e.g., heat dissipation control).