Patent Description:
Fans are often required in various electronic systems that generate heat to cool the systems. The speed of the fan typically is controlled by a fan speed control circuit. For example, in computer systems, such as server systems, there often is a baseboard management controller (BMC) that generates a fan speed control signal. The fan speed control signal is then sent to a fan controller within a fan module. The fan controller dynamically controls the fan speed based on the fan speed control signal to cool the computer system, in addition to saving power consumption and reducing noise.

In the event that the hardware, firmware, or software of the fan speed control circuit fails (for example, in the BMC), the fan may stop altogether, or keep running at a constant speed that is insufficient for cooling the electronic system. This can lead to the electronic system hanging due to overheating. In a worst case scenario, improper fan speed control can even lead to permanent damage to the system.

Accordingly, there is a need for devices and methods that overcome the foregoing drawbacks.

In <CIT>, a fan rotational speed control system is disclosed. The system is operable to control at least a fan and includes a baseboard management controller, a complex programmable logic device and a switching circuit. The baseboard management controller of the described system is operable to output a fan pulse wave signal and a Heart bit. The complex programmable logical device is operable to receive the Heart bit and to determine whether the baseboard management controller is upnormal based on the Heart bit.

In addition, in <CIT>, a cooling system with redundant fan controllers is described. The cooling system comprises a first fan controller coupled to control a first plurality of fans and a second fan controller coupled to control a second plurality of fans. During the operation of the described cooling system, the first plurality of fans and the second plurality of fans operate concurrently. The first fan controller and the second fan controller are each configured to monitor the first and the second plurality of fans and detect a failure in the first and the second plurality of fans.

In order to solve the above-mentioned problem, an electronic system and a corresponding method of controlling a fan within the electronic system as defined in the independent claims are suggested. The various embodiments concern devices and methods for controlling a fan in the event of an abnormality in the normal control of the fan.

The various embodiments further concern a heartbeat signal that is monitored by a fan controller. In the event of a discrepancy in the heartbeat signal, the fan controller assumes control over the fan.

The disclosure, and its advantages and drawings, will be better understood from the following description of exemplary embodiments together with reference to the accompanying drawings. These drawings depict only exemplary embodiments, and are therefore not to be considered as limitations on the scope of the various embodiments or claims.

The various embodiments are described with reference to the attached figures, where like reference numerals are used throughout the figures to designate similar or equivalent elements. The figures are not drawn to scale, and they are provided merely to illustrate the instant invention. It should be understood that numerous specific details, relationships, and methods are set forth to provide a full understanding. One having ordinary skill in the relevant art, however, will readily recognize that the various embodiments can be practiced without one or more of the specific details, or with other methods. In other instances, well-known structures or operations are not shown in detail to avoid obscuring certain aspects of the various embodiments. The various embodiments are not limited by the illustrated ordering of acts or events, as some acts may occur in different orders and/or concurrently with other acts or events.

To that extent, elements and limitations that are disclosed, for example, in the Abstract, Summary, and Detailed Description sections, but not explicitly set forth in the claims, should not be incorporated into the claims, singly, or collectively, by implication, inference, or otherwise. For purposes of the present detailed description, unless specifically disclaimed, the singular includes the plural and vice versa. The word "including" means "including without limitation. " Moreover, words of approximation, such as "about," "almost," "substantially," "approximately," and the like, can be used herein to mean "at," "near," or "nearly at," or "within <NUM>-<NUM>% of," or "within acceptable manufacturing tolerances," or any logical combination thereof, for example.

The present disclosure describes devices and methods that include a heartbeat signal generated by a fan speed control circuit. The heartbeat signal is monitored by a fan controller within a fan module. When the fan controller detects that the heartbeat signal has stopped, or detects any other type of discrepancy indicating an abnormality, the fan controller takes over control of the fan speed. Specifically, the fan controller operates the fan at a safe fan speed to keep the system associated with the fan cool despite the abnormality.

