Server and heat dissipation control method, system, product, equipment and medium thereof

By setting a preset fan speed range for each component in the server and calculating the target speed value based on the actual temperature value and weight coefficient, the problem of inaccurate fan speed adjustment in the existing technology is solved, and more effective heat dissipation control and The server is running stably.

CN119512342APending Publication Date: 2025-02-25INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202510067519.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-16
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

In the existing server fan control logic, improper setting of PID parameters, temperature sensor noise or reading errors lead to inaccurate fan speed adjustment, which may cause the fan speed to be too high or too low, affecting the heat dissipation effect and server performance.

Method used

By determining the preset fan speed range for each component and calculating the target speed value based on the actual temperature value of the component and the weight coefficient of the fan, ensure that the fan speed is running within the preset range. When the components meet the coordinated heat dissipation conditions, the fan weight coefficient in the main heat dissipation partition and the auxiliary heat dissipation partition is increased to quickly respond to high heat dissipation needs.

Benefits of technology

It effectively avoids the problem of excessive or too small fan speed, reduces noise and energy consumption, extends the service life of the fan, and maintains the performance and stability of the server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119512342A_ABST
    Figure CN119512342A_ABST
Patent Text Reader

Abstract

The invention discloses a server and a heat dissipation control method and system thereof, a product, equipment and a medium, relates to the field of servers, and aims to solve the problem caused by too large or too small control rotating speed value. The method comprises the steps that a preset fan rotating speed range, a main heat dissipation partition and an auxiliary heat dissipation partition corresponding to each component in the server are determined; for each component, determining a current weight coefficient of each fan corresponding to the component, and obtaining a target rotating speed value of each fan corresponding to the component by using the actual temperature value of the component and the current weight coefficient of each fan corresponding to the component; and determining a control rotating speed value in the at least one target rotating speed value corresponding to each fan, and controlling the fan to operate according to the control rotating speed value. The control rotating speed value of each fan can be limited within the preset fan rotating speed range, the problem that the control rotating speed value is too large or too small is avoided, noise and energy consumption are reduced, the service life of the fan is prolonged, and the performance and stability of the server are kept.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of servers, and in particular to a server and a heat dissipation control method, system, product, equipment and medium thereof. Background Art

[0002] During the operation of the server, the internal components will generate a lot of heat. In order to achieve efficient heat dissipation, the current server generally uses fans to promote air flow. The fan speed is adjusted according to the temperature of the internal components of the server. Most of the existing fan control logic uses a temperature-based PID (Proportional-Integral-Derivative) control strategy, which calculates the temperature difference by monitoring the component temperature in real time and comparing it with the set threshold. Then, the fan's PWM (Pulse Width Modulation) value, that is, the control speed value, is adjusted according to this difference, thereby controlling the fan speed.

[0003] However, in the existing fan control logic, the calculated PWM value may be too large or too small due to improper PID parameter settings, noise in the temperature sensor, or reading errors. A PWM value that is too large will cause the fan speed to be too high, which will not only increase noise and energy consumption, but may also cause unnecessary wear on the fan itself. On the contrary, a PWM value that is too small may cause the fan speed to be insufficient, which in turn causes insufficient heat dissipation, which will directly affect the performance and stability of the server.

[0004] Therefore, how to provide a solution to the above technical problems is a problem that those skilled in the art need to solve at present. Summary of the invention

[0005] The purpose of the present invention is to provide a server and its heat dissipation control method, system, product, equipment and medium, which can limit the control speed value of each fan to a preset fan speed range, avoid the problem of too large or too small control speed value, reduce noise and energy consumption, extend the service life of the fan, and maintain the performance and stability of the server.

[0006] To solve the above technical problems, the present invention provides a heat dissipation control method for a server, wherein the server includes multiple fans, and the heat dissipation control method for the server includes: determining a preset fan speed range, a main heat dissipation partition, and an auxiliary heat dissipation partition corresponding to each component in the server, wherein the main heat dissipation partition includes at least one first fan, and the auxiliary heat dissipation partition includes multiple second fans, and the second fan is a fan other than the first fan among the multiple fans; for each of the components, determining a current weight coefficient of each of the fans corresponding to the component, and obtaining a target speed value of each of the fans corresponding to the component by using an actual temperature value of the component and the current weight coefficient of each of the fans corresponding to the component; the target speed value is within the preset fan speed range corresponding to the component, and when the component meets the collaborative heat dissipation condition, the current weight coefficient of the first fan corresponding to the component and the current weight coefficient of at least one of the second fans are both preset maximum coefficients; determining a control speed value in at least one target speed value corresponding to each of the fans, and controlling the fan operation according to the control speed value.

[0007] Optionally, determining the current weight coefficient of each of the fans corresponding to the component includes: when the component does not meet the collaborative heat dissipation condition, determining the current weight coefficient of each of the fans corresponding to the component based on the distance between each of the fans corresponding to the component and the component and / or the air outlet direction of each of the fans corresponding to the component; the current weight coefficient is negatively correlated with the distance, and / or the current weight coefficient and the degree of influence of the air outlet direction on the heat dissipation effect of the component are positively correlated.

[0008] Optionally, when the component does not meet the collaborative heat dissipation condition, based on the distance between each fan corresponding to the component and the component and / or the air outlet direction of each fan corresponding to the component, the current weight coefficient of each fan corresponding to the component is determined, including: when the component does not meet the collaborative heat dissipation condition, selecting the first fan with the shortest distance from the component and the air outlet direction toward the component as the main cooling fan of the component, and determining the current weight coefficient of the main cooling fan as the preset maximum coefficient; determining the current weight coefficient of each auxiliary cooling fan according to the distance between each auxiliary cooling fan corresponding to the component and the component and the preset maximum coefficient; the auxiliary cooling fan is the fan other than the main cooling fan among the fans corresponding to the component.

[0009] Optionally, determining the current weight coefficient of each auxiliary cooling fan according to the distance between each auxiliary cooling fan corresponding to the component and the component and the preset maximum coefficient includes: obtaining the reflux limit value corresponding to the server; determining the current weight coefficient of each auxiliary cooling fan according to the reflux limit value, the preset maximum coefficient, and the distance between each auxiliary cooling fan corresponding to the component and the component, so that the difference between the target speed values ​​of any two adjacent fans corresponding to the component is less than the reflux limit value.

[0010] Optionally, the heat dissipation control method of the server also includes: based on the distance between each of the second fans corresponding to the component and the component and / or the air outlet direction of each of the second fans corresponding to the component, determining at least one adjustment fan among the second fans corresponding to the component, so that when the component meets the collaborative heat dissipation conditions, the current weight coefficient of each of the adjustment fans is determined as the preset maximum coefficient.

[0011] Optionally, obtaining the target speed value of each fan corresponding to the component by using the actual temperature value of the component and the current weight coefficient of each fan corresponding to the component includes: obtaining a calculated speed value by using the actual temperature value of the component; and obtaining the target speed value of each fan corresponding to the component according to the calculated speed value and the current weight coefficient of each fan corresponding to the component.

[0012] Optionally, obtaining the target speed value of each fan corresponding to the component according to the calculated speed value and the current weight coefficient of each fan corresponding to the component includes: obtaining the reference speed value of each fan corresponding to the component according to the calculated speed value and the current weight coefficient of each fan corresponding to the component; for each fan corresponding to the component, in response to the reference speed value being within the preset fan speed range corresponding to the component, using the reference speed value as the target speed value of the fan; in response to the reference speed value being less than the lower limit value of the preset fan speed range corresponding to the component, using the lower limit value of the speed as the target speed value of the fan; in response to the reference speed value being greater than the upper limit value of the preset fan speed range corresponding to the component, using the upper limit value of the speed as the target speed value of the fan.

[0013] Optionally, obtaining the calculated speed value using the actual temperature value of the component includes: performing proportional-integral-differential calculation based on the actual temperature value of the component to obtain a first speed value; and determining the calculated speed value using the first speed value.

[0014] Optionally, before using the actual temperature value of the component to obtain the calculated speed value, the heat dissipation control method of the server also includes: obtaining the actual temperature value of the component at the current moment; performing proportional-integral-differential calculation based on the actual temperature value of the component to obtain a first speed value including: obtaining the target control temperature corresponding to the component, the historical speed values ​​at m moments before the current moment, and the actual temperature value at n moments before the current moment; performing proportional-integral-differential calculation based on the target control temperature corresponding to the component, the historical speed values ​​at m moments before the current moment, the actual temperature value at the current moment, and the actual temperature value at n moments before the current moment to obtain the first speed value at the current moment; m and n are both positive integers.

[0015] Optionally, the heat dissipation control method of the server also includes: determining multiple calculation formulas corresponding to multiple component types in the server; the multiple calculation formulas are established based on the target control temperature, the historical speed values ​​at m moments before the current moment, the actual temperature value at the current moment, the actual temperature value at n moments before the current moment, the proportional coefficient, the integral coefficient and the differential coefficient; based on the target control temperature corresponding to the component, the historical speed values ​​at m moments before the current moment, the actual temperature value at the current moment, and the actual temperature value at n moments before the current moment, performing proportional-integral-differential calculation to obtain the first speed value at the current moment includes: in response to identifying the component type of the component, calling the calculation formula corresponding to the component type to calculate the first speed value at the current moment.

[0016] Optionally, obtaining the historical speed values ​​of the component at m moments before the current moment includes: obtaining the initial speed value corresponding to the component; when m>k, using the initial speed value as the speed value of all ki-th moments among the m moments before the current moment, k is the current moment, i=k,…,m.

[0017] Optionally, obtaining the historical speed value of the component at the moment before the current moment includes: when k>1, determining the speed value within the preset fan speed range corresponding to the component and closest to or equal to the first speed value at the moment before the current moment as the historical speed value at the moment before the current moment.

[0018] Optionally, obtaining the initial speed value corresponding to the component includes: obtaining the lower limit value of the speed of a preset fan speed range corresponding to the component; determining the lower limit value of the speed as the initial speed value of the component; or, obtaining a historical reference speed value determined based on historical operating data of the component; determining the historical reference speed value as the initial speed value of the component; or, obtaining the lower limit value of the speed of a preset fan speed range corresponding to the component; obtaining a historical reference speed value determined based on historical operating data of the component; and calculating the initial speed value of the component based on the lower limit value of the speed and the historical reference speed value.

[0019] Optionally, the heat dissipation control method of the server also includes: determining the speed control temperature range based on the target control temperature; determining the calculated speed value using the first speed value includes: determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the current moment and the speed control temperature range.

[0020] Optionally, determining the speed control temperature range based on the target control temperature includes: determining an adjustment amount based on the stability and anti-shake requirements of the component; taking the sum of the adjustment amount and the target control temperature as the upper limit value of the speed control temperature range, and taking the difference between the adjustment amount and the target control temperature as the lower limit value of the speed control temperature range.

[0021] Optionally, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the current moment, and the speed regulation temperature range includes: in response to the actual temperature value at the current moment not being in the speed regulation temperature range, using the first speed value at the current moment as the calculated speed value at the current moment; in response to the actual temperature value at the current moment being in the speed regulation temperature range, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the previous moment before the current moment, and the speed regulation temperature range.

[0022] Optionally, in response to the actual temperature value at the current moment being in the speed regulation temperature range, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the previous moment and the speed regulation temperature range includes: in response to the actual temperature value at the current moment being in the speed regulation temperature range, and the actual temperature value at the previous moment of the current moment being in the speed regulation temperature range, using the first speed value at the previous moment of the current moment as the calculated speed value at the current moment; in response to the actual temperature value at the current moment being in the speed regulation temperature range, and the actual temperature value at the previous moment of the current moment not being in the speed regulation temperature range, using the first speed value at the current moment as the calculated speed value at the current moment.

[0023] Optionally, before using the first speed value to determine the calculated speed value, the heat dissipation control method of the server also includes: performing a linear calculation based on the actual temperature value of the component to obtain a second speed value; using the first speed value to determine the calculated speed value includes: using the larger value of the second speed value and the first speed value as the calculated speed value.

[0024] Optionally, obtaining the second speed value by performing a linear calculation based on the actual temperature value of the component includes: obtaining multiple temperature change curves corresponding to the component, the temperature change curves being linear relationship curves between temperature and speed; and obtaining the second speed value based on the actual temperature value of the component and the temperature change curves.

[0025] Optionally, obtaining a second speed value based on the actual temperature value of the component and the temperature change curve includes: determining an actual temperature change trend based on the actual temperature value of the component; in response to the actual temperature change trend being different from the temperature change trend of the currently used curve, and the difference between the actual temperature value of the component and the current temperature maximum value in the current speed regulation stage satisfies a switching condition, obtaining a second speed value based on the actual temperature value of the component and a to-be-selected curve; the currently used curve and the to-be-selected curve are two curves with opposite temperature change trends among the multiple temperature change curves.

[0026] Optionally, after determining the actual temperature change trend based on the actual temperature value of the component, the heat dissipation control method of the server also includes: in response to the actual temperature change trend being different from the temperature change trend of the current usage curve, and the difference between the actual temperature value of the component and the current maximum temperature value in the current speed regulation stage does not meet the switching condition, obtaining a second speed value based on the current maximum temperature value and the current usage curve.

[0027] Optionally, after determining the actual temperature change trend based on the actual temperature value of the component, the heat dissipation control method of the server also includes: in response to the actual temperature change trend being the same as the temperature change trend of the current usage curve, obtaining a second rotation speed value based on the actual temperature value of the component and the current usage curve.

[0028] Optionally, determining the preset fan speed range corresponding to each component in the server includes: for each component in the server, based on the power consumption and / or air volume requirement and / or performance limitation of the component and / or the power consumption change in a first time period and / or the temperature change in a second time period, determining the speed upper limit value and the speed lower limit value corresponding to the component, and using the speed upper limit value and the speed lower limit value to obtain the preset fan speed range corresponding to the component.

[0029] Optionally, determining the control speed value from at least one target speed value corresponding to each of the fans includes: for each of the fans, in response to a target speed value corresponding to the fan, determining the target speed value of the fan as the control speed value; or, for each of the fans, in response to multiple target speed values ​​corresponding to the fan, taking the maximum value of the multiple target speed values ​​corresponding to the fan as the control speed value.

