Server fan control method, system, terminal and storage medium

By gradually reducing fan speed based on power consumption weights and monitoring temperature, the high power consumption problem caused by inflexible server fan control is solved, thus achieving energy-saving heat dissipation for servers.

CN116641907BActive Publication Date: 2026-04-14INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2023-06-25
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

The existing server fan control is not flexible enough, resulting in a large number of fans running at low speeds, which increases the server's power consumption and causes additional power consumption.

Method used

By acquiring the power consumption weight of the fans, the speed of the fan with the highest power consumption weight is gradually reduced, and the server temperature and total power consumption are monitored during the speed adjustment process. If the temperature or power consumption exceeds the limit, the speed is restored to the optimal speed, the target fan is reselected, and the optimal control scheme is saved to the BMC.

Benefits of technology

By ensuring that the server temperature does not exceed the threshold, the fan power consumption is reduced to the minimum, thus achieving energy saving and consumption reduction of the server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116641907B_ABST
    Figure CN116641907B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of servers, and specifically provides a server fan control method, a server fan control system, a terminal and a storage medium, which comprise the following steps: obtaining the power consumption weight of a fan; selecting a fan with the maximum power consumption weight from all the currently started fans as a target fan; gradually reducing the rotating speed of the target fan, and monitoring the server temperature and the total power consumption of the fan during the fan rotating speed adjustment process; if the server temperature reaches a temperature threshold value or the total power consumption of the fan increases, the rotating speed of the target fan is restored to the optimal rotating speed before the current rotating speed; and if the rotating speed of the target fan is reduced to the minimum, the target fan is reselected. The application can reduce the power consumption of the server fan to the minimum on the premise that the server temperature does not exceed a set threshold value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of server technology, specifically relating to a server fan control method, system, terminal, and storage medium. Background Technology

[0002] With the increasing prevalence of server applications, users are paying more and more attention to server power consumption and cost-effectiveness, in addition to the server's performance itself. Higher power consumption in a server system leads to higher operating costs, while lower power consumption results in lower operating costs. Among the many methods for reducing power consumption, a reasonable heat dissipation strategy has received particular attention as a crucial element.

[0003] Current servers typically employ fan redundancy to improve thermal stability. However, this redundancy generates significant additional power consumption, which can lead to substantial losses in a data center with a large number of servers. Furthermore, current server fan cooling strategies are often pre-programmed into the BMC (Browser Control Center), adjusting the PWM (Pulse Width Modulation) frequency based on different components to control fan speed. This method results in relatively fixed fan speeds, meaning that when cooling demand is low, all fans remain at low speeds, hindering energy conservation and power saving. Summary of the Invention

[0004] To address the shortcomings of existing fan control technologies, such as insufficient flexibility and the large proportion of low-speed fans contributing to server power consumption, this invention provides a server fan control method, system, terminal, and storage medium to solve the aforementioned technical problems.

[0005] In a first aspect, the present invention provides a server fan control method, comprising:

[0006] Obtain the power consumption weight of the fan;

[0007] Select the fan with the highest power consumption weight from all currently activated fans as the target fan;

[0008] Gradually reduce the target fan speed and monitor server temperature and total fan power consumption during the fan speed adjustment process;

[0009] If the server temperature reaches the temperature threshold or the total power consumption of the fan increases, the target fan speed will be restored to the optimal speed before it was adjusted to the current speed.

[0010] If the target fan speed drops to the minimum, then select a new target fan.

[0011] In one optional implementation, obtaining the fan's power consumption weight includes:

[0012] Obtain the total power consumption and temperature of all server fans at full speed as standard power consumption and standard temperature;

[0013] Randomly select a target fan and switch it to standby mode;

[0014] After the target fan goes into standby mode, obtain the server's steady-state total fan power consumption and steady-state temperature from the BMC;

[0015] Calculate the power difference between the steady-state total fan power consumption and the standard power consumption;

[0016] Calculate the temperature difference between the steady-state temperature and the standard temperature;

[0017] Calculate the ratio of the power consumption difference to the temperature difference, and use the ratio as the power consumption weight of the target fan;

[0018] Iterate through all fans to obtain the power consumption weight of each fan.

[0019] In one optional implementation, the target fan speed is gradually reduced, and the server temperature and total fan power consumption are monitored during the fan speed adjustment process, including:

[0020] Pre-set the magnitude of a single speed reduction;

[0021] Determine whether to continue slowing down the target fan:

[0022] If so, obtain the current speed of the target fan and set the difference between the current speed and the amplitude as the target speed of the target fan;

[0023] Obtain the server's steady-state temperature and total steady-state fan power consumption before and after the target fan speed is adjusted.

[0024] In an optional implementation, if the server temperature reaches a temperature threshold or the total fan power consumption increases, the target fan speed is restored to its optimal speed before being adjusted to the current speed, including:

