FAN ENHANCEMENTS TO IMPROVE SERVER PERFORMANCE AND QUALITY

By integrating a fan-internal microcontroller for I2C communication, the described system addresses space and protocol limitations in server fan management, enhancing server performance and quality through precise fan speed control and remote management.

DE102022108357B4Active Publication Date: 2026-05-07HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
HEWLETT PACKARD ENTERPRISE DEV LP
Filing Date
2022-04-06
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing server fan management systems face challenges in efficiently controlling fan speed and retrieving fan information remotely due to space constraints and limitations in communication protocols, which affect server performance and quality.

Method used

Integrating a microcontroller within the fan itself to manage and transmit fan information via I2C communication, eliminating the need for additional space and allowing full fan speed range utilization without restricting PWM signals.

Benefits of technology

Enables efficient fan speed control and remote management, improving server performance and quality by accurately monitoring and adjusting fan operations based on power consumption data, while reducing costs and ensuring proper fan installation and authentication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Procedure that includes the following: Managing information associated with the fan (110) by a microcontroller (120) built into a fan (110) installed in a server, wherein the fan (110) has two I2C pins configured to transmit signals based on an inter-integrated circuit (I2C) protocol, and wherein the information includes at least performance data associated with the fan (110); Measure, by the microcontroller (120) during the operation of the fan (110), a first amount of the power consumed by the fan (110) at a first time point and a second amount of the power consumed by the fan (110) at a second time point, wherein the power data includes at least the first amount and the second amount; and The information is transmitted by the microcontroller (120) via the two pins to a system management unit (140) that monitors and manages the server, the system management unit (140) controlling the speed of the fan (110) in response to receiving the measured performance data, and by: Calculating an initial net power by determining the difference between the total amount of power consumed by the server at the first time and the initial amount of power consumed by the fan (110) at the first time; and Calculating a second net power by determining a difference between the total amount of power consumed by the server at the second time and the second amount of power consumed by the fan (110) at the second time; Comparing the first net output with the second net output; and Based on the comparison of the first net power with the second net power, the fan speed is controlled by transmitting a fan control signal to the microcontroller (120) via the I2C pins.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND field

[0001] This disclosure relates generally to the field of server management. More specifically, this disclosure relates to a method and system for facilitating fan improvements to enhance server performance and quality.

[0002] US patent 2008 / 0310967A1 discloses an intelligent airflow device for cooling an electronics enclosure, comprising a motor to drive a variable-speed fan and a microcontroller for speed control. The microcontroller has a speed sensor that detects the rotational speed. If the measured speed falls below a target value, the microcontroller detects a blocked rotor. BRIEF DESCRIPTION OF THE IMAGES Fig. shows a diagram with a fan or fan assembly, including a microcontroller integrated into the fan or fan assembly, in accordance with an aspect of the present application. Fig. shows a fan or fan assembly, including a microcontroller integrated into the fan or fan assembly, according to one aspect of the present application. Fig. shows a fan or fan assembly, including a microcontroller integrated into the fan or fan assembly, according to one aspect of the present application. Fig. shows an exemplary pinout for a fan containing two pins configured for Inter-Integrated Circuit (I2C), in accordance with one aspect of the present application. Fig. illustrates the communication that enables the improvement of the server's quality and performance through fan extensions, in accordance with one aspect of the present application. Fig. demonstrates the communication that enables the improvement of the server's quality and performance through the use of fans, in accordance with one aspect of the present application. Fig. shows a flowchart illustrating a procedure for improving the quality and performance of servers through fan improvements in accordance with one aspect of the present application. Fig. shows a flowchart illustrating a procedure for improving the quality and performance of servers through fan improvements in accordance with one aspect of the present application. Fig. shows a computer system that enables the improvement of server quality and performance through fan extensions, according to one aspect of the present application.

[0003] In the illustrations, identical numbers refer to the same elements of the illustration. DETAILED DESCRIPTION

[0004] In one aspect, the invention provides the method claimed in claim 1.

[0005] In another aspect, the invention provides the computer system claimed in claim 10.

[0006] In another aspect, the invention provides the non-transitory, computer-readable storage medium claimed in claim 16.

[0007] The following description is intended to enable the person skilled in the art to produce and use the aspects and examples and is given in connection with a specific application and its requirements. Various modifications of the disclosed aspects are readily apparent to the person skilled in the art, and the general principles defined here can be applied to other aspects and applications without departing from the spirit and scope of this disclosure. Therefore, the aspects described here are not limited to those shown but have the broadest possible scope consistent with the principles and features disclosed herein.

[0008] A computer device (e.g., a server) and its components can generate heat during operation. The server may contain one or more fans to ensure efficient and proper operation, for example, to prevent overheating and component failure. Therefore, efficient control of the fan speed in a server can lead to improved server performance and quality.

[0009] Furthermore, after a fan has shipped from the factory, it can be difficult to remotely retrieve "fan information," including: information about the fan's manufacture / type, such as the manufacturer, batch number, serial number, manufacturing date, fan type, and vendor; and performance information or data related to the fan's operation. Consequently, remote fan management, capable of both retrieving fan information and controlling fan speed, can be desirable and improve server performance and quality.

