Fan rotating speed control method and computing equipment
By generating virtual temperature and correcting the fan speed based on load change parameters, the problem of inaccurate fan speed control caused by temperature sensor abnormality is solved, and stable operation of computing equipment is achieved.
Patent Information
- Application Number
- CN202510549771.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-28
- Publication Date
- 2025-09-16
AI Technical Summary
An abnormal temperature sensor in the fan closed-loop control system makes it impossible to accurately control the fan speed, affecting the working stability of the computing equipment.
By acquiring the historical temperature information and load change parameters of the computing device, the current virtual temperature is generated to accurately control the fan speed when the real temperature is not collected. This includes filtering, fitting and correction processing to ensure that the fan speed matches the actual temperature.
When the temperature sensor is abnormal, the fan speed can be accurately controlled to prevent the computing device from being overheated or overheated, thereby improving the working stability of the device.
Smart Images

Figure CN120653074A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of computing devices, and in particular to a fan speed control method and a computing device. Background Art
[0002] The fan closed-loop control system uses temperature as input and fan speed as output. Its proper operation relies on real-world temperature data from temperature sensors. However, temperature sensors can experience operational anomalies, interrupting the feedback of real-world temperature data. This can lead to inaccurate fan speed control, causing the actual operating temperature of the computing device to be higher or lower, impacting operational stability. Summary of the Invention
[0003] The present application provides a fan speed control method and a computing device for accurately controlling the fan speed and improving the stability of the computing device.
[0004] In a first aspect, embodiments of the present application provide a fan speed control method, comprising: obtaining historical temperature information and a load change parameter of a computing device; generating a current virtual temperature based on the historical temperature information and the load change parameter; and further controlling the fan speed based on the current virtual temperature. The load change parameter indicates a change in the current load of the computing device relative to the historical load of the computing device. The current virtual temperature simulates the current temperature of the computing device. A fan is used to dissipate heat from the computing device.
[0005] Considering that computing device operating temperatures typically vary linearly and are closely correlated with changes in their load, this technical solution uses the device's historical temperature information and load variation parameters to determine the current virtual temperature, accurately reflecting the device's actual operating environment temperature. This allows for precise fan speed control when the actual operating temperature isn't available, preventing issues with high or low ambient temperatures and effectively improving device stability.
[0006] In one possible implementation, a method for generating a current virtual temperature based on historical temperature information and a load change parameter includes: processing the historical temperature information to generate an initial virtual temperature; and modifying the initial virtual temperature based on the load change parameter to generate the current virtual temperature.
[0007] In one possible implementation, the historical temperature information includes multiple historical operating temperatures collected at multiple historical control moments. A method for processing the historical temperature information to generate an initial virtual temperature specifically includes: performing filtering based on the multiple historical operating temperatures to obtain multiple filtered temperatures; and performing fitting based on the multiple filtered temperatures to generate the initial virtual temperature.
[0008] In one possible implementation, the historical temperature information further includes at least one historical virtual temperature generated at at least one historical control moment. The at least one historical control moment is different from each of the plurality of historical control moments. The method for generating an initial virtual temperature by performing a fitting process based on the plurality of filtered temperatures specifically includes: performing a fitting process based on the plurality of filtered temperatures and the at least one historical virtual temperature to generate the initial virtual temperature.
[0009] In a possible implementation, the initial virtual temperature is corrected based on the load change parameter to generate the current virtual temperature, including: determining a correction value based on the load change parameter, and determining the current virtual temperature based on the correction value and the initial virtual temperature.
[0010] In a possible implementation, the correction value is the product of the load correction coefficient and the load change parameter.
[0011] In a possible implementation, the method for obtaining historical temperature information and load change parameters of a computing device specifically includes: obtaining historical temperature information and load change parameters of the computing device when the operating temperature is not collected at a current control moment.
[0012] In one possible implementation, a method for obtaining historical temperature information and load change parameters of a computing device specifically includes: obtaining the historical temperature information and load change parameters of the computing device when the operating temperature is collected at a current control moment and the number of successful collection attempts after failed collection is less than or equal to a preset number. The number of successful collection attempts after failed collection is the number of successful collection attempts of the operating temperature since the most recent failed collection moment. The most recent failed collection moment is the most recent historical control moment at which the operating temperature was not collected.
[0013] In one possible implementation, a method for generating a current corrected temperature based on a current operating temperature and a current virtual temperature specifically includes: generating the current corrected temperature based on the current operating temperature, the current virtual temperature, and a temperature correction parameter. The temperature correction parameter is used to represent the difference between the current operating temperature and the current virtual temperature. Determining a current fan speed parameter based on the current corrected temperature and a desired operating temperature. Controlling the fan speed based on the current speed parameter.
[0014] In a second aspect, a computing device is provided, comprising a memory and a processor. The memory and the processor are electrically connected. The memory is configured to store program instructions, and the processor is configured to execute the program instructions, so that the computing device performs the fan speed control method of the first aspect and possible implementations thereof.
[0015] In a third aspect, a chip is provided, which includes: a processor and an interface circuit; the interface circuit is used to receive program instructions and transmit them to the processor; the processor is used to run the program instructions to execute the fan speed control method of the first aspect and its possible implementation methods.
[0016] In a fourth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores program instructions. When the program instructions in the computer-readable storage medium are executed by a computing device, the computing device executes the fan speed control method of the first aspect and possible implementations thereof.
[0017] In a fifth aspect, a computer program product including program instructions is provided. When the program instructions in a computer-readable storage medium are executed by a computing device, the computing device executes the fan speed control method of the first aspect and possible implementations thereof.
[0018] It should be understood that the technical effects brought about by any implementation method in the second to fifth aspects can refer to the technical effects brought about by the corresponding implementation method in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 A schematic diagram of the structure of a fan speed control system provided in an embodiment of the present application;
[0020] Figure 2 A schematic diagram of the hardware structure of a computing device provided in an embodiment of the present application;
[0021] Figure 3 A flow chart of a fan speed control method provided in an embodiment of the present application;
[0022] Figure 4 A flow chart of another fan speed control method provided in an embodiment of the present application;
[0023] Figure 5 A flow chart of another fan speed control method provided in an embodiment of the present application;
[0024] Figure 6 A schematic diagram of a temperature change process provided in an embodiment of the present application;
[0025] Figure 7 A flow chart of another fan speed control method provided in an embodiment of the present application;
[0026] Figure 8 A schematic diagram of the functional structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0027] In the description of this application, unless otherwise specified, " / " means "or", for example, A / B can mean A or B. "And / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, "at least one" means one or more, and "a plurality" means two or more. Words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not limit them to be necessarily different.
[0028] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0029] An embodiment of the present application provides a fan speed control method, in which a computing device can obtain historical temperature information and load change parameters of the computing device, and generate a current virtual temperature based on the historical temperature information and load change parameters, so as to further control the fan speed based on the current virtual temperature. Considering that the operating temperature of the computing device usually changes linearly, and the change in the operating temperature of the computing device is closely related to the change in the load of the computing device. Therefore, the current virtual temperature determined by the computing device's historical temperature information and load change parameters can accurately reflect the actual temperature of the computing device's working environment, and can support accurate control of the fan speed when the actual working temperature is not collected, thereby avoiding the problem of high or low temperature in the computing device's working environment, and effectively improving the stability of the computing device's operation.
[0030] The fan speed control method provided in the embodiments of this application is applicable to any scenario where fans are deployed to dissipate heat from computing devices, thereby ensuring stable operation of the computing devices at a specific temperature. For example, this can be applied to cooling servers in data centers or cloud servers in cloud computing centers. It should be noted that the above description of applicable scenarios for the fan speed control method is merely illustrative and is not intended to limit this application.
[0031] In practical applications, these cooling scenarios can achieve fan speed control based on a closed-loop control system. If the temperature sensor on the computing device fails to properly reflect the actual ambient temperature, the fan speed control method provided in the embodiments of this application can be used to generate a virtual temperature of the computing device's operating environment. The fan speed can then be controlled based on the generated virtual temperature, achieving accurate fan speed control in the event of abnormal temperature feedback and improving the stability of the computing device's operation.
[0032] like Figure 1 FIG. 1 is a schematic diagram of a fan speed control system provided in an embodiment of the present application. The fan speed control system includes a temperature sensor 101 on a computing device 10, a fan 102, and a controller 103. The fan speed control method provided in an embodiment of the present application can be applied to Figure 1 The controller 103 of the fan speed control system is shown.
[0033] It should be noted that the number and connection relationship of the temperature sensors 101, fans 102 and controllers 103 included in the above-mentioned fan speed control system are only examples, and the embodiments of the present application do not limit this.
[0034] The temperature sensor 101 is used to collect the temperature of components requiring heat dissipation on the computing device 10, such as the processor, motherboard, and memory. Optionally, the temperature sensor 101 may be a contact temperature sensor that is in direct contact with the components requiring heat dissipation on the computing device 10, or a non-contact temperature sensor that is not in direct contact with the components requiring heat dissipation on the computing device 10. The contact temperature sensor may be a thermocouple temperature sensor, an integrated temperature sensor, or a thermistor temperature sensor. The non-contact temperature sensor may be an infrared temperature sensor, etc. This embodiment of the present application is not limited thereto.
[0035] The fan 102 is used to accelerate air flow to dissipate heat from the computing device 10. Optionally, the fan 102 may be an axial flow fan, a centrifugal fan, or a turbo fan, etc., which is not limited in the present embodiment.
[0036] The controller 103 is used to obtain the temperature of each component on the computing device 10 that needs heat dissipation through the temperature sensor 101, and control the fan speed based on the obtained temperature. If the temperature sensor 101 does not normally feedback the actual temperature of the environment, the controller 103 can obtain the load information of the computing device 10, and combine it with the recorded historical temperature information to generate a current virtual temperature, so as to further control the fan speed based on the generated current virtual temperature. For example, the controller 103 can be a baseboard management controller (BMC), which can obtain the load information of the computing device 10 through the platform environment control interface (PECI).
[0037] Optional, Figure 1 The controller 103 may be a functional module integrated into the computing device 10, or may be a device independently provided from the computing device 10. This application does not impose any restrictions on this.
[0038] The computing device 10 may be a server. The server may be a single server or a server cluster consisting of multiple servers. A server cluster may also be referred to as a computing device cluster. In some implementations, the server cluster may also be a distributed cluster. This application does not limit the form of the terminal and server.
[0039] In terms of hardware implementation, the computing device 10 can be implemented as follows: Figure 2 The computing devices shown implement the corresponding functions. Figure 2 , which is a schematic diagram of the hardware structure of a computing device provided in an embodiment of the present application.
[0040] Figure 2 The computing device 20 shown may include a processor 201 , a memory 202 , a communication interface 203 , and a bus 204 . The processor 201 , the memory 202 , and the communication interface 203 may be connected via the bus 204 .
[0041] The processor 201 is the control center of the computing device 20 and can be a general-purpose central processing unit (CPU) or other general-purpose processors, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0042] As an example, the processor 201 may include one or more CPUs, such as Figure 2 CPU 0 and CPU 1 are shown in Figure 1.
[0043] The memory 202 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
[0044] In one possible implementation, memory 202 may exist independently of processor 201. Memory 202 may be connected to processor 201 via bus 204 and configured to store data, instructions, or program code. When processor 201 calls and executes the instructions or program code stored in memory 202, the fan speed control method provided in the embodiments of the present application can be implemented.
[0045] In another possible implementation, the memory 202 may also be integrated with the processor 201 .
[0046] The communication interface 203 is used to connect the computing device 20 to other devices via a communication network, which may be Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. The communication interface 203 may include a receiving unit for receiving data and a sending unit for sending data.
[0047] The bus 204 may be an ISA bus, a PCI bus, a PCI-Express bus, an EISA bus, or an EISA bus. The bus may be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, Figure 2 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.
[0048] It should be pointed out that Figure 2 The structure shown in the figure does not constitute a limitation on the computing device 20, except Figure 2 In addition to the components shown, computing device 20 may include more or fewer components than shown, or combine certain components, or arrange components differently.
[0049] like Figure 3 , which is a flow chart of a fan speed control method provided in an embodiment of the present application. Figure 3 The method shown can be applied to a computing device, and can be specifically executed by a controller in the computing device. For example, the computing device can be Figure 1 The computing device of the fan speed control system shown. Or further, the computing device can be Figure 2 The structure of the computing device shown is implemented. Figure 3 The fan speed control method shown includes: S301-S303.
[0050] S301. Obtain historical temperature information and load change parameters of a computing device.
[0051] Historical temperature information includes multiple historical operating temperatures collected at multiple historical control moments. For example, a computing device may collect multiple historical operating temperatures at multiple historical control moments using a temperature sensor. Each historical control moment corresponds to a corresponding historical operating temperature. A historical control moment is a control moment preceding the current control moment. In other words, to accurately control fan speed and ensure stable operation of various components at an appropriate ambient temperature, the computing device may obtain historical temperature information at the current control moment, thereby further generating a current virtual temperature to accurately determine the current operating ambient temperature.
[0052] Alternatively, the historical temperature information may further include at least one historical virtual temperature generated at at least one historical control moment. The at least one historical control moment is different from each of the plurality of historical control moments. In other words, at at least one previous historical control moment, the computing device did not collect the operating temperature via the temperature sensor, and at least one historical virtual temperature was generated at at least one historical control moment. Thus, the historical virtual temperature generated at the historical control moment may also participate in the prediction process of the virtual temperature at the current control moment, thereby improving the temporal coherence of the historical temperature data involved in the prediction process and thereby enhancing the accuracy of the generated virtual temperature.
[0053] Optionally, the multiple historical control moments may be multiple consecutive historical control moments before the current control moment, or multiple discontinuous historical control moments before the current control moment. Alternatively, the historical control moment closest to the current control moment among the multiple historical control moments may be the historical control moment before the current control moment.
[0054] For example, assuming there are five consecutive control moments T1, T2, T3, T4 and T5, and the current control moment is T5, the multiple historical control moments can be consecutive T1, T2, T3 and T4, or discontinuous T1, T3 and T4.
[0055] The aforementioned control moments refer to the moments at which the computing device controls the fan speed. For example, the computing device may control the fan speed in real time. In this case, the control moments are consecutive moments in time. For another example, the computing device may control the fan speed periodically. In this case, adjacent control moments within each control moment are separated by a control period. For example, the control period may be 5 seconds or 10 seconds. This is not a limitation in the present embodiment.
[0056] The load change parameter is used to indicate the change in the current load of the computing device relative to the historical load of the computing device. The current load of the computing device refers to the load of the computing device at the current control moment. The historical load of the computing device refers to the load of the computing device at historical control moments. Optionally, the load change parameter can be the difference between the current load of the computing device and the historical load of the computing device, the change in the current load of the computing device relative to the historical load of the computing device (i.e., the percentage change), the percentage difference between the current load of the computing device and the historical load of the computing device, etc.
[0057] Optionally, the historical control moment may be a moment before the current control moment, or may be multiple historical control moments before the current control moment.
[0058] If the historical control moment may be a moment before the current control moment, the load change parameter is used to indicate a load change of the computing device at the current control moment relative to the load at the previous moment.
[0059] If the historical control moment is multiple historical control moments before the current control moment, the historical load of the computing device can be the load average of the computing device at the multiple historical control moments, and the load change parameter is used to indicate the change in the load of the computing device at the current control moment relative to the load average of the multiple historical control moments.
[0060] S302: Generate a current virtual temperature based on historical temperature information and load change parameters.
[0061] The current virtual temperature is used to simulate the current temperature of the computing device, that is, the virtual temperature used to control the fan speed at the current control moment.
[0062] For example, the computing device may process multiple historical operating temperatures included in the historical temperature information to generate an initial virtual temperature. Further, the computing device may adjust the initial virtual temperature according to the load change parameter to generate a current virtual temperature.
[0063] For another example, the computing device may determine the linear relationship between the temperature change value and the load change value, and combine this with the load change parameter to determine the current temperature change value. The current temperature change value refers to the temperature change value of the operating temperature at the current control moment relative to the historical operating temperature at the previous control moment. Furthermore, the computing device may combine the current temperature change value with the historical operating temperature included in the historical temperature information to generate the current virtual temperature.
[0064] S303: Control the fan speed based on the current virtual temperature.
[0065] Among them, the fan is used to dissipate heat for the computing device.
[0066] For example, the computing device can determine a fan speed parameter based on the difference between the current virtual temperature and the desired operating temperature, and further control the fan speed based on the fan speed parameter. The desired operating temperature refers to the desired operating temperature after controlling the fan speed. The desired operating temperature can be set manually based on experience or determined by the computing device based on the material and specifications of the heat dissipation object, without limitation.
[0067] Specifically, if the current virtual temperature is higher than the expected operating temperature, it may indicate that the computing device may currently be operating in a higher temperature environment and needs to increase the fan speed to increase the heat dissipation speed. The computing device may then increase the current fan speed parameter to increase the fan speed so that the temperature in the computing device's working environment gradually decreases to the expected operating temperature. If the current virtual temperature is lower than the expected operating temperature, it may indicate that the computing device may currently be operating in a lower temperature environment and needs to reduce the fan speed to slow down the heat dissipation speed. The computing device may then lower the current fan speed parameter to reduce the fan speed so that the temperature in the computing device's working environment gradually increases to the expected operating temperature. If the current virtual temperature is equal to the expected operating temperature, it may indicate that the computing device may currently be operating in a suitable temperature environment. The computing device may not adjust the current fan speed parameter, but may keep the fan speed unchanged so that the temperature in the computing device's working environment tends to be stable.
[0068] For another example, the computing device may compare the current virtual temperature with a start threshold and a stop threshold. If the current virtual temperature is greater than or equal to the start threshold, the computing device may control the fan to operate based on a set speed. If the current virtual temperature is less than or equal to the stop threshold, the computing device may control the fan to stop operating.
[0069] In one possible implementation, in the above S302, that is, when the computing device generates the current virtual temperature based on the historical temperature information and the load change parameter, the embodiment of the present application provides an optional implementation, including: S3021-S3022.
[0070] S3021. Process historical temperature information to generate an initial virtual temperature.
[0071] For example, the computing device may filter multiple historical operating temperatures in the historical temperature information to improve the smoothness of the temperature data. Further, the computing device may perform fitting processing on the filtered multiple historical operating temperatures to generate an initial virtual temperature.
[0072] For example, the computing device can generate a change curve of the working temperature on the time axis within a fixed time period (such as 0:00 to 24:00) based on historical temperature information to further determine that the temperature corresponding to the current control moment on the change curve is the initial virtual temperature.
[0073] S3022. Correct the initial virtual temperature based on the load change parameter to generate a current virtual temperature.
[0074] Considering the positive correlation between the heat dissipated by a computing device and its load, in order to accurately simulate the operating temperature at the current control moment, after the computing device generates an initial virtual temperature, it can modify the initial virtual temperature based on the load change parameter to generate the current virtual temperature.
[0075] For example, the computing device may multiply the load change parameter and the load correction coefficient to obtain a correction value, and further add the correction value to the initial virtual temperature to obtain the current virtual temperature.
[0076] For another example, the computing device may obtain a preset correction value corresponding to each of a plurality of preset change parameters, and determine the preset correction value corresponding to the preset change parameter that matches the load change parameter as the correction value, and further add the correction value to the initial virtual temperature to obtain the current virtual temperature. The preset change parameter is a pre-set load change parameter, and the preset correction value is a correction value pre-set corresponding to the preset change parameter.
[0077] In one possible implementation, in the above S3021, that is, when the computing device processes based on the historical temperature information and generates the initial virtual temperature, the embodiment of the present application provides an optional implementation, including: S30211-S30212.
[0078] S30211. Perform filtering based on multiple historical operating temperatures to obtain multiple filtered temperatures.
[0079] In order to improve the error of the generated virtual temperature and improve the practicality of the virtual temperature, the computing device may first perform filtering processing on multiple historical operating temperatures.
[0080] For example, the computing device may use a low-pass filtering method to filter multiple historical operating temperatures to obtain multiple filtered temperatures. Specifically, the computing device may implement low-pass filtering of multiple historical operating temperatures based on a first formula. The first formula is:
[0081] y(k)=(1-n)×y(k-1)+n×x(k).
[0082] Where y(k) is the filtered temperature output of the current filter. y(k-1) is the filtered temperature output of the previous filter. x(k) is the historical operating temperature input of the current filter. η is the filter coefficient, ranging from 0 to 1. η can be appropriately set to improve data smoothness while reducing the lag of the control system response.
[0083] For another example, the computing device may use Kalman filtering or other filtering methods to filter multiple historical operating temperatures to obtain multiple filtered temperatures.
[0084] S30212. Perform fitting processing based on multiple filtered temperatures to generate an initial virtual temperature.
[0085] For example, the computing device may use a weighted linear regression method to fit multiple filtered temperatures to generate an initial virtual temperature. Specifically, the computing device may perform a weighted summation of the multiple filtered temperatures based on the second formula to obtain the initial virtual temperature. Furthermore, the earlier the historical control moment of the filtered temperature, the smaller the weight value. The second formula is:
[0086]
[0087] Where Tc is the initial virtual temperature, λi is the weight value of the i-th filtered temperature, and Ti is the i-th filtered temperature.
[0088] For another example, the computing device may use an exponentially weighted moving average method or other methods to perform fitting processing on multiple filtered temperatures to generate an initial virtual temperature.
[0089] In one possible implementation, the historical temperature information may also include at least one historical virtual temperature generated at at least one historical control moment. The at least one historical control moment is different from each of the multiple historical control moments. In other words, at at least one historical control moment before the current control moment, the computing device did not collect the operating temperature through the temperature sensor, and at least one historical virtual temperature was generated at at least one historical control moment. In this case, in the above S30212, that is, when the computing device performs fitting processing based on multiple filtered temperatures to generate an initial virtual temperature, an embodiment of the present application provides an optional implementation method, including: S30212a.
[0090] S30212a. Perform fitting processing based on multiple filtered temperatures and at least one historical virtual temperature to generate an initial virtual temperature.
[0091] For example, assume that there are thirty-one control moments, namely T1, T2, T3, ..., T31. Moreover, the current control moment is T31, at least one historical control moment is T29 and T30, and multiple historical control moments are T1 to T28. That is, the computing device collected historical operating temperatures at T1 to T28, did not collect operating temperatures at T29 and T30, and generated historical virtual temperatures respectively. If the computing device still does not collect the operating temperature at T31, it can generate an initial virtual temperature of T31 based on the historical operating temperatures collected at T1 to T28, and the historical virtual temperatures generated at T29 and T30, so as to facilitate control system operations.
[0092] It should be understood that the implementation method of S30212a can be understood by referring to the specific description in S30212 and will not be elaborated here.
[0093] In one possible implementation, in the above S3022, that is, when the computing device corrects the initial virtual temperature based on the load change parameter to generate the current virtual temperature, an embodiment of the present application provides an optional implementation, including: S30221-S30222.
[0094] S30221. Determine a correction value based on the load change parameter.
[0095] S30222. Determine the current virtual temperature based on the correction value and the initial virtual temperature.
[0096] For example, the correction value may be the product of the load correction coefficient and the load change parameter. The computing device may determine the current virtual temperature based on the load correction coefficient, the load change parameter, the initial virtual temperature, and a third formula. The third formula is:
[0097] Td=Tc+φ×ΔP.
[0098] Where Td is the current virtual temperature. Tc is the initial virtual temperature. φ is the load correction factor. ΔP is the load change parameter.
[0099] For another example, the correction value may be a ratio of a load change parameter to a preset change parameter. The computing device may multiply the correction value by the initial virtual temperature to determine the current virtual temperature. The preset change parameter is a pre-set load change parameter.
[0100] In one possible implementation, the fan speed control method provided by the embodiment of the present application can provide a virtual temperature at the current control moment when the temperature sensor is working abnormally, thereby achieving accurate control of the fan speed. Figure 3 The fan speed control method shown is as follows Figure 4 , which is a flow chart of another fan speed control method provided in an embodiment of the present application. Figure 4 The fan speed control method shown is given Figure 3 An optional implementation of S301: S3011, and an optional implementation of S303: S3031-S3032.
[0101] S3011. When the operating temperature is not collected at the current control moment, obtain historical temperature information and load change parameters of the computing device.
[0102] If the operating temperature is not collected at the current control moment, it may indicate that the temperature sensor is malfunctioning and not feeding back true temperature data. The computing device can then obtain historical temperature information and load change parameters of the computing device to generate the current virtual temperature, thereby accurately controlling the fan speed and improving operational stability.
[0103] It should be understood that the implementation manner in which the computing device obtains the historical temperature information and load change parameters of the computing device can be understood by referring to the specific description in S301 and will not be elaborated on herein.
[0104] S3031. Determine a current speed parameter of the fan according to the current virtual temperature and the expected operating temperature.
[0105] S3032: Control the fan speed based on the current speed parameter.
[0106] Based on this, if the operating temperature is not collected at the current control time, when the computing device controls the fan speed based on the current virtual temperature, it can determine the current fan speed parameter based on the current virtual temperature and the desired operating temperature. Furthermore, the computing device can control the fan speed based on the current speed parameter.
[0107] For example, the computing device may use a proportional-integral-differential control algorithm to determine the current speed parameter of the fan according to the difference between the current virtual temperature and the expected operating temperature.
[0108] In one possible implementation, it is considered that the fan speed control is performed based on the virtual temperature at the control moment when the operating temperature is not collected, and the virtual temperature may have a certain error compared to the operating temperature in the real environment. If the virtual temperature is higher than the operating temperature in the real environment, it is easy to cause the determined fan speed parameter to be higher, causing the fan to operate at a higher speed, resulting in the problem that the actual operating temperature after adjustment is lower than the expected operating temperature, causing the operation of the computing device to be unstable. If the virtual temperature is lower than the operating temperature in the real environment, it is easy to cause the determined fan speed parameter to be lower, causing the fan to operate at a lower speed, causing the problem that the actual operating temperature after adjustment is higher than the expected operating temperature, causing the operation of the computing device to be unstable.
[0109] In order to improve the problem that the actual working temperature may be higher or lower after adjustment based on the virtual temperature, the fan speed control method provided in the embodiment of the present application can also realize the compensation control of the working environment temperature of the computing device when the working state of the temperature sensor changes from abnormal to normal, that is, when the computing device changes from failing to collect the working temperature to being able to collect the working temperature successfully. Figure 3 The fan speed control method shown is as follows Figure 5 , which is a flow chart of another fan speed control method provided in an embodiment of the present application. Figure 5 The fan speed control method shown is given Figure 3 Another optional implementation of S301: S3012, and another optional implementation of S303: S3033-S3035.
[0110] S3012: When the operating temperature is collected at the current control moment and the number of successful collections after failed collections is less than or equal to a preset number, obtain historical temperature information and load change parameters of the computing device.
[0111] The number of successful collections after failed collections is the number of successful collections of the operating temperature since the most recent failed collection moment. The most recent failed collection moment is the most recent historical control moment from the current control moment at which the operating temperature was not collected.
[0112] For example, suppose there are four control times: T40, T41, T42, T43, and T45. Furthermore, the current control time is T45. If the computing device collects operating temperatures at T42, T43, and T45, but fails to collect operating temperatures at T40 and T41, then the most recent failed collection time is T41, and the number of successful collections after the failed collection is three, meaning that the collection was successful three times at T42, T43, and T45, respectively.
[0113] If the operating temperature is collected at the current control moment and the number of successful collections after failed collections is less than or equal to a preset number, it can indicate that the stage of controlling the fan speed based on the virtual temperature has just ended, and the stage of controlling the fan speed based on the actual temperature (i.e., the collected operating temperature) has just begun. In this case, in order to quickly eliminate the problem of the actual operating temperature being higher or lower due to the stage of controlling the fan speed based on the virtual temperature, the computing device can obtain the computing device's historical temperature information and load change parameters to determine the difference between the operating temperature collected at the current control moment and the current virtual temperature, thereby accurately performing compensatory control.
[0114] Optionally, the preset number can be manually set based on experience. For example, the preset number can be 5 or 7 times. Alternatively, the preset number can be determined by a computing device based on the number of acquisition failures to accurately achieve temperature compensation control. The number of acquisition failures refers to the number of consecutive times the operating temperature has not been acquired since the most recent acquisition failure. For example, the preset number can be the product of the number of acquisition failures and a compensation coefficient. The compensation coefficient can be 0.3 or 0.5, etc. This is not limited in the present embodiment.
[0115] It should be understood that the implementation manner in which the computing device obtains the historical temperature information and load change parameters of the computing device can be understood by referring to the specific description in S301 and will not be elaborated on herein.
[0116] S3033. Generate a current corrected temperature based on the current operating temperature and the current virtual temperature.
[0117] S3034. Determine a current speed parameter of the fan according to the current corrected temperature and the expected operating temperature.
[0118] S3035. Control the fan speed based on the current speed parameter.
[0119] The current operating temperature is the operating temperature collected at the current control moment.
[0120] Based on this, if the operating temperature is collected at the current control moment and the number of successful collections after failed collections is less than or equal to a preset number, the computing device can generate a current corrected temperature based on the current operating temperature and the current virtual temperature when controlling the fan speed based on the current virtual temperature. Furthermore, the computing device can determine the current fan speed parameter based on the current corrected temperature and the desired operating temperature. Furthermore, the computing device can control the fan speed based on the current speed parameter.
[0121] For example, the computing device may determine a temperature correction parameter based on the difference between the current virtual temperature and the current operating temperature, and further subtract the temperature correction parameter from the current operating temperature to obtain the current corrected temperature.
[0122] In this way, if the current virtual temperature is higher than the current operating temperature, the actual operating temperature after the current adjustment is lower than the desired operating temperature. In this case, the temperature correction parameter is a positive value, and the current corrected temperature is lower than the current operating temperature, which makes the fan speed lower after control, and the actual operating temperature gradually rises to the desired operating temperature. If the current virtual temperature is lower than the current operating temperature, the actual operating temperature after the current adjustment is higher than the desired operating temperature. In this case, the temperature correction parameter is a negative value, and the current corrected temperature is higher than the current operating temperature, which makes the fan speed higher after control, and the actual operating temperature gradually decreases to the desired operating temperature.
[0123] For another example, if the current virtual temperature is higher than the current operating temperature, the computing device may determine the current corrected temperature as the product of the current operating temperature and the second adjustment coefficient. The first adjustment coefficient is greater than 0 and less than 1. This allows the current corrected temperature to be lower than the current operating temperature, resulting in a lower fan speed after control, allowing the actual operating temperature to gradually rise to the desired operating temperature.
[0124] If the current virtual temperature is lower than the current operating temperature, the computing device may determine the current corrected temperature as the product of the current operating temperature and a first adjustment coefficient. The first adjustment coefficient is greater than 1 and less than 2. This allows the current corrected temperature to be higher than the current operating temperature, resulting in a higher fan speed after control, and gradually lowering the actual operating temperature to the desired operating temperature.
[0125] For example, Figure 6 , which is a schematic diagram of a temperature change process provided in an embodiment of the present application. Figure 6 In the plane rectangular coordinate system shown in the figure, the horizontal axis is time, the vertical axis is temperature, the black square grid is used to indicate the real working temperature collected by the computing device at the corresponding control time, the black circular grid is used to indicate the virtual temperature generated by the computing device at the corresponding control time, and the black triangular grid is used to indicate the corrected temperature generated by the computing device at the corresponding control time. Figure 6 In the example, the computing device collects the operating temperature starting at control time t0 and performs fan speed control based on the actual temperature until the operating temperature collection fails starting at control time t1. The computing device generates a virtual temperature starting at control time t1 and performs fan speed control based on the generated virtual temperature until the operating temperature is collected again starting at control time t2. The computing device generates a corrected temperature starting at control time t2 based on the collected operating temperature and the generated virtual temperature, and performs fan speed control based on the generated corrected temperature to gradually adjust the actual operating temperature close to the desired operating temperature. Compensation control ends when the number of successful collections after a collection failure exceeds a preset number.
[0126] Based on this, the embodiment of the present application can support performing a preset number of compensation controls on the actual working temperature after the temperature sensor changes from abnormal operation to normal operation, that is, after the computing device changes from failing to collect the working temperature to being able to successfully collect the working temperature, so as to gradually adjust the actual working temperature close to the expected working temperature, so that the computing device can operate at an appropriate temperature and avoid the problem of unstable operation of the computing device caused by sudden changes in the actual working temperature.
[0127] In one possible implementation, in the above S3033, that is, when the computing device generates the current corrected temperature based on the current operating temperature and the current virtual temperature, an embodiment of the present application provides an optional implementation, including: S30331.
[0128] S30331. Generate a current corrected temperature according to the current working temperature, the current virtual temperature, and the temperature correction parameter.
[0129] The temperature correction parameter is used to represent the difference between the current virtual temperature and the current operating temperature. For example, the temperature correction parameter can be the difference between the current virtual temperature and the current operating temperature. In another example, the temperature correction parameter can be the percentage difference between the current virtual temperature and the current operating temperature.
[0130] In the case where the temperature correction parameter is the difference between the current virtual temperature and the current operating temperature, the computing device may generate the current corrected temperature based on a fourth formula. The fourth formula is:
[0131] Tx=Tt+θ×(Td-Tt).
[0132] Where Tx is the current corrected temperature, Tt is the current operating temperature, Td is the current virtual temperature, and θ is the temperature correction coefficient.
[0133] In one possible implementation, Figure 7 , which is a flow chart of another fan speed control method provided in an embodiment of the present application. Figure 7 The fan speed control method shown includes: S401-S408
[0134] S401: The fan closed-loop control system starts running.
[0135] S402: Determine whether the operating temperature is collected.
[0136] S403: Process the historical temperature information to generate an initial virtual temperature.
[0137] S404 : Correct the initial virtual temperature based on the load change parameter to generate a current virtual temperature.
[0138] S405: Determine whether the number of successful acquisitions after the acquisition failure is less than or equal to a preset number.
[0139] S406: Generate a current virtual temperature based on historical temperature information and load change parameters.
[0140] S407: Generate a current corrected temperature based on the current operating temperature and the current virtual temperature.
[0141] S408: Participate in the fan closed-loop control system calculation to obtain the fan speed parameter.
[0142] S409: Send the fan speed parameter to the fan.
[0143] Based on this, after the fan closed-loop control system in the computing device is started and operated, it can be determined at the control moment whether the operating temperature is collected.
[0144] If the operating temperature is not collected, the computing device may execute S403-S404 and S408-S409. In this way, the computing device may process the historical temperature information to generate an initial virtual temperature, and then modify the initial virtual temperature based on the load change parameter to generate a current virtual temperature. The current virtual temperature may then be used to participate in the fan closed-loop control system calculations, thereby obtaining a fan speed parameter and transmitting the fan speed parameter to the fan.
[0145] If the operating temperature is collected and the number of successful collection attempts after a failure is less than or equal to a preset number, the computing device may execute S406-S409. In this way, the computing device may generate a current virtual temperature based on the historical temperature information and the load change parameter, and a current corrected temperature based on the current operating temperature and the current virtual temperature. The current corrected temperature may then be used in the fan closed-loop control system to calculate the fan speed parameter, which may then be transmitted to the fan.
[0146] If the working temperature is collected and the number of successful collections after failure is greater than the preset number, the computing device can execute S408-S409, that is, use the collected working temperature to participate in the fan closed-loop control system calculation, obtain the fan speed parameter, and send the fan speed parameter to the fan.
[0147] The above mainly introduces the scheme of the embodiment of the present application from the perspective of method. It is understandable that, in order to realize the above functions, the computing device includes at least one of the hardware structure and software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0148] The embodiment of the present application can divide the computing device into functional units according to the above method example. For example, each functional unit can be divided according to each function, or two or more functions can be integrated into one processing unit. The above integrated unit can be implemented in the form of hardware or in the form of software functional units. It should be noted that the division of units in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0149] In the case of dividing each functional module into corresponding functional modules, Figure 8 FIG. 1 shows a possible structural diagram of the computing device involved in the above embodiment. Figure 8 FIG. 5 is a functional structure diagram of a computing device according to an embodiment of the present application. The computing device 30 includes an acquisition unit 501 and a processing unit 502.
[0150] The acquisition unit 501 is configured to acquire historical temperature information and a load change parameter of a computing device. The load change parameter indicates a change in the current load of the computing device relative to the historical load of the computing device.
[0151] The processing unit 502 is configured to generate a current virtual temperature based on the historical temperature information and the load change parameter. The current virtual temperature is used to simulate the current temperature of the computing device.
[0152] The processing unit 502 is further configured to control the speed of a fan based on the current virtual temperature. The fan is configured to dissipate heat from the computing device.
[0153] In one example, the processing unit 502 is specifically configured to: process historical temperature information to generate an initial virtual temperature, and modify the initial virtual temperature based on a load change parameter to generate a current virtual temperature.
[0154] In one example, the historical temperature information includes multiple historical operating temperatures collected at multiple historical control moments. The processing unit 502 is specifically configured to: perform filtering based on the multiple historical operating temperatures to obtain multiple filtered temperatures; and perform fitting based on the multiple filtered temperatures to generate an initial virtual temperature.
[0155] In one example, the historical temperature information further includes at least one historical virtual temperature generated at at least one historical control moment. The at least one historical control moment is different from each of the plurality of historical control moments. Processing unit 502 is specifically configured to perform fitting processing based on the plurality of filtered temperatures and the at least one historical virtual temperature to generate an initial virtual temperature.
[0156] In one example, the processing unit 502 is specifically configured to: determine a correction value according to the load change parameter, and determine a current virtual temperature according to the correction value and the initial virtual temperature.
[0157] In one example, the correction value is a product of a load correction coefficient and a load variation parameter.
[0158] In an example, the acquisition unit 501 is specifically configured to: acquire historical temperature information and load change parameters of the computing device when the operating temperature is not collected at the current control moment.
[0159] In one example, acquisition unit 501 is specifically configured to acquire historical temperature information and load change parameters of a computing device when an operating temperature is acquired at a current control moment and the number of successful acquisitions after failed acquisitions is less than or equal to a preset number. The number of successful acquisitions after failed acquisitions is the number of successful acquisitions of the operating temperature since the most recent failed acquisition moment. The most recent failed acquisition moment is the most recent historical control moment before the current control moment in which the operating temperature was not acquired.
[0160] In one example, processing unit 502 is specifically configured to generate a current corrected temperature based on a current operating temperature, a current virtual temperature, and a temperature correction parameter. The temperature correction parameter is used to represent the difference between the current operating temperature and the current virtual temperature. A current speed parameter of the fan is determined based on the current corrected temperature and a desired operating temperature. The fan speed is controlled based on the current speed parameter.
[0161] For the detailed description of the above optional manner, please refer to the above method embodiment, which will not be repeated here. In addition, the explanation of any computing device 30 provided above and the description of its beneficial effects can refer to the above corresponding method embodiment, which will not be repeated here.
[0162] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is run on a computer, the computer is caused to execute the method executed by any one of the computing devices provided above.
[0163] For explanations of the relevant contents and descriptions of the beneficial effects of any of the computer-readable storage media provided above, reference may be made to the corresponding embodiments described above, and no further details will be given here.
[0164] The embodiment of the present application also provides a chip. The chip integrates a control circuit and one or more ports for implementing the functions of the above-mentioned computing device 30. Optionally, the functions supported by the chip can be referred to above and will not be repeated here. A person of ordinary skill in the art will understand that all or part of the steps of implementing the above-mentioned embodiment can be completed by instructing the relevant hardware through a program. The program can be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a random access memory, etc. The above-mentioned processing unit or processor can be a central processing unit, a general-purpose processor, an application specific integrated circuit (ASIC), a microprocessor (digital signal processor, DSP), a field programmable gate array (FPGA) or other programmable logic device, transistor logic device, hardware component or any combination thereof.
[0165] The present application also provides a computer program product comprising instructions, which, when executed on a computer, causes the computer to perform any of the methods described in the above embodiments. The computer program product comprises one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated therein. The available media may be magnetic media (e.g., floppy disk, hard disk, tape), optical media (e.g., DVD), or semiconductor media (e.g., SSD).
[0166] It should be noted that the above-mentioned devices for storing computer instructions or computer programs provided in the embodiments of the present application, such as but not limited to the above-mentioned memories, computer-readable storage media and communication chips, etc., are all non-transitory.
[0167] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using a software program, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. 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 computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more media that can be integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)).
[0168] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other variations of the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0169] Although the present application has been described with reference to specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely illustrative of the present application as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, the present application is intended to include such modifications and variations as fall within the scope of the claims of the present application and their equivalents.
Claims
1. A fan speed control method, characterized in that: The method comprises: Acquiring historical temperature information and a load change parameter of the computing device; the load change parameter is used to indicate a change in the current load of the computing device relative to the historical load of the computing device; generating a current virtual temperature based on the historical temperature information and the load change parameter; wherein the current virtual temperature is used to simulate the current temperature of the computing device; Based on the current virtual temperature, a fan speed is controlled; the fan is used to dissipate heat for the computing device.
2. The method according to claim 1, characterized in that The generating a current virtual temperature based on the historical temperature information and the load change parameter includes: Processing the historical temperature information to generate an initial virtual temperature; The initial virtual temperature is corrected based on the load change parameter to generate the current virtual temperature.
3. The method according to claim 2, characterized in that The historical temperature information includes a plurality of historical operating temperatures collected at a plurality of historical control moments; The processing based on the historical temperature information to generate an initial virtual temperature includes: Performing filtering based on the multiple historical operating temperatures to obtain multiple filtered temperatures; A fitting process is performed based on the plurality of filtered temperatures to generate the initial virtual temperature.
4. The method according to claim 3, characterized in that The historical temperature information further includes at least one historical virtual temperature generated at at least one historical control moment; the at least one historical control moment is different from each of the plurality of historical control moments; The performing fitting processing based on the multiple filtered temperatures to generate the initial virtual temperature includes: A fitting process is performed based on the multiple filtered temperatures and the at least one historical virtual temperature to generate the initial virtual temperature.
5. The method according to claim 2, characterized in that The correcting the initial virtual temperature based on the load change parameter to generate the current virtual temperature includes: determining a correction value according to the load change parameter; The current virtual temperature is determined according to the correction value and the initial virtual temperature.
6. The method according to claim 5, characterized in that The correction value is the product of the load correction coefficient and the load change parameter.
7. The method according to any one of claims 1 to 6, characterized in that The obtaining of historical temperature information and load change parameters of the computing device includes: In a case where the operating temperature is not collected at the current control moment, the historical temperature information and the load change parameter of the computing device are obtained.
8. The method according to any one of claims 1 to 6, characterized in that The obtaining of historical temperature information and load change parameters of the computing device includes: When the operating temperature is collected at the current control moment and the number of successful collections after the collection failure is less than or equal to the preset number, the historical temperature information and the load change parameter of the computing device are obtained; the number of successful collections after the collection failure is the number of times the operating temperature is successfully collected since the most recent collection failure moment; the most recent collection failure moment is the most recent historical control moment from the current control moment at which the operating temperature is not collected.
9. The method according to claim 8, characterized in that The controlling the fan speed based on the current virtual temperature includes: generating a current corrected temperature according to the current operating temperature, the current virtual temperature, and a temperature correction parameter; the temperature correction parameter is used to characterize the difference between the current operating temperature and the current virtual temperature; determining a current speed parameter of the fan according to the current corrected temperature and the expected operating temperature; The fan speed is controlled based on the current speed parameter.
10. A computing device, characterized in that The computing device includes a memory and a processor; the memory and the processor are electrically connected; the memory is used to store program instructions, and the processor is used to execute the program instructions, so that the computing device executes the fan speed control method according to any one of claims 1-9.