System and method for configuring fan speed

By measuring the air temperature and other related parameters at the fan air inlet and dynamically adjusting the fan speed, the problems of low cooling efficiency, excessive power consumption and unoptimized noise in the prior art are solved, and more efficient and lower noise hardware cooling is achieved.

CN120051744APending Publication Date: 2025-05-27ATI TECHNOLOGIES ULC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380073107.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-11-03
Filing Date
2023-11-02
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

In controlling the speed of cooling fans, the prior art usually only depends on the temperature of the hardware to be cooled, resulting in low cooling efficiency, excessive power consumption and unoptimized noise.

Method used

By measuring the air temperature and other related parameters at the fan inlet, the fan rotation speed is dynamically adjusted for optimal cooling.

Benefits of technology

The noise and power consumption caused by the increased fan speed is balanced, ensuring that hardware components remain sufficiently cooled in various operating environments, and improving the functionality and cooling efficiency of computing devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120051744A_ABST
    Figure CN120051744A_ABST
Patent Text Reader

Abstract

A disclosed computer-implemented method for configuring fan speed may include: (i) measuring an air temperature at an air inlet of a fan that cools a hardware processing unit of a computing device; (ii) adjusting the rotational speed of the fan based on the temperature of the air at the air inlet of the fan and at least one additional parameter measured about the time at which the temperature of the air is measured; and (iii) sending a command to the fan to rotate at the rotational speed. Various other methods, systems, and computer readable media are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Many computing devices, from personal computers to servers, rely on some form of cooling to prevent undesired high temperatures caused by heat generated by various computing components. Overheating and high temperatures can reduce system efficiency (e.g., by causing higher static leakage and / or thermal throttling), and sometimes result in permanent damage to electronic components (i.e., by compromising reliability). BRIEF DESCRIPTION OF THE DRAWINGS

[0002] The drawings illustrate multiple non - limiting example embodiments and are part of the specification. Together with the following description, these drawings demonstrate and explain the various principles of the present disclosure.

[0003] Figure 1 is a block diagram of an example system for configuring fan speed.

[0004] Figure 2 is a flowchart of an example method for configuring fan speed.

[0005] Figure 3 is a block diagram of an example system for configuring fan speed.

[0006] Figure 4 is an illustration of an example fan with a temperature sensor.

[0007] In all of the drawings, the same reference numerals and descriptions indicate similar but not necessarily identical elements. While the non - limiting example embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of non - limiting examples in the drawings and will be described in detail herein. However, the non - limiting example embodiments described herein are not intended to be limited to the particular forms disclosed. Instead, the present disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.

[0008] NON - LIMITING SPECIFIC EMBODIMENTS

[0009] One of the most common cooling methods is to use a fan to move relatively cool air across the hot surfaces of various components, drawing heat from these components and dissipating it into the surrounding environment. However, operating a fan consumes power and generates noise, which may be undesirable in constrained systems such as desktop chassis and laptop computers. Accordingly, computing devices have systems that attempt to keep the fan running at an optimal speed. Traditional systems for controlling fan speed typically cause the fan speed to be based only on an estimate of component temperature. Some traditional systems may have a hard-coded table of the correspondence between component temperature and fan speed. For example, when the temperature of a component increases, these systems may increase the fan speed (and thus the airflow). However, this technique often results in inefficient cooling, as well as excessive power consumption and suboptimal noise generation. Accordingly, the present disclosure identifies and addresses the need for systems and methods for controlling cooling fans.

[0010] The present disclosure generally relates to systems and methods for configuring fan speed by adjusting the fan speed based on the temperature at the air intake and / or other relevant parameters. By using the temperature of the air at the air intake to calculate the optimal fan speed, rather than causing the fan speed to be based only on the temperature of the hardware to be cooled, the systems described herein can balance the disadvantages of elevated fan speeds (noise, etc.) with maintaining a sufficiently cool temperature for the various hardware components in a variety of operating environments. In some specific implementations, the systems described herein can improve the functionality of a computing device by optimizing the cooling of the hardware components of the computing device, avoiding suboptimal noise, inefficiencies, and / or component damage due to overheating. In some specific implementations, the systems described herein can improve the field of hardware cooling by configuring the fan speed to cool the hardware.