<FIG> illustrates a schematic view of an electronic system <NUM> for controlling a fan module <NUM> with a heartbeat signal, according to aspects of the present disclosure. Although the present disclosure is primarily directed to computer systems, such as server systems, the electronic system <NUM> can be within any type of system that generates heat during use and that uses a fan to dissipate the heat. Moreover, the electronic system <NUM> of <FIG> can be for the entire system. For example, the electronic system <NUM> can be an overall server system, and the fan <NUM> (described below) can be for cooling the overall system. Alternatively, the electronic system <NUM> of <FIG> can be a component electronic system within a larger system. For example, the electronic system <NUM> can be a power unit, a graphics processing component, a central processing component, or the like within a computer system; and the fan <NUM> (described below) can be for cooling the specific component.

The electronic system <NUM> includes the fan module <NUM> and a fan speed control circuit <NUM>. The fan module <NUM> includes a fan controller <NUM> and a fan <NUM>. The fan speed control circuit <NUM> is separate from the fan module <NUM>. In the context of computer systems, the fan speed control circuit <NUM> can be located on the motherboard. The fan speed control circuit <NUM> has access to and monitors one or more parameters of the electronic system <NUM>. The parameters relate to the heat that is generated within the electronic system <NUM>. From the parameters, the fan speed control circuit <NUM> determines the amount of cooling needed for the system <NUM>. Based on the amount of cooling needed, the fan speed control circuit <NUM> generates a fan speed control signal. In the context of a server system, the fan speed control circuit can be a BMC. The BMC monitors parameters of the server system that relate to how much heat is being generated, and translates that information into the generated fan speed control signal. For example, the parameters can be processor, memory, and/or internal chassis temperatures. The fan speed control circuit <NUM> can generate the fan speed control signal based on hardware, firmware, software, or a combination thereof. The fan speed control signal can be any type of digital or analog signal. In one or more embodiments, the fan speed control signal can be a pulse width modulation signal.

The fan speed control circuit <NUM> is communicatively connected to the fan controller <NUM> of the fan module <NUM> via a connection <NUM>. The connection <NUM> is one wired connection. The fan speed control circuit <NUM> communicates the fan speed control signal to the fan controller <NUM> via the connection <NUM>. In response to the fan speed control signal, the fan controller <NUM> operates the fan <NUM> at the instructed speed.

In one or more embodiments, the fan controller <NUM> can generate a fan operation signal and communicate the fan operation signal back to the fan speed control circuit <NUM>. The fan operation signal can verify that the fan <NUM> is operating as instructed by the fan speed control circuit <NUM>. In one or more embodiments, the fan operation signal can be a tachometer signal that reports the number of revolutions of the fan. Based on the number of revolutions, the fan speed control circuit <NUM> can verify that the fan <NUM> is operating at the appropriate speed or duty cycle.

According to the present disclosure, the fan speed control circuit <NUM> also generates a heartbeat signal and transmits the heartbeat signal to the fan controller <NUM>. The heartbeat signal indicates normal operation of the fan speed control circuit. The fan controller <NUM> can then monitor for the heartbeat signal to determine whether there is any abnormality with the fan speed control circuit <NUM>, or any other component of the electronic system <NUM> that may be affecting the fan speed control circuit <NUM>. The heartbeat signal can be a continuous or periodic signal. According to the present invention, the heartbeat signal is transmitted (embedded) within the fan speed control signal or can be transmitted as a separate signal. In one or more embodiments, the heartbeat signal can be transmitted over the same wired and/or wireless connection as the fan speed control signal and/or fan operation signal. According to the present invention, the heartbeat signal can be transmitted over a different wired or wireless connection than the fan speed control signal and the tachometer signal.

