Systems and methods for dynamic and adaptive cooling fan shadowing in information handling systems

Systems and methods of controlling the fan speed of one or more secondary variable speed cooling fans of an information handling system in real time by dynamically and adaptively shadowing the fan speed of another primary variable speed cooling fan or by so shadowing the fan speed of the variable cooling fan/s of a primary cooling fan zone including other variable speed primary cooling fans of the same information handling system.

FIELD OF THE INVENTION

This invention relates generally to information handling systems and, more particularly, to cooling for information handling systems.

BACKGROUND

One or more cooling fans are typically employed within the electronic chassis enclosure of information handling system platforms, such as servers, to cool components operating within the information handling system chassis. Such cooling fans may be uncontrolled, i.e., running at full power whenever the information handling system is a powered on state. However, cooling fans consume power, create noise, and create airflow, each of which becomes of greater concern in a data center where a plurality of information handling system platforms may be operating, e.g., as servers. Cooling fans may also be controlled based on ambient temperature within an information handling system chassis enclosure.

As thermal control of electronic enclosures has evolved it has become common for discrete mapping of thermal sensors directly to a cooling fan zone defined within an enclosure. This allows for localized component cooling requirements to be directly coupled to discrete fan/s, minimizing system acoustic and fan power compared to having a single system fan zone. By mapping component cooling requirements to a fan zone instead of to all system fans, cooling fan power savings greater than 25% can be achieved. However, there are disadvantages associated with mapping a component to a single fan zone. For example, when a component is directly mapped to a single fan zone, thermal requirements for the component can only be affected by increasing cooling fan speeds for this single zone. This limits local airflow potential and can lead to higher fan power for component cooling.

It is known to employ a flexible weighted mapping of component cooling requirements to cooling fan zones, with weighted mapping of fan zones to each other. Fan mapping between fan zones can be a percentage, an offset, or a combination of the two. For example, a known equation for pulse width modulation (PWM) cooling fan mapping used in a thermal control algorithm is given below:
Fan Zone Mapping: PWM_Config(PWM(zone))=a*PWM(zone)+c

By applying weighted fan zone mapping, cooling can be optimized for power consumption as function of component thermal requirements by reducing maximum fan speeds. Since fan power is a cubic of fan speed, decreasing maximum fan speeds can reduce system fan power even if other adjacent fan speeds are increasing.

For modular information handling systems, each module may have a pre-defined set of fans in a given fan zone that are the primary assigned fans for the given module. Remaining (secondary) fans in the modular chassis can be controlled based on the speed of the fans in the given fan zone. In this regard, the secondary fans within a modular chassis enclosure may be set to a speed that is a fixed function of the current speed of the primary cooling fans of the given module fan zone. One such conventional fan mapping approach controls secondary fan speed using a hard-coded or static fixed percentage value that is taken from a thermal table and which is obtained by thermal characterization run mainly for worst-case system thermal configurations. Using this approach, the fan speed of the secondary fans are controlled to be a fixed percentage of the fan speed of the primary fans in the given module fan zone. For example, secondary fan speed may be controlled to always be a fixed percentage of the current fan speed of the primary cooling fans within the given module fan zone. In another conventional “all or nothing” approach, secondary fan speed may be switched back and forth between a fixed percentage of the current primary fan speed of the given module fan zone, and an independent fan speed that is not dependent or based on the current fan speed of the primary cooling fans within the given module fan zone.

Controlling secondary fan speed to be a static fixed percentage of the current speed of the primary cooling fans of a given module fan zone is a conventional “one size fits all” approach that does not account for component variation or for different steady state conditions. In this regard, the static percentage value may prove sub-optimal from a power savings perspective for configurations other than the ones tested during system development. In addition, it is difficult to tune the static percentage value during thermal development due to huge number of different configurations & factors. Further, there is a thermal risk of airflow recirculation if the static fixed percentage values are incorrectly chosen to be too low.

Another conventional methodology implemented in blade server enclosures begins by not controlling any secondary fan speed based on the current speed of a primary cooling fan. If the chassis management controller (CMC) of the blade server enclosure detects a blade fan speed request of 100% for longer than a set time period, it quickly ramps up secondary fans to 100% to provide additional airflow. This solution is prone to fan speed oscillation.

SUMMARY OF THE INVENTION

Disclosed herein are systems and methods of controlling the fan speed of one or more secondary variable speed cooling fans of an information handling system in real time by dynamically and adaptively shadowing the fan speed of another primary variable speed cooling fan or by so shadowing the fan speed of the variable cooling fan/s of a primary cooling fan zone including other variable speed primary cooling fans of the same information handling system. In this regard, the term “fan shadowing” is used herein to describe the case where the current real time fan speed of one or more given variable speed cooling fans are set to a speed that is a function (e.g., percentage or ratio) of the current real time fan speed of another variable speed cooling fan or of the fan speed of a cooling fan zone that does not include the given cooling fan/s. In one embodiment, the disclosed systems and methods may be so implemented to use real time and dynamic fan shadowing adjustment to adapt a variety of different actual information handling system operating conditions and/or information handling system user scenarios. In one embodiment, the disclosed systems and methods may be implemented to utilize a designated processing device (e.g., an out-of-band processing device) of an information handling system to dynamically determine and optimize a fan shadowing value based on real time configuration and load conditions in a manner to minimize cooling fan power consumption relative to overall system power consumption, such as to increase cooling power efficiency (and/or decrease system power consumption) by minimizing the power-to-cool ratio (PTCR) of an information handling system without sacrificing information handling system performance.

In one exemplary embodiment, the designated processing device may be configured to monitor real time operating power load and/or operating temperature of one or more given system driving components (e.g., such as system host CPU, GPU, power supply, etc.) that is mapped to the cooling fan/s of a given cooling fan zone. The designated processing device may be further configured to optionally first wait for a system steady state operating condition to be reached by the given driving component/s prior to beginning dynamic adaptive cooling fan shadowing operation. Such a system steady state operating condition may be identified based on determined steady state condition of one or more operating parameters (e.g., such as operating power load and/or operating temperature conditions). For example, such a system component steady state operating temperature and/or load may be identified based on monitored historical operating parameter data (e.g., temperature data, fan speed data, power consumption data, combinations thereof, etc.) for the given system component/s. Once the designated processing device determines that the given system component/s have reached a steady state condition, the designated processing device may be configured to store the steady state parameters as a starting point for further reference.

Whether or not a steady state operating condition is first identified, a designated processing device of the information handling system may also be configured in one embodiment to initially determine the main driving fan or fans mapped to a given driving component/s of a given cooling fan zone, as well as one or more assigned shadowing fan/s for the given cooling fan zone, and a corresponding initial shadowing relationship (e.g., initial percentage shadowing value) for the assigned shadowing fans, such as may be stored and retrieved from a thermal table in coupled memory or which may be determined in any other suitable manner (e.g., such as randomly assigned at each startup, determined from previous stored operating parameter data, etc.).

In another exemplary embodiment, a designated processing device of an information handling system may be configured to implement a multi-level shadowing algorithm to find an optimal shadowing point (OSP) for one or more shadowing fan/s within an information handling system chassis enclosure that are configured to shadow the main driving fan/s of a given cooling fan zone (e.g., such as a group of multiple cooling fans that are assigned to shadow a main driving fan of a given cooling fan zone). The particular identity of such shadowing fan/s assigned to a given cooling fan zone may be previously determined as described above, or may be known by or accessible to the designated processing device in any other suitable manner, e.g., via storage in non-volatile memory. For example, a first level of a shadowing algorithm may be implemented by the designated processing device to determine an optimal shadowing relationship adjustment direction (e.g., up or down by an incremental fixed percentage value of X1%) which the speed of the shadowing fans/s speed should be adjusted to get an optimal cooling fan power efficiency benefit, such as an optimal (e.g., minimized) power-to-cool ratio (PTCR). For example, an initial shadowing relationship value (e.g., such as shadowing percentage value) may be adjusted by a number “N” of incremental stepped steps in at least one direction UP (e.g., increased “X1” percentage value from initial shadowing percentage value) and/or DOWN (e.g., decreased “X1” percentage value from initial shadowing percentage value) to determine which of the two directions achieves a greater cooling power efficiency benefit, such as achieving a lower PTCR value.

