Cooling fan control system and method, server, electronic equipment and medium

By calculating the difference between the actual speed and the target speed of the cooling fan and performing speed compensation control, the high cost and resource waste caused by directly replacing the fan are solved, the fan service life is extended and maintenance costs are reduced.

CN120669831APending Publication Date: 2025-09-19INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510898267.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

In the prior art, the cooling fan is directly replaced when a speed deviation alarm occurs, resulting in high maintenance costs and waste of resources.

Method used

The processor calculates the difference between the actual speed of the cooling fan and the target speed. If the difference exceeds the threshold, speed compensation control is performed instead of immediately replacing the fan. Independent control signals and PWM signals are used to adjust the fan speed to reach the target speed.

Benefits of technology

It extends the service life of the cooling fan, reduces maintenance costs, meets the cooling needs of the server, and improves the efficiency of the fan.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120669831A_ABST
    Figure CN120669831A_ABST
Patent Text Reader

Abstract

The invention discloses a cooling fan control system and method, a server, electronic equipment and a medium, and relates to the technical field of computers, and the system comprises the steps that a processor controls different cooling fans through different control signals, calculates the rotating speed difference between the actual rotating speed and the target rotating speed, and controls the cooling fans to work when the rotating speed difference exceeds a certain limit; compared with the prior art, an alarm signal is not directly generated to remind a user to replace the cooling fan, rotating speed compensation is carried out on the cooling fan, the performance of the cooling fan is fully played, the replacement time of the cooling fan is delayed, and therefore the service time of the cooling fan is prolonged while the cooling requirement of a server is met through the rotating speed compensation mode, and the service life of the server is prolonged. And the maintenance cost of the cooling fan is reduced. Therefore, the problems of high cost and resource waste due to direct replacement of the cooling fan when the rotating speed deviation warning condition occurs in the prior art are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a cooling fan control system, method, server, electronic device, and medium. Background Art

[0002] With the rapid development of information technology, storage systems and server equipment are becoming increasingly complex, leading to a corresponding increase in overall energy consumption. This equipment generates significant heat during operation. To ensure stable operation and prevent performance degradation or hardware damage caused by high temperatures, cooling fans are typically used during operation to dissipate heat.

[0003] To precisely control the cooling fan speed to meet cooling requirements under varying load conditions, related technologies typically adjust the duty cycle of the pulse signal to alter the average value of the fan's supply voltage, thereby dynamically adjusting the fan speed. Specifically, a larger duty cycle increases the fan speed and improves cooling capacity; conversely, a smaller duty cycle reduces the fan speed to save energy and reduce noise.

[0004] However, the cooling fan is a mechanical component that wears out over time. Typically, cooling fans in a network rarely run at full speed, spending over 90% of their time at 50% to 70% speed. In practice, regular fan speed monitoring is required. If a speed deviation alarm appears, the customer is prompted to replace the fan. However, at this point, the fan speed is still low and sufficient to dissipate heat for the entire system. This results in unnecessary fan replacements, increasing maintenance costs and wasting resources. Summary of the Invention

[0005] The present application provides a cooling fan control system, method, server, electronic device and medium to at least solve the problems of high cost and waste of resources in the related art of directly replacing the cooling fan when a speed deviation alarm occurs.

[0006] The present application provides a cooling fan control system, comprising: at least one cooling fan; a processor of a server, wherein the processor is connected to the at least one cooling fan, and the processor controls different cooling fans through different control signals. When the processor controls any cooling fan, the processor is configured to execute the following steps: controlling the cooling fan to perform a speed regulation action according to a target speed of the cooling fan; after the cooling fan completes the speed regulation action, obtaining an actual speed of the cooling fan, and calculating a first speed difference between the actual speed and the target speed; when the first speed difference is greater than or equal to a first alarm threshold, performing speed compensation control on the cooling fan according to the first speed difference, the speed compensation comprising: obtaining an actual control value corresponding to the control signal of the cooling fan; calculating a target control value corresponding to the control signal of the cooling fan according to the target speed; calculating a control difference between the actual control value and the target control value, and performing speed compensation on the cooling fan according to the control difference.

[0007] The present application also provides a server, including: the heat dissipation fan control system of the above embodiment.

[0008] The present application also provides a cooling fan control method, which is applied to the processor of the cooling fan control system of the above embodiment, and includes the following steps: controlling the cooling fan to perform a speed regulation action according to the target speed of the cooling fan; after the cooling fan completes the speed regulation action, obtaining the actual speed of the cooling fan, and calculating a first speed difference between the actual speed and the target speed; after the first speed difference is greater than or equal to a first alarm threshold, performing speed regulation compensation on the cooling fan according to the first speed difference, the speed regulation compensation including: obtaining an actual control value corresponding to the control signal of the cooling fan; calculating a target control value corresponding to the control signal of the cooling fan according to the target speed; calculating a control difference between the actual control value and the target control value, and performing speed regulation compensation on the cooling fan according to the control difference.

[0009] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned cooling fan control methods when executing the computer program.

[0010] The present application also provides a non-volatile computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned cooling fan control methods are implemented.

[0011] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned cooling fan control methods when executed by a processor.

[0012] Through this application, each cooling fan is controlled by an independent control signal. The processor calculates the speed difference between the actual speed and the target speed. When the speed difference exceeds a certain limit, instead of directly generating an alarm signal to remind the user to replace the cooling fan, the cooling fan speed is compensated, fully utilizing the cooling fan's performance and delaying the time to replace the cooling fan. This speed compensation method not only meets the server's cooling needs, but also extends the cooling fan's service life and reduces the maintenance cost of the cooling fan. This solves the problem of the related art of directly replacing the cooling fan when the speed deviation alarm occurs, which is costly and wastes resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0014] Figure 1 A block diagram of a cooling fan control system provided in an embodiment of the present application; Figure 2 A schematic diagram of a hardware control circuit of a cooling fan control system provided in one embodiment of the present application; Figure 3 A flow chart of a cooling fan control method provided in one embodiment of the present application; Figure 4 A cooling fan control flow chart provided for one embodiment of the present application; Figure 5 A cooling fan control flow chart provided for another embodiment of the present application; Figure 6 This is a schematic block diagram of a cooling fan control method according to an embodiment of the present application; Figure 7 A block diagram of a cooling fan control device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0015] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0016] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0017] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0018] Figure 1 Schematic diagram of a cooling fan control system according to an embodiment of the present invention.

[0019] like Figure 1 As shown, the cooling fan control system 10 includes: at least one cooling fan 101 and a server processor 102.

[0020] Among them, the processor 102 is connected to at least one cooling fan 101, and the processor 102 controls different cooling fans through different control signals. When the processor 102 controls any cooling fan 101, it is configured to perform the following steps: controlling the cooling fan 101 to perform a speed regulation action according to the target speed of the cooling fan 101; after the cooling fan 101 completes the speed regulation action, obtaining the actual speed of the cooling fan 101, and calculating the first speed difference between the actual speed and the target speed; when the first speed difference is greater than or equal to the first alarm threshold, performing speed compensation control on the cooling fan 101 according to the first speed difference, the speed compensation includes: obtaining the actual control value corresponding to the control signal of the cooling fan; calculating the target control value corresponding to the control signal of the cooling fan according to the target speed; calculating the control difference between the actual control value and the target control value, and performing speed compensation on the cooling fan according to the control difference.