For example, in one embodiment, the connection <NUM> can be a five-pin general purpose output pin connection. Two of the five pins can provide a common ground and a voltage supply (e.g., a nominal + <NUM> Volts) to the fan module <NUM>. The third pin can provide the fan speed control signal to the fan controller <NUM>. The fourth pin can provide the fan operation signal from the fan controller <NUM> back to the fan speed control circuit <NUM>. The fifth pin can be added to provide the heartbeat signal from the fan speed control circuit <NUM> to the fan controller <NUM>.

However, in one or more embodiments, the connection <NUM> can vary from being a five-pin connection. For example, the connection <NUM> can be a four-pin connection, and the heartbeat signal can be provided via one of the other four pins. In one embodiment, the heartbeat signal can be a specific, periodic pulse-width modulation within the fan speed control signal that does not affect the speed of the fan; or negligibly affects the speed of the fan. For example, the specific, periodic pulse-width modulation can be a short positive (or negative) square wave immediately followed by a short negative (or positive) square wave that occurs according to a specific period. In which case, the two waves effectively negate each other with respect to changing the speed of the fan. However, the fan controller <NUM> can monitor for the specific, periodic pulse-width modulation within the fan speed control signal as the heartbeat signal. In such embodiments, a conventional connection between the fan speed control circuit <NUM> and the fan controller <NUM> can be used without having to add a fifth pin. However, other types of connections for the connection <NUM> are possible than those described above. Such other connections include, for example, a platform environment control interface (PECI) bus, an inter-integrated circuit (I<NUM>C) bus, and the like. In the case of the PECI bus and the I<NUM>C bus, the safe fan speed signal can be a command sent from the fan speed control circuit <NUM> to the fan controller <NUM>.

The generation and transmittal of the heartbeat signal from the fan speed control circuit <NUM> to the fan controller <NUM> indicates that the electronic system <NUM> is operating normally with respect to control of the fan <NUM>. Accordingly, the fan controller <NUM> within the fan module <NUM> monitors for a discrepancy in the heartbeat signal. A discrepancy can be the lack of the continuous heartbeat signal, the lack of the heartbeat signal during one period, or the lack of the heartbeat signal during two or more sequential or non-sequential periods.

When the fan controller <NUM> detects a discrepancy in the heartbeat signal, the fan controller <NUM> takes over control of the speed of the fan <NUM> from the fan speed control circuit <NUM>. When the fan controller <NUM> takes over control of the fan <NUM>, the fan controller <NUM> can operate the fan <NUM> at a safe fan speed. In one or more embodiments, the safe fan speed can be full speed to provide maximum cooling. In one or more embodiments, the safe fan speed can less than full speed. In one or more embodiments, the safe fan speed can be a default speed set within logic of the fan controller <NUM> that cannot be changed. Alternatively, in one or more embodiments, the safe fan speed can be set by the fan speed control circuit <NUM> any time before the discrepancy, such as at startup or reset of the fan speed control circuit <NUM> or the electronic system <NUM>. The fan speed control circuit <NUM> can send the safe fan speed via the heartbeat signal, the fan speed control signal, or any other signal during operation. Thus, in the event of an issue with the fan speed control circuit <NUM> controlling the fan <NUM> through the fan controller <NUM>, the heartbeat signal can prevent or reduce the likelihood of the electronic system <NUM> hanging or being damaged as a result of improper fan speed control. Instead, the fan controller <NUM> can assume control of the fan speed to maintain cooling within the system <NUM>.