After the first level, a multi-level shadowing algorithm may be further implemented by performing at least one additional second level uniform shadowing method to determine a second level OSP which may be, for example, a given shadowing percentage value that is determined using a uniform shadowing adjustment methodology. The uniform shadowing adjustment methodology may be accomplished by adjusting all shadowing fan/s of a given group of shadowing cooling fans in the same optimal shadowing relationship adjustment direction (i.e., up or down) previously determined in the first level method, e.g., by incrementally adjusting the shadowing percentage value in the direction found in level 1 by an incremental fixed value (e.g., by a fixed percentage value of X2%) on all shadowing fans of the given group of shadowing cooling fans at the same time, and repeating this adjustment until a group OSP is achieved when the minimum power to cool PTCR is found while at the same time keeping all the other system components in the information handling system chassis enclosure (i.e., other than the system driving component/s mapped to the cooling fan/s of the given cooling fan zone) within the thermal specification.

Once a second level OSP is determined for a given group of shadowing fans as described above, an optional third level non-uniform shadowing method may be further performed on individual shadowing fans of the given group of shadowing fans to determine individual OSP values for individual fans of the given group of multiple shadowing fans. During this third level third level non-uniform shadowing method, the designated processing device may iteratively adjust (e.g., by an incremental fixed percentage value of X3%) each individual shadowing fan of the given shadowing group one at a time. This third level methodology may be repeated for each of the other shadowing fans of the given group of shadowing fans to determine an OSP and corresponding cooling fan power efficiency for each individual shadowing fan, after which cooling fan power efficiency of the respective OSP's determined for all shadowing cooling fans of the group may be compared. The best OSP result (e.g., corresponding to best cooling fan power efficiency such as lowest PTCR value) may be chosen from this comparison and then selected or “frozen” as the operational OSP, e.g., and stored in non-volatile memory that is accessible the designated processing device or other processing device/s that control cooling fan speed. It will be understood that OSP may vary across different system component configurations and/or system power loads. Thus, in one embodiment the designated processing device may iteratively and continuously repeat the steps of the multi-level shadowing algorithm at all times while the information handling system is operating such that OSP values are continuously adapted to all the real time system configuration and/or load changes to provide maximum cooling fan power efficiency, e.g., by minimizing PTCR.

In one respect, disclosed herein is an information handling system, including: a chassis enclosure; at least one heat-producing component contained within the chassis enclosure; at least one temperature sensor configured to sense and provide a heat-producing component temperature signal representing the real time sensed temperature of the heat-producing component; at least two separate variable speed cooling fans configured to provide different flow rates of cooling air within the chassis enclosure, at least one of the variable speed cooling fans being mapped as a primary cooling fan to cool the at least one heat-producing component and at least one of the variable speed cooling fans being a secondary cooling fan assigned to shadow the real time fan speed of the primary cooling fan; and at least one processing device that is coupled to receive the heat-producing component temperature signal from the temperature sensor, the processing device being configured to control a real time fan speed of the primary cooling fan based on the heat-producing component temperature signal to cool the heat-producing component. The at least one processing device may be further configured to: control a real time fan speed of the secondary cooling fan relative to the real time controlled fan speed of the primary cooling fan based on a shadowing relationship, vary a value of the shadowing relationship so as to control the real time fan speed of the secondary cooling fan relative to the varied real time controlled fan speed and determine at least two values of cooling power efficiency associated with at least two respective different shadowing relationship values, then select a value of the shadowing relationship from the at least two different shadowing relationship values that corresponds to a greater cooling power efficiency between the two different shadowing relationship values, and then control the real time fan speed of the secondary cooling fan relative to the real time controlled fan speed of the primary cooling fan based on the selected shadowing relationship value that corresponds to a greater cooling power efficiency.

In another respect, disclosed herein is a method for controlling cooling fan response within a chassis enclosure of an information handling system, including: operating at least one heat-producing component contained within the chassis enclosure, and using at least one temperature sensor to sense and provide a heat-producing component temperature signal representing the real time sensed temperature of the heat-producing component; operating at least two separate variable speed cooling fans to provide different flow rates of cooling air within the chassis enclosure, at least one of the variable speed cooling fans being mapped as a primary cooling fan to cool the at least one heat-producing component and at least one of the variable speed cooling fans being a secondary cooling fan assigned to shadow the real time fan speed of the primary cooling fan; and using at least one processing device to receive the heat-producing component temperature signal from the temperature sensor, and using the processing device to control a real time fan speed of the primary cooling fan based on the heat-producing component temperature signal to cool the heat-producing component. The method may further include using at least one processing device to: control a real time fan speed of the secondary cooling fan relative to the real time controlled fan speed of the primary cooling fan based on a shadowing relationship, vary a value of the shadowing relationship so as to control the real time fan speed of the secondary cooling fan relative to the varied real time controlled fan speed and determine at least two values of cooling power efficiency associated with at least two respective different shadowing relationship values, then select a value of the shadowing relationship from the at least two different shadowing relationship values that corresponds to a greater cooling power efficiency between the two different shadowing relationship values, and then control the real time fan speed of the secondary cooling fan relative to the real time controlled fan speed of the primary cooling fan based on the selected shadowing relationship value that corresponds to a greater cooling power efficiency.

DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

FIG. 1illustrates one exemplary embodiment of an information handling system platform100configured in this embodiment as a server platform, although the disclosed systems and methods may be implemented with other types of information handling system configurations such as desktop or tower computer configurations, workstation configurations, notebook computer configurations, etc. As shown, system platform100includes individual and discrete heat-producing electrical components (e.g., components109,121,106,108,111,117140, etc.) and multiple variable speed cooling fans1901to190Nthat are configured to cool the respective heat-producing components. Examples of heat-producing components illustrated in the embodiment ofFIG. 1include one or more in-band host processing devices106(e.g., a CPU executing host operating system), video/graphics hardware (e.g., discrete graphics processing unit or video card/s)109, memory (e.g., RAM)121, system power supply PSU111, storage117(e.g., one or more HDDs), persistent or non-volatile storage140, and out-of-band processing device108(e.g., baseboard management controller “BMC”, service processor, embedded processor, remote access controller, etc.).

At least one PSU111supplies power to all power-consuming components of system100, which includes the heat producing electrical components and cooling fans190of system100. It will be understood that other types and combinations of heat-producing components are possible, e.g., a given system100may be provided with two or more PSU's111for supplying all the power-consuming components of system100and/or two or more CPUs106. In one embodiment, out-of-band processing device108may be coupled and configured to monitor and/or control (and thus be aware of) total power provided by the one or more PSUs111to power all the power-consuming components of system100, and may also be coupled and configured to monitor and/or control (and thus be aware of) real time power consumption by individual power-consuming components (e.g., such as individual cooling fans190). In this regard, processing device108may be configured to directly monitor power consumption of an individual power-consuming component and/or may be configured to receive reported component power consumption from another intervening component (e.g., chassis power manager) of system100, e.g., such as described in U.S. Pat. No. 8,156,358 which is incorporated herein by reference in its entirety for all purposes.

As used herein, an out-of-band processing device is separate and independent from any in-band host central processing unit (CPU) that runs the host OS of the information handling system, and without management of any application executing with a host OS on the host CPU. Examples of other types of additional components not shown but that may be present in the embodiment ofFIG. 1include, but are not limited to, input/output (I/O) circuitry, network adapters, RAID controller, etc. In the illustrated embodiment, an optional external video display (e.g., LED or LCD display)185and optional external input/output devices (e.g., mouse, QWERTY keyboard, touchpad, etc.)183are also illustrated present for allowing local user interaction and configuration of system100, it being understood that network connections may also or alternatively be present for allowing interaction and configuration by a remote user.

In this embodiment, each of the individual heat-producing components are contained within an enclosure104(e.g., such as a 2 U, 3 U, 4 U computer chassis, tower or desktop computer chassis, etc.) and is mapped to be a driving component of a respective cooling fan zone105within which the individual heat-producing component is primarily cooled by corresponding primary cooling fan/s190of the same cooling fan zone105as illustrated by the arrows that show direction of cooling air flow. For example discrete graphics processing unit (GPU)109is mapped as a driving component for cooling fan zone1051which includes corresponding cooling fan/s1901that is assigned as primary cooling fan/s for cooling components within fan zone1051, central processing unit (CPU)106is mapped as a driving component for cooling fan zone1053which includes corresponding cooling fan/s1903that is assigned as primary cooling fan/s for cooling components within fan zone1053, etc. It will be understood that there is open space that allows air flow around one or more sides of each of individual heat-producing components, and across the dashed borders between the adjacent cooling fan zones105. Moreover, it will be understood that it is possible in one embodiment that one or more fan zones105of an information handling system100may not include a heat-producing component.