[0030] To solve the above technical problems, the present invention further provides a heat dissipation control system for a server, the server comprising a plurality of fans, the heat dissipation control system for the server comprising: a first determination module, used to determine a preset fan speed range, a main heat dissipation partition and an auxiliary heat dissipation partition corresponding to each component in the server, the main heat dissipation partition comprising at least one first fan, the auxiliary heat dissipation partition comprising a plurality of second fans, the second fans being fans other than the first fan among the plurality of fans; a first calculation module, used to determine, for each of the components, a current weight coefficient of each of the fans corresponding to the component, and obtain a target speed value of each of the fans corresponding to the component by using an actual temperature value of the component and a current weight coefficient of each of the fans corresponding to the component; the target speed value is within the preset fan speed range corresponding to the component, and when the component meets the collaborative heat dissipation condition, the current weight coefficient of the first fan corresponding to the component and the current weight coefficient of at least one of the second fans are both preset maximum coefficients; a second determination module, used to determine a control speed value from at least one target speed value corresponding to each of the fans, and control the operation of the fan according to the control speed value.

[0031] To solve the above technical problem, the present invention further provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the heat dissipation control method for a server as described in any one of the above items.

[0032] To solve the above technical problems, the present invention further provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of the heat dissipation control method for a server as described in any one of the above items when executing the computer program.

[0033] In order to solve the above technical problem, the present invention further provides a server, comprising a plurality of fans, a plurality of components and the electronic device as described above.

[0034] To solve the above technical problems, the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the heat dissipation control method for the server as described in any one of the above items are implemented.

[0035] The present application provides a heat dissipation control method for a server. For each component in the server, a preset fan speed range, a main heat dissipation partition and an auxiliary heat dissipation partition are set for it. During the actual operation of the server, the current weight coefficients of multiple fans corresponding to the component are obtained, and the corresponding target speed values ​​of each fan are calculated according to the actual temperature value of the component and the weight coefficients of each fan corresponding to the component, and the target speed value of each fan is limited to the preset fan speed range corresponding to the component, so that each fan can operate within a reasonable working range, extend the life of the fan and maintain stable heat dissipation performance. When the current component meets the collaborative heat dissipation conditions, the current weight coefficients of all current first fans and the current weight coefficient of at least one current second fan corresponding to the current component are both preset maximum coefficients. By increasing the weight coefficients of the fans in the main heat dissipation partition and the auxiliary heat dissipation partition, the high heat dissipation demand of the component can be quickly responded to, ensuring the stable operation of the server.

[0036] The present application also provides a heat dissipation control system of a server, a computer program product, an electronic device, a server and a computer-readable storage medium, which have the same beneficial effects as the heat dissipation control method of the server. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0038] Figure 1 This is a flow chart of the steps of a heat dissipation control method for a server provided by the present invention.

[0039] Figure 2 A schematic diagram of the correlation between a fan and components provided by the present invention.

[0040] Figure 3 This is a flow chart of the steps of another method for controlling heat dissipation of a server provided by the present invention.

[0041] Figure 4 This is a structural schematic diagram of a server heat dissipation control system provided by the present invention.

[0042] Figure 5 The present invention is a schematic structural diagram of an electronic device provided by the present invention.

[0043] Figure 6 This is a schematic diagram of the structure of a computer-readable storage medium provided by the present invention. DETAILED DESCRIPTION

[0044] The core of the present invention is to provide a server and its heat dissipation control method, system, product, equipment and medium, which can limit the control speed value of each fan to a preset fan speed range, avoid the problem of too large or too small control speed value, reduce noise and energy consumption, extend the service life of the fan, and maintain the performance and stability of the server.

[0045] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0046] First, please refer to Figure 1 , Figure 1 This is a flow chart of the steps of a heat dissipation control method for a server provided by the present invention, and the heat dissipation control method for the server includes:

[0047] S101: Determine a preset fan speed range, a main cooling partition, and an auxiliary cooling partition corresponding to each component in the server, wherein the main cooling partition includes at least one first fan, and the auxiliary cooling partition includes multiple second fans, where the second fan is a fan other than the first fan among the multiple fans.

[0048] Taking into account that the server includes multiple components, the components in this embodiment may specifically be components that generate heat during operation, including but not limited to the CPU (Central Processing Unit), GPU (Graphics Processing Unit), memory, PSU (Power Supply Unit), etc. in the server.

[0049] It can be understood that the server includes multiple fans, and the multiple fans realize the heat dissipation of various components in the server. Considering that different components have different heating characteristics, the heat dissipation requirements of each fan are also different. In this embodiment, a preset fan speed range is set for each component in the server, so as to provide more accurate heat dissipation management. Specifically, the preset fan speed ranges corresponding to different components may be different. For example, during the operation of the server, the heat generated by components such as the CPU and GPU is relatively large. Therefore, the preset fan speed ranges set for the CPU and GPU respectively can be relatively wide, and the speed upper limit value of the preset fan speed range can be set relatively high to ensure effective heat dissipation at peak load; for example, the heat generated by components such as the memory and PSU is relatively small. Therefore, the preset fan speed ranges set for the memory and PSU respectively can be relatively narrow, and the speed upper limit value of the preset fan speed range can be set relatively low. The preset fan speed range is used to limit the upper and lower speed limits of each fan when cooling the component, so that when each fan is cooling the component, the component can operate in a safe condition and further avoid waste of resources. That is, while ensuring the heat dissipation effect, unnecessary power consumption is reduced and the energy efficiency ratio of the server is improved.

[0050] In this embodiment, for each component, multiple fans in the server are divided to obtain the main heat dissipation partition and the auxiliary heat dissipation partition corresponding to each component. In this embodiment, the fan divided into the main heat dissipation partition among the multiple fans is called the first fan, and the fan divided into the auxiliary heat dissipation partition is called the second fan. The main heat dissipation partition and / or auxiliary heat dissipation partition corresponding to different components may be different. It can be understood that fan partition is a logical or physical division based on the heat dissipation requirements of different components inside the server, allowing targeted heat dissipation strategies to be implemented in different areas. Fan partition may involve the physical design of the server, such as the layout of the fan and the arrangement of the air duct, to achieve the best air flow and heat dissipation effect. For example, it is assumed that there are 6 fans in the server, which are respectively recorded as F1, F2, F3, F4, F5 and F6, among which the heat dissipation partition composed of F1 and F2 is the main heat dissipation partition of CPU0, then F1 and F2 are the first fans corresponding to CPU0, and accordingly, the heat dissipation partition composed of F3, F4, F5 and F6 is the auxiliary heat dissipation partition of CPU0, and F3, F4, F5 and F6 are all the second fans corresponding to CPU0. Among them, the cooling partition composed of F3 and F4 is the main cooling partition of CPU1, then F3 and F4 are the first fans corresponding to CPU1, and accordingly, the cooling partition composed of F1, F2, F5 and F6 is the auxiliary cooling partition of CPU1, and F1, F2, F5 and F6 are the second fans corresponding to CPU1.

[0051] As an optional embodiment, the main heat dissipation partition and the auxiliary heat dissipation partition can be divided according to the distance between each component and each fan, and the heat dissipation requirements of each component for each fan. The fan closer to the component can dissipate heat for the component more effectively, and the fan facing the component can provide heat dissipation more directly. Exemplarily, assuming that the distance between F1 and F2 and CPU0 is small, and the air outlet direction of F1 and F2 is facing CPU0, then the heat dissipation partition composed of F1 and F2 can be determined as the main heat dissipation partition of CPU0, and the heat dissipation partition composed of F3, F4, F5 and F6 can be divided into the auxiliary heat dissipation partition of CPU0. It can be understood that the first fan in the main heat dissipation partition is responsible for the main heat dissipation work of the component, and the second fan in the auxiliary heat dissipation partition is used to provide additional heat dissipation support when needed. In this embodiment, the main heat dissipation partition and the auxiliary heat dissipation partition are determined separately for each component, so as to perform precise heat dissipation control on the fans in different heat dissipation partitions later. While the fan in the main heat dissipation partition is responsible for the main heat dissipation task, the fan in the auxiliary heat dissipation partition can provide additional heat dissipation capacity when needed, thereby achieving efficient heat dissipation.

[0052] S102: For each component, determine the current weight coefficients of each fan corresponding to the component, and use the actual temperature value of the component and the current weight coefficients of each fan corresponding to the component to obtain the target speed values ​​of each fan corresponding to the component; the target speed value is within the preset fan speed range corresponding to the component, and when the component meets the collaborative heat dissipation conditions, the current weight coefficient of the first fan corresponding to the component and the current weight coefficient of at least one second fan are both preset maximum coefficients.

[0053] The server in this embodiment also includes a temperature sensor for detecting the actual temperature value of each component. As an optional embodiment, the temperature sensor can be installed near the component to improve the accuracy of the temperature reading. The actual temperature value of the component reflects the heating state of the component at the current moment. The temperature sensor continuously collects the actual temperature value of the component. Each time the actual temperature value of the component is collected, it can be transmitted to the BMC (Baseboard Management Controller) through the sensor interface. After the BMC obtains the temperature value collected by the temperature sensor, it includes but is not limited to parsing, calibrating, processing, etc. of the collected temperature value to ensure the accuracy and reliability of the actual temperature value. It can be understood that the steps of the heat dissipation control method of the server in this embodiment can be executed by the BMC. Further, the preset fan speed range of each component can be pre-stored in the storage space of the BMC for subsequent efficient heat dissipation control. Through this heat dissipation control method integrating the temperature sensor and the BMC, the server can more effectively manage its internal temperature, ensure stable operation of the system, optimize energy consumption and extend the life of the hardware.

[0054] This embodiment allocates a weight coefficient to each fan corresponding to each component in the server. The fans corresponding to the component may be all fans in the server or all fans in the server that have a heat dissipation effect on the component. For example, if the server includes 10 fans, namely F1 to F10, all fans corresponding to the component may be F1 to F10. If the position and air outlet direction of F9 and F8 cannot meet the heat dissipation requirements for the component, then all fans corresponding to the component may be F1 to F7 and F10. It can be understood that the weight coefficient of the fan refers to the priority or adjustment ratio assigned according to the importance of each fan partition and the heat dissipation requirements in heat dissipation management, which affects the fan speed and heat dissipation efficiency.

[0055] Among them, the current weight coefficient of each fan relative to the component is adjustable, and the current weight coefficient of each fan may include the corresponding adaptation weight coefficient when the component meets certain conditions, and may also include the initial weight coefficient to optimize the heat dissipation effect. Among them, the initial weight coefficient is positively correlated with the heat dissipation dependence of the component on the fan, that is, the higher the heat dissipation dependence of the component on the fan, the higher the initial weight coefficient of the fan corresponding to the component. For example, if fan F1 is crucial to the heat dissipation effect of component CPU0, the initial weight coefficient of fan F1 corresponding to CPU0 can be set to 100%. The size and number of the adaptation weight coefficients can be determined according to the conditions (such as temperature, load, etc.) met by the component, and this embodiment does not limit this. It can be understood that since each fan can provide heat dissipation for multiple components, but the degree of dependence of each component on different fans may be different, the same fan may have different weight coefficients relative to different components. For example, fan F1 is crucial to the heat dissipation of CPU0, so its initial weight coefficient for CPU0 is 100%, and for another component CPU1, the importance of fan F1 may be lower, so its initial weight coefficient for CPU1 may be 60%. The value range of the weight coefficient is 0~100%.

[0056] As an optional embodiment, a correspondence table of components-fans-satisfied conditions-weight coefficients may be established in advance, and the correspondence table may be stored in advance in the storage space of the BMC, or in other storage space inside the server. The storage environment may be selected according to actual needs, and this embodiment is not limited here.

[0057] In this embodiment, the weight coefficient of the fan is dynamically adjusted. When the temperature of a component increases or the load increases, the weight coefficient of the fan corresponding to the component can be increased to enhance the heat dissipation effect. On the contrary, when the temperature of the component decreases or the load decreases, the weight coefficient can be reduced to save energy. The weight coefficient can be adjusted based on preset conditions, such as the collaborative heat dissipation condition in this embodiment. When the temperature of the component exceeds a certain threshold or the server enters a high-load state, it can be determined that the component meets the collaborative heat dissipation condition.

[0058] As an optional embodiment, the BMC can continuously monitor the temperature and load of each component. When it is monitored that the temperature of the component increases or the load increases, it indicates that the heat dissipation demand increases, and it can be further determined whether the increase meets the coordinated heat dissipation conditions. As another optional embodiment, if all the first fans of the main heat dissipation partition corresponding to the component are running at the upper limit of the speed corresponding to the component, and the actual temperature value of the component continues to increase, it is determined that the component meets the coordinated heat dissipation conditions. Of course, the coordinated heat dissipation conditions can be set according to actual engineering needs, and this embodiment is not specifically limited here.

[0059] Specifically, when a component meets the conditions for collaborative heat dissipation, if it is determined that the target speed value calculated by the first fan in the main heat dissipation partition of the component with a preset maximum coefficient (i.e., 100%) for heat dissipation of the component may not be able to meet the heat dissipation requirements. At this time, in addition to calculating a higher target speed value with the preset maximum coefficient for the first fan in the main heat dissipation partition corresponding to the component, at least one second fan should be determined in the auxiliary heat dissipation partition to also calculate a higher target speed value with the preset maximum coefficient, thereby increasing the speed of the first fan and the speed of the selected second fan to speed up the heat dissipation of the component and improve the heat dissipation efficiency.