[0021] It is understandable that the cooling fan 101 in the embodiment of the present application is responsible for the actual heat dissipation work, such as Figure 2 As shown, the server processor 102 is connected to each cooling fan 101 for sending different control signals to adjust the speed of the cooling fan 101, wherein each cooling fan 101 is controlled by an independent PWM signal and each cooling fan has an independent speed detection signal.

[0022] During actual implementation, the embodiment of the present application can set the target speed of the cooling fan 101 according to the heat dissipation requirements. The processor 102 is connected to the cooling fan 101 and sends a corresponding control signal (PWM signal) to the cooling fan to adjust it to the target speed. After the cooling fan 101 completes the speed adjustment action, the processor 102 will obtain the actual speed of the cooling fan 101. The difference between the actual speed and the target speed (i.e., the first speed difference) is calculated. If the calculated first speed difference is greater than or equal to the preset first alarm threshold, it indicates that the current heat dissipation effect has not met expectations. At this time, the processor 102 will further perform speed adjustment compensation control on the cooling fan 101 based on the first speed difference to ensure that the heat dissipation requirements are met. Among them, the first alarm threshold can be a fixed value (such as ±300 RPM) or a proportional threshold (such as z%), which represents the maximum deviation ratio between the target speed and the actual speed allowed.

[0023] For example: if the target speed is 5000 RPM and z% is set to 6%, the maximum allowable deviation is 300 RPM; when the actual speed is lower than 4700 RPM or higher than 5300 RPM, the speed compensation process is triggered. It should be noted that in the embodiment of the present application, the threshold value can be flexibly configured according to different hardware platforms, fan types, system load conditions and other factors, and supports users or system administrators to customize settings according to different application scenarios without specific limitations. When the first speed difference calculated in the above embodiment is greater than or equal to the preset first alarm threshold, it indicates that the actual operating status of the current cooling fan has failed to achieve the expected target and may affect the normal heat dissipation performance. At this time, the speed compensation stage will be entered. By dynamically adjusting the fan control parameters, the speed deviation will be eliminated as much as possible to restore the fan to the target speed range as soon as possible.

[0024] According to the cooling fan control system provided by the embodiments of the present application, each cooling fan is controlled by an independent control signal. The processor calculates the speed difference between the actual speed and the target speed. When the speed difference exceeds a certain limit, instead of directly generating an alarm signal to remind the user to replace the cooling fan, the cooling fan speed is compensated. This fully utilizes the cooling fan's performance and delays the time to replace the cooling fan. Through speed compensation, the cooling fan's service life is extended while meeting the server's cooling requirements, reducing the cooling fan's maintenance cost. This solves the problem of the related art of directly replacing the cooling fan when a speed deviation alarm occurs, which is costly and wastes resources.

[0025] An embodiment of the present application further provides a server, comprising the heat dissipation fan control system 10 of the above embodiment.

[0026] In addition, an embodiment of the present application further provides a cooling fan control method, which is applied to the processor of the cooling fan control system of the above embodiment, such as Figure 3 As shown, the following steps are included: In step S101 , the cooling fan is controlled to perform a speed adjustment action according to a target speed of the cooling fan.

[0027] It is understood that embodiments of the present application can obtain the actual temperature of the temperature device corresponding to the cooling fan and determine the target speed based on the actual temperature of the temperature device. The temperature device includes, for example, a CPU (Central Processing Unit), a DIMM (Dual In-line Memory Module), a VR (Voltage Regulator), and an interface card chip. Embodiments of the present application can read the actual temperature of the temperature device using multiple temperature sensors and determine the target speed based on the actual temperature of the temperature device. The cooling fan is adjusted to the target speed by sending a corresponding control signal (PWM signal).

[0028] Specifically, the embodiment of the present application can be deployed in multiple temperature sensors inside a server or electronic device to collect temperature data related to key temperature devices corresponding to the cooling fan in real time. Each temperature device corresponds to one or more temperature sensors, which are used to continuously monitor its operating temperature and upload the collected temperature values ​​to a processor (such as a BMC (Baseboard Management Controller)) or other processor with cooling fan control function. Secondly, the embodiment of the present application can calculate the target speed that the cooling fan should reach based on a preset temperature-speed mapping table and the actual temperature values ​​of each temperature device at present. After determining the target speed, the embodiment of the present application can send control instructions to the cooling fan via a PWM (Pulse Width Modulation) signal, thereby achieving refined control of the cooling fan speed, which can not only meet the heat dissipation requirements but also avoid unnecessary high-speed operation.

[0029] In step S102 , after the cooling fan completes the speed adjustment action, the actual speed of the cooling fan is obtained, and a first speed difference between the actual speed and the target speed is calculated.

[0030] It is understood that after the cooling fan completes speed regulation and reaches a stable state, the actual speed of the cooling fan is obtained, the actual measured cooling fan speed is compared with the previously set target speed, and the difference between the two (i.e., the first speed difference) is calculated to effectively evaluate whether the cooling fan is operating as expected or whether there is a performance degradation issue. If the calculated first speed difference is greater than or equal to the first alarm threshold, it indicates that the current cooling effect is not meeting expectations and further measures are required. At this point, the next step will be to consider speed compensation of the cooling fan to eliminate the speed difference and ensure that the cooling requirements are met.

[0031] In one embodiment of the present application, before calculating the first speed difference between the actual speed and the target speed, it includes: obtaining a fourth configuration file of the cooling fan; extracting fifth correspondence data between the temperature that triggers the maximum speed of the cooling fan and the temperature device in the fourth configuration file; generating a fourth list of temperature, temperature device and maximum speed based on the fifth correspondence data; searching the fourth list to determine whether the maximum speed of the cooling fan is triggered, and if the maximum speed of the cooling fan is not triggered, calculating the first speed difference between the actual speed and the target speed.

[0032] It is understandable that the embodiment of the present application can obtain the fourth configuration file of the cooling fan from the storage medium or server. This configuration file contains all the necessary information about the cooling fan control, including but not limited to the data of the temperature sensor, the corresponding temperature threshold value and the maximum speed triggering condition. The embodiment of the present application can extract the specific temperature threshold required to trigger the cooling fan to reach its maximum speed and the information of the associated temperature device from the fourth configuration file. For example, this may include triggering full speed operation when the CPU temperature value exceeds 100°C, or taking similar measures when the DIMM temperature value reaches a preset value. Based on the extracted fifth corresponding relationship data, the embodiment of the present application can create a fourth list containing temperature, temperature monitoring devices and the conditions for triggering the maximum speed of the cooling fan. This list can be used as a quick reference tool to help quickly determine whether the cooling fan speed needs to be increased to the maximum speed under the current conditions. Among them, the fourth list is shown in Table 1.