In one embodiment, each cooling fan109produces an airflow pattern in the direction of the arrow and that is primarily contained within a particular three-dimensional cross-sectional volume within and between the top and bottom sides of chassis enclosure104. In one embodiment, each given one of cooling fan zones105includes a at least one respective corresponding cooling fan109that is operable to produce a flow of cooling air within the given cooling fan zone105. InFIG. 1, each cooling fan190has been assigned a respective zone105delineated by non-physical dashed lines inFIG. 1that at least partially overlaps the airflow pattern produced by its corresponding assigned fan190such that during system operation of all cooling fans each given zone105contains more air flow generated by its corresponding assigned fan190than it contains from any other cooling fan190of the system, and such that the majority of the cooling airflow generated by a given fan flows through and is contained within its assigned corresponding cooling fan zone105. However, it will be understood that some air flow generated from a cooling fan190of an adjacent cooling fan zones105may cross the dashed lines into one or more adjacent cooling fan zones105to which it is not assigned.

Thus, although a particular cooling fan/s190may be assigned as primary cooling fan/s for a given cooling fan zone105and its corresponding heat-producing component/s, it will be understood that adjacent secondary cooling fans190not within the given cooling fan zone105itself may also affect cooling of the component/s within the given cooling fan zone105itself due to airflow crossing or bleeding over into adjacent cooling fan zones105. As a result these other secondary cooling fans190also affect the cooling of individual heat-producing components of the information handling system100and therefore overall system cooling efficiency and power-to-cool ratio (PTCR). Thus, the disclosed systems and methods may be implemented to utilize cooling fan zone shadowing to optimize cooling efficiency and power-to-cool ratio (PTCR) of the information handling system100.

Additional numbers and/or other types of heat-producing components (such as previously described) may also be contained within enclosure104and mapped as driving components for respective cooling fan zones105that include respective cooling fan/s190. In this regard, it is possible that multiple primary driving components (e.g., such as multiple CPUs) may be present within a given primary cooling fan zone105that are together used to drive one or more primary cooling fan/s190mapped to the multiple CPUs105within the primary cooling fan zone105in order to cool both CPUs, e.g., sensed temperature reported from the two CPUs may be averaged and used to control the cooling fan speed of the primary cooling fan/s105, maximum value of the two sensed temperatures reported by the two respective CPUs used to control the cooling fan speed of the primary cooling fan/s105, etc.

In the illustrated embodiment ofFIG. 1, temperature sensor/s124may be present to sense and report component operating temperature and/or circulating air temperature within each fan zone105. It will be understood that one or more of temperature sensor/s124(e.g., temperature sensors1241and1243ofFIG. 1) may be integrated within each of the heat-producing components such that each heat-producing component may report its internal operating temperature. As shown, one or more data buses or other suitable communication media path103may also be provided for allowing communication of data (e.g., sensed temperature data, component operational power draw data, fan speed data, digital fan speed control signals) between the various components of system platform100. Further examples of types and configurations of heat-producing components, temperature sensor, and cooling fan configurations with which the disclosed systems and methods may be implemented may be found, for example, in United States Patent Application Publication Number 2014/0032011; United States Patent Application Publication Number 2013/0176680; United States Patent Application Publication Number 2012/0224322; and in U.S. patent application Ser. No. 14/664,317 filed Mar. 20, 2015; each of which is incorporated herein by reference in its entirety for all purposes.

In the illustrated embodiment, exemplary inlet vents175and outlet vents177are shown defined in the enclosure wall of chassis enclosure104. Inlet vents175are provided to allow fan/s190to draw ambient cooling air into chassis enclosure104from the atmosphere surrounding outside chassis enclosure104so that it may be circulated by fan/s190across the heat-producing components within the enclosure104. Outlet vents177are provided to allow this air that has been heated by transfer of heat from the heat-producing components fan/s190to be exhausted back to the outside atmosphere around enclosure104. It will be understood that the illustrated number and configuration of vents175and177(and their relationship to fan/s190and fan zones105) is exemplary only, and that any other number and/or configuration of inlet and outlet vents is possible that is suitable for allowing circulation of cooling air across the heat-producing component/s of each cooling fan zone105, and that each fan zone105does not need to include either one of vents175or177.

Still referring toFIG. 1, out-of-band processing device108may in one embodiment be designated and configured to control speed of cooling fans190based on sensed temperature received from temperature sensors124in order to dynamically and adaptively shadow the fan speed of one or more primary cooling fans190of a given cooling fan zone105with one or more secondary cooling fan/s190that are not of the given cooling fan zone105. As such, out-of-band processing device108is also aware of the real time current fan speed and power consumption of each of controlled cooling fans190. However, it will be understood that in other embodiments, any other type of processing device may be alternatively designated and configured to control speed of cooling fans190. In one embodiment, out-of-band processing device108ofFIG. 1may be a service processor configured as a remote access controller that is coupled to persistent storage140, e.g., non-volatile memory. Such a remote access controller may be an integrated Dell Remote Access Controller (iDRAC) available from Dell Products L.P. of Round Rock, Tex. Further information on such a remote access controller may be found in United States Patent Publication No. 2006/0212143 and United States Patent Publication No. 2006/0190532, each of which is incorporated herein by reference in its entirety for all purposes. However, it will be understood that other configurations of remote access controllers and other types of out-of-band processing devices may be suitably employed in other embodiments as a processing device that is designated for controlling speed of cooling fans190based on sensed temperature from temperature sensors124.

As previously described, one or more heat-producing components of information handling system platform100may be provided with a respective integral or discrete thermal sensing circuitry or sensor/s124(e.g., CPU internal digital temperature sensor such as Intel DTS) that is configured to sense the real time temperature of its corresponding hardware component and then to report this sensed temperature digitally to out-of-band processing device108across communication media path103, e.g., at predetermined time intervals that may be unique for each component. One or more of the heat-producing components of information handling system platform100may also be configured with power and/or current sensing and reporting logic134(e.g., CPU load current monitor such as IMON) to report real time current or power consumption of its corresponding hardware component digitally to out-of-band processing device108across communication media path103. Non-volatile persistent storage140may also contain stored thermal control parameters147and dynamic shadowing logic that are accessible by out-of-band processing device108. As described further herein, out-of-band processing device108may execute dynamic shadowing logic142to control operation of cooling fan/s190based at least in part on OSP data145and other thermal control parameters (e.g., such may be stored in thermal table/s147) retrieved from persistent storage140as well as measured temperature information received from sensors124and component power consumption information from one or more system heat-producing components that is received across communication media path103.

As an example, out-of-band processing device108may be configured in one example embodiment to implement dynamic shadowing control142(e.g., including a multi-level shadowing algorithm to find an OSP) to adaptively control a shadowing relationship between secondary cooling fans1902and1904that are assigned to shadow a primary cooling fan1903of cooling fan zone1053based on real time CPU current or power consumption information received from power reporting logic1343of CPU106across communication media path103and based on real time measured CPU component temperature data obtained from integral temperature sensor1243across communication media path103. In this regard, out-of-band processing device108may provide control data or signals to each of fan/s190to implement the methodology described herein, and may store OSP information145on persistent storage140together with any other information or data that may be utilized to implement dynamic shadowing control142.

It will be understood that system platform100illustrated inFIG. 1is exemplary only, and that the disclosed systems and methods for dynamic cooling fan shadowing may be implemented with any other information handling system embodiments that include different numbers (more or less) of heat-producing electrical components, cooling fans190, and/or cooling fan zone/s105. Further, although one particular exemplary embodiment of an out-of-band processing device108is illustrated inFIG. 1, the disclosed systems and methods may be implemented in other embodiments using any other type and/or combination of out-of-band processing devices and/or in-band processing devices (e.g., such as host processing device106) that is suitable for implementing one or more features of the disclosed systems and methods as described herein. It will also be understood that an out-of-band processing device is a processing device separate and independent from any in-band host central processing unit (CPU) such as host processing device106that runs the host OS of an information handling system platform100, and without management of any application executing with a host OS on the host processing device106.