[0011] A method for cooling a hardware processing unit may include: (i) measuring the temperature of the air at the air intake of a fan that cools the hardware processing unit of a computing device; (ii) adjusting the rotational speed of the fan based on the temperature of the air at the air intake of the fan and at least one additional parameter measured around the time of measuring the temperature of the air; and (iii) sending an instruction to rotate at the rotational speed to the fan. The method may include additional steps, such as measuring the air temperature via a temperature sensor located at the air intake of the fan.

[0012] In some non-limiting examples, adjusting the rotational speed of the fan based on the temperature of the air at the air intake may include increasing the rotational speed of the fan above the fan's current rotational speed in response to detecting that the air temperature has exceeded an ambient temperature threshold. In further non-limiting examples, adjusting the rotational speed of the fan based on the temperature of the air at the air intake may include decreasing the rotational speed of the fan below the fan's current rotational speed in response to detecting that the air temperature has dropped below an ambient temperature threshold.

[0013] In some specific implementations, the hardware processing unit may include an internal thermometer that measures the temperature of the hardware processing unit. In these specific implementations, the additional parameter may include the temperature of the hardware processing unit.

[0014] The additional parameter may additionally or alternatively include various other information. For example, the additional parameter may include the current electrical power usage of the hardware processing unit. In a further non-limiting example, the additional parameter may include the expected sound output of the fan at that rotational speed. Additionally or alternatively, the additional parameter may include both the current electrical power usage of the hardware processing unit and the temperature of the hardware processing unit.

[0015] In some non-limiting examples, the method may include: (i) detecting that at least one of the hardware processing unit temperature and / or the air temperature has exceeded a temperature threshold; and (ii) displaying an alert to the user that at least one of the hardware processing unit temperature and / or the air temperature has exceeded the temperature threshold.

[0016] In some specific implementations, the method may further include displaying a graphical user interface on a display of the computing device, the graphical user interface including the air temperature at the air intake of the fan.

[0017] In one specific implementation, a device for configuring a fan speed may include: (i) a fan that cools a hardware processing unit of a computing device; (ii) a thermometer positioned at the air intake of the fan for measuring the temperature of the air at the air intake; and (iii) a computing module that adjusts the rotational speed of the fan based on the temperature of the air at the air intake and at least one additional parameter measured around the time of measuring the temperature of the air. In some specific implementations, the computing module may direct the fan to rotate at that rotational speed.

[0018] In some non-limiting examples, the hardware processing unit may include an internal thermometer that measures the temperature of the hardware processing unit. In these non-limiting examples, the additional parameter may include the temperature of the hardware processing unit.

[0019] The additional parameter may additionally or alternatively include various other information. For example, the additional parameter may include the current electrical power usage of the hardware processing unit. In a further non-limiting example, the additional parameter may include the expected sound output of the fan at that rotational speed.

[0020] The hardware processing unit may similarly include various computing hardware. For example, the hardware processing unit may include a computing module. In other non-limiting examples, the hardware processing unit may include a central processing unit for the computing device. Additionally or alternatively, the hardware processing unit may include a hardware accelerator.

[0021] A system for configuring fan speed may include: (i) a hardware processing unit that includes an internal thermometer that measures the temperature of the hardware processing unit and provides at least one of computing processing or graphics processing for a computing device; (ii) a fan that is positioned within the computing device such that the fan cools the hardware processing unit; (iii) a thermometer that is positioned at an air intake of the fan for measuring the temperature of the air at the air intake; and (iv) a computing module that adjusts the rotational speed of the fan based on the temperature of the air at the air intake and the temperature of the hardware processing unit.

[0022] In accordance with the general principles described herein, the features of any particular implementation described herein can be used in combination with each other. These and other particular implementations, features, and advantages will be more fully understood after reading the following detailed description in conjunction with the drawings and the claims.

[0023] The following will refer to Figure 1 and Figure 3 Provide a detailed description of a non-limiting example system for configuring fan speed. A detailed description of the corresponding computer-implemented method will also be provided in conjunction with Figure 2 Provide a detailed description of a corresponding computer-implemented method. Additionally, a detailed description of a non-limiting example fan will be provided in conjunction with Figure 4 Provide a detailed description of a non-limiting example fan.