[0060] It can be understood that the target speed value of each fan corresponding to the component will be limited to the preset fan speed range corresponding to the component, that is, if the speed value calculated based on the actual temperature value of the component and the current weight coefficient of the fan is within the preset fan speed range, then the target speed value of the fan is the calculated speed value, if the speed value calculated based on the actual temperature value of the component and the current weight coefficient of the fan is greater than the speed upper limit value of the preset fan speed range, then the target speed value of the fan is the speed upper limit value of the preset fan speed range, and correspondingly, if the speed value calculated based on the actual temperature value of the component and the current weight coefficient of the fan is less than the speed lower limit value of the preset fan speed range, then the target speed value of the fan is the speed lower limit value of the preset fan speed range, thereby avoiding the problem of too large or too small target speed value and achieving more effective heat dissipation control. Using the scheme of this implementation, if the actual temperature of the component continues to rise, the first fan in the main heat dissipation partition corresponding to the component and the selected second fan in the auxiliary heat dissipation partition will reach the speed upper limit value of the preset fan speed range corresponding to the component to efficiently dissipate heat for the component.

[0061] As an optional embodiment, when a component requires more heat dissipation, the current weight coefficient of the first fan of the main heat dissipation partition is adjusted first. When the fan of the main heat dissipation partition is not sufficient to meet the heat dissipation demand, the second fan of the auxiliary heat dissipation partition will be added to assist in heat dissipation. In this implementation, since the heat dissipation demand of the component is still not met after the current weight coefficient of the first fan of the main heat dissipation partition is adjusted to the preset maximum coefficient, it means that the temperature of the component is relatively high. Then, for the second fan of the auxiliary heat dissipation partition, the target speed value calculated based on the actual temperature value of the component and the preset maximum coefficient is likely to be close to or reach the upper limit of the preset fan speed range corresponding to the component, further improving the heat dissipation efficiency, thereby avoiding heat dissipation delays caused by gradual adjustments. Using the solution of this embodiment, the BMC can quickly respond to the high heat dissipation needs of the components, ensure that key components will not overheat, and thus ensure the stable operation of the server.

[0062] In this embodiment, by dynamically adjusting the weight coefficient, the heat dissipation demand of the component can be quickly responded to, and the speed of the fan of the main heat dissipation partition and the auxiliary heat dissipation partition can be increased to dissipate heat for the component more effectively. When the heat dissipation demand of the component decreases, the fan weight coefficient can be reduced to reduce the fan speed and save energy. With the solution of this embodiment, the BMC can dynamically adjust the weight coefficient of the fan according to the real-time monitoring data, thereby achieving efficient heat dissipation management and ensuring that the server can maintain stable operation under various workloads.

[0063] S103: Determine a control speed value from at least one target speed value corresponding to each fan, and control the operation of the fan according to the control speed value.

[0064] It can be understood that each fan may dissipate heat for at least one component, and the same fan may have different current weight coefficients corresponding to different components. Therefore, based on the above steps, each fan will have at least one target speed value. For each fan, if the fan only corresponds to one target speed value, then the target speed value is the control speed value of the fan. If the fan corresponds to multiple target speed values, the maximum value among the multiple target speed values ​​corresponding to the fan is determined as the control speed value of the fan, and the fan operation is controlled according to the control speed value, including but not limited to adjusting the fan's PWM signal to change the fan speed.

[0065] It can be understood that when a fan corresponds to multiple target speed values ​​and the maximum value is selected as the fan control speed value, the control speed value may exceed the speed upper limit value of the preset fan speed range corresponding to some components. In this embodiment, one of the settings of the speed upper limit value of the preset fan speed range corresponding to the component is to avoid resource waste and reduce noise, rather than the fan failing to reach the speed upper limit value when cooling the component. In an emergency, these restrictions can be adjusted dynamically. For example, under conditions where some components meet the conditions for coordinated heat dissipation, it means that the component is currently running at a high temperature. Considering that high temperature may quickly damage electronic components, under high temperature conditions, the heat dissipation effect must be given priority to protect the hardware from heat damage.

[0066] For example, it is assumed that fan F8 is mainly used to dissipate heat for PCIe (Peripheral Component Interconnect express) cards, but when CPU0 is in a cooperative heat dissipation condition, F8 serves as a second fan to provide auxiliary heat dissipation for CPU0. Considering that the operating power consumption of the PCIe card is lower than that of CPU0, the maximum operation of fan F8 at a PWM value of 50 can ensure that the PCIe card operates within its corresponding safe temperature range. Fan F8 can of course also operate at a higher PWM value, but in order to avoid resource waste and reduce noise, the upper limit value of the speed corresponding to the PCIe card can be determined as 50. Correspondingly, for CPU0, the upper limit value of the speed corresponding to fan F8 is 70. If CPU0 meets the cooperative heat dissipation condition at this time, then the target speed value of fan F8 determined includes the speed value pwm_pcie determined for the PCIe card. As well as the speed value of 70 determined for CPU0 (after the current weight coefficient of fan F8 is adjusted to the preset maximum coefficient of 100%, the target speed value will eventually be calculated to be 70), 70 is selected as the control speed value of fan F8. At this time, 70>pwm_pcie. Although it exceeds the speed upper limit corresponding to the PCIe card that it is mainly responsible for, because the high temperature condition of CPU0 needs to be handled first, the temperature of CPU0 will drop in a short time. Once the temperature of CPU0 drops to a safe level and does not meet the collaborative heat dissipation conditions, the speed of fan F8 can be restored to a normal range under the dynamic adjustment of the weight coefficient.

[0067] This method of dynamically adjusting the fan speed can flexibly respond to the cooling needs of different components, ensuring that the temperature of high-temperature components can be effectively reduced in emergency situations, and at the same time, after the temperature is controlled, it can return to energy-saving and low-noise operation. This strategy reflects the high intelligence and flexibility of cooling control.

[0068] Among them, the speed value in this embodiment can specifically be a PWM value. The PWM value refers to the fan speed calculated by the BMC according to the actual temperature value of the component, which is 255-base (corresponding to 100% duty of the fan). If the calculated PWM value is 51, the PWM value is converted into the duty cycle of the fan, that is, 51 / 2.55=20% duty, that is, the fan will run at a duty cycle of 20%.

[0069] It can be seen that in this embodiment, a preset fan speed range, a main cooling partition and an auxiliary cooling partition are set for each component in the server. During the actual operation of the server, the current weight coefficients of the multiple fans corresponding to the component are obtained, and the corresponding target speed values ​​of the fans are calculated according to the actual temperature value of the component and the weight coefficients of the fans corresponding to the component, and the target speed value of each fan is limited to the preset fan speed range corresponding to the component, so that each fan can operate within a reasonable working range, extend the life of the fan and maintain stable cooling performance. When the current component meets the collaborative cooling conditions, the current weight coefficients of all current first fans and the current weight coefficient of at least one current second fan corresponding to the current component are both preset maximum coefficients. By increasing the weight coefficients of the fans in the main cooling partition and the auxiliary cooling partition, the high cooling demand of the component can be responded to quickly to ensure the stable operation of the server.

[0070] Based on the above embodiments:

[0071] In an exemplary embodiment, determining the current weight coefficients of each fan corresponding to a component includes: when a component does not meet the conditions for collaborative heat dissipation, determining the current weight coefficients of each fan corresponding to the component based on the distance between each fan corresponding to the component and the component and / or the air outlet direction of each fan corresponding to the component; the current weight coefficient is negatively correlated with the distance, and / or the current weight coefficient and the degree of influence of the air outlet direction on the heat dissipation effect of the component are positively correlated.

[0072] In this embodiment, one component is used as an example for explanation, and the same applies to other components. When a component does not meet the conditions for coordinated heat dissipation, the initial weight coefficient obtained by the degree of dependence of the component on the heat dissipation of each fan can be determined as the current weight coefficient of each fan, and the degree of dependence of the component on each fan can be determined based on the distance between the component and the fan and / or the air outlet direction of the fan. Specifically, when a component does not meet the conditions for coordinated heat dissipation, no additional heat dissipation support is required. At this time, the current weight coefficient of the fan can be adjusted based on the distance between the fan and the component. Specifically, considering that the fan farther away from the component has a poorer heat dissipation effect on the component, the farther the fan is from the component, the lower its current weight coefficient will be. On the other hand, considering that the fan's air outlet direction has a direct impact on the heat dissipation effect of the component, if the fan's air outlet direction can cool the component more effectively, the current weight coefficient of the fan will be higher. Specifically, if the fan's airflow blows directly to the component, this is usually the most effective way to dissipate heat, so the fan's current weight coefficient will be higher. If the fan's air outlet direction needs to bypass obstacles or pass through other components to reach the component, the effective value of this airflow will be reduced, so the corresponding current weight coefficient will also be lower. Of course, if the effective value of heat dissipation can be improved by adjusting the fan's air outlet direction, then after the adjustment, the fan's current weight coefficient should increase.

[0073] For example, suppose that a server has a CPU and two fans (F1 and F2), F1 is closer to the CPU, while F2 is farther away. When the CPU is not in a high temperature state, the weight coefficient of F1 will be higher because it is closer to the CPU and can dissipate heat for the CPU more effectively. The weight coefficient of F2 will be lower because it is farther away from the CPU and the heat dissipation effect is poor. If the air outlet direction of F1 is toward the CPU, while the air outlet direction of F2 is not, then the weight coefficient of F1 will increase further, while the weight coefficient of F2 may remain unchanged or increase slightly.

[0074] When determining the current weight coefficient of each fan corresponding to a component, it is first necessary to measure or simulate the distance between the fan and the component and the air outlet direction, evaluate the effective value of its heat dissipation for the component based on the air outlet direction, and calculate the current weight coefficient of the fan by combining the distance and the effective value of heat dissipation. Among them, the physical distance between the fan and the component can be determined by sensors or manual measurements, or in the product design stage, CFD (computational fluid dynamics) simulation may be used to evaluate the distance between the fan and the component. The air outlet direction of the fan can be determined by analyzing the installation position and direction of the fan, as well as the air duct design inside the chassis, and the contribution of the fan to the heat dissipation of the component can be evaluated according to the air outlet direction of the fan, that is, the effective value of heat dissipation. The effective value of heat dissipation can be a coefficient between 0 and 1, indicating the efficiency of the fan in cooling the component. In this way, the BMC can ensure that fan resources are not overused when not necessary, thereby saving energy and reducing noise, while providing effective heat dissipation when needed.

[0075] In an exemplary embodiment, when a component does not meet the conditions for coordinated heat dissipation, the current weight coefficients of the fans corresponding to the component are determined based on the distance between the fans corresponding to the component and the component and / or the air outlet direction of the fans, including: when the component does not meet the conditions for coordinated heat dissipation, the first fan with the shortest distance from the component and the air outlet direction toward the component is selected as the main heat dissipation fan of the component, and the current weight coefficient of the main heat dissipation fan is determined as a preset maximum coefficient; the current weight coefficients of the auxiliary heat dissipation fans are determined according to the distance between the auxiliary heat dissipation fans corresponding to the component and the component and the preset maximum coefficient; the auxiliary heat dissipation fans are fans other than the main heat dissipation fans among the fans corresponding to the component.

[0076] In this embodiment, taking into account that when a component does not meet the conditions for collaborative heat dissipation, in order to save resources and reduce noise, the current weight coefficients of the first fans corresponding to the components are not required to be set according to the preset maximum coefficients. Assuming that the main heat dissipation partition of the component includes a first fan, based on the above-mentioned main / auxiliary heat dissipation partition division basis, the first fan is the fan with the shortest distance to the component and the blowing direction toward the component. The first fan is the main heat dissipation fan of the component. Assuming that the main cooling partition of the component includes multiple first fans, then according to the distances between the multiple first fans and the component and the air outlet directions of each first fan, a first fan that is closest to the component and blowing air toward the component is selected as the main cooling fan, and the other first fans except the main cooling fan in the main cooling partition and the second fans in the auxiliary cooling partition are all used as auxiliary cooling fans when the component does not meet the collaborative cooling conditions, and the current weight coefficient of the main cooling fan is set to the preset maximum coefficient. The current weight coefficient of the auxiliary cooling fan is determined according to the distance between the auxiliary cooling fan and the component and the preset maximum coefficient. The current weight coefficient of the auxiliary cooling fan is negatively correlated with the distance between the auxiliary cooling fan and the component, and / or the current weight coefficient of the auxiliary cooling fan is positively correlated with the degree of influence of its air outlet direction on the cooling effect of the component.

[0077] For example, refer to Figure 2 As shown, the server includes fans F1~F6, the main cooling partition of CPU0 includes the first fans F1~F3, and the auxiliary cooling partition includes the second fans F4~F6, wherein F2 is closest to CPU0, F2 is the main cooling fan of CPU0, F1 and F3 are auxiliary cooling fans of the main cooling partition, F4~F6 are auxiliary cooling fans of the auxiliary cooling partition, the distances between F1 and F3 and CPU0 are both L1, the distance between F4 and CPU0 is L2, the distance between F5 and CPU0 is L3, and the distance between F6 and CPU0 is L4, wherein L1<L2<L3<L4, therefore, the current weight coefficients of F1 and F3 may be γ1×100%, the current weight coefficient of F4 may be γ2×100%, the current weight coefficient of F5 may be γ3×100%, and the current weight coefficient of F5 may be γ4×100%, wherein 1>γ1>γ2>γ3>γ4>0.

[0078] It can be understood that the air outlet pressure of a low-speed fan is smaller and the wind flow is weaker, while the air outlet pressure of a high-speed fan is larger and the wind flow is stronger, and it is easy to spread to the surrounding area. Considering that when multiple fans are working at the same time, the high-pressure and strong wind flow generated by the high-speed fan may affect the wind flow of the low-speed fan, resulting in uneven wind flow distribution. For fans that are far away from the components, since their heat dissipation effect on the components is relatively weak and may be affected by the wind flow of high-speed fans, their current weight coefficients can be adjusted to the same value to avoid the speed of fans far away from the components being too low, ensuring that the wind flow of the high-speed fan will not spread excessively and weaken the wind flow of the low-speed fan.

[0079] As an optional embodiment, the current weight coefficients of the auxiliary cooling fans whose distances from the components are greater than the preset distance can be adjusted to the same value. If L3 is the preset distance, and the distances between F5 and F6 and CPU0 are greater than or equal to L3, then the current weight coefficients of F5 and F6 can be adjusted to γ3×100%. By adopting the solution of this embodiment, the BMC can ensure that the fan can provide effective heat dissipation while avoiding unnecessary wind flow interference, thereby optimizing heat dissipation efficiency and energy use.