[0033]

[0034] Furthermore, embodiments of the present application can monitor the temperature of various key locations in real time and compare these temperature values ​​with the data in the fourth list. If the temperature of any temperature device reaches the threshold specified in the list, the maximum speed of the cooling fan is triggered; otherwise, the current cooling fan speed strategy is maintained to ensure that cooling capacity can be quickly increased when necessary to prevent hardware damage or other problems caused by overheating. If the maximum speed of the cooling fan is not triggered, the first speed difference between the actual speed and the target speed is calculated. After the above check confirms that the maximum speed does not need to be triggered, the next stage is to calculate the first speed difference between the actual speed and the target speed. The first speed difference is used to assess whether the current operating efficiency of the cooling fan meets expectations and determine whether further speed compensation is needed to optimize the cooling effect. Therefore, by introducing the fourth configuration file and the fifth correspondence list, it is determined whether the fan should be forced to operate at the maximum speed before calculating the speed difference, thereby avoiding erroneous speed compensation operations in high temperature emergencies. This achieves not only rapid response in extreme situations, but also maintains efficient and accurate temperature management in daily operation, thereby extending the equipment life of the cooling fan and improving overall performance.

[0035] In step S103, after the first speed difference is greater than or equal to the first alarm threshold, the cooling fan is speed-compensated according to the first speed difference, and the speed compensation includes: obtaining an actual control value corresponding to the control signal of the cooling fan; calculating a target control value corresponding to the control signal of the cooling fan according to the target speed; calculating a control difference between the actual control value and the target control value, and performing speed compensation on the cooling fan according to the control difference.

[0036] Among them, those skilled in the art can set the first alarm threshold according to actual conditions. It can be a fixed value (such as ±300 RPM) or a proportional threshold (such as z%), which represents the maximum deviation ratio between the target speed and the actual speed allowed. For example: if the target speed is 5000 RPM and z% is set to 6%, the maximum deviation allowed is 300RPM; when the actual speed is lower than 4700 RPM or higher than 5300 RPM, the speed regulation compensation process is triggered. It should be noted that in the embodiment of the present application, the threshold can be flexibly configured according to different hardware platforms, fan types, system load conditions and other factors, and supports users or system administrators to customize settings according to different application scenarios without specific limitations.

[0037] It is understood that when the first speed difference calculated in the above embodiment is greater than or equal to the preset first alarm threshold, it indicates that the actual operating status of the current cooling fan is not meeting the expected target, which may affect normal cooling performance. At this time, the speed compensation phase will be entered, and the fan control parameters will be dynamically adjusted to minimize the speed deviation and restore the fan to the target speed range as quickly as possible.

[0038] In the embodiment of the present application, the cooling fan speed compensation is based on the premise that when the speed alarm occurs but the speed has not reached full speed, the cooling problem is solved by increasing the PWM value. Therefore, it is necessary to first eliminate the full speed scene, such as Figure 4 As shown, the following steps are included: Step 1: After the cooling fan speed adjustment process is initiated, the present embodiment generates the necessary data structures based on pre-set configuration files (such as the fourth configuration file mentioned in the above embodiment and the first through third configuration files mentioned in the following embodiments). These data structures may include information such as a temperature threshold table and a cooling fan speed mapping table, which are used for subsequent speed adjustment calculations and compensation processing.

[0039] Step 2: This embodiment of the present application can read current temperature data and other relevant status information from various temperature sensors. These sensors may be distributed across different hardware components, such as the CPU, memory, and power modules. The system checks whether the currently read temperature data meets the preset full-speed operating conditions (for example, whether the temperature of a key component exceeds a safety threshold). If so, the system enters full-speed mode; otherwise, normal speed regulation calculations continue.

[0040] Step 3: If the full speed condition is triggered, the embodiment of the present application will control all cooling fans in the corresponding cooling fan domain to run at the maximum speed, and skip the subsequent normal speed regulation calculation steps, and directly enter the speed detection link. If the full speed condition is not triggered, continue to perform the next step of speed regulation calculation. The PWM value at the current temperature is calculated through speed regulation, and then the speed of the cooling fan is controlled. It should be noted that when the full speed is not triggered, the embodiment of the present application calculates the appropriate PWM (pulse width modulation) value based on the current temperature data, and then controls the cooling fan to run at an appropriate speed. The PWM value determines the power supply duty cycle of the cooling fan motor, thereby affecting the speed of the cooling fan.

[0041] Step 4: Whether in full-speed mode or normal speed regulation mode, the actual cooling fan speed is tested to determine whether it deviates from the expected value. The deviation ratio z% here is a preset tolerance range used to determine whether the speed is within the acceptable range. If the speed deviation is detected outside the defined tolerance range, appropriate measures are taken. In full-speed mode, a cooling fan fault alarm is reported; in normal speed regulation mode, the speed compensation processing and cooling fan early warning assessment phase will be entered, and the PWM value will be adjusted to try to correct the speed deviation. If the first speed deviation is within the expected range, the sensor status and reading will continue to be monitored, and the above process will be repeated.

[0042] In one embodiment of the present application, speed compensation is performed on the cooling fan according to the first speed difference, including: obtaining an actual control value corresponding to the control signal of the cooling fan; calculating a target control value corresponding to the control signal of the cooling fan according to the target speed, and calculating a control difference between the actual control value and the target control value, wherein the actual control value, the target control value and the control difference are directly proportional to the duty cycle of the control signal; and speed compensation is performed on the cooling fan according to the control difference.

[0043] It is understood that after eliminating the full-speed scenario, embodiments of the present application can obtain the actual control value (i.e., the current PWM value) from the current cooling fan control signal. This value reflects the specific instructions currently sent to the cooling fan to adjust its speed. It should be noted that during this process, the present application strictly excludes situations where the cooling fan is operating at full speed (e.g., due to a high-temperature alarm triggering a forced maximum speed), ensuring that subsequent calculations only address deviation correction scenarios in normal speed regulation mode. To obtain the precise control signal required to achieve the target speed, embodiments of the present application can calculate the target control value (target PWM value) using the formula F(x) = k*(xb)+c. Here, x is a variable representing the target control value, b is a constant representing the starting PWM value defined by the chassis, c is a constant representing the starting speed, k is a constant representing the speed coefficient, and F is the target speed. By substituting the target speed into this formula, the PWM value required to achieve this target can be inferred as the target control value, and the control difference (ΔPWM) between the current PWM value and the target PWM value can be calculated. Since the actual control signal (PWM) is directly proportional to the fan speed, the control difference △PWM can directly reflect the deviation degree of the current control accuracy and serve as the basis for subsequent speed regulation compensation.

[0044] In one embodiment of the present application, the speed of the cooling fan is compensated according to the control difference, including: cyclically accumulating the actual control value according to the target step size; calculating the compensated speed of the cooling fan according to the control difference and the cyclic accumulated value; calculating a second speed difference between the compensated speed and the target speed, and stopping the cyclic accumulation of the actual control value until the second speed difference is less than the first alarm threshold.