[0024] System 100 is an exemplary system for controlling fan speed at least in part based on the temperature of the air at the fan air intake. In one particular implementation, computing device 102 may be configured to have a fan 110 that cools the hardware processing unit 104 of computing device 102. In some particular implementations, a thermometer 112 positioned at the air intake of fan 110 may measure the temperature of the air at the air intake. In one particular implementation, computing module 108 may adjust the rotational speed of fan 100 based on the temperature of the air at the air intake and / or at least one additional parameter measured around the time the air temperature is measured. For example, the additional parameter may be the temperature of hardware processing unit 104 measured by internal thermometer 106.

[0025] Computing device 102 generally represents any type or form of computing device capable of reading computer-executable instructions. In one particular implementation, computing device 102 may be a personal computing device operated by an end user. Additional non-limiting examples of computing device 102 include, but are not limited to, laptop computers, tablet computers, desktop computers, servers, cellular telephones, personal digital assistants (PDAs), multimedia players, embedded systems, wearable devices (e.g., smart watches, smart glasses, etc.), smart vehicles, so-called Internet of Things devices (e.g., smart home appliances, etc.), game consoles, variations or combinations of one or more of the foregoing, or any other suitable computing device.

[0026] The hardware processing unit 104 can generally represent any type of computing hardware that generates heat during operation. In some specific implementations, the hardware processing unit may include a central processing unit (CPU). This performs various computing functions for the computing device. Additionally or alternatively, the hardware processing unit may include hardware accelerators designed to efficiently execute specific functions. For example, the hardware accelerator unit may include a graphics processing unit (GPU) that performs graphics processing functions for the computing device. In some specific implementations, the GPU may be a component separate from other computing components (such as the motherboard, CPU, etc.), which can be inserted into a computer case and / or physically connected to other computing components. In some specific implementations, a fan associated with the hardware processing unit may be physically connected to the hardware processing unit. For example, an installable GPU card may come with an onboard fan.

[0027] The computing module 108 generally represents any type or form of hardware, software, and / or firmware module capable of processing computer-executable instructions. In one specific implementation, the computing module may be part of the hardware processing unit, such as part of a GPU card. Additionally or alternatively, the computing module may be part of the computing device.

[0028] As used herein, the term thermometer can generally refer to any type of sensor capable of measuring temperature. In one specific implementation, the thermometer may include a temperature-sensitive diode, a thermistor, a bipolar junction transistor, and / or an integrated circuit. The thermometer 112 generally represents any thermometer positioned at the intake of a fan or the computing device. The internal thermometer 106 generally represents any thermometer positioned such that the thermometer can measure the thermal state of the hardware processing unit. In one specific implementation, the internal thermometer 106 may be located inside the housing of the hardware processing unit.

[0029] Many other devices or subsystems can be connected to Figure 1 the system 100. Conversely, Figure 1 not all of the components and devices illustrated in Figure 1 need to be present to practice the specific implementations described and / or illustrated herein. The devices and subsystems mentioned above can also be interconnected in different ways than those shown in Figure 1 . The system 100 can also adopt any number of software, firmware, and / or hardware configurations. For example, one or more of the non-limiting example specific implementations disclosed herein can be encoded as a computer program (also referred to as computer software, software application, computer-readable instructions, and / or computer control logic) on a computer-readable medium.

[0030] As used herein, the term "computer-readable medium" generally refers to any form of device, carrier, or medium that can store or carry computer-readable instructions. Non-limiting examples of computer-readable media include, but are not limited to, transmission media such as carrier waves, and non-transitory media such as magnetic storage media (e.g., hard disk drives, tape drives, and floppy disks), optical storage media (e.g., compact discs (CDs), digital video discs (DVDs), and Blu-ray discs), electronic storage media (e.g., solid state drives and flash media), and other distribution systems.

[0031] Figure 2 is a flowchart of an example computer-implemented method 200 for configuring fan speed. Figure 2 The steps shown can be performed by any suitable computer-executable code and / or computing system, including Figure 1 system 100 in and / or variations or combinations of one or more of the foregoing. In one non-limiting example, Figure 2 each of the steps shown can represent an algorithm, the structure of which includes multiple sub-steps and / or is represented by multiple sub-steps, non-limiting examples of which will be provided in more detail below.

[0032] As Figure 2 illustrated, at step 202, one or more of the systems described herein can measure the air temperature at the intake of a fan of a hardware processing unit of a cooling computing device. For example, thermometer 112 can measure the air temperature at the intake of fan 110 of hardware processing unit 104 of cooling computing device 102.