[0080] In an exemplary embodiment, determining the current weight coefficient of each auxiliary cooling fan according to the distance between each auxiliary cooling fan corresponding to the component and the component and a preset maximum coefficient includes: obtaining a reflux limit value corresponding to the server; determining the current weight coefficient of each auxiliary cooling fan according to the reflux limit value, the preset maximum coefficient, and the distance between each auxiliary cooling fan corresponding to the component and the component, so that the difference between the target speed values ​​of any two adjacent fans corresponding to the component is less than the reflux limit value.

[0081] It can be understood that in server heat dissipation management, the backflow limit value means that in order to avoid backflow between fans, the speed difference of adjacent fans needs to be kept within a specific range. The backflow limit value can be a parameter determined during server design, which is determined based on factors such as fan characteristics, internal aerodynamics of the server, and heat dissipation requirements. The BMC can obtain this value from the server configuration file or through other means. Specifically, the duty cycle difference β is set, and the duty cycle difference β is used to limit the difference in speed of adjacent fans. The following formula is used to ensure that the speed difference of adjacent fans meets the duty cycle deviation value requirement (PWM1-PWM2) / PWM1≤β. It can be understood that the backflow limit value is used to define the maximum speed difference allowed between adjacent fans to avoid backflow. The duty cycle difference β is used to limit the duty cycle difference of adjacent fans in actual operation to ensure that their speed difference does not exceed the backflow limit value.

[0082] Still using the above example to explain, refer to Figure 2As shown, the server includes fans F1~F6, the main cooling partition of CPU0 includes the first fans F1~F3, and the auxiliary cooling partition includes the second fans F4~F6, among which F2 is closest to CPU0, F2 is the main cooling fan of CPU0, F1 and F3 are auxiliary cooling fans of the main cooling partition, and F4~F6 are auxiliary cooling fans of the auxiliary cooling partition. Then, the current weight coefficient of F2 is the preset maximum coefficient 100%. For F1 and F3 on both sides of F2, their current weights are set to 100%×β. For F4 extending backward from F3, the current weight value of F4 can be set to 100%×β×β. And so on. According to the distance from the component, the current weight coefficient of the farther the fan is, the lower it is.

[0083] The solution of this embodiment ensures that the fan speed setting can meet the heat dissipation requirements while avoiding backflow, which helps to maintain a stable airflow, reduce the generation of hot spots inside the server, and optimize the heat dissipation efficiency.

[0084] In an exemplary embodiment, the heat dissipation control method also includes: determining at least one adjustment fan among the second fans corresponding to the component based on the distance between the second fans corresponding to the component and the component and / or the air outlet direction of the second fans corresponding to the component, so that when the component meets the collaborative heat dissipation conditions, the current weight coefficient of each adjustment fan is determined as a preset maximum coefficient.

[0085] In this embodiment, considering that not all second fans in the auxiliary heat dissipation interval corresponding to the component need to be used as fans to assist the component in heat dissipation, in order to achieve efficient heat dissipation of the component when the cooperative heat dissipation condition is met, this embodiment selects and adjusts the fan according to the distance between the second fan and the component in the auxiliary heat dissipation interval corresponding to the component and / or the air outlet direction of the second fan. The screening basis includes but is not limited to selecting the second fan closest to the component as the adjustment fan in the auxiliary heat dissipation interval corresponding to the component, and / or selecting the second fan whose air outlet direction directly points to the component in the auxiliary heat dissipation interval corresponding to the component as the adjustment fan. It can be understood that the closer the distance, the better the auxiliary heat dissipation effect of the second fan on the component, and the directness of the air outlet direction determines that the wind can more effectively take away the heat generated by the component. When the component meets the cooperative heat dissipation condition, the adjustment fan is used as a fan to assist the component in heat dissipation, and the current weight coefficient of the adjustment fan is adjusted to the preset maximum coefficient (100%) so that the adjustment fan can run at the upper limit of the speed corresponding to the component, thereby providing the maximum heat dissipation effect. This step ensures that under the cooperative heat dissipation condition, only the most effective second fan will be used for auxiliary heat dissipation.

[0086] In this embodiment, a component-adjustment fan correspondence table can be established in advance based on the distance between the component and its corresponding second fan and the air outlet direction, and pre-stored in the storage space of the BMC, so that during actual operation, the adjustment fan corresponding to the component can be directly determined based on the component that meets the collaborative heat dissipation conditions and the correspondence table to improve the heat dissipation control efficiency.

[0087] For example, it is assumed that the server includes a CPU and five fans, namely F1 to F5, the main cooling partition corresponding to the CPU includes the first fan F1, and the auxiliary cooling partition includes the second fans F2, F3, F4 and F5. The collaborative cooling conditions include but are not limited to the CPU temperature exceeding 85°C or the CPU load exceeding 80%. If the BMC detects that the CPU temperature has risen to 90°C and the load has reached 85%, the collaborative cooling conditions are met. It is found that F2 is closest to the CPU. After analyzing the air outlet direction, the airflow of F3 is directly directed to the CPU. According to the screening criteria, since F2 is closest and F3 has the most direct air outlet direction, F2 and F3 are selected as adjustment fans, and the BMC adjusts the current weight coefficients of F2 and F3 to the preset maximum coefficient. Due to the auxiliary cooling of F2 and F3, the temperature of the CPU begins to drop. The BMC continuously monitors the temperature of the CPU. Once the temperature is stable and lower than the threshold of the collaborative cooling condition, the BMC will readjust the current weight coefficients of F2 and F3 to save energy and reduce noise.

[0088] It is understandable that the number of adjustment fans corresponding to different components may be different. For example, the CPU requires 5 adjustment fans and the GPU requires 3 adjustment fans. The number can be set according to actual engineering needs, and this embodiment does not limit this.

[0089] In an exemplary embodiment, obtaining target speed values ​​of each fan corresponding to the component by using the actual temperature value of the component and the current weight coefficient of each fan corresponding to the component includes: obtaining a calculated speed value by using the actual temperature value of the component; and obtaining the target speed value of each fan corresponding to the component based on the calculated speed value and the current weight coefficient of each fan corresponding to the component.

[0090] In this embodiment, the calculated speed value is obtained by using the actual temperature value of the component. Specifically, the calculated speed value can be obtained by performing PID calculation and / or linear calculation on the actual temperature value, and the calculated speed value and the current weight coefficient of the fan are multiplied to obtain a reference speed value. The speed value that is the same as or closest to the reference speed value within the preset fan speed range corresponding to the component is determined as the target speed value of the fan. The purpose of limiting the calculated target speed value within the preset fan speed range of the component is to ensure that the fan can operate in the most efficient and safest manner to meet the heat dissipation requirements while avoiding unnecessary energy consumption and noise generation.

[0091] In an exemplary embodiment, obtaining the target speed value of each fan corresponding to a component based on the calculated speed value and the current weight coefficient of each fan corresponding to the component includes: obtaining the reference speed value of each fan corresponding to the component based on the calculated speed value and the current weight coefficient of each fan corresponding to the component; for each fan corresponding to the component, in response to the reference speed value being within the preset fan speed range corresponding to the component, using the reference speed value as the target speed value of the fan; in response to the reference speed value being less than the lower limit value of the preset fan speed range corresponding to the component, using the lower limit value of the speed as the target speed value of the fan; in response to the reference speed value being greater than the upper limit value of the preset fan speed range corresponding to the component, using the upper limit value of the speed as the target speed value of the fan.

[0092] In this embodiment, the reference speed value of the fan is first calculated according to the calculated speed value and the current weight coefficient of the fan relative to the component. If the reference speed value is within the preset fan speed range corresponding to the component, then the reference speed value is the target speed value of the fan. If the reference speed value is not within the preset fan speed range corresponding to the component, there are two cases. One is that the reference speed value is less than the lower limit of the speed of the preset fan speed range. At this time, the lower limit of the speed is used as the target speed value of the fan, which ensures that even if the calculated speed value is very low, the fan will not run at a speed lower than the safety range. The other is that the reference speed value is greater than the upper limit of the speed of the preset fan speed range. At this time, the upper limit of the speed is used as the target speed value of the fan, which ensures that even if the calculated speed value is very high, the fan will not run at an overspeed, avoiding damage and noise problems. When the temperature of the component is high, the calculated speed value may be very high. In this embodiment, the calculated speed value is first multiplied by the current weight coefficient to obtain the reference speed value, and then the reference speed value is compared with the preset fan speed range, which can ensure that the target speed value of the fan can reach the upper limit of the speed of the preset fan speed range, thereby providing the maximum possible heat dissipation efficiency. If the calculated speed value is compared with the preset fan speed range and then multiplied by the weight coefficient, the fan speed may be unnecessarily limited to a lower level when a high speed is required for heat dissipation, thereby affecting the heat dissipation effect.

[0093] In an exemplary embodiment, obtaining a calculated speed value using an actual temperature value of a component includes: performing a proportional-integral-differential calculation based on the actual temperature value of the component to obtain a first speed value; and determining a calculated speed value using the first speed value.

[0094] In this embodiment, if only the actual temperature value is subjected to PID calculation, the first speed value obtained by PID calculation is the calculated speed value. If linear calculation is required for assistance, the calculated speed value can be determined by the second speed value obtained by linear calculation and the first speed value. As an optional embodiment, the first speed value and the second speed value can be weighted averaged according to a certain weight to obtain the calculated speed value, for example, the calculated speed value = (first speed value × weight 1) + (second speed value × weight 2); as an optional embodiment, the larger of the first speed value and the second speed value can be directly selected as the calculated speed value, that is, the calculated speed value = max (first speed value, second speed value); as an optional embodiment, the smaller of the first speed value and the second speed value can be directly selected as the calculated speed value, that is, the calculated speed value = min (first speed value, second speed value); as another optional embodiment, the first speed value or the second speed value, or a combination thereof, can be selected according to specific conditions or rules. By combining PID and linear calculation, the system can more comprehensively consider various aspects of temperature changes, thereby more effectively controlling the speed of the fan. For example, a PID controller can provide fast response and precise control, while a linear calculation can be used as a backup or auxiliary control to ensure that the system remains stable even under extreme conditions. This composite control strategy can improve the robustness and reliability of the cooling system.

[0095] In an exemplary embodiment, before using the actual temperature value of the component to calculate the speed value, the heat dissipation control method of the server also includes: obtaining the actual temperature value of the component at the current moment; performing proportional-integral-differential calculation based on the actual temperature value of the component to obtain a first speed value, including: obtaining the target control temperature corresponding to the component, the historical speed values ​​of the m moments before the current moment, and the actual temperature value of the n moments before the current moment; based on the target control temperature corresponding to the component, the historical speed values ​​of the m moments before the current moment, the actual temperature value at the current moment, and the actual temperature value of the n moments before the current moment, performing proportional-integral-differential calculation to obtain the first speed value at the current moment; m and n are both positive integers.

[0096] In this embodiment, when performing PID calculation, a control value is calculated based on the current error of the system (the difference between the actual temperature value and the target control temperature), the historical accumulation of the error (integral), and the change trend of the error (differential), that is, the calculated speed value at the current moment in this embodiment. Among them, the target control temperature is the ideal temperature value that the component should maintain, that is, during the operation, the highest temperature value that the component temperature can reach. The speed values ​​at the m moments before the current moment are called historical speed values, which are used for integral and differential calculations. It is also necessary to obtain the actual temperature values ​​at the n moments before the current moment, and these data are also used for integral and differential calculations.

[0097] In an exemplary embodiment, the heat dissipation control method of the server also includes: determining multiple calculation formulas corresponding to multiple component types in the server; the multiple calculation formulas are established based on the target control temperature, the historical speed values ​​at the m moments before the current moment, the actual temperature value at the current moment, the actual temperature value at the n moments before the current moment, the proportional coefficient, the integral coefficient and the differential coefficient; based on the target control temperature corresponding to the component, the historical speed values ​​at the m moments before the current moment, the actual temperature value at the current moment, and the actual temperature value at the n moments before the current moment, a proportional-integral-differential calculation is performed to obtain the first speed value at the current moment, including: in response to identifying the component type of the component, calling the calculation formula corresponding to the component type to calculate the first speed value at the current moment.

[0098] In this embodiment, the component types in the server include at least a first component type and a second component type. The component corresponding to the first component type includes only one temperature collection point, such as a CPU. When performing PID calculation, the actual temperature value of the component is the core temperature value collected by this temperature collection point. The component corresponding to the first component type includes multiple temperature collection points, such as a GPU. When performing PID calculation, the actual temperature value of the component needs to be calculated based on the temperature values ​​of multiple temperature collection points combined with the residual temperature. Taking m=1 and n=2 as an example, the PID calculation relationship for the core temperature can be PWM_PID_Cal(k)=PWM_PID_Cal(k-1)+Kp×(T(k)-T(k-1))+Ki×(T(k)-Tsp)+Kd×(T(k)-2×T(k-1)+T(k-2)). When using the margin temperature, in order to maintain the same control logic, the PID calculation relationship for the margin temperature is PWM_PID_Cal(k)=PWM_PID_Cal(k-1)+Kp×(-T(k)+T(k-1))+Ki(-T(k)+Tsp)+Kd×(-T(k)+2×T(k-1)-T(k-2)).