[0045] Specifically, to achieve refined adjustment of the cooling fan speed, embodiments of the present application can set a target step size (e.g., 1%, representing the magnitude of each increment / decrement of the PWM duty cycle) to gradually adjust the current PWM value. In each iteration, the current PWM value is increased by a certain amount in an attempt to increase the cooling fan speed. The expected cooling fan speed is recalculated each time using the updated current PWM value, ensuring that each PWM value adjustment accurately reflects the cooling fan's actual speed, effectively narrowing the gap with the target speed.

[0046] Furthermore, the embodiment of the present application can compare the newly calculated compensated speed with the initially set target speed after each cycle of accumulation, and calculate the difference between the two (the second speed difference). If the second speed difference is still greater than the first alarm threshold z%, the next cycle of accumulation will continue; when the second speed difference is less than the first alarm threshold, it indicates the current cooling fan speed. At this time, the embodiment of the present application can stop further adjustment of the PWM value and end this speed compensation process. Therefore, the embodiment of the present application adopts a step-by-step PWM adjustment method, combined with a real-time feedback mechanism, so that the fan speed can more accurately approach the target value, effectively reducing the speed deviation, and through dynamic monitoring of the adjustment effect, ensure that the cooling fan speed gradually approaches the ideal state.

[0047] Specifically, the compensated speed of the cooling fan is calculated based on the control difference and the cycle accumulated value, including: identifying whether the cooling fan is performing speed regulation compensation for the first time; if the cooling fan is performing speed regulation compensation for the first time, the control difference and the cycle accumulated value are input into a first calculation formula, and the first calculation formula outputs the compensated speed of the cooling fan; if the cooling fan is not performing speed regulation compensation for the first time, the control difference and the cycle accumulated value are input into a second calculation formula, and the second calculation formula outputs the speed increment of the cooling fan, and the compensated speed of the cooling fan is determined according to the speed increment.

[0048] Among them, the first calculation formula is: F3(x)=k*(x-b+△pwm+i)+c, Where F3(x) represents the compensated speed, k represents the speed coefficient, x represents the target control value, b represents the basic control value, △pwm represents the control difference, i represents the cycle accumulated value, and c represents the basic speed.

[0049] The second calculation formula is: F(y)=k1*(y+j), Among them, F(y) represents the speed increment, k1 represents the speed increment coefficient, y represents the control difference, and j represents the cycle accumulated value.

[0050] The embodiment of the present application distinguishes between the first speed regulation compensation and the non-first speed regulation compensation, and uses different calculation formulas to determine the speed after compensation. Specifically, if the cooling fan is doing speed regulation compensation for the first time, the embodiment of the present application can cyclically calculate the compensated speed (F3) in the manner of the first calculation formula F3(x)=k*(x-b+△pwm+i)+c, where i is the loop control variable, which is accumulated in 1 loop. When the speed difference between the compensated speed F3 and the target speed meets the speed deviation ratio, that is, the speed is within the target range z%, the speed compensation loop calculation is stopped, and the speed increment and PWM increment ratio formula F(y)=k1*y calculated this time are recorded and saved in the data structure corresponding to the cooling fan for guiding subsequent speed compensation. Wherein, y represents the total PWM increment, k1 is the speed increment coefficient, and F: incremental speed. (Because the cooling fan speed and PWM are linear).

[0051] If this is not the first time that the cooling fan is performing speed compensation, the embodiment of the present application can calculate the PWM value that needs to be compensated by F(y)=k1*y, and y is also accumulated in steps of 1. That is, F(y)=k1*(y+j), and j starts at 1. When the speed difference between the compensated speed and the target speed meets the speed deviation ratio, that is, the speed is within the target range z%, the speed compensation cycle calculation is stopped. Therefore, the embodiment of the present application uses the data and experience accumulated in the previous speed compensation process to more quickly and accurately calculate the required PWM adjustment amount, thereby reducing the number of adjustments and time.

[0052] In one embodiment of the present application, before the control difference and the cyclic accumulated value are input into the second calculation formula, it also includes: obtaining the speed increment and control value increment of the cooling fan after the first speed regulation compensation; calculating the speed increment coefficient based on the speed increment and control value increment.

[0053] It is understandable that after the first speed compensation is completed, the embodiment of the present application will record the results of this speed compensation, including: speed increment, that is, the difference between the actual speed achieved after compensation and the actual speed before compensation. PWM increment: that is, the PWM value added to achieve the above-mentioned speed increment. These data are usually saved to the data structure corresponding to the cooling fan for subsequent calls. The embodiment of the present application can substitute the speed increment and control value increment obtained in the previous step into the formula F(y)=k1*y to calculate the speed increment coefficient k1.

[0054] In one embodiment of the present application, before calculating the compensated speed of the cooling fan based on the control difference and the loop accumulated value, it also includes: obtaining a first configuration file of the cooling fan; extracting first correspondence data between the cooling fan number and the second configuration file in the first configuration file; determining the second configuration file of the cooling fan based on the first correspondence data, and extracting second correspondence data between the cooling fan speed and the control value in the second configuration file; generating a first calculation formula and a second calculation formula based on the second correspondence data.

[0055] It is understood that the embodiment of the present application can obtain a first configuration file for the cooling fan from a storage medium or server. This configuration file contains basic information about the cooling fan (such as the cooling fan number) and configuration parameters. By parsing the first configuration file, the number of each cooling fan (such as Fan1, Fan2, etc.) and the corresponding manufacturer information are extracted. The location of the second configuration file is determined based on the manufacturer information, and a first correspondence data between the cooling fan number and the second configuration file is established. Based on the first correspondence data established in the first step, the embodiment of the present application can find the second configuration file corresponding to each cooling fan. By parsing the second configuration file, the second correspondence data between the cooling fan speed and the PWM value is extracted, as shown in Table 2.

[0056]

[0057] As shown in Table 2, after starting at 30% duty, the fan speed difference for each 10% increase ranges from 2600 to 2800 rpm, not exceeding 200 rpm. Based on experience, the fan speed error is generally between 5% and 10%. For the fans in the table, this error ranges from 410 rpm (8200 * 0.05) to 1350 rpm. Therefore, a linear equation can be derived for each fan model's speed and duty or PWM control value: F(x) = 8200 + 106 * (x - 77), where F is the target speed and x is the PWM control value. When the control value is 102, F(x) = 8200 + 106 * (102 - 77) = 10850, which is close to 10900. In other words, the speed of any cooling fan can be abstracted into the formula F(x)=k*(xb)+c, where x is the target PWM, b is the starting PWM defined by the chassis, c is the starting speed, k is the speed coefficient, and F is the speed.

[0058] Furthermore, the embodiment of the present application can utilize the extracted second correspondence data between the cooling fan speed and the PWM value to fit the functional relationship between the cooling fan speed and the PWM value, thereby generating the first calculation formula and the second calculation formula. Thus, the embodiment of the present application automatically extracts the necessary data from the first configuration file and generates a formula for calculating the cooling fan's compensated speed, thereby ensuring the accuracy and consistency of subsequent calculation results.

