Method and system for independent control of the speed of a plurality of fan
Through intelligent learning control solutions, the temperature and load change rate are monitored in real time and the fan speed is optimized, which solves the problem of unbalanced cooling fan operation and achieves low power consumption, low noise and long-life fan operation.
Patent Information
- Application Number
- CN202411549687.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-21
- Filing Date
- 2024-11-01
- Publication Date
- 2025-05-23
AI Technical Summary
The prior art is difficult to effectively control and optimize the operation of cooling fans, resulting in high power consumption, high noise and uneven fan life, which may lead to overheating of IT devices and infrastructure.
Using a control scheme with intelligent learning capabilities, new fan speed commands are generated through real-time monitoring of temperature sensors and load rate of change, optimizing fan power consumption and noise while balancing wear of each fan in the fan assembly.
The optimization of fan operation is achieved, reducing power consumption and noise, while extending the service life of the fan and ensuring effective cooling of IT devices and infrastructure.
Smart Images

Figure CN120027082A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 601,696, filed on November 21, 2023. The entire disclosure of the above application is incorporated herein by reference. Technical Field
[0003] The present disclosure relates to systems and methods for controlling cooling fans, and cooling fans used in some applications to cool data center infrastructure and IT devices, the systems and methods using a control scheme with intelligent learning capabilities that can achieve at least one of the following: predicting the remaining life of the fan, adjusting various fan operating parameters to optimize the operating life of the fan, controlling the speed of one or more fans to optimize power consumption based on real-time load requirements, and / or optimizing fan speed based on real-time device load to reduce fan noise, and / or balancing the wear of multiple fans in a fan assembly. Background Art
[0004] The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
[0005] Many different environments involve the use of Internet technology ("IT") devices (e.g., servers, switches, PDUs, etc.) and / or infrastructure devices. A modern data center is just one example of such an environment. IT devices are typically installed in standardized data center equipment racks, which themselves typically include one or more cooling fans or cooling fan assemblies to help move cooling air through the cabinets. Due to the high cost of such equipment, it is particularly important to ensure that the cooling fans used to cool such devices operate reliably in an optimal manner. If a cooling fan or cooling fan assembly fails or begins to operate intermittently or at an unacceptably low speed, this situation may create a risk of damage to other equipment (e.g., servers) because insufficient cooling airflow can result in unacceptably high heat accumulation. Summary of the invention
[0006] The present disclosure relates to a method for independently controlling the speed of a plurality of fans, the plurality of fans being used to cool a device, wherein the device includes a sensor block having at least one temperature sensor. In one implementation, the method may include determining an actual real-time ambient temperature rate of change of a temperature sensor associated with the sensor block relative to the speed of a given fan. The method may also include determining a real-time rate of change of a load of the device, determining an expected temperature rate of change of the temperature sensor, and comparing the actual temperature rate of change with the expected temperature rate of change, and thereby generating a learning portion. The method may also include using the learning portion to generate a new fan speed command to be applied to a given fan, the new fan speed command representing a new fan speed that achieves at least one of the following: optimizing the power consumption of a given fan while still meeting the real-time changing temperature and load requirements of the device being cooled; or reducing the fan noise generated by a given fan while still meeting the real-time changing temperature and load requirements of the device being cooled.
[0007] In another aspect, the present disclosure relates to a method for independently controlling the speed of a plurality of fans, the plurality of fans being fans in a fan assembly and being used to cool a device, wherein the device includes a sensor block having a plurality of temperature sensors associated with different fans of the plurality of fans. In one implementation, the method may include determining an actual real-time rate of change of temperature of a temperature sensor associated with the sensor block relative to the speed of a given fan, determining a real-time rate of change of a load of the device, and determining an expected rate of change of temperature of the temperature sensor. The method may also include considering a current level of wear of each of the fans in the plurality of fans, and generating a wear balancing portion adapted to achieve wear balancing between a given fan in the plurality of fans and the remaining fans in the plurality of fans. The method may also include comparing an actual rate of change of temperature with an expected rate of change of temperature and generating a learning portion that takes the wear balancing portion into account when determining a new fan speed command intended to maintain an expected ambient temperature set point. The method may also include using the learned portion to generate a new fan speed command to be applied to a given fan, the new fan speed command representing a new fan speed that optimizes the power consumption of the given fan while still meeting the real-time changing temperature and load requirements of the cooled device, while balancing the wear of each of the fans in the fan assembly to achieve fan wear equalization.
[0008] In yet another aspect, the present disclosure relates to a system for independently controlling the speed of a plurality of fans, the plurality of fans being fans in a fan assembly and being used to cool a device under load, wherein the device includes a sensor block having at least one temperature sensor. In some embodiments, the system may include: an electronic control system; a fan speed sensing subsystem that communicates with the electronic control system; and a database that includes cumulative fan run time for each fan in the fan assembly and fan operating data, the fan operating data including fan efficiency operating speed bands. In some embodiments, the system may also include a current sensing and voltage measurement subsystem that communicates with the electronic control system, and the current sensing and voltage measurement subsystem is configured to help determine an actual real-time rate of change of temperature of a temperature sensor associated with the sensor block relative to the speed of a given fan. In some embodiments, the system may also include an electronic control system that is further configured to: determine and use a real-time load change rate of the device and an expected temperature change rate of a temperature sensor to generate a learning portion; consider a cumulative operating time of at least one of the fans; and use the learning portion and the cumulative operating time to determine a new fan speed command for at least one of the fans, the new fan speed command enabling the at least one fan to maintain a desired ambient temperature set point while optimizing power consumption of the at least one fan while still meeting the real-time changing temperature and load requirements of the cooled device. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The drawings described herein are only for illustrating selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure. In the drawings:
[0010] Figure 1 is a high-level block diagram of one example of a system for controlling multiple fans according to the present disclosure;
[0011] Figure 2 is a curve of power versus expected fan speed which illustrates how the expected fan speed rises somewhat linearly as the power used to drive the fan increases, until a maximum point at which additional power does not produce any further definite increase in fan speed;
[0012] Figure 3 is an example of a fan speed / failure probability lookup table that a system may use when predicting the remaining life of a cooling fan and when determining the likelihood of an impending fan failure; and
[0013] Figure 4is a flow chart illustrating a high-level example of a control scheme for controlling the speed of multiple fans in an independent manner, which utilizes an active learning method and the actual ambient temperature, current load, temperature change rate, and current fan speed of each fan of the system to better determine the actual temperature change rate / load change rate of each fan of the system, with the goal of generating fan speed control commands that control all fans in the most efficient manner and also control all fans in a manner that achieves optimal balance and uniformity of wear between all fans.
[0014] Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings. DETAILED DESCRIPTION
[0015] Example embodiments will now be described more fully with reference to the accompanying drawings.
[0016] It would be very beneficial if a system and method could be used that not only monitors the operation of one or more cooling fans in real time, but also predicts the impending failure of a cooling fan or cooling fan assembly. This would significantly reduce the risk of damage to the cooling fan or other equipment used to cool the fan assembly due to overheating. This would also be beneficial to data center maintenance personnel, allowing them to schedule fan replacements before a failure occurs, and thus eliminate the possibility of an emergency that, if it occurs, could severely disrupt the operation of one or more critical IT devices or infrastructure devices.
[0017] It would be further very beneficial if such a cooling fan control system and method could perform predictive analysis to assess the remaining life of a cooling fan or fan assembly and provide some meaningful metrics or indications regarding the remaining life of a cooling fan or cooling fan assembly. Such a feature would enable IT personnel to better predict when a cooling fan or cooling fan assembly is approaching the end of its life.
[0018] Still further, it would be very beneficial if a fan control system and method could be implemented that could observe and analyze a number of important factors, such as fan run time, real-time ambient temperature conditions, real-time load requirements of IT devices and infrastructure devices being cooled by the fan control system, etc. It would also be very beneficial if the fan control system and method could monitor the rate of change of temperature reported by the temperature sensor and determine and implement appropriate fan operating speeds to perform at least one of optimizing fan power consumption or minimizing fan noise while taking into account the real-time cooling requirements of the IT devices and infrastructure devices. It would also be very useful if a system and method could be implemented that not only takes into account one or more of the above factors, but also takes into account balancing (or "equalizing") the run time of multiple fans to even out wear among a group of fans and thereby potentially extend the life of each of the fans.
[0019] Reference Figure 1 , which shows an example of a system 10 according to the present disclosure. The system 10 in this example may include an electronic control system 12 ("ECS12") having a memory 14 (e.g., RAM / SRAM / / DRAM / SDRAM / ROM / EEPROM, etc.). The memory 14 may include memory in volatile and non-volatile forms, and may form an integrated part of the ECS 12, or alternatively may be a separate component that communicates bidirectionally with the ECS 12. The memory 14 may include various modules for storing various information required and / or useful for controlling fans, and in particular various information required and / or useful for independently controlling multiple fans. Such modules may include a module 16 for performing fan control / analysis algorithms (including predictive learning algorithms). Another module 18 may be used to store fan data, which includes, but is not limited to, specifications of all fans controlled by the system 12, including high and low fan speeds that define the maximum efficiency operating band of each fan, the maximum current consumption of each fan, the nominal operating voltage of each fan, and optionally one or more lookup tables for one or more of the above variables and ranges.
[0020] Another software storage module may include a fan historical operation data module 20 for storing historical data associated with each controlled fan. Such data may include, for example but not limited to, the cumulative operating time of each fan, the date of commissioning of each fan, the possible cumulative operating time of each fan outside its maximum efficiency operating speed band, and one or more lookup tables related to one or more types of data in the above types of data. These data may also include a "total operating time", which is defined by the cumulative operating time of each fan at different fan speed percentages (e.g., different percentages of the maximum fan speed), and wherein each cumulative operating time is weighted based on the fan speed. In one example, the weight used may also follow the efficiency curve associated with the fan so as to provide a more exponential operating time "cost" as the speed RPM of the fan increases. It will be appreciated by those skilled in the art that the foregoing are only a few of the possible types of ways in which the fan operating time can be measured and presented to the user, and the present disclosure is not limited to these specific examples.
[0021] In one example, the ECS 12 may be formed by a digital signal processor (DSP). In some embodiments, the ECS 12 may take the form of multiple independent processors, controllers, or control systems for handling specified monitoring tasks and / or computing tasks. The ECS 12 may also include a communication interface I / O (input / output) subsystem 22 (e.g., RS-232; RS422, network protocols such as The ECS 12 communication interface I / O subsystem 22 may be used to send messages (e.g., SNMP (Simple Network Management Protocol) traps) to other electronic / monitoring subsystems in communication with the control system, or possibly even to a personal electronic device (e.g., a smartphone, tablet, laptop, etc.) of a user or IT professional, via a local or wide area network, or through other communication channels.
[0022] A fan speed sensing subsystem 24 (e.g., a tachometer or functionally similar speed sensing system) may be included as an integrated subsystem in the ECS 12, or even as a separate subsystem in communication with the ECS, for monitoring the real-time fan speed of each fan controlled by the ECS. A fan current sensing and / or voltage measurement ("FCSVM") subsystem 26 may be similarly included therein, or as a separate subsystem, for obtaining real-time voltage and / or current measurements associated with the operation of each fan. A human / machine interface ("HMI") subsystem 28 may be an integrated component of the ECS 12, or alternatively as a separate subsystem, for enabling user programming of the ECS and / or user input of data or other information, such as fan-related operational data (speeds, maximum current and / or voltage inputs, etc., for defining high efficiency bands and low efficiency bands for each fan), MAX temperatures (i.e., maximum temperatures) of heat sinks associated with the fans, etc. HMI subsystem 28 may include one or more or all of a display (eg, LCD, touch LCD, LED, etc.) and a keyboard and one or more specific switches to enable full or partial control of ECS 12 .
[0023] In one implementation, the ECS 12 communicates with a fan driver subsystem 30. The fan driver subsystem 30 includes a drive circuit (e.g., FET, MOSFET, etc.) for providing a drive signal (e.g., a DC drive signal) to drive one or more fans controlled by the system 12. In one implementation, the fan driver subsystem 30 may include one or more pulse width modulation (PWM) drive circuits for generating a DC PWM drive signal with a computer-controlled duty cycle for each controlled fan. Thus, each fan controlled by the electronic control system 12 can be controlled completely independently to accurately customize its speed in real time as needed to handle cooling conditions in various applications and / or manage cooling of various IT devices or infrastructure devices, equipment cabinets, etc. In some embodiments, the fan driver subsystem 30 may form an integrated part of the ECS 12, and in other embodiments, the fan driver subsystem 30 may form an independent, completely independent subsystem or component that communicates bidirectionally with the ECS. Figure 1 The latter implementation is shown, but both implementations are contemplated.
[0024] Further references Figure 1, the fan driver subsystem 30 is shown in this example as communicating with two independent fan assemblies 32 and 34. The fan assembly 32 is shown as having four independently controllable fans 32a-32d, and the fan assembly 34 is similarly shown as having four independently controllable fans 34a-34d. However, this is only an example, and the ECS 12 and the fan driver subsystem 30 can be scaled to accommodate a greater or lesser number of fan assemblies. Similarly, each fan assembly 32 and 34 can include less than or more than four fans to meet the needs of a particular application.
[0025] Figure 1 A specific example of an implementation is also shown, wherein a fan assembly 32 is disposed in close proximity to a first heat sink 32', and similarly, a fan assembly 34 is disposed in close proximity to another heat sink 34'. The heat sink 32' may include one or more temperature sensors 33 positioned at one or more predetermined locations on the heat sink. Similarly, the heat sink 34' may include one or more temperature sensors 35 positioned at one or more predetermined locations on the heat sink. Typically, the heat sinks 32' and 34' will have multiple temperature sensors 33 and multiple temperature sensors 35, respectively, rather than just one temperature sensor each, although the present disclosure encompasses both implementations.
[0026] The temperature sensors 33 and 35 provide one or more temperature signals indicating the real-time temperature of different areas of the heat sink 32' or 34' associated therewith and are transmitted back to the ECS 12. "Close proximity" means typically within a few inches to possibly a few feet, but is not limited thereto. Again, this is only an example, and the fan assemblies 32 and 34 may alternatively be supported on an equipment cabinet, on or inside a cabinet or housing of an IT device or infrastructure device. It will be appreciated by those skilled in the art that the system 10 is not limited to any particular implementation of fans or any particular number of fans or fan assemblies.
[0027] The ECS 12 can monitor and / or control the fan assemblies 32 and 34 to achieve a number of different important goals, including but not limited to predicting the remaining useful life of the fans, managing and balancing fan wear between all fans, and controlling fan speeds to optimize the use of all available fans (e.g., in one aspect, from a power consumption perspective) in response to real-time cooling needs. In some embodiments, the ECS 12 can also use active learning to further customize the control of one or more fans based on previously observed and / or recorded temperature / fan speed responses and / or accumulated operating time of the fans of each fan assembly 32 and 34, as well as possible other factors.
[0028] Now refer to Figure 2 and Figure 3 , it will be described how the speed of each fan 32a-32d and 34a-34d can be monitored by the system 10, with the purpose of monitoring the wear of each fan and predicting when any given fan may fail before such failure occurs, as well as predicting the remaining useful life of the fan. This can be achieved by measuring one of the current or voltage and / or both the current and voltage using the FCSVM subsystem 26 to determine in real time how much input power is used to drive a given fan of each fan assembly in the fan assemblies 32 and 34, and also by using the fan speed sensing subsystem 24 to sense the real-time fan speed at any given power input. For example, the FCSVM subsystem 26 may involve using a shunt current resistor to monitor the current consumed by the fan under the premise that a known nominal voltage is applied to the fan. Measuring the real-time voltage across a given fan can also be achieved using well-known voltage detection techniques and any suitable current sensing method (e.g., a shunt resistor). With both the current consumed by the fan and the voltage across the fan input terminals known, the power input (i.e., consumed) by the fan can then be easily determined (i.e., P = I x E). In some cases, the fan manufacturer may provide specifications for fan speed at different input power levels, or it may be predetermined empirically through appropriate testing.
[0029] Empirical testing can also be performed to determine what the expected fan speed should be when a given input power is applied, and Figure 2 The graph 50 in Figure 50 shows an example to illustrate this. It can be seen from the graph 50 that for a given power input (in watts), what the expected fan speed should be. The present disclosure uses this known / determined relationship of fan "power input / expected fan speed" to help infer when a fan failure may occur or is about to occur. More specifically, the system uses information derived from the graph 50, as well as empirical testing and / or manufacturer specifications to help create data that shows the probability of a fan failure within other given time periods of fan use (e.g., within the next 100 hours of fan use). This potential factor is that as lubricants wear out in long-term fan motors (e.g., armature bearings), friction that affects the rotation of the fan motor will increase, and driving the fan at a given speed may require more and more power (in watts). Ultimately, for example, one can reasonably determine from previous empirical testing that once a point is reached where "W" watts are required to drive the fan at a specific speed "S", the fan may fail within the next "X" hours of fan operation.
[0030] Figure 3A high level example of a lookup table 60 is shown which may be created to help define the relationship between the likelihood of a fan failure and the power input applied to the fan. Obviously, in the case of fans with different operating parameters, multiple lookup tables may be created to tailor a particular lookup table for a particular manufacturer / model of fan. Figure 3 As can be seen in FIG. 1 , as the fan power input increases from X1 to X7 (X7 being the maximum power input in watts) to maintain a given fan speed, the probability of fan failure also increases. The system 10 can be programmed to generate an alert such as an SNMP trap to the user, or perhaps display a warning on an LCD or LED display of the HMI subsystem 28 that a particular fan is about to fail, or alternatively, that the fan is about to reach the end of its useful life.
[0031] An alternative to using a lookup table is a suitable algorithm that relates the power input applied to the fan by, for example, 1) looking at the real-time fan speed of a given fan; 2) looking at the power input applied to drive the fan; and using stored empirical data to calculate the probability that a failure will occur within the next "X" hours of the fan's operating time. In some implementations, the suitable algorithm (or algorithms) just discussed can be used in conjunction with one or more lookup tables to help ultimately determine the likelihood of a fan failure. The present disclosure contemplates all of the above arrangements. Being able to foresee fan failures before they occur is expected to be very useful for service personnel because fan replacement can be scheduled without treating it as an emergency. The ability to predict fan failures can also help prevent possible damage to other components cooled by the fan by allowing maintenance to be scheduled at a convenient time before the failure occurs. For example, such a convenient time can be when a subsystem such as a server is idle or experiencing very low processor utilization and its computing tasks can be easily transferred to another server. The ability to predict fan failures can also help limit operational interruptions to devices cooled by the fan.
[0032] Now refer to Figure 4, shows a flowchart 100 of a control method for monitoring multiple fans to achieve multiple objectives, including but not limited to maintaining the operation of each fan within its maximum efficiency speed band in response to the temperature change rate and load change rate of the cooled device, while still providing adequate cooling and / or maintaining a user-selected ambient temperature set point. The method of flowchart 100 also enables the system to maintain the operation of each fan at a calculated speed to minimize fan noise, and / or to evenly distribute the operating time of multiple fans contained in a fan assembly (i.e., multiple fans housed inside a common housing), and / or indicate when it is recommended to rotate a fan assembly having multiple fans to equalize fan wear. In one implementation, Figure 4 The method shown in the figure is Figure 1 However, it should be understood that the method illustrated in flowchart 100 may be implemented by other systems that are not necessarily the same as system 10, and the present disclosure is not limited to any particular system hardware design and / or configuration for performing the method of flowchart 100.
[0033] In operation 102, it may be assumed that all fans controlled by the system 10 are initially powered off. For this example, it may also be assumed that the ECS 12 is controlling a fan assembly having multiple fans, such as the fan assembly 32. The ECS 12 may initially retrieve all currently stored data for each fan 32a-32d of the controlled fan assembly 32, including but not necessarily limited to the following: the MAX fan speed (i.e., maximum fan speed) of each fan; the maximum fan speed and the minimum fan speed that define the maximum fan efficiency speed band of each fan of the fan assembly; the accumulated operating time of each fan of the fan assembly; the load of each device cooled by the fan assembly 32; all temperatures from the thermal sensors 33 and 35 that the ECS may monitor while controlling the fans of the fan assembly; and a historical set of device loads, device temperatures, ambient temperatures, device temperature increments, and current fan speeds.
[0034] For the purposes of this example, assume that the fan assembly 32 ( Figure 1 )Cooling down Figure 132', which itself includes a plurality of temperature sensors 33 that report real-time sensed temperatures to the ECS 12. In this regard, it will be appreciated that there may be a known or predetermined relationship or association between each specific temperature sensor 33 and a specific fan of the fan assembly 32 and associated with the specific temperature sensor, and in some embodiments, such a relationship or association may be recommended. Therefore, it will be appreciated that in some cases, each fan of the fan assembly 32 may be associated with a specific one of the temperature sensors 33 (and the fans of the fan assembly 34 and the sensors 35 are similar). In some cases, two or more fans may be associated with a specific temperature sensor 33 or 35. In some cases, two or more temperature sensors 33 or 35 may be associated with a single fan of the fan assembly 32. And it will be appreciated that the present disclosure is not limited to any of the above relationship scenarios, and may be configured to operate with almost any type of sensor / fan relationship to meet the needs of a particular application.
[0035] In operation 104, ECS12 can obtain the cumulative fan operation time of each fan in the fans 32a-32d of the fan assembly 32 from the memory 14, and can compare them with each other. In operation 106, ECS12 can determine whether the cumulative operation time is balanced based on the comparison result. The so-called "balanced" means that for a given sensor block (i.e., collectively referred to as sensor 33 or 35), the cumulative operation time of each fan in the fans 32a-32d is within a predetermined percentage range of each other (for example, at least within a range of 2% to 10%, or may be within a range of about 5%, or may even be within a range of values less than 5%). If the check result in operation 106 indicates that the cumulative operation time is unbalanced, then ECS12 can provide the user with an alert of "rotating the fan assembly", as indicated in operation 108. The so-called "rotating the fan assembly" refers to actually rotating the entire fan assembly 32 by 180 degrees and reinstalling the entire fan assembly 32 to its support structure. This is because the outermost fans 32a and 32d are usually more likely to have uneven cumulative operation times relative to other fans. This is typically due to the way air flows through the unit being cooled by the fan assembly 32 and / or due to unequal sharing of heat by thermal devices connected to the heat sink.
[0036] In one example, the alarm generated by ECS 12 may be an SNMP trap message sent to a user or other subsystems via a LAN or wide area network (WAN). Alternatively, the alarm may be provided to the user via a display of HMI subsystem 28. These are just a few examples of how the alarm may be provided to the user, and the present disclosure is not limited to any particular scheme or method for providing the alarm.
[0037] After completing operation 108, in operation 110, the ECS 12 may perform one or more calculations using one or more stored algorithms to implement the machine learning fan command. More specifically, operation 110 may involve multiple sub-operations, which include but are not necessarily limited to the following: 1) calculating the real-time temperature change rate of each sensor 33 of the sensor block associated with the heat sink 32'; 2) calculating the load change rate of the device cooled by the fan assembly 32; 3) correlating the monitored temperature change rate, the monitored load change rate, and the real-time measured ambient temperature change with a specific fan speed change, fan orientation / position, and actual temperature change results; and 4) correlating the fan speed change, fan orientation / position, and temperature change rate with a running time change balancing portion that takes into account the running time of other fans of the fan assembly 32.
[0038] In some implementations, sub-operations are defined to create a learning model. The learning model uses multivariate linear regression in the following equation.
[0039] Define y = b 0 +b 1 x 1 +b 2 x 2 , where y is the dependent variable and X = [x 1 ,x 2 ] is the independent variable. Assume x 1 and x 2 If they are not dependent on each other or have little correlation with each other, then Y is linear with respect to X.
[0040] Assume X is an N x m matrix, for this example, m = 2 (i.e., only two independent variables), and N is the number of (X, y) data points. In matrix form:
[0041] in is an N x (m + 1) matrix in which the first column is all 1. Note that M = [b 1 ,b 2 ]′, and B=b 0 .
[0042] The first column is all 1's and is the same number of rows as there are in X. The last two columns are x 1 and x 2 .
[0043] M and B are obtained from the following equations.
[0044]
[0045] Example
[0046] ■
[0047] ■
[0048] ■
[0049] This can be extended to any number of independent variables.
[0050] The predictive model is configured to output a desired fan speed to achieve the desired temperature using the other factors described above.
[0051] In some embodiments, the learning coefficient is calculated as follows:
[0052] Least Squares Linear Curve Fitting Method
[0053] Univariate
[0054] Given a data set (X, Y) with n samples, X = [x 1 , x 2 …x n ], and Y = [y 1 ,y 2 …y n ], where X is the independent variable and Y is the dependent variable, a function f(x) can be found to "fit" this data set. The least squares method will minimize the sum of squared errors as follows:
[0055]
[0056] For the linear case, f(x) = m·x + b, where m is the slope and b is the y-intercept. Assume that the data set can be adequately fitted to a linear equation. Here are the steps to calculate the best least squares fit.
[0057] 1. Calculate equation 1:
[0058]
[0059] 2. Calculate equation 2:
[0060]
[0061] 3. Solve for m and b.
[0062] 4. Use (m,b) from step 3 to calculate the above error.
[0063] Multivariate
[0064] For the multivariate case, assume that X is still the independent variable and Y is the dependent variable, but now, Y is an array of data samples like this:
[0065]
[0066] Y is now an 'n' x 'p' matrix, and X is still an 'n' x 1 vector. Also assume that each Y vector does not depend on any other Y vector. Each Y vector is strictly dependent on X.
[0067] For the multivariate case, the least squares linear fit requires repeating steps 1 to 4 for each Y column to obtain a linear equation for each Y column. The linear equation can be expressed as: F(x) = M x + B, where F(x) is now the linear equation vector, M is the slope vector, and B is the y-intercept vector.
[0068] In one example, the "balancing" portion is actually a secondary portion (or consideration or goal) of the learned regulation. The learning portion creates the coefficients of the above equations. These coefficients are obtained by taking all of the modeling data described above and generating the optimal coefficients. The primary portion (e.g., the goal) is to learn the correct fan speed regulation while running the fan as efficiently as possible to achieve the desired temperature change rate given the current load change rate. The secondary portion (e.g., the goal) is to slow down the fan speed, or even turn off the fan to balance the total run time.
[0069] Thus, it will be appreciated from the above that the fan command is a fan speed adjustment (or in some cases, an on / off command) that uses the association of a given rate of change of temperature and rate of change of load with a given fan speed and fan position, along with additional inputs from operation 106, to balance the fan run time. These temperature / load associations observed over time can then be used to create a "learning" portion that can form a control variable that is used in a suitable machine learning algorithm that is continually updated in real time as the fans 32a-32d run longer and longer. In one example, the learning portion is obtained through the process of the above associations (temperature / load rate of change associations with fan speed / position) generated by previous fan speed commands.
[0070] It will be appreciated from the foregoing that the method "learns" a given adjustment (based on the current load / temperature and the desired rate of change adjustment or balanced adjustment) that is required to increase or decrease the fan speed. The learning portion can be used to help attempt to better balance the run time of fans 32a-32d by more intelligently calculating the speed control adjustment for each fan. Thus, the learned speed control adjustment can more accurately control the speed of each fan under a given temperature / load rate of change and fan speed / position scenario, while taking into account the actual observed temperature / load rate of change response changes in response to past fan speed adjustment commands, and also balancing the fan run time to a maximum value, and also taking into account the historical set of device load, device temperature, ambient temperature, device temperature increment, and the possible speed range of the current fan. In addition, if the check at operation 106 verifies that the cumulative run time of fans 32a-32d is balanced, operation 108 can be skipped and operation 110 is performed immediately after operation 106.
[0071] Still refer to Figure 4 , at operation 112, it may be checked whether the temperature increment of each sensor of the sensor block (e.g., each sensor in a group of sensors 33, where a "group" may be considered a "block" of sensors) is below a predetermined threshold. In a very broad sense, here the ECS 12 determines at operation 112 whether the temperature increment reported by a particular temperature sensor 33 of the sensor block is below a predetermined threshold. If the temperature increment is below the predetermined threshold level, it will be understood that no significant rate of temperature change has occurred and no further action is required. In this case, a check is then made at operation 113 to determine whether the total run time of all fans in a given fan assembly is above a predetermined minimum balancing threshold, thereby making a balancing decision. The preset minimum threshold may be a preset value that is lower than the preset value that may be required to immediately rotate the fan assembly 32, but it may still indicate that there is still room for adjustment in the on / off operation of one or more fans to bring the total run time of the fans closer to perfect balance.
[0072] Therefore, if the result of the check at operation 113 is "yes", one or more fans can be adjusted on / off at operation 113a to try to balance the running time of all fans of the fan assembly 32 more perfectly before returning to repeat operations 102 to 112. The answer of "no" at operation 113 means that the running time of all fans in the fan assembly 32 is close enough (for example, there are only negligible differences between all fans of the fan assembly 32), and there is no need to adjust any one or more of the fans at present. In other words, any adjustment may only cause a small difference in further balancing the running time of all fans, and therefore no adjustment is needed at this time.
[0073] Still refer to Figure 4 , if the check at operation 112 determines that the real-time temperature change rate is not less than a predetermined threshold, then at operation 114, it is checked whether the temperature increment is negative. If the determination at operation 114 produces a "no" answer, which means that the temperature increment is positive, then at operation 130, it is checked whether the fan associated with the particular sensor 33 is currently above the upper speed limit of the fan's maximum efficiency speed band. If this check produces a "no" answer, it is allowed to increase the fan speed. This may involve the ECS12 issuing a command to the fan assembly 32 to increase the speed of one of the fans under consideration based on the previously determined machine learning calculations performed at operation 110. More broadly speaking, the command is intended to increase the speed of one or more fans of the fan assembly 32 to cope with rapidly changing temperature / load conditions, while also paying attention to balancing the operating time of the fan under consideration relative to other fans of the fan assembly 32 as much as possible. After operation 132, operations 102 to 112 can be performed again.
[0074] If the check at operation 114 indicates that the temperature delta is negative (and above a predetermined threshold), overcooling is indicated. That is, the rate of change of temperature of the sensor of the monitored sensor block is decreasing at an unacceptably high rate. In this case, at operation 116, it is checked whether the speed of the fan (or multiple fans) associated with the temperature sensor under consideration is lower than the low-efficiency speed value of the maximum fan efficiency speed range of the particular fan under consideration. If this check produces a "no" answer, the fan under consideration needs to be slowed down. This is achieved at operation 118 in the following manner: ECS12 generates a command based on its machine learning calculations performed at operation 110 to cause the fan under consideration or all fans of the fan assembly 32 to run at a lower speed. After operation 118, operations 102 to 112 can be repeated.
[0075] If the check at operation 116 yields a "yes" answer, meaning that the given fan under consideration is already operating at a speed below the lower limit of its efficiency speed band, then it can be checked at operation 120 whether the current running time of all fans of the fan assembly 32 is balanced. If the check yields a "no" answer, meaning that the cooling provided by the fan assembly 32 can be further reduced to some extent by commanding other fans of the fan assembly to reduce fan speed, then operation 118 is performed. Operation 118 determines that the speed command of one or more of the other fans of the fan assembly 32 can be used to reduce the overall cooling output of the fan assembly 32 while selecting a fan speed that helps achieve a running time balance for all fans 32a-32d of the fan assembly. However, if the check at operation 120 indicates that all fans of the fan assembly 32 are already in running time balance (as defined by the lower threshold at operation 113), then only the specific fan under consideration is turned off at operation 122. In this case, it is preferred to prevent or limit overcooling, even if this means introducing some running time imbalance to the fans of the fan assembly. Operations 102 to 112 can then be repeated.
[0076] With further reference to the check at operation 130, as described above, if this operation is reached, it means that the temperature change rate of the sensor under consideration is positive, which means that the temperature reported by the temperature sensor is increasing at an unacceptably high rate (i.e., above a predetermined threshold level). And if the check at operation 130 produces a "yes" answer, which means that the particular fan under consideration is currently running at a speed above the upper limit of its efficiency speed band, then a check is performed at operation 124 to determine whether the speeds of all other fans of the same sensor block (i.e., all fans 32a-32d in this example) are above the upper limit of their respective maximum efficiency speed bands. If the check at operation 124 produces a "yes" answer, then at operation 126, all fans associated with a given sensor block (i.e., all fans 32a-32d) are commanded to run at maximum speed in an attempt to provide sufficient cooling to stop, slow, or reverse the temperature change rate of the sensor block in question. Operations 102 to 112 may then be repeated. However, if the check at operation 124 yields a "no" answer, meaning that one or more of the fans of the fan assembly 32 are operating at a speed below the upper limit of their maximum efficiency speed band, then these one or more fans may be commanded to operate at a speed consistent with the upper limit of their maximum efficiency speed band. Operations 102 to 112 may then be repeated.
[0077] Thus, the system 10 can provide an intelligent active learning system that continuously adjusts the commands supplied to the fans to operate each fan within its maximum efficiency speed band as much as possible while still meeting the cooling needs of the cooled device, and at the same time also adjusts the speeds of all fans 32a-32d of the fan assembly 32 to help balance the wear of all fans. The system 10 and method of the present application can effectively and better "learn" over time how to control fan speeds more efficiently and effectively. The system 10 can achieve this by continuously reviewing the calculated temperature change rate / load change rate relative to a specific fan speed and a specific ambient temperature and the actual observed temperature change rate / load change rate. The system 10 can do this over time at a specific fan speed. Therefore, the system 10 and method can remedy the effects of external factors associated with temperature sensors, the surrounding environment, or even the fans themselves, which may cause the real-world system response to deviate from the calculated response in an unacceptable manner.
[0078] The systems and methods of the present disclosure may also help to better optimize fan operation, which may result in reduced power consumption per fan. Another benefit of the system 10 and the method of the flowchart 100 described above is that while still maintaining proper cooling of each sensor of the sensor block cooled by the fan assembly as much as possible, the wear and tear of the fan is reduced by shifting additional required cooling capacity to fans with lighter loads or shorter cumulative operating times. The systems 10 and methods described herein may also provide the benefit of running the fan at a lower speed in some cases while still providing the required cooling for the component or device being cooled, which reduces the fan noise level.
[0079] Finally, the systems and methods of the present disclosure are able to determine when it may not be possible to balance the wear of the fans of a given fan assembly by controlling the run time, and can also provide an alert to the user when it is necessary to flip the fan assembly 180 degrees to help balance the wear of a particular fan of a given fan assembly. The system and method can generate other alerts associated with fan wear (e.g., approaching end of life, etc.). This further enables the systems and methods of the present disclosure to help extend the useful life of each fan in the fans of a given fan assembly.
[0080] The foregoing description of various embodiments has been provided for the purpose of illustration and description. The foregoing description is not intended to be exhaustive or to limit the present disclosure. Each element or feature of a particular embodiment is generally not limited to the particular embodiment, but is interchangeable and can be used for a selected embodiment where applicable, even if not specifically shown or described. Each element or feature of a particular embodiment can also be changed in many ways. Such a modification is not considered to be out of the present disclosure, and all these modifications are intended to be included in the scope of the present disclosure.
[0081] Exemplary embodiments are provided so that the present disclosure will be thorough and will fully convey the scope of the present disclosure to those skilled in the art. Many specific details, such as examples of specific components, devices and methods, are set forth to provide a thorough understanding of the embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, and that the exemplary embodiments may be implemented in a variety of different forms, and none of these forms should be construed as limiting the scope of the present disclosure. In some example embodiments, well-known processes, well-known device structures, and well-known technologies are not described in detail.
[0082] The terms used herein are only used to describe the purpose of specific example embodiments and are not intended to be restrictive. As used herein, nouns that do not specify the singular or plural number may also be intended to include plural forms unless the context clearly indicates otherwise. The terms "include", "comprise", "include", and "have" are inclusive, and therefore specify the presence of the features, wholes, steps, operations, elements, and / or parts, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, parts, and / or their groups. Unless the order of execution is specifically indicated, the method steps, processes, and operations described herein should not be interpreted as necessarily requiring them to be performed in the specific order discussed or described. It should also be understood that additional steps or alternative steps may be adopted.
[0083] When an element or layer is referred to as being "on," "engaged to," "connected to," or "coupled to" another element or layer, the element or layer may be directly on, engaged to, connected to, or coupled to another element or layer, or there may be intermediate elements or layers. Conversely, when an element is referred to as being "directly on," "directly engaged to," "directly connected to," or "directly coupled to" another element or layer, there may be no intermediate elements or layers. Other words used to describe the relationship between elements should be interpreted in the same manner (e.g., "between" versus "directly between," "adjacent" versus "directly adjacent," etc.). As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0084] Although the terms first, second, third, etc. can be used to describe various elements, components, regions, layers and / or sections in this article, these elements, components, regions, layers and / or sections should not be limited by these terms. These terms can only be used to distinguish an element, component, region, layer or section from another region, layer or section. Unless the context clearly indicates, the terms such as "first", "second" and other numerical terms used in this article do not imply order or sequence. Therefore, the first element, component, region, layer or section discussed above can be referred to as the second element, component, region, layer or section, without departing from the teaching of the example embodiments.
[0085] Spatially relative terms, such as "inside," "outside," "below," "below," "lower," "above," "upper," etc., may be used herein to facilitate description of the relationship of one element or feature to another element or feature as illustrated in the accompanying drawings. Spatially relative terms may be intended to cover different orientations of the device in use or operation other than the orientation depicted in the figure. For example, if the device in the figure is turned over, elements described as "below" or "below" other elements or features will be oriented to be "above" the other elements or features. Thus, the exemplary term "below" may cover both the above and below orientations. The device may be oriented in other ways (rotated 90 degrees or in other orientations), and the spatially relative descriptors used herein are interpreted accordingly.
Claims
1. A method for independently controlling the speed of a plurality of fans used to cool a device, wherein: The apparatus comprises a sensor block having at least one temperature sensor, the method comprising: determining an actual real-time ambient temperature rate of change of a temperature sensor associated with the sensor block relative to a speed of a given fan; determining a real-time rate of change of a load of the device; determining an expected rate of temperature change of the temperature sensor; comparing the actual rate of temperature change with the expected rate of temperature change and generating a learning portion therefrom; and Using the learned portion, a new fan speed command is generated to be applied to the given fan, the new fan speed command representing a new fan speed that achieves at least one of: Optimizing the power consumption of a given fan while still meeting the real-time changing temperature and load requirements of the device being cooled, or Fan noise generated by a given fan is reduced while still meeting the real-time changing temperature and load requirements of the device being cooled.
2. The method of claim 1 , further comprising considering a current wear level of each of the fans in the plurality of fans and generating a wear leveling portion adapted to achieve wear leveling between the given fan in the plurality of fans and the remaining fans in the plurality of fans.
3. The method of claim 2 further comprising comparing the actual temperature rate of change to the desired temperature rate of change and generating a learning portion that takes the wear leveling portion into account when determining a new fan speed command intended to maintain a desired ambient temperature set point.
4. The method according to claim 3, wherein: The new fan speed achieves wear balance between the given fan and other fans in the plurality of fans while still meeting the real-time changing temperature and load requirements of the device being cooled.
5. The method of claim 4, further comprising shutting down at least one fan in a fan assembly to help balance wear on the given fan.
6. The method of claim 5, further comprising providing a recommendation to rotate the fan assembly to help balance wear on the given fan.
7. The method according to claim 4, wherein: The new fan speed is determined in part by determining a current cumulative run time for each fan in the fan assembly.
8. The method according to claim 1, wherein: Generating the learning portion also includes associating the monitored temperature change rate, the monitored load change rate, and the real-time ambient temperature change with at least one of: a specific fan speed change, a specific fan orientation / position, and an actual temperature change result.
9. The method according to claim 1, wherein: The generative learning portion also considers a maximum efficiency speed band of the given fan and attempts to keep the given fan operating within the maximum efficiency speed band while meeting the cooling requirements of the device being cooled.
10. The method according to claim 9, wherein: The generative learning portion also includes taking into account a historical set of device load, device temperature, ambient temperature, device temperature variation, and current fan speed.
11. The method according to claim 1, further comprising: monitoring at least one of current, voltage, or power delivered to the given fan; monitoring a speed of the given fan; as well as The stored empirical data is used to determine a probability that the given fan will fail within a predetermined number of hours of operation time of the given fan.
12. A method for independently controlling the speed of a plurality of fans in a fan assembly for cooling a device, wherein: The apparatus includes a sensor block having a plurality of temperature sensors associated with different fans of the plurality of fans, the method comprising: determining an actual real-time rate of change of temperature of a temperature sensor associated with the sensor block relative to a speed of a given fan; determining a real-time rate of change of a load of the device; determining an expected rate of temperature change of the temperature sensor; taking into account a current wear level of each of the fans in the plurality of fans and generating a wear leveling portion adapted to achieve wear leveling between the given fan in the plurality of fans and the remaining fans in the plurality of fans; comparing the actual rate of temperature change to the desired rate of temperature change and generating a learning portion that takes the wear leveling portion into account in determining a new fan speed command intended to maintain a desired ambient temperature set point; and The new fan speed command to be applied to the given fan is generated using the learning portion, the new fan speed command representing a new fan speed that optimizes the power consumption of the given fan while still meeting the real-time changing temperature and load requirements of the device being cooled, while balancing the wear of each of the fans in the fan assembly to achieve fan wear equalization.
13. The method according to claim 12, wherein: Generating a new fan speed using the learned portion also includes generating the new fan speed to meet real-time changing temperature and load requirements of the device being cooled.
14. The method according to claim 12, wherein: Using the learned portion to generate new fan speeds includes attempting to reduce fan noise generated by the given fan while still meeting the real-time changing temperature and load requirements of the device being cooled.
15. The method according to claim 14, wherein: Using the learning portion to generate new fan speeds includes using the learning portion to determine whether one or more fans in the fan assembly can be shut down while continuing to operate the remaining plurality of fans in the fan assembly to meet real-time changing temperature and load requirements of the device being cooled.
16. The method according to claim 12, further comprising: monitoring input power provided to each fan in the fan assembly; determining a likelihood of fan failure for each of said fans based on an input power required to drive each of said fans at a given fan speed; as well as Based on the input power currently required to drive the at least one fan, a notification is provided to a user of a likelihood of a fan failure occurring in the at least one of the fans.
17. The method according to claim 16, wherein: Determining the likelihood of a fan failure occurring includes using at least one of the following: Algorithms that utilize known fan failure probability data; or A lookup table of the known fan probability data is utilized.
18. A system for independently controlling the speed of a plurality of fans in a fan assembly for cooling a device under load, wherein: The device comprises a sensor block having at least one temperature sensor, the system comprising: Electronic control systems; a fan speed sensing subsystem in communication with the electronic control system; a database including cumulative fan run time for each fan in the fan assembly and fan operating data including fan efficiency operating speed bands; a current sensing and voltage measurement subsystem in communication with the electronic control system and configured to facilitate determining an actual real-time rate of change of temperature of a temperature sensor associated with the sensor block relative to a speed of a given fan; The electronic control system is also configured to: determining and using a real-time rate of change of a load of the device and an expected rate of change of temperature of the temperature sensor to generate a learning portion; taking into account a cumulative operating time of at least one of the fans; and A new fan speed command for at least one of the fans is determined using the learned portion and the accumulated run time, the new fan speed command enabling the at least one fan to maintain a desired ambient temperature set point while optimizing power consumption of the at least one fan while still meeting real-time varying temperature and load requirements of the device being cooled.
19. The system of claim 18, wherein: The electronic control system is further configured to consider the accumulated operating time of each of the fans in the fan assembly and determine the new fan speed in a manner that achieves wear balance between the given fan and other of the fans in the fan assembly.
20. The system of claim 18, wherein: The database also includes at least one of the following: Wear leveling algorithm; fan data specifications, the fan data specifications including maximum fan speed, minimum fan speed, maximum fan current, nominal operating voltage, and fan efficiency speed band; as well as Fan history data is related to input power required to drive each of the fans and relates the input power to a probability of fan failure.