[0099] Taking the PID calculation relationship corresponding to the core temperature as an example, T(k), T(k-1), and T(k-2) are the actual temperature values ​​of the component collected by the temperature sensor at the kth moment, the k-1th moment, and the k-2th moment, respectively. Among them, Kp×[T(k)-T(k-1)] is the temperature difference term, which represents the difference between the actual temperature value at the kth moment and the actual temperature value at the k-1th moment. When the temperature of the component changes, this term can be used to make the fan respond quickly. Specifically, when the temperature of the component increases, the temperature difference term is positive, which can increase the corresponding fan speed. When the temperature of the component decreases, the temperature difference term is negative, which can reduce the corresponding fan speed. Ki×(T(k)-Tsp) is an integral term, which represents the difference between the actual temperature value at the kth moment and the target control temperature Tsp of the component. Specifically, when the actual temperature value of the component is higher than the target control temperature, the integral term is positive, which can increase the speed of the corresponding fan. When the actual temperature value of the component is lower than the target control temperature, the integral term is negative, which can reduce the speed of the corresponding fan. The target control temperature in this term determines the stable value of the temperature during the control process. Kd×[T(k)-2×T(k-1)+T(k-2)] is a differential term, which represents the difference between the temperature difference at the kth moment and the temperature difference at the k-1 moment. Exemplarily, when the actual temperature value obtained by the BMC is the core temperature of the component, the calculation is performed normally: for example, the core temperature of a component rises from 60°C to 75°C, the target control temperature is 72°C, the core temperature rises and is higher than the target control temperature, then the corresponding Kp item is Kp×(75-60)>0, the PWM demand corresponding to the Kp item increases, and the Ki item corresponding to the Ki item is Ki×(75-72)>0, the PWM demand corresponding to the Ki item increases. When the obtained component is the margin temperature of the component, it is necessary to negate the obtained temperature value and the corresponding margin temperature control point. For example, the margin temperature of the component decreases from 40°C to 50°C, and the corresponding target control temperature of the margin temperature is 28°C. The margin temperature decreases, the core temperature of the corresponding component increases, and the margin temperature is less than the target control temperature. At this time, the corresponding Kp item is Kp×[(-50)-(-40)]>0, and the PWM demand corresponding to the Kp item increases. The Ki item of the Ki item pair is Ki×[(-50)-(-28)]>0, and the PWM demand corresponding to the Ki item increases.

[0100] In an exemplary embodiment, obtaining the historical speed values ​​of the component at the m moments before the current moment includes: obtaining the initial speed value corresponding to the component; when m>k, using the initial speed value as the speed value of all ki-th moments among the m moments before the current moment, k is the current moment, i=k,…,m.

[0101] In this embodiment, considering that when using PID to calculate the first speed value at the current moment, there may not be enough speed values ​​at previous moments. In this case, in order to avoid the fan speed suddenly rising due to the temperature value being obtained initially, the temperature value goes directly from 0 to an actual value, and the calculated PWM value is too large, the initial speed value corresponding to each component in the server is set in this embodiment. When there are not enough speed values ​​at previous moments, the initial speed value is used as the historical speed value at previous moments, so that the fan speed will not change suddenly, but gradually adjust from a reasonable initial value to achieve a smooth transition. It can also prevent the PWM value from being too large due to the calculation error under the initial conditions, thereby avoiding the fan speed from rising suddenly. Once enough data is accumulated, it can smoothly transition to speed control based on the PID algorithm. At this time, the PID controller will adjust the fan speed according to the actual temperature value and the target temperature value.

[0102] Specifically, considering that the PID calculation may need to obtain the historical speed values ​​of the previous m moments, when m>k, that is, the historical data before the current moment is insufficient for PID calculation, the initial speed value is needed to fill the historical speed values ​​before the current moment. Specifically, at the kth moment, the initial speed value is used as the speed value of all ki-th moments among the previous m moments before the kth moment, i=k,...m, assuming m=3, when k=1, the initial speed value is needed to be used as the historical speed value of the k-1th moment, k-2th moment, and k-3th moment. When k=2, the historical speed value of the previous moment has been calculated. At this time, the initial speed value is needed to be used as the historical speed value of the k-2th moment and the k-3th moment. When k=3, the historical speed values ​​of the previous moment and the moment before the previous moment have been calculated, and the initial speed value is needed to be used as the historical speed value of the k-3th moment. When k=4, the historical data before the current moment is sufficient for PID calculation, and there is no need to use the initial speed value to fill. By adopting the solution of this embodiment, a preset initial speed value can be used to stabilize the PID calculation in the initial stage. As actual data accumulates, a gradual transition to PID calculation based entirely on actual data can be achieved, thereby achieving smooth adjustment and precise control of the fan speed.

[0103] In an exemplary embodiment, obtaining the historical speed value of a component at a moment before the current moment includes: when k>1, determining a speed value within a preset fan speed range corresponding to the component that is closest to or equal to a first speed value at a moment before the current moment as the historical speed value at a moment before the current moment.

[0104] In this embodiment, when k>1, at least one historical speed value has been obtained through PID calculation. When obtaining the historical speed value at the k-1th moment, the first speed value at the k-1th moment should be determined, and the speed value within the preset fan speed range corresponding to the component and closest to or equal to the first speed value at the moment before the current moment is determined as the historical speed value at the moment before the current moment. That is, if the first speed value at the k-1th moment is within the preset fan speed range, the first speed value at the k-1th moment is used as the historical speed value at the k-1th moment. If the first speed value at the k-1th moment is not within the preset fan speed range, there are two situations. One is that the first speed value is less than the lower limit of the preset fan speed range. At this time, the lower limit of the speed is used as the historical speed value at the k-1th moment and participates in the calculation of the first speed value at the kth moment. The other is that the first speed value is greater than the upper limit of the preset fan speed range. At this time, the upper limit of the speed is used as the historical speed value at the k-1th moment and participates in the calculation of the first speed value at the kth moment. The solution of this embodiment can avoid the situation where the first speed value calculated at the kth moment continues to decrease or increase when the first speed value at the k-1th moment is already very low or very high, thereby avoiding fan stalling or insufficient heat dissipation, and avoiding overspeed operation of the fan and possible damage, thereby improving the operating safety of the server.

[0105] In an exemplary embodiment, obtaining the initial speed value corresponding to a component includes: obtaining the lower limit value of the speed of a preset fan speed range corresponding to the component; determining the lower limit value of the speed as the initial speed value of the component; or, obtaining a historical reference speed value determined based on historical operating data of the component; determining the historical reference speed value as the initial speed value of the component; or, obtaining the lower limit value of the speed of a preset fan speed range corresponding to the component; obtaining the historical reference speed value determined based on historical operating data of the component; and calculating the initial speed value of the component based on the lower limit value of the speed and the historical reference speed value.

[0106] In this embodiment, a safe minimum speed value, i.e., the lower limit of the preset fan speed range, can be determined according to the heat dissipation requirements of the component and the performance parameters of the fan, and this speed lower limit value can be directly set as the initial speed value of the component to ensure that the fan can provide basic heat dissipation capacity when the system starts or when the data is insufficient. It is also possible to analyze the historical operation data of the component to determine a representative speed value, which is usually based on the stable operation state of the component in the past period of time, and set this historical reference speed value as the initial speed value of the component, and use historical data to optimize the initial conditions. It is also possible to simultaneously consider the speed lower limit value and the historical reference speed value to calculate the initial speed value of the component. Specifically, the average value of the speed lower limit value and the historical reference speed value can be taken. It is also possible to give different weights to the speed lower limit value and the historical reference speed value according to system requirements, and then calculate the weighted average value. It is also possible to compare the speed lower limit value and the historical reference speed value, and select the larger one as the initial speed value to ensure sufficient heat dissipation capacity.

[0107] By adopting the solution of this embodiment, it is possible to start operation from a reasonable initial speed value in the absence of sufficient real-time data, thereby improving the stability and reliability of the server, helping to avoid inappropriate fan speeds when the system starts or recovers from an abnormal state, and ensuring that the components can be effectively cooled.

[0108] In an exemplary embodiment, the heat dissipation control method of the server also includes: determining the speed control temperature range based on the target control temperature; determining the calculated speed value using the first speed value includes: determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the current moment and the speed control temperature range.

[0109] In this embodiment, a target control temperature is set for each component, and the target control temperature is determined according to the optimal operating temperature range of the component. Then, a speed control temperature interval is set according to the target control temperature. This interval usually revolves around the target control temperature, and the upper and lower limits are set to a certain range respectively to ensure that the component works at a stable temperature and avoid unstable performance caused by temperature fluctuations. At any time, the first speed value and the actual temperature value of the component are monitored and recorded, and the relationship between the first speed value, the actual temperature value and the speed control temperature interval at the current moment is analyzed. Specifically, it is determined whether the actual temperature value is within the speed control temperature interval. If the actual temperature value is within the speed control temperature interval, it means that the temperature of the component is stable, and the current speed can be maintained or fine-tuned. If the actual temperature is higher than the upper limit of the speed control temperature interval, it is necessary to reduce the speed value of the fan to reduce the temperature of the component. If the actual temperature is lower than the lower limit of the speed control temperature interval, it is necessary to increase the speed value of the fan to increase the temperature of the component.

[0110] In an exemplary embodiment, determining the speed control temperature range based on the target control temperature includes: determining the adjustment amount based on the stability and anti-shake requirements of the component; using the sum of the adjustment amount and the target control temperature as the upper limit value of the speed control temperature range, and using the difference between the adjustment amount and the target control temperature as the lower limit value of the speed control temperature range.

[0111] In this embodiment, an adjustment amount is determined according to the stability and anti-shake requirements of each component in the server. This adjustment amount is to ensure that the fan can operate stably when adjusting the speed, and avoid damage to the components or excessive noise due to excessive speed fluctuations. The sum of the adjustment amount and the target control temperature is used as the upper limit of the speed control temperature range, and the difference between the adjustment amount and the target control temperature is used as the lower limit of the speed control temperature range.

[0112] Through this process, the server thermal control system can determine an appropriate speed adjustment temperature range based on the target temperature control and stability and anti-shake requirements of each component. This range is the range in which the fan can safely operate when adjusting the speed, helping to ensure that the fan remains within the preset speed range while meeting the cooling needs of the components. This approach can more effectively manage server cooling while reducing noise and energy consumption, extending the life of the fan, and maintaining server performance and stability.

[0113] In an exemplary embodiment, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the current moment, and the speed regulation temperature interval includes: in response to the actual temperature value at the current moment not being in the speed regulation temperature interval, using the first speed value at the current moment as the calculated speed value at the current moment; in response to the actual temperature value at the current moment being in the speed regulation temperature interval, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the previous moment before the current moment, and the speed regulation temperature interval.

[0114] It can be understood that when the actual temperature value of a component is not in the speed regulation temperature interval corresponding to the component, it indicates that the actual temperature value of the component is not within the expected optimal operating temperature range. This may be because the workload of the component has changed, or the environmental conditions (such as ambient temperature) have changed. Since the actual temperature value exceeds the speed regulation temperature interval, the fan speed needs to be adjusted immediately to control the temperature of the component back within the speed regulation temperature interval. Therefore, in this case, the first speed value at the current moment needs to be used as the calculated speed value at the current moment for subsequent fan control. Specifically, when the actual temperature value is in the speed regulation temperature interval, this indicates that the actual temperature of the component is within the expected optimal operating temperature range, indicating that the current temperature control strategy is effective, the component is running within the speed regulation temperature interval, the working state of the component is stable, and it can provide the expected performance. Although the actual temperature is within the speed regulation temperature interval, it may still be necessary to fine-tune the speed according to the trend of temperature changes or slight fluctuations to maintain this stability and prevent the temperature from exceeding the speed regulation temperature interval.

[0115] In an exemplary embodiment, in response to the actual temperature value at the current moment being in the speed regulation temperature interval, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the previous moment and the speed regulation temperature interval includes: in response to the actual temperature value at the current moment being in the speed regulation temperature interval, and the actual temperature value at the previous moment of the current moment being in the speed regulation temperature interval, using the first speed value at the previous moment of the current moment as the calculated speed value at the current moment; in response to the actual temperature value at the current moment being in the speed regulation temperature interval, and the actual temperature value at the previous moment of the current moment not being in the speed regulation temperature interval, using the first speed value at the current moment as the calculated speed value at the current moment.

[0116] The actual temperature value at the current moment is in the speed regulating temperature interval, and the actual temperature value at the previous moment of the current moment is also in the speed regulating temperature interval, indicating that the temperature control of the component is effective, because the actual temperature at two consecutive moments is maintained within the speed regulating temperature interval, and the speed setting at the previous moment helps to maintain the temperature within the desired range. In this case, it is usually not necessary to make a large adjustment to the speed, and only fine-tuning or no adjustment may be required to maintain the current good state. The actual temperature value at the previous moment of the current moment is not in the speed regulating temperature interval, indicating that at the previous moment, the actual temperature of the component failed to remain within the speed regulating temperature interval, which may be caused by changes in workload, fluctuations in environmental conditions or other factors. Due to improper temperature control at the previous moment, the speed may need to be adjusted at the current moment to redirect the temperature back to the speed regulating temperature interval. In this case, the first speed value at the current moment is used as the calculated speed value, which means that the BMC is responding quickly to the previous temperature deviation to restore temperature control. In this embodiment, the state of the actual temperature value at the previous moment of the current moment provides historical information on the system temperature control performance, while the actual temperature value at the current moment provides information on the current state. The combination of the two helps determine if and how the speed needs to be adjusted to keep components within the optimal operating temperature range.

[0117] For example, when the temperature of each component is calculated by PID, the target temperature control ±1.0℃ stabilization and anti-shake strategy is supported, and the speed control temperature range is set to [Tsp-1.0, Tsp+1.0]. The actual temperature value of each component is calculated normally in each round. The first speed value calculated by PID for the actual temperature value of each component is PWM_PID_Cal, and the calculated speed value output to the outside is PWM_PID_Output:

[0118] When T(k) is not in the speed regulation temperature interval [Tsp-1.0, Tsp+1.0], the PWM_PID_Cal calculated by PID at the kth moment of the component temperature is consistent with the PWM_PID_Output output to the outside, that is, PWM_PID_Output(k)=PWM_PID_Cal(k); when T(k) is in the speed regulation temperature interval [Tsp-1.0, Tsp+1.0], then compare whether T(k-1) is in the speed regulation temperature interval [Tsp-1.0, Tsp+1.0]. If T(k-1) is also in the speed regulation temperature interval [Tsp-1.0, Tsp+1.0], it is said that If the temperature has been stable within the speed regulation temperature range for at least two consecutive times, the PWM_PID_Output(k) at the kth moment is equal to the calculated speed value PWM_PID_Output(k-1) output at the k-1th moment; when T(k) is within the speed regulation temperature range [Tsp-1.0, Tsp+1.0] and T(k-1) is not within the speed regulation temperature range [Tsp-1.0, Tsp+1.0], it means that the temperature has jumped into the speed regulation temperature range [Tsp-1.0, Tsp+1.0] for the first time, then the PWM_PID_Output(k) at the kth moment = PWM_PID_Cal(k).