[0025] If the steady-state temperature of the server after the target fan speed adjustment reaches the temperature threshold, it is determined that the speed reduction of the target fan will no longer be implemented.

[0026] If the difference between the steady-state total power consumption of the target fan before and after the speed adjustment is negative, it is determined that the total power consumption of the fan has increased, and the speed reduction of the target fan will no longer be implemented.

[0027] After determining that the speed reduction of the target fan should no longer be performed, the target fan speed is restored to the optimal speed before it was adjusted to the current speed.

[0028] In an optional implementation, restoring the target fan speed to its optimal speed before being adjusted to the current speed includes:

[0029] Obtain the current speed of the target fan, and set the sum of the current speed and the amplitude as the optimal speed of the target fan;

[0030] The optimal speed is sent to the controller of the target fan so that the target fan adjusts its actual speed to the optimal speed.

[0031] In an optional implementation, after restoring the target fan speed to its optimal speed before being adjusted to the current speed, the method further includes:

[0032] Save the current start / stop status and speed of all fans as the default scheme, and save the default scheme to BMC;

[0033] Configure the BMC to adjust the corresponding fan to the state and speed recorded in the default scheme after the server starts;

[0034] Monitor server temperature and activate fans that are in standby mode when the server temperature reaches a certain threshold.

[0035] In an optional implementation, the method further includes:

[0036] Create a monitoring list, and save the fan speed change time and speed in the monitoring list;

[0037] The duration of the fan at each speed level is obtained by calculating the time difference between adjacent speed change times and the time difference between the current time and the previous speed change time.

[0038] Set the fan speed as the workload weight, calculate the weighted sum of the fan speed and the corresponding duration, and obtain the fan's working time;

[0039] The fan with the longest working time that reaches a preset time threshold is marked as a fatigued fan;

[0040] According to the preset single speed reduction range, gradually reduce the speed of the fatigue fan until the speed of the fatigue fan drops to 0.

[0041] During the process of reducing the speed of the fatigue fan, the ambient temperature is monitored. If the ambient temperature reaches the set temperature threshold, a target fan is selected from the fans in standby mode to replace the fan.

[0042] Set the target replacement fan to full speed and re-collect the ambient temperature. If the ambient temperature still reaches the set temperature threshold, start another standby fan until the ambient temperature drops below the temperature threshold.

[0043] In a second aspect, the present invention provides a server fan control system, comprising:

[0044] The weight acquisition module is used to obtain the power consumption weight of the fan;

[0045] The target selection module is used to select the fan with the highest power consumption weight from all currently activated fans as the target fan.

[0046] The target fan speed reduction module is used to gradually reduce the target fan speed and monitor the server temperature and total fan power consumption during the fan speed adjustment process.

[0047] The speed optimization module is used to restore the target fan speed to the optimal speed before it was adjusted to the current speed if the server temperature reaches the temperature threshold or the total power consumption of the fan increases.

[0048] The target switching module is used to reselect a target fan if the target fan speed drops to the minimum.

[0049] In one optional implementation, the weight acquisition module includes:

[0050] The standard acquisition unit is used to acquire the total power consumption and temperature of all fans in the server at full speed as standard power consumption and standard temperature.

[0051] The target setting unit is used to randomly select a target fan and switch the target fan to standby mode;

[0052] The data acquisition unit is used to obtain the server's steady-state total fan power consumption and steady-state temperature from the BMC after the target fan is in standby mode.

[0053] The first calculation unit is used to calculate the power difference between the total power consumption of the steady-state fan and the standard power consumption;

[0054] The second calculation unit is used to calculate the temperature difference between the steady-state temperature and the standard temperature.

[0055] The third calculation unit is used to calculate the ratio of the power consumption difference to the temperature difference, and use the ratio as the power consumption weight of the target fan;

[0056] The fan traversal unit is used to traverse all fans and obtain the power consumption weight of each fan.

[0057] In one optional implementation, the target deceleration module includes:

[0058] Amplitude setting unit, used to preset the amplitude of a single deceleration;

[0059] The execution judgment unit is used to determine whether to continue reducing the speed of the target fan;

[0060] The speed calculation unit is used to obtain the current speed of the target fan if the speed reduction of the target fan continues, and set the difference between the current speed and the amplitude as the target speed of the target fan.

[0061] The data monitoring unit is used to obtain the server's steady-state temperature and total steady-state fan power consumption before and after the target fan speed is adjusted.

[0062] In one optional implementation, the speed optimization module includes:

[0063] The first determination unit is used to determine that if the steady-state temperature of the server after the target fan speed adjustment reaches the temperature threshold, the fan speed reduction will no longer be implemented.