<FIG> illustrates a process <NUM> for controlling a fan within an electronic system, according to aspects of the present disclosure. The process <NUM> can be performed by the fan speed control circuit <NUM> and the fan controller <NUM> disclosed above (<FIG>). The electronic system can be any electronic system, such as the electronic system <NUM>, including a computer system, a sub-component within a computer system, or any other electronic system that uses a fan to dissipate generated heat. The process <NUM> begins at step <NUM>, where a fan controller of a fan module monitors for a heartbeat signal. During normal operation, a fan speed control circuit that monitors parameters that correspond to the amount of heat generated by the electronic system generates the heartbeat signal. The heartbeat signal indicates normal operation of the electronic system. In one or more embodiments, normal operation of the electronic system includes the fan speed control circuit receiving the expected parameters used to generate a fan speed control signal. In one or more embodiments, normal operation also includes values of the parameters being within expected and/or predetermined ranges, such as normal operating conditions. Normal operation also includes the fan speed control circuit generating and outputting the fan speed control signal to the fan controller according to a predetermined scheme, such as continuously or periodically. The fan module can be associated with the cooling of any electronic system, such as a computer system or a component within a computer system. The heartbeat signal can be continuous or periodic. In one or more embodiments, the heartbeat signal can be a high/low toggling signal, a command/data signal, or a combination thereof.

At step <NUM>, the fan controller of the fan module determines whether a discrepancy exists in the heartbeat signal. The discrepancy can be the lack of the fan speed control signal. For example, with a continuous fan speed control signal, the discrepancy can be the fan controller no longer receiving the signal. As another example, with a periodic fan speed control signal, the discrepancy can be the fan controller not receiving the signal for one period, or not receiving the signal for two or more sequential or non-sequential periods. As another example, for a toggling signal and/or a command data signal, the discrepancy can be an incorrect value within the signal. If a discrepancy does not exist, the process <NUM> loops back to step <NUM>. If a discrepancy exists, the fan controller of the fan module detects a discrepancy in the heartbeat signal based on the monitoring, and the process <NUM> proceeds to step <NUM>.

At step <NUM>, in response to the fan controller detecting a discrepancy, the fan controller controls the fan according to a safe fan speed. The safe fan speed is configured to keep the fan operating at a speed that attempts to maintain the cooling of the electronic system, despite the lack of proper fan speed control by the fan speed control circuit. In one or more embodiments, the safe fan speed can be a maximum operating speed of the fan (i.e., full speed). In one or more embodiments, the safe fan speed can be less than the maximum operating speed but still a sufficient amount that, on average, should minimize the buildup of heat within the electronic system. For example, in one embodiment, the safe fan speed can be determined based on a worst case thermal simulation (e.g., CPU and memory running at full load), but still be less than full speed. In one embodiment, the safe fan speed can be pre-defined and fixed by thermal or system designer. The safe fan speed can be a default speed set within logic of the fan controller. Alternatively, the safe fan speed can be set by the fan speed control circuit prior to the discrepancy, as discussed further with respect to the process <NUM> below. For example, the safe fan speed can be the maximum speed which the fan speed control circuit sends to fan controller during normal system operation. The fan controller can record all fan speed requirements from the fan speed control circuit, and then update and keep the maximum speed as the safe fan speed.

In one or embodiments, the process <NUM> ends after step <NUM>, and the fan controller controls the fan according to the safe fan speed indefinitely, or until power is cut from the fan module, the electronic system, or a combination thereof. In one or more embodiments, the process <NUM> optionally can proceed to step <NUM> where the fan controller determines whether the discrepancy in the heartbeat signal has been corrected. If the discrepancy has been corrected, the process <NUM> loops back to step <NUM>, and the fan controller continues monitoring the heartbeat signal. If the discrepancy has not been corrected, the process <NUM> loops back to step <NUM>, and the fan controller continues operating the fan according to the safe fan speed.

Based on the process <NUM>, the heartbeat signal can prevent or reduce the likelihood of the electronic system hanging or being damaged as a result of improper fan speed control in the event of an issue with the fan speed control circuit. The fan controller can detect a discrepancy in the control of the fan speed via the heartbeat signal and take over control from the fan speed control circuit. The fan controller assuming control can reduce the likelihood of issues within the electronic system, in response to the buildup of heat.

In one or more embodiments, the fan controller can perform one or more additional or alternative functions in response to detecting a discrepancy in the heartbeat signal. The one or more functions aid in preventing the system from hanging, or being damaged, in response to the fan speed control circuit not being able to control the speed of the fan.