[0119] In an exemplary embodiment, before using the first speed value to determine the calculated speed value, the heat dissipation control method of the server also includes: performing a linear calculation based on the actual temperature value of the component to obtain the second speed value; using the first speed value to determine the calculated speed value includes: using the larger value of the second speed value and the first speed value as the calculated speed value.

[0120] In this embodiment, a linear calculation is performed based on the actual temperature value of the component to obtain a second speed value. This linear calculation may be calculated by a linear equation or function based on the relationship between the temperature and the speed of the component. The calculated second speed value is compared with the first speed value previously obtained by PID calculation. The larger value of the first speed value and the second speed value is selected as the calculated speed value. This calculated speed value is the actual operating speed value of the fan, which can ensure that the fan remains within a preset speed range while meeting the heat dissipation requirements of the component. When the temperature of certain components rises significantly and cannot be covered by PID calculation, the corresponding speed value can be set to a higher speed through linear calculation before the temperature approaches the alarm value for quick response.

[0121] In an exemplary embodiment, performing a linear calculation based on the actual temperature value of the component to obtain the second speed value includes: obtaining multiple temperature change curves corresponding to the component, the temperature change curve is a linear relationship curve between temperature and speed; and obtaining the second speed value based on the actual temperature value of the component and the temperature change curve.

[0122] In this embodiment, a temperature change curve corresponding to each component in the server is obtained. This temperature change curve is a linear relationship curve between temperature and speed, which reflects the extent to which the fan speed needs to be adjusted to maintain heat dissipation at different temperatures. Based on the actual temperature value of the component, the corresponding speed value is found on the temperature change curve. This speed value is calculated based on the linear relationship on the temperature change curve, and can reflect the speed to which the fan needs to be adjusted to maintain heat dissipation at the current temperature. Through this process, the BMC can find the corresponding speed value on the temperature change curve according to the actual temperature value of each component, thereby obtaining a second speed value.

[0123] In an exemplary embodiment, obtaining a second speed value based on an actual temperature value and a temperature change curve of a component includes: determining an actual temperature change trend based on the actual temperature value of the component; in response to the actual temperature change trend being different from the temperature change trend of a currently used curve, and the difference between the actual temperature value of the component and the current temperature maximum value in the current speed regulation stage satisfies a switching condition, obtaining a second speed value based on the actual temperature value of the component and a to-be-selected curve; the currently used curve and the to-be-selected curve are two curves having opposite temperature change trends among a plurality of temperature change curves.

[0124] In this embodiment, the actual temperature change trend is determined based on the actual temperature value at the current moment. This may involve comparing the actual temperature value at the current moment with historical temperature data, or with the expected trend of the temperature change curve. The actual temperature change trend is compared with the temperature change trend of the current use curve. If the two are different, it means that the actual temperature change trend is inconsistent with the expected temperature change trend. At this time, check whether the difference between the actual temperature value and the maximum temperature value of the current speed regulation stage meets the switching condition. This condition may be set based on a safety threshold, heat dissipation efficiency or other performance indicators. If the actual temperature change trend is different from the temperature change trend of the current use curve and meets the switching condition, then the second speed value is determined based on the actual temperature value and the selected curve (the curve with the opposite temperature change trend of the current use curve). In this case, the selected curve represents the expected temperature change trend and can be used as a basis for adjusting the fan speed.

[0125] Through this process, the server cooling control system can dynamically adjust the fan speed according to the actual temperature value and temperature change trend to optimize the cooling performance and maintain the server running within a safe temperature range. It can more effectively manage the server's cooling, while reducing noise and energy consumption, extending the service life of the fan, and maintaining the performance and stability of the server.

[0126] In an exemplary embodiment, after determining the actual temperature change trend based on the actual temperature value of the component, the heat dissipation control method of the server also includes: in response to the actual temperature change trend being different from the temperature change trend of the current usage curve, and the difference between the actual temperature value of the component and the current maximum temperature value in the current speed regulation stage does not meet the switching condition, obtaining a second speed value based on the current maximum temperature value and the current usage curve.

[0127] In this embodiment, the BMC compares the actual temperature change trend with the temperature change trend of the current usage curve. If the two are different, this means that the actual temperature change is inconsistent with the expected temperature change trend. The BMC checks whether the difference between the actual temperature value and the temperature maximum value of the current speed regulation stage meets the switching condition. If the difference does not meet the switching condition, it means that the fan speed does not need to be adjusted immediately. In this case, the system determines the second speed value based on the temperature maximum value (i.e., the highest temperature value or the lowest temperature value in the current speed regulation stage) and the current usage curve. This second speed value is calculated based on the current temperature maximum value and the expected temperature change trend, and can be used as a basis for adjusting the fan speed. Through this process, the server heat dissipation control system can determine the second speed value based on the actual temperature value and the temperature change trend, as well as the temperature maximum value and the current usage curve. This method can more effectively manage the heat dissipation of the server, while reducing noise and energy consumption, extending the service life of the fan, and maintaining the performance and stability of the server.

[0128] In an exemplary embodiment, after determining the actual temperature change trend based on the actual temperature value of the component, the heat dissipation control method of the server also includes: in response to the actual temperature change trend being the same as the temperature change trend of the current usage curve, obtaining a second rotation speed value based on the actual temperature value of the component and the current usage curve.

[0129] In this embodiment, the BMC compares the actual temperature change trend with the temperature change trend of the current usage curve. If the two are the same, it means that the actual temperature change is consistent with the expected temperature change trend. In this case, the system determines the second speed value based on the actual temperature value and the current usage curve. This second speed value is calculated based on the current temperature value and the expected temperature change trend, and can be used as a basis for adjusting the fan speed. Through this process, the server heat dissipation control system can determine the second speed value based on the actual temperature value and the temperature change trend, as well as the current usage curve. It can manage the heat dissipation of the server more effectively, while reducing noise and energy consumption, extending the service life of the fan, and maintaining the performance and stability of the server.

[0130] Exemplarily, the temperature change curve includes an ascending curve and a descending curve. When the actual temperature value is obtained for the first time, the ascending curve is used by default. When calculating the second speed value, the highest temperature value in the time period is used each time to calculate the second speed value from the beginning of using the ascending curve to the determination of the need to switch to the descending curve. In the above time period, when the difference between the highest temperature value and the actual temperature value at the current moment is greater than or equal to the hysteresis temperature, it is determined to switch to the descending curve. If the initial temperature value is 50℃, the default is an upward trend (record T_MAX=50℃), and the hysteresis temperature is assumed to be 2℃. When the temperature rises to 51℃, it is still in the rising stage (record T_MAX=51℃), corresponding to the increase speed at 51℃; when the temperature drops to T=50℃, it is determined that the temperature drops, but the drop is small, T_MAX is still 51℃, T_MAX-T<2℃, so there is a stabilization effect at this time, and the second speed value at the current moment still corresponds to the speed value at 51℃; if the actual temperature value at the current moment is further reduced to 49℃, T_MAX-T≥2℃, the temperature difference reaches the hysteresis temperature, so it switches to the descending curve (because the hysteresis temperature is 2℃, the speed value corresponding to 49℃ of the descending curve is consistent with the speed value corresponding to 51℃ of the ascending curve). After switching to the descending curve, from the beginning of using the descending curve to the determination that the ascending curve needs to be used, the lowest temperature value in this time period is used each time to calculate the second speed value. When the difference between the actual temperature value at the current moment and the minimum temperature value within the time period is greater than or equal to the hysteresis temperature, it is determined to use the rising curve. When the temperature is 49°C (record T_MIN=49°C), it is already in the descending stage. When the temperature drops to 48°C, it is still in the descending stage (record T_MIN=48°C), corresponding to the reduced speed at 48°C. If the actual temperature value at the current moment rises to T=49°C, it is determined that the temperature rises, but the rise is small, T_MIN is still 48°C, T-T_MIN<2°C, so there is a stabilizing effect at this time, and the second speed value at the current moment still corresponds to the speed value at 49°C; when the temperature further rises to 50°C, T-T_MIN≥2°C, the temperature difference reaches the hysteresis temperature, so it switches to the rising curve (because the hysteresis temperature is 2°C, the speed value corresponding to 50°C of the rising curve is consistent with the speed value corresponding to 48°C of the descending curve).

[0131] Table 1 Linear relationship between temperature and speed

[0132]

[0133] In an exemplary embodiment, determining a preset fan speed range corresponding to each component in the server includes: for each component in the server, based on the power consumption and / or air volume requirements and / or performance constraints of the component and / or the power consumption change within a first time period and / or the temperature change within a second time period, determining an upper speed limit value and a lower speed limit value corresponding to the component, and using the upper speed limit value and the lower speed limit value to obtain a preset fan speed range corresponding to the component.

[0134] In this embodiment, the upper limit and lower limit of the speed of the component are determined based on the power consumption, air volume requirement, performance restriction conditions, power consumption change in the first time period, and temperature change in the second time period of the component. Power consumption and air volume requirements: Determine the power consumption and air volume required for heat dissipation based on the design parameters and actual operation data of the component. Performance restriction conditions: Consider the performance indicators of the component, such as the maximum operating temperature, heat sink design restrictions, etc., to determine the physical limitations of the fan speed. Power consumption change and temperature change: Analyze historical data to understand the power consumption and temperature change trends of the component under different working conditions. The upper limit and lower limit of the speed are used to obtain the preset fan speed range corresponding to the component. Speed ​​lower limit PWM_MIN: Ensure that the fan can provide sufficient heat dissipation at the lowest speed to prevent overheating of the component. Speed ​​upper limit PWM_MAX: Set the maximum speed of the fan based on the heat dissipation requirements and performance restriction conditions of the component to avoid increased energy consumption, increased noise or component damage caused by excessive fan speed.

[0135] During the PID calculation process, the PWM value corresponding to the actual temperature value of the component will be controlled between PWM_MIN and PWM_MAX. This means that even if the PWM value calculated by PID is large, the final output PWM value will not exceed PWM_MAX, thus ensuring the safe operation of the fan. According to the actual operation of the component, such as power consumption and temperature changes, the values ​​of PWM_MIN and PWM_MAX can be dynamically adjusted to meet different heat dissipation requirements.

[0136] Through this process, the server thermal control system can determine the preset fan speed range for each component based on the component's power consumption, air volume requirements, performance constraints, and historical power consumption and temperature change data, and set the corresponding PWM_MIN and PWM_MAX values ​​to ensure that the fan operates within a safe and efficient range. This approach can more effectively manage server cooling, while reducing noise and energy consumption, extending the life of the fan, and maintaining server performance and stability.

[0137] In summary, for each component, the PWM_PID_Output is obtained by performing PID calculation based on the actual temperature value of the component. The PWM_Line_Output is obtained through linear calculation. The larger value between PWM_PID_Output and PWM_Line_Output is taken as the calculated rotational speed value PWM_Output for output. Then, the reference rotational speed value PWM_Weight_Fan of the actual temperature value of this component acting on each fan is calculated according to the weights of each fan. PWM_Weight_Fan is compared with PWM_MIN and PWM_MAX set for the component to obtain the target rotational speed value PWM_Output_Fan output to different fans. When PWM_Weight_Fan calculated based on the actual temperature value is within the [PWM_MIN, PWM_MAX] defined for the component, let PWM_Output_Fan = PWM_Weight_Fan; when PWM_Weight_Fan > PWM_MAX, let PWM_Output_Fan = PWM_MAX; when PWM_Weight_Fan < PWM_MIN, PWM_Output_Fan = PWM_MIN.

[0138] It can be understood that the PWM value calculated by PID for the actual temperature value of each component is PWM_PID_Cal. This value is the most intuitive manifestation after performing PID calculation according to the temperature change of the component, without considering the influence of factors such as maintaining the stability of the fan rotational speed, fan weights, PWM_MIN, and PWM_MAX. Therefore, when taking the value of PWM(k - 1) for the next PID calculation, this value needs to be compared with PWM_MIN and PWM_MAX: when PWM_MIN ≤ PWM_PID_Cal ≤ PWM_MAX, take PWM_Cal as the PWM(k - 1) for the next PID calculation; if PWM_PID_Cal < PWM_MIN, take PWM_MIN as the PWM(k - 1) for the next calculation; if PWM_PID_Cal > PWM_MAX, take PWM_MAX as the PWM(k - 1) for the next calculation.

[0139] After the temperatures of each component in the system are calculated by PID and the corresponding value-taking logics are performed, the maximum PWM value acting on each fan is taken for output. Through this process, the server heat dissipation control system can determine the controlled rotational speed value of each fan according to the target rotational speed value of each fan, PWM calculation and adjustment, PID calculation influence, and the overall system output. This method can manage the heat dissipation of the server more effectively, while reducing noise and energy consumption, extending the service life of the fan, and maintaining the performance and stability of the server.

[0140] Refer to Figure 3 The present invention optimizes the existing server heat dissipation control strategy. According to the heat dissipation characteristics of different components, each sensor is individually formulated with its own PWM_MIN and PWM_MAX. In the entire calculation process from temperature to output PWM, the comparison between the PWM value and PWM_MIN and PWM_MAX in the intermediate calculation process is introduced, so that the PWM values ​​that different sensors can achieve are more reasonable.

[0141] Second, please refer to Figure 4 The present invention also provides a heat dissipation control system of a server, the server includes multiple fans, and the heat dissipation control system of the server includes: a first determination module 11, used to determine a preset fan speed range, a main heat dissipation partition and an auxiliary heat dissipation partition corresponding to each component in the server, the main heat dissipation partition includes at least one first fan, the auxiliary heat dissipation partition includes multiple second fans, and the second fan is a fan other than the first fan among the multiple fans; a first calculation module 12, used to determine the current weight coefficient of each fan corresponding to the component for each component, and obtain the target speed value of each fan corresponding to the component by using the actual temperature value of the component and the current weight coefficient of each fan corresponding to the component; the target speed value is within the preset fan speed range corresponding to the component, and when the component meets the collaborative heat dissipation condition, the current weight coefficient of the first fan corresponding to the component and the current weight coefficient of at least one second fan are both preset maximum coefficients; a second determination module 13, used to determine a control speed value in at least one target speed value corresponding to each fan, and control the fan operation according to the control speed value.