For purposes of illustration herein, the disclosed dynamic cooling fan shadowing systems and methods will be described in part with reference to the exemplary embodiment ofFIG. 1as it may be implemented to use secondary cooling fans1902and1904of cooling fan zones1052and1054to dynamically shadow primary cooling fan1903of cooling fan zone105in order to cool CPU106of cooling fan zone1053. However, it will be understood that the disclosed systems and methods may utilize any other combination or number of secondary cooling fans190and/or zones105to dynamically shadow any other given one of primarily cooling fans190or cooling fan zones105ofFIG. 1.

FIG. 2illustrates one exemplary of methodology200that may be performed (e.g., by an out-of-band processing device108) to implement real time optimal fan shadowing of one or more primary cooling fan/s190of a given cooling fan zone105of an information handling system that is mapped to a selected given driving device, such as cooling fan1903of cooling fan zone1053ofFIG. 1. Methodology200may begin automatically upon power-on and system booting of information handling system100to determine OSP for the shadowing secondary cooling fans190and/or shadowing secondary cooling fan zones105. In one embodiment, methodology200may be performed again after system power-on and booting upon detection of the occurrence of a major event that significantly effects the cooling power efficiency (and/or steady state operation) as described further herein.

As shown methodology200begins while processing device108is monitoring real time system operating parameter conditions (e.g., real time cooling fan speeds, real time component (e.g., CPU) temperatures, real time component (e.g., CPU) power consumption, real time component (e.g., CPU) current consumption, real time component (e.g., CPU) power consumption determined from real time component current information, etc.). In step202methodology200optionally waits for steady state system operating parameter conditions to be established before proceeding to subsequent steps. In the case of exemplary system embodiment ofFIG. 1, processing device108may wait until monitored historical operating parameter data (e.g., temperature data, fan speed data, power consumption data, current consumption data, combinations thereof, etc.) reaches steady state. Once the designated processing device determines that the given system component/s have reached a steady state condition, the designated processing device may be configured to record and store (e.g., as part of OSP data in persistent storage145) the determined steady state parameters in step204as a starting point for further reference.

In one embodiment, such a steady state condition may be identified by processing device108, for example, based on at least one of the following conditions of Table 1 being satisfied:

TABLE 1ConditionCondition/s to Be SatisfiedI.D.Parameterfor Steady StateACooling fan speed changeNo cooling fan speed changerequest received from heat-request received within theproducing component bylast X secondsdesignated processing deviceBActual cooling fan speedNo actual cooling fan speedchange madechange occurred within thelast Y secondsCComponent temperatureNo reported heat-producingchange reported by heat-component temperatureproducing componentschange occurred within thelast Z seconds

In the embodiment of Table 1, each of the values of X, Y and Z may be different from each of the other values, or may be the same as one or more of the other values. Further each of the values of X, Y and Z may be selected to be any suitable predefined value selected as a pre-condition for establishing a steady state condition. In one embodiment, each of the values of X, Y and Z may be independently set to be a value of from about 30 seconds to about 90 seconds, alternatively from about 45 seconds to about 75 seconds, and further alternatively about 60 seconds. However, it will be understood that any one or more of the values of X, Y and Z may be less than 30 seconds or greater than 90 seconds. Moreover, any one or more of the different conditions A, B and C may be selected in a given embodiment for use in establishing occurrence of steady state condition, e.g., only condition A need be satisfied in one embodiment, conditions A and B need to be satisfied in another embodiment, conditions B and C need to be satisfied in another embodiment, all conditions A, B and C need to be satisfied in another embodiment, etc. In a further embodiment, establishment of a steady state condition may not only require one or more of conditions of Table 1 be satisfied, but may also optionally further require that all heat-producing components be currently operating within their respective pre-defined operating specifications (e.g., each heat-producing component must be operating within its acceptable predefined operating temperature range).

Once it is determined that steady state conditions are achieved, methodology200proceeds to step206where a given driving device for one or more cooling fans190is selected or otherwise identified, e.g., by retrieving this information from a thermal table147stored in persistent storage140. Then in step208, the fan mapping is determined for a selected given driving device of step206. For example, a thermal table147may contain information mapping CPU106as the driving device for primary cooling fan1903of cooling fan zone1053, i.e., this zone mapping assigns speed of primary cooling fan1903of cooling fan zone1053to be controlled by out-of-band processing device108based on real time sensed temperature of CPU106using thermal table data that specifies a relationship between sensed temperature of CPU106and cooling fan speed. It will be understood that where an information handling system has multiple drive devices for different primary cooling fan zones105, methodology200may be performed separately by a processing device such as out-of-band processing device108for each different driving device, e.g., sequentially or simultaneously. It will also be understood that in one embodiment where multiple driving devices are present, each shadowing secondary cooling fan190and/or shadowing secondary cooling fan zone105will only be assigned to a single driving device.

Next in step210, the identity of the shadowing secondary variable speed cooling fans (e.g., cooling fans1902and1904of respective cooling fan zones1052and1054) assigned to the mapped primary cooling fan (e.g., cooling fan1903) of steps206and208, e.g., by accessing this information from thermal table147. In one embodiment, relationship between driving device, mapped primary cooling fan, and shadowing secondary cooling fan/s may be specified by a user, e.g., entered by user via GUI display185and I/O183. Table 1 illustrates a simple example in which a selected given driving device CPU106is mapped to primary cooling fan zone3(1053) for CPU106and in which another driving device GPU109is mapped to primary cooling fan zone1(1051) for GPU109. Table 1 also specifies secondary cooling fan zones2and4as each being assigned an initial or predefined shadow point relationship (coefficient a=0.9 or 90%) relative to primary cooling fan zone3, although the same shadowing point value does not need to be assigned to each of cooling fan zones2and4in other embodiments. In the example of Table 1, no shadowing secondary zones are shown assigned to cooling fan zone1that is mapped to GPU109. In one embodiment, the shadow point coefficient or percentage for secondary cooling fan/s may be applied to the control signal (e.g., PWM control signal) used to control a primary cooling fan to produce the control signal for the secondary cooling fans, e.g., primary cooling fan1903of this example may be controlled with a 100% PWM control signal from processing device108, while secondary cooling fans are controlled using 90% of the same PWM control signal.

Next, methodology200proceeds to multi-level shadowing algorithm212that in this embodiment includes three levels: direction decision level300, uniform shadowing level500and non-uniform shadowing level800, it being understood that the disclosed systems and methods may alternatively be implemented with any one or more of such shadowing levels, and with additional and/or alternative types of such shadowing levels.

One exemplary embodiment of methodology for direction decision level300is illustrated inFIG. 3as it may be utilized by a designated out-of-band processing device108to determine the direction UP (increase) or DOWN (decrease) to be used for optimizing shadowing point value based on sampling PTCR values that result from multiple stages of increasing and decreasing offsets from a starting shadowing point value, it being understood that in other embodiments the disclosed systems and methods may be implemented without a direction decision level methodology to select an optimum shadow point based on best (greatest) cooling power efficiency between as few as two different shadow point values (e.g., an initial value and a single increased shadow point value or an initial value and single decreased shadow point value) for which respective cooling power efficiency values are measured. In yet another alternative embodiment, the disclosed systems and methods may be implemented using only a direction decision level methodology to select an optimum shadow point based on best (greatest) cooling power efficiency between at least one upwardly increased shadow point value and at least one downwardly decrease shadow point value for which respective cooling power efficiency values are measured.