In one embodiment, the fan module can include an audible and/or electronic alarm that is triggered when the fan controller detects a discrepancy in the heartbeat signal. An alarm can alert an operator, technician, or the like, of the discrepancy. In response, the operator, technician, or the like can investigate the issue and take appropriate action, such as shutting the system down and/or manually controlling the fan speed using a switch or other manual control device within the fan module.

In one embodiment, the fan controller can be communicatively coupled to a circuit within the system that allows the fan controller to initiate shutdown of the system. The fan controller shutting the system down further prevents damage to the system caused by the inability to control the fan speed. In one embodiment, the fan controller can communicate to one or more CPUs within the system to reduce the clock speeds of the CPUs to reduce the amount of heat that is generated. In one embodiment, the fan controller can be communicatively coupled to a circuit within the system that allows the fan controller to signal or control the system or other key components (e.g., memory modules (e.g., dual in-line memory modules or DIMMs), a network interface controller (NIC), a storage module, or other components) to slow down or reduce heat.

<FIG> illustrates a process <NUM> for setting a safe fan speed within an electronic system, according to aspects of the present disclosure. The process begins at step <NUM>, where the fan speed control circuit starts or resets, and begins generating and transmitting the fan speed control signal to the fan module. As described above, the fan speed control circuit monitors parameters of the electronic system associated with heat generation to generate the fan speed control signal. Step <NUM> can occur when the electronic system, such as the computer system, that includes the fan speed control circuit starts and/or resets.

At step <NUM>, the fan speed control circuit sends the safe fan speed to the fan module. In one or more embodiments, the fan speed control circuit can send the safe fan speed to the fan module via a heartbeat signal, such as the heartbeat signal described in the process <NUM>. In one or more embodiments, the fan speed control circuit can send the safe fan speed via another signal, such as the fan speed control signal. The fan speed control circuit can send the safe fan speed once at startup or after a reset, periodically or on demand, in response to a software, firmware, or hardware request. Thereafter, the fan module will have the safe fan speed stored in logic in the event of a discrepancy in the heartbeat signal. The process <NUM> can occur before the process <NUM> has initiated or simultaneously with the process <NUM>, once the fan module and the fan speed control circuit startup.

<FIG> illustrates a process <NUM> for controlling a fan module for cooling a computer system, according to aspects of the present disclosure. The process <NUM> can be performed by the fan speed control circuit <NUM> and the fan controller <NUM> disclosed above (<FIG>). The process <NUM> begins at step <NUM>, when the fan speed control circuit of the computer system generates a fan speed control signal based on one or more parameters corresponding to heat generated within the computer system. As discussed above, the parameters can relate to, for example, one or more processor temperatures, one or more memory chip temperatures, one or more ambient temperatures within the computer system, or any other temperature associated with the computer system. The parameters can also relate to the amount of power consumed by the computer system, such as by the one or more processors, one or more memory chips, one or more power units, and the like.

At step <NUM>, the fan speed control circuit generates a heartbeat signal. As discussed above, the heartbeat signal indicates normal operation of the fan speed control circuit.

In one embodiment, the process <NUM> can include step <NUM>, where the fan speed control circuit generates a safe fan speed and transmits the safe fan speed to the fan controller, such as within the heartbeat signal. Alternatively, the fan speed control circuit can transmit the safe fan speed with the fan speed control signal or another signal. Further, although described in relation to step <NUM>, the fan speed control circuit can generate and transmit the safe fan speed to the fan controller at any step or time prior to the step <NUM>, such as when the fan speed control circuit starts or resets.

At step <NUM>, the fan controller of the fan module controls the speed of the fan module based on the fan speed control signal generated and transmitted by the fan speed control circuit. The fan speed control circuit <NUM> can transmit the fan speed control signal to the fan controller via the connection <NUM>, as described above. For example, the connection <NUM> can include a general purpose output pin, and the fan speed control circuit <NUM> can transmit the fan speed control signal via pulse-width modulation over the general purpose output in.

