Fan control device and program
The fan control device optimizes cooling by collecting and applying individual control logic for each cooling object in servers, addressing excessive power consumption and temperature fluctuations in devices with varying thermal characteristics.
Patent Information
- Application Number
- PCT/JP2024/004016
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-07
- Publication Date
- 2025-08-14
AI Technical Summary
Existing server products struggle to efficiently manage cooling for devices with different thermal characteristics, such as GPUs and FPGAs, installed via expansion cards, leading to excessive power consumption and temperature fluctuations due to inadequate temperature feedback control.
A fan control device that collects information on the operating status of each cooling object, applies individual control logic based on thermal characteristics, and determines optimal fan output to maintain safe temperatures while minimizing power consumption.
Reduces power consumption by approximately 40% while ensuring all cooling targets remain within a safe temperature range, even for devices with unknown thermal characteristics.
Smart Images

Figure JP2024004016_14082025_PF_FP_ABST
Abstract
Description
Fan control device and program
[0001] The present invention relates to a fan control device and a program for controlling fans that cool devices and the like provided in a server.
[0002] Computer systems such as servers are equipped with cooling mechanisms to deal with heat generated by semiconductors. Existing server products are designed with cooling control functions pre-installed for devices (CPUs and some expansion cards) whose thermal characteristics are known at the time of design, and the cooling fans are controlled by acquiring temperature information (see, for example, Non-Patent Documents 1 and 2).
[0003] “Custom Cooling Fan Options for Dell EMC PowerEdge Servers,” [online], [Retrieved January 18, 2020], DELL EMC, Oct 2019, Internet <URL: https: / / dl.dell.com / manuals / common / customcooling_poweredge_idrac9.pdf> “Intel 64 and IA-32 Architectures Software Developer's Manual,” [online], [Retrieved January 18, 2020], Intel, Vol.3B 15.8,5
[0004] However, when devices such as GPUs and FPGAs are incorporated into a server as cooling targets via expansion cards in addition to the devices to be cooled, such as CPUs that are already installed in the server, the physical layout, thermal characteristics (thermal resistance, heat capacity, etc.), and access methods to temperature sensors of the incorporated cooling targets will differ, making it difficult to take into account and prepare in advance for devices that are added later (hereinafter sometimes referred to as "unknown devices").
[0005] For this reason, when an unknown (additional) device without a cooling control function is installed, existing server products add a fixed offset to the fan output to ensure sufficient cooling. The cooling requirements of the additional device are given based on the assumption that stable operation will occur at maximum heat flow, so excessive cooling will always be performed when the device load is low and the heat flow is small. Furthermore, if the necessary cooling control is not performed, the temperature may rise and the system may not be able to perform as expected.
[0006] The present invention was made in consideration of these points, and its objective is to reduce the power consumption required for cooling while maintaining the temperature within a safe range in a server that has multiple cooling objects with different characteristics.
[0007] The fan control device of the present invention is a fan control device that controls fans for cooling cooling objects provided in a server, and is characterized by comprising: a control information collection unit that collects information on the operating status of each of the different types of cooling objects as a fan control index; a fan control logic unit that is provided for each of the cooling objects and has logic that outputs the cooling intensity of the fan corresponding to the acquired operating status information using correspondence information set for each of the cooling objects between the operating status information and the cooling intensity of the fan corresponding to that operating state; and a fan output determination unit that determines the cooling intensity to be output by the fan based on the operating status information acquired from each of the cooling objects and using the cooling intensity output by the logic for each of the cooling objects.
[0008] According to the present invention, in a server equipped with a plurality of cooling targets with different characteristics, it is possible to reduce the power consumption required for cooling while keeping the temperature within a safe range.
[0009] 1 is a diagram illustrating an overview of a server equipped with a cooling fan control unit (fan control device) according to the present embodiment. FIG. 2 is a diagram illustrating time variations in fan output in response to load fluctuations on a CPU and an expansion card in a cooling fan control unit (fan control device) according to the present embodiment. FIG. 3 is a block diagram illustrating the configuration of a server equipped with a cooling fan control unit (fan control device) according to the present embodiment. FIG. 4 is a block diagram illustrating the configuration of a first embodiment of a cooling fan control unit (fan control device) according to the present embodiment. FIG. 5 is a diagram illustrating an example data configuration of a lookup table (CPU temperature-cooling output correspondence information) held by a CPU fan control unit according to the present embodiment. FIG. 6 is a diagram illustrating an example data configuration of a lookup table (expansion card temperature-cooling output correspondence information) held by an expansion card fan control unit according to the present embodiment. FIG. 7 is a flowchart illustrating the flow of processing executed by a cooling fan control unit (fan control device) according to the present embodiment (first embodiment). FIG. 8 is a block diagram illustrating the configuration of a second embodiment of a cooling fan control unit (fan control device) according to the present embodiment. FIG. 9 is a diagram illustrating the physical configuration of a server chassis in a third embodiment of a cooling fan control unit (fan control device) according to the present embodiment. FIG. 10 is a diagram for explaining the process of determining fan output corresponding to the physical configuration of a server chassis in a third embodiment of a cooling fan control unit (fan control device) according to the present embodiment. FIG. 11 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of a cooling fan control unit (fan control device) according to the present embodiment. FIG. 12 is a diagram illustrating a cooling fan control method in an existing server. FIG. 10 is a diagram showing changes in fan output over time in response to load fluctuations on the CPU and expansion cards in an existing server.
[0010] Next, an embodiment of the present invention (hereinafter referred to as the "present embodiment") will be described. First, the premise of a cooling fan control system including a fan control device (cooling fan control unit 200 shown in FIG. 1 and the like, which will be described later) according to the present embodiment and requirements for solving the problems will be described in detail.
[0011] <Assumptions and Requirements for Solving the Problems> The cooling targets handled by the cooling fan control system according to this embodiment are assumed to meet the following criteria: (Assumption 1) The cooling targets installed in a server have different thermal characteristics (thermal resistance, heat capacity, etc.). Therefore, even if the same airflow rate is applied from a fan, the cooling effect of the cooling targets varies. (Assumption 2) The cooling targets requiring cooling by a fan and the temperature distribution of the cooling targets change over time. In a typical example of accelerator usage in a server, the CPU and expansion card are not simultaneously loaded, and one device in progress often waits for the other device to finish processing while the other device is idle. Furthermore, even for a single cooling target, the temperature distribution of the cooling target changes over time depending on the load. (Assumption 3) The type and nature of information obtained as an index for controlling the fan (hereinafter sometimes referred to as "control index") differs for each cooling target. For example, in addition to the temperature of the cooling target (device temperature), if the device temperature cannot be obtained, different information such as the expansion card's air intake temperature, device power consumption, device ON / OFF information, and fan rotation speed may be obtained as control indexes.
[0012] The cooling fan control system according to this embodiment aims to reduce the power consumption required for cooling while maintaining a stable temperature in a server equipped with multiple cooling targets with different characteristics, based on the above-mentioned premise. To achieve this goal, the following requirements must be met:
[0013] (Requirement 1: [Failure Suppression]) Requirement 1 is to maintain the temperature of all cooling targets within a safe range. The safe range refers to a temperature range below a threshold value (hereinafter sometimes referred to as a "temperature constraint") that allows the device to meet specified performance requirements, and is set, for example, by the manufacturer that produced the device. If the safe range (temperature threshold) is exceeded, the processing performance of the device will no longer meet the specified performance.
[0014] (Requirement 2: [Power Saving]) Requirement 2 is to reduce the power consumption required for cooling. Ideally, the power consumption should be reduced to the minimum required for cooling.
[0015] (Requirement 3: [Support for multiple different types of cooling targets]) Requirement 3 is the ability to support multiple cooling targets with different thermal characteristics and obtained information (control indices). Specifically, the following requirements must be met. (Requirement 3-1) Ability to support multiple cooling targets. (Requirement 3-2) Ability to support cooling targets with different thermal characteristics. (Requirement 3-3) Ability to support cooling targets with different obtained information (control indices).
[0016] (Requirement 4: [Temporal Variation]) Requirement 4 is that the above [Requirement 1] to [Requirement 3] must be satisfied even in an environment in which the object to be cooled and / or the temperature distribution of the object to be cooled changes over time.
[0017] (Requirement 5: [Support for unknown devices]) Requirement 5 is to enable efficient cooling control for newly added devices that are unknown to the server by subordinating the above [Requirements 1] to [Requirements 4].
[0018] The specific objective of the cooling fan control system according to this embodiment is to satisfy the above requirements 1 to 5. In other words, in an environment where multiple cooling targets with different thermal characteristics are installed, the information obtained varies, and the temperature distribution fluctuates over time, the system must determine the fan output that reduces (minimizes) power consumption while maintaining the temperature within a safe range, even for devices unknown to the server.
[0019] <Overview> Next, an overview of the fan control device according to this embodiment will be described in comparison with the prior art. Fig. 12 is a diagram showing a cooling fan control method for an existing server. As shown in Fig. 12, a server chassis 800 is equipped with a cooling object such as a CPU 11, a fan (cooling fan 30) that cools the cooling object by air cooling, and a fan controller 35 that controls the cooling strength (air volume) of the fan.
[0020] When a new device (such as a GPU or FPGA) is installed on the expansion card 12 of an existing server, an offset is added to the fan rotation speed assuming the worst case scenario. This is because the devices installed on the expansion card 12 each have different physical locations, thermal characteristics, and temperature acquisition methods, and because firmware changes are required to accommodate the new device, which are difficult to make. Therefore, in existing servers, temperature feedback control for the added device is not possible, and cooling is always performed by adding an offset value corresponding to the temperature of the CPU 11 (cooling strength: fan output) to the expansion card 12 assuming maximum load.
[0021] FIG. 13 shows the change in fan output over time in response to load fluctuations on the CPU 11 and expansion card 12 in an existing server. As shown in FIG. 13, in the existing server, the fan output offset required for cooling the expansion card 12 (FIG. 12) is always set as a lower limit. In particular, when the expansion card 12 is in use, the fan output is not able to change in response to temperature changes. Furthermore, even in an idle state with no load, cooling control is performed at an unnecessary lower limit fan output. This results in an increase of 200 W in power consumption in a typical server.
[0022] FIG. 1 is a diagram illustrating an overview of a server 1 equipped with a cooling fan control unit 200 (fan control device) according to this embodiment. The cooling fan control unit 200 (fan control device) according to this embodiment has the following functions as software for controlling the cooling fans 30 provided in the server chassis 100. The cooling fan control unit 200 (fan control device) sets individual control logic (the "fan control logic unit 220" in FIG. 3, described below) for each cooling target within the server. As shown in FIG. 1, this example illustrates a CPU fan control logic (the "CPU fan control unit 221" described below) that controls cooling for the CPU and an expansion card fan control logic (the "expansion card fan control unit 222" described below) that controls cooling for an expansion card. The cooling fan control unit 200 (fan control device) also includes a fan output determination unit 230. When determining the fan output (rotation speed), the fan output determination unit 230 selects the cooling target (device) that has the greatest impact on cooling from the set control logics (CPU fan control logic, expansion card fan control logic). The device that has the greatest impact on cooling is the device that requires the most cooling in terms of load, power consumption, temperature, etc. This makes it possible to reduce power consumption while still providing the necessary and sufficient cooling for all cooling targets.
[0023] FIG. 2 is a diagram showing the change in fan output over time in response to load fluctuations of the CPU 11 and expansion card 12 in the cooling fan control unit 200 (fan control device) according to this embodiment. As shown in FIG. 2, the cooling fan control unit 200 (fan control device) according to this embodiment controls cooling by the cooling fan 30 in response to the CPU 11 or expansion card 12 (FIG. 1) with the higher load. As a result, the cooling fan control unit 200 (fan control device) can suppress unnecessary cooling while maintaining a safe temperature, thereby reducing power consumption by approximately 40% in a typical server. Below, the functions of the cooling fan control unit 200 (fan control device) according to this embodiment are described in detail.
[0024] <Server with Cooling Fan Control Unit> Next, a server 1 etc. equipped with the cooling fan control unit 200 (fan control device) according to this embodiment will be described. Fig. 3 is a block diagram showing the configuration of the server 1 equipped with the cooling fan control unit 200 (fan control device) according to this embodiment.
[0025] 3, a server housing 100 of the server 1 is equipped with a group of cooling objects 10, a plurality of sensors 20, and a cooling fan 30. The cooling objects 10 include a CPU 11 (FIG. 4) and various expansion cards 12 (FIG. 4) equipped with a GPU, FPGA, etc., and are components within the server housing 100 that constitute the server 1 that require forced air cooling by the cooling fan 30.
[0026] The sensors 20 are various sensors that acquire the operating states of the cooling target 10 and the entire server 1 as control indicators for the cooling target 10. In addition to being provided as stand-alone components in the server casing 100, the sensors 20 may also be mounted inside various components.
[0027] The cooling fan 30 is a fan for forced air cooling of the cooling target 10. For example, the fan output (fan rotation speed) can be changed by adjusting the voltage supplied to the fan from the cooling fan control unit 200. The cooling fan 30 may have a basic configuration that combines only a mechanism that can control the fan's power supply voltage from software, or it may have a built-in fan control mechanism that allows the fan output to be specified externally by switching its operating mode.
[0028] The cooling fan control unit 200 includes an individual fan control logic unit 220 for each cooling target 10, and acquires sensor data (control index) from the sensors 20, which is information indicating the operating state of each cooling target 10. Then, based on the various collected sensor data, the cooling fan control unit 200 determines a fan output sufficient to satisfy the temperature constraints of the device (below the temperature threshold).
[0029] The cooling fan control unit 200 includes a control information collection unit 210, a fan control logic group consisting of multiple fan control logic units 220, and a fan output determination unit 230. The cooling fan control unit 200 may be installed as software in a control unit (not shown) implemented by a CPU or the like within the server 1, or may be provided with the functions of the cooling fan control unit 200 as a device in a separate housing outside the server 1, and the functions may be realized by connecting the device to the server 1 for communication. In this embodiment, an example will be described in which the cooling fan control unit 200 is incorporated as software into the control unit within the server 1.
[0030] The control information collection unit 210 collects sensor data (information on the operating state) indicating the operating state of each cooling target 10 from the sensors 20. The control information collection unit 210 then outputs the acquired sensor data to the fan control logic unit 220 for each cooling target 10 in the fan control logic group. Alternatively, the control information collection unit 210 outputs the acquired sensor data to the fan output determination unit 230.
[0031] Each fan control logic unit 220 in the fan control logic group is provided for each cooling target 10, and holds individual control logic for each device with different thermal characteristics. This fan control logic unit 220 implements control processing for determining the cooling output for each device, and outputs the cooling intensity required for each device (cooling target 10) based on various control indices (sensor data) collected by the control information collection unit 210. Specifically, the fan control logic unit 22 uses correspondence information ("control indices-cooling output correspondence information 500 for each cooling target" described below) between sensor data (operating state information) set for each cooling target and the cooling intensity of the cooling fan 30 corresponding to that operating state to output the cooling intensity of the cooling fan 30 corresponding to the acquired sensor data (operating state information).
[0032] The fan output determination unit 230 determines the cooling intensity to be output by the cooling fan 30 based on information (sensor data) on the operating state of each cooling target 10, using the cooling intensity output by the logic of each cooling target 10. In this case, the fan output determination unit 230 determines the output of the cooling fan 30 that suppresses (minimizes) power consumption while ensuring that, for example, the device requiring the strongest cooling satisfies the temperature constraint. Details of the processing by this fan output determination unit 230 will be described later.
[0033] In addition, the information on the temperature constraints (temperature thresholds) of each cooling object 10 may be stored by each fan control logic unit 220 for the corresponding cooling object 10, or the fan output determination unit 230 may store information on all cooling objects 10.
[0034] By having the above-mentioned configuration, the server 1 equipped with the cooling fan control unit 200 (fan control device) can determine the fan output that reduces (minimizes) power consumption while keeping the temperature within a safe range, even for devices unknown to the server, in an environment where multiple cooling targets with different thermal characteristics are installed, the information obtained is different, and the temperature distribution fluctuates over time.
[0035] Next, an example of a server 1 including the cooling fan control unit 200 (fan control device) according to this embodiment will be described.
[0036] Example 1 Example 1 shows a basic implementation form of a server 1 including a cooling fan control unit 200 (fan control device) according to this embodiment. Fig. 4 is a block diagram showing the configuration of Example 1 of the cooling fan control unit 200 (fan control device) according to this embodiment.
[0037] In the server 1 (1A) of the first embodiment, a CPU 11 and an expansion card 12 are configured as multiple cooling targets 10 ( FIG. 3 ) in the server 1 (1A). The temperatures of the CPU 11 and the expansion card 12 are measured by a sensor 20 (not shown in FIG. 4 ) as the CPU temperature and the expansion card temperature, and output to a cooling fan control unit 200 (fan control device). The server 100 is also configured with a single cooling fan 30 for air-cooling both the CPU 11 and the expansion card 12. In other words, the single cooling fan 30 cools the CPU 11 and the expansion card 12. The sensor 20 (not shown) may measure, for example, power consumption, power supply status, airflow, fan rotation speed, and the like, in addition to the CPU temperature and expansion card temperature. The sensor 20 may be implemented as a standalone sensor in the server 1 (1A) or the expansion card 12, or may be integrated into a semiconductor chip or package. In this embodiment, it is assumed that it is installed inside the CPU or on an expansion board, and does not exist as a standalone function on the server 1 (1A).
[0038] The cooling fan control unit 200 includes a control information collection unit 210, a fan control logic unit 220 (FIG. 3) corresponding to each cooling object 10, which includes a CPU fan control unit 221 and an expansion card fan control unit 222, and a fan output determination unit 230.
[0039] The control information collector 210 acquires sensor data via an appropriate interface for utilizing the power management functions of the CPU 11 and the expansion card 12. For example, in the case of the CPU 11, there are methods for accessing the MSR (Model Specific Register) via the power management device driver of the CPU 11, methods for accessing the sensors via the device driver or tool kit of the expansion card 12, and methods for acquiring values from various sensors via a remote management function provided in the server 1 (1A). In addition, there is a method in which a framework for temperature monitoring is provided in the OS, such as hwmon in Linux (registered trademark), and sensors are abstracted and the temperature is acquired using this function.
[0040] The cooling fan control unit 200 also includes a fan control logic unit 220 (FIG. 3) that includes a CPU fan control unit 221 corresponding to the CPU 11 and an expansion card fan control unit 222 corresponding to the expansion card 12. The CPU fan control unit 221 and the expansion card fan control unit 222 each receive the temperatures of the CPU 11 and the expansion card 12 as inputs, and output values for controlling the cooling intensity of the cooling fan 30 using, for example, lookup tables (control index-cooling output correspondence information 500 for each cooling object) shown in FIGS. 5 and 6. The correspondence information between the control index and cooling output for each cooling object 10, set as this lookup table, sets a cooling output necessary and sufficient to keep the operating status information (e.g., temperature) of the cooling object 10 within a safe range. This prevents the cooling fan 30 from consuming excessive power, thereby reducing (minimizing) the power consumption of the cooling fan 30.
[0041] 5 is a diagram showing an example of the data configuration of a lookup table (CPU temperature-cooling output correspondence information 510) held by the CPU fan control unit 221. The CPU fan control unit 221 can obtain a preset cooling output according to an input value (CPU temperature) using, for example, this lookup table (CPU temperature-cooling output correspondence information 510).
[0042] 6 is a diagram showing an example of the data configuration of a lookup table (expansion card temperature-cooling output correspondence information 520) held by the expansion card fan control unit 222. The expansion card fan control unit 222 can use, for example, this lookup table (expansion card temperature-cooling output correspondence information 520) to obtain a preset cooling output according to an input value (expansion card temperature).
[0043] In addition to outputting a preset value using a lookup table, the fan control logic unit 220 may also perform proportional control or temperature feedback control using PID (Proportional Integral Derivative) control to output a value proportional to the temperature. Furthermore, if the specifications of the expansion card 12 stipulate the required airflow rate for each intake air temperature, the airflow rate according to the intake air temperature may be output.
[0044] Furthermore, the following values may be output by the fan control logic unit 220 as values for controlling the output of the cooling fan 30: (1) A value (0 to 100%) indicating the required cooling strength is specified, with the maximum output being 100%. For example, the fan output can be specified in the range of 0 to 100% using an IPMI (Intelligent Platform Management Interface) command for the remote management function. (2) The air volume (m 3 (3) Specify the fan output voltage. For example, this is the case when the cooling fan 30 is directly voltage controlled or when PWM (Pulse Width Modulation) is used.
[0045] The fan output determination unit 230 determines the fan output (cooling intensity) using, for example, the following two fan output determination methods. Fan output determination method "1": The maximum value of the cooling intensities output by each fan control logic unit 220 (here, the CPU fan control unit 221 and the expansion card fan control unit 222) is determined as the fan output. Fan output determination method "2": Information on the operating status (e.g., temperature) of each cooling target 10 (here, the CPU 11 and the expansion card 12) is obtained from the control information collection unit 210, the fan control logic unit 220 corresponding to the device with the highest temperature is selected, and the fan control logic unit 220 is operated to obtain the cooling intensity and determine it as the fan output. Which of the fan output determination methods "1" and "2" to use is determined in advance by settings in a system management device or the like. The fan output determination unit 230 outputs the determined fan output to the cooling fan 30 and controls it.
[0046] Note that the fan output determination unit 230 may not determine the fan output using the fan control logic 220 corresponding to the cooling object 10 with the highest temperature of each cooling object 10 obtained from the sensor 20 (temperature sensor). For example, when the temperatures output by the temperature sensors are 60 degrees, 50 degrees, etc., and the threshold value for the cooling object 10 that output 60 degrees is 75 degrees and the threshold value for the cooling object 10 that output 50 degrees is 60 degrees, the allowable temperature rises are 15 degrees and 10 degrees, respectively. Therefore, the fan control logic 220 corresponding to the cooling object 10 with a temperature of 50 degrees, which has a small margin (small difference from the threshold), is selected.
[0047] <Processing of Fan Control Device> Next, a process executed by the cooling fan control unit 200 (fan control device) according to this embodiment (Example 1) will be described. Fig. 7 is a flowchart showing the flow of the process executed by the cooling fan control unit 200 (fan control device) according to this embodiment (Example 1). Note that in this description, it is assumed that the fan output determination unit 230 of the cooling fan control unit 200 determines the fan output using the above-described fan output determination method "1."
[0048] First, as a preliminary process for determining the fan output, a lookup table (control index-cooling output correspondence information 500 for each cooling object) is set in the fan control logic unit 220 for the cooling object 10 (CPU 11, expansion card 12), including devices added to the expansion card 12 (step S1: setting fan output characteristics). This sets the fan output characteristics according to the cooling object 10. Specifically, CPU temperature-cooling output correspondence information 510 (FIG. 5) and expansion card temperature-cooling output correspondence information 520 (FIG. 6) are set in the lookup table, allowing the CPU fan control unit 221 and the expansion card fan control unit 222 corresponding to the devices added to the expansion card to execute processing.
[0049] Next, the control information collector 210 acquires sensor data (operating state information) such as temperature, which is a control index of the cooling target (e.g., the CPU 11, the GPU or FPGA on the expansion card 12, etc.), via the sensor 20 (step S2). Note that the control information collector 210 may acquire the sensor data as an asynchronous process as a separate task, acquiring the latest measured value as needed. The control information collector 210 then outputs the acquired sensor data (e.g., temperature) to the fan control logic unit 220 (CPU fan controller 221, expansion card fan controller 222) corresponding to the cooling target. Note that when determining fan output using the above-described fan output determination method "2," the control information collector 210 outputs the acquired sensor data (e.g., temperature) to the fan output determination unit 230.
[0050] Next, each fan control logic unit 220 (CPU fan control unit 221, expansion card fan control unit 222) calculates cooling intensity based on the sensor data by referring to the control index-cooling output correspondence information 500 for each cooling target (CPU temperature-cooling output correspondence information 510, expansion card temperature-cooling output correspondence information 520), which is a lookup table (step S3). Then, each fan control logic unit 220 outputs the calculated cooling intensity to the fan output determination unit 230.
[0051] For example, suppose the CPU temperature and expansion card temperature are both 55 degrees. In this case, the CPU fan control unit 221 references the lookup table (CPU temperature-cooling output correspondence information 510) shown in FIG. 5 and sets the cooling output to "80%." The expansion card fan control unit 222 references the lookup table (expansion card temperature-cooling output correspondence information 520) shown in FIG. 6 and sets the cooling output to "60%." Also, suppose the CPU temperature is 45 degrees and the expansion card temperature is 55 degrees. In this case, the CPU fan control unit 221 references the lookup table (CPU temperature-cooling output correspondence information 510) shown in FIG. 5 and sets the cooling output to "50%." The expansion card fan control unit 222 references the lookup table (expansion card temperature-cooling output correspondence information 520) shown in FIG. 6 and sets the cooling output to "60%."
[0052] Next, each fan control logic unit 220 detects a cooling target 10 whose temperature is dangerous (i.e., whose temperature constraint is not satisfied) based on the sensor data (step S4: check temperature constraint). If the acquired sensor data (temperature) exceeds the temperature threshold and does not satisfy the temperature constraint, each fan control logic unit 220 determines the maximum fan output and outputs the maximum fan output to the fan output determination unit 230. Note that when determining fan output using the above-described fan output determination method "2," the fan output determination unit 230 stores information about the temperature constraint (temperature threshold), and the fan output determination unit 230 determines whether the temperature constraint is satisfied for each cooling target 10. If the temperature constraint is not satisfied, the fan output determination unit 230 maximizes the fan output for that cooling target 10. Furthermore, the cooling fan control unit 200 (fan control device) may transmit warning information to an external system management device or the like when it detects that the temperature constraint is not satisfied for each cooling target 10.
[0053] In addition, when the control information collection unit 210 acquires information other than temperature information as a control index (for example, the power consumption of the cooling target 10), it may retain correspondence information between the control index (power consumption) and the temperature of the cooling target 10, and determine whether the threshold value of the control index (power consumption) corresponding to the temperature threshold has been exceeded.
[0054] In step S5, the fan output determination unit 230 determines the maximum value as the fan output from the cooling outputs acquired from the fan control logic units 220. Then, the fan output determination unit 230 instructs the cooling fan 30 to use the determined cooling output.
[0055] For example, when the input from the CPU fan control unit 221 is 80% and the input from the expansion card fan control unit 222 is 60%, the fan output determination unit 230 determines the maximum value of 80% as the cooling intensity of the cooling fan 30. When the input from the CPU fan control unit 221 is 50% and the input from the expansion card fan control unit 222 is 60%, the fan output determination unit 230 determines the maximum value of 60% as the cooling intensity of the cooling fan 30.
[0056] When determining fan output using the above-described fan output determination method "2," the fan output determination unit 230 determines the highest temperature among the temperatures of the cooling targets 10 (here, the CPU 11 and the expansion cards 12) obtained from the control information collection unit 210. The fan output determination unit 230 then selects the fan control logic unit 220 corresponding to the device with the highest temperature, operates the fan control logic unit 220 to obtain the cooling intensity, and determines the cooling intensity as the fan output.
[0057] In this way, a server 1 equipped with a cooling fan control unit 200 (fan control device) can determine fan output that reduces (minimizes) power consumption while keeping the temperature within a safe range in an environment where multiple cooling targets with different thermal characteristics are installed, the information obtained is different, and the temperature distribution fluctuates over time, even for devices unknown to the server.
[0058] Example 2 Example 2 illustrates a modified example of a server 1 equipped with a cooling fan control unit 200 (fan control device) according to the present embodiment. FIG. 8 is a block diagram showing the configuration of Example 2 of the fan control device according to the present embodiment. Unlike Example 1, Example 2 uses information on the power state (on / off) of the expansion card 12 as the control index instead of the temperature of the expansion card 12 as the control index. Therefore, the server casing 100 (100B) of the server 1 (1B) according to Example 2 is equipped with a power management unit 40. Furthermore, the expansion card fan control unit 222 ( FIG. 4 ) of the cooling fan control unit 200 (200B) is replaced with an expansion card fan control unit 222B. In FIG. 8 , components having the same functions as those in FIG. 4 are given the same names and symbols, and descriptions thereof will be omitted.
[0059] Some servers that support PCIe Hotplug and PCIe boxes that only accommodate expansion cards have a function that allows the power supply to the expansion slots to be cut off from software. In the second embodiment, a power management unit 40 is provided with a function for managing the power supply of the expansion cards (cutting off the power supply, measuring power consumption, etc., in response to instructions from software). The power management unit 40 checks the power state (on / off) of the expansion card 12 as an index for controlling the fan of the expansion card 12, instead of the temperature, and outputs the power state information to the cooling fan control unit 200 (200B).
[0060] The control information collection unit 210 of the cooling fan control unit 200B (fan control device) acquires information on the power state (on / off) of each expansion card from the power management unit 40 and outputs the information to the corresponding fan control logic unit 220 (expansion card fan control unit 222). The expansion card fan control unit 222B outputs the required cooling intensity (fan output) as a fixed value (predetermined fixed value) depending on the power state of the expansion card 12. Specifically, when the power state of the expansion card 12 is on (when power is being supplied to the expansion card 12), the expansion card fan control unit 222B outputs an offset of the predetermined fixed value to the fan output determination unit 230. On the other hand, when the power state of the expansion card 12 is off (when power is not being supplied to the expansion card 12), the expansion card fan control unit 222B outputs information indicating no offset (offset "0") to the fan output determination unit 230. The fan output determination unit 230 then determines the maximum value of the cooling output output by the CPU fan control unit 221 and the cooling output output by the expansion card fan control unit 222B as the final fan output.
[0061] It is also possible to dispense with providing the expansion card fan control unit 222B and have that function included in the fan output determination unit 230. Specifically, the fan output determination unit 230 receives information about the power state (on / off) of the expansion card from the control information collection unit 210, and determines the fan output by setting the cooling intensity required for the expansion card 12 to a predetermined fixed value (offset) when the power state is on, and by setting the cooling intensity required for the expansion card 12 to "0" when the power state is off.
[0062] As an application example, if the power management unit 40 can obtain information on the power consumption of the expansion card 12, the expansion card fan control unit 222B may store correspondence information between the power consumption of the expansion card 12 and the required fan output, and determine the fan output by referring to that correspondence information.
[0063] In this way, the cooling fan control unit 200B (fan control device) of Example 2 can determine the optimal fan output based on information about the power supply status and power consumption of the expansion card 12, even if temperature information about the expansion card 12 cannot be obtained.
[0064] Example 3 Example 3 shows a modified example of the server 1 equipped with the cooling fan control unit 200 (fan control device) according to the present embodiment. Fig. 9 is a diagram showing the physical configuration of a server casing in Example 3 of the fan control device according to the present embodiment. Fig. 10 is a diagram for explaining the process of determining the fan output corresponding to the physical configuration of the server casing in Example 3 of the fan control device according to the present embodiment. Note that components having the same functions as those in Fig. 4 are assigned the same reference numerals and descriptions thereof will be omitted.
[0065] In the third embodiment, an example is shown in which the server 1 (1C) is equipped with slots #1, #2, and #3 for CPUs #1 and #2 and an expansion card 12, and is also equipped with multiple cooling fans 30 (here, six cooling fans (fans #1 to #6)). Here, slot #1 is air-cooled by fans #1 and #2. Slot #2 is air-cooled by fans #3 and #4. Slot #3 is air-cooled by fans #5 and #6. CPU #1 is air-cooled by fans #1, #2, and #3. CPU #2 is air-cooled by fans #4, #5, and #6. Also, here, slots #1 and #3 are empty slots, and a GPU is installed in slot #2.
[0066] 10, the cooling fan control unit 200 according to the third embodiment includes a fan output determination unit 230 (#1 to #6) for each of a plurality of cooling fans 30 (fans #1 to #6) that cool the cooling target 10. The cooling fan control unit 200 also includes a position information setting unit 240 that sets position information that associates the cooling target 10 with each cooling fan 30 based on the physical positional relationship between the CPU 11 or expansion slots that constitute the cooling target 10 and each cooling fan 30.
[0067] The position information setting unit 240 sets, as position information, a correspondence between the cooling target 10 and one of the multiple cooling fans 30 that cool the cooling target 10, based on the physical position of each cooling fan 30 that cools the cooling target 10. That is, the position information setting unit 240 acquires in advance the positional relationship between the CPU 11 and slots, and each cooling fan 30, as position information, and sets which fan control logic unit 220 each fan output determination unit 230 associated with each cooling fan 30 corresponds to. Using this position information, each fan output determination unit 230 can identify one or more cooling targets 10 to be cooled by the cooling fan 30 associated with it, and can determine the cooling intensity to be output by the cooling fan 30 using the cooling intensity output by the fan control logic unit 220 corresponding to the identified cooling target 10.
[0068] In this example, because a GPU is installed in slot #2, the fan output determination unit 230 (#3) corresponding to fan #3, which cools slot #2, receives cooling output information from both the fan control unit for CPU #1 (CPU fan control unit #1) and the GPU fan control unit, and determines the maximum value as the cooling output of fan #3 (symbol α in FIG. 10 ). Similarly, the fan output determination unit 230 (#4) corresponding to fan #4, which cools slot #2, receives cooling output information from both the fan control unit for CPU #2 (CPU fan control unit #2) and the GPU fan control unit, and determines the maximum value as the cooling output of fan #4 (symbol β in FIG. 10 ).
[0069] In this way, the cooling fan control unit 200 (fan control device) of Example 3 can increase the fan output only at locations where devices are set in slots and where cooling is highly required, thereby suppressing unnecessary fan rotation for the entire server.
[0070] <Hardware Configuration> The fan control device according to this embodiment is realized by a computer 900 having a configuration such as that shown in Fig. 11. Fig. 11 is a hardware configuration diagram showing an example of the computer 900 that realizes the functions of the fan control device according to this embodiment. The computer 900 has a CPU 901, a ROM (Read Only Memory) 902, a RAM 903, an HDD (Hard Disk Drive) 904, an input / output I / F (Interface) 905, a communication I / F 906, and a media I / F 907.
[0071] The CPU 901 operates based on a program (fan control program) stored in the ROM 902 or the HDD 904, and performs control by the cooling fan control unit 200 (see FIGS. 3 and 4, etc.). The ROM 902 stores a boot program executed by the CPU 901 when the computer 900 is started, programs related to the hardware of the computer 900, and the like.
[0072] The CPU 901 controls an input device 910 such as a mouse or keyboard, and an output device 911 such as a display or printer, via an input / output I / F 905. The CPU 901 acquires data from the input device 910 via the input / output I / F 905, and outputs generated data to the output device 911. Note that a GPU (Graphics Processing Unit) or the like may be used as a processor together with the CPU 901.
[0073] The HDD 904 stores programs executed by the CPU 901 and data used by the programs. The communication I / F 906 receives data from other devices via a communication network (e.g., NW (Network) 920) and outputs the data to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network.
[0074] The media I / F 907 reads a program (fan control program) or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads a program related to a target process from the recording medium 912 onto the RAM 903 via the media I / F 907, and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disc), a magneto-optical recording medium such as an MO (Magneto Optical Disc), a magnetic recording medium, a semiconductor memory, or the like.
[0075] For example, when the computer 900 functions as the fan control device of the present invention, the CPU 901 of the computer 900 executes a program loaded onto the RAM 903 to realize the functions of the fan control program. Furthermore, the HDD 904 stores data in the RAM 903. The CPU 901 reads and executes a program related to a target process from the recording medium 912. Alternatively, the CPU 901 may read a program related to a target process from another device via a communication network (NW 920).
[0076] <Effects> The following describes the effects of the fan control device and the like according to the present invention. The fan control device (cooling fan control unit 200) according to the present invention is a fan control device that controls the cooling fans 30 for cooling the cooling targets 10 provided in the server 1, and is characterized by comprising: a control information collection unit 210 that collects information on the operating states of each of the different types of cooling targets 10 as a control index for the cooling fans 30; a fan control logic unit 220 provided for each cooling target 10 that has logic that uses correspondence information set for each cooling target 10 between the operating state information and the cooling intensities of the cooling fans 30 corresponding to the operating states to output the cooling intensity of the cooling fans 30 corresponding to the acquired operating state information; and a fan output determination unit 230 that determines the cooling intensity to be output by the cooling fans 30 based on the operating state information acquired from each cooling target 10 and using the cooling intensity output by the logic for each cooling target 10.
[0077] In this way, the fan control device (cooling fan control unit 200) can determine the fan output that reduces (minimizes) power consumption while keeping the operating state (temperature) within a safe range, even for devices (cooling targets) unknown to the server 1, in an environment where multiple cooling targets 10 with different thermal characteristics are installed in the server 1, the obtained information (control index) is different, and the temperature distribution fluctuates over time. Specifically, even if an unknown (additional) device without a cooling function is mounted on the expansion card 12, there is no need to add a fixed offset value to the fan output as in existing server products, and power consumption required for cooling can be reduced while keeping the temperature within a safe range based on the correspondence information.
[0078] Furthermore, in the fan control device (cooling fan control unit 200), when the control information collection unit 210 acquires information on whether the power state of the cooling object 10 is on / off as the operating state, the fan control logic unit 220 corresponding to the cooling object 10 outputs a predetermined fixed value as the cooling intensity if the power state is on.
[0079] By doing this, even if the fan control device (cooling fan control unit 200) cannot obtain information on the operating status, such as temperature, the fan control logic unit 220 of the cooling object 10 can output the cooling strength of the cooling fan 30 using information on the on / off power status of the cooling object 10.
[0080] The server 1 also has a plurality of cooling fans 30 for cooling the cooling objects 10, and the fan control device (cooling fan control unit 200) has a plurality of fan output determination units 230 corresponding to each cooling fan 30, and further has a position information setting unit 240 that sets, as position information, the correspondence between the cooling object 10 and one of the plurality of cooling fans 30 that cool the cooling object 10 based on the physical position of each cooling fan 30 that cools the cooling object 10, and each fan output determination unit 230 identifies one or more cooling objects 10 cooled by the cooling fan 30 associated with it using the position information, and determines the cooling intensity to be output by the cooling fan 30 using the cooling intensity output by the fan control logic unit 220 corresponding to the identified cooling object 10.
[0081] By doing this, when the server 1 is equipped with multiple cooling fans 30 and the cooling fans 30 can be controlled individually, the fan control device (cooling fan control unit 200) increases the cooling output of only the cooling fan 30 corresponding to the cooling target 10 that needs to be cooled most, based on the position information of the cooling target 10 and the multiple cooling fans 30. Thus, the fan control device (cooling fan control unit 200) can reduce the power consumption required for cooling the server 1 as a whole.
[0082] The present invention is not limited to the above-described embodiments, and many modifications can be made by a person having ordinary skill in the art within the technical concept of the present invention.
[0083] REFERENCE SIGNS LIST 1, 1A, 1B, 1C Server 10 Cooling object 11 CPU 12 Expansion card 20 Sensor 30 Cooling fan (fan) 40 Power management unit 100, 100B Server chassis 200, 200B Cooling fan control unit (fan control device) 210 Control information collection unit 220 Fan control logic unit 221 CPU fan control unit 222, 222B Expansion card fan control unit 230 Fan output determination unit 240 Position information setting unit 500 Control index-cooling output correspondence information for each cooling object 510 CPU temperature-cooling output correspondence information 520 Expansion card temperature-cooling output correspondence information
Claims
1. A fan control device that controls fans for cooling cooling objects provided in a server, comprising: a control information collection unit that collects information on the operating status of each of the different types of cooling objects as a fan control index; a fan control logic unit provided for each of the cooling objects, which has logic that uses correspondence information set for each of the cooling objects between the operating status information and the cooling strength of the fan corresponding to that operating status to output the cooling strength of the fan corresponding to the acquired operating status information; and a fan output determination unit that determines the cooling strength to be output by the fan based on the operating status information acquired from each of the cooling objects, using the cooling strength output by the logic for each of the cooling objects.
2. The fan control device according to claim 1, wherein when the control information collection unit acquires information on whether the power state of the cooling object is on or off as the operating state, the fan control logic unit corresponding to the cooling object outputs a predetermined fixed value as the cooling intensity if the power state is on.
3. The fan control device according to claim 1, wherein the server is provided with a plurality of fans for cooling the cooling target, a plurality of fan output determination units are provided corresponding to each of the fans, and the server further comprises a position information setting unit that sets, as position information, a correspondence between the cooling target and one of the plurality of fans that cool the cooling target based on the physical position of each of the fans that cool the cooling target, and each of the fan output determination units identifies one or more cooling targets that are cooled by the fan associated with it based on the position information, and determines the cooling intensity to be output by the fan using the cooling intensity output by the fan control logic unit that corresponds to the identified cooling target.
4. A program for causing a computer to function as the fan control device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Storage system
JP2007018483A
Enclosure control apparatus, blade enclosure and program
JP2013029915A
Measuring device and measuring method
JP2013186730A