[0064] The second determination unit is used to determine that the total power consumption of the fan has increased if the difference between the steady-state total power consumption of the fan before and after the target fan speed adjustment is negative, and to stop the speed reduction of the target fan.

[0065] The speed recovery unit is used to restore the target fan speed to the optimal speed before it was adjusted to the current speed after determining that the speed reduction of the target fan should no longer be performed.

[0066] In one optional implementation, the speed recovery unit includes:

[0067] The speed setting subunit is used to obtain the current speed of the target fan and set the sum of the current speed and the amplitude as the optimal speed of the target fan;

[0068] The speed regulation subunit is used to send the optimal speed to the controller of the target fan so that the target fan adjusts its actual speed to the optimal speed.

[0069] In an optional implementation, the system also performs:

[0070] Save the current start / stop status and speed of all fans as the default scheme, and save the default scheme to BMC;

[0071] Configure the BMC to adjust the corresponding fan to the state and speed recorded in the default scheme after the server starts;

[0072] Monitor server temperature and activate fans that are in standby mode when the server temperature reaches a certain threshold.

[0073] In an optional implementation, the system also performs:

[0074] Create a monitoring list, and save the fan speed change time and speed in the monitoring list;

[0075] The duration of the fan at each speed level is obtained by calculating the time difference between adjacent speed change times and the time difference between the current time and the previous speed change time.

[0076] Set the fan speed as the workload weight, calculate the weighted sum of the fan speed and the corresponding duration, and obtain the fan's working time;

[0077] The fan with the longest working time that reaches a preset time threshold is marked as a fatigued fan;

[0078] According to the preset single speed reduction range, gradually reduce the speed of the fatigue fan until the speed of the fatigue fan drops to 0.

[0079] During the process of reducing the speed of the fatigue fan, the ambient temperature is monitored. If the ambient temperature reaches the set temperature threshold, a target fan is selected from the fans in standby mode to replace the fan.

[0080] Set the target replacement fan to full speed and re-collect the ambient temperature. If the ambient temperature still reaches the set temperature threshold, start another standby fan until the ambient temperature drops below the temperature threshold.

[0081] Thirdly, a terminal is provided, including:

[0082] Processor, memory, among which,

[0083] This memory is used to store computer programs.

[0084] The processor is used to retrieve and run the computer program from memory, causing the terminal to perform the terminal method described above.

[0085] Fourthly, a computer storage medium is provided, wherein instructions are stored therein, which, when executed on a computer, cause the computer to perform the methods described in the above aspects.

[0086] The beneficial effects of this invention are that the server fan control method, system, terminal, and storage medium provided by this invention reduce or shut down fans according to their power consumption weight from high to low, and monitor the power consumption and temperature fluctuations caused by fan speed adjustment, thereby obtaining the optimal number of fans to be activated and the optimal fan speed. This invention can minimize the power consumption of server fans while ensuring that the server temperature does not exceed a set threshold.

[0087] This invention involves shutting down target fans individually and then comparing the ratio of the server power consumption difference to the temperature difference before and after shutdown. This ratio is used as the power consumption weight of the target fan to characterize the fan's contribution to server power consumption and heat dissipation. The larger the power consumption weight, the smaller the contribution of the fan to the server.

[0088] This invention reduces fan speed and shuts down sequentially according to power consumption weight from largest to smallest, and uses server temperature and power consumption fluctuations as monitoring indicators to gradually adjust fan power consumption, thereby quickly identifying the optimal fan control scheme.

[0089] Furthermore, the design principle of this invention is reliable, the structure is simple, and it has a very wide range of application prospects. Attached Figure Description

[0090] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0091] Figure 1 This is a schematic flowchart of a method according to an embodiment of the present invention.

[0092] Figure 2 This is another illustrative flowchart of a method according to an embodiment of the present invention.

[0093] Figure 3 This is a schematic block diagram of a system according to an embodiment of the present invention.

[0094] Figure 4 This is a schematic diagram of the structure of a terminal provided in an embodiment of the present invention. Detailed Implementation

[0095] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this invention.

[0096] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

[0097] The key terms used in this invention will be explained below.

[0098] BMC, short for Baseboard Management Controller, is a remote server management controller. It allows for operations such as firmware upgrades and device monitoring even when the machine is not powered on. Fully implementing IPMI functionality in a BMC requires a powerful 16-bit or 32-bit microcontroller, RAM for data storage, flash memory for non-volatile data storage, and firmware. It provides basic remote manageability for secure remote reboots, secure power-on, LAN alerts, and system health monitoring. In addition to basic IPMI and system monitoring functions, the mBMC can also enable fast BIOS component selection and protection by utilizing one of the two flash memories to store the previous BIOS. For example, if the system fails to boot after a remote BIOS upgrade, remote administrators can switch back to the previous BIOS image to boot the system. Once the BIOS is upgraded, the BIOS image can also be locked to effectively prevent virus attacks.