At step <NUM>, the fan controller monitors the heartbeat signal generated and transmitted by the fan speed control circuit. The fan speed control circuit <NUM> can transmit the heartbeat signal to the fan controller via the connection <NUM>, as described above. According to the present invention, the heartbeat signal is transmitted over the same general purpose output pin as the fan speed control signal. In this case, the heartbeat signal can be embedded within the fan speed control signal. Alternatively, the fan speed control circuit can transmit the heartbeat signal over a separate general purpose output pin of the connection, or any other connection disclosed herein.

At step <NUM>, the fan controller detects a discrepancy in the heartbeat signal based on the monitoring. The discrepancy can be the lack of the heartbeat signal, or any other variation in the heartbeat signal that indicates an abnormality (or potential abnormality) of the fan speed control circuit. For example, the discrepancy can be the lack of a periodic heartbeat signal for one period, or for more than two sequential or non-sequential periods. The discrepancy can be any other discrepancy disclosed above.

At step <NUM>, the fan controller controls the speed of the fan based on a safe fan speed, in place of the fan speed control signal in response to the discrepancy. As disclosed above, the safe fan speed can be full speed for maximum cooling. Alternatively, the safe fan speed can be less than full speed. In one or more embodiments, the safe fan speed can be set in the logic of the fan controller; or can be set based on the fan controller having previously received the safe fan speed from the fan speed control circuit prior to the discrepancy.

At step <NUM>, the fan controller can optionally determine whether the discrepancy in the heartbeat signal has been corrected. The fan controller can perform the determination continuously, periodically, or on demand, such as in response to a software, firmware, or hardware request. If the fan controller determines that the discrepancy in the heartbeat signal has been corrected, the process can loop back to step <NUM>. If the fan controller determines that the discrepancy in the heartbeat signal has not been corrected, the process can loop back to step <NUM>.

Based on the process <NUM>, the computer system can control the fan module for cooling of the system. Further, in the event of an abnormality of the normal control, the lack of the heartbeat signal can prevent or reduce the likelihood of the computer system hanging or damaging one or more components as a result of improper fan speed and temperature control.

While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Numerous changes to the disclosed embodiments can be made in accordance with the disclosure herein without departing from the scope of the appended claims. Thus, the breadth and scope of the present invention should not be limited by any of the above described embodiments. Rather, the scope of the invention should be defined in accordance with the following claims.

As used herein, the singular forms "a", "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, to the extent that the terms "including", "includes", "having", "has", "with", or variants thereof are used in either the detailed description and/or the claims, such terms are intended to be inclusive in a manner similar to the term "comprising.

Claim 1:
An electronic system (<NUM>) comprising:
a fan speed control circuit (<NUM>) configured to generate a heartbeat signal indicating normal operation of the fan speed control circuit (<NUM>); and a fan speed control signal; and
a fan module (<NUM>) comprising a fan controller (<NUM>) and a fan (<NUM>),
wherein the fan speed control circuit (<NUM>) is communicatively connected to the fan controller (<NUM>) of the fan module (<NUM>) via a wired connection (<NUM>) and is configured to communicate the fan speed control signal and the heartbeat signal to the fan controller (<NUM>) via the wired connection (<NUM>),
the fan controller (<NUM>) being configured to operate the fan (<NUM>) at the instructed speed in the fan speed control signal, and
the fan controller being further configured to detect a discrepancy in the heartbeat signal and control the fan (<NUM>) according to a safe fan speed, in response to a detected discrepancy,
characterized in that
the heartbeat signal is embedded within a fan speed control signal, and the heartbeat signal is transmitted over a same general purpose output pin as the fan speed control signal,
wherein the heartbeat signal is periodic pulse-width modulation within the fan speed control signal, and the discrepancy is a lack of the heartbeat signal during at least one period, during two sequential periods, or during two non-sequential periods.