Fan driving device and method thereof
Patent Information
- Authority / Receiving Office
- TW · TW
- Patent Type
- Applications
- Current Assignee / Owner
- NUVOTON
- Filing Date
- 2025-01-23
- Publication Date
- 2026-08-01
AI Technical Summary
Traditional fan drive systems cause excessive noise and unnecessary energy consumption due to sudden changes in fan speed in response to temperature increases, leading to high voltage requirements.
A fan drive device utilizing machine learning to predict temperature changes based on instruction execution, adjusting drive voltage to minimize fan speed fluctuations and energy consumption.
Reduces fan noise and energy consumption by anticipating temperature changes, maintaining stable fan speed and optimizing energy use through machine learning-based voltage adjustments.
Smart Images

Figure TWG2TA001069804_001 
Figure TWG2TA001069804_002 
Figure TWG2TA001069804_003
Abstract
Description
[Technical Field]
[0001] This invention relates to a fan drive technology, and more particularly to a fan drive device and method that uses machine learning to optimize the noise and energy consumption of the fan drive. [Previous Technology]
[0002] Fans, as common cooling devices, are widely used in household and office appliances. With rising energy costs and increasing demands for comfort, reducing unnecessary energy consumption and operating noise has become an important consideration in the design of fan control systems. However, traditional fan drive solutions typically employ a method of first detecting the temperature and then determining the fan speed based on the detected temperature for cooling.
[0003] The above-mentioned traditional fan drive scheme requires the system temperature to rise significantly before the fan can be triggered to increase its speed to more effectively reduce the system temperature. However, this will cause the fan speed to change too much instantaneously, resulting in noise. Moreover, high speed requires high voltage, so the fan will consume more energy. [Summary of the Invention]
[0004] In view of the above problems, the object of the present invention is a fan drive device and method to avoid noise caused by excessive instantaneous changes in fan speed and to avoid unnecessary energy consumption by the fan.
[0005] To achieve the above objectives, the present invention discloses a fan drive device for driving a fan to rotate to dissipate heat from a data processing system. The fan drive device includes a fan drive module and a machine learning module. The fan drive module outputs a drive voltage to drive the fan to rotate. The machine learning module predicts the temperature of the data processing system after a preset time based on the number or type of instructions executed or about to be executed by the data processing system, and determines the drive voltage based on the temperature. The machine learning module is trained using the number and type of instructions executed by the data processing system, a table showing the relationship between drive voltage and fan speed, and a table showing the relationship between fan speed and temperature.
[0006] According to one embodiment, the number of instructions may include the number of instructions transmitted per unit time by the bus interface included in the data processing system and the number of instructions transmitted per unit time by the memory interface included in the data processing system.
[0007] According to one embodiment, the instruction type may include mass transfer type, continuous transfer type, or encryption / decryption operation type.
[0008] According to one embodiment, a machine learning module is trained to minimize the variation in the speed of one of the fans.
[0009] According to one embodiment, the fan drive device further includes an update module for receiving a fan speed from the fan and updating the relationship table between the drive voltage and the fan speed according to the drive voltage and the received fan speed. The machine learning module is trained according to the updated relationship table between the drive voltage and the fan speed to determine the range of the drive voltage.
[0010] According to one embodiment, the machine learning module is trained based on the updated relationship table between the drive voltage and the fan speed to minimize the energy consumption of the fan drive device.
[0011] To achieve the above objective, the present invention further discloses a fan drive device for driving a fan to rotate to dissipate heat from a data processing system. The fan drive device includes a fan drive module, memory, and a processing module. The fan drive module outputs a drive voltage to drive the fan to rotate. The memory stores executable instructions. The processing module executes the executable instructions to detect the instruction type or number of instructions executed or about to be executed by the data processing system; based on the instruction number or instruction type, and based on a machine learning model, predicts the temperature of the data processing system after a preset time, and determines the drive voltage based on the temperature.
[0012] According to one embodiment, the number of instructions may include the number of instructions transmitted per unit time by the bus interface included in the data processing system and the number of instructions transmitted per unit time by the memory interface included in the data processing system. The instruction type includes mass transfer type, continuous transfer type or encryption / decryption type.
[0013] According to one embodiment, the machine learning model is trained using the number of instructions, the type of instructions, a table of the relationship between a drive voltage and a fan speed, and a table of the relationship between a fan speed and a temperature, so as to minimize the variation in the fan speed of one of the fans.
[0014] To achieve the above objective, the present invention further discloses a fan driving method for driving a fan to rotate to dissipate heat from a data processing system. The fan driving method includes: detecting the instruction type or number of instructions executed or about to be executed by the data processing system; using a machine learning module to predict the temperature of the data processing system after a preset time, and determining a driving voltage based on the temperature, wherein the machine learning module is trained using the number of instructions executed by the data processing system, the instruction type, a table of the relationship between driving voltage and fan speed, and a table of the relationship between fan speed and temperature; and outputting the driving voltage to drive the fan to rotate.
[0015] According to the above technical solution, the present invention can predict the temperature of the data processing system after a preset time and determine the driving voltage based on the temperature. This allows for cooling while controlling the fan speed to avoid large fluctuations, thereby reducing fan noise. Simultaneously, the present invention can generate a real-time relationship table between driving voltage and fan speed, and use an updated table for training to minimize the energy consumption of the fan drive device and avoid unnecessary energy consumption.
Implementation Method
[0016] The embodiments of the present invention will be described in detail below with reference to the drawings and examples, so that the implementation process of how the present invention uses technical means to solve technical problems and achieve technical effects can be fully understood and implemented accordingly.
[0017] To make the features and advantages of this disclosure more apparent and understandable, specific embodiments of the invention will be described in detail below with reference to the accompanying drawings. The following description contains specific information relating to exemplary embodiments of the invention. The drawings and accompanying detailed description in this disclosure are merely exemplary embodiments. However, this disclosure is not limited to these exemplary embodiments. Other variations and embodiments of this disclosure will occur to those skilled in the art. Unless otherwise stated, the same or corresponding elements in the drawings may be indicated by the same or corresponding reference numerals. Furthermore, the drawings and illustrations in this disclosure are generally not drawn to scale and are not intended to correspond to actual relative dimensions.
[0018] In addition, spatial terms may be used, such as "below," "below," "lower," "above," "above," "higher," and similar terms. These spatial terms are used to facilitate the description of the relationship between one or more elements or features in the illustration and another element or feature. These spatial terms include different orientations of the device in use or operation, as well as the orientations described in the illustration. When the device is turned to a different orientation (rotated 90 degrees or other orientations), the spatial adjectives used therein will also be interpreted according to the orientation after the turn.
[0019] Please refer to Figure 1, which is a block diagram of one embodiment of the fan drive device of the present invention. As shown in Figure 1, the fan drive device of the present invention is used to drive a fan 13 to rotate for heat dissipation of a data processing system 10. The data processing system 10 includes at least a central processing unit 141, memory 142, peripheral chip 144, encryption / decryption chip 143, bus interface 145, and memory interface 146.
[0020] The fan drive device includes a fan drive module 11 and a machine learning module 12; if necessary, the fan drive device may further include an update module 15. Although the fan drive device and fan 13 are included in the data processing system 10 in Figure 1, the present invention is not limited thereto. For example, the fan drive device or fan 13 may be disposed outside the data processing system 10. The rotation of fan 13 drives the air flow inside the data processing system 10, thereby dispersing the heat generated by the heat source of the data processing system 10.
[0021] The fan drive module 11 is used to output a drive voltage 112 to drive the fan 13 to rotate. The machine learning module 12 is used to predict the temperature of the data processing system 10 after a preset time based on the number 121 or instruction type 122 of the instructions executed or about to be executed by the data processing system 10, and to determine the drive voltage 112 based on the temperature. The machine learning module 12 is trained using the number 121 of the instructions executed by the data processing system 10, the instruction type 122, the relationship table between drive voltage and fan speed 123, and the relationship table between fan speed and temperature 124. In one embodiment, the machine learning module 12 is trained to minimize the variation range of the fan speed 131 of one of the fans 13 or to maintain it within a preset variation range, thereby reducing the noise generated by the fan 13. It should be noted that the instruction used to predict the temperature can be an instruction being executed by the data processing system 10, or an instruction that is about to be executed by the data processing system 10 detected from a relevant interface. It should be noted that either instruction quantity 121 or instruction type 122 can be used to predict temperature, or both can be used to predict temperature.
[0022] Given that increasing the fan speed after detecting an increase in temperature can easily cause the fan speed to fluctuate greatly, which is the main cause of fan noise, the machine learning module 12 predicts the temperature of the data processing system 10 after a preset time and determines the drive voltage 112 based on the temperature. This allows the fan speed to be controlled to avoid high fluctuations while the fan is used for cooling, thereby reducing fan noise.
[0023] In one embodiment, the number of instructions 121 may include the number of instructions transmitted per unit time by the bus interface 145 included in the data processing system 10, and the number of instructions transmitted per unit time by the memory interface 146 included in the data processing system 10. For example, the number of instructions 121 may be the number of instructions transmitted per unit time by the bus interface 145 between a plurality of chips (e.g., central processing unit 141, peripheral chip 144, and encryption / decryption chip 143) included in the data processing system 10, or the number of instructions transmitted per unit time by the memory interface 146 used by the memory 142 included in the data processing system 10. The above instructions include instructions executable by the central processing unit 141, instructions executable by the peripheral chip 144, or instructions executable by the encryption / decryption chip 143. The aforementioned memory 142 may include any type of volatile memory and / or non-volatile memory (NVRAM), such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Read-Only Memory (ROM), Flash memory, Cache memory, etc.
[0024] In one embodiment, instruction type 122 may include mass transfer, sequential transfer, or encryption / decryption operation instructions. For example, instructions conforming to instruction type 122 include mass transfer instructions (e.g., DMA instructions, BULK READ instructions, AMBA mass transfer BURST instructions), sequential transfer instructions (e.g., AMBA sequential transfer BURST instructions), and encryption / decryption operation instructions. These instructions require the chip to perform a large number of logical or mathematical operations, which cause the chip to generate a large amount of heat.
[0025] Please refer to Figure 2, which is a comparison diagram of the fan speed using a conventional fan drive method and the fan speed using the present invention. Part (A) of Figure 2 shows the fan speed using the conventional fan drive method, and part (B) shows the fan speed using the present invention. As shown in part (A) of Figure 2, the fan speed is R0 at time point T1. The central processing unit executes a large number of transmission instructions at time point T1. The temperature sensor senses the temperature rise of the data processing system 10 at time point T2. According to a preset method (e.g., a preset lookup table method or a preset algorithm), it is determined that the fan speed must be brought up to R1 as soon as possible. This results in a high fluctuation range in the fan speed during the period of fan speed increase (e.g., after time point T2), causing significant noise.
[0026] As shown in part (B) of Figure 2, the fan speed is R0 at time T0. The machine learning module 12 of the fan drive device of the present invention can know through the bus interface 145 at time T0 that the central processing unit is about to execute a large number of transfer instructions. Since the machine learning module 12 has been trained, it can predict the temperature of the data processing system 10 after a preset time and determine the drive voltage 112 according to this temperature, so that the fan 13 starts to increase the fan speed at time T0. At this time, the central processing unit has not yet executed a large number of transfer instructions and has not yet generated additional heat. Increasing the fan speed in advance can pre-cool the data processing system 10. When the central processing unit executes a large number of transfer instructions at time T1 and generates additional heat, since the data processing system 10 has been pre-cooled, the temperature of the data processing system 10 will not rise too much due to the central processing unit executing a large number of transfer instructions. Therefore, the fan speed does not need to be increased to R1 to maintain the appropriate temperature of the data processing system 10. Because fan 13 increases its speed in advance at time point T0, there is a lower variation during the period of increased fan speed (e.g., time points T0~T2), resulting in lower noise.
[0027] In actual operation, after a period of use, dust easily accumulates on the fan blades, which seriously affects the fan's rotational capability. In other words, to achieve the same fan speed, a fan with dust requires a higher drive voltage than a fan without dust. If the fan drive method is not adjusted accordingly, unnecessary energy consumption will occur. To reduce the impact of dust on the fan, the fan drive device may further include an update module 15. The update module 15 receives a fan speed 131 from the fan 13 and updates the drive voltage and fan speed relationship table 123 according to the drive voltage 112 and the received fan speed 131. The machine learning module 12 is trained according to the updated drive voltage and fan speed relationship table 123 to determine the range of the drive voltage 112. Please refer to Figure 3, which is a schematic diagram of the training stage of the machine learning model of the present invention. As shown in Figure 3, curve 31 presents the data from Table 123 showing the relationship between the initial drive voltage and fan speed of fan 13, that is, the relationship between the drive voltage and fan speed of a fan without dust. Curve 32 presents the updated relationship between the drive voltage and fan speed of Table 123, that is, the relationship between the drive voltage and fan speed of a fan with dust. It can be seen that dust has a greater impact on higher fan speeds, and the drive voltage increases more significantly. For example, according to curves 31 and 32, the increase in drive voltage required for fan speed R3 (V13 to V23) is greater than the increase in drive voltage required for fan speed R2 (V12 to V22).
[0028] To reduce the impact of dust on fan speed, the machine learning module 12 can be trained based on the updated drive voltage and fan speed relationship table 123 to determine the range of drive voltage 112, so as to minimize the energy consumption of the fan 13 drive device or maintain it within the preset energy consumption range. For example, in conjunction with temperature prediction, the machine learning module 12 can decide not to use a fan speed exceeding R2, that is, to use a drive voltage 112 range where the maximum fan speed is R2, to maintain the temperature of the information processing system 10, so as to avoid unnecessary energy consumption of the fan 13, so that the energy consumption of the fan 13 is minimized or maintained within the preset energy consumption range.
[0029] In some embodiments, the machine learning module 12 may be trained using one or more well-known artificial intelligence (AI) learning algorithms or machine learning algorithms. These algorithms may include neural networks (e.g., artificial neural networks, deep neural networks, convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders, reinforcement learning, etc.), fuzzy logic, artificial intelligence (AI), deep learning algorithms, deep structured learning hierarchical learning algorithms, support vector machines (SVMs) (e.g., linear SVMs, nonlinear SVMs, SVM regression), decision tree learning (e.g., classification and regression trees (CART)), dimensionality reduction algorithms (e.g., projection, manifold learning, principal component analysis, etc.) and / or deep machine learning algorithms.
[0030] An implementation of the machine learning module 12 may include at least two phases: a training phase (also known as a learning phase) and an inference phase (also known as a generation phase). In the training phase, the machine learning module 12 learns to discover errors by comparing its actual output with the correct output (or at least an output closer to the desired output). The machine learning module 12 then modifies the model accordingly. In the inference phase, the trained machine learning module 12 is configured in a fan drive and is capable of providing outputs corresponding to any input.
[0031] It should be noted that the machine learning module 12 can be implemented in various ways, including software, hardware, or any combination thereof. For example, in some embodiments, the machine learning module 12 can be implemented using software and hardware, or one of them. For example, a processor with sufficient computing power can be used to execute program instructions to run the algorithm of the machine learning model to implement the machine learning module 12. In addition, the machine learning module 12 of the present invention can also be implemented partially or entirely based on hardware. For example, the machine learning module 12 can be implemented through integrated circuit chips, system on chip (SoC), complex programmable logic device (CPLD), field programmable gate array (FPGA), etc. The program instructions that execute the operations of this invention can be assembly language instructions, instruction set architecture instructions, machine instructions, machine-dependent instructions, microinstructions, firmware instructions, or source code or object code written in any combination of one or more programming languages. The programming languages include object-oriented programming languages such as Common Lisp, Python, C++, Objective-C, Smalltalk, Delphi, Java, Swift, C#, Perl, Ruby, and PHP, as well as conventional procedural programming languages such as C or similar programming languages.
[0032] Please refer to Figure 4, which is a schematic diagram of the training stage of the machine learning module of the present invention. The training dataset used by the machine learning module 12 of the present invention includes input training data and target training data. The input training data may include temperature, number of instructions, instruction type, a table showing the relationship between driving voltage and fan speed, and a table showing the relationship between fan speed and temperature. The target training data includes the variation range of fan speed. For example, the user collects how much the temperature of the data processing system will rise after a preset time due to a specific instruction type, and then looks up the driving voltage in the table showing the relationship between driving voltage and fan speed and the table showing the relationship between fan speed and temperature to obtain the driving voltage that can be used when the target value of the variation range of fan speed is met. The above training dataset is input into the machine learning module 12 for machine learning model training.
[0033] Please refer to Figure 5, which is a block diagram of another embodiment of the fan drive device of the present invention. As shown in Figure 5, the fan drive device is used to drive a fan 23 to rotate to dissipate heat from a data processing system 20. The fan drive device includes a fan drive module 21, a memory 242, and a processing module 241. The fan drive module 21 is used to output a drive voltage 212 to drive the fan 23 to rotate. The memory 242 stores executable instructions 226, a table 223 showing the relationship between drive voltage and fan speed, a table 224 showing the relationship between fan speed and temperature, and a machine learning model 225. The processing module 241 executes the executable instructions 226 to perform the following operations.
[0034] Operation 1: Detect the instruction type or number of instructions 221 of the instructions being executed or about to be executed by the data processing system 20. The executable instruction 226 or the aforementioned detected instruction may be a program instruction, which has been explained in the previous paragraph, so it will not be repeated here.
[0035] Operation 2: Based on a machine learning model 225 and based on the number of instructions 221 or the instruction type 222, predict the temperature of the data processing system 20 after a preset time, and determine the driving voltage 212 according to the temperature.
[0036] In one embodiment, after the machine learning model 225 is trained, the processing module 241 executes executable instructions 226 to run the trained machine learning model 225 to perform inference, thereby generating a drive voltage 212. This minimizes or maintains the variation range of the fan speed 231 of one of the fans 23 during the fan speed increase, thereby reducing the noise generated by the fan 23. The training method of the machine learning model 225 has been described in the previous paragraph with reference to Figure 4, and will not be repeated here.
[0037] In one embodiment, the instruction quantity 221 may include the number of instructions transmitted per unit time by the bus interface 245 included in the data processing system 20, and the number of instructions transmitted per unit time by the memory interface 146 included in the data processing system 20. In one embodiment, the instruction type 222 may include mass transfer type, continuous transfer type, or encryption / decryption operation type.
[0038] In order to reduce the impact of dust on the fan, the fan drive device can execute the update program 25 stored in the memory 242 to receive the fan speed 231 from the fan 23 and update the relationship table 223 between the drive voltage and the fan speed according to the drive voltage 212 and the received fan speed 231. The machine learning model 225 is trained according to the updated relationship table 223 between the drive voltage and the fan speed to determine the range of the drive voltage 112 so that the energy consumption of the fan drive device is minimized or maintained within the preset energy consumption range.
[0039] Please refer to Figure 6, which is a flowchart of the fan driving method of the present invention.
[0040] As shown in Figure 6, a fan driving method for driving a fan to rotate to dissipate heat from a data processing system includes the following steps.
[0041] In step S61, the instruction type or number of instructions executed or about to be executed by the data processing system is detected. In step S62, a machine learning module is used to predict the temperature of the data processing system after a preset time, and a driving voltage is determined based on the temperature. The machine learning module is trained using the number and type of instructions executed by the data processing system, a table showing the relationship between driving voltage and fan speed, and a table showing the relationship between fan speed and temperature. In step S63, the driving voltage is output to drive the fan to rotate.
[0042] In one embodiment, the fan driving method may further include receiving the fan speed from the fan 23, updating the relationship table between the driving voltage and the fan speed according to the driving voltage and the received fan speed, and training the machine learning model according to the updated relationship table between the driving voltage and the fan speed to determine the range of the driving voltage so that the energy consumption of the fan driving device is minimized or maintained within a preset energy consumption range.
[0043] Although the present invention has been disclosed above with reference to the foregoing embodiments, it is not intended to limit the present invention. Any person skilled in the art may make some modifications and refinements without departing from the spirit and scope of the present invention. Therefore, the scope of patent protection of the present invention shall be determined by the scope of the patent application attached to this specification. [Simplified Explanation of the Diagram]
[0044] Figure 1 is a block diagram of one embodiment of the fan drive device of the present invention.
[0045] Figure 2 is a comparison diagram of the fan speed using a conventional fan drive method and the fan speed using the present invention.
[0046] Figure 3 is a graph showing the relationship between the driving voltage and the fan speed in the original and updated versions of the present invention.
[0047] Figure 4 is a schematic diagram of the training phase of the machine learning model of the present invention.
[0048] Figure 5 is a block diagram of another embodiment of the fan drive device of the present invention.
[0049] Figure 6 is a flowchart of the fan driving method of the present invention.
Claims
1. A fan drive device for driving a fan to rotate to dissipate heat from a data processing system, the fan drive device comprising: a fan drive module for outputting a drive voltage to drive the fan to rotate; and a machine learning module for predicting the temperature of the data processing system after a preset time based on the number or type of instructions executed or about to be executed by the data processing system, and determining the drive voltage based on the temperature; wherein the machine learning module is trained using the number of instructions executed by the data processing system, the instruction type, a table relating drive voltage to fan speed, and a table relating fan speed to temperature.
2. The fan drive device as claimed in claim 1, wherein the number of instructions includes the number of instructions transmitted per unit time by the bus interface included in the data processing system and the number of instructions transmitted per unit time by the memory interface included in the data processing system.
3. The fan drive device as described in claim 1, wherein the instruction type includes mass transfer type, continuous transfer type, or encryption / decryption type.
4. The fan drive device as claimed in claim 1, wherein the machine learning module is trained to minimize the variation in the rotational speed of one of the fans.
5. The fan drive device as described in claim 1 further includes an update module for receiving a fan speed from the fan and updating the drive voltage versus fan speed relationship table based on the drive voltage and the received fan speed, wherein the machine learning module is trained based on the updated drive voltage versus fan speed relationship table to determine the range of the drive voltage.
6. The fan drive device as claimed in claim 5, wherein the machine learning module is trained based on the updated drive voltage and fan speed relationship table to minimize the energy consumption of the fan drive device.
7. A fan drive device for driving a fan to rotate to cool a data processing system, the fan drive device comprising: a fan drive module for outputting a drive voltage to drive the fan to rotate; a memory for storing executable instructions; and a processing module for executing the executable instructions to: detect the instruction type or number of instructions executed or about to be executed by the data processing system; and predict the temperature of the data processing system after a preset time based on the number of instructions or the instruction type, and based on a machine learning model, and determine the drive voltage according to the temperature; wherein the machine learning module is trained using the number of instructions executed by the data processing system, the instruction type, a table of relationship between drive voltage and fan speed, and a table of relationship between fan speed and temperature.
8. The fan drive device as claimed in claim 7, wherein the number of instructions includes the number of instructions transmitted per unit time by the bus interface included in the data processing system and the number of instructions transmitted per unit time by the memory interface included in the data processing system, and the instruction type includes mass transfer, continuous transfer, or encryption / decryption operation.
9. The fan drive device as claimed in claim 7, wherein the machine learning model is trained using the number of instructions, the type of instructions, a table relating drive voltage to fan speed, and a table relating fan speed to temperature, so as to minimize the variation in the speed of one of the fans.
10. A fan driving method for driving a fan to rotate to dissipate heat from a data processing system, the fan driving method comprising: detecting the instruction type or number of instructions executed or about to be executed by the data processing system; using a machine learning module to predict the temperature of the data processing system after a preset time, and determining a driving voltage based on the temperature, wherein the machine learning module is trained using the number of instructions executed by the data processing system, the instruction type, a table relating driving voltage to fan speed, and a table relating fan speed to temperature; and outputting the driving voltage to drive the fan to rotate.