This invention relates generally to information handling systems and, more particularly, to thermal control for information handling systems.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
One or more cooling fans are typically employed within the chassis 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.
Thermal tables have been provided in system memory that specify fan speed RPM values for each respective cooling fan of an information handling system platform at a given temperature (or alternatively at a given range of sensed temperature) within the chassis enclosure of an information handling system platform. The specified fan speed (e.g., RPM) values and baseline temperature response of such a thermal table are pre-defined based on thermal engineering and default thermal loadings for different system components, and are selected to help ensure sufficient cooling of the components of a given default system configuration that includes a specific default number and type/s of system components. As the sensed operating temperature within the system chassis increases or decreases, the fan speed of each of the given system cooling fans is automatically increased or decreased according to a pre-defined linear (X-Y) relationship of the thermal table that specifies increasing fan speed with increasing temperature.
Thermal control techniques have been developed for information handling system platforms in an attempt to reduce power consumption, airflow and acoustic noise generated by cooling fans. Such techniques include proportional-integral-derivative (PID) control loop feedback. Closed loop thermal control techniques have utilized temperature information provided from individual components of an information handling system platform, such as central processing unit (CPU), hard disk drive (HDD) and redundant array of independent disks (RAID) hardware (RAID card). Conventional CPU thermal control for information handling system platforms such as servers is typically implemented based on a combination of register values that are read directly from the CPU and system manufacturer-defined table values that are based on system characterization and maintained in system memory. Although many server components have a fixed temperature requirement that is stable throughout development of an information handling system architecture, CPU thermal requirements are often changed by the CPU manufacturer for given type of CPU during the course of the information handling system platform architecture development. To further complicate matters, CPU thermal requirements may also vary as a function of CPU stock keeping unit (SKU), and loading and performance settings, e.g., such as enhanced halt state (C1E) disabled. CPU manufacturers reserve the right to change CPU thermal requirements and register values until late in system manufacturer development phases. Occasionally, the requirements are incorrectly documented. Other times, qualification sample parts are incorrectly programmed with faulty values, resulting in bad thermal settings in system manufacturer thermal control tables.
In
Specifically, in
Still referring to
In the conventional example of
In the example of
In the example of
As illustrated in
A CPU thermal profile has also been specified by the CPU manufacturer and stored in the CPU register to define a relationship between a CPU fan control target setpoint temperature and CPU operating power. In such a case, the BMC may read the particular value of CPU fan control target setpoint temperature from the CPU thermal profile at the current CPU operating power, and use this read CPU thermal profile value as the fan control target setpoint temperature value for fan speed control at the current CPU operating power. The fan control target setpoint temperature from the CPU thermal profile increases with increasing CPU operating power to allow the CPU fan control target setpoint temperature value to eventually equal the specified CPU thermal throttling temperature threshold value for the CPU, which causes risk of CPU thermal throttling activation in the case of slight CPU temperature overshoot above the CPU thermal throttling temperature threshold value.
Disclosed herein are systems and methods of adaptive thermal control for information handling system platforms (e.g., such as server platforms) that may be implemented to automate and scale fan control settings (e.g., which in the past have been treated as conventional absolute fan control settings) by making the fan control settings relative to a reported component thermal control parameter value (e.g., such as a component fan control target setpoint value or component thermal throttling temperature threshold value) from a component of an information handling system platform, such as a CPU or other heat generating component. In one exemplary embodiment, the disclosed system and methods may be further used to define bounds for system use of vendor or component manufacturer-reported thermal control parameter values (e.g., such as a component fan control target setpoint values or component thermal throttling temperature threshold values) for system cooling so as to confine use of these values within information handling system platform limits characterized by a manufacturer of an information handling system platform.
In one exemplary embodiment, the disclosed systems and methods may employ adaptive thermal control parameters (e.g., such as system power capping threshold values, system fan control target setpoint values, and controller gains) in closed loop thermal control techniques in a manner that doesn't blindly rely on the hard-coded thermal control parameter or setpoint values that are stored in the register/s of a CPU or other type of heat-generating component. For example, in the case of a CPU installed in an information handling system platform, the disclosed systems and methods may be implemented to set platform thermal control parameter limits to control cooling fan behavior based on CPU operating temperature and hard-coded CPU thermal control parameter/setpoint values in an adaptive manner that ensures that the hard-coded CPU register values cannot be changed enough (e.g., by the CPU manufacturer) between CPU devices to negatively impact the information handling system performance. Advantageously, the disclosed systems and methods may be so implemented to eliminate the risk of reaching higher CPU die operating temperatures that are sufficiently high to cause critical temperature warning, thermal throttling activation or undesirable fan control behavior (e.g., such as fan speed oscillations). Although described herein in relation to cooling an information handling system CPU based on CPU thermal control parameter/setpoint values stored in a CPU register/s, it will be understood that the disclosed systems and methods may be similarly implemented for adaptive thermal control of any other type of information handling system platform component that reports its temperature and target setpoint thermal control values, or from which target setpoint spec cooling temperatures are read directly from the component. Examples of such other types of components include, but are not limited to, graphics processing units (GPUs), RAID controllers, volatile memory devices, non-volatile memory devices, hard drives, solid state drives, network adapters, storage adapters, power supply components, etc.
The disclosed systems and methods may be implemented in one embodiment in a manner that eliminates the need to keep exact accounting for actual CPU temperature specs within a thermal table, and that also eliminates vulnerability to changes in CPU thermal control parameters that may be implemented by a CPU manufacturer between different CPU devices. Advantageously, the disclosed systems and methods may also be implemented in a manner that eliminates the need to define each CPU bin for configuration detection and accounting for each CPU specific spec. Thus, the disclosed systems and methods may be implemented in one embodiment without defining a separate Tier for each CPU bin (i.e., even though temperature parameter specs are specific to a bin), and without defining fan control cooling setpoints for each CPU device. Rather, the disclosed systems and methods may be implemented in a manner that is CPU bin agnostic (from a temperature target setpoint perspective).
In one respect, disclosed herein is an information handling system, including: a chassis enclosure; at least one heat-generating component to be cooled that is contained within the chassis enclosure that consumes electrical power for operation, the heat-generating component including memory storing at least one component thermal control parameter that includes a component thermal throttling temperature threshold value; at least one temperature sensor configured to sense and report an operating temperature of the heat generating component; one or more variable speed cooling fans configured to provide different flow rates of cooling air within the chassis enclosure to cool the heat generating component; system persistent storage separate from the heat-generating component to be cooled, the persistent storage including system thermal control parameter information stored thereon, the system thermal control parameter information defining a relationship between values of the component thermal throttling temperature threshold and values of one or more system thermal control parameters; and at least one processing device separate from the heat generating component that is coupled to receive values of real time sensed component temperature from the temperature sensor, and to provide control signals to control a fan speed of each of the cooling fans to cool the heat-generating component and/or to control power consumption of the heat-generating component. In one embodiment, the processing device may be coupled to retrieve the component thermal throttling temperature threshold value stored in the memory of the heat-generating component, and may be further coupled to retrieve the system thermal control parameter information stored on the system persistent storage. The processing device may be further configured to determine a value of at least one system thermal control parameter based on the retrieved component thermal throttling temperature threshold value and the retrieved relationship between values of component thermal throttling temperature threshold and values of one or more system thermal control parameters, and to control cooling fan speed of one or more of the cooling devices and/or control power consumption of the heat-generation component based on a combination of the determined system thermal control parameter value and the value of the real time current sensed component temperature.
In another respect, disclosed herein is an adaptive method for controlling cooling fan response in an information handling system, including: operating at least one heat-generating component that consumes electrical power within an information handling system chassis enclosure, the heat-generating component including memory storing at least one component thermal control parameter that includes a component thermal throttling temperature threshold value; using one or more variable speed cooling fans to provide different flow rates of cooling air within the chassis enclosure to cool the heat generating component; using at least one temperature sensor to sense an operating temperature of the heat generating component in real time; and using at least one processing device separate from the heat generating component to: retrieve the component thermal throttling temperature threshold value stored in the memory of the heat-generating component, receive values of real time sensed component operating temperature from the temperature sensor, determine a value of at least one system thermal control parameter based on the retrieved component thermal throttling temperature threshold and a defined relationship between values of component thermal throttling temperature threshold and values of system thermal control parameter, and control cooling fan speed of one or more of the cooling devices and/or control power consumption of the heat-generation component based on a combination of the determined system thermal control parameter value and the value of the real time current sensed component temperature.
In another respect, disclosed herein is an information handling system, including: a chassis enclosure; at least one heat-generating component to be cooled that is contained within the chassis enclosure that consumes electrical power for operation, the heat-generating component including memory storing at least one component thermal control parameter that includes a component fan control target setpoint temperature value; at least one temperature sensor configured to sense and report an operating temperature of the heat generating component; one or more variable speed cooling fans configured to provide different flow rates of cooling air within the chassis enclosure to cool the heat generating component; system persistent storage separate from the heat-generating component to be cooled, the persistent storage including system thermal control parameter information stored thereon, the system thermal control parameter information defining a relationship between different values of closed loop controller gains as a function of different component fan control target setpoint temperature values; and at least one processing device separate from the heat generating component that is coupled to receive values of real time sensed component temperature from the temperature sensor, and to implement a closed loop process controller to provide control signals to control a fan speed of each of the cooling fans to cool the heat-generating component based on the received values of real time sensed component temperature. In one embodiment, the processing device may be coupled to retrieve the component fan control target setpoint temperature value stored in the memory of the heat-generating component, and may be further coupled to access the system thermal control parameter information stored on the system persistent storage. The processing device may be further configured to determine a value of at least one closed loop controller gain for the closed loop process controller based on the retrieved component fan control target setpoint temperature value and the relationship between different values of closed loop controller gains as a function of different component fan control target setpoint temperature values, and to use the at least one determined closed loop controller gain in the closed loop process controller to further provide the control signals based on the retrieved component fan control target setpoint temperature value and a selected fan control target setpoint temperature value to control a fan speed of each of the cooling fans to cool the heat-generating component.
In another respect, disclosed herein is an adaptive method for controlling cooling fan response in an information handling system, including: operating at least one heat-generating component that consumes electrical power within an information handling system chassis enclosure, the heat-generating component including memory storing at least one component thermal control parameter that includes a component fan control target setpoint temperature value; using one or more variable speed cooling fans to provide different flow rates of cooling air within the chassis enclosure to cool the heat generating component; using at least one temperature sensor to sense an operating temperature of the heat generating component in real time; using at least one processing device separate from the heat generating component to: retrieve the component fan control target setpoint temperature value profile stored in the memory of the heat-generating component, and receive values of real time sensed component temperature from the temperature sensor; and using at least one processing device separate from the heat generating component to: determine a value of at least one closed loop controller gain for a closed loop process control based on the retrieved component fan control target setpoint temperature value and a relationship between different values of closed loop controller gains as a function of different component fan control target setpoint temperature values, receive values of real time sensed component temperature from the temperature sensor, implement a closed loop process controller to provide control signals to control a fan speed of each of the cooling fans to cool the heat-generating component based on the received values of real time sensed component temperature, and use the at least one determined closed loop controller gain in the closed loop process controller to further provide the control signals based on the retrieved component fan control target setpoint temperature value and a selected fan control target setpoint temperature value to control a fan speed of each of the cooling fans to cool the heat-generating component.
In another and first additional respect, disclosed herein is an information handling system, including: a chassis enclosure; at least one heat-generating component to be cooled that is contained within the chassis enclosure that consumes electrical power for operation, the heat-generating component including memory storing at least one component thermal control parameter that includes at least one of a component thermal throttling temperature threshold value or a component fan control target setpoint temperature value; at least one temperature sensor configured to sense and report an operating temperature of the heat generating component; one or more variable speed cooling fans configured to provide different flow rates of cooling air within the chassis enclosure to cool the heat generating component; system persistent storage separate from the heat-generating component to be cooled, the persistent storage including system thermal control parameter information stored thereon, the system thermal control parameter information defining a permissible range of values for the at least one component thermal control parameter; and at least one processing device separate from the heat generating component that is coupled to receive values of real time sensed component temperature from the temperature sensor, and to provide control signals to control a fan speed of each of the cooling fans to cool the heat-generating component and/or to control power consumption of the heat-generating component.
In one embodiment of such a first additional respect, the processing device may be coupled to retrieve the at least one component thermal control parameter stored in the memory of the heat-generating component, and may be further coupled to retrieve the system thermal control parameter information including the permissible range of values for the at least one component thermal control parameter from the system persistent storage. In a further embodiment of such a system, the processing device may be further configured to compare the retrieved component thermal control parameter to the defined permissible range of values for the component thermal control parameter to determine if the retrieved component thermal control parameter has a value within the defined permissible range of values for the component thermal control parameter, and to: use the retrieved component thermal control parameter to control cooling fan speed of one or more of the cooling devices and/or control power consumption of the heat-generation component if the retrieved component thermal control parameter is determined to be within the defined permissible range of values for the component thermal control parameter, or use the maximum value of the defined permissible range of values for the component thermal control parameter to control cooling fan speed of one or more of the cooling devices and/or control power consumption of the heat-generation component if the retrieved component thermal control parameter is determined to be greater than the defined permissible range of values for the component thermal control parameter, or use the minimum value of the defined permissible range of values for the component thermal control parameter to control cooling fan speed of one or more of the cooling devices and/or control power consumption of the heat-generation component if the retrieved component thermal control parameter is determined to be less than the defined permissible range of values for the component thermal control parameter.
In a further embodiment of such a first additional respect, the retrieved component thermal control parameter may be a retrieved component fan control target setpoint temperature, and the defined permissible range of values for the component thermal control parameter may be a permissible range of values of component fan control target setpoint temperature. In such an embodiment, the processing device may be configured to compare the retrieved component fan control target setpoint temperature to the permissible range of values of component fan control target setpoint temperature to determine if the retrieved component fan control target setpoint temperature has a value within the defined permissible range of values of component fan control target setpoint temperature, and to: use the retrieved component fan control target setpoint temperature value as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the retrieved component fan control target setpoint temperature is determined to be within the defined permissible range of values of component fan control target setpoint temperature, or use the maximum value of the defined permissible range of values of component fan control target setpoint temperature as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the retrieved component fan control target setpoint temperature is determined to be greater than the defined permissible range of values of component fan control target setpoint temperature, or use the minimum value of the defined permissible range of values of component fan control target setpoint temperature as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the retrieved component fan control target setpoint temperature is determined to be less than the defined permissible range of values of component fan control target setpoint temperature.
In a further embodiment of such a first additional respect, the processing device may be configured to determine a value of a system fan control target setpoint temperature by subtracting an offset value from the selected component fan control target setpoint temperature value, and to control cooling fan speed of one or more of the cooling devices based on the determined system fan control target setpoint temperature and the real time current sensed component temperature. Additionally, the at least one heat-generating component may in one embodiment be a central processing unit (CPU), and the at least one processing device that is separate from the heat-generating component may be an out-of-band processing device.
In another and second additional respect, disclosed herein is an adaptive method for controlling cooling fan response in an information handling system, including: operating at least one heat-generating component that consumes electrical power within an information handling system chassis enclosure, the heat-generating component including memory storing at least one component thermal control parameter that includes at least one of a component thermal throttling temperature threshold value or a component fan control target setpoint temperature value; using one or more variable speed cooling fans to provide different flow rates of cooling air within the chassis enclosure to cool the heat generating component; using at least one temperature sensor to sense an operating temperature of the heat generating component in real time; using at least one processing device separate from the heat generating component to: retrieve the component thermal control parameter value stored in the memory of the heat-generating component, and receive values of real time sensed component operating temperature from the temperature sensor; using at least one processing device separate from the heat generating component to compare the retrieved component thermal control parameter to a defined permissible range of values for the component thermal control parameter to determine if the retrieved component thermal control parameter has a value within the defined permissible range of values for the component thermal control parameter, and to: use the retrieved component thermal control parameter to control cooling fan speed of one or more of the cooling devices and/or control power consumption of the heat-generation component if the retrieved component thermal control parameter is determined to be within the defined permissible range of values for the component thermal control parameter, or use the maximum value of the defined permissible range of values for the component thermal control parameter to control cooling fan speed of one or more of the cooling devices and/or control power consumption of the heat-generation component if the retrieved component thermal control parameter is determined to be greater than the defined permissible range of values for the component thermal control parameter, or use the minimum value of the defined permissible range of values for the component thermal control parameter to control cooling fan speed of one or more of the cooling devices and/or control power consumption of the heat-generation component if the retrieved component thermal control parameter is determined to be less than the defined permissible range of values for the component thermal control parameter.
In one embodiment of such a second additional respect, the retrieved component thermal control parameter may be a retrieved component fan control target setpoint temperature; the defined permissible range of values for the component thermal control parameter may be a permissible range of values of component fan control target setpoint temperature; and the method may further include: using the processing device to compare the retrieved component fan control target setpoint temperature to the permissible range of values of component fan control target setpoint temperature to determine if the retrieved component fan control target setpoint temperature has a value within the defined permissible range of values of component fan control target setpoint temperature, and using the processing device to: use the retrieved component fan control target setpoint temperature value as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the retrieved component fan control target setpoint temperature may be determined to be within the defined permissible range of values of component fan control target setpoint temperature, or use the maximum value of the defined permissible range of values of component fan control target setpoint temperature as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the retrieved component fan control target setpoint temperature may be determined to be greater than the defined permissible range of values of component fan control target setpoint temperature, or use the minimum value of the defined permissible range of values of component fan control target setpoint temperature as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the retrieved component fan control target setpoint temperature may be determined to be less than the defined permissible range of values of component fan control target setpoint temperature.
In a further embodiment of such a second additional respect, the method may further include using the processing device to: determine a value of a system fan control target setpoint temperature by subtracting an offset value from the selected component fan control target setpoint temperature value; and to control cooling fan speed of one or more of the cooling devices based on the determined system fan control target setpoint temperature and the real time current sensed component temperature. Additionally, in one embodiment, the at least one heat-generating component may be a central processing unit (CPU), and the at least one processing device that may be separate from the heat-generating component may be an out-of-band processing device.
In another and third additional respect, disclosed herein is an information handling system, including: a chassis enclosure; at least one heat-generating component to be cooled that may be contained within the chassis enclosure that consumes electrical power for operation, the heat-generating component including memory storing a component thermal throttling temperature threshold value and a component thermal profile that may be specified as a relationship between component operating temperature and component operating power that may be limited at an upper value by the component thermal throttling temperature threshold value; at least one temperature sensor configured to sense and report an operating temperature of the heat generating component; one or more variable speed cooling fans configured to provide different flow rates of cooling air within the chassis enclosure to cool the heat generating component; system persistent storage separate from the heat-generating component to be cooled, the persistent storage including system thermal control parameter information stored thereon, the system thermal control parameter information including a system maximum component thermal profile value; and at least one processing device separate from the heat generating component that may be coupled to receive values of real time sensed component temperature from the temperature sensor, to receive values of real time component power consumption from the heat-generating component, and to provide control signals to control a fan speed of each of the cooling fans to cool the heat-generating component.
In one embodiment of such a third additional respect, the processing device may be coupled to retrieve the component thermal throttling temperature threshold value and the fan control target setpoint temperature profile stored in the memory of the heat-generating component, and may be further coupled to retrieve the system maximum component thermal profile value from the system persistent storage. In a further embodiment of such a third additional respect, the processing device may be configured to: use the component thermal profile to determine a component fan control target setpoint temperature value as a function of received real time current component power consumption and use the determined component fan control target setpoint temperature value as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the determined component fan control target setpoint temperature value may be less than or equal to the system maximum component thermal profile value, or use the system maximum component thermal profile value as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the determined component fan control target setpoint temperature value may be greater than the system maximum component thermal profile value.
In a further embodiment of such a third additional respect, the processing device may be configured to determine a value of a system fan control target setpoint temperature by subtracting an offset value from the selected component fan control target setpoint temperature value, and to control cooling fan speed of one or more of the cooling devices based on the determined system fan control target setpoint temperature and the real time current sensed component temperature. Additionally, the at least one heat-generating component may be a central processing unit (CPU), and where the at least one processing device that may be separate from the heat-generating component may be an out-of-band processing device.
In another and fourth additional respect, disclosed herein is an adaptive method for controlling cooling fan response in an information handling system, including: operating at least one heat-generating component that consumes electrical power within an information handling system chassis enclosure, the heat-generating component including memory storing at least one component thermal control parameter that includes a component thermal throttling temperature threshold value and a component thermal profile that may be specified as a relationship between component operating temperature and component operating power that may be limited at an upper value by the component thermal throttling temperature threshold value; using one or more variable speed cooling fans to provide different flow rates of cooling air within the chassis enclosure to cool the heat generating component; using at least one temperature sensor to sense an operating temperature of the heat generating component in real time; using at least one processing device separate from the heat generating component to: retrieve the component thermal throttling temperature threshold value and the component thermal profile stored in the memory of the heat-generating component, and receive values of real time sensed component temperature from the temperature sensor, and to receive values of real time component power consumption from the heat-generating component; and using at least one processing device separate from the heat generating component to: use the component thermal profile to determine a component fan control target setpoint temperature value as a function of received real time current component power consumption, and use the determined component fan control target setpoint temperature value as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the determined component fan control target setpoint temperature value may be less than or equal to a system maximum component thermal profile value that itself may be set less than the component thermal throttling temperature threshold value, or use the system maximum component thermal profile value as a selected component fan control target setpoint temperature value to control cooling fan speed of one or more of the cooling devices if the determined component fan control target setpoint temperature value may be greater than the system maximum component thermal profile value.
In one embodiment of such a third additional respect, the method may further include using the processing device to determine a value of a system fan control target setpoint temperature by subtracting an offset value from the selected component fan control target setpoint temperature value, and to control cooling fan speed of one or more of the cooling devices based on the determined system fan control target setpoint temperature and the real time current sensed component temperature. Additionally, the at least one heat-generating component may be a central processing unit (CPU), and the at least one processing device that may be separate from the heat-generating component may be an out-of-band processing device.
In the illustrated embodiment of
It will be understood that system platform 500 illustrated in
As further shown in
For purposes of illustration herein, the disclosed adaptive thermal control systems and methods will be described with reference to the exemplary embodiment of
Moreover, as further illustrated in
In
Examples of controller gain parameters/tuning parameters that may be so scaled include, but are not limited to, proportional-integral-derivative (PID) controller gains, i.e., proportional gain (Kp), integral gain (Ki), and derivative gain (Kd), which may be used in any combination (e.g., P, PI, PID, etc.) to generate the cooling fan controller output u(t) or manipulated variable (MV) that may be used as a pulse width modulation (PWM) control signal that varies based on real time CPU temperature provided from digital thermal sensing circuitry 502 of CPU 506. The resulting PWM control signal may be used to control the cooling fan speed, e.g., in a manner such as described in U.S. patent application Ser. No. 13/559,031 filed Jul. 26, 2012 and in U.S. patent application Ser. No. 14/154,840 filed Jan. 14, 2014, each of which are incorporated herein by reference in its entirety for all purposes. Besides PWM, it will be understood that any other suitable type of control signal may be employed to control cooling fan speed and/or power capping operations.
For example, in one exemplary embodiment a cooling fan controller implemented by adaptive thermal control 545 may utilize all three PID gains in the following relationship of Equation 1 to control cooling fan speed over time (t) based on setpoint (SP)=component fan control target temperature, and real time component temperature (PV) reported by component digital thermal sensing circuitry (e.g., sensor/s 502 of CPU 506 or other heat-producing component) at any given instantaneous time (t):
In one embodiment, scalable closed loop controller gains/tuning parameters may be stored in, and read from, a lookup table maintained in thermal control parameters 542 of persistent storage 540 of
In another exemplary embodiment, scalable closed loop controller gains/tuning parameters may be calculated from one or more equations stored in, and read from, thermal control parameters 542 of persistent storage 540 of
In each of the embodiments of Tables 1 and 2, component fan control target temperature is expressed as a component spec value (e.g., read from register 505 of a CPU device 506) that is expressed in values of absolute temperature (° C.), it being understood that similar methodology may be employed for other types of heat-producing components besides CPU 506. However, it will be understood that component fan control target temperature for a given information handling system component (such as CPU device 506 or other type of heat-producing component) may be alternatively expressed as a component spec using any other suitable type of temperature-indicative value, for example, as an offset value from specified maximum component temperature or component thermal throttling temperature threshold value.
In one embodiment, cooling fan speed may be controlled using a closed loop process control algorithm (e.g., P, PI, PID, etc.) implemented by adaptive thermal control 545 of processing device 508 based on either of a system fan control target setpoint temperature (e.g., determined as an offset from a component fan control target setpoint value as shown in
In the embodiment of
In a further exemplary embodiment, the system manufacturer system fan control target setpoint temperature value may be automatically set as an offset or function relative to the component thermal throttling temperature threshold value that is associated with a level of temperature overshoot expected for a specific information handling system platform configuration (e.g., the level of temperature overshoot may be characterized during system development or estimated based on simulation).
In the embodiment of
Specifically, adaptive thermal control logic 545 of out-of-band processing device 508 may be configured to only use values of selected component fan control target setpoint temperature that are within the specified component fan control target temperature value range for adaptive thermal control, such that the actual component fan control target temperature setpoint value read from the CPU register 505 or register 505 of other type of heat-producing component is only used as a basis for thermal control as long as it falls within the component fan control target temperature value range. However, if the particular fan control target temperature setpoint value read from the component register 505 exceeds the upper limit of the specified component fan control target temperature value range (such as may be the case when component fan control target temperature is increased as shown by the cross-hatched arrow in
It will be understood that the component fan control target temperature value range illustrated in
In one embodiment, out-of-band processing device 508 may be configured to use the particular value of component fan control target setpoint temperature that is read from the component thermal profile of the plot of
Still referring the embodiment of
As shown in
It will also be understood that one or more of the tasks, functions, or methodologies described herein (e.g., including those described herein for components 506, 508, 509, 530, 517, 580, 518, 521, 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.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
While the invention may be adaptable to various modifications and alternative forms, specific embodiments have been shown by way of example and described herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. Moreover, the different aspects of the disclosed systems and methods may be utilized in various combinations and/or independently. Thus the invention is not limited to only those combinations shown herein, but rather may include other combinations.
This application is a continuation of U.S. patent application Ser. No. 14/664,317, filed on Mar. 20, 2015 and entitled “Systems And Methods Of Adaptive Thermal Control For Information Handling Systems” which is incorporated herein by reference in its entirety for all purposes.
Number | Date | Country | |
---|---|---|---|
Parent | 14664317 | Mar 2015 | US |
Child | 15707649 | US |