[0142] In an exemplary embodiment, determining the current weight coefficients of each fan corresponding to a component includes: when a component does not meet the conditions for collaborative heat dissipation, determining the current weight coefficients of each fan corresponding to the component based on the distance between each fan corresponding to the component and the component and / or the air outlet direction of each fan corresponding to the component; the current weight coefficient is negatively correlated with the distance, and / or the current weight coefficient and the degree of influence of the air outlet direction on the heat dissipation effect of the component are positively correlated.

[0143] In an exemplary embodiment, the heat dissipation control system of the server also includes: a third determination module, which is used to determine at least one adjustment fan among the second fans corresponding to the component based on the distance between the second fans corresponding to the component and the component and / or the air outlet direction of the second fans corresponding to the component, so that when the component meets the collaborative heat dissipation conditions, the current weight coefficient of each adjustment fan is determined as a preset maximum coefficient.

[0144] In an exemplary embodiment, when a component does not meet the conditions for coordinated heat dissipation, based on the distance between each fan corresponding to the component and the component and / or the air outlet direction of each fan, determining the current weight coefficient of each fan corresponding to the component includes: when the component does not meet the conditions for coordinated heat dissipation, based on the distance between each first fan corresponding to the component and the component and / or the air outlet direction of each first fan corresponding to the component, determining a main cooling fan among each first fan corresponding to the component, and determining the current weight coefficient of the main cooling fan as a preset maximum coefficient; determining the current weight coefficient of each auxiliary cooling fan according to the distance between each auxiliary cooling fan corresponding to the component and the component and the preset maximum coefficient; the auxiliary cooling fans are fans other than the main cooling fans among the fans corresponding to the component.

[0145] In an exemplary embodiment, determining the current weight coefficient of each auxiliary cooling fan according to the distance between each auxiliary cooling fan corresponding to the component and the component and a preset maximum coefficient includes: obtaining the reflux limit value corresponding to the server; determining the current weight coefficient of each auxiliary cooling fan according to the reflux limit value, the distance between each auxiliary cooling fan corresponding to the component and the component and a preset maximum coefficient, so that the difference between the target speed values ​​of any two adjacent fans corresponding to the component is less than the reflux limit value.

[0146] In an exemplary embodiment, obtaining target speed values ​​of each fan corresponding to the component by using the actual temperature value of the component and the current weight coefficient of each fan corresponding to the component includes: obtaining a calculated speed value by using the actual temperature value of the component; and obtaining the target speed value of each fan corresponding to the component based on the calculated speed value and the current weight coefficient of each fan corresponding to the component.

[0147] In an exemplary embodiment, obtaining the target speed value of each fan corresponding to a component based on the calculated speed value and the current weight coefficient of each fan corresponding to the component includes: obtaining the reference speed value of each fan corresponding to the component based on the calculated speed value and the current weight coefficient of each fan corresponding to the component; for each fan corresponding to the component, in response to the reference speed value being within the preset fan speed range corresponding to the component, using the reference speed value as the target speed value of the fan; in response to the reference speed value being less than the lower limit value of the preset fan speed range corresponding to the component, using the lower limit value of the speed as the target speed value of the fan; in response to the reference speed value being greater than the upper limit value of the preset fan speed range corresponding to the component, using the upper limit value of the speed as the target speed value of the fan.

[0148] In an exemplary embodiment, obtaining a calculated speed value using an actual temperature value of a component includes: performing a proportional-integral-differential calculation based on the actual temperature value of the component to obtain a first speed value; and determining a calculated speed value using the first speed value.

[0149] In an exemplary embodiment, the heat dissipation control system of the server is also used to: obtain the actual temperature value of the component at the current moment; perform proportional-integral-differential calculation based on the actual temperature value of the component to obtain a first speed value, including: obtaining the target control temperature corresponding to the component, the historical speed values ​​at the m moments before the current moment, and the actual temperature value at the n moments before the current moment; based on the target control temperature corresponding to the component, the historical speed values ​​at the m moments before the current moment, the actual temperature value at the current moment, and the actual temperature value at the n moments before the current moment, perform proportional-integral-differential calculation to obtain the first speed value at the current moment; m and n are both positive integers.

[0150] In an exemplary embodiment, the heat dissipation control system of the server also includes: a fourth determination module, used to determine multiple calculation formulas corresponding to multiple component types in the server; the multiple calculation formulas are established based on the target control temperature, the historical speed values ​​at the m moments before the current moment, the actual temperature value at the current moment, the actual temperature value at the n moments before the current moment, the proportional coefficient, the integral coefficient and the differential coefficient; based on the target control temperature corresponding to the component, the historical speed values ​​at the m moments before the current moment, the actual temperature value at the current moment, and the actual temperature value at the n moments before the current moment, a proportional-integral-differential calculation is performed to obtain the first speed value at the current moment, including: in response to identifying the component type of the component, calling the calculation formula corresponding to the component type to calculate the first speed value at the current moment.

[0151] In an exemplary embodiment, obtaining the historical speed values ​​of the component at the m moments before the current moment includes: obtaining the initial speed value corresponding to the component; when m>k, using the initial speed value as the speed value of all ki-th moments among the m moments before the current moment, k is the current moment, i=k,…,m.

[0152] In an exemplary embodiment, obtaining the historical speed value of a component at a moment before the current moment includes: when k>1, determining a speed value within a preset fan speed range corresponding to the component that is closest to or equal to the first speed value at the moment before the current moment as the historical speed value at the moment before the current moment.

[0153] In an exemplary embodiment, obtaining the initial speed value corresponding to a component includes: obtaining the lower limit value of the speed of a preset fan speed range corresponding to the component; determining the lower limit value of the speed as the initial speed value of the component; or, obtaining a historical reference speed value determined based on historical operating data of the component; determining the historical reference speed value as the initial speed value of the component; or, obtaining the lower limit value of the speed of a preset fan speed range corresponding to the component; obtaining the historical reference speed value determined based on historical operating data of the component; and calculating the initial speed value of the component based on the lower limit value of the speed and the historical reference speed value.

[0154] In an exemplary embodiment, the heat dissipation control system of the server also includes: a fifth determination module, which is used to determine the speed control temperature range based on the target control temperature; determining the calculated speed value using the first speed value includes: determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the current moment and the speed control temperature range.

[0155] In an exemplary embodiment, determining the speed control temperature range based on the target control temperature includes: determining the adjustment amount based on the stability and anti-shake requirements of the component; using the sum of the adjustment amount and the target control temperature as the upper limit value of the speed control temperature range, and using the difference between the adjustment amount and the target control temperature as the lower limit value of the speed control temperature range.

[0156] In an exemplary embodiment, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the current moment, and the speed regulation temperature interval includes: in response to the actual temperature value at the current moment not being in the speed regulation temperature interval, using the first speed value at the current moment as the calculated speed value at the current moment; in response to the actual temperature value at the current moment being in the speed regulation temperature interval, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the previous moment before the current moment, and the speed regulation temperature interval.

[0157] In an exemplary embodiment, in response to the actual temperature value at the current moment being in the speed regulation temperature interval, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the previous moment and the speed regulation temperature interval includes: in response to the actual temperature value at the current moment being in the speed regulation temperature interval, and the actual temperature value at the previous moment of the current moment being in the speed regulation temperature interval, using the first speed value at the previous moment of the current moment as the calculated speed value at the current moment; in response to the actual temperature value at the current moment being in the speed regulation temperature interval, and the actual temperature value at the previous moment of the current moment not being in the speed regulation temperature interval, using the first speed value at the current moment as the calculated speed value at the current moment.

[0158] In an exemplary embodiment, the heat dissipation control system of the server also includes: a second calculation module, which is used to perform a linear calculation based on the actual temperature value of the component to obtain a second speed value before using the first speed value to determine the calculated speed value; using the first speed value to determine the calculated speed value includes: using the larger value of the second speed value and the first speed value as the calculated speed value.

[0159] In an exemplary embodiment, performing a linear calculation based on the actual temperature value of the component to obtain the second speed value includes: obtaining multiple temperature change curves corresponding to the component, the temperature change curve is a linear relationship curve between temperature and speed; and obtaining the second speed value based on the actual temperature value of the component and the temperature change curve.

[0160] In an exemplary embodiment, obtaining a second speed value based on an actual temperature value and a temperature change curve of a component includes: determining an actual temperature change trend based on the actual temperature value of the component; in response to the actual temperature change trend being different from the temperature change trend of a currently used curve, and the difference between the actual temperature value of the component and the current temperature maximum value in the current speed regulation stage satisfies a switching condition, obtaining a second speed value based on the actual temperature value of the component and a to-be-selected curve; the currently used curve and the to-be-selected curve are two curves having opposite temperature change trends among a plurality of temperature change curves.

[0161] In an exemplary embodiment, the heat dissipation control system of the server also includes: a first matching module, which is used to obtain a second speed value based on the current temperature maximum value and the current usage curve after determining the actual temperature change trend based on the actual temperature value of the component, in response to the actual temperature change trend and the temperature change trend of the current usage curve being different, and the difference between the actual temperature value of the component and the current temperature maximum value in the current speed regulation stage does not meet the switching condition.

[0162] In an exemplary embodiment, the heat dissipation control system of the server also includes: a first matching module, which is used to obtain a second rotational speed value based on the actual temperature value of the component and the current usage curve in response to the actual temperature change trend being the same as the temperature change trend of the current usage curve after determining the actual temperature change trend based on the actual temperature value of the component.

[0163] In an exemplary embodiment, determining a preset fan speed range corresponding to each component in the server includes: for each component in the server, based on the power consumption and / or air volume requirements and / or performance constraints of the component and / or the power consumption change within a first time period and / or the temperature change within a second time period, determining an upper speed limit value and a lower speed limit value corresponding to the component, and using the upper speed limit value and the lower speed limit value to obtain a preset fan speed range corresponding to the component.

[0164] In an exemplary embodiment, determining a control speed value from at least one target speed value corresponding to each fan includes: for each fan, in response to a target speed value corresponding to the fan, determining the target speed value of the fan as the control speed value; or, for each fan, in response to multiple target speed values ​​corresponding to the fan, taking the maximum value of the multiple target speed values ​​corresponding to the fan as the control speed value.

[0165] In a third aspect, the present invention further provides a computer program product, comprising a computer program / instruction, which, when executed by a processor, implements the steps of any of the above server heat dissipation control methods.

[0166] For an introduction to a computer program product provided by the present invention, please refer to the above embodiments, and the present invention will not be described in detail here.

[0167] A computer program product provided by the present invention has the same beneficial effects as the heat dissipation control method of the server.

[0168] Fourth, please refer to Figure 5 The present invention also provides an electronic device, comprising:

[0169] A memory 21, used for storing computer programs;

[0170] The processor 22 is used to implement the steps of any of the above server heat dissipation control methods when executing a computer program.

[0171] The electronic device also includes:

[0172] The input interface 23 is connected to the processor 22 via the communication bus 26, and is used to obtain the computer programs, parameters and instructions imported from the outside, and save them in the memory 21 under the control of the processor 22. The input interface can be connected to an input device to receive parameters or instructions manually input by the user. The input device can be a touch layer covered on the display screen, or a key, trackball or touchpad set on the terminal housing.

[0173] The display unit 24 is connected to the processor 22 via the communication bus 26 and is used to display the data sent by the processor 22. The display unit can be a liquid crystal display or an electronic ink display.

[0174] The network port 25 is connected to the processor 22 via the communication bus 26, and is used to communicate with various external terminal devices. The communication technology used in the communication connection can be a wired communication technology or a wireless communication technology, such as mobile high-definition link technology, universal serial bus, high-definition multimedia interface, wireless fidelity technology, Bluetooth communication technology, low-power Bluetooth communication technology, communication technology based on IEEE802.11s, etc.

[0175] For an introduction to an electronic device provided by the present invention, please refer to the above embodiments, and the present invention will not be described in detail here.

[0176] The electronic device provided by the present invention has the same beneficial effects as the heat dissipation control method of the server.

[0177] In a fifth aspect, the present invention further provides a server, comprising a plurality of fans, a plurality of components and the electronic device as described above.

[0178] For an introduction to a server provided by the present invention, please refer to the above-mentioned embodiment, and the present invention will not be described in detail here.

[0179] A server provided by the present invention has the same beneficial effects as the heat dissipation control method of the server mentioned above.

[0180] For the sixth aspect, please refer to Figure 6 The present invention further provides a computer-readable storage medium 30, on which a computer program 31 is stored. When the computer program 31 is executed by a processor, the steps of the heat dissipation control method for a server as described in any of the above embodiments are implemented.

[0181] The computer-readable storage medium 30 may include: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

[0182] For an introduction to a computer-readable storage medium 30 provided by the present invention, please refer to the above embodiment, and the present invention will not be described in detail here.

[0183] A computer-readable storage medium 30 provided by the present invention has the same beneficial effects as the above-mentioned heat dissipation control method of the server.

[0184] It should also be noted that, in this specification, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a series of elements, methods, articles or equipment includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such processes, methods, articles or equipment. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the elements, methods, articles or equipment.

[0185] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A heat dissipation control method for a server, characterized in that: The server includes a plurality of fans, and the heat dissipation control method of the server includes: Determine a preset fan speed range, a main cooling zone, and an auxiliary cooling zone corresponding to each component in the server, wherein the main cooling zone includes at least one first fan, and the auxiliary cooling zone includes a plurality of second fans, wherein the second fan is a fan other than the first fan among the plurality of fans; For each of the components, current weight coefficients of the fans corresponding to the component are determined, and target speed values ​​of the fans corresponding to the component are obtained using the actual temperature value of the component and the current weight coefficients of the fans corresponding to the component; the target speed value is within a preset fan speed range corresponding to the component, and when the component meets the cooperative heat dissipation condition, the current weight coefficient of the first fan corresponding to the component and the current weight coefficient of at least one of the second fans are both preset maximum coefficients; A control speed value is determined from at least one target speed value corresponding to each of the fans, and the fans are controlled to operate according to the control speed value.