As shown inFIG. 3, methodology300begins in step301for the selected given driving device (e.g., CPU106) by using the designated out-of-band processing device108to retrieve initial new system operating parameter conditions (e.g., real time cooling fan speeds of fans1902,1903and1904; real time component temperature of CPU106, real time component power or current consumption of CPU106, etc.) while assigned secondary cooling fan zones1052and1054are controlled to operate to shadow fan speed of primary cooling fan zone1903by a predefined shadowing value of 90% (i.e., cooling fan speed of each of cooling fans1052and1054is set at 90% of the current speed of cooling fan1903as determined based on thermal table relationship and real time temperature of CPU106). Using these determined initial system operating parameter conditions, out-of-band processing device108then calculates an initial PTCR value using the following relationship: PTCR=Total cooling fan power consumption for system (PCF)/Total system power consumption (PSYS). In this embodiment, PCFrepresents the total power consumption of all system cooling fans190of information handling system100, and PSYSrepresents the total power consumption of all power-consuming components of information handling system100. In one embodiment, PCFmay be determined by processing device108based on the total power consumption of all individual fans190of system100as monitored by processing device108as described further herein. In one embodiment, PTCR values may be used as cooling power efficiency values, in which case a lower PTCR value corresponds to a greater cooling power efficiency and a higher PTCR value corresponds to a lower cooling power efficiency. Although PTCR values may be determined and utilized as cooling power efficiency values in one exemplary embodiment as described herein, it will be understood that any other determined value that is representative of device cooling power efficiency may be substituted for PTCR herein in the methodology ofFIGS. 2-12.

Next, in step302out-of-band processing device108then proceeds by increasing the predefined initial shadow point relationship from Table 1 by an incremental fixed percentage (“X1”) for all of the assigned shadowing secondary zones determined in210. In the current example, this fixed percentage value X1may be, for example, retrieved from stored OSP data145and then added to the predefined 90% shadowing percentage of each of shadowing secondary cooling fan zones1052and1054assigned to the primary cooling fan1903of driving device CPU106. Any suitable selected or user-configurable fixed percentage value X1may be employed and in one embodiment the fixed percentage value X1may be selected to be less than the initial shadow point percentage value, e.g., such as X1=5% although any greater or lesser value may be employed such as 1%, 10%, etc. Next, in step304, the designated out-of-band processing device108may wait for a predefined amount of time “XT” (i.e., while secondary cooling fan zones1052and1054operate at the new increased 95% shadow point of primary cooling fan1903speed) before determining the new system operating parameter conditions (e.g., real time cooling fan speeds and power or current consumption of fans1902,1903and1904; real time component temperature of CPU106, real time component power or current consumption of CPU106, etc.).

In one embodiment, value of XTmay be any selected predefined amount of time that is suitable for allowing sufficient time for PTCR value to substantially stabilize and for temperature of heat-producing components to substantially stabilize in response to the new cooling fan speed/s. For example, in one embodiment, the value of XTmay be from about 60 seconds to about 300 seconds, alternatively from about 120 seconds to about 240 seconds, further alternatively about 180 seconds, although value of XTmay be less than 60 seconds and greater than 300 seconds in other embodiments. Using these determined new system operating parameter conditions, out-of-band processing device108then calculates a new PTCR and compares this new PTCR to the initial PTCR value in step306. If the new PTCR value is found to be better (i.e., a lesser value) than the initial PTCR value while all system heat-producing component devices remain within their operating condition specifications, then increased power savings (e.g., PTCR values) are confirmed in step306and methodology300proceeds to step310. Then in step310a decision is made to utilize an upward adjustment of shadow point relationship (e.g., percentage) and methodology300proceeds to the next second level non-uniform shadowing methodology500ofFIG. 5.

In one alternate embodiment, methodology300may optionally repeat from step306to step302where the previous shadow relationship value is again increased by X1percentage and steps304-306repeated again. In this regard, steps302-306may optionally repeat in this manner up to a pre-defined number of times (e.g., from about 2 to about 5 times) before making a final decision in step306. In such an alternate embodiment, PTCR values for each of the pre-defined multiple iterations are compared, and the adjusted shadow value corresponding to the lowest PTCR value is then selected as the best PTCR value. This selected best PTCR value may then be compared to the initial PTCR value in step306in the manner as previously described.

Still referring to step306, if the new PTCR value is not found to be better (i.e., a lesser value) than the initial PTCR value while all devices remain within operating condition specification, then methodology300proceeds to step312where out-of-band processing device108then proceeds by decreasing the predefined initial shadow point relationship from Table 1 by a fixed percentage (“X1”) for all of the assigned shadowing secondary zones determined in210. As before, this fixed percentage value X1may be, for example, retrieved from stored OSP data145(e.g., such as X1=5% or any other suitable value as previously described for step302, it being understood that X1value selected for step312may be different than X1value selected for step302). Selected X1value of step312may then be subtracted from the 90% predefined shadowing percentage of each of shadowing secondary cooling fans1902and1904of secondary cooling fan zones1052and1054that are assigned to the primary cooling fan1903mapped to driving device CPU106, although in other embodiments a different fixed percentage value may be subtracted in step312than is added in step302. Next, in step314, the designated out-of-band processing device108may wait for the predefined amount of time “XT” (e.g., while secondary cooling fan zones1052and1054operate at the new decreased 85% shadow point of primary cooling fan1903speed) before determining the new system operating parameter conditions (e.g., real time cooling fan speeds of fans1902,1903and1904; real time component temperature of CPU106, real time component power or current consumption of CPU106, etc.). It will be understood that XTof step314may be selected to be the same or different than XTof step304. Using these determined new system operating parameter conditions, out-of-band processing device108then calculates a new PTCR and compares this new PTCR to the initial PTCR value in step316. If the new PTCR value is found to be better (i.e., a lesser value) than the previous PTCR value while all devices remain in specification, then methodology300proceeds to step318.

If the new PTCR value is found to be better (i.e., a lesser value) than the initial PTCR value while all system heat-producing component devices remain within their operating condition specifications, then increased power savings (e.g., PTCR values) are confirmed in step316and methodology300proceeds to step320. Then in step320a decision is made to utilize a downward adjustment of shadow point relationship (e.g., percentage) and methodology300proceeds to the next second level non-uniform shadowing methodology500ofFIG. 5.

In one alternate embodiment, methodology300may optionally repeat from step316to step312where the previous shadow relationship value is again decreased by X1percentage and steps314-316repeated again. In this regard, steps312-316may optionally repeat in this manner up to a pre-defined number of times (e.g., from about 2 to about 5 times) before making a final decision in step316. In such an alternate embodiment, PTCR values for each of the pre-defined multiple iterations are compared, and the adjusted shadow value corresponding to the lowest PTCR value is then selected as the best PTCR value. This selected best PTCR value may then be compared to the initial PTCR value in step316in the manner as previously described.

Still referring to step316, if the new PTCR value is not found to be better (i.e., a lesser value) than the previous PTCR value while all devices remain in specification, then methodology300proceeds to step322where out-of-band processing device108makes the determination to leave the shadow point relationship at its original predefined value (e.g., 90% shadowing point) and methodology300terminates in step322without changing the initial shadow point relationship.

In another alternate and optional embodiment, each of the steps of302-306and the steps of312-316may always be performed such that both increase in shadow point relationship and decrease in shadow point relationship are performed, and respective new PTCR values are always determined for both of steps306and316. In such a case, the final PTCR values of steps306and316may be compared to each other to determine which of the two PTCR values (306or316) is the best (i.e., lowest), and then an upward adjustment direction for methodology500is decided if step306results in a lower PTCR value than step316, and a downward adjustment direction for methodology500is decided if step366results in a lower PTCR value than step306. In the case where step306final results in the same final PTCR value as does step316, then an upward adjustment direction for methodology500may be automatically decided in one embodiment under this condition, and a downward adjustment direction may be automatically decided in another embodiment under this condition. In any of the direction decision level embodiments described in the paragraphs above, it will be understood that it is not necessary to start with an increase in shadow point relationship by X1but rather, for example, steps302-306may be interchanged in position with steps312-316such that methodology300starts with a decrease in shadow point relationship by X1.

FIG. 4illustrates exemplary results of decision level methodology300for the current example of primary cooling fan1903of primary cooling fan zone1053that is mapped to selected given driving device CPU106, and with assigned shadowing secondary cooling fans1902and1904of respective secondary cooling fan zones of1052and1054. As shown inFIG. 4, the original predefined shadowing value402of 90% determined in first iteration of step306results in a PTCR of 4.18%, and where subsequent determinations of steps308and318result in new PTCR values404and406of 4.34% and 3.87% respectively. Thus, in this example the result from decision level methodology300would be to change the shadowing point in the downward direction in order to increase PTCR.