[0033] The systems described herein can perform step 202 in various ways and / or contexts. In one non-limiting example, the thermometer can be coupled to the fan such that the thermometer is positioned near the intake of the fan. In another particular implementation, the thermometer can be attached to the computer case and positioned such that if a hardware processing unit (e.g., a graphics card) having a fan is placed within the computer case, the thermometer is positioned at the intake of the fan. In one particular implementation, the thermometer can read the temperature into memory, communicate with the controller in real time, and / or respond to real-time commands from the controller.

[0034] At step 204, one or more of the systems described herein can adjust the rotational speed of the fan based on the air temperature at the intake of the fan and at least one additional parameter measured around the time the air temperature was measured. For example, computing module 108 can adjust the rotational speed of fan 110 based on the air temperature at the intake of fan 110 and at least one additional parameter.

[0035] The term rotational speed can generally refer to any measurement of the speed of a fan as it rotates. In one specific implementation, the systems described herein can measure and / or store the rotational speed as the number of revolutions per minute (i.e., the number representing the total amount of full rotations performed by the fan blades in one minute). The phrase “in the vicinity of time” can generally refer to any actions taken within a specified narrow time window of each other. For example, if two parameters are measured simultaneously, if two parameters are measured within ten milliseconds of each other, if two parameters are measured within the same second, and / or if two parameters are measured within the same minute, then the two parameters can be measured in the vicinity of time of each other.

[0036] The systems described herein can adjust the rotational speed of a fan in various ways. For example, the systems described herein can calculate the rotational speed based on a combination of the temperature at the air intake, the temperature of the hardware processing unit, the expected sound output of the fan at that rotational speed, and / or the amount of electrical power currently consumed by the hardware processing unit. The systems described herein can estimate the expected sound output (i.e., the sound output that the fan will produce at the new speed) in various ways, such as by referring to historical data of the sound output and / or vibrations produced by the fan at various speeds in the past (e.g., as measured in decibels), by referring to manufacturer data regarding the sound output under various conditions, and / or by measuring the current sound output of the fan and calculating the expected output at least in part based on the current output. In some examples, the systems described herein can measure the amount of electrical power currently consumed by the hardware processing unit by measuring volts and / or amperes at one or more physical locations on the hardware unit (e.g., at a junction, on a wire leading to and / or from the unit, etc.). The systems described herein can calculate the fan speed dynamically based on existing conditions rather than by referring to a predetermined hard-coded table.

[0037] In some non-limiting examples, in response to detecting that the air temperature has exceeded an ambient temperature threshold, calculating the rotational speed can cause the rotational speed of the fan to be increased above the fan's current rotational speed. In other non-limiting examples, in response to detecting that the air temperature has dropped below the ambient temperature threshold, calculating the rotational speed can cause the rotational speed of the fan to be decreased below the fan's current rotational speed. The term ambient temperature threshold generally refers to any predefined threshold of the temperature of the environment surrounding the computing device (e.g., the room in which the device is located).

[0038] At step 206, one or more of the systems described herein can send an instruction to the fan to rotate at a rotational speed. For example, the computing module 108 can send an instruction to the fan 110 to rotate at a rotational speed.

[0039] The systems described herein can send instructions to a fan in various ways. For example, the systems described herein can include a two-way communication link between the fan and a computing module. In some specific implementations, the systems described herein can send instructions to a fan built into a graphics card. Additionally or alternatively, in some non-limiting examples, the systems described herein can send instructions to an external fan or thermal solution, such as a fan on a server that includes a graphics card. In some non-limiting examples, the systems described herein can include a passively cooled graphics card that is cooled by a thermal solution on the server on which the graphics card is installed, and the systems described herein can use measurements of the temperature at the air intake and / or other parameters to formulate recommendations for the external thermal solution.

[0040] In some specific implementations, the systems described herein can include a circuit board. For example, as Figure 3 illustrated, circuit board 302 can be coupled to a hardware processing unit 304 that includes a fan control 306 and / or a fan header 308. In one specific implementation, fan header 308 can be communicatively coupled to a fan 310 that includes a motor 312 and a temperature sensor 314. In one specific implementation, fan control 306 can communicate with fan header 308, which communicates with motor 312 and / or temperature sensor 314. For example, fan header 308 can receive temperature data from temperature sensor 314 and pass that temperature data up to top fan control 306, which can respond to instructions to accelerate or decelerate motor 312, which are passed via fan header 308 to motor 312. In one specific implementation, in addition to pins for reading and controlling the speed of motor 312, fan header 308 can also have pins for clock and data. In some specific implementations, fan control 306 can be a computing module that is configured to have code for calculating the rotational speed of motor 312 based on various parameters including the temperature of the air at the intake of fan 310 as measured by temperature sensor 314.

