# US 2020/0401112 A1 · Pre-runtime fan control

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401112 A1
- Document ID: US20200401112A1
- Status: Published application
- Kind: A1
- Application number: 16/447,537
- Filed: 2019-06-20
- Published: 2020-12-24
- Earliest claimed: 2019-06-20
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Justin York; Brian Collum; Michael Stearns
- Web page: https://patentgrep.com/patent/US20200401112A1

## CPC

- G05B 19/4155: characterised by program execution, i.e. part program or machine function execution, e.g. selection of a program
- G06F 1/20: Cooling means
- G06F 1/206: {comprising thermal management}
- G05B 2219/37431: Temperature
- H05K 7/20836: {Thermal management, e.g. server temperature control}
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H05K: PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS

## Abstract

Examples disclosed herein relate to initializing a fan speed of a computing device using a high-water value when a pre-runtime event occurs. A management controller (MC) receives sensor data from sensors of the computing device. A fan speed of a fan is controlled using a fan control value based on the sensor data. The fan control value is monitored to determine a high-water value of the fan control value. The high-water value is stored in a location that is accessible by a pre-runtime fan control engine of the computing device. In response to a pre-runtime event, the fan speed is initialized to a speed using the high-water value.

## Claims

### Claim 1

A computing device comprising:
a chassis including at least one fan;
a management controller (MC) including a processing element and a non-transitory machine readable media comprising instructions that, when executed by the processing element cause the MC to:
receive a plurality of sensor data from a plurality of sensors of the computing device;
control a fan speed of one of the at least one fan using a fan control value based on the sensor data;
monitor the fan control value to determine a high-water value of the fan control value;
store the high-water value in a location accessible by a pre-runtime fan control engine; and
the pre-runtime fan control engine to, in response to a pre-runtime event, initialize the fan to a speed using the high-water value.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the instructions are further executed to cause the MC to sample and store a first value of the sensor data when the high-water value is set.

### Claim 3 (depends on 2)

The computing device of claim 2, wherein the instructions are further executed to cause the MC to sample the sensor data over a period of time and, if the value of the sensor data indicates that the sampled sensor data over the period of time is below the first value by predetermined criteria, set the high-water value to another value.

### Claim 4 (depends on 3)

The computing device of claim 3, wherein the other value is a current value of the fan control value.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the instructions are further executed to cause the MC to determine a presence of a blade device at the chassis; and
in response to a change in the presence of the blade device, set the high-water value with another value.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein the MC is a chassis management controller (CMC) and at least one sensor of the plurality of sensors is from a blade device coupled to the chassis.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein the MC is separate from a host processor used to execute instructions for a high-level operating system executing on the computing device and wherein the MC provides an out of band service for the computing device.

### Claim 8 (depends on 1)

The computing device of claim 1, wherein the pre-runtime event is at least one of: a reset of the MC, a power cycle of the computing device, and a firmware update.

### Claim 9 (depends on 1)

The computing device of claim 1, wherein the pre-runtime fan control engine includes at least one of: a programmable logic device and a microcontroller using pulse width modulation.

### Claim 10 (depends on 1)

The computing device of claim 1, wherein the pre-runtime fan control engine is implemented by the MC as part of a bootloader initialization.

### Claim 11 (depends on 1)

The computing device of claim 1, wherein the pre-runtime fan control engine is further to: sample one of the sensors associated with an inlet temperature; compare the sample with a temperature of the one sensor taken when the high-water value was sampled; and if the inlet temperature is within a predetermined criteria higher than the temperature when the high-water value was sampled, set the speed of the fan to a max value instead of the high-water value.

### Claim 12

A method comprising:
receiving, by a management controller (MC), a plurality of sensor data from a plurality of sensors of a computing device that includes a chassis with at least one fan;
controlling a fan speed of one of the at least one fan using a fan control value based on the sensor data;
monitoring the fan control value to determine a high-water value of the fan control value;
storing the high-water value in a location accessible by a pre-runtime fan control engine of the computing device; and
in response to a pre-runtime event, initializing the fan speed to a speed using the high-water value by the pre-runtime fan control engine.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
sampling, by the MC, a first value of the sensor data when the high-water value is set;
sampling the sensor data over a period of time; and,
in response to the value of the sensor data indicating that the sampled sensor data over the period of time is below the first value by a predetermined criteria,
resetting the high-water value to another value.

### Claim 14 (depends on 13)

The method of claim 13, wherein the other value is a current value of the fan control value.

### Claim 15 (depends on 12)

The method of claim 12, wherein the pre-runtime event is at least one of: a reset of the MC, a power cycle of the computing device, and a firmware update, and wherein the pre-runtime fan control engine includes at least one of: a programmable logic device and a microcontroller using pulse width modulation.

### Claim 16 (depends on 12)

The method of claim 12, further comprising:
sampling one of the sensors associated with an inlet temperature;
comparing the sample with a temperature of the one sensor taken when the high-water value was sampled, and
in response to the inlet temperature being within a predetermined criteria higher than the temperature when the high-water value was sampled, setting the speed of the fan to a max value instead of the high-water value.

### Claim 17 (depends on 12)

The method of claim 12, wherein the MC is a chassis management controller (CMC) and at least one sensor of the plurality of sensors is from a blade device coupled to the chassis.

### Claim 18

A non-transitory machine-readable storage medium storing instructions that, if executed by a physical processing element of a management controller (MC) of a computing device, cause the MC to:
receive a plurality of sensor data from a plurality of sensors of the computing device that includes a chassis with a fan;
control a fan speed of one of the fan using a fan control value based on the sensor data;
monitor the fan control value to determine a high-water value of the fan control value; and
store the high-water value in a location accessible by a pre-runtime fan control engine of the computing device,
wherein the fan speed is to be initialized by the pre-runtime fan control engine using the high-water value in response to a pre-runtime event.

### Claim 19 (depends on 18)

The non-transitory machine-readable storage medium of claim 18, further comprising instructions that, if executed by the physical processing element, cause the MC to:
sample a first value of the sensor data when the high-water value is set;
sample the sensor data over a period of time; and,
in response to a current value of the sensor data indicating that the sampled sensor data over the period of time is below the first value by a predetermined criteria, reset the high-water value to another value.

### Claim 20 (depends on 18)

The non-transitory machine-readable storage medium of claim 18, wherein the MC is a chassis management controller (CMC) and at least one sensor of the plurality of sensors is from a blade device coupled to the chassis.