One exemplary embodiment of methodology for uniform shadowing level500is illustrated inFIG. 5. As shown, methodology500begins in step502where out-of-band processing device increases or decreases the last or previous shadowing relationship (e.g., initially 90% in the current example) by an incremental fixed percentage value (“X2”) based on the determined direction (up or down) from methodology300, i.e., increase shadowing point by X2value (e.g., to 95% for the first iteration) if the determined direction from methodology300is up, or decrease shadowing point by X2value (e.g., to 85% for the first iteration) if the determined direction from methodology300is down. In one embodiment, X2may be retrieved from stored OSP data145and may be the same value as X1used in methodology300, although this is not necessary. In this regard, X2may be any suitable selected or user-configurable fixed percentage value, and in one embodiment the fixed percentage value X2may be chosen to be less than the initial shadow point percentage value, e.g., such as X2=5% although any greater or lesser value may be employed such as 1%, 10%, etc.

Methodology500then proceeds to step504where out-of-band processing device108simultaneously changes the fan speed on all shadowing fans (e.g., secondary cooling fans1902and1904of respective secondary cooling fan zones1052and1054) assigned to shadow the primary cooling fan1903mapped to driving device (e.g., CPU106) to the new increased or decreased offset shadow point of step502. Then in step506out-of-band processing device108may optionally wait for a predefined amount of time “YT” (e.g., while cooling fan zones1052and1054operate at the new increased 95% or decreased 85% shadow point of the real time primary cooling fan1903speed) before determining the new system operating parameter conditions in step508(e.g., real time cooling fan speeds and power or current consumption of fans1902,1903and1904; real time component temperature of CPU106, real time component power or current consumption of CPU106, etc.).

In one embodiment, value of YTmay be any selected predefined amount of time that is suitable for allowing sufficient time for PTCR value to substantially stabilize and for temperature of heat-producing components to substantially stabilize in response to the new cooling fan speed/s. For example, in one embodiment, the value of YTmay be from about 60 seconds to about 300 seconds, alternatively from about 120 seconds to about 240 seconds, further alternatively about 180 seconds, although value of YTmay be less than 60 seconds and greater than 300 seconds in other embodiments. Using these determined new system operating parameter conditions of step508, out-of-band processing device108then calculates a new PTCR in step510and compares this new PTCR to the previous PTCR value (which is the initial PTCR value for the first iteration) in step510. If the new PTCR value is found in step510to be better (i.e., a lesser value) than the previous PTCR value while all heat-producing component devices remain within their operating condition specifications, then methodology500proceeds to step512and iteratively repeats to step502using the increased or decreased offset shadow point of previous iteration of step502as the starting point last or previous shadow point that is increased or decreased in the current iteration of step502. Steps502to512then iteratively repeat as necessary as long as each iteration of steps502-510results in a better (decreased) PTCR while all heat-producing device remain in specification.

However, when a new PTCR value is found in step510to be no better (i.e., a grater or equal value) than the previous PTCR value while all heat-producing component devices remain within their operating condition specifications, then methodology500terminates in step514by freezing or stopping methodology500from any further iteration for all assigned shadowing zones (e.g., cooling fan zones1052and1054). In step514the uniform OSP value is also set to be equal to the adjusted (increased or decreased) shadowing relationship value of the next to last iteration of steps502-510(i.e., set equal to the shadow point value determined before the just completed iteration of steps502-510that did not result in a better PTCR value). This uniform OSP may be optionally stored as a new increased or decreased offset shadow point value in OSP data on persistent storage140. Methodology500then proceeds to the next third level non-uniform shadowing methodology800ofFIG. 8.

FIG. 6illustrates exemplary results of uniform shadowing level methodology500for the current example of primary cooling fan1903of primary cooling fan zone1053that is mapped to selected given driving device CPU106, and with assigned shadowing secondary cooling fans1902and1904of respective secondary cooling fan zones of1052and1054. As shown inFIG. 6, for the current example the starting point original predefined static uniform shadowing value602of 90% for both assigned shadowing secondary cooling fans1902and1904results in a PTCR of 4.18%, as similarly determined in first iteration of step306of direction decision level methodology300. As was previously shown by a comparison of values404and406ofFIG. 4, the result of direction decision level methodology300for this example is to decrease the shadow point in order to decrease the PTCR. Thus, in the current example, the first iteration of step502of uniform shadowing level methodology500begins in step502by decreasing the predefined uniform shadow point value602of 90% by an X2offset of 5% to a new uniform shadow point604of 85% for both assigned shadowing secondary cooling fans1902and1904to yield a PTCR of 3.87%.

In this example, steps502to512ofFIG. 5iteratively repeat by decreasing shadow point by increments of X2until PTCR no longer decreases at uniform shadow point value606of 50% that yields minimum PTCR of 2.79%. At this point, the 50% uniform shadow point is frozen from any further iteration (and optionally stored in OSP data145) in step514as the OSP.FIG. 7illustrates uniform fan shadow values versus determined PTCR values for the above-described current example, in which 50% uniform shadow point results in minimum PTCR value that is frozen and stored in OSP data145, it being understood that methodology500may terminate data collection at the first adjusted shadow point that results in no PTCR improvement, or alternatively may proceed in another embodiment to gather additional confirmation PTCR data points as shown.FIG. 14illustrates exemplary data such as may be collected and employed (e.g., by dynamic shadowing control logic142) to determine corresponding PTCR and shadow point results described in relation to uniform shadowing methodology500ofFIGS. 5-7for an exemplary configuration of a system100including N=6 cooling fan zones and two PSUs111, once again it being understood that methodology500may terminate data collection at the first adjusted shadow point that results in no PTCR improvement, or alternatively may proceed in another embodiment to gather additional confirmation PTCR data points as shown. In the embodiment ofFIG. 14, power production of the multiple (in this case two) system PSUs111are totaled to determine total system power PSYS, “CPU target” represents the CPU target operating temperature in ° C., and the minimum PTCR of 2.79% is designated as “SweetSpot”. In an embodiment with one PSU111, then total system power PSYSis equal to the power production of the single PSU111. It will be understood that similar data collection and management may be employed for direction decision methodology300and non-uniform shadowing methodology800.

One exemplary embodiment of methodology for optional non-uniform shadowing level800is illustrated inFIG. 8. As shown, methodology800begins in step802where out-of-band processing device108starts with the uniform OSP determined in methodology500(e.g., uniform shadow point value606of 50% fromFIG. 6). Methodology800then sequentially selects each of the different assigned shadowing secondary cooling fans190assigned to the primary cooling fan190that is mapped to the current selected given driving device for separate non-uniform OSP determination using steps804to816while at the same time leaving cooling fan shadow point for all other cooling fan/s190unchanged, before moving to the next assigned shadowing cooling fan190to separately repeat the same process for the next secondary cooling fan190. In the current example, secondary cooling fans1902and1904of respective shadowing secondary cooling fan zones1052and1054are assigned to primary cooling fan1903that is mapped to the driving device CPU106. Thus, N=2 for step802, and out-of-band processing device108repeats steps802to816separately for each of the two shadowing cooling fans1902(i=1) and1904(i=2=N) before proceeding to step818as described further below. It will be understood that it is possible that a group of two or more secondary cooling fans190may be assigned to a given secondary cooling fan zone105that itself shadows a primary cooling fan190that is mapped to a driving device, in which case each steps802to816of methodology800may alternatively be performed for each such group of two or more secondary fans190assigned to a given assigned shadowing secondary cooling fan zone105, i.e., with the shadow point and cooling fan speeds of the multiple secondary fans190of a given group of a common secondary zone105being simultaneously increased or decreased together in steps804and806rather than on a single fan basis.

In step804of methodology800, out-of-band processing device108increases or decreases the uniform OSP determined from uniform shadowing methodology500(e.g., 50% in the current example) to a new shadow point for only a single selected shadowing secondary cooling fan190(or zone105) by an incremental fixed percentage value (“X3”) in the same direction (up or down) as the determined direction from methodology300, e.g., uniform OSP of 50% for i=1 cooling fan1092decreased by X3(e.g., 5%) to be 45% in the current example. In one embodiment, X3may be any suitable selected or user-configurable fixed percentage value and may be retrieved from stored OSP data145. In one embodiment, X3may be the same value as X1used in methodology300and/or X2used in methodology500, although this is not necessary. In this regard, X3may be any suitable fixed percentage value, and in one embodiment the fixed percentage value X3may be chosen to be less than the initial uniform OSP shadow point percentage value, e.g., such as X3=5% although any greater or lesser value may be employed such as 1%, 10%, etc. The fan speed of the currently selected single secondary fan190(or alternatively the multiple secondary fans of a selected single secondary cooling fan zone105) is then changed in step806according to the new offset shadow point of step804(e.g., such as 45% of the real time current fan speed of cooling fan1903).