[0059] In one embodiment of the present application, before calculating the compensated speed of the cooling fan based on the control difference and the cycle accumulated value, it also includes: if the actual control value is less than the second alarm threshold, calculating the compensated speed of the cooling fan based on the control difference and the cycle accumulated value; if the actual control value is greater than or equal to the second alarm threshold, generating a cooling fan alarm signal.

[0060] It is understood that before executing the cooling fan speed compensation operation, the embodiment of the present application will first evaluate the actual control signal value of the current cooling fan (i.e., the PWM duty cycle value) to determine whether it is close to or has exceeded the performance limit of the cooling fan. In order to prevent blind speed compensation from continuing when the cooling fan is already in a high-load operating state, thereby causing equipment overheating or control system loss of control, the present application introduces a second alarm threshold to identify whether the cooling fan has approached or reached its performance limit. The second alarm threshold can be an absolute value (such as 255). The specific value can be flexibly configured according to different hardware platforms, fan types, and system requirements. Those skilled in the art can set it according to actual conditions, and no specific limitation is made.

[0061] For example, before calculating the compensated speed, the present embodiment checks whether the current actual control value (i.e., the current PWM value) is less than 255. If it is less than 255, it indicates that the cooling fan still has room for adjustment. The present embodiment can calculate the compensated speed of the cooling fan using the method described above to ensure optimal cooling. If it exceeds or equals 255, it indicates that the cooling fan may be under high load or has a potential problem. In this case, a cooling fan alarm signal is directly generated to promptly alert maintenance personnel to possible problems with the cooling fan, avoiding equipment overheating or other failures caused by over-reliance on speed compensation.

[0062] In one embodiment of the present application, after the cooling fan is speed-compensated according to the first speed difference, it also includes: obtaining a first list of temperature devices corresponding to the cooling fan; traversing the temperature threshold of each temperature device in the first list, and calculating the temperature difference between the actual temperature of each temperature device and the temperature threshold; and performing a cooling fan alarm evaluation on the cooling fan based on the temperature difference.

[0063] It is understandable that after completing the speed adjustment compensation of the cooling fan according to the first speed difference, the embodiment of the present application needs to evaluate the risk warning of full speed of the cooling fan during the subsequent operation of the whole machine (because the speed adjustment at this time has pre-empted the future speed adjustment capability, and when full speed is needed, the cooling fan speed cannot reach full speed).

[0064] In this embodiment of the present application, the system can read information about all temperature sensors associated with the current cooling fan from a first configuration file to form a first list containing information about each temperature device, as shown in Table 3 below. During actual execution, this embodiment of the present application can obtain the first configuration file for the cooling fan; extract third correspondence data between the cooling fan number and the temperature device in the first configuration file; and generate a first list of temperature devices corresponding to the cooling fan based on the third correspondence data.

[0065] It can be understood that the embodiment of the present application can obtain a first configuration file of the cooling fan from a storage medium or server. The embodiment of the present application can parse the first configuration file to extract the third correspondence data of each cooling fan number and its associated temperature device (such as CPU, DIMM, VR, InterfaceCard, etc.), and use the extracted third correspondence data to create a first list containing its corresponding temperature device for each cooling fan for subsequent temperature monitoring and alarm evaluation.

[0066]

[0067] It should be noted that the cooling fan speed regulation in the embodiment of the present application supports regional speed regulation, sharing the global single-area speed regulation and multi-area speed regulation. All heat dissipation designs will provide different cooling fan speed regulation domains and the speed regulation points (i.e., temperature points) corresponding to these speed regulation domains. Commonly used are single-area and dual-area speed regulation (such as Table 3, which divides 6 cooling fans into 2 areas). When the area division exceeds 2, the complexity will increase significantly, so in practice it is usually limited to no more than 2 areas. For example, the embodiment of the present application can abstract two cooling fan domains, each cooling fan domain has two attributes, Attribute 1: cooling fan number; Attribute 2: temperature point set.

[0068] Furthermore, for each temperature component in the first list, embodiments of the present application can collect its current actual temperature in real time. The difference between each temperature component's actual temperature and its corresponding temperature threshold (i.e., the temperature difference) is calculated. Assuming the CPU's actual temperature is 87°C and its temperature threshold is 90°C, the temperature difference is 3°C. The temperature threshold can be found by searching the third list.

[0069] The embodiment of the present application obtains a third configuration file for the cooling fan; extracts fifth correspondence data between temperature devices and temperature thresholds from the third configuration file; and generates a third list of temperature devices and temperature thresholds based on the fifth correspondence data. Specifically, the embodiment of the present application can obtain a third configuration file containing information about temperature devices and their corresponding temperature thresholds from a server, parse the third configuration file, and extract the fifth correspondence data between each temperature device and its corresponding temperature threshold. Based on the extracted data, the embodiment of the present application can create a clear and easy-to-manage third list that lists all temperature devices and their corresponding temperature thresholds, facilitating subsequent processing and querying.

[0070] Furthermore, embodiments of the present application can determine whether the temperature difference of each temperature component is less than a third alarm threshold. If the temperature difference of a temperature component is less than the third alarm threshold, it indicates that the actual temperature of the temperature component is close to or even exceeds the safe range. At this time, a cooling fan alarm signal should be generated to promptly alert relevant personnel to potential overheating risks and prevent hardware damage or other failures caused by excessive temperatures. The third alarm threshold can be set according to actual conditions, such as 5°C, without specific restrictions.

[0071] For example, assume there are three critical temperature components: the CPU, DIMM, and interface card chip. Their respective temperature thresholds are 90°C, 85°C, and 105°C, respectively. The third alarm threshold is set to 5°C. This embodiment of the application can obtain temperature component information by reading the first and third lists to obtain each temperature component and its temperature threshold. The actual temperature is collected and the temperature difference is calculated: the actual measurement shows that the CPU temperature is 87°C, the DIMM temperature is 86°C, and the interface card chip temperature is 102°C. The temperature differences are calculated separately: CPU: 90°C - 87°C = 3°C, DIMM: 86°C - 85°C = 1°C, interface card chip: 105°C - 102°C = 3°C. This embodiment of the present application can compare each temperature difference with the third alarm threshold (5°C): if the CPU temperature difference is 3°C < 5°C, a cooling fan alarm signal is generated; if the DIMM temperature difference is 1°C < 5°C, a cooling fan alarm signal is generated; if the interface card chip temperature difference is 3°C < 5°C, a cooling fan alarm signal is generated, prompting the administrator to pay attention to the temperature conditions of these components and consider taking appropriate cooling measures or checking the device status. Therefore, this embodiment of the present application can not only effectively manage the operating status of the cooling fan, but also provide early warning of potential overheating risks, ensuring the safe and stable operation of the device.

[0072] In one embodiment of the present application, before calculating the temperature difference between the actual temperature of each temperature device and the temperature threshold, it also includes: identifying whether there is a faulty temperature device in the first list; if there is a faulty temperature device in the first list, obtaining a second list of backup devices corresponding to the cooling fan; searching for the backup device of the faulty temperature device from the second list, and using the actual temperature of the backup device as the actual temperature of the faulty temperature device.