[0041] In some specific implementations, the systems described herein can notify a user about one or more of the parameters measured by the systems discussed herein. For example, in response to detecting an elevated temperature at the fan intake (e.g., a temperature that exceeds a predetermined threshold), the systems described herein can warn the user about the high intake temperature and / or can recommend that the user take action to mitigate the temperature, such as by opening the computer case that houses the fan. The systems described herein can notify the user in various ways, such as via a pop-up notification, a notification within a hardware monitoring application, and / or a visual overlay. In some specific implementations, the systems described herein can display a graphical user interface on a display of a computing device that includes the temperature of the air at the intake, the temperature of the hardware processing unit, and / or other relevant information about the fan and / or the hardware processing unit.

[0042] In some specific implementations, the temperature sensor at the fan air inlet can be directly coupled to the fan. For example, as Figure 4 illustrated, the temperature sensor 404 can be directly coupled to the fan 402. In some specific implementations, the temperature sensor 404 can be located on and / or as part of the printed circuit board component of the fan 402. In one specific implementation, the fan 402 can include a connector 406 that connects the fan 402 to the hardware processing unit. For example, the connector 406 can include one or more cables (e.g., rubber-coated metal wires or metal wire harnesses).

[0043] Although the foregoing disclosure has illustrated various specific implementations using specific block diagrams, flowcharts, and non-limiting examples, each block diagram component, flowchart step, operation, and / or component described and / or illustrated herein can be implemented individually and / or jointly using a wide range of hardware, software, or firmware (or any combination thereof) configurations. Additionally, any disclosure of components contained within other components should be considered a non-limiting example in nature, as many other architectures can be implemented to achieve the same functionality.

[0044] In some non-limiting examples, Figure 1 all or a portion of the example system 100 in

[0045] In various specific implementations, Figure 1 all or a portion of the example system 100 in

[0046] According to various specific implementations, Figure 1All or a portion of the example system 100 herein can be implemented within a virtual environment. For example, the modules and / or data described herein can reside in and / or execute within a virtual machine. As used herein, the term "virtual machine" generally refers to any operating system environment abstracted from computing hardware by a virtual machine manager (e.g., a hypervisor).

[0047] In some non - limiting examples, Figure 1 All or a portion of the example system 100 herein can represent portions of a mobile computing environment. The mobile computing environment can be implemented by a wide range of mobile computing devices, including mobile phones, tablet computers, e - book readers, personal digital assistants, wearable computing devices (e.g., computing devices with head - mounted displays, smart watches, etc.), variations or combinations of one or more of the foregoing, or any other suitable mobile computing device. In some non - limiting examples, the mobile computing environment can have one or more different characteristics, including, for example, dependence on battery power, presenting only one foreground application at any given time, remote management characteristics, touch - screen characteristics, location and movement data (e.g., provided by a global positioning system, gyroscope, accelerometer, etc.), a restricted platform that limits modification of system - level configurations and / or the ability of third - party software to inspect the behavior of other applications, controls that limit the installation of applications (e.g., only from approved app stores), etc. The various functions described herein can be provided to and / or can interact with the mobile computing environment.

[0048] The process parameters and the order of steps described and / or illustrated herein are given only as non - limiting examples and can be varied as needed. For example, although the steps illustrated and / or described herein can be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various non - limiting example methods described and / or illustrated herein can also omit one or more of the steps described or illustrated herein, or can include additional steps in addition to those disclosed.

[0049] Although various specific implementations have been described and / or illustrated herein in the context of a full - featured computing system, one or more of these non - limiting example variations can be distributed as a program product in a variety of forms, regardless of the specific type of computer - readable medium used to actually effect such distribution. The specific implementations disclosed herein can also be implemented using modules that perform specific tasks. These modules can include scripts, batch files, or other executable files that can be stored on a computer - readable storage medium or stored in a computing system. In some specific implementations, these modules can configure a computing system to perform one or more of the non - limiting example specific implementations disclosed herein.

[0050] The foregoing description has been provided to enable other technicians in the art to best utilize the various aspects of the non-limiting example embodiments disclosed herein. The non-limiting example description is not intended to be exhaustive or limited to any precise form. Many modifications and variations are possible without departing from the spirit and scope of the disclosure. The example embodiments disclosed herein should be considered illustrative rather than restrictive in all respects. When determining the scope of the disclosure, reference should be made to the appended claims and their equivalents.

[0051] Unless otherwise indicated, the terms "connected to" and "coupled to" (and their derivatives) as used in the specification and claims will be deemed to permit both direct and indirect (i.e., via other elements or components) connections. Additionally, the term "a" or "an" as used in the specification and claims will be deemed to mean "at least one". Finally, for ease of use, the terms "comprising" and "having" (and their derivatives) as used in the specification and claims may be interchanged with the word "including" and have the same meaning.

Claims

1. A method, the method comprises: measuring the air temperature at the air inlet of a fan of a hardware processing unit of a cooling computing device; adjusting the rotational speed of the fan based on the air temperature at the air inlet of the fan and at least one additional parameter measured around the time of measuring the air temperature; and sending an instruction to rotate at the rotational speed to the fan.

2. The method according to claim 1, wherein measuring the air temperature comprises measuring the air temperature via a temperature sensor located at the air inlet of the fan.

3. The method according to claim 1, wherein adjusting the rotational speed of the fan based on the air temperature at the air inlet comprises increasing the rotational speed of the fan above the current rotational speed of the fan in response to detecting that the air temperature has exceeded an ambient temperature threshold.

4. The method according to claim 1, wherein adjusting the rotational speed of the fan based on the air temperature at the air inlet comprises reducing the rotational speed of the fan below the current rotational speed of the fan in response to detecting that the air temperature has dropped below an ambient temperature threshold.

5. The method according to claim 1, wherein the hardware processing unit comprises an internal thermometer for measuring the temperature of the hardware processing unit; and the at least one additional parameter comprises the temperature of the hardware processing unit.

6. The method according to claim 1, wherein the at least one additional parameter comprises the current electrical power consumption of the hardware processing unit.

7. The method according to claim 1, wherein the at least one additional parameter comprises the expected sound output of the fan at the rotational speed.

8. The method according to claim 1, wherein the at least one additional parameter comprises the current electrical power consumption of the hardware processing unit and the temperature of the hardware processing unit.

9. The method according to claim 1, the method further comprises: detecting that at least one of the hardware processing unit temperature and the air temperature has exceeded a temperature threshold; and displaying an alert to a user that at least one of the hardware processing unit temperature and the air temperature has exceeded the temperature threshold.

10. The method according to claim 1, the method further comprises displaying a graphical user interface on a display of the computing device, the graphical user interface comprising the air temperature at the air inlet of the fan.

11. An apparatus, the apparatus comprises: a fan for cooling a hardware processing unit of a computing device; a thermometer positioned at the air inlet of the fan for measuring the temperature of the air at the air inlet; and a computing module for adjusting the rotational speed of the fan based on the temperature of the air at the air inlet and at least one additional parameter measured around the time of measuring the temperature of the air.

12. The apparatus according to claim 11, wherein the hardware processing unit comprises an internal thermometer for measuring the temperature of the hardware processing unit; and The at least one additional parameter includes the temperature of the hardware processing unit.

13. The apparatus according to claim 11, wherein the at least one additional parameter includes the current electrical power usage of the hardware processing unit.

14. The apparatus according to claim 11, wherein the at least one additional parameter includes the expected sound output of the fan at the rotational speed.

15. The apparatus according to claim 11, wherein the hardware processing unit includes the computing module.

16. The apparatus according to claim 11, wherein the hardware processing unit includes a central processing unit for the computing device.

17. The apparatus according to claim 11, the hardware processing unit includes a hardware accelerator.

18. The apparatus according to claim 11, wherein the computing module directs the fan to rotate at the rotational speed.

19. A non-transitory computer-readable medium, the non-transitory computer-readable medium including one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to: Measure the air temperature at an air inlet of a fan that cools a hardware processing unit of the computing device; Adjust the rotational speed of the fan based on the air temperature at the air inlet of the fan and at least one additional parameter measured around the time of measuring the temperature of the air; and Send an instruction to the fan to rotate at the rotational speed.

20. The non-transitory computer-readable medium according to claim 19, wherein the rotational speed of the fan is adjusted based on the temperature of the air at the air inlet, the temperature of the hardware processing unit, and the current electrical power usage of the hardware processing unit.