Next, in step808, out-of-band processing device108may optionally wait for a predefined amount of time “ZT” while the currently selected secondary cooling fan190(or group of secondary cooling fans190of the currently selected secondary cooling fan zone105) operates at the new increased or decreased shadow point (e.g., decreased 45% shadow point of the primary cooling fan1903speed in the current example) before determining the new system operating parameter conditions in step810(e.g., real time cooling fan speeds and power or current consumption of fans1902,1903and1904; real time component temperature of CPU106, real time component power or current consumption of CPU106, etc.).

In one embodiment, value of ZTmay be any selected predefined amount of time that is suitable for allowing sufficient time for PTCR value to substantially stabilize and for temperature of heat-producing components to substantially stabilize in response to the new cooling fan speed/s. For example, in one embodiment, the value of ZTmay be from about 60 seconds to about 300 seconds, alternatively from about 120 seconds to about 240 seconds, further alternatively about 180 seconds, although value of ZTmay be less than 60 seconds and greater than 300 seconds in other embodiments.

Using these determined new system operating parameter conditions, out-of-band processing device108then calculates a new PTCR in step812and compares this new PTCR to the previous PTCR value (which is the last PTCR value corresponding to the determined uniform OSP of methodology500for the first iteration) in step812. If the new PTCR value is found in step812to be a value that is less (better) than the previous PTCR value while all devices remain within specifications, then methodology800repeats back to step804and again increases or decreases (as appropriate) the previous offset OSP shadow value determined during the last iteration of step804by a further X3value and repeats steps806to814until PTCR is found to be a greater than or equal value than the previous PTCR value while all heat-producing component devices remain within operating specifications, and then proceeds to step816and records and stores the current offset shadow point of step804for the current secondary cooling fan190or secondary cooling fan zone105in a manner described further below.

If the new PTCR value is found in step812to be a value that is no better than the previous PTCR value (i.e., meaning that the new PTCR is greater than or equal to the previous PTCR value) while all devices remain within operating condition specifications, then methodology800proceeds to step816and records and stores the offset shadow point from the next to last iteration of steps804-812(i.e., the offset shadow point value determined before the just completed iteration of steps804-812that did not result in a better PTCR value) for the current secondary cooling fan190(e.g., i=1 secondary cooling fan1092in the current example) in OSP data145of persistent storage140, or alternatively for the current secondary cooling fan zone105where applicable. Methodology800then returns to step802to repeat steps804to816for the next different (e.g., i=2) selected shadowing secondary cooling fan190(or shadowing secondary cooling fan zone105) starting over each time with the same uniform OSP determined from uniform shadowing methodology500(e.g., 50% in the current example).

Once steps802to816have been performed individually for all “N” shadowing secondary cooling fans190(or for all shadowing secondary cooling fan zones195), then methodology800proceeds to step818where the determined PTCR value corresponding to each recorded non-uniform OSP value of step816is compared to the determined PTCR value corresponding to each of the other recorded non-uniform OSP value/s of step816, and the individual OSP value have the best PTCR value (i.e., the lowest PTCR value) is selected as shown inFIG. 9and frozen from further iteration.

Methodology800then proceeds to step214of methodology200ofFIG. 2where the frozen non-uniform OSP values from step818are stored in OSP data145on persistent storage140for future use for controlling the cooling fan speeds of assigned shadowing secondary cooling fan/s190(e.g., secondary cooling fans1902and1904) or assigned cooling secondary fan zones105(e.g., secondary cooling fans1052and1054) based on the real time fan speed of the primary cooling fan190(e.g., primary cooling fan1903) mapped to the selected given driving device (e.g., CPU106) during normal operation of information handling system100. Methodology200then waits in step216until out-of-band processing device108detects via communication path103the occurrence of a next major event such as change to a different system configuration (e.g., removal, replacement, and/or addition of different heat-producing component/s such as processing devices, etc.), change in computational and/or power demand stress loads (e.g., such as may be reported to or detected by processing device108, etc.), change in system environment (e.g., such as an air temperature increase occurring outside the chassis as sensed by an external temperature sensor coupled to the processing device108, etc.), and/or change from previously established steady state operation. When out-of-band processing device108detects occurrence of such a major event, then methodology200returns to step202and repeats again after occurrence of the detected major event.

FIG. 9illustrates exemplary results of non-uniform shadowing level methodology800for the current example of primary cooling fan1903of cooling fan zone1053that is mapped to selected given driving device CPU106, and with assigned shadowing secondary cooling fans1902and1904of respective secondary cooling fan zones of1052and1054. As shown inFIG. 9, the starting shadow point value606for step802of non-uniform shadowing level methodology800is the uniform OSP obtained from step514of uniform shadowing level methodology500, e.g., 50% for the current example where secondary cooling fans1902and1904of secondary cooling fan zones1052and1054are assigned to shadow primary cooling fan1903of cooling fan zone1053mapped to CPU106. As shown inFIG. 9and the corresponding plot ofFIG. 10, performance of steps802to816of methodology800for individual secondary cooling fan1902(i=1) results in non-uniform OSP902of about 42% of the 60% real time cooling fan speed of mapped primary cooling fan1903while secondary cooling fan1904remains unchanged at about 50% of the real time 60% cooling fan speed of mapped primary cooling fan1903, with this OSP902corresponding to a PTCR of 2.61%.

As further shown inFIG. 9and the corresponding plot ofFIG. 11, performance of steps802to816of methodology800for individual secondary cooling fan1904(i=2=N) results in non-uniform OSP904of about 45% of the 60% real time cooling fan speed of mapped primary cooling fan1903, while cooling fan1902remains unchanged at about 50% of the real time 60% cooling fan speed of mapped primary cooling fan1903, with this OSP904corresponding to a PTCR of 2.69%. Thus, non-uniform OSP902of about 42% of the 60% real time cooling fan speed of mapped primary cooling fan1903is selected and frozen in step818(for use in step214) as the best and final OSP for step214since the PTCR=2.61% at OSP902is less than the PTCR=2.69% at OSP904.

FIG. 12illustrates the original predefined 90% static uniform shadowing value602from step301ofFIG. 3for both assigned shadowing secondary cooling fans1902and1904compared to the final selected non-uniform OSP902from step818that are stored in step214of persistent storage140for future use for controlling the cooling fan speeds of assigned shadowing secondary cooling fan/s190. As shown inFIG. 12, use of the 42% OSP902for controlling shadowing fans1902and1904of this example saves 13 watts of power consumption compared to using the original 90% static uniform shadowing value602for controlling shadowing fans1902and1904. As illustrated inFIG. 2, this particular final selected OSP902from step818is utilized to control the cooling fan speeds of assigned shadowing secondary cooling fan/s1902and1904as a percentage of real time controlled cooling fan speed of primary cooling fan1903until occurrence of the next major even it detected in steep216and methodology200repeats to step202and repeats.

It will be understood that the particular number and order of steps of methodologies ofFIGS. 3, 5 and 8are exemplary only, and that any other combination of additional, fewer, and/or alternative steps may be employed in each case that is suitable for controlling the fan speed of one or more secondary cooling fans of an information handling system in real time by dynamically and adaptively shadowing the fan speed of another primary cooling fan or cooling fan/s of another cooling fan zone of the same information handling system.

FIG. 13illustrates an alternative embodiment of a modular scalable information handling system platform configured in the form of a modular blade server chassis system1300that includes a modular chassis enclosure1304having an outer structural physical framework within which multiple interchangeable modular heat-producing components1002and1010(e.g., with each including compute, networking, storage resources, etc.) are contained and disposed in adjacent side-by-side relationship, with provision for connection to various external networks and devices as shown. In this embodiment, individual interchangeable heat-producing modules1002and1010may be added and/or removed as separate modules from the system100(e.g., as removable and/or hot-pluggable modular components such as server blades) and/or reconfigured over time so as to change the capabilities and/or performance of the system. Connectivity between modular heat-producing components1002and1010may also be reconfigured within the chassis1300.