[0073] It is understandable that the cooling fan speed is controlled based on the actual temperature feedback from temperature components (such as the CPU, DIMM, VR, etc.). However, in actual applications, some temperature components may malfunction (e.g., disconnection, data anomalies), which can lead to system misjudgment or failure to properly regulate the speed, thereby affecting device safety. To address this issue, this application proposes a temperature component fault identification and backup switching mechanism to ensure that even if a temperature component fails, temperature data can still be obtained through its corresponding backup component, allowing cooling fan speed regulation and alarm assessment to continue.

[0074] If there is a faulty temperature device in the first list, the embodiment of the present application can search for the backup device of the faulty temperature device in the second list of backup devices corresponding to the cooling fan. During the actual execution process, the embodiment of the present application can obtain the third configuration file of the cooling fan; extract the fourth correspondence data between the temperature device and the backup device in the third configuration file; and generate the second list of backup devices corresponding to the cooling fan based on the fourth correspondence data.

[0075] Specifically, the embodiment of the present application can parse the above-mentioned third configuration file, extract the fourth correspondence data between the main temperature device and the backup device, and search for the backup device for each faulty main temperature device based on the extracted fourth correspondence data, and construct a second list, as shown in Table 4.

[0076]

[0077] Furthermore, for each failed primary temperature sensor, the embodiment of the present application can search the second list for the actual temperature of its backup device. The backup device's temperature value is used as a substitute for the primary temperature sensor and continues to participate in subsequent temperature difference calculations and cooling fan alarm assessments. Thus, even if some temperature sensors fail, cooling fan speed regulation and alarm assessments can be completed with the help of the backup device, avoiding the risk of system loss of control or overheating due to sensor failure.

[0078] The following combination Figure 5 and Figure 6 The cooling fan speed adjustment compensation process and the post-compensation warning evaluation after the full-speed scene is eliminated in the embodiment of the present application are described in detail, specifically including the following three steps: 1) After eliminating full-speed scenarios, a cooling fan speed alarm is detected. First, consult Table 2 to find the cooling fan speed formula: F(x) = k*(xb) + c. x is a variable representing the target control value (target PWM value), b is a constant representing the chassis-defined starting PWM, c is a constant representing the starting speed, k is a constant representing the speed coefficient, and F is the target speed. Calculate the expected cooling fan speed F1 and the actual speed F2. F1 - F2 = the first speed difference. Substituting the target speed into the formula F(x) = k*(xb) + c allows us to inversely derive the PWM value required to achieve this target as the target control value. The control difference (ΔPWM) between the current PWM value and the target PWM value is then calculated.

[0079] 2) If the cooling fan is performing speed compensation for the first time, the embodiment of the present application can cyclically calculate the compensated speed (F3) using the first calculation formula F3(x) = k*(x-b+△PWM+i)+c, where i is the loop control variable, which is accumulated in a loop of 1. When the speed difference between the compensated speed F3 and the target speed meets the speed deviation ratio, that is, the speed is within the target range z%, the speed compensation loop calculation is stopped, and the speed increment and PWM increment ratio formula F(y) = k1*y calculated this time are recorded and saved in the data structure corresponding to the cooling fan to guide subsequent speed compensation. Where y represents the total PWM increment, k1 is the speed increment coefficient, and F is the incremental speed. (Because the cooling fan speed and PWM are linear). If the cooling fan is not performing speed compensation for the first time, the embodiment of the present application can calculate the PWM value that needs to be compensated using F(y) = k1*y, and y is also accumulated in steps of 1. That is, F(y) = k1*(y+j), where j starts at 1. When the speed difference between the compensated speed and the target speed meets the speed deviation ratio, that is, the speed is within the target range z%, the speed compensation cycle calculation is stopped.

[0080] 3) After compensation is complete, current cooling requirements are met, but a risk warning of full fan speed is required during subsequent machine operation (because speed regulation at this point has already preempted future speed regulation capacity, and the fan speed may not reach full speed when full speed is needed). Therefore, the first list is queried to obtain the temperature components in the fan domain where the fan resides. The second and third lists are then used to determine whether to issue a fan fault warning based on the redundantly backed-up temperature fault status and the current temperature value's proximity to the temperature threshold that triggers full fan speed. Customizable temperature thresholds are supported. For example, after traversing the third list, if the difference between the current temperature value and the temperature threshold is less than or equal to 2 degrees Celsius, a fan fault warning is issued.

[0081] According to the cooling fan control method of the embodiment of the present application, after adjusting the cooling fan speed, the speed difference between the actual speed and the target speed is detected. When the speed difference exceeds a certain limit, instead of directly generating an alarm signal to remind the user to replace the cooling fan, the cooling fan speed is compensated, fully utilizing the cooling fan's performance and delaying the time to replace the cooling fan. Thus, through speed compensation, the cooling fan's service life is extended while meeting the server's cooling requirements, thereby reducing the cooling fan's maintenance costs. This solves the problem of the related art of directly replacing the cooling fan when a speed deviation alarm occurs, which is costly and wastes resources.

[0082] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0083] The embodiment of the present application further provides a cooling fan control device 20, such as Figure 7 As shown, the cooling fan control device 20 includes: a control module 201, a first calculation module 202 and a compensation module 203. Among them, the control module 201 is used to control the cooling fan to perform speed regulation according to the target speed of the cooling fan; the first calculation module 202 is used to obtain the actual speed of the cooling fan after the cooling fan completes the speed regulation action, and calculate the first speed difference between the actual speed and the target speed; the compensation module 203 is used to perform speed regulation compensation on the cooling fan according to the first speed difference after the first speed difference is greater than or equal to the first alarm threshold, and the speed regulation compensation includes: obtaining the actual control value corresponding to the control signal of the cooling fan; calculating the target control value corresponding to the control signal of the cooling fan according to the target speed; calculating the control difference between the actual control value and the target control value, and performing speed regulation compensation on the cooling fan according to the control difference.

[0084] In one embodiment of the present application, the compensation module 203 is further used to: obtain an actual control value corresponding to the control signal of the cooling fan; calculate the target control value corresponding to the control signal of the cooling fan based on the target speed, and calculate the control difference between the actual control value and the target control value, wherein the actual control value, the target control value and the control difference are directly proportional to the duty cycle of the control signal; and perform speed regulation compensation on the cooling fan based on the control difference.

[0085] In one embodiment of the present application, the compensation module 203 is further used to: cyclically accumulate the actual control value according to the target step size; calculate the compensated speed of the cooling fan based on the control difference and the cyclic accumulated value; calculate the second speed difference between the compensated speed and the target speed, until the second speed difference is less than the first alarm threshold, and stop the cyclic accumulation of the actual control value.

