Server fan speed control method and server
By dynamically calculating the temperature rise coefficient and safety difference, the server fan speed is adjusted, solving the high power consumption problem caused by a fixed target temperature in existing technologies and achieving energy efficiency optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- XFUSION DIGITAL TECH CO LTD
- Filing Date
- 2026-03-27
- Publication Date
- 2026-07-31
AI Technical Summary
In existing technologies, server fan speed control strategies typically set target temperatures based on worst-case operating conditions, resulting in fans running at high speeds for extended periods, which increases the server's heat dissipation and power consumption.
By acquiring temperature data of server components, calculating the temperature rise coefficient and the baseline temperature rise coefficient, and combining the target temperature safety difference, the fan speed is dynamically adjusted to match the real-time load requirements of the components, thereby reducing the fan speed to reduce power consumption.
This achieves a precise match between fan speed and heat dissipation requirements, reducing the overall energy consumption of the server and improving the energy efficiency of the cooling system.
Smart Images

Figure CN122489375A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of server technology, and in particular to a server fan speed control method and a server. Background Technology
[0002] Server cooling is crucial for ensuring the stable operation of its internal components. Typically, a baseboard management controller (BMC) is responsible for monitoring component temperatures in real time and dynamically adjusting fan speeds through fan speed control strategies to prevent overheating. In this process, the value set for the target temperature in the fan speed control strategy directly affects the server's cooling efficiency and overall system power consumption.
[0003] In related technologies, the target temperature value is usually set under the worst-case operating conditions. This static setting method based on the "worst-case" can avoid instantaneous overheating of components, but because the target temperature is too low, the fan needs to maintain a high speed for a long time, resulting in high power consumption for server cooling. Summary of the Invention
[0004] This application provides a server fan speed control method and a server, which can reduce the power consumption of server heat dissipation.
[0005] According to a first aspect of the embodiments of this application, a server fan speed control method is provided, the method comprising:
[0006] Obtain temperature data of the target component in the server; Based on temperature data, determine the temperature rise coefficient of the target component under the current load. The temperature rise coefficient characterizes the rate of temperature change per unit time. Obtain the reference temperature rise coefficient and the target temperature safety difference of the target component. The reference temperature rise coefficient represents the temperature rise rate of the target component under the reference temperature rise condition, and the target temperature safety difference represents the temperature margin reserved to cope with the temperature response delay under the reference temperature rise condition. Based on the temperature rise coefficient, the maximum allowable temperature value of the target component, the reference temperature rise coefficient, and the target temperature safety difference, the target temperature value for fan speed regulation of the target component is calculated based on the proportional relationship between the temperature rise coefficient and the reference temperature rise coefficient; wherein, the temperature rise coefficient is negatively correlated with the target temperature value; Adjust the speed of the fan that cools the target component based on the target temperature value.
[0007] This embodiment calculates the current temperature rise coefficient of the target component in real time. Based on the ratio of this temperature rise coefficient to a reference temperature rise coefficient, and combined with the component's maximum allowable temperature value and the target temperature safety difference, it can dynamically calculate the target temperature value for fan speed adjustment, and explicitly defines a negative correlation between the current temperature rise coefficient and the target temperature value. Based on this negative correlation, when the component load is low and the temperature rise rate is small, the calculated target temperature value is correspondingly increased, thereby reducing the fan speed and decreasing system heat dissipation power consumption. When the component load is high and the temperature rise rate is large, the calculated target temperature value is correspondingly decreased, thereby ensuring that the component temperature does not exceed the safe upper limit. Therefore, this embodiment achieves precise matching between fan speed and real-time heat dissipation requirements while ensuring component operational safety, effectively reducing the overall server energy consumption and improving the energy efficiency of the cooling system.
[0008] In one possible implementation, obtaining the target temperature safety difference includes: Obtain the values of multiple factors that affect the server temperature response latency and determine the weight of each factor; wherein, the multiple factors include at least one of the following: fan airflow, temperature data acquisition time interval, target temperature value calculation and distribution interval, and fan speed adjustment effective time delay. The target temperature safety difference is determined based on the values of multiple factors and their corresponding weights; wherein the target temperature safety difference is positively correlated with the weights of each factor.
[0009] This embodiment obtains and comprehensively calculates various physical and time factors that affect the thermal response delay, replacing the traditional method of relying on a single empirical estimate or conservative estimation. This makes the determined safety difference more objective, accurate, and closely related to the thermal design of specific products, thereby improving the reliability of the entire dynamic speed regulation algorithm from the parameter source. This ensures that more precise fan power consumption control can be achieved while preventing component overheating under different system configurations.
[0010] In one possible implementation, calculating the target temperature value for fan speed regulation of the target component includes: Calculate the ratio of the baseline temperature rise coefficient to the temperature rise coefficient under the current load; The adjustment amount is obtained based on the target temperature safety difference and ratio; Based on the maximum allowable temperature value and the adjustment amount, the target temperature value for fan speed control of the target component is calculated.
[0011] This embodiment can transform the calculation of the target temperature value for fan speed regulation of the target component into three sequentially executable steps: calculating the ratio, determining the dynamic adjustment amount, and obtaining the target temperature value. This enables the heat dissipation control to adapt to changes in real-time load, providing a foundation for optimizing server energy efficiency.
[0012] In one possible implementation, the fan speed for cooling the target component is adjusted based on the target temperature value, including: Generate fan speed control signal based on target temperature value; The fan speed is adjusted to cool the target component using a fan speed control signal.
[0013] This embodiment can use a control algorithm to transform the abstract temperature optimization target into specific drive instructions, thereby achieving accurate control of the fan speed and ensuring that the adjustment of the fan speed can be accurately executed at the hardware level.
[0014] In one possible implementation, after calculating the target temperature value for fan speed control of the target component, the method further includes: Compare the target temperature value with the preset safety range; When the target temperature value is not within the safe range, the target temperature value used for fan speed adjustment will be corrected to the upper or lower limit of the safe range.
[0015] The safety range verification and correction steps introduced in this embodiment add a crucial safety barrier to the entire dynamic speed regulation algorithm. By constraining the results of dynamic calculations within a reasonable range that conforms to physical common sense and safety principles, it effectively avoids the generation of dangerous or invalid control commands due to instantaneous calculation anomalies or input data disturbances, greatly improving the reliability of the entire heat dissipation control system.
[0016] In one possible implementation, obtaining the temperature data of the target component in the server includes: The temperature of the target component in the server is periodically collected at preset fixed time intervals.
[0017] The periodic temperature acquisition mechanism defined in this embodiment provides a stable, continuous, and time-defined basic data stream for the entire dynamic speed regulation algorithm. The fixed time interval standardizes the measurement and calculation of temperature changes, ensuring the accuracy and consistency of the temperature rise coefficient calculation, thus providing a basis for subsequent dynamic calculation of the target temperature value.
[0018] In one possible implementation, determining the temperature rise coefficient of the target component under the current load includes: Based on N consecutive temperature values collected at fixed time intervals, the temperature rise coefficient of the target component under the current load is calculated; where N is an integer greater than 1.
[0019] The method of calculating the temperature rise coefficient through multiple consecutive sampling provided in this embodiment, compared to relying on single-difference, can effectively smooth out the reading fluctuations or instantaneous noise of the temperature sensor itself, thus obtaining a coefficient value that more accurately reflects the overall temperature rise trend of the component. By adjusting the number of sampling points N, a balance can be struck between computational sensitivity and noise immunity, enhancing the algorithm's adaptability and robustness under different noise environments, and providing a more reliable and stable input for the subsequent accurate calculation of dynamic target temperatures.
[0020] In one possible implementation, the method further includes, before calculating the target temperature value: Based on the product specifications of the target component, determine the maximum permissible temperature value of the target component.
[0021] This embodiment determines the upper limit value based on the product specifications specified by the component manufacturer, which fundamentally ensures that the embodiment conforms to industry standards and avoids the arbitrariness or error that may be introduced by human experience setting.
[0022] In one possible implementation, the reference temperature rise coefficient is obtained by pre-heat testing of the target component.
[0023] The reference temperature rise coefficient provided in this embodiment can be obtained through repeatable thermal testing, rather than relying on rough empirical estimation. This significantly improves the accuracy and reliability of the entire control model, ensuring the consistency of speed control strategies across different batches or models of products.
[0024] According to a second aspect of the embodiments of this application, a server fan speed control device is provided, the device comprising: Temperature acquisition module, used to acquire temperature data of target components in the server; The temperature rise coefficient determination module is used to determine the temperature rise coefficient of the target component under the current load based on temperature data. This temperature rise coefficient represents the rate of temperature change per unit time. The coefficient and difference acquisition module is used to acquire the reference temperature rise coefficient and the target temperature safety difference of the target component. The reference temperature rise coefficient represents the temperature rise rate of the target component under the reference temperature rise condition, and the target temperature safety difference represents the temperature margin reserved to cope with the temperature response delay under the reference temperature rise condition. The target temperature calculation module is used to calculate the target temperature value for fan speed control of the target component based on the temperature rise coefficient, the maximum allowable temperature value of the target component, the reference temperature rise coefficient, and the target temperature safety difference, and based on the proportional relationship between the temperature rise coefficient and the reference temperature rise coefficient; wherein, the temperature rise coefficient is negatively correlated with the target temperature value; The speed regulation module is used to adjust the speed of the fan that cools the target component based on the target temperature value.
[0025] According to a third aspect of the embodiments of this application, a server is provided. The server includes a BMC, a memory, and a processor, wherein a computer program is stored in the memory, and the BMC executes the program to implement the method described above.
[0026] According to a fourth aspect of the embodiments of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the methods described in the embodiments of this application.
[0027] According to a fifth aspect of the embodiments of this application, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods described above in the embodiments of this application. Attached Figure Description
[0028] More details, features, and advantages of embodiments of the present application are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which: Figure 1 A schematic diagram of a server system architecture provided for an exemplary embodiment of this application. Figure 2 A flowchart of a fan speed control method provided in an exemplary embodiment of this application; Figure 3A A flowchart of a fan speed control method provided in yet another exemplary embodiment of this application; Figure 3B for Figure 2 Flowchart of step S240; Figure 4 for Figure 2 Flowchart of step S250; Figure 5 A flowchart of a fan speed control method provided in yet another exemplary embodiment of this application; Figure 6 A schematic block diagram of the functional modules of a server fan speed control device provided in an exemplary embodiment of this application; Figure 7 A structural block diagram of a server provided for an exemplary embodiment of this application. Detailed Implementation
[0029] Embodiments of this application will now be described in more detail with reference to the accompanying drawings. While some embodiments of this application are shown in the drawings, it should be understood that embodiments of this application can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the embodiments of this application. It should be understood that the accompanying drawings and embodiments of this application are for illustrative purposes only and are not intended to limit the scope of protection of this application.
[0030] It should be understood that the various steps described in the method implementation of this application may be performed in different orders and / or in parallel. Furthermore, the method implementation may include additional steps and / or omit the steps shown. The scope of this application is not limited in this respect.
[0031] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the following description. It should be noted that the concepts of "first", "second", etc., mentioned in the embodiments of this application are only used to distinguish different devices, modules, or units, and are not used to limit the order of functions performed by these devices, modules, or units or their interdependencies.
[0032] It should be noted that the terms "one" and "more" mentioned in the embodiments of this application are illustrative rather than restrictive. Those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0033] The names of the messages or information exchanged between multiple devices in the embodiments of this application are for illustrative purposes only and are not intended to limit the scope of these messages or information.
[0034] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device. It is understood that the above notification and user authorization process is merely illustrative and does not constitute a limitation on the implementation of this application's embodiments. Other methods that comply with relevant laws and regulations can also be applied to the implementation of this application's embodiments.
[0035] Figure 1 This is a schematic diagram of a server system architecture provided in one embodiment of this application. Figure 1 As shown, the server 10 includes a baseboard management controller (BMC) 11 and several components whose operating temperature needs to be controlled by a fan, such as a CPU (central processing unit) 12, a GPU (graphics processing unit) 13, memory 14, and a hard disk 15.
[0036] In this architecture, BMC 11, as the core control unit, can connect to various target components through multiple hardware communication channels. Specifically, BMC 11 can periodically query and collect real-time temperature data from components such as CPU 12, GPU 13, memory 14, and hard disk 15 through out-of-band communication interfaces such as PECI (platform environment control interface), I2C, or I3C.
[0037] Meanwhile, the BMC 11 is also connected to the fan module 16 in the server 10 via control channels such as PWM (pulse width modulation) or I2C to read the fan status and send speed control commands to the fan, thereby achieving precise adjustment of the airflow for cooling specific target components or areas. Different components in the server 10 can have corresponding fans to achieve cooling.
[0038] In this embodiment, the fan module 16 may include multiple fans housed within the server 10 chassis. These fans provide forced convection cooling to the CPU 12, GPU 13, memory 14, and hard drive 15 via airflow ducts. The BMC 11 connects to components such as the CPU 12 and GPU 13 via out-of-band communication interfaces (e.g., PECI, I2C, I3C) to collect the temperature of each component. Simultaneously, the BMC 11 connects to the fan module 16 via a PWM or I2C interface to control the speed of each fan. During the heat dissipation control process, the BMC 11 can calculate the corresponding temperature rise coefficient based on the real-time temperature of each component and dynamically calculate the optimal target temperature value for fan speed adjustment for each component. This allows it to adjust the speed of the corresponding fan in the fan module 16, achieving precise heat dissipation for the target components.
[0039] Based on the above embodiments, this application also provides a server fan speed control method. The embodiments of the server fan speed control method provided in this application will be described in detail below with reference to the accompanying drawings. Figure 2 This is a flowchart illustrating the fan speed control method provided in an embodiment of this application. Figure 2 As shown, this method can be executed by the server, specifically through the BMC in the server, and includes the following steps: In step S210, the temperature data of the target component in the server is obtained.
[0040] BMC accesses target components in the server, such as CPU, GPU, memory, or hard drive, through hardware communication interfaces (e.g., out-of-band channels like PECI, I2C, or I3C). Temperature data acquisition is performed periodically, meaning that the current temperature value of the target component is collected and recorded at a preset fixed time interval (e.g., every 1 second), forming a temperature data sequence.
[0041] In step S220, based on the temperature data, the temperature rise coefficient of the target component under the current load is determined. The temperature rise coefficient characterizes the rate of temperature change per unit time.
[0042] BMC calculates the real-time temperature rise of the target component based on the latest acquired temperature data. Specifically, it calculates the current temperature rise coefficient, expressed in °C / second, using the two most recent consecutive temperature values and the time interval P between the two acquisitions. This coefficient directly reflects the rate of temperature rise of the target component under the current workload.
[0043] In step S230, the reference temperature rise coefficient and the target temperature safety difference of the target component are obtained. The reference temperature rise coefficient represents the temperature rise rate of the target component under the reference temperature rise condition, and the target temperature safety difference represents the temperature margin reserved to cope with the temperature response delay under the reference temperature rise condition.
[0044] In this embodiment, two key reference parameters need to be obtained in advance before performing dynamic calculations: the reference temperature rise coefficient (Y) and the target temperature safety difference (Z).
[0045] Specifically, the reference temperature rise factor (Y) characterizes the rate of temperature rise of a target component under preset reference temperature rise conditions. For example, a thermal design engineer can test the slope of temperature rise of a target component in a laboratory setting by applying its maximum nominal power load, starting from an idle state and taking a short period of time (e.g., the first 10 seconds), and determine this slope value as the reference temperature rise factor Y (e.g., Y = 2°C / second). This parameter reflects the temperature change characteristics of the target component under typical or worst-case operating conditions.
[0046] The target temperature safety margin (Z) represents the temperature margin that needs to be reserved to compensate for the temperature response delay of the entire heat dissipation system under the reference temperature rise condition. This response delay includes: temperature sensing delay (such as temperature acquisition cycle), control decision delay (such as the time to calculate fan speed), and execution delay (such as the time for the fan motor to respond and reach the target speed). For example, under the condition of reference temperature rise coefficient Y = 2°C / second, it is determined through actual measurement that in order to ensure that the temperature of the target component does not exceed its maximum allowable temperature value MAX, a safety margin needs to be reserved in the target temperature setting, and this margin is Z (such as Z = 20°C).
[0047] Once these two parameters are determined, they can be pre-stored in the BMC's configuration memory for subsequent dynamic calculations.
[0048] In step S240, based on the temperature rise coefficient, the maximum allowable temperature value of the target component, the reference temperature rise coefficient, and the target temperature safety difference, and based on the proportional relationship between the temperature rise coefficient and the reference temperature rise coefficient, the target temperature value for fan speed regulation of the target component is calculated. The temperature rise coefficient is negatively correlated with the target temperature value.
[0049] First, the following parameters need to be specified in the implementation plan: Maximum permissible temperature (MAX): Determined according to the product specifications of the target component, it is the upper limit of the temperature at which the component can operate reliably for a long period of time.
[0050] Reference temperature rise factor (Y): Obtained in advance through thermal testing of the target component, it represents the rate of temperature rise under a set reference temperature rise condition (e.g., the worst or typical temperature rise scenario). For example, the short-term temperature rise rate starting from an idle state at maximum power consumption, or the slope of the component temperature rise over time at the fastest sustainable temperature rise rate determined by testing, is defined as a Y value (e.g., 2°C / second).
[0051] Target temperature safety margin (Z): This represents the safety margin that must be reserved under the reference temperature rise condition (Y) to compensate for temperature response delay (including lag in temperature sensing, control decision-making, fan execution, etc.) and ensure that the component temperature does not exceed MAX.
[0052] Subsequently, the BMC combines the real-time calculated current temperature rise coefficient (M) with the aforementioned preset parameters to dynamically calculate the current optimal target temperature value (T_target). The logic of dynamic calculation is that when the current temperature rise coefficient (M) is lower than the reference temperature rise coefficient (Y), it means that the temperature rise pressure is reduced, the required safety margin can be reduced proportionally, and therefore the target temperature value can be increased accordingly.
[0053] In this embodiment, the current temperature rise coefficient M is negatively correlated with the target temperature value T_target. When M is small (i.e., the temperature rise is slow), the proportional term (Y / M) is large, and the safety margin Z / (Y / M) is correspondingly reduced. Therefore, T_target is closer to MAX, the target temperature increases, and the fan speed can be reduced to save energy. When M is large (i.e., the temperature rise is fast), the proportional term (Y / M) is small, and the safety margin Z / (Y / M) is correspondingly increased. Therefore, T_target is far from MAX, the target temperature decreases, and the fan speed needs to be increased to ensure safety.
[0054] For example, suppose a CPU has a maximum allowable temperature MAX = 70°C, a reference temperature rise coefficient Y = 2°C / second obtained through thermal testing, and a target temperature safety difference Z = 20°C.
[0055] In low-load scenarios, if the current temperature rise coefficient M = 1°C / second, the calculation process is as follows: Y / M = 2 / 1 = 2; Z / (Y / M) = 20 / 2 = 10; T_target = 70 - 10 = 60°C; At this point, because the temperature rises slowly, the target temperature is set to 60°C, which is higher than the traditional fixed value (50°C), and the fan can run at a lower speed.
[0056] In high-load scenarios, if the current temperature rise coefficient M = 4°C / second, the calculation process is as follows: Y / M = 2 / 4 = 0.5; Z / (Y / M) = 20 / 0.5 = 40; T_target = 70 - 40 = 30°C; At this point, due to the rapid temperature rise, the target temperature is dynamically reduced to 30°C, and the fan will increase its speed to ensure that the component temperature does not exceed the limit.
[0057] In this way, the BMC can continuously and smoothly adjust the target temperature value of the fan speed according to the real-time load intensity (characterized by the temperature rise coefficient M), thereby achieving adaptive matching between the heat dissipation strategy and the actual temperature rise requirements of the components.
[0058] In step S250, the speed of the fan used to dissipate heat from the target component is adjusted based on the target temperature value.
[0059] The BMC uses the target temperature value (T_target) dynamically calculated in step S240 as the new control setpoint and inputs it into its internal fan speed control algorithm (e.g., a proportional-integral-derivative (PID) algorithm). This algorithm calculates and generates a corresponding fan speed control signal in real time based on the difference between the target temperature value and the actual temperature of the target component. This signal is sent to the corresponding fan driver via a control channel such as PWM or I2C, thereby precisely adjusting the speed of one or more fans cooling the target component.
[0060] This embodiment calculates the current temperature rise coefficient of the target component in real time. Based on the ratio of this temperature rise coefficient to a reference temperature rise coefficient, and combined with the component's maximum allowable temperature value and the target temperature safety difference, it can dynamically calculate the target temperature value for fan speed adjustment, and explicitly defines a negative correlation between the current temperature rise coefficient and the target temperature value. Based on this negative correlation, when the component load is low and the temperature rise rate is small, the calculated target temperature value is correspondingly increased, thereby reducing the fan speed and decreasing system heat dissipation power consumption. When the component load is high and the temperature rise rate is large, the calculated target temperature value is correspondingly decreased, thereby ensuring that the component temperature does not exceed the safe upper limit. Therefore, this embodiment achieves precise matching between fan speed and real-time heat dissipation requirements while ensuring component operational safety, effectively reducing the overall server energy consumption and improving the energy efficiency of the cooling system.
[0061] In this embodiment, the temperature acquisition, temperature rise coefficient calculation, target temperature value dynamic calculation, and fan speed adjustment constitute a complete control cycle. The BMC software continuously and cyclically executes this process, thereby achieving real-time, adaptive optimization control of server component heat dissipation. Under the premise of strictly ensuring that the components do not overheat, it can minimize fan speed and system power consumption.
[0062] Based on the above embodiments, in another embodiment provided in this application, the acquisition of the target temperature safety difference can be specifically accomplished through the following steps. This step can be executed by the BMC during the server power-on initialization phase or the fan speed control strategy configuration phase. Therefore, before step S210, such as Figure 3A As shown, the method may specifically include the following steps: Step S201: Obtain the values of multiple factors that affect the server temperature response delay, and determine the weight of each factor.
[0063] In this embodiment, the BMC identifies several key factors affecting the response latency of the entire cooling system by reading system configuration parameters, hardware specification information, and preset thermal design parameters. These factors collectively determine the total lag between the start of temperature rise in the target component and the full effectiveness of fan speed adjustment. These factors include at least one of the following: fan airflow, temperature data acquisition interval, target temperature value calculation and distribution interval, and the effective time delay of fan speed adjustment.
[0064] For example, the factors identified by BMC include, but are not limited to, the following: Factor A: Effective airflow of the fan. BMC reads the nominal airflow value of the fan at maximum speed from the fan specifications. This airflow value represents the upper limit of the fan's heat dissipation capacity.
[0065] Factor B: Temperature acquisition interval. The BMC obtains the preset temperature acquisition period from its own software configuration. This acquisition period determines the delay in the system's sensing of temperature changes.
[0066] Factor C: Speed calculation interval. The BMC obtains the preset speed calculation cycle from its own control algorithm. This calculation cycle determines the delay from acquiring the temperature to making a speed adjustment decision.
[0067] Factor D: Speed Activation Delay. The BMC obtains the response time required from issuing the speed command to the actual stabilization of the fan speed to the target value by querying the fan specifications or executing a preset self-test program. This response time characterizes the lag in the execution process.
[0068] Based on historical operating data or pre-set thermal test results, the BMC determines the weight of each factor on the overall response delay. Specifically, the BMC can perform the following calibration procedure: Acquiring Calibration Data: During the pre-shipment testing phase or upon initial power-on of the server, the BMC executes a set of pre-set test scripts. These scripts simulate different load change scenarios and record actual system response latency data under various combinations of factors. For example, under different configurations of temperature acquisition interval (B) and rotational speed activation delay (D), the system's complete response time from a load surge to component temperature stabilization is tested.
[0069] Weight Calculation: BMC uses algorithms such as linear regression or weighted least squares to analyze the collected calibration data and calculate the contribution of each factor to the overall response delay, which is then used as the weight of that factor. For example, by fitting the model Delay = Wa·A + Wb·B + Wc·C + Wd·D +ε, BMC solves for the weight coefficients Wa, Wb, Wc, and Wd that minimize the fitting error ε.
[0070] Weight storage: BMC stores the calculated weight coefficients in non-volatile memory as parameters for subsequent calculation of the target temperature safety difference (Z).
[0071] Through the above steps, BMC can determine the weights of each factor, avoiding subjective errors that may be introduced by relying on human experience for estimation, and providing accurate and reliable benchmark parameters for subsequent dynamic calculation of target temperature values.
[0072] Step S202: Determine the target temperature safety difference based on the values of multiple factors and their corresponding weights; wherein the target temperature safety difference is positively correlated with the weights of each factor.
[0073] In the embodiments, the weights characterize the degree of influence of each factor on the response delay of the heat dissipation system; wherein, for any factor, the larger its weight, the greater its contribution to the target temperature safety difference.
[0074] After obtaining the above factors and their weights, the target temperature safety margin Z can be calculated by weighted summation. The specific calculation formula is: Z = A × Wa + B × Wb + C × Wc + D × Wd. Where A, B, C, and D are factor values after normalization or specific dimensional processing. The Z value calculated by this model can more accurately reflect the dynamic response characteristics of a specific product's heat dissipation system, thus providing a more reliable baseline safety margin for subsequent dynamic target temperature calculations.
[0075] This embodiment obtains and comprehensively calculates various physical and time factors that affect the thermal response delay, replacing the traditional method of relying on a single empirical estimate or conservative estimation. This makes the determined safety difference more objective, accurate, and closely related to the thermal design of specific products, thereby improving the reliability of the entire dynamic speed regulation algorithm from the parameter source. This ensures that more precise fan power consumption control can be achieved while preventing component overheating under different system configurations.
[0076] Based on the above embodiments, in another embodiment provided in this application, to specifically illustrate how to calculate the target temperature value for fan speed regulation of the target component, such as... Figure 3B As shown, step S240 above may specifically include the following steps: Step S241: Calculate the ratio of the reference temperature rise coefficient to the temperature rise coefficient under the current load.
[0077] The reference temperature rise coefficient (Y) is compared with the temperature rise coefficient (M) calculated in real time under the current load, and the ratio R = Y / M is calculated. This ratio R quantitatively characterizes the degree of mitigation of the current temperature rise condition relative to the reference (such as the worst case). When M is less than Y, R is greater than 1, indicating that the temperature rise pressure is less than the design reference.
[0078] Step S242: Based on the target temperature safety difference and ratio, obtain the adjustment amount.
[0079] Using the target temperature safety difference (Z) and the ratio R calculated in step S231, determine the current actual required dynamic temperature safety adjustment amount (Delta). The calculation formula is: Delta = Z / R, that is, Delta = Z / (Y / M). This calculation means that when the current temperature rise is slow (R is large), the original fixed safety difference Z reserved for the worst case can be proportionally reduced to a smaller dynamic adjustment amount Delta.
[0080] Step S243: Based on the maximum allowable temperature value and the adjustment amount, obtain the target temperature value for the fan speed regulation of the target component.
[0081] Finally, the dynamic adjustment amount Delta calculated in step S232 is subtracted from the maximum allowable temperature value (MAX) of the target component to obtain the final target temperature value (T_target) applied to fan speed control. The calculation formula is expressed as: T_target = MAX - Delta = MAX - Z / (Y / M). This result is the setpoint that BMC will use to update its fan speed control algorithm.
[0082] In this embodiment, the maximum permissible temperature value (MAX) can be determined according to the product specifications of the target component, and is the upper limit of the temperature at which the component can operate normally.
[0083] The baseline temperature rise coefficient (Y) can be obtained in advance through thermal testing. Thermal design engineers, in conjunction with the overall system heat dissipation design, determine the temperature rise coefficient Y (e.g., Y = 2°C / second) of the target component under worst-case (fastest) temperature rise conditions through actual testing. They also determine the necessary temperature safety margin (Z) required to address temperature response delays (including fan airflow, BMC acquisition and calculation intervals, and control activation time) under these conditions, i.e., the target temperature safety margin (e.g., Z = 20°C). The Z value can be calculated using a weighted model (e.g., Z = A×Wa + B×Wb + C×Wc + D×Wd) based on multiple factors affecting temperature response delay (e.g., fan airflow A, acquisition interval B, calculation and distribution interval C, and control activation time D), where Wa, Wb, Wc, and Wd are the influence weights of each factor.
[0084] Dynamic computation model: BMC can combine the real-time temperature rise coefficient M with the baseline parameters Y and Z to dynamically calculate the current optimal target temperature value (T_target). The calculation principle is: the lower the current temperature rise coefficient M, the smaller the required safety margin, and the higher the target temperature value can be. A specific calculation formula is: T_target = MAX - Z / (Y / M).
[0085] Example: Assume MAX = 70°C, Y = 2°C / second, Z = 20°C.
[0086] If the current M = 1°C / second, then T_target = 70 - 20 / (2 / 1) = 70 - 10 = 60°C.
[0087] If the current M = 0.5°C / sec, then T_target = 70 - 20 / (2 / 0.5) = 70 - 5 = 65°C.
[0088] As can be seen, when the load is reduced and the temperature rises more slowly, the system automatically increases the target temperature setpoint.
[0089] It should be noted that the above specific embodiments are merely illustrative of one optional implementation of the embodiments of this application and are not intended to limit the scope of protection of this application. Based on the same technical concept, those skilled in the art can make various modifications and extensions to the disclosed technical solutions.
[0090] (1) Regarding the flexibility of the temperature rise coefficient calculation model: The specific implementation of the component temperature rise coefficient calculation model involved in the embodiments of this application can be adjusted according to different types of products (such as servers, workstations or other electronic devices that require active heat dissipation) and their specific heat dissipation system designs. Specifically, the influencing factors and their corresponding weights (Wa, Wb, Wc, Wd...) considered when calculating the target temperature safety difference (Z) are not fixed. For products with different heat dissipation architectures, fan characteristics, and BMC response performance, those skilled in the art can re-determine a set of applicable influencing factors through theoretical analysis or experiments (such as thermal testing), and assign appropriate weights to each factor, thereby constructing a more accurate safety difference calculation model suitable for the specific product.
[0091] (2) Regarding the diversity of methods for determining the target temperature value: The core of this application's embodiments lies in dynamically determining the target temperature value based on the real-time temperature rise coefficient. Besides the calculation method based on the preset formula T_target = MAX - Z / (Y / M), the mapping relationship between the target temperature value and the temperature rise coefficient can also be directly obtained through actual experimental testing. For example, thermal design engineers can simulate a series of stable temperature rise coefficients (M) in the laboratory by applying different loads, and for each case, determine the highest allowable target temperature value under the premise of ensuring the component does not overheat through experimentation. Thus, a lookup table or fitting curve of "temperature rise coefficient - target temperature value" can be established and pre-installed in the BMC software. During operation, BMC can quickly obtain the corresponding target temperature value based on the real-time temperature rise coefficient by looking up the table or calculating the fitting curve. This method can also achieve the purpose of this application's embodiments and may be more convenient or accurate in certain application scenarios; the embodiments are not limited to this.
[0092] This embodiment can transform the calculation of the target temperature value for fan speed regulation of the target component into three sequentially executable steps: calculating the ratio, determining the dynamic adjustment amount, and obtaining the target temperature value. This enables the heat dissipation control to adapt to changes in real-time load, providing a foundation for optimizing server energy efficiency.
[0093] Based on the above embodiments, in another embodiment provided in this application, such as Figure 4 As shown, step S250 above may specifically include the following steps: Step S251: Generate a fan speed control signal based on the target temperature value.
[0094] In this embodiment, the BMC can set the latest target temperature value (T_target) dynamically calculated through the aforementioned steps as the target input for its internal fan speed control algorithm. This control algorithm, such as a proportional-integral-derivative (PID) algorithm, compares this target temperature value with the actual temperature value of the target component read from the sensor in real time. Based on the difference and trend between the two, it generates a corresponding fan speed control signal in real time through algorithmic calculations (such as weighted calculations of proportional, integral, and derivative terms). This signal is typically a pulse width modulation (PWM) duty cycle value or a digital speed command sent via an I2C interface, and its magnitude directly corresponds to the target fan speed to be achieved.
[0095] Step S252: Adjust the speed of the fan used to cool the target component by means of a fan speed control signal.
[0096] The BMC can send the fan speed control signal generated in step S241 to the fan driver or controller serving the target component via its hardware interface (such as a PWM output pin or I2C bus). Upon receiving the control signal, the fan drive circuit adjusts the voltage or current supplied to the fan motor accordingly, thereby accurately and quickly adjusting the fan speed to the target value indicated by the control signal. The adjusted fan speed directly changes the forced convection cooling capacity for the target component, forming a complete, real-time closed-loop control circuit encompassing temperature sensing, intelligent calculation, speed adjustment, and temperature change.
[0097] This embodiment can use a control algorithm to transform the abstract temperature optimization target into specific drive instructions, thereby achieving accurate control of the fan speed and ensuring that the adjustment of the fan speed can be accurately executed at the hardware level.
[0098] To enhance the robustness and system security of the embodiments of this application, and to prevent unreasonable target temperature values from being calculated due to instantaneous anomalies in the calculation model, sensor noise interference, or other extreme situations, a safety range verification and correction mechanism for the target temperature value is introduced in another embodiment provided in this application. For example... Figure 5 As shown, after completing step S240 to dynamically calculate the target temperature value, the method may further include the following safeguard steps: Step S203: Compare the target temperature value with the preset safety range.
[0099] In this embodiment, the BMC may have a preset safe temperature range for the target component. The lower limit of this range is typically set as the minimum reasonable temperature (e.g., a certain margin above room temperature) to ensure effective heat dissipation control and prevent condensation, while the upper limit is strictly set as a safe threshold below or equal to the component's maximum allowable temperature (MAX), providing a final safety margin for ultimate control. The BMC compares the target temperature value (T_target) calculated in step S240 with this preset safe range to determine whether it falls within that range.
[0100] Step S204: When the target temperature value is not within the safe range, the target temperature value used for fan speed regulation is corrected to the upper or lower limit of the safe range.
[0101] In this embodiment, if the comparison result of step S201 is that T_target is within the safe range, it is directly used for subsequent fan speed control.
[0102] If the comparison result indicates that T_target exceeds the safe range, then the correction logic is initiated: When T_target exceeds the upper limit of the safe range, it indicates that the dynamically calculated value may be too aggressive and there is a risk of overheating. In this case, BMC will correct the actual target temperature value used for fan speed regulation to the upper limit of the safe range.
[0103] When T_target is below the lower limit of the safe range, it indicates that the dynamically calculated value may be too conservative or unreasonable (e.g., an abnormally negative value). In this case, BMC will correct the actual target temperature value used for fan speed regulation to the lower limit of the safe range.
[0104] Once the target temperature value has been corrected or confirmed to be valid, it is then passed to the subsequent fan speed control step S250 for execution.
[0105] The safety range verification and correction steps introduced in this embodiment add a crucial safety barrier to the entire dynamic speed regulation algorithm. By constraining the results of dynamic calculations within a reasonable range that conforms to physical common sense and safety principles, it effectively avoids the generation of dangerous or invalid control commands due to instantaneous calculation anomalies or input data disturbances. This greatly improves the robustness, reliability, and safety of the entire heat dissipation control system, ensuring that the dynamic optimization process always takes place within safe boundaries. Thus, while pursuing energy efficiency optimization, it solidly guarantees the long-term stable operation of server hardware.
[0106] Based on the above embodiments, in another embodiment provided in this application, step S210 may specifically include: periodically collecting the temperature of the target component in the server at a preset fixed time interval.
[0107] In this embodiment, the BMC software directly queries the temperature of server components (such as CPU, GPU, memory, hard drive, etc.) through out-of-band channels. This process is executed periodically at preset fixed time intervals, and the temperature data collected each time is recorded.
[0108] Specifically, the BMC can periodically collect the temperature of target components in the server at preset fixed time intervals. For example, the BMC can actively query the current temperature sensor readings of target components such as the CPU, GPU, memory, or hard drive every second (or other set time periods, such as 500 milliseconds) via out-of-band communication interfaces such as PECI, I2C, or I3C, and record the read temperature values as time-series data in memory. This timed, equally spaced acquisition method constitutes the time base for the entire dynamic speed control process, providing stable and continuous data input for subsequent calculations of the temperature rise coefficient.
[0109] The periodic temperature acquisition mechanism defined in this embodiment provides a stable, continuous, and time-defined basic data stream for the entire dynamic speed regulation algorithm. The fixed time interval standardizes the measurement and calculation of temperature changes, ensuring the accuracy and consistency of the temperature rise coefficient calculation, thus providing a basis for subsequent dynamic calculation of the target temperature value.
[0110] In this embodiment, the determination of the temperature rise coefficient of the target component under the current load can be performed in the following manner: based on the temperature values collected N times consecutively and a fixed time interval, the temperature rise coefficient of the target component under the current load is calculated; where N is an integer greater than 1.
[0111] BMC can calculate the real-time temperature rise coefficient M (in °C / second) of a target component under the current load based on temperature data acquired in the two most recent consecutive acquisition cycles. The calculation formula is: M = (current acquisition temperature N - previous acquisition temperature M) / acquisition interval P. This calculation process is synchronized with temperature acquisition and is executed cyclically with the same period.
[0112] In this embodiment, the BMC can calculate the temperature rise coefficient of the target component under the current load based on N consecutively collected temperature values and a preset fixed collection time interval. For example, in a specific implementation, N=2, that is, using the two most recent consecutively collected temperature values (T1 and T2) and the fixed time interval Δt between these two collections, the instantaneous temperature rise coefficient is directly calculated according to the formula (T2- T1) / Δt. In a more complex implementation, N>2 (e.g., N=5), and data processing methods such as linear regression are used to fit multiple temperature data points within this time window, and the slope is obtained as a smoother and more interference-resistant estimate of the temperature rise coefficient at the current moment.
[0113] The method of calculating the temperature rise coefficient through multiple consecutive sampling provided in this embodiment, compared to relying on single-difference, can effectively smooth out the reading fluctuations or instantaneous noise of the temperature sensor itself, thus obtaining a coefficient value that more accurately reflects the overall temperature rise trend of the component. By adjusting the number of sampling points N, a balance can be struck between computational sensitivity and noise immunity, enhancing the algorithm's adaptability and robustness under different noise environments, and providing a more reliable and stable input for the subsequent accurate calculation of dynamic target temperatures.
[0114] Based on the above embodiments, in another embodiment provided in this application, before calculating the target temperature value, the method further includes: determining the maximum allowable temperature value of the target component based on the product specifications of the target component.
[0115] Specifically, such as Figure 2 Before proceeding to step S240, or during the system initialization phase, the BMC or related configuration module determines the maximum permissible temperature (MAX) of the target component based on its product specifications. This is typically achieved by reading or pre-setting parameters defined in the component's official datasheet. For example, for a CPU, this value is usually the maximum junction temperature (Tjmax) specified in the datasheet; for other components such as GPUs, memory, and hard drives, it corresponds to the highest safe operating temperature or upper limit of the case temperature explicitly stated in their datasheets. This parameter is a fixed, objective value determined by the component's own physical characteristics and reliability standards, independent of the current operating state, providing an insurmountable absolute temperature safety boundary for the entire dynamic speed regulation algorithm.
[0116] This embodiment determines the upper limit value based on the product specifications specified by the component manufacturer, which fundamentally ensures that the embodiment conforms to industry standards and avoids the arbitrariness or error that may be introduced by human experience setting.
[0117] The reference temperature rise coefficient provided in this embodiment can be obtained through repeatable thermal testing, rather than relying on rough empirical estimation. This significantly improves the accuracy and reliability of the entire control model, ensuring the consistency of speed control strategies across different batches or models of products.
[0118] By dividing each function into corresponding functional modules, this application provides a server fan speed control device, which can be a server, a terminal, or a chip applied to a server. Figure 6 A schematic block diagram of the functional modules of a server fan speed control device provided in an exemplary embodiment of this application. Figure 6 As shown, the server fan speed control device includes: Temperature acquisition module 61 is used to acquire temperature data of the target component in the server; Temperature rise coefficient determination module 62 is used to determine the temperature rise coefficient of the target component under the current load based on temperature data. The temperature rise coefficient represents the rate of temperature change per unit time. The coefficient and difference acquisition module 63 is used to acquire the reference temperature rise coefficient and the target temperature safety difference of the target component. The reference temperature rise coefficient represents the temperature rise rate of the target component under the reference temperature rise condition, and the target temperature safety difference represents the temperature margin reserved to cope with the temperature response delay under the reference temperature rise condition. The target temperature calculation module 64 is used to calculate the target temperature value for fan speed regulation of the target component based on the temperature rise coefficient, the maximum allowable temperature value of the target component, the reference temperature rise coefficient, and the target temperature safety difference, and based on the proportional relationship between the temperature rise coefficient and the reference temperature rise coefficient; wherein, the temperature rise coefficient is negatively correlated with the target temperature value; The speed adjustment module 65 is used to adjust the speed of the fan that dissipates heat from the target component based on the target temperature value.
[0119] This embodiment calculates the current temperature rise coefficient of the target component in real time. Based on the ratio of this temperature rise coefficient to a reference temperature rise coefficient, and combined with the component's maximum allowable temperature value and the target temperature safety difference, it can dynamically calculate the target temperature value for fan speed adjustment, and explicitly defines a negative correlation between the current temperature rise coefficient and the target temperature value. Based on this negative correlation, when the component load is low and the temperature rise rate is small, the calculated target temperature value is correspondingly increased, thereby reducing the fan speed and decreasing system heat dissipation power consumption. When the component load is high and the temperature rise rate is large, the calculated target temperature value is correspondingly decreased, thereby ensuring that the component temperature does not exceed the safe upper limit. Therefore, this embodiment achieves precise matching between fan speed and real-time heat dissipation requirements while ensuring component operational safety, effectively reducing the overall server energy consumption and improving the energy efficiency of the cooling system.
[0120] In another embodiment provided in this application, the device further includes a target temperature safety difference acquisition module, specifically used for: Obtain the values of multiple factors affecting server temperature response latency and determine the weight of each factor; among these factors, at least one is included: fan airflow, temperature data acquisition interval, target temperature value calculation and distribution interval, and fan speed adjustment effective time delay. The target temperature safety difference is determined based on the values of multiple factors and their corresponding weights; wherein the target temperature safety difference is positively correlated with the weights of each factor.
[0121] This embodiment obtains and comprehensively calculates various physical and time factors that affect the thermal response delay, replacing the traditional method of relying on a single empirical estimate or conservative estimation. This makes the determined safety difference more objective, accurate, and closely related to the thermal design of specific products, thereby improving the reliability of the entire dynamic speed regulation algorithm from the parameter source. This ensures that more precise fan power consumption control can be achieved while preventing component overheating under different system configurations.
[0122] In another embodiment provided in this application, the target temperature value calculation module 64 is specifically used for: Calculate the ratio of the baseline temperature rise coefficient to the temperature rise coefficient under the current load; The adjustment amount is obtained based on the target temperature safety difference and ratio; Based on the maximum allowable temperature value and the adjustment amount, the target temperature value for fan speed control of the target component is calculated.
[0123] This embodiment can transform the calculation of the target temperature value for fan speed regulation of the target component into three sequentially executable steps: calculating the ratio, determining the dynamic adjustment amount, and obtaining the target temperature value. This enables the heat dissipation control to adapt to changes in real-time load, providing a foundation for optimizing server energy efficiency.
[0124] In another embodiment provided in this application, the speed adjustment module 65 is specifically used for: Generate fan speed control signal based on target temperature value; The fan speed is adjusted to cool the target component using a fan speed control signal.
[0125] This embodiment can use a control algorithm to transform the abstract temperature optimization target into specific drive instructions, thereby achieving accurate control of the fan speed and ensuring that the adjustment of the fan speed can be accurately executed at the hardware level.
[0126] In another embodiment provided in this application, the device further includes a temperature correction module, specifically used for: Compare the target temperature value with the preset safety range; When the target temperature value is not within the safe range, the target temperature value used for fan speed adjustment will be corrected to the upper or lower limit of the safe range.
[0127] The safety range verification and correction steps introduced in this embodiment add a crucial safety barrier to the entire dynamic speed regulation algorithm. By constraining the results of dynamic calculations within a reasonable range that conforms to physical common sense and safety principles, it effectively avoids the generation of dangerous or invalid control commands due to instantaneous calculation anomalies or input data disturbances, greatly improving the reliability of the entire heat dissipation control system.
[0128] In another embodiment provided in this application, the temperature acquisition module 61 is specifically used for: The temperature of the target component in the server is periodically collected at preset fixed time intervals.
[0129] The periodic temperature acquisition mechanism defined in this embodiment provides a stable, continuous, and time-defined basic data stream for the entire dynamic speed regulation algorithm. The fixed time interval standardizes the measurement and calculation of temperature changes, ensuring the accuracy and consistency of the temperature rise coefficient calculation, thus providing a basis for subsequent dynamic calculation of the target temperature value.
[0130] In another embodiment provided in this application, the temperature rise coefficient determination module 62 is specifically used for: Based on N consecutive temperature values collected at fixed time intervals, the temperature rise coefficient of the target component under the current load is calculated; where N is an integer greater than 1.
[0131] The method of calculating the temperature rise coefficient through multiple consecutive sampling provided in this embodiment, compared to relying on single-difference, can effectively smooth out the reading fluctuations or instantaneous noise of the temperature sensor itself, thus obtaining a coefficient value that more accurately reflects the overall temperature rise trend of the component. By adjusting the number of sampling points N, a balance can be struck between computational sensitivity and noise immunity, enhancing the algorithm's adaptability and robustness under different noise environments, and providing a more reliable and stable input for the subsequent accurate calculation of dynamic target temperatures.
[0132] In another embodiment provided in this application, the device further includes a maximum permissible temperature determination module, specifically used for: Based on the product specifications of the target component, determine the maximum permissible temperature value of the target component.
[0133] This embodiment determines the upper limit value based on the product specifications specified by the component manufacturer, which fundamentally ensures that the embodiment conforms to industry standards and avoids the arbitrariness or error that may be introduced by human experience setting.
[0134] In another embodiment provided in this application, the reference temperature rise coefficient can be obtained by pre-heat testing of the target component.
[0135] The reference temperature rise coefficient and target temperature safety difference provided in this embodiment are obtained through repeatable thermal testing, rather than relying on rough empirical estimates. This significantly improves the accuracy and reliability of the entire control model, ensuring the consistency of speed control strategies across different batches or models of products.
[0136] This application also provides a server, such as... Figure 7 As shown, Figure 7This is a schematic diagram of the structure of a server provided in an embodiment of this application. The server includes a processor 1901, a communication interface 1902, a memory 1903, a communication bus 1904, and a BMC 1905. The processor 1901, the communication interface 1902, the memory 1903, and the BMC 1905 communicate with each other through the communication bus 1904.
[0137] Memory 1903 is used to store computer programs; BMC1905 is used to implement the above-described method provided in the embodiments of this application when executing the program stored in memory 1903.
[0138] The communication bus mentioned in the above server can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0139] The communication interface is used for communication between the aforementioned server and other devices.
[0140] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0141] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0142] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the methods described above in the embodiments of this application.
[0143] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute the methods described above in the embodiments of this application.
[0144] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state disk (SSD)).
[0145] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0146] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments for devices, servers, and computer-readable storage media are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0147] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
Claims
1. A server fan speed control method, characterized by, The method includes: Obtain temperature data of the target component in the server; Based on the temperature data, the temperature rise coefficient of the target component under the current load is determined, and the temperature rise coefficient characterizes the rate of temperature change per unit time. The reference temperature rise coefficient and the target temperature safety difference of the target component are obtained, wherein the reference temperature rise coefficient represents the temperature rise rate of the target component under the reference temperature rise condition, and the target temperature safety difference represents the temperature margin reserved to cope with the temperature response delay under the reference temperature rise condition. Based on the temperature rise coefficient, the maximum allowable temperature value of the target component, the reference temperature rise coefficient, and the target temperature safety difference, and based on the proportional relationship between the temperature rise coefficient and the reference temperature rise coefficient, a target temperature value for fan speed regulation of the target component is calculated; wherein, the temperature rise coefficient is negatively correlated with the target temperature value; Based on the target temperature value, adjust the speed of the fan used to dissipate heat from the target component.
2. The method of claim 1, wherein, The acquisition of the target temperature safety difference includes: The values of multiple factors affecting the server temperature response latency are obtained, and the weight of each factor is determined; wherein, the multiple factors include at least one of the following: fan airflow, temperature data acquisition time interval, target temperature value calculation and distribution interval, and fan speed adjustment effective time delay; The target temperature safety difference is determined based on the values of the multiple factors and their corresponding weights; wherein the target temperature safety difference is positively correlated with the weights of each factor.
3. The method of claim 1, wherein, The calculation of the target temperature value used for fan speed regulation of the target component includes: Calculate the ratio of the reference temperature rise coefficient to the temperature rise coefficient under the current load; The adjustment amount is obtained based on the target temperature safety difference and the ratio. Based on the maximum allowable temperature value and the adjustment amount, the target temperature value for adjusting the fan speed of the target component is obtained.
4. The method of claim 1, wherein, Adjusting the speed of the fan used to dissipate heat from the target component based on the target temperature value includes: A fan speed control signal is generated based on the target temperature value; The fan speed for cooling the target component is adjusted using the fan speed control signal.
5. The method of claim 1, wherein, After calculating the target temperature value for fan speed regulation of the target component, the method further includes: The target temperature value is compared with a preset safety range; When the target temperature value is not within the safe range, the target temperature value used for fan speed adjustment is corrected to the upper or lower limit of the safe range.
6. The method according to claim 1 or 5, characterized in that, The acquisition of temperature data of the target component in the server includes: The temperature of the target component in the server is periodically collected at preset fixed time intervals.
7. The method of claim 6, wherein, Determining the temperature rise coefficient of the target component under the current load includes: Based on the temperature values collected N times consecutively and the fixed time interval, the temperature rise coefficient of the target component under the current load is calculated; where N is an integer greater than 1.
8. The method according to claim 1, characterized in that, Before calculating the target temperature value, the method further includes: Based on the product specifications of the target component, determine the maximum permissible temperature value of the target component.
9. The method according to claim 1 or 8, characterized in that, The reference temperature rise coefficient is obtained by pre-testing the target component.
10. A server, characterized in that, include: BMC; processor; Memory used to store the executable instructions of the BMC; The BMC is configured to execute the instructions to implement the method as described in any one of claims 1-9.