Multiple cooling fans190are provided within enclosure1304in this embodiment, with multiple cooling fan zones105defined that each includes a given modular heat-producing component1002or1010, and that each has a respective assigned cooling fan or group of cooling fans1901to190N. A cooling fan zone105N+1is also defined in this embodiment that includes heat-producing components1010and111, and has an assigned cooling fan or group of cooling fans190N+1. It will be understood that there is open space that allows air flow around one or more sides of each of individual modular heat-producing components1002and1010, and between the adjacent cooling fan zones105. Further, as with the embodiment ofFIG. 1, some air flow generated from a given cooling fan190of a given cooling fan zones105may cross the non-physical dashed lines into one or more adjacent cooling fan zones105to which it is not assigned. As described in relation toFIG. 1, one or more power supplies111may be present to supply the power-consuming components of system1300(e.g., including fans190and heat-producing electrical components described above).

It will be understood that althoughFIG. 13illustrates a particular exemplary embodiment of a modular blade server chassis system1300, the disclosed systems and methods may be alternatively implemented with any other configuration of scalable information handling system that utilizes compute, networking and/or storage resources that are removable, hot-pluggable, or otherwise changeable over time, possibly together with the configured connectivity between these resources. Besides modular blade server systems, other examples of such scalable information handling systems include, but are not limited to, a rack server system that includes multiple modular rack servers that are each coupled to, or otherwise has connectivity to, a network (e.g., internet, intranet, etc.), for example, via a top-of-rack (ToR) switch. Further information on, and examples of, scalable information handling system platforms and their possible components include those described in United States Patent Publication No. 2014/0208136; United States Patent Publication No. 2015/0039871; and U.S. patent application Ser. No. 14/220,763, each of which is incorporated herein by reference in its entirety.

In the exemplary embodiment ofFIG. 13individual modular heat-producing electrical components1002may be modular compute and/or storage sleds (e.g., half-width, quarter width, full-width, etc.) that are contained within chassis enclosure1300(e.g., such as a 2 U, 3 U, 4 U, etc. computer chassis) such as a Dell PowerEdge FX2/FX2s available from available from Dell Products L.P. of Round Rock, Tex. In this embodiment multiple cooling fans1901to190Nthat are configured to cool the respective heat-producing module components1002and1010, and exemplary inlet vents175and outlet vents177are shown defined in the enclosure wall of chassis enclosure1304. In this embodiment, each of modular heat-producing components1002includes multiple in-band processing devices (e.g., host CPUs106and107) that are coupled to respective storage1014, although it is possible that a module1002may include only a single in-band processing device, more than two in-band processing devices, and/or other types of components such as one or more GPUs, volatile and/or non-volatile storage, network interface controllers (NICs), etc.

In this embodiment, each of heat-producing components1002also includes a respective out-of-band processing device in the form of a remote access controller1020(e.g., such as integrated Dell Remote Access Controller (iDRAC) available from Dell Products L.P. of Round Rock, Tex.) configured for communication with chassis management subsystem (CMC)1010(e.g., such as integrated Dell Remote Access Controller (iDRAC) available from Dell Products L.P. of Round Rock, Tex.). CMC module1010may include a service processor1015that is configured to execute dynamic shadowing logic142in a manner as previously described for out-of-band processing device108, e.g., using thermal table information147and OSP data145that is stored on CMC non-volatile memory1011as shown. As shown, CMC1010may be coupled via network1050to remote administrator/s1060and/or one or more clients1062(e.g., other information handling systems via a group network switch1087of CMC1010) and/or to an optional local control panel and/or display1085for displaying information and for local administrator interface to modular blade server chassis system1300.

In one embodiment, CMC1010may be coupled and configured to monitor and/or control (and thus be aware of) total power provided by the one or more PSUs111to power all the power-consuming components of system1300, and may also be coupled and configured to monitor and/or control (and thus be aware of) real time power consumption by individual power-consuming components (e.g., such as individual cooling fans190). In this regard, CMC1010may be configured to directly monitor power consumption of an individual power-consuming component and/or may be configured to receive reported component power consumption from another intervening component/s (e.g., chassis power manager) of system100, e.g., via RACs1020and/or such as described in U.S. Pat. No. 8,156,358 which is incorporated herein by reference in its entirety for all purposes.

In this embodiment, each of the individual heat-producing components10021to1002N, or1010and111, contained within enclosure1304are mapped to be a driving component of a respective cooling fan zone1051to105N+1within which the individual heat-producing component1002,1010or111is primarily cooled by a corresponding one of primary cooling fan/s1901to109N+1of the same cooling fan zone105as illustrated by the arrows that show direction of cooling air flow. Each remote access controller1811to181Nmay include thermal control logic coupled to monitor temperature of the CPUs106and/or107(and/or any other heat producing components) of its respective module1002to determine cooling requirements for the monitored components and to generate a cooling fan speed request based on the monitored temperature and/or determined cooling requirements, and may be configured to exchange management information (e.g., requested cooling fan speed (PWM), component status, component inventory, component configuration, alerting, power status and control commands, component operation monitoring, etc.) information with CMC1010of system100across any suitable type of management communication media path1061(e.g., I2C bus).

CMC1010may in turn be configured to control the fan speed of cooling fans1901to109N+1(e.g., via path1061and/or other provided suitable data or signal communication path that may be present) to dynamically and adaptively shadow the fan speed of selected primary cooling fan/s190of a primary cooling fan zone105using other selected secondary cooling fan/s190in a manner similar to that described herein for out-of-band processing device108, e.g., to maximize blade airflow efficiency by increasing fan air cubic foot per minute (CFM)/watt. Thus, the disclosed systems and methods (including methodologies ofFIGS. 2, 3, 5 and 8) may be implemented to increase system cooling efficiency and/or reduce system power consumption across a variety of different variety of module configurations (with widely different impedance levels or air flow restriction levels and patterns).

As an example, service processor1075of CMC101may be configured in one exemplary embodiment to implement dynamic shadowing control142(e.g., including a multi-level shadowing algorithm to find an OSP) to adaptively control a shadowing relationship between secondary cooling fans1901and1903that are assigned to shadow a primary cooling fan1902of cooling fan zone1052based on real time requested cooling fan speed information (e.g., PWM) received from remote access controller10202for cooling fan speed of primary cooling fan1902across communication path1061. In this regard, service processor1015may provide control data or signals to set the speed of primary cooling fan1902to the requested cooling fan speed received from remote access controller10202and to control each of shadowing cooling fan/s1901and1903to implement the methodology described herein, and may store OSP information145on non-volatile memory1011together with any other information or data that may be utilized to implement dynamic shadowing control142. In one embodiment, service processor1075of CMC101may be configured to ignore any real time requested cooling fan speeds for secondary cooling fans1901and1903of secondary cooling fan zones1051and1053that may be received from remote access controllers10201and10203across communication path1061.

It will be understood that one or more of the tasks, functions, or methodologies described herein (e.g., including those described herein for components106,108,109,1015,1020, etc.) may be implemented by circuitry and/or by a computer program of instructions (e.g., computer readable code such as firmware code or software code) embodied in a non-transitory tangible computer readable medium (e.g., optical disk, magnetic disk, non-volatile memory device, etc.), in which the computer program comprising instructions are configured when executed (e.g., executed on a processing device of an information handling system such as CPU, controller, microcontroller, processor, microprocessor, FPGA, ASIC, or other suitable processing device) to perform one or more steps of the methodologies disclosed herein. A computer program of instructions may be stored in or on the non-transitory computer-readable medium accessible by an information handling system for instructing the information handling system to execute the computer program of instructions. The computer program of instructions may include an ordered listing of executable instructions for implementing logical functions in the information handling system. The executable instructions may comprise a plurality of code segments operable to instruct the information handling system to perform the methodology disclosed herein. It will also be understood that one or more steps of the present methodologies may be employed in one or more code segments of the computer program. For example, a code segment executed by the information handling system may include one or more steps of the disclosed methodologies.