[0086] In one embodiment of the present application, the compensation module 203 is further used to: identify whether the cooling fan is performing speed regulation compensation for the first time; if the cooling fan is performing speed regulation compensation for the first time, the control difference and the cyclic accumulated value are input into a first calculation formula, and the first calculation formula outputs the compensated speed of the cooling fan; if the cooling fan is not performing speed regulation compensation for the first time, the control difference and the cyclic accumulated value are input into a second calculation formula, and the second calculation formula outputs the speed increment of the cooling fan, and the compensated speed of the cooling fan is determined according to the speed increment.

[0087] In one embodiment of the present application, the first calculation formula is: F3(x)=k*(x-b+△pwm+i)+c, Where F3(x) represents the compensated speed, k represents the speed coefficient, x represents the target control value, b represents the basic control value, △pwm represents the control difference, i represents the cycle accumulated value, and c represents the basic speed.

[0088] In one embodiment of the present application, the second calculation formula is: F(y)=k1*(y+j) Among them, F(y) represents the speed increment, k1 represents the speed increment coefficient, y represents the control difference, and j represents the cycle accumulated value.

[0089] In one embodiment of the present application, the cooling fan control device 20 further includes: a first acquisition module and a second calculation module.

[0090] Among them, the first acquisition module is used to obtain the speed increment and control value increment of the cooling fan after the first speed regulation compensation before inputting the control difference and the cyclic accumulated value into the second calculation formula; the second calculation module is used to calculate the speed increment coefficient based on the speed increment and the control value increment.

[0091] In one embodiment of the present application, the cooling fan control device 20 further includes: a second acquisition module, a first extraction module and a first generation module.

[0092] Among them, the second acquisition module is used to obtain the first configuration file of the cooling fan before calculating the compensated speed of the cooling fan based on the control difference and the loop accumulated value; the first extraction module is used to extract the first correspondence data between the cooling fan number in the first configuration file and the second configuration file; determine the second configuration file of the cooling fan based on the first correspondence data, and extract the second correspondence data between the cooling fan speed and the control value in the second configuration file; the first generation module is used to generate the first calculation formula and the second calculation formula based on the second correspondence data.

[0093] In one embodiment of the present application, the cooling fan control device 20 further includes: a third calculation module and a second generation module.

[0094] Among them, the third calculation module is used to calculate the compensated speed of the cooling fan based on the control difference and the cycle accumulated value before calculating the compensated speed of the cooling fan based on the control difference and the cycle accumulated value if the actual control value is less than the second alarm threshold; the second generation module is used to generate a cooling fan alarm signal if the actual control value is greater than or equal to the second alarm threshold.

[0095] In one embodiment of the present application, the cooling fan control device 20 further includes: a third acquisition module, a fourth calculation module, and an evaluation module.

[0096] Among them, the third acquisition module is used to obtain a first list of temperature devices corresponding to the cooling fan after the cooling fan is speed-compensated according to the first speed difference; the fourth calculation module is used to traverse the temperature threshold of each temperature device in the first list and calculate the temperature difference between the actual temperature of each temperature device and the temperature threshold; the evaluation module is used to perform cooling fan alarm evaluation on the cooling fan based on the temperature difference.

[0097] In one embodiment of the present application, the cooling fan control device 20 further includes: a third generating module, configured to generate a cooling fan alarm signal if the temperature difference is less than a third alarm threshold.

[0098] In one embodiment of the present application, the cooling fan control device 20 further includes: a fourth acquisition module, a second extraction module and a fourth generation module.

[0099] Among them, the fourth acquisition module is used to obtain the first configuration file of the cooling fan; the second extraction module is used to extract the third correspondence data between the cooling fan number and the temperature device in the first configuration file; the fourth generation module is used to generate a first list of temperature devices corresponding to the cooling fan based on the third correspondence data.

[0100] In one embodiment of the present application, the cooling fan control device 20 further includes: an identification module, a fifth acquisition module, and a processing module.

[0101] Among them, the identification module is used to identify whether there is a faulty temperature device in the first list before calculating the temperature difference between the actual temperature of each temperature device and the temperature threshold; the fifth acquisition module is used to obtain a second list of temperature devices corresponding to the cooling fan if there is a faulty temperature device in the first list; the processing module is used to search for a backup device of the faulty temperature device from the second list, and use the actual temperature of the backup device as the actual temperature of the faulty temperature device.

[0102] In one embodiment of the present application, the cooling fan control device 20 further includes: a sixth acquisition module, a third extraction module and a fifth generation module.

[0103] Among them, the sixth acquisition module is used to obtain the third configuration file of the cooling fan before obtaining the second list of temperature devices corresponding to the cooling fan; the third extraction module is used to extract the fourth correspondence data between the temperature device and the backup device in the third configuration file; the fifth generation module is used to generate the second list of temperature devices corresponding to the cooling fan based on the fourth correspondence data.

[0104] In one embodiment of the present application, the cooling fan control device 20 further includes: a seventh acquisition module, a fourth extraction module and a sixth generation module.

[0105] Among them, the seventh acquisition module is used to obtain the third configuration file of the cooling fan before traversing the temperature threshold of each temperature device in the first list; the fourth extraction module is used to extract the fifth correspondence data between the temperature device and the temperature threshold in the third configuration file; the sixth generation module is used to generate a third list of temperature devices and temperature thresholds based on the fifth correspondence data.

[0106] In one embodiment of the present application, the cooling fan control device 20 further includes: an eighth acquisition module and a determination module.

[0107] Among them, the eighth acquisition module is used to obtain the actual temperature of the temperature device corresponding to the cooling fan before calculating the speed difference between the actual speed and the target speed; the determination module is used to determine the target speed according to the actual temperature of the temperature device.

[0108] In one embodiment of the present application, the cooling fan control device 20 further includes: a ninth acquisition module, a fifth extraction module, a seventh generation module, and a fifth calculation module.

[0109] Among them, the ninth acquisition module is used to obtain the fourth configuration file of the cooling fan; the fifth extraction module is used to extract the fifth correspondence data between the temperature that triggers the maximum speed of the cooling fan and the temperature device in the fourth configuration file; the seventh generation module is used to generate a fourth list of temperature, temperature device and maximum speed based on the fifth correspondence data; the fifth calculation module is used to search the fourth list to determine whether the maximum speed of the cooling fan is triggered. If the maximum speed of the cooling fan is not triggered, the speed difference between the actual speed and the target speed is calculated.

[0110] It should be noted that, for the description of the features in the embodiment corresponding to the heat dissipation fan control device, reference can be made to the relevant description of the embodiment corresponding to the heat dissipation fan control method, which will not be repeated here.

[0111] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned cooling fan control method embodiments.

[0112] An embodiment of the present application further provides a non-volatile computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above-mentioned cooling fan control method embodiments when running.

[0113] In an exemplary embodiment, the non-volatile computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0114] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned cooling fan control method embodiments are implemented.