[0099] The server fan control method provided in this embodiment of the invention is executed by a computer device, and correspondingly, the server fan control system runs in the computer device.

[0100] Figure 1 This is a schematic flowchart illustrating a method according to an embodiment of the present invention. Wherein, Figure 1 The executing entity can be a server fan control system. Depending on different requirements, the order of the steps in this flowchart can be changed, and some can be omitted.

[0101] like Figure 1 As shown, the method includes:

[0102] Step 110: Obtain the power consumption weight of the fan;

[0103] Step 120: Select the fan with the highest power consumption weight from all currently running fans as the target fan;

[0104] Step 130: Gradually reduce the target fan speed and monitor the server temperature and total fan power consumption during the fan speed adjustment process;

[0105] Step 140: If the server temperature reaches the temperature threshold or the total power consumption of the fan increases, the target fan speed is restored to the optimal speed before it was adjusted to the current speed.

[0106] Step 150: If the target fan speed drops to the minimum, then select a new target fan.

[0107] Specifically, the server fan control method of the present invention mainly includes the following:

[0108] 1. Obtain the number of server fans, their speed, initial power consumption W0, and the current server temperature. 2. Decrease the speed of any individual fan by ΔR and record the temperature change ΔT. Sort each fan by ΔR / ΔT from largest to smallest, select the fan with the largest ratio, and adjust its speed until it stops. 3. Determine if the current server temperature exceeds the threshold, calculate the power consumption of the remaining fans, and compare it with the initial power consumption. 4. If the total power consumption is less than the initial power consumption and the temperature does not exceed the threshold, continue adjusting the speed of another fan until the server temperature exceeds the threshold or the total power consumption exceeds the initial power consumption. Return to the previous state and record the previously adjusted fan speed value and the minimum number of working fans in the BMC. This will be used as the initial state value after a shutdown and restart. 5. Periodically switch between standby and active fans to reduce fan operating time and extend fan life. 6. In case of abnormal conditions, such as detected abnormal server component temperature, even standby fans will start to cool down the abnormal situation.

[0109] To facilitate understanding of the present invention, the server fan control method provided by the present invention will be further described below based on the principle of the server fan control method of the present invention and in conjunction with the process of controlling the server fan in the embodiments.

[0110] For details, please refer to Figure 2 The server fan control method includes:

[0111] S 1. Obtain the power consumption weight of the fan.

[0112] Obtain the total power consumption and temperature of all server fans at full speed as standard power consumption and standard temperature; randomly select a target fan and switch it to standby mode; after the target fan is in standby mode, obtain the server's steady-state total fan power consumption and steady-state temperature from the BMC; calculate the power consumption difference between the steady-state total fan power consumption and the standard power consumption; calculate the temperature difference between the steady-state temperature and the standard temperature; calculate the ratio of the power consumption difference to the temperature difference, and use the ratio as the power consumption weight of the target fan; iterate through all fans to obtain the power consumption weight of each fan.

[0113] Specifically, the number of server fans and the current server temperature are obtained, and the total power consumption W0 of the fans is calculated. Record the fan speed R, component temperature T, and initial total power consumption W0 for each fan (FAN1, FAN2...FANn). Using the BMC, individually reduce the speed ΔR of any fan and record the temperature change ΔT of the server. Sort each fan according to the ratio ΔR / ΔT ΔI from largest to smallest. The larger the ratio, the smaller the impact of this fan module on the overall server cooling. Table 1 shows an example of power consumption weighting.

[0114] Table 1. Power consumption weighting of the fan △I

[0115] fan FAN1 FAN2 FAN3 FANn Speed ​​difference ΔR △R △R △R △R Component temperature difference △T1 △T2 △T3 △Tn △I △R / △T1 △R / △T2 △R / △T3 △R / △Tn

[0116] S2. Gradually reduce the target fan speed and select the optimal solution.

[0117] The speed reduction range is preset; it is determined whether to continue reducing the speed of the target fan: if so, the current speed of the target fan is obtained, and the difference between the current speed and the speed reduction range is set as the target speed of the target fan; the steady-state temperature of the server and the total power consumption of the steady-state fan are obtained before and after the target fan speed adjustment.

[0118] The criteria for determining whether to continue execution include: if the server's steady-state temperature reaches the temperature threshold after the target fan speed adjustment, then it is determined that the speed reduction of the target fan will no longer be executed; if the difference between the steady-state total power consumption of the fan before and after the target fan speed adjustment is negative, then it is determined that the total power consumption of the fan has increased, and the speed reduction of the target fan will no longer be executed. After determining that the speed reduction of the target fan will no longer be executed, the target fan speed is restored to the optimal speed before it was adjusted to the current speed.

[0119] Obtain the current speed of the target fan, and set the sum of the current speed and the amplitude as the optimal speed of the target fan; send the optimal speed to the controller of the target fan so that the target fan adjusts its actual speed to the optimal speed.

[0120] For example, if all currently activated fans include FAN1, FAN2, FAN3, and FAN4, and FAN3 has the largest ΔI, then FAN3 will be selected as the target fan for this adjustment.

[0121] First, reduce the fan with the largest ΔI value, ΔIa, by 10% R / cycle, while the BMC monitors whether the component temperature rise reaches the threshold, until the fan speed drops to 0. Calculate the total power consumption W1 of the adjusted fan group at this point, and compare it with the initial power consumption. If the total power consumption W1 is less than the initial power consumption W0, the fan group operates according to the adjusted number and speed, and the number and speed of the fans are recorded in the BMC as one adjustment value. If the total power consumption W1 is greater than the initial power consumption W0, the fan group operates in the initial state. If the component temperature has not exceeded the set threshold and the total power consumption W1 is less than the initial power consumption W0, repeat the above preset fan adjustment conditions, compare the ΔR / ΔT of the remaining fan group again, and control ΔIb, which has the largest ΔI value at this point, by 10% R / cycle, while the BMC monitors the component temperature rise, until the second fan stops and goes into standby mode.

[0122] Calculate the total power consumption W2 of the fan group after the second adjustment. Compare the current total power consumption W2 with the previous total power consumption W1. If the current total power consumption W2 is less than the previous total power consumption W1, the fan group operates according to the adjusted number and speed, and the current number and speed of the fans are recorded in the BMC as the secondary control value. If the current total power consumption W2 is greater than the previous total power consumption W1, or the component temperature exceeds the set threshold, the fan group operates according to the state recorded in the BMC after the first adjustment. Continue according to the preset removal conditions until the server component temperature reaches the set threshold or the total power consumption Wn is greater than the previous total power consumption Wn-1, then end the fan adjustment, and the fan group operates according to the state recorded in the BMC after the first adjustment.

[0123] S3. When there is an abnormal situation, such as when an abnormal temperature of a server component is detected, the standby fan will also start to dissipate heat in case of abnormality.

[0124] Save the current start / stop status and speed of all fans as a default scheme, and save the default scheme to the BMC; set the BMC to adjust the corresponding fans to the status and speed recorded in the default scheme after the server starts; monitor the server temperature, and activate the fans in standby mode when the server temperature reaches the temperature threshold.

[0125] Specifically, the fan assembly operates according to the state recorded in the BMC after an adjustment. When the system detects an abnormal situation, such as abnormal temperature of server components or expansion, the standby fans also start to perform abnormal heat dissipation protection, and the operating mode is switched at intervals to replace the abnormal start protection mode.

[0126] S4. Switch the standby fan group to the working fan group every once in a while to reduce the working time of the fan and extend the service life of the fan.

[0127] A monitoring list is created to store the fan speed change time and speed. The duration of the fan at each speed level is obtained by calculating the time difference between adjacent speed change times and the time difference between the current time and the previous speed change time. The fan speed is set as the workload weight, and the weighted sum of the fan speed and corresponding duration is calculated to obtain the fan's working time. The fan with the longest working time reaching a preset time threshold is marked as a fatigued fan. The speed of the fatigued fan is gradually reduced according to a preset single-speed reduction range until the fatigued fan speed drops to 0. During the reduction of the fatigued fan speed, the ambient temperature is monitored. If the ambient temperature reaches a set temperature threshold, a target replacement fan is selected from the fans in standby mode. The speed of the target replacement fan is set to full speed, and the ambient temperature is collected again. If the ambient temperature still reaches the set temperature threshold, a standby fan is restarted until the ambient temperature drops below the temperature threshold.

[0128] Specifically, in order to extend the lifespan of each fan group and reduce the working time per unit time, the standby fan groups and the working fan groups are switched in turn every 24 hours. That is, the standby fan groups are switched to working mode, and the working fan groups are switched to standby mode. This is done in turn to reduce the working time of the fans and extend their lifespan.

[0129] The monitoring list stores the fan speed change time and speed. For example, for fan A, the timelines are: 100% - 8 hours, 90% - 12 hours, 60% - 20 hours, 100% - 24 hours. If the current time is 8 hours, the calculated speed and duration for fan A are: 100% - 4 hours, 90% - 8 hours, 60% - 4 hours, 100% - 8 hours. The calculated working time is 100% × 4 hours + 90% × 8 hours + 60% × 4 hours + 100% × 8 hours. This method better reflects the fan's fatigue level, allowing for the priority replacement of severely fatigued fans.

[0130] In some embodiments, the server fan control system 300 may include multiple functional modules composed of computer program segments. The computer programs for each program segment in the server fan control system 300 may be stored in the memory of a computer device and executed by at least one processor to perform (see details). Figure 1 (Description) The function of server fan control.

[0131] In this embodiment, the server fan control system 300 can be divided into multiple functional modules according to the functions it performs, such as... Figure 3As shown. The functional modules may include: a weight acquisition module 310, a target selection module 320, a target deceleration module 330, a speed optimization module 340, and a target switching module 350. The module referred to in this invention is a series of computer program segments that can be executed by at least one processor and perform a fixed function, and are stored in memory. In this embodiment, the functions of each module will be described in detail in subsequent embodiments.

[0132] The weight acquisition module 310 is used to acquire the power consumption weight of the fan;

[0133] The target selection module 320 is used to select the fan with the highest power consumption weight from all currently started fans as the target fan;

[0134] The target speed reduction module 330 is used to gradually reduce the target fan speed and monitor the server temperature and total fan power consumption during the fan speed adjustment process.

[0135] The speed optimization module 340 is used to restore the target fan speed to the optimal speed before it was adjusted to the current speed if the server temperature reaches the temperature threshold or the total power consumption of the fan increases.

[0136] The target switching module 350 is used to reselect the target fan if the target fan speed drops to the minimum.

[0137] Optionally, as an embodiment of the present invention, the weight acquisition module includes:

[0138] The standard acquisition unit is used to acquire the total power consumption and temperature of all fans in the server at full speed as standard power consumption and standard temperature.

[0139] The target setting unit is used to randomly select a target fan and switch the target fan to standby mode;

[0140] The data acquisition unit is used to obtain the server's steady-state total fan power consumption and steady-state temperature from the BMC after the target fan is in standby mode.

[0141] The first calculation unit is used to calculate the power difference between the total power consumption of the steady-state fan and the standard power consumption;

[0142] The second calculation unit is used to calculate the temperature difference between the steady-state temperature and the standard temperature.

[0143] The third calculation unit is used to calculate the ratio of the power consumption difference to the temperature difference, and use the ratio as the power consumption weight of the target fan;

[0144] The fan traversal unit is used to traverse all fans and obtain the power consumption weight of each fan.

[0145] Optionally, as an embodiment of the present invention, the target deceleration module includes:

[0146] Amplitude setting unit, used to preset the amplitude of a single deceleration;

[0147] The execution judgment unit is used to determine whether to continue reducing the speed of the target fan;

[0148] The speed calculation unit is used to obtain the current speed of the target fan if the speed reduction of the target fan continues, and set the difference between the current speed and the amplitude as the target speed of the target fan.

[0149] The data monitoring unit is used to obtain the server's steady-state temperature and total steady-state fan power consumption before and after the target fan speed is adjusted.

[0150] Optionally, as an embodiment of the present invention, the speed optimization module includes:

[0151] The first determination unit is used to determine that if the steady-state temperature of the server after the target fan speed adjustment reaches the temperature threshold, the fan speed reduction will no longer be implemented.

[0152] The second determination unit is used to determine that the total power consumption of the fan has increased if the difference between the steady-state total power consumption of the fan before and after the target fan speed adjustment is negative, and to stop the speed reduction of the target fan.

[0153] The speed recovery unit is used to restore the target fan speed to the optimal speed before it was adjusted to the current speed after determining that the speed reduction of the target fan should no longer be performed.

[0154] Optionally, as an embodiment of the present invention, the speed recovery unit includes:

[0155] The speed setting subunit is used to obtain the current speed of the target fan and set the sum of the current speed and the amplitude as the optimal speed of the target fan;

[0156] The speed regulation subunit is used to send the optimal speed to the controller of the target fan so that the target fan adjusts its actual speed to the optimal speed.

[0157] Optionally, as an embodiment of the present invention, the system further performs:

[0158] Save the current start / stop status and speed of all fans as the default scheme, and save the default scheme to BMC;

[0159] Configure the BMC to adjust the corresponding fan to the state and speed recorded in the default scheme after the server starts;

[0160] Monitor server temperature and activate fans that are in standby mode when the server temperature reaches a certain threshold.

[0161] Optionally, as an embodiment of the present invention, the system further performs:

[0162] Create a monitoring list, and save the fan speed change time and speed in the monitoring list;

[0163] The duration of the fan at each speed level is obtained by calculating the time difference between adjacent speed change times and the time difference between the current time and the previous speed change time.

[0164] Set the fan speed as the workload weight, calculate the weighted sum of the fan speed and the corresponding duration, and obtain the fan's working time;

[0165] The fan with the longest working time that reaches a preset time threshold is marked as a fatigued fan;

[0166] According to the preset single speed reduction range, gradually reduce the speed of the fatigue fan until the speed of the fatigue fan drops to 0.

[0167] During the process of reducing the speed of the fatigue fan, the ambient temperature is monitored. If the ambient temperature reaches the set temperature threshold, a target fan is selected from the fans in standby mode to replace the fan.

[0168] Set the target replacement fan to full speed and re-collect the ambient temperature. If the ambient temperature still reaches the set temperature threshold, start another standby fan until the ambient temperature drops below the temperature threshold.

[0169] Figure 4 This is a schematic diagram of the structure of a terminal 400 provided in an embodiment of the present invention. The terminal 400 can be used to execute the server fan control method provided in the embodiment of the present invention.

[0170] The terminal 400 may include a processor 410, a memory 420, and a communication module 430. These components communicate via one or more buses. Those skilled in the art will understand that the server structure shown in the figure does not constitute a limitation of the present invention. It may be a bus topology or a star topology, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0171] The memory 420 can be used to store the execution instructions of the processor 410. The memory 420 can be implemented by any type of volatile or non-volatile memory terminal or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk. When the execution instructions in the memory 420 are executed by the processor 410, the terminal 400 is able to perform some or all of the steps in the above method embodiments.

[0172] The processor 410 serves as the control center of the storage terminal, connecting various parts of the electronic terminal via various interfaces and lines. It executes software programs and / or modules stored in the memory 420, and calls data stored in the memory to perform various functions of the electronic terminal and / or process data. The processor can be composed of integrated circuits (ICs), such as a single packaged IC or multiple packaged ICs with the same or different functions connected together. For example, the processor 410 may consist only of a central processing unit (CPU). In this embodiment of the invention, the CPU may have a single processing core or include multiple processing cores.

[0173] The communication module 430 is used to establish a communication channel, enabling the storage terminal to communicate with other terminals. It receives user data sent by other terminals or sends user data to other terminals.

[0174] The present invention also provides a computer storage medium, wherein the computer storage medium may store a program, which, when executed, may include some or all of the steps provided in the embodiments of the present invention. The storage medium may be a magnetic disk, an optical disk, read-only memory (ROM), or random access memory (RAM), etc.

[0175] Therefore, this invention reduces or shuts down fans according to their power consumption weight from high to low, and monitors the power consumption and temperature fluctuations caused by fan speed adjustments to obtain the optimal number of fans to be activated and their speeds. This invention can minimize server fan power consumption while ensuring the server temperature does not exceed a set threshold. The technical effects achieved by this embodiment can be found in the description above, and will not be repeated here.

[0176] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software and necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, or any other medium capable of storing program code. It includes several instructions to cause a computer terminal (which may be a personal computer, a server, or a second terminal, a network terminal, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

[0177] The same or similar parts between the various embodiments in this specification can be referred to mutually. In particular, the terminal embodiments are basically similar to the method embodiments, so the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.

[0178] In the embodiments provided by this invention, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or modules may be electrical, mechanical, or other forms.

[0179] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0180] In addition, the functional modules in the various embodiments of the present invention can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.

[0181] Although the present invention has been described in detail with reference to the accompanying drawings and preferred embodiments, the invention is not limited thereto. Various equivalent modifications or substitutions can be made to the embodiments of the invention by those skilled in the art without departing from the spirit and essence of the invention, and such modifications or substitutions should all be within the scope of the invention. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the invention should also be covered within the protection scope of the invention. Therefore, the protection scope of the invention should be determined by the scope of the claims.

Claims

1. A server fan control method, characterized in that, include: Obtain the power consumption weight of the fan; Select the fan with the highest power consumption weight from all currently activated fans as the target fan; Gradually reduce the target fan speed and monitor server temperature and total fan power consumption during the fan speed adjustment process; If the server temperature reaches the temperature threshold or the total power consumption of the fan increases, the target fan speed will be restored to the optimal speed before it was adjusted to the current speed. If the target fan speed drops to the minimum, then select a new target fan; The process of obtaining the fan's power consumption weight includes: Configure the initial test environment, set all fans to full speed, and run stress test cases on the server to make the computing resource utilization reach the set threshold. Collect the ambient temperature under the initial test environment, and save the total power consumption of the fan and the ambient temperature as standard power consumption and standard temperature; Randomly select a target fan, switch the target fan to standby mode, and time the duration of the target fan's standby mode. After the set timeout period is reached, obtain the server's steady-state total fan power consumption and steady-state temperature from the BMC; Calculate the power consumption difference between the steady-state total fan power consumption and the standard power consumption, and the temperature difference between the steady-state temperature and the standard temperature; Calculate the ratio of the power consumption difference to the temperature difference, and use the ratio as the power consumption weight of the target fan; Switch the target fan until all fans are traversed to obtain the power consumption weight of each fan.

2. The method according to claim 1, characterized in that, Gradually reduce the target fan speed, and monitor server temperature and total fan power consumption during the fan speed adjustment process, including: Pre-set the magnitude of a single speed reduction; Determine whether to continue slowing down the target fan: If so, obtain the current speed of the target fan and set the difference between the current speed and the amplitude as the target speed of the target fan; Obtain the server's steady-state temperature and total steady-state fan power consumption before and after the target fan speed is adjusted.

3. The method according to claim 2, characterized in that, If the server temperature reaches the temperature threshold or the total power consumption of the fan increases, the target fan speed will be restored to the optimal speed before it was adjusted to the current speed, including: If the steady-state temperature of the server after the target fan speed adjustment reaches the temperature threshold, it is determined that the speed reduction of the target fan will no longer be implemented. If the difference between the steady-state total power consumption of the target fan before and after the speed adjustment is negative, it is determined that the total power consumption of the fan has increased, and the speed reduction of the target fan will no longer be implemented. After determining that the speed reduction of the target fan should no longer be performed, the target fan speed is restored to the optimal speed before it was adjusted to the current speed.

4. The method according to claim 3, characterized in that, Restore the target fan speed to its optimal speed before it was adjusted to the current speed, including: Obtain the current speed of the target fan, and set the sum of the current speed and the amplitude as the optimal speed of the target fan; The optimal speed is sent to the controller of the target fan so that the target fan adjusts its actual speed to the optimal speed.

5. The method according to claim 1, characterized in that, After restoring the target fan speed to its optimal speed before being adjusted to the current speed, the method further includes: Save the current start / stop status and speed of all fans as the default scheme, and save the default scheme to BMC; Configure the BMC to adjust the corresponding fan to the state and speed recorded in the default scheme after the server starts; Monitor server temperature and activate fans that are in standby mode when the server temperature reaches a certain threshold.

6. The method according to claim 5, characterized in that, The method further includes: Create a monitoring list, and save the fan speed change time and speed in the monitoring list; The duration of the fan at each speed level is obtained by calculating the time difference between adjacent speed change times and the time difference between the current time and the previous speed change time. Set the fan speed as the workload weight, calculate the weighted sum of the fan speed and the corresponding duration, and obtain the fan's working time; The fan with the longest working time that reaches a preset time threshold is marked as a fatigued fan; According to the preset single speed reduction range, gradually reduce the speed of the fatigue fan until the speed of the fatigue fan drops to 0. During the process of reducing the speed of the fatigue fan, the ambient temperature is monitored. If the ambient temperature reaches the set temperature threshold, a target fan is selected from the fans in standby mode to replace the fan. Set the target replacement fan to full speed and re-collect the ambient temperature. If the ambient temperature still reaches the set temperature threshold, start another standby fan until the ambient temperature drops below the temperature threshold.

7. A server fan control system, characterized in that, include: The weight acquisition module is used to obtain the power consumption weight of the fan; The target selection module is used to select the fan with the highest power consumption weight from all currently activated fans as the target fan. The target fan speed reduction module is used to gradually reduce the target fan speed and monitor the server temperature and total fan power consumption during the fan speed adjustment process. The speed optimization module is used to restore the target fan speed to the optimal speed before it was adjusted to the current speed if the server temperature reaches the temperature threshold or the total power consumption of the fan increases. The target switching module is used to reselect the target fan if the target fan speed drops to the minimum. The process of obtaining the power consumption weight of the fan includes: Configure the initial test environment, set all fans to full speed, and run stress test cases on the server to make the computing resource utilization reach the set threshold. Collect the ambient temperature under the initial test environment, and save the total power consumption of the fan and the ambient temperature as standard power consumption and standard temperature; Randomly select a target fan, switch the target fan to standby mode, and time the duration of the target fan's standby mode. After the set timeout period is reached, obtain the server's steady-state total fan power consumption and steady-state temperature from the BMC; Calculate the power consumption difference between the steady-state total fan power consumption and the standard power consumption, and the temperature difference between the steady-state temperature and the standard temperature; Calculate the ratio of the power consumption difference to the temperature difference, and use the ratio as the power consumption weight of the target fan; Switch the target fan until all fans are traversed to obtain the power consumption weight of each fan.

8. A terminal, characterized in that, include: Memory, used to store the server fan control program; A processor, configured to implement the steps of the server fan control method as described in any one of claims 1-6 when executing the server fan control program.

9. A computer-readable storage medium storing a computer program, characterized in that, The readable storage medium stores a server fan control program, which, when executed by a processor, implements the steps of the server fan control method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Method and device for realizing system power consumption control by adjusting fan rotating speed

    CN106224271A

  • Multi-blower blast-type cooling tower

    CN201314794Y

  • Device equipped with electronic apparatus, cooling program for device equipped with electronic apparatus, and cooling method for device equipped with electronic apparatus

    JP2012198736A

  • Heat dissipating device and method thereof

    US20120131363A1