2. The heat dissipation control method of a server according to claim 1, characterized in that: Determining the current weight coefficient of each of the fans corresponding to the component includes: When the component does not meet the collaborative heat dissipation conditions, the current weight coefficients of the fans corresponding to the component are determined based on the distance between the fans corresponding to the component and the component and / or the air outlet direction of the fans corresponding to the component; the current weight coefficient is negatively correlated with the distance, and / or the current weight coefficient and the degree of influence of the air outlet direction on the heat dissipation effect of the component are positively correlated.

3. The heat dissipation control method of a server according to claim 2, characterized in that: When the component does not meet the cooperative heat dissipation condition, determining the current weight coefficient of each of the fans corresponding to the component based on the distance between each of the fans corresponding to the component and the component and / or the air outlet direction of each of the fans corresponding to the component includes: When the component does not meet the cooperative heat dissipation condition, selecting a first fan which is the shortest distance from the component and whose air outlet direction is toward the component as the main heat dissipation fan of the component, and determining the current weight coefficient of the main heat dissipation fan as the preset maximum coefficient; The current weight coefficient of each auxiliary cooling fan is determined according to the distance between each auxiliary cooling fan corresponding to the component and the component and the preset maximum coefficient; the auxiliary cooling fan is the fan except the main cooling fan among the fans corresponding to the component.

4. The heat dissipation control method of a server according to claim 3, characterized in that: Determining the current weight coefficient of each auxiliary cooling fan according to the distance between each auxiliary cooling fan corresponding to the component and the component and the preset maximum coefficient includes: Obtaining a reflux limit value corresponding to the server; The current weight coefficient of each auxiliary cooling fan is determined according to the reflux limit value, the preset maximum coefficient, and the distance between each auxiliary cooling fan corresponding to the component and the component, so that the difference between the target speed values ​​of any two adjacent fans corresponding to the component is less than the reflux limit value.

5. The heat dissipation control method of a server according to claim 1, characterized in that: The heat dissipation control method of the server also includes: Based on the distance between each of the second fans corresponding to the component and the component and / or the air outlet direction of each of the second fans corresponding to the component, at least one adjustment fan is determined among each of the second fans corresponding to the component, so that when the component meets the collaborative heat dissipation conditions, the current weight coefficient of each of the adjustment fans is determined as the preset maximum coefficient.

6. The heat dissipation control method of a server according to claim 1, characterized in that: Obtaining the target speed value of each of the fans corresponding to the component by using the actual temperature value of the component and the current weight coefficient of each of the fans corresponding to the component includes: Utilizing the actual temperature value of the component to obtain a calculated speed value; The target speed value of each of the fans corresponding to the component is obtained according to the calculated speed value and the current weight coefficient of each of the fans corresponding to the component.

7. The heat dissipation control method of a server according to claim 6, characterized in that: Obtaining the target speed value of each fan corresponding to the component according to the calculated speed value and the current weight coefficient of each fan corresponding to the component includes: Obtaining reference speed values ​​of the fans corresponding to the components according to the calculated speed values ​​and current weight coefficients of the fans corresponding to the components; For each fan corresponding to the component, in response to the reference speed value being within the preset fan speed range corresponding to the component, the reference speed value is used as the target speed value of the fan; in response to the reference speed value being less than the lower limit value of the speed of the preset fan speed range corresponding to the component, the lower limit value of the speed is used as the target speed value of the fan; in response to the reference speed value being greater than the upper limit value of the speed of the preset fan speed range corresponding to the component, the upper limit value of the speed is used as the target speed value of the fan.

8. The heat dissipation control method of a server according to claim 6, characterized in that: The actual temperature values ​​of the components are used to calculate the speed values ​​including: Performing proportional-integral-differential calculation based on the actual temperature value of the component to obtain a first speed value; A calculated rotational speed value is determined using the first rotational speed value.

9. The heat dissipation control method of a server according to claim 8, characterized in that: Before calculating the rotation speed value using the actual temperature value of the component, the heat dissipation control method of the server further includes: Obtaining the actual temperature value of the component at the current moment; Performing proportional-integral-differential calculation based on the actual temperature value of the component to obtain the first speed value includes: Obtain the target control temperature corresponding to the component, the historical speed values ​​at m moments before the current moment, and the actual temperature values ​​at n moments before the current moment; Based on the target control temperature corresponding to the component, the historical speed values ​​at m moments before the current moment, the actual temperature value at the current moment, and the actual temperature value at n moments before the current moment, a proportional-integral-differential calculation is performed to obtain the first speed value at the current moment; m and n are both positive integers.

10. The heat dissipation control method of a server according to claim 9, characterized in that: The heat dissipation control method of the server also includes: Determine a plurality of calculation formulas corresponding to a plurality of component types in the server; the plurality of calculation formulas are established based on the target control temperature, the historical speed values ​​at m moments before the current moment, the actual temperature value at the current moment, the actual temperature values ​​at n moments before the current moment, the proportional coefficient, the integral coefficient and the differential coefficient; Based on the target control temperature corresponding to the component, the historical speed values ​​at m moments before the current moment, the actual temperature value at the current moment, and the actual temperature values ​​at n moments before the current moment, a proportional-integral-differential calculation is performed to obtain the first speed value at the current moment, including: In response to identifying the component type of the component, a calculation relationship corresponding to the component type is called to calculate a first rotation speed value at a current moment.

11. The heat dissipation control method of a server according to claim 10, characterized in that: Obtaining the historical speed values ​​of the component at m moments before the current moment includes: Obtaining an initial rotation speed value corresponding to the component; When m>k, the initial rotation speed value is used as the rotation speed value of all ki-th moments in the m moments before the current moment, k is the current moment, i=k, ..., m, k and i are all positive integers.

12. The heat dissipation control method of a server according to claim 11, characterized in that: Obtaining the historical speed value of the component at a moment before the current moment includes: When k>1, a speed value within a preset fan speed range corresponding to the component and closest to or equal to a first speed value at a moment before the current moment is determined as a historical speed value at a moment before the current moment.

13. The heat dissipation control method of a server according to claim 11, characterized in that: Obtaining the initial speed value corresponding to the component includes: Obtaining a lower limit value of a speed of a preset fan speed range corresponding to the component; Determining the lower speed limit value as the initial speed value of the component; or, Acquire a historical reference speed value determined based on historical operating data of the component; Determining the historical reference speed value as the initial speed value of the component; or, Obtaining a lower limit value of a speed of a preset fan speed range corresponding to the component; Acquire a historical reference speed value determined based on historical operating data of the component; An initial rotation speed value of the component is calculated based on the rotation speed lower limit value and the historical reference rotation speed value.

14. The heat dissipation control method of a server according to claim 9, characterized in that: The heat dissipation control method of the server also includes: Determining a speed regulating temperature range based on the target regulating temperature; Determining the calculated speed value using the first speed value includes: The calculated speed value at the current moment is determined based on the relationship between the first speed value at the current moment, the actual temperature value at the current moment, and the speed regulation temperature range.

15. The heat dissipation control method of a server according to claim 14, characterized in that: Determining the speed regulating temperature interval based on the target regulating temperature includes: Determining an adjustment amount based on the stability and anti-shake requirements of the component; The sum of the adjustment amount and the target control temperature is used as the upper limit of the speed control temperature range, and the difference between the adjustment amount and the target control temperature is used as the lower limit of the speed control temperature range.

16. The heat dissipation control method of a server according to claim 14, characterized in that: Determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the current moment, and the speed regulating temperature range includes: In response to the actual temperature value at the current moment not being within the speed regulating temperature interval, taking the first speed value at the current moment as the calculated speed value at the current moment; In response to the actual temperature value at the current moment being in the speed regulating temperature interval, the calculated speed value at the current moment is determined based on the relationship between the first speed value at the current moment, the actual temperature value at the previous moment and the speed regulating temperature interval.

17. The heat dissipation control method of a server according to claim 16, characterized in that: In response to the actual temperature value at the current moment being within the speed regulating temperature interval, determining the calculated speed value at the current moment based on the relationship between the first speed value at the current moment, the actual temperature value at the previous moment before the current moment, and the speed regulating temperature interval includes: In response to the actual temperature value at the current moment being in the speed regulating temperature interval, and the actual temperature value at the previous moment before the current moment being in the speed regulating temperature interval, taking the first speed value at the previous moment before the current moment as the calculated speed value at the current moment; In response to the actual temperature value at the current moment being in the speed regulating temperature interval, and the actual temperature value at the previous moment before the current moment being not in the speed regulating temperature interval, the first speed value at the current moment is used as the calculated speed value at the current moment.

18. The heat dissipation control method of a server according to claim 8, characterized in that: Before using the first rotation speed value to determine the calculated rotation speed value, the heat dissipation control method of the server further includes: Performing a linear calculation based on the actual temperature value of the component to obtain a second speed value; Determining the calculated speed value using the first speed value includes: The larger value between the second rotation speed value and the first rotation speed value is used as the calculated rotation speed value.

19. The heat dissipation control method of a server according to claim 18, characterized in that: The second speed value is obtained by performing a linear calculation based on the actual temperature value of the component, comprising: Acquire a plurality of temperature change curves corresponding to the component, wherein the temperature change curves are linear relationship curves between temperature and rotation speed; A second rotational speed value is obtained based on the actual temperature value of the component and the temperature curve.

20. The heat dissipation control method of a server according to claim 19, characterized in that: Obtaining a second rotation speed value based on the actual temperature value of the component and the temperature variation curve includes: determining an actual temperature change trend based on an actual temperature value of the component; In response to the actual temperature change trend being different from the temperature change trend of the currently used curve, and the difference between the actual temperature value of the component and the current temperature maximum value in the current speed regulation stage meets the switching condition, a second speed value is obtained based on the actual temperature value of the component and the selected curve; The currently used curve and the to-be-selected curve are two curves with opposite temperature change trends among the plurality of temperature change curves.

21. The heat dissipation control method of a server according to claim 20, characterized in that: After determining the actual temperature change trend based on the actual temperature value of the component, the heat dissipation control method of the server further includes: In response to the actual temperature change trend being different from the temperature change trend of the current usage curve, and the difference between the actual temperature value of the component and the current temperature maximum value in the current speed regulation stage does not meet the switching condition, a second speed value is obtained based on the current temperature maximum value and the current usage curve.

22. The heat dissipation control method of a server according to claim 20, characterized in that: After determining the actual temperature change trend based on the actual temperature value of the component, the heat dissipation control method of the server further includes: In response to the actual temperature change trend being the same as the temperature change trend of the current usage curve, a second rotation speed value is obtained based on the actual temperature value of the component and the current usage curve.

23. The heat dissipation control method of a server according to claim 1, characterized in that: Determining a preset fan speed range corresponding to each component in the server includes: For each of the components in the server, based on the power consumption and / or air volume requirements and / or performance limitations of the component and / or the power consumption change within a first time period and / or the temperature change within a second time period, the upper limit speed and the lower limit speed corresponding to the component are determined, and the preset fan speed range corresponding to the component is obtained using the upper limit speed and the lower limit speed.

24. The heat dissipation control method for a server according to any one of claims 1 to 23, characterized in that: Determining a control speed value from at least one target speed value corresponding to each of the fans comprises: For each of the fans, in response to a target speed value corresponding to the fan, determining the target speed value of the fan as a control speed value; Or, for each of the fans, in response to a plurality of target rotational speed values ​​corresponding to the fan, a maximum value among the plurality of target rotational speed values ​​corresponding to the fan is used as the control rotational speed value.

25. A heat dissipation control system for a server, characterized in that: The server includes a plurality of fans, and the heat dissipation control system of the server includes: A first determination module is used to determine a preset fan speed range, a main heat dissipation zone, and an auxiliary heat dissipation zone corresponding to each component in the server, wherein the main heat dissipation zone includes at least one first fan, and the auxiliary heat dissipation zone includes a plurality of second fans, wherein the second fan is a fan other than the first fan among the plurality of fans; a first calculation module, for determining, for each of the components, a current weight coefficient of each of the fans corresponding to the component, and obtaining a target speed value of each of the fans corresponding to the component by using an actual temperature value of the component and the current weight coefficient of each of the fans corresponding to the component; the target speed value is within a preset fan speed range corresponding to the component, and when the component meets a collaborative heat dissipation condition, the current weight coefficient of the first fan corresponding to the component and the current weight coefficient of at least one of the second fans are both preset maximum coefficients; The second determination module is used to determine a control speed value from at least one target speed value corresponding to each of the fans, and control the operation of the fans according to the control speed value.

26. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps of the heat dissipation control method for a server as described in any one of claims 1 to 24 are implemented.

27. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the heat dissipation control method for a server as described in any one of claims 1 to 24 when executing the computer program.

28. A server, characterized in that: The electronic device comprises a plurality of fans, a plurality of components and the electronic device as claimed in claim 27.

29. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the heat dissipation control method for a server as described in any one of claims 1 to 24 are implemented.

Citation Information

Patent Citations

  • Fan rotating speed adjusting method and device for server operation and maintenance and storage medium

    CN117662507A

  • Temperature control method, device, equipment and medium

    CN118226901A

  • Server, fan speed regulation method, device and equipment thereof and volatile storage medium

    CN118815738A

  • Fan rotating speed control method and device, BMC and storage medium

    CN118934699A

Cited By

  • Heat dissipation regulation and control method and device, computer equipment, storage medium and program product

    CN119847304A

  • Server fan speed regulation method and device based on BMC

    CN120578281A

  • Heat dissipation control method and electronic equipment

    CN120653083A

  • Heat dissipation control method and electronic device

    CN120653083B

  • Heat dissipation control method and electronic equipment

    CN120821349A