[0115] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0116] The above is a detailed introduction to a cooling fan control system and method provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only intended to help understand the method and core ideas of the present application. It should be noted that, for those skilled in the art, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A cooling fan control system, characterized in that: include: At least one cooling fan; A processor of a server, wherein the processor is connected to the at least one cooling fan, the processor controls different cooling fans through different control signals, and the processor is configured to perform the following steps when controlling any cooling fan: Controlling the cooling fan to perform speed regulation according to the target speed of the cooling fan; After the cooling fan completes the speed adjustment action, obtaining the actual speed of the cooling fan, and calculating a first speed difference between the actual speed and the target speed; When the first speed difference is greater than or equal to the first alarm threshold, the cooling fan is subjected to speed compensation control according to the first speed difference, and the speed compensation includes: obtaining an actual control value corresponding to the control signal of the cooling fan; calculating a target control value corresponding to the control signal of the cooling fan according to the target speed; calculating a control difference between the actual control value and the target control value, and performing speed compensation on the cooling fan according to the control difference.

2. A server, characterized in that: It includes the cooling fan control system according to claim 1.

3. A cooling fan control method, characterized in that: The method is applied to the processor of the cooling fan control system according to claim 1, and the method includes: Controlling the cooling fan to perform speed regulation according to the target speed of the cooling fan; After the cooling fan completes the speed adjustment action, obtaining the actual speed of the cooling fan, and calculating a first speed difference between the actual speed and the target speed; After the first speed difference is greater than or equal to the first alarm threshold, the cooling fan is speed-compensated according to the first speed difference, wherein the speed compensation comprises: obtaining an actual control value corresponding to the control signal of the cooling fan; calculating a target control value corresponding to the control signal of the cooling fan according to the target speed; calculating a control difference between the actual control value and the target control value, and performing speed compensation on the cooling fan according to the control difference.

4. The cooling fan control method according to claim 3, wherein: The actual control value, the target control value, and the control difference are directly proportional to the duty cycle of the control signal.

5. The cooling fan control method according to claim 4, wherein: The speed-regulating compensation of the cooling fan according to the control difference includes: cyclically accumulating the actual control value according to the target step size; Calculating the compensated speed of the cooling fan according to the control difference and the cyclic accumulated value; A second speed difference between the compensated speed and the target speed is calculated until the second speed difference is less than the first alarm threshold, and the cyclic accumulation of the actual control value is stopped.

6. The cooling fan control method according to claim 5, wherein: The calculating the compensated speed of the cooling fan according to the control difference and the cyclic accumulated value includes: Identifying whether the cooling fan is performing speed regulation compensation for the first time; If the cooling fan is performing speed regulation compensation for the first time, the control difference and the cyclic accumulated value are input into a first calculation formula, and the first calculation formula outputs the compensated speed of the cooling fan; If this is not the first time that the cooling fan is performing speed regulation compensation, the control difference and the cyclic accumulated value are input into a second calculation formula, the second calculation formula outputs the speed increment of the cooling fan, and the compensated speed of the cooling fan is determined based on the speed increment.

7. The cooling fan control method according to claim 6, wherein: The first calculation formula is: F3(x)=k*(x-b+△pwm+i)+c, Where F3(x) represents the compensated speed, k represents the speed coefficient, x represents the target control value, b represents the basic control value, △pwm represents the control difference, i represents the cycle accumulated value, and c represents the basic speed.

8. The cooling fan control method according to claim 6, wherein: The second calculation formula is: F(y)=k1*(y+j) Among them, F(y) represents the speed increment, k1 represents the speed increment coefficient, y represents the control difference, and j represents the cycle accumulated value.

9. The cooling fan control method according to claim 8, wherein: Before inputting the control difference and the cyclic accumulated value into the second calculation formula, the method further includes: Obtaining a speed increment and a control value increment of the cooling fan after the first speed regulation compensation; The rotation speed increment coefficient is calculated according to the rotation speed increment and the control value increment.

10. The cooling fan control method according to any one of claims 6 to 9, characterized in that: Before calculating the compensated speed of the cooling fan according to the control difference and the cyclic accumulated value, the method further includes: Obtaining a first configuration file of the cooling fan; Extracting first correspondence data between the cooling fan number in the first configuration file and the second configuration file; Determine a second configuration file of the cooling fan according to the first correspondence data, and extract second correspondence data between the rotation speed of the cooling fan and the control value in the second configuration file; The first calculation formula and the second calculation formula are generated according to the second corresponding relationship data.

11. The cooling fan control method according to claim 5, wherein: Before calculating the compensated speed of the cooling fan according to the control difference and the cyclic accumulated value, the method further includes: If the actual control value is less than a second alarm threshold, calculating the compensated speed of the cooling fan according to the control difference and the cyclic accumulated value; If the actual control value is greater than or equal to the second alarm threshold, a cooling fan alarm signal is generated.

12. The cooling fan control method according to claim 3, wherein: After the cooling fan is speed-compensated according to the first speed difference, the method further includes: Obtain a first list of temperature components corresponding to the cooling fan; Traversing the temperature threshold of each temperature device in the first list, and calculating the temperature difference between the actual temperature of each temperature device and the temperature threshold; A cooling fan alarm is evaluated on the cooling fan according to the temperature difference.

13. The cooling fan control method according to claim 12, wherein: The performing a cooling fan alarm evaluation on the cooling fan according to the temperature difference includes: If the temperature difference is less than a third alarm threshold, a cooling fan alarm signal is generated.

14. The cooling fan control method according to claim 12, wherein: Before obtaining the first list of temperature components corresponding to the heat dissipation fan, the method further includes: Obtaining a first configuration file of the cooling fan; Extracting third correspondence data between the cooling fan number and the temperature device in the first configuration file; A first list of temperature components corresponding to the cooling fan is generated according to the third corresponding relationship data.

15. The cooling fan control method according to claim 12, wherein: Before calculating the temperature difference between the actual temperature of each temperature component and the temperature threshold, the method further includes: Identify whether there is a faulty temperature device in the first list; If there is a faulty temperature device in the first list, obtaining a second list of temperature devices corresponding to the cooling fan; A backup device of the failed temperature device is searched from the second list, and the actual temperature of the backup device is used as the actual temperature of the failed temperature device.

16. The cooling fan control method according to claim 15, wherein: Before obtaining the second list of temperature components corresponding to the cooling fan, the method further includes: Obtaining a third configuration file of the cooling fan; Extracting fourth correspondence data between the temperature device and the backup device from the third configuration file; A second list of backup components corresponding to the cooling fans is generated according to the fourth corresponding relationship data.

17. The cooling fan control method according to claim 12, wherein: Before traversing the temperature threshold of each temperature device in the first list, the method further includes: Obtaining a third configuration file of the cooling fan; Extracting fifth correspondence data between temperature components and temperature thresholds from the third configuration file; A third list of temperature components and temperature thresholds is generated according to the fifth correspondence data.

18. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the cooling fan control method according to any one of claims 3 to 17 when executing the computer program.

19. A non-volatile computer-readable storage medium, characterized in that: The non-volatile computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the cooling fan control method according to any one of claims 3 to 17.

20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the cooling fan control method according to any one of claims 3 to 17 are implemented.

Citation Information

Cited By

  • Equipment control method and device, electronic equipment and storage medium

    CN122227569A