[0010] One solution could be to use a microcontroller on a circuit board separate from the fan itself, with the microcontroller communicating with an infrastructure controller. However, space in a server can be limited, and adding extra components to control the fan in this way might not be practical. Another solution could be to use the upper range of a PWM (pulse-width modulation) signal, captured via one pin, and send messages via a standard signal on another pin. However, this solution might result in a reduction of the maximum fan speed.

[0011] The described aspects of this application provide a fan with a microcontroller housed within the fan itself, enabling the utilization of the fan's entire speed range, unlike current solutions. The described microcontroller can store and manage information about the fan, including performance data related to its operation and the fan's type / manufacturer, as well as telemetry data. This fan-internal microcontroller can transmit this information to an external system management unit (e.g., a controller) via an Interconnect Circuit (I2C).A Baseboard Management Controller (BMC) or a Complex Programmable Logic Device (CPLD) transmits data using two fan connector pins, thus requiring neither additional space within the server itself nor a reserved portion of the fan speed range for signal transmission. The described fan-internal microcontroller can therefore easily and efficiently transmit information to the external system management unit when the fan is located in a server installed in a standalone rack or tower server.

[0012] In general, I2C is a type of serial computer bus and a communication protocol that allows multiple electronic devices (e.g., peripheral integrated circuits) to communicate with each other over a single pair of wires. I2C can use two bidirectional open-drain lines for communication, including a serial data line (SDL) for transmitting data and a serial clock line (SCL) that carries the clock signal. Two pins on a connector can be used to transmit the I2C signals, as shown below in the example pinout of the fan connector. Fig. described.

[0013] The terms “system” and “computer system” are used interchangeably in this disclosure and may refer to a set of integrated devices or components that input, output, process, and store data. A system or computer system may include hardware components, such as processors, microcontrollers, volatile memory such as DRAM (Dynamic Random Access Memory), non-volatile memory, and peripherals. A system or computer system may also include software components or modules, as described below with respect to Fig. described. The term "system management unit" can refer to a unit in software or hardware that provides management and control functions for components of a system or computer system.

[0014] The terms “blower” and “blower assembly” are used interchangeably in this disclosure and refer to a unit that may include blades, sensors, pins, and a microcontroller within the blower, the microcontroller handling communication via two pins based on I2C with an external system management unit, as described below in relation to elements 110, 150, and 160 respectively. Fig. described.

[0015] Fig. Figure 100 shows a diagram 100 of a fan or fan assembly 110, including a microcontroller 120 within the fan or fan assembly 110, in accordance with an aspect of the present application. The fan or blower assembly 110 may include: fan blades 102, 104, 106, and 108; a plurality of sensors 130, 132, 134, and 136; a motor 138; and a fan-internal microcontroller 120. The blower or blower assembly 110 may have a greater or lesser number of blades and sensors than those shown in Figure 100. Fig. The sensors shown include those 130-136, which may be configured to collect data related to the operation of the fan, such as current, voltage, temperature, and revolutions per minute (e.g., a tachometer or similar device).

[0016] The microcontroller 120 can include: a power estimation module 122; a power measurement module 124; a motor control module 126 for controlling the motor 138; and an I2C module 128. The microcontroller 120 can store and manage information associated with the fan, including: manufacturing information associated with the fan, such as manufacturer, date of manufacture, serial number, and vendor number; the type of fan, such as whether the fan is a standard fan, a power fan, or another type of fan; and performance data associated with the fan during operation.

[0017] Furthermore, the microcontroller 120 can use the data obtained from sensors 130-136 to measure the power consumed by the fan 110 (i.e., the power data). The power measurement module 122 can use the obtained data to measure the power consumed by the fan 110 during operation, for example, for a specific period, at two different time intervals, or at regular or predetermined time intervals, etc. The power estimation module 124 can use additional information, such as the fan speed, electronically commutated voltages, revolutions per minute, and back pressure, to estimate the power consumed by the fan 110 during operation, again at different time intervals. In some cases, the operations performed by modules 122 and 124 can be carried out by a single module, unit, or component of the microcontroller 120.The power measured or estimated by modules 122 and 124 can be referred to as the fan's "performance data".

[0018] The microcontroller 120 can transmit the fan's performance data to an external system management unit 140, e.g., a baseboard management controller (BMC) or a complex programmable logic device (CPLD), via two pins on a fan connector based on I2C, as shown below in relation to Fig. described. The BMC / CPLD 140 can control the fan speed in response to receiving measured or estimated power data. For example, if the received power data includes the amount of power consumed by the fan at a first and a second time, the BMC / CPLD 140 can calculate the net power consumed by the system components (e.g., processors, memory, and peripherals).The BMC / CPLD 140 can determine the power consumed by a computer system (processors, memory, and peripherals) at the first and second time points, excluding the power consumed by the fan, by: determining the difference between the total power consumed by the server at the first time point and the power consumed by the fan at the first time point to obtain a "first net power"; and determining the difference between the total power consumed by the server at the second time point and the power consumed by the fan at the second time point to obtain a "second net power". The BMC / CPLD 140 can compare the first net power with the second net power.

[0019] If the second net power exceeds the first net power by more than a predetermined amount (e.g., a specific increase in the system's power consumption without the fan over the period between the first and second times), the BMC / CPLD 140 can send a signal to the microcontroller 120 via two I2C-defined pins to increase the fan's current speed by a specific amount or initial value. This specific amount or initial value can be based on an algorithm for controlling the fan speed based on power, such as a linear ramp.

[0020] If the second net power does not exceed the first net power by more than the predetermined amount (e.g., no or only a small increase in the power consumption of the system without the fan over the period between the first and second times), BMC / CPLD 140 may refrain from sending the signal to microcontroller 120, which may result in the fan maintaining its current speed.

[0021] In some aspects, if the second net power is lower than the first net power by a different predetermined amount (i.e., a specific decrease in the system's power consumption without the fan over the period between the first and second times), the BMC / CPLD 140 can send a signal to the microcontroller 120 to reduce the fan speed, for example, by a specific amount or a second value. As with the specific amount or first value by which the fan speed should be increased in response to the detection of an increase in net power, this specific amount or second value can be based on a predefined algorithm. The communication between the microcontroller 120 and the system management unit 140 is described further below with regard to the Fig. described.

[0022] Aspects of the described fan-internal microcontroller 120 can be coupled with a fan connector, e.g. with an 8-pin pin assignment, as shown below in relation to Fig. The fan header is described, with two pins being uniquely designated or defined for I2C communication. The fan header can be connected to the system management unit (e.g., BMC / CPLD or, in some configurations, a separate BMC and CPLD). In some aspects, the system can use an autonomous machine such as a CPLD to collect fan information, including performance data. The CPLD can be separate and independent from the BMC and can be configured by the system.

[0023] By measuring or estimating the power consumed by the fan using the fan's internal microcontroller 120 (i.e., determining the power data) and subsequently transmitting the power data to the BMC / CPLD 140 via I2C through defined or dedicated pins, the described aspects can offer improvements that lead to an improvement in the performance and quality of a server in which the fan is installed.

[0024] Fig. Figure 1 shows a fan or fan assembly 150, including the microcontroller 120 located in the fan or fan assembly 150, in accordance with an aspect of the present application. Fig. The fan assembly 150 can represent a cross-sectional view of the fan or fan assembly. The fan assembly 150 can include a housing or outer casing 152 in which the fan blades 102, 104, 106, and 108 can be arranged and in which the microcontroller 120 can also be located (i.e., as an internal microcontroller). The housing or casing 152 can have an inner surface 154 and an outer surface 156 with respect to the fan blades 102-108. That is, the inner surface 154 of the housing or casing 152 can point in the direction of the position of the fan blades 102-108 or be connected to an inner surface of the housing or casing 152, and the outer surface 156 of the housing or casing 152 can point away from the direction of the fan blades 102-108 or be connected to an outer surface of the housing or casing 152.

[0025] Fig. Figure 1 shows a fan or fan assembly 160, including a microcontroller 120 incorporated into the fan or fan assembly 160, according to one aspect of the present application. Fig. The fan assembly 160 can represent a cross-sectional view of the fan or fan assembly. The fan assembly 160 can include a housing or outer casing 162 in which the fan blades 102, 104, 106, and 108 can be arranged and in which the microcontroller 120 can also be located (i.e., as an internal microcontroller). The housing or casing 162 can have an inner surface 164 and an outer surface 166 with respect to the fan blades 102-108. That is, the inner surface 164 of the housing or casing 162 can point in the direction of the position of the fan blades 102-108 or be connected to an inner surface of the housing or casing 162, and the outer surface 166 of the housing or casing 162 can point away from the direction of the fan blades 102-108 or be connected to an outer surface of the housing or casing 162.

[0026] Fig. The housing or casing 152 is shown as closed and circular in cross-section, and the housing or casing 162 as closed and square in cross-section, wherein the fan-internal microcontroller is located within the housing or casing of the fan assembly itself and on the inner surface that is closest to and facing the fan blades 102-108. In some aspects, the housing or casing surrounding the fan blades 102-108 may assume other shapes or forms, including being partially closed, having openings, or having multiple sides such as an oval, a rectangle, a triangle, a polygon, or any other shape or form, wherein these other shapes or forms may include an inside and an outside with respect to the fan blades 102-108.The microcontroller 120 may be located within an enclosure or space formed by such a housing or casing, e.g., attached to, touching, coupled to, or located closer to the inner surface of the housing or casing than to the outer surface of the housing or casing.

[0027] By integrating the microcontroller 120 into the fan or the fan assembly itself, the described aspects do not require any space outside the fan assembly, thus eliminating the burden of a microcontroller located outside the fan assembly itself or on a separate fan-external board.

[0028] Fig. Figure 200 shows an example fan connector pinout for a fan containing two I2C-configured pins, in accordance with one aspect of the present application. Fan pinout 200 can specify a pin position 202 and a pin function 204 for each of the eight pins on an 8-pin connector. Pin position 1 can be used for the positive power supply to the fan (output), 12V, and pin position 2 for the positive power supply to the fan (input), 12V. Pin positions 3 and 4 can be used for I2C communication. For example, power data can be sent to a system management unit (or other unit) via a serial data line (SDA) at pin position 3, and signals for controlling the fan speed can be received via a serial clock line (SCL) at pin position 4.Pin position 5 can be used as a presence indicator, showing whether the fan has been physically installed in the server ("fan_install"). Pin position 6 can be used for a pulse-width modulation (PWM) signal, such as a signal that can be applied to pin 6 to control the fan's operating speed. Regarding the aspects described, the system management unit can send a PWM signal to pin 6 to control the fan speed, or it can send a command or signal to the microcontroller to control the fan speed via the pins reserved for I2C communication (as described below in relation to the...). Fig. (described). Pin position 7 can be used for fan power (intake) and ground feedback, and pin position 8 can be used for fan power (exhaust) and ground feedback. Other pin assignments and definitions can also be used, with communication or signals relating to power supply data and fan information being transmitted to or received from the BMC / CPLD via the pins defined for I2C.

[0029] As in Fig. As shown, the described aspects can use two pins for monitoring and acquiring information related to fan faults, fan identification, and performance monitoring / estimation. The 110 fan from Fig. (and the fans 150 and 160 from Fig. ) I2C can be used with a hardened I2C engine in the microcontroller 120 (e.g. I2C engine 128 in Fig. The Fan 110 can support I2C access at 100 kHz, and this I2C access can be unobtrusive, meaning it does not affect the fan's normal operation when I2C commands are sent repeatedly in a short period. An address assigned to the Fan 110 can be permanently assigned to the fan (e.g., with an 8-bit value of 0xB0), and the system or server can multiplex the I2C bus to avoid address conflicts. Furthermore, the Fan 110 can tolerate interrupted I2C transactions via a timeout in conjunction with the system management bus. The Fan 110 can also reset the I2C interface (via the Microcontroller 120) when necessary (e.g., if the interface or I2C engine has a fault or requires a reset).

[0030] Furthermore, fan identification can be determined or performed via I2C, which is an improvement over the previous provision of this 8-bit value via a dedicated pin. The described aspects can thus enable the transmission of more information with a limited number of pins, potentially leading to a reduction in pin usage, for example, compared to transmitting rotor fault data, for which discrete pins were previously used.

[0031] Fig. The communication module 300, which, according to one aspect of the present application, enables fan extensions to improve server quality and performance, is shown. During operation, the microcontroller 120 and the system management unit 140 can communicate with each other and also perform various functions. The microcontroller 120 can store fan information, such as manufacturing information, fan type, and power data, as described above (operation 310). The microcontroller 120 can also measure fan power (operation 312, as shown above in relation to the power measurement module 122), estimate fan power (operation 314, as shown above in relation to the power estimation module 124), and store this power data as part of the fan information (operation 316).The system management unit 140 can generate a request for fan information (operation 322) and send a request for fan information 324 to the microcontroller 120.

[0032] The microcontroller 120 can receive the request for fan information (operation 326) and determine the requested fan information 330 and transmit it to the system management unit 140 (operation 328). The requested fan information 330 can relate to any information stored by the microcontroller 120, including performance data associated with a specific period or time intervals. The system management unit 140 can receive the requested fan information (operation 332) and control the fan speed to ensure proper and efficient cooling of the server by calculating the net power change over two different time periods (operation 334). The net power change at a given time can represent the difference between the total system power at that time and the power consumed by the fan at that time.This means that the net power change can be calculated to indicate the power consumed by the system or server in which the fan is installed, with or without considering the power consumed by the fan itself. If the net power change over two different times, for example, at a two-second interval, is greater than a certain predetermined threshold, the system management unit 140 can send a signal to increase the fan speed (operation 336), which is sent as signal 338. If the net power change over the two different times is equal to or less than the certain predetermined threshold, the system management unit 140 can send no signal or a signal to decrease the fan speed (as described below in relation to...). Fig. (described).

[0033] The microcontroller 120 can receive a signal to increase the fan speed 338 (operation 340) and increase the fan speed (operation 342) (e.g., by sending a signal to the motor 138 connected to the fan assembly 110 to increase the current fan speed). The described processes can use various algorithms to determine the specific amount or value by which the fan speed should be increased based on the amount of the calculated net power or net power change, e.g., based on a linear ramp or other method. Operations 322-342 can continue while the fan is operating.

[0034] While Fig. If the microcontroller 120 is performing operation 328 (i.e., sending fan information to the system management unit 140) based on 322-326 (i.e., in response to a request from the system management unit 140), then the microcontroller 120 can perform operation 328 in some aspects and send the fan information to the system management unit 140 automatically or based on a predetermined time or time interval.

[0035] Fig. The communication protocol 350 demonstrates that, according to one aspect of the present application, fan improvements enable better server quality and performance. During operation and in some aspects following the implementation in Fig. In the processes shown, the system management unit 140 can generate a request for fan information (process 352) and send the request for fan information 354 to the microcontroller 120. The microcontroller 120 can receive the request for fan information (process 356), determine the requested fan information 360, and send it to the system management unit 140 (process 358).

[0036] The System Management Unit 140 can receive the requested fan information (Operation 362) and control the fan speed to properly and efficiently cool the server by calculating the change in net power over two different time periods (Operation 364). If the net power change over these two time periods is not greater than a certain predetermined threshold, the System Management Unit 140 can send a signal to maintain the fan speed (Operation 366), which is sent as signal 368. In some cases, if the net power change over the two time periods is not greater than the certain predetermined threshold, the System Management Unit 140 does not send any signal at all, which may result in the fan continuing to operate at its current speed.

[0037] As described above, the microcontroller 120 can automatically transmit the requested fan information as fan information 380 to the system management unit 140. The system management unit 140 can receive the fan information (operation 382) and control the fan speed to properly and efficiently cool the server by calculating the change in net power over two different time periods (operation 384). If the net power change over these two time periods is less than a second predetermined threshold, the system management unit 140 can send a signal to reduce the fan speed (operation 386), which is transmitted as signal 388.

[0038] The microcontroller 120 can receive a signal to reduce the blower speed 388 (operation 390) and reduce the blower speed (operation 392) (e.g. by sending a signal to the motor 138, which is assigned to the blower assembly 110, to reduce the current blower speed).

[0039] Fig. Figure 400 shows a flowchart illustrating a process that enables fan improvements to enhance server quality and performance in accordance with one aspect of the present application. During operation, the system stores and manages information associated with a fan installed in a server through a microcontroller embedded within the fan. The fan comprises two pins configured to transmit signals based on an interintegrated circuit (I2C), and the information includes at least performance data associated with the fan (Process 402).The system, via the microcontroller, measures an initial amount of energy consumed by the fan at a first time point and a second amount consumed by the fan at a second time point during operation, with the power data including at least the first and second amounts (Operation 404). The system optionally receives a request for fan information from a system management unit that monitors and manages the server (Operation 406) via the microcontroller. In some aspects, the system can perform Operation 408 automatically, for example, based on a predetermined time interval, rather than in response to a request for fan information (as in Operation 406).

[0040] The system transmits the information via the microcontroller to the system management instance through the two pins. The system management instance then controls the fan speed in response to the received power data by: calculating a first net power (by determining the difference between the total power consumed by the server at the first time and the first power consumed by the fan at the first time) and calculating a second net power (by determining the difference between the total power consumed by the server at the second time and the second power consumed by the fan at the second time) (Operation 408). The operation is labeled A in Fig. continued.

[0041] In some aspects, as part of operation 408, the microcontroller can transmit the fan information to the BMC or CPLD, which can receive and store the fan information for later use, e.g., by a local user when the fan is installed in the server for fan configuration in a factory or data center.

[0042] Fig. Figure 420 shows a flowchart illustrating a procedure that enables fan improvements to enhance server quality and performance in accordance with one aspect of the present application. The system receives fan information from the system management unit (Operation 422). The system calculates a first net power by determining the difference between the total power consumed by the server at the first time point and the first amount of power consumed by the fan at the first time point (Operation 424), and the system calculates a second net power by determining the difference between the total power consumed by the server at the second time point and the second amount of power consumed by the fan at the second time point (Operation 426).

[0043] If the second power output is not greater than the first power output by more than a predetermined amount (decision 428), the system refrains from sending the signal to the microcontroller, thus maintaining the current fan speed (operation 432), and the process returns. If the second power output is greater than the first power output by more than a predetermined amount (decision 428), the system sends a signal to the microcontroller via the two pins to increase the current fan speed by a certain value (operation 430), and the process is terminated by operation 410. Fig. continued. Back to Fig. The system receives a signal from the system management unit via the microcontroller to increase the fan speed by the specified value (operation 410), and the microcontroller increases the fan speed by the specified value (operation 412). The process then returns.

[0044] The described aspects allow the system to subtract the fan power consumption from the total system power consumption, ensuring that the fan speed is only increased when the increase in system power originates from the system itself or from system components other than the fan, as described above in relation to FIGS. 3A, 3B, and 4B. The system can then communicate this information to customers via the BMC / CPLD. Since no additional space or external board is required, these aspects can provide a cost-effective method for reporting fan power consumption to customers or other users.

[0045] The system can also provide static information about the fan itself, such as information about its manufacture / type, including the manufacturer, batch number, serial number, manufacturing date, fan type, and supplier. As described above, a previous solution blocked or reserved the top 10% of the PWM range for transmitting fan information, thus limiting the fan speed to only 90% of its potential. Furthermore, using the PWM signal as a high-frequency monitor could occupy the PWM signal for a certain period, preventing the BMC from using PWM for fan control during that time. By transmitting information via I2C from the fan's internal microcontroller, the described aspects allow the full fan speed range to be utilized without restricting the PWM signal.

[0046] Furthermore, the microcontroller may be coded with a manufacturing date that does not match the actual manufacturing date of the fan, potentially creating a gap when attempting to identify a specific batch of fans with problems. The described aspects can eliminate this potential discrepancy by transmitting the relevant microcontroller and fan information via I2C.

[0047] By providing information about the fan type, the system can enable the customer / end user to identify and differentiate between various fan types installed in each fan bay (e.g., single rotor, twin rotor, standard fan, or high-performance fan) and can also identify a third fan type if required (e.g., 4056 mm standard, 4056 mm performance, or 4028 mm, as required on certain platforms due to space constraints). This fan type information can be used, for example, by a diagnostics team at the factory to ensure the correct fan installation configuration is in place before the fan leaves the factory.

[0048] As described above, the fan or fan assembly itself (via the fan's internal microcontroller) can perform its own monitoring and / or estimation by means of power monitoring through actual measurement and power estimation based on fan speed, fan commutation, back pressure, and revolutions per minute (e.g., as determined by a tachometer). This can result in the fan speed being increased in advance, allowing for more precise control than increasing the fan speed based on temperature data.

[0049] The described aspects can also lead to improvements in the customer / user experience and provide a basis of trust for authentication. For example, a customer or end user can more easily determine and analyze the fan speed, as the fan speed information (e.g., from a tachometer) can be sent via I2C. Another example is that a customer or server can verify that an installed fan has been properly authenticated and not improperly installed, which can prevent unauthorized or malicious activity or misuse of the fan in the field. Furthermore, the microcontroller's firmware can be updated remotely, leading to more efficient and flexible processes for changes to the fan once it has left the factory and is operational in the field.These improvements to increase customer / user-friendliness can be achieved by the system with minimal to no increase in costs for the fan itself.

[0050] Fig. Figure 500 shows a computer system that, according to one aspect of the present application, enables fan improvements to enhance server quality and performance. The computer system 500 comprises a processor 502, volatile memory 506, and a storage device 508. The volatile memory 506 may, for example, include random-access memory (RAM) that serves as managed memory and can be used to store one or more memory pools. The storage device 508 may contain persistent memory that can be managed by or accessed by the processor 502. Furthermore, the computer system 500 may be coupled with peripheral input / output user devices 510, such as a display device 511, a keyboard 512, and a pointing device 514. The storage device 508 may store an operating system 516, a content processing system 518, and data 536.The Computer System 500 can be a server comprising modules 520-534. Modules 520-534 can contain hardware and programming with instructions that can be executed by a processing resource of the Computer System 500. The Computer System 500 can have fewer or more modules than those listed. Fig. Included are the modules 520-534 shown.

[0051] The content processing system 518 can contain instructions which, when executed by the computer system 500, can cause the computer system 500 or the processor 502 to perform the procedures and / or processes described in this disclosure. In particular, the content processing system 518 can contain instructions for receiving and sending data packets, signals, and subject information (communication module 520).

[0052] The content processing system 518 can further include instructions for managing information associated with the fan by a microcontroller embedded in a fan installed in a server, wherein the fan has two pins configured to transmit signals based on an interintegrated circuit (I2C), and wherein the information includes at least power data associated with the fan (fan information management module 522). The content processing system 518 can include instructions for the microcontroller to measure, during the operation of the fan, a first amount of energy consumed by the fan at a first time and a second amount of energy consumed by the fan at a second time, wherein the energy data includes at least the first and second amounts (power measurement / estimation module 524).The content processing system 518 can also include instructions for the microcontroller to transmit the information via the two pins to a system management unit (I2C management module 530) that monitors and manages the server, the system management unit controlling a fan speed in response to receiving the measured power data by: calculating a first net power by determining a difference between a total amount of energy consumed by the server at the first time and the first amount of energy consumed by the fan at the first time; and calculating a second net power by determining a difference between a total amount of energy consumed by the server at the second time and the second amount of energy consumed by the fan at the second time (net power calculation module 526).

[0053] The content processing system 518 can additionally include instructions for measuring power data, including the first amount and the second amount, by estimating the amount of power consumed by the fan based on at least one of the following factors: fan speed, electronically commutated voltages, revolutions per minute, and back pressure (power measurement / estimation module 524). The content processing system 518 can include instructions for managing the multiple pins configured to transmit signals during fan operation (pin management module 528). The content processing system 518 can also include instructions for determining whether a net power at one time is greater than a net power at another time (power data management module 532).The content processing system 518 can contain instructions for receiving a request for authentication information for the blower and for transmitting the authentication information (authentication management module 534).

[0054] The data 536 may include any data required as input or generated as output by the methods and / or processes described in this disclosure. In particular, the data 536 may store at least one or more of the following: information associated with a fan; power data associated with a fan; an amount of power consumed by a fan at a given time; a measured amount of power consumed by a fan; an identifier or indicator of a microcontroller, system management unit, BMC, or CPLD; an indicator for a plurality of pins; a definition of the pinout of a fan connector; an indicator for a pin configured for I2C communication; a net power; a difference; a total system power; an amount of power consumed by a server at a given time;an amount of power consumed by a fan at a given time; a first amount; a second amount; a difference between the power consumed by the server and the power consumed by the fan at a given time; a request; a response; a predetermined time interval; manufacturing information; a type of fan; data obtained from one or more sensors; data associated with the operation of a fan and relating to current, voltage, temperature, rotational speeds, fan velocity, electronically commutated voltages, or back pressure; a predetermined amount; a value; authentication information; and an indicator of whether a fan is authenticated for installation in a server.

[0055] In general, the disclosed aspects provide a system for facilitating fan improvements to enhance server performance and quality. In one aspect, the system, during operation, manages information associated with a fan installed in a server through a microcontroller embedded within the fan. The fan has two pins configured to transmit signals based on an Interconnected Circuit (I2C), and the information includes at least power data associated with the fan. The system, through the microcontroller, measures a first amount of energy consumed by the fan at a first time point and a second amount of energy consumed by the fan at a second time point during the fan's operation, with the power data including at least the first and second amounts.The system transmits information via the microcontroller and the two pins to a system management instance that monitors and manages the server. The system management instance controls the fan speed in response to the received power data by: calculating a first net power by determining the difference between the total power consumed by the server at the first time point and the first power consumed by the fan at the first time point; and calculating a second net power by determining the difference between the total power consumed by the server at the second time point and the second power consumed by the fan at the second time point.

[0056] In another variation of this aspect, the blower includes a variety of pins configured to transmit signals during operation of the blower.

[0057] In another variation of this aspect, the multiple pins include: the two pins configured to transmit signals between the microcontroller and the system management unit based on I2C; a third pin that indicates whether the fan is installed; and a fourth pin that receives a pulse-width modulated (PWM) signal.

[0058] In another variation of this aspect, the information is transmitted to the system administration instance in response to the receipt of a request from the system administration instance for the information.

[0059] In another variant, the information is transmitted to the system administration unit at a predetermined time interval.

[0060] In another variant, the information associated with the fan also includes the manufacturing information associated with the fan and a fan type.

[0061] In another variant, the microcontroller measures the performance data, including the first power quantity and the second power quantity, at predetermined time intervals and based on data obtained from one or more sensors of the fan.

[0062] In another variant, one or more sensors are configured to receive data about the operation of the blower, relating to at least one of the following elements: current, voltage, temperature and revolutions per minute.

[0063] In another variant, the microcontroller measures the performance data, including the first and second values, by estimating the power consumed by the blower based on at least one of the following quantities: blower speed; electronically commutated voltages; revolutions per minute; and back pressure value.

[0064] In another variant, the system management unit further controls the fan speed by: in response to the detection that the second net power is greater than the first net power by more than a predetermined amount, transmitting a signal via the two pins to the microcontroller to increase the current fan speed by a certain value; and in response to the detection that the second net power is not greater than the first net power by more than the predetermined amount, refraining from sending the signal to the microcontroller, thus maintaining the current fan speed.

[0065] In another variant, the system receives a request for authentication information corresponding to the fan from the system management unit via the microcontroller and the two pins. The system then transmits this authentication information to the system management unit via the microcontroller and the two pins. The system management unit uses this authentication information to verify that the fan is authenticated for installation in the server.

[0066] In another variant, the system management unit is at least one of the following elements: a baseboard management controller or a complex programmable logic device.

[0067] The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which can be any device or medium capable of storing code and / or data for use by a computer system. Computer-readable storage media include, but are not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tapes, CDs (Compact Discs), DVDs (Digital Versatile Discs or Digital Video Discs), or other media capable of storing computer-readable media known today or developed in the future.

[0068] The methods and processes described in the "Detailed Description" section can be embodied as code and / or data, which can be stored on a computer-readable storage medium as described above. When a computer system reads and executes the code and / or data stored on the computer-readable storage medium, the computer system executes the methods and processes that are embodied as data structures and code and stored on the computer-readable storage medium.

[0069] Furthermore, the methods and processes described above can be integrated into hardware devices or apparatuses. These hardware devices or apparatuses can include, but are not limited to, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), dedicated or shared processors that execute a specific software program or piece of code at a specific time, and other known or subsequently developed programmable logic devices. When the hardware devices or apparatuses are activated, the hardware modules execute the methods and processes they contain.

Claims

[1] Procedure comprising the following: Managing information associated with the fan (110) by a microcontroller (120) built into a fan (110) installed in a server, wherein the fan (110) has two I2C pins configured to transmit signals based on an inter-integrated circuit (I2C) protocol, and wherein the information includes at least performance data associated with the fan (110); Measure, by the microcontroller (120) during the operation of the fan (110), a first amount of the power consumed by the fan (110) at a first time point and a second amount of the power consumed by the fan (110) at a second time point, wherein the power data includes at least the first amount and the second amount; and The information is transmitted by the microcontroller (120) via the two pins to a system management unit (140) that monitors and manages the server, the system management unit (140) controlling the speed of the fan (110) in response to receiving the measured performance data, and by: Calculating an initial net power by determining the difference between the total amount of power consumed by the server at the first time and the initial amount of power consumed by the fan (110) at the first time; and Calculating a second net power by determining a difference between the total amount of power consumed by the server at the second time and the second amount of power consumed by the fan (110) at the second time; Comparing the first net output with the second net output; and Based on the comparison of the first net power with the second net power, the fan speed is controlled by transmitting a fan control signal to the microcontroller (120) via the I2C pins. [2] Method according to claim 1, wherein the transfer of information to the system management unit (140) takes place in response to at least one of: the receipt of a request from the system management unit (140) for the information and a predetermined time interval. [3] Method according to claim 1, wherein the information associated with the fan (110) further comprises manufacturing information associated with the fan (110) and a type of fan (110). [4] Method according to claim 1, wherein measuring the performance data, including the first power quantity and the second power quantity, comprises measuring, by the microcontroller (120), the performance data at predetermined time intervals and on the basis of data obtained from one or more sensors (130, 132, 134, 136) of the fan (110). [5] Method according to claim 2, wherein measuring the performance data comprises causing one or more sensors (130, 132, 134, 136) to obtain data in connection with the operation of the fan (110) relating to at least one of the following points: Electricity; Tension; temperature; and Revolutions per minute. [6] Method according to claim 1, wherein measuring the performance data, including the first amount and the second amount, comprises causing the microcontroller (120) to estimate an amount of the power consumed by the fan (110) based on at least one of the following: a fan speed (110); electronically commutated voltages; revolutions per minute; and a back pressure quantity. [7] Method according to claim 1, wherein the system management unit (140) further controls the speed of the fan (110) by the following measures: In response to the finding that the second net power is greater than the first net power by more than a predetermined amount, the fan control signal transmitted to the microcontroller (120) via the two pins is designed to increase the current speed of the fan (110) by a certain value; and In response to the finding that the second power output is not greater than the first power output by more than the predetermined amount, the fan control signal is not sent to the microcontroller (120), thus maintaining the current speed of the fan (110). [8] The method according to claim 1 further comprises: Receiving a request for authentication information corresponding to the fan by the microcontroller (120) from the system management unit (140) via the two pins; The authentication information corresponding to the fan (110) is transmitted by the microcontroller (120) via the two pins to the system management unit (140), the system management unit (140) using the authentication information to verify that the fan (110) is authenticated for installation in the server. [9] Method according to claim 1, wherein the system management unit (140) is at least one of the following: a baseboard management controller; and a complex programmable logic device. [10] Computer system consisting of: A processor (502); A system management unit (140) designed to monitor and manage the computer system; and One or more fans (110), each fan (110) comprising: a multitude of blades (102, 104, 106, 108) located in a housing (152, 164); one or more sensors (130, 132, 134, 136); a plurality of pins (200) configured to transmit signals during operation of the fan (110), wherein the plurality of pins (500) includes two I2C pins configured to transmit signals based on an inter-integrated circuit (I2C) protocol, and wherein the information includes at least performance data associated with the fan (110); and a microcontroller (120) located inside the housing (152, 164), wherein the microcontroller (120) is configured to: manages fan information associated with the fan (110), wherein the fan information includes at least fan performance data associated with the fan (110); Measurements based on the output of one or more sensors (130, 132, 134, 136), a power consumed by the fan (110) at a first time point, and a second amount of the power consumed by the fan (110) at a second time point, wherein the power data includes at least the first amount and the second amount; and at least transmits the fan power information via the I2C pins to the system management unit (140), wherein the system management unit (140) is configured to determine a first net power and a second net power based on the fan power information received from the one or more fans (110), wherein the first net power is the power consumed by the computer system at the first time point less the power consumed by the one or more fans (110) at the first time point, and wherein the second net power is the power consumed by the computer system at the first time point less the power consumed by the one or more fans (110) at the second time point; Comparing the first net output with the second net output; and Controlling the respective fan speeds of one or more fans (110) based on the comparison of the first net power with the second net power by transmitting fan control signals to the respective microcontrollers (120) of the one or more fans (110) via the respective I2C pins. [11] Computer system according to claim 10, wherein each of the one or more fans (110) comprises a connector comprising the multiple pins (200) and the multiple pins (200) further include: a third pin that indicates whether the fan (110) is installed; and a fourth pin that receives a pulse width modulated (PWM) signal. [12] Computer system according to claim 10, wherein, for each of the one or more fans (110), the microcontroller (120) is further configured to transmit the fan information to the system management unit (140) in response to one or more of the following features: Receiving a request from the system management unit (140) for fan information; and Recording a first predetermined time interval. [13] Computer system according to claim 10, wherein, for each of the one or more fans (110), the microcontroller (120) is further configured such that it: Measurement of performance data, including the first power quantity and the second power quantity, at predetermined time intervals. [14] Computer system according to claim 10, wherein the information associated with the fan (110) further comprises manufacturing information associated with the fan (110) and a type of fan (110). [15] Computer system according to claim 10, wherein, for each of the one or more fans (110), the one or more sensors (130, 132, 134, 136) are configured to receive data in connection with the operation of the fan, relating to at least one of the following features: Electricity; Tension; temperature; and Revolutions per minute. [16] Non-transitory, computer-readable storage medium that stores commands configured to be executed by a system management unit (140) of a computer system, which the system management unit (140) causes to: Receiving performance data from respective microcontrollers of one or more fans (110) of the computer system via I2C pins of the fans (110), wherein the I2C pins are configured to transmit signals based on an inter-integrated circuit protocol (I2C), wherein for each of the one or more fans (110) the performance data indicate power consumption amounts of the fan (110) at different times, including a first time and a second time; Calculating a net power based on power information obtained from the one or more fans (110), including a first net power and a second net power, wherein the first net power is the difference between the total amount of power consumed by the computer system at the first time and the first amount of power consumed by the one or more fans (110) at the first time, and the second net power is determined by calculating a difference between the total amount of power consumed by the computer system at the second time and the second amount of power consumed by the one or more fans (110) at the second time; and Comparing instances of net performance with each other, including comparing the first net performance with the second net performance; and Control of the respective fan speeds (110) of one or more fans () based on the comparison of the instances of net power, by transmitting fan control signals to respective microcontrollers (120) of one or more fans (110) via the respective I2C pins. [17] Computer system according to claim 10, wherein the system management unit (140) controls the respective speeds of one or more fans (110) by: In response to the determination that the second net power is greater than the first net power, a speed control signal is transmitted that is configured to cause one or more fans (110) to increase their respective speeds; and In response to the determination that the second net power is lower than the first net power, transmitting a speed control signal configured to cause one or more fans (110) to reduce their respective speeds. [18] Computer system according to claim 17, wherein the system management unit (140) controls the respective speeds of one or more fans (110) by: In response to determining that the second net power is greater than the first net power by a predetermined amount, transmitting a speed control signal configured to cause one or more fans (110) to increase their respective speeds; In response to determining that the second net power is lower than the first net power by the predetermined amount, transmitting a speed control signal configured to cause one or more fans (110) to reduce their respective speeds; and In response to determining that the second net power is within the predetermined amount of the first net power, to cause one or more fans (110) to maintain their respective instantaneous speeds. [19] Computer system according to claim 18, wherein causing one or more fans (110) to maintain their respective instantaneous speeds includes refraining from transmitting the speed control signal. [20] Computer system according to claim 10, wherein the system management unit (140) is at least one of: a baseboard management controller; and a complex programmable logic device.

Citation Information

Patent Citations

  • Intelligent air moving apparatus

    US20080310967A1