Fan speed adjustment method and server
By controlling the fan to run at a low speed during server startup using the BMC and adjusting the speed according to the BIOS status and operating parameters, the problems of high noise and overheating during server startup are solved, achieving the effect of reducing noise and power consumption.
Patent Information
- Application Number
- PCT/CN2025/085833
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-06
- Filing Date
- 2025-03-28
- Publication Date
- 2025-12-11
AI Technical Summary
During server startup, the fan speed may suddenly increase, resulting in high noise and power consumption, and may also cause overheating issues.
During the server boot process, the Baseboard Management Controller (BMC) initially runs the fan at a low speed and then adjusts the fan speed according to the BIOS boot status and server operating parameters. Adaptive speed control strategies such as PID speed control and range speed control are used to ensure heat dissipation requirements while reducing noise and power consumption.
Effectively reduce noise and power consumption during server startup, ensure heat dissipation requirements, avoid overheating, and ensure system stability and reliability.
Smart Images

Figure CN2025085833_11122025_PF_FP_ABST
Abstract
Description
Fan rotating speed adjusting method and server
[0001] This application claims priority to the Chinese patent application No. CN202410732764.3, filed on June 6, 2024, with the Chinese Patent Office, the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] Embodiments of the present application relate to the technical field of server, in particular to a fan rotating speed adjusting method and a server. BACKGROUND
[0003] During the server startup process, the internal fan may have a sudden increase in speed, and will run at high speed for a long time, producing a lot of noise, and also causing the server to overheat. SUMMARY
[0004] Embodiments of the present application provide a fan rotating speed adjusting method, device, server, computer storage medium and computer program product, which can reduce noise and ensure the heat dissipation of the server during the server startup process.
[0005] In a first aspect, the embodiments of the present application provide a fan rotating speed adjusting method, which comprises: during the server startup process, controlling the fan to run at a first rotating speed value within a first time period after the server's baseboard management controller (BMC) is powered on and started, the first rotating speed value being lower than the rated rotating speed of the fan; after the first time period is reached, obtaining first information, the first information being used to represent whether the input / output system (BIOS) deployed in the server is completed; if the BIOS is not completed, increasing the rotating speed of the fan as the server startup time increases; if the BIOS is completed, calling an adaptive speed adjusting strategy to adjust the rotating speed of the fan according to the operating parameters of the server, the operating parameters including the workload parameters and temperature parameters of the hardware in the server.
[0006] In this embodiment, during the process of powering on the server to the completion of the OS startup, the BMC of the server is powered on and started first. The BMC can control the fan to run at a lower rotating speed value (first rotating speed value) within a first time period before the BIOS is completed, to meet the current lower heat dissipation demand in the server and reduce the noise and power consumption of the fan. When the BMC determines that the BIOS is completed, since the processor, memory and sensor and other hardware of the server have been initialized under the control of the BIOS instruction at this time, the BMC can adaptively adjust the rotating speed of the fan according to the workload and temperature of the processor, memory and other hardware (determined by the sensor) through an adaptive adjustment strategy, to reduce the power consumption and avoid overheating.
[0007] In some possible implementation manners, the duty cycle value of the pulse width modulation (PWM) signal for controlling the rotation speed of the fan corresponding to the first rotation speed value is in a first range; and if the BIOS has not completed the startup, the rotation speed of the fan is increased as the server startup time increases, including: if the BIOS has not completed the startup after the first time length is reached, the rotation speed of the fan is switched from the first rotation speed value to a second rotation speed value, and the duty cycle value of the pulse width modulation (PWM) signal for controlling the rotation speed of the fan corresponding to the second rotation speed value is in a second range; the first range and the second range are not overlapped, and the maximum value of the first range is less than or equal to the minimum value of the second range.
[0008] In this way, if the BIOS needs a relatively long time to complete the startup, the server startup time is prolonged, and the BMC can increase the rotation speed of the fan to the second rotation speed value to meet the heat dissipation requirement in the relatively long server startup time, and control the rotation speed as much as possible, thereby reducing the noise.
[0009] In some possible implementation manners, if the BIOS has not completed the startup, the rotation speed of the fan is increased as the server startup time increases, including: if the BIOS has not completed the startup after the second time length is reached, the rotation speed of the fan is adjusted to a third rotation speed value, the second time length is greater than the first time length, the duty cycle value of the pulse width modulation (PWM) signal for controlling the rotation speed of the fan corresponding to the third rotation speed value is in a third range, and the minimum value of the third range is greater than or equal to the maximum value of the second range.
[0010] In this way, if the BIOS needs an excessively long time (longer than the preset second time length) to complete the startup, the BMC can increase the rotation speed of the fan to the third rotation speed value to meet the heat dissipation requirement in the excessively long server startup time, and control the rotation speed as much as possible, thereby reducing the noise.
[0011] In some possible implementation manners, if the BIOS has completed the startup, an adaptive speed regulation strategy is called to adjust the rotation speed of the fan according to the running parameters of the server, including: if the BIOS has completed the startup, the adaptive speed regulation strategy is called after a third time length is delayed; and the adaptive speed regulation strategy is used to adjust the rotation speed of the fan according to the running parameters of the server.
[0012] In this way, by means of appropriate time delay, it can be ensured that the sensor has sufficient time to enter a normal working state after the BIOS completes the startup, thereby ensuring the reliability of the adaptive speed regulation strategy used by the BMC to regulate the rotation speed of the fan.
[0013] In some possible implementation manners, the adaptive speed regulation strategy includes a numerical control PID speed regulation strategy, and if the BIOS completes the startup, the adaptive speed regulation strategy is called to adjust the rotating speed of the fan according to the running parameter of the server, including: continuously obtaining the running parameter of the server; obtaining the error between the running parameter and a set value of the server and a change rate of the error according to the running parameter and the set value of the server; and adjusting the rotating speed of the fan according to the error and the change rate of the error by using the PID speed regulation strategy, so that the running parameter approaches the set value.
[0014] In this way, the numerical control PID speed regulation strategy can be used to realize adaptive speed regulation of the fan according to the hardware load and temperature of the server.
[0015] In some possible implementation manners, the adaptive speed regulation strategy includes an interval speed regulation strategy, and in the interval speed regulation strategy, a plurality of parameter intervals and rotating speed intervals are defined, different parameter intervals represent different workloads, different rotating speed intervals represent different rotating speed value ranges, and one parameter interval corresponds to one rotating speed interval; if the BIOS completes the startup, the adaptive speed regulation strategy is called to adjust the rotating speed of the fan according to the running parameter of the server, including: continuously obtaining the running parameter of the server; determining the parameter interval to which the running parameter belongs; and adjusting the rotating speed of the fan to belong to the corresponding rotating speed interval according to the parameter interval to which the running parameter belongs.
[0016] In this way, the interval speed regulation strategy can be used to realize adaptive speed regulation of the fan according to the hardware load and temperature of the server.
[0017] In some possible implementation manners, after the BIOS completes the startup and the adaptive speed regulation strategy is called to adjust the rotating speed of the fan according to the running parameter of the server, the method includes: before the BMC restarts, obtaining the current rotating speed of the fan; if the current rotating speed is lower than a preset rotating speed value, controlling the fan to increase the rotating speed by a target proportion, if the current rotating speed is higher than the preset rotating speed value, adjusting the duty cycle of a pulse width modulation (PWM) signal for controlling the rotating speed of the fan to 100%, and / or adjusting the duty cycle of the PWM signal for controlling the rotating speed of the fan to 100% after a fourth time length from the current time.
[0018] In this way, the rotating speed of the fan can also cope with some sudden increase of heat in the server during the BMC restarts, and the stability of the server is ensured.
[0019] In some possible implementation manners, the method further includes: after the BMC restarts, delaying for a fifth time length, and calling the adaptive speed regulation strategy; and adjusting the rotating speed of the fan according to the running parameter of the server by using the adaptive speed regulation strategy.
[0020] In some possible implementation manners, the server further includes a programmable logic device (CPLD), and the CPLD is configured to control the fan to run at a first rotating speed value during a server startup process and before a baseboard management controller (BMC) is powered on, and if the BMC is still not powered on within a sixth time length after the CPLD is powered on, increase the rotating speed of the fan; after the BMC is powered on, the method further includes: sending second information to the CPLD, so that the CPLD ends the control over the fan according to the second information, where the second information is used to indicate that the BMC is powered on; and the BMC starts to control the fan.
[0021] In a second aspect, an embodiment of the present application provides a fan rotating speed control device, which includes a processing module and an obtaining module, where the processing module can be configured to control a fan to run at a first rotating speed value during a server startup process and within a first time length after a baseboard management controller (BMC) of the server is powered on, and the first rotating speed value is lower than a rated rotating speed of the fan; the obtaining module can be configured to obtain first information after the first time length is reached, and the first information is used to indicate whether a basic input / output system (BIOS) deployed on the server is started up; and the processing module can be further configured to: if the BIOS is not started up, increase the rotating speed of the fan as a server startup time length increases; and if the BIOS is started up, call an adaptive speed regulation strategy to adjust the rotating speed of the fan according to operating parameters of the server, and the operating parameters include a workload parameter and a temperature parameter of hardware in the server.
[0022] In some possible implementation manners, the first rotating speed value corresponds to a duty cycle value of a pulse width modulation (PWM) signal used to control the rotating speed of the fan, and the duty cycle value is in a first range; and the processing module can be specifically configured to: if the BIOS is not started up after the first time length is reached, switch the rotating speed of the fan from the first rotating speed value to a second rotating speed value, and the second rotating speed value corresponds to a duty cycle value of a pulse width modulation (PWM) signal used to control the rotating speed of the fan, and the duty cycle value is in a second range; the first range and the second range are non-overlapping, and a maximum value of the first range is less than or equal to a minimum value of the second range.
[0023] In some possible implementation manners, the processing module can be specifically configured to: if the BIOS is not started up after a second time length is reached, adjust the rotating speed of the fan to a third rotating speed value, the second time length is greater than the first time length, and the third rotating speed value corresponds to a duty cycle value of a pulse width modulation (PWM) signal used to control the rotating speed of the fan, and the duty cycle value is in a third range, and a minimum value of the third range is greater than or equal to a maximum value of the second range.
[0024] In some possible implementation manners, the processing module can be specifically configured to: if the BIOS is started up, call the adaptive speed regulation strategy after a third time length is delayed; and use the adaptive speed regulation strategy to adjust the rotating speed of the fan according to the operating parameters of the server.
[0025] In some possible implementation manners, the adaptive speed regulation strategy includes a numerical control PID speed regulation strategy, and the processing module can be specifically configured to: continuously acquire the running parameter of the server; obtain an error and a change rate of the error between the running parameter and a set value of the server according to the running parameter and the set value; and adjust the rotating speed of the fan according to the error and the change rate of the error by using the PID speed regulation strategy, so that the running parameter approaches the set value.
[0026] In some possible implementation manners, the adaptive speed regulation strategy includes an interval speed regulation strategy, and the interval speed regulation strategy defines a plurality of parameter intervals and rotating speed intervals, different parameter intervals represent different workloads, different rotating speed intervals represent different rotating speed value ranges, and one parameter interval corresponds to one rotating speed interval; and the processing module can be specifically configured to: continuously acquire the running parameter of the server; determine a parameter interval to which the running parameter belongs; and adjust the rotating speed of the fan to belong to a corresponding rotating speed interval according to the parameter interval to which the running parameter belongs.
[0027] In some possible implementation manners, the acquiring module can be further configured to: acquire a current rotating speed of the fan before the BMC restarts; and the processing module can be further configured to: if the current rotating speed is lower than a preset rotating speed value, control the fan to increase the rotating speed according to the target proportion, if the current rotating speed is higher than the preset rotating speed value, control the duty cycle of a pulse width modulation (PWM) signal for controlling the rotating speed of the fan to be 100%, and / or control the duty cycle of the PWM signal for controlling the rotating speed of the fan to be 100% after a fourth time length from the current time.
[0028] In some possible implementation manners, the processing module can be further configured to: after the BMC restarts, delay for a fifth time length, and invoke the adaptive speed regulation strategy; and adjust the rotating speed of the fan according to the running parameter of the server by using the adaptive speed regulation strategy.
[0029] In some possible implementation manners, the server further includes a programmable logic device (CPLD), the CPLD is configured to control the fan to run at a first rotating speed value during a server startup process and before a BMC is powered on and started, and if the BMC has not been powered on and started within a sixth time length after the CPLD is powered on, increase the rotating speed of the fan; and after the BMC is powered on and started, the processing module can be further configured to: send second information to the CPLD, so that the CPLD ends the control over the fan according to the second information, where the second information is used to represent that the BMC is powered on and started, and the BMC starts to control the fan.
[0030] In a third aspect, an embodiment of the present application provides a server, including: at least one memory configured to store a program; and at least one processor configured to execute the program stored in the memory, and when the program stored in the memory is executed, the processor is configured to execute the method described in the first aspect or any possible implementation manner of the first aspect.
[0031] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program. When the computer program is run on a processor, the processor executes the method described in the first aspect or any possible implementation manner of the first aspect.
[0032] In a fifth aspect, an embodiment of the present application provides a computer program product, which is characterized by that, when the computer program product is run on a processor, the processor executes the method described in the first aspect or any possible implementation manner of the first aspect.
[0033] In a sixth aspect, an embodiment of the present application provides a chip, which is characterized by comprising at least one processor and an interface; the at least one processor acquires program instructions or data through the interface; and the at least one processor executes the program instructions to implement the method described in the first aspect or any possible implementation manner of the first aspect.
[0034] It can be understood that the beneficial effects of the above-mentioned second aspect to sixth aspect can refer to the related description in the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0035] FIG. 1 is a structural schematic diagram of a server according to an embodiment of the present application;
[0036] FIG. 2 is a schematic diagram of fan control in a server startup stage according to an embodiment of the present application;
[0037] FIG. 3 is a schematic diagram of fan control in a server startup stage according to an embodiment of the present application;
[0038] FIG. 4 is a schematic diagram of fan control in a BMC restart stage according to an embodiment of the present application;
[0039] FIG. 5 is a schematic diagram of fan control in a server startup stage according to an embodiment of the present application;
[0040] FIG. 6 is a flowchart of a fan speed adjusting method according to an embodiment of the present application;
[0041] FIG. 7A is a flowchart of a fan speed adjusting method according to an embodiment of the present application;
[0042] FIG. 7B is a flowchart of a fan speed adjusting method according to an embodiment of the present application;
[0043] FIG. 7C is a flowchart of a fan speed adjusting method according to an embodiment of the present application;
[0044] FIG. 8 is a flowchart of a method for adjusting the rotating speed of a fan according to an embodiment of the present application;
[0045] FIG. 9 is a flowchart of a method for adjusting the rotating speed of a fan according to an embodiment of the present application;
[0046] FIG. 10 is a structural diagram of a device for adjusting the rotating speed of a fan according to an embodiment of the present application;
[0047] FIG. 11 is a structural diagram of a chip according to an embodiment of the present application. DETAILED DESCRIPTION
[0048] The term "and / or" used in this document is used to describe an association relationship between associated objects, which means that there can be three relationships, for example, A and / or B can mean that there are three cases of A alone, A and B together, and B alone. In this document, the symbol " / " represents an or relationship between associated objects, for example, A / B means A or B.
[0049] The terms "first" and "second" and the like in the description and claims of this document are used to distinguish different objects, and are not used to describe a specific order of the objects.
[0050] In the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design presented as "exemplary" or "for example" in the embodiments of the present application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Rather, the use of "exemplary" or "for example" is intended to present concepts in a concrete manner.
[0051] In the description of the embodiments of the present application, unless otherwise specified, "a plurality of" means two or more, for example, a plurality of processing units means two or more processing units, and the like; a plurality of elements means two or more elements, and the like.
[0052] In the related art, during the startup of a server, the fan generally runs at a fixed speed until the operating system of the server completes the startup, and then the rotating speed of the fan is adjusted according to the temperature in the server. However, this fixed speed is usually set to be relatively high (such as the rated speed), so as to ensure that the server can be sufficiently cooled in the case of extreme conditions (such as a long time of startup) during startup. This often causes the fan to generate a large noise and consume a large power during startup.
[0053] In addition, some unexpected situations will also exist during the booting, for example, during the booting stage, the firmware of the server, each hardware (including the processor, the memory, the sensor, etc.) and the operating system, etc. are required to be started in sequence, if the processor and other hardware of the server have started to process the work load (such as running the BIOS), generate a certain temperature, and the sensor is not normally initialized (abnormal initialization), cannot collect valid data or the collected data has error, then, if the speed of the fan is adjusted according to the temperature data collected by the sensor during the booting stage, the speed of the fan will suddenly increase, and the fan will continuously run at high speed for a period of time, generating greater noise and energy consumption, or, the temperature in the server 10 frame will increase due to the reduced speed of the fan.
[0054] In order to flexibly control the speed of the fan during the booting of the server, to reduce the noise, and at the same time meet the heat dissipation requirement of the server, a fan speed adjusting method is provided in the embodiments of the present application. The method is mainly to adjust the speed of the fan by detecting the starting state of the server main system during the booting stage through the BMC, so as to meet the heat dissipation requirement of the system while reducing the noise generated by the fan.
[0055] In order to facilitate the understanding of the technical scheme of the present application, a server provided by the embodiments of the present application is introduced below.
[0056] For example, FIG. 1 shows a structural schematic diagram of a server provided by the embodiments of the present application. As shown in FIG. 1, the server 10 can include a central processor 110, a memory 120, a hard disk 130 and a network interface 140, etc., and the memory 120, the hard disk 130 and the network interface 140 can be connected to the central processor 110 through a bus. Among them:
[0057] The central processor (central processing unit, CPU) 110 is the computing core and control core of the server 10.
[0058] The memory 120 is used to temporarily store the operation data in the central processing unit CPU 110, and exchange the data with the external storage such as the hard disk 130. The memory 120 is the bridge for the communication between the external storage such as the hard disk 130 and the CPU 110. All the programs in the server 10 are run in the memory 120. The performance of the memory 120 affects the overall performance of the server. By way of example, the memory 120 can be a random access memory (RAM). By way of example but not limitation, many forms of RAM can be used, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), or direct rambus RAM (DR RAM), etc.
[0059] The hard disk 130 can include a hard disk drive (HDD) and a solid state disk (SSD), etc. It should be understood that the hard disk 130 is only an example of the non-volatile memory, and does not constitute a specific limitation. In actual applications, the non-volatile memory can be selected according to the actual situation. The hard disk 130 can be used to store computer programs and data, such as the server operating system (OS) and executable program code, etc. These computer programs can be loaded into the memory 120 and executed by the central processing unit 110.
[0060] In the embodiment, the server 10 can further include a separate flash memory chip (hereinafter referred to as BIOS chip) 150. The input / output system (basic input / output system, BIOS) deployed on the chip 150 can be run by the central processing unit 110. The main functions of the BIOS include power-on self-test, initialization of the CPU 110, the memory 120, the hard disk 130 and other hardware, detection of input / output devices, booting of the OS, etc., but are not limited thereto.
[0061] In the embodiment, the network interface 140 of the server 10 can include a wired interface (such as a GE interface, a serial port, etc.), and can also include a wireless interface (such as a Wi-Fi interface). The network interface 140 is controlled by the central processing unit 110 and is used for transmitting and receiving data.
[0062] In the present embodiment, the server 10 can further include a sensor 160 and a fan 170. The sensor 160 can include, but is not limited to, temperature sensors and speed sensors. The temperature sensors can be distributed around the components of the server system, such as the CPU 110, the memory 120, the hard disk 130, etc., to ensure that the temperature changes inside the server system can be more accurately monitored. The speed sensors can be arranged near the fan 170 (e.g., near the bearings or motor of the fan) to detect the rotation speed of the fan 170. The fan 170 can be used to reduce the temperature inside the server, including but not limited to the temperature of the server frame (not shown in FIG. 1) of the server 10, and the temperature of the hardware such as the CPU 110, the memory 120, the hard disk 130, etc.
[0063] In addition, in the present embodiment, the server 10 can further include a complex programmable logic device (CPLD) 210 and a baseboard management controller (BMC) 220. The CPLD 210 can be used to manage and control various hardware components of the server 10, such as verifying the firmware or hardware configuration of the main system 100, performing clock distribution, etc. Specifically, when the server 10 is started, the CPLD 210 can be responsible for performing some basic hardware detection and configuration steps, such as detecting the state of the hardware components on the main system 100 (the main system is a server infrastructure formed by components including but not limited to the CPU 110, the memory 120, the hard disk 130, the network interface 140, the cooling system (e.g., the fan 170), etc.) and performing related configurations, such as detecting and configuring the rotation speed of the fan 170, to prepare for the subsequent start of the main system 100.
[0064] The BMC 220 is a controller independent of the main system 100, and can be used to implement a series of monitoring and control functions for the hardware, such as detecting the operating state of the temperature, voltage, etc. of each component (CPU 110, memory 120, hard disk 130, fan 170, frame, etc.) of the server 10, and adjusting the rotation speed of the fan 170 according to the temperature data collected by the temperature sensors, to ensure that the system is in a healthy state. The BMC 220 can also be used to record information and log records of each hardware of the main system, to prompt the user and subsequent problem positioning. It should be understood that the BMC 220 can also perform functions other than those described herein, which are not listed one by one here.
[0065] The BMC 220 is a controller independent of the main system 100, and can be used to implement a series of monitoring and control functions for the hardware, such as detecting the operating state of the temperature, voltage, etc. of each component (CPU 110, memory 120, hard disk 130, fan 170, frame, etc.) of the server 10, and adjusting the rotation speed of the fan 170 according to the temperature data collected by the temperature sensors, to ensure that the system is in a healthy state. The BMC 220 can also be used to record information and log records of each hardware of the main system, to prompt the user and subsequent problem positioning. It should be understood that the BMC 220 can also perform functions other than those described herein, which are not listed one by one here.
[0066] It should be noted that FIG. 1 is merely an example of the server and does not constitute a specific limitation, and in actual application, more or fewer devices than FIG. 1 can be included, such as a power supply, a single-chip microcomputer (an integrated circuit chip equivalent to a microcomputer), a digital signal processor (DSP), an application specific integrated circuit (ASIC), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, general-purpose processors, etc.
[0067] In the embodiment, during the power-on process of the server 10, the BMC 220 is started before the main system 100, so as to facilitate the monitoring of the main system 100 by the BMC 220 and to ensure the smooth start and stable operation of the server 10. In addition, in order to dissipate the heat generated by the internal hardware of the server 10 in time during the start-up process of the server 10, the fan 170 in the server 10 can also be started in advance, and the speed of the fan 170 is controlled by the BMC 220, so as to meet the heat dissipation requirement of the server 10 in the start-up stage and reduce the fan noise as much as possible.
[0068] For example, FIG. 2 shows a schematic diagram of the speed control of the fan 170 by the BMC 220 in the start-up stage of the server 10. As shown in FIG. 2, when the server 10 is powered on, the BMC 220 and the hardware (including the BIOS chip 150, the fan 170, etc., but not limited to) in the main system 100 can be powered on. The BMC 220 is started before the main system 100, and monitors the CPU 110, the memory 120, the hard disk 130, the network interface 140, the BIOS chip 150, the sensor 160, and the fan 170, etc. in the main system 100. It can be understood that during the start-up process, the BIOS in the BIOS chip 150 needs to be run first, and the start-up self-checking is performed to check and determine that these hardware in the main system 100 have no problem (fault), and then the CPU 110, the memory 120, the hard disk 130, the network card, the sensor 160, etc. can be initialized to ensure normal work, in addition, after the self-checking of these hardware is passed and the initialization is completed, the OS can be loaded and started. The start-up sequence ensures that the hardware devices can be started in order, and avoids the instability or start-up failure of the server system caused by hardware conflict or initialization error. It should be emphasized that in this paper, the BIOS is considered to be started after the BIOS is loaded and run and the control right of the software and hardware of the main system 100 is handed over to the operating system OS.
[0069] Therefore, in the embodiment, since the BIOS has not completed the startup, the BMC 220 cannot accurately obtain the temperature parameter in the server 10 through the sensor 160, and the BMC 220 cannot adjust the rotating speed of the fan 170 according to the temperature parameter. Therefore, in the embodiment, in the first time period after the BMC 220 is powered on during the startup of the server 10, the fan can be controlled to run at a first rotating speed value lower than the rated rotating speed of the fan 170, and the first time period can be a preset value, for example, 3 minutes, but is not limited to this. As a specific example, the first time period can be the time period required for the BIOS to complete the startup. In this way, before the BIOS completes the startup, most of the hardware in the server 10 has not completed the initialization, the power consumption is low, and the heat generated is small. Therefore, the BMC 220 can control the fan 170 to run at a lower speed (the first rotating speed value) in the first time period, so as to meet the heat dissipation requirement and avoid the fan 170 generating a large noise.
[0070] In addition, the BMC 220 can further perform step S2 to detect whether the BIOS completes the startup after the first time period. Then, the BMC 220 can perform step S3 according to the detection result. If the BIOS has not completed the startup, the BMC 220 gradually increases the rotating speed of the fan 170 with the increase of time, so as to ensure that the heat generated in the case that the BIOS completes the startup for a long time can be smoothly dissipated, but the rotating speed of the fan 170 is not suddenly increased to generate a large noise. In step S3, if it is determined according to the detection result that the BIOS has completed the startup, it indicates that most of the hardware including the sensor 160 has also basically completed the initialization. In this case, the BMC 220 can call the self-adaptive adjustment strategy to adaptively adjust the rotating speed of the fan 170 according to the working load of the hardware in the server 10 and the temperature parameter collected by the sensor 160.
[0071] Next, the startup principle of the server 10 in the embodiment will be described in detail in combination with the drawings.
[0072] As shown in FIG. 3, in the embodiment, please refer to FIG. 3, the server 10 is powered on and enters the startup stage. In this case, the server 10 receives alternating current (AC) and converts it into direct current (DC) to provide power for the CPLD 210 and the main system 100. The independent power supply (not shown in the figure) of the BMC 220 also receives alternating current (AC) from the server and converts it into direct current (DC) to provide power for the BMC 220. Then, the server 10 can start up according to stages 1-6 shown in FIG. 3.
[0073] Specifically, since the operation of the main system 100 and the BMC 220 relies on some functions and signals provided by the CPLD 210, the CPLD 210 is powered on first as shown in stage 1 of FIG. 3. After the CPLD 210 is powered on, the detection of the hardware environment can be performed, such as self-checking and detection of the CPU 110, the memory (the memory 120 and the hard disk 130), the network interface 140, and the fan 170, etc. hardware, to ensure that itself and these hardware are in a normal power-on state, and the CPL 210 will also coordinate the hardware to start in sequence (for example, the fan 170 is first put into working state). In addition, the CPLD 210 can also perform timing calibration operation to avoid signal conflict or timing error, etc., which are not listed here.
[0074] In this stage 1, in order to facilitate the heat generated by the subsequent power-on operation of each hardware of the server 10 to be dissipated in time, the CPLD 210 can perform step S1 to control the fan 170 to operate at a first rotation speed value, which is lower than the rated rotation speed of the fan 170. As a specific example, the duty cycle of the pulse width modulation (PWM) signal for controlling the rotation speed of the fan corresponding to the first rotation speed value can take a value in a first range, for example but not limited to, the first range can be less than or equal to 30%. The fan 170 operates at this lower rotation speed, the noise is very low, and it basically meets the heat dissipation needs of the server 10 in the current stage 1. It should be understood that PWM, i.e. pulse width modulation, is a technology for outputting analog signals with pulses. PWM is generally a square wave signal with a fixed period. By modulating the duty cycle of the square wave, the output time of the high / low level of the square wave in a period can be adjusted, so as to adjust the execution degree of the operation state or function of the device. For example, when the duty cycle of the PWM signal input to the control end of the fan 170 is 100%, the rotation speed of the fan 170 can reach the rated rotation speed; when the duty cycle of the PWM is less than 100%, increasing the duty cycle of the PWM will increase the average power input of the fan motor, thereby increasing the rotation speed of the fan 170; reducing the duty cycle of the PWM signal will reduce the average power input of the motor, thereby reducing the rotation speed of the fan 170.
[0075] Then, the BMC 220 is powered on, i.e., stage 2 in FIG. 3, so that the BMC 220 can more effectively manage the server 10 by using the functions provided by the CPLD 210. Specifically, after the BMC 220 is powered on, step S12 can be performed to take over the control of the fan 170 from the CPLD 210, so that the fan 170 is maintained to run at the first speed value. At this time, the main system 100 is in stage 3 in FIG. 3, the main system 100 is powered on but the BIOS is not completed to start, and each hardware including the sensor 160 is not completed to initialize, and the OS is not loaded and run, so that the BMC 220 cannot obtain reliable temperature and fan speed data through the sensor 160 at this stage 3, and therefore, in this example, the BMC 220 can control the speed of the fan 170 through steps S13 to S15 to meet the heat dissipation requirement of the server 10 at this stage while trying to avoid the fan 170 generating a large noise. Since the main system 100 is actually in a power-off state for the OS during this stage 3, the speed control and adjustment of the fan 170 by the BMC 220 can also be referred to as "OS power-off speed regulation".
[0076] Specifically, at stage 3, the BMC 220 can first perform S13, and within a first time length, the BMC 220 controls the fan 170 to maintain running at the first speed value, where the first time length is a preset value, and as a specific example, the first time length can be an average time length required for the BIOS to complete the start, for example, the first time length can be 3 min, but is not limited thereto. It should be understood that for the main system 100, after being powered on, the BIOS of the main system 100 is first loaded and run to perform the boot tasks such as power-on self-test, initialization of hardware devices, setting of system parameters, etc., and after completing these boot tasks, the BIOS transfers the control of the software and hardware of the main system 100 to the operating system OS, and thus the start of the BIOS is completed. In other words, the start of the BIOS is a process that requires a certain time length, and in this example, the BMC 220 controls the fan 170 to run at a corresponding speed according to whether the start of the BIOS is completed.
[0077] In this way, within the first time length, some of the hardware in the main system 100 (such as the CPU 110, the BIOS chip 150, etc.) will have some necessary initial load, for example, loading the BIOS, the operating system OS and the related drivers, etc., and the heat generated by these hardware within this time length is small, and the fan 170 running at the first speed value can meet the boot heat dissipation requirement of the server in most scenarios, and the noise generated is small, and the energy consumption is also small.
[0078] Then, with reference back to FIG. 3, if the BMC 220 senses that the BIOS has not completed the booting after the first time duration, step S14 is performed to control the fan 170 to operate at a second speed value. As an example, the second speed value can correspond to a duty cycle of a PWM signal used to control the speed of the fan, and the duty cycle can be in a second range, for example, but not limited to, a range greater than 30% and less than or equal to 50%.
[0079] This is because sometimes the main system 100 has an increasing number of working hardware, a more complex hardware configuration, hardware failure, or firmware update, which results in a longer time for the BIOS to complete the booting, and the server 10 takes a longer time to complete the booting (until the OS completes the booting, which is considered as the server completing the booting). As a result, the heat generated by the critical hardware increases. Therefore, in the present embodiment, if the BMC 220 senses that the BIOS has not completed the booting after the first time duration, the speed of the fan is increased to the second speed value to appropriately enhance the heat dissipation capability inside the server 10 to meet the heat dissipation requirement of the server in the few booting scenarios with a long booting time, and the noise of the fan will not be greatly increased.
[0080] As an example, with reference back to FIG. 3, if the BMC 220 senses that the BIOS has not completed the booting after a second time duration, step S15 is performed to control the fan 170 to operate at a third speed value, and the second time duration is greater than the first time duration. As an example, the second time duration can be 10 minutes (min), and the third speed value can correspond to a duty cycle of a PWM signal used to control the speed of the fan, and the duty cycle can be in a third range, for example, but not limited to, a range between 50% and 80%, and specifically, the duty cycle of the PWM signal can be 70%.
[0081] This is because sometimes the critical hardware of the main system 100 can have a large increase in the booting initialization load, for example, a system update or configuration change is performed before the present booting, which results in a large number of initialization tasks and greatly prolongs the time required to complete the booting. Therefore, after the second time duration, the BMC 220 increases the speed of the fan 170 to the third speed value to meet the heat dissipation requirement of the main system 100 in the BIOS initialization state for a long time, and can avoid a large noise generated by directly increasing the speed of the fan to full speed.
[0082] Thus, before the BIOS completes the booting, the BMC 220 achieves flexible control of the fan speed by performing the steps of S13 to S15 described above. In addition, in the present embodiment, as shown in FIG. 3, if after the first time duration or the second time duration, the BMC 220 senses that the BIOS completes the booting and identifies that the sensor 160 completes the initialization and enters the running state, i.e., senses that the server 10 is in stage 4 shown in FIG. 3, the BMC 220 can perform step S16, delays for a third time duration, and then invokes a preset adaptive speed regulation strategy to enable the subsequent stages, such as when the server 10 is in stages 5 and 6 shown in FIG. 3, to perform S17 to adjust the speed of the fan 170 according to the strategy based on the running parameters of the server 10, wherein the running parameters can include the workload parameters and temperature parameters of the main system hardware, etc. In the present embodiment, the third time duration can be a preset relatively short time duration to ensure that after the BIOS completes the booting, there is still some time to fully guarantee that the sensor 160 and other hardware also complete the initialization, so that the BMC 220 obtains effective and accurate relevant parameters when controlling the fan speed according to the adaptive speed regulation strategy. By way of illustration but not limitation, the third time duration can be 10s to further guarantee the reliability of the control of the BMC 220 by short time delay.
[0083] The adaptive speed regulation strategy can include a PID (proportional integral derivative) speed regulation strategy and / or an interval speed regulation strategy. As a specific example, the PID speed regulation strategy can include:
[0084] In a period of time, the running parameters of the server 10 are continuously acquired, including the temperature of the CPU 110, the memory 120, the hard disk 130 and other hardware (hereinafter also referred to as key hardware) in the main system 100, and the workload parameters (such as usage rate or parameters representing power consumption, etc.) of each key hardware, etc., and then the error and the rate of change between these running parameters and the corresponding set values of each key hardware are calculated, and a control signal is output according to the error and the rate of change to adjust the supply voltage or the PWM duty cycle of the fan 170, so as to adjust the fan speed, thereby changing the temperature and the workload parameters of these key hardware, until these running parameters are as close as possible to the respective set values. This process is continuous to ensure that the server is always kept in a safe temperature range, and the speed of the fan can meet the heat dissipation requirements of the system.
[0085] The interval speed regulation strategy comprises: obtaining the running parameters and the current rotating speed of the fan 170, and changing the rotating speed of the fan according to the parameter interval reached by the running parameters, wherein the parameter interval can be multiple, for example, a first parameter interval representing low load running of the key hardware, a second parameter interval representing medium load running of the key hardware, and a third parameter interval representing high load running of the key hardware, and the three parameter intervals correspond to a low rotating speed interval, a medium rotating speed interval and a high rotating speed interval, respectively. In this way, according to the load interval of the running parameters, the fan 170 is correspondingly adjusted to run at a low, medium or high rotating speed. This process is continuous to ensure that the server always remains in a safe temperature range and the rotating speed of the fan can meet the heat dissipation demand of the system.
[0086] For example, the BMC 220 can determine whether the BIOS completes the startup by monitoring some indicators of the server. For example, the BMC 220 can determine whether the BIOS completes the startup by detecting an identifier or a signal (also referred to as first information herein) indicating that the BIOS completes the startup, or the BMC 220 can determine whether the operating system OS has been loaded and started by monitoring signals (such as utilization rates of CPUs, memories, network interfaces and the like) transmitted to the key hardware when the operating system OS starts, to determine that the BIOS completes the startup task and the startup process.
[0087] In this way, when the operating system OS completes the startup, the server 10 completes the startup as a whole, and then the BMC 220 can adaptively adjust the rotating speed of the fan 170 according to the running state of the key hardware in the main system 100 and the data (such as temperature, fan rotating speed and the like) collected by the sensors 160, to keep the system running in a safe temperature range, thereby ensuring the system running stability and reliability of the entire server 10.
[0088] In some possible implementations, the BMC 220 can need to restart or restart after upgrading (the main system 100 does not restart) during the running of the server 10, and then the BMC 220 will be out of communication link with the main system 100 for a period of time and lose the control of the fan 170. During this period of time, the server 10 can have a situation of sudden increase in power consumption of the key hardware and increase in heat. In order to cope with these possible situations and avoid the server 10 from running stably when the BMC 220 cannot control the fan 170, in the embodiment, as shown in FIG. 4, before the BMC 220 restarts and is out of communication link with the main system 100, the BMC 220 can perform step S21 of detecting the current rotating speed value of the fan 170, match the rotating speed value with a preset rotating speed value, and perform step S22 of increasing the rotating speed of the fan according to the matching result.
[0089] As a specific example, when step S22 is performed, if the current rotation speed value is lower than a first preset rotation speed value (one of the preset rotation speed values), for example, the duty cycle of the PWM for controlling the rotation speed of the fan corresponding to the current rotation speed value is lower than 80% (i.e., the duty cycle of the PWM corresponding to the first preset rotation speed value), the duty cycle of the PWM corresponding to the current rotation speed value is increased by 20%; if the duty cycle of the PWM for controlling the rotation speed of the fan corresponding to the current rotation speed value is greater than or equal to 80%, the duty cycle of the PWM corresponding to the current rotation speed value can be increased to 100%.
[0090] Alternatively, when step S22 is performed, if the duty cycle of the PWM corresponding to the current rotation speed value is lower than 100% (i.e., the duty cycle of the PWM corresponding to a second preset rotation speed value, which is also one of the preset rotation speed values), the duty cycle of the PWM input to the fan is increased to 100% in a fourth time period starting from the current time. The fourth time period is a preset value, and the fourth time period can be 2 minutes, but is not limited thereto.
[0091] In this way, since the running state of the server 10 generally does not change greatly in a short time (such as a few minutes or tens of minutes), the BMC 220 can refer to the running state of the fan before the BMC 220 is restarted or upgraded and restarted, appropriately increase the rotation speed of the fan through step S22, and ensure that the heat dissipation demand is met even if the main system 100 has an increase in load during the restart of the BMC 220, thereby ensuring system operation.
[0092] In addition, in the present implementation, after the BMC 220 is restarted, the preset adaptive speed regulation strategy is called again to control the rotation speed of the fan after a fifth time period. As an example, the fifth time period can be set to 10s, but is not limited thereto.
[0093] In some possible implementations, the BMC 220 can be reset or upgraded before this boot, resulting in a longer power-on time. In order to ensure that the heat generated by the power-on of the main system 100 key hardware can be dissipated within the power-on time of the BMC 220, the CPLD 210 detects the power-on state of the BMC 220 after powering on and setting the fan 170 to run at the first speed value, and adjusts the fan speed in time to enhance the heat dissipation capacity when the BMC 220 takes a long time to start. As shown in FIG. 5, the present implementation is similar to the example shown in FIG. 3, except that in the present embodiment, after the CPLD 210 performs the S11 step, it is further detected whether the BMC 220 is powered on within a preset time (also referred to as a sixth time in this paper). If so, perform S30 to increase the speed of the fan 170 to a fourth speed value. By way of example but not limitation, the sixth time can be 2 minutes. As an example, the fourth speed value corresponds to a PWM duty cycle for controlling the fan taken from a fourth range, which can be 50% to 70%, and the PWM duty cycle for controlling the fan corresponding to the fourth speed value can be 60%.
[0094] In this way, the speeded-up fan 170 will produce a larger noise, and can meet the current heat dissipation demand until the BMC 220 completes power-on, and the CPLD 210 hands over the control of the fan 170 to the BMC 220.
[0095] Next, based on the above description, a fan speed adjusting method provided by an embodiment of the present application is introduced. It can be understood that the method is based on the above description, and part or all of the contents in the method can be referred to the description above.
[0096] Referring to FIG. 6, FIG. 6 is a flowchart of a fan speed adjusting method provided by an embodiment of the present application. It can be understood that the method can be executed by any device, equipment, platform, or cluster of equipment having computing and processing capabilities. Hereinafter, the execution of the method on the BMC 220 in the server 10 shown in FIG. 1 is taken as an example for illustration. As shown in FIG. 6, the method can include:
[0097] At S610, during the server boot process, the fan is controlled to run at a first speed value within a first time after the BMC is powered on.
[0098] In the embodiment, in combination with the server 10 startup stage shown in FIG. 1, the BMC 220 completes the power-on startup before the main system 100, at this time, the fan 170 is controlled by the BMC 220 to run to dissipate heat during the server 10 startup stage. It can be understood that the server 10 startup stage includes the process of powering on the server 10 to the completion of the startup of the OS, and during this process, the startup sequence of the firmware, hardware and OS of the main system 100 can generally include: the BIOS is first loaded and run, then the power-on self-test based on the BIOS instruction is performed, and the hardware of the main system 100 is initialized, the loading and startup of the OS are guided, etc., and after the software and hardware are transferred from being controlled by the BIOS to being controlled by the OS, it is considered that the BIOS completes the startup. Therefore, after the BIOS completes the startup, the OS also basically completes the startup, and then the server 10 startup is completed.
[0099] In the embodiment, during the stage when the BIOS has not completed the startup, the key hardware of the main system 100, such as the CPU 110, the memory 120, the hard disk 130 and the network interface 140, etc., will process some workloads, such as loading the BIOS, loading the OS and the driver, etc., thereby generating a certain amount of heat, but generally will not cause a high temperature rise. Therefore, in this step, the BMC 220 can control the fan to run at a first rotation speed value within a first time length after the BMC 220 is powered on and starts up through the internal preset step speed regulation strategy.
[0100] As a specific example, the first time length is a preset time length, for example, the first time length can be the average time length required for the BIOS of the server to complete the startup, such as 3 min, but is not limited thereto.
[0101] As an example, the first rotation speed value is lower than the rated rotation speed of the fan. As a specific example, the first rotation speed value can be described by the PWM duty cycle, specifically, the duty cycle of the pulse width modulation PWM signal for controlling the rotation speed of the fan corresponding to the first rotation speed value can take a value in a first range, for example but not limited to, the first range can be less than or equal to 30%. In this way, by a lower rotation speed, the noise and energy consumption generated by the fan can be reduced while meeting the startup heat dissipation requirements of the server under most normal scenarios.
[0102] S620, after the first time length is reached, the first information is acquired.
[0103] In the embodiment, after the first time length, the BMC 220 can acquire the first information for representing whether the BIOS completes the startup to determine whether the BIOS completes the startup. The first information can be an identifier or a signal indicating that the BIOS completes the startup.
[0104] S630, if the BIOS does not complete the startup, then the fan speed is increased as the server startup time increases.
[0105] In this embodiment, if the BIOS does not complete the startup within the first time period, it indicates that the current server startup time exceeds the time required for most startup situations, which can be due to the fact that the key hardware of the main system 100 has a large amount of work to be processed during the startup phase. Therefore, the BMC 220 can increase the fan speed as the server startup time increases in the case where the BIOS does not complete the startup, so as to facilitate the dissipation of heat generated by the key hardware due to high load and high power consumption.
[0106] As an example, when the fan speed is increased, it can be gradually increased according to a preset speed gradient, for example, from a first speed value to a second speed value, so that the fan 170 runs at a medium speed (50% of the rated speed). In this way, the fan speed of the fan 170 is not directly increased to the rated speed, so as to avoid a sudden increase in noise while increasing the heat dissipation intensity.
[0107] S640, if the BIOS completes the startup, an adaptive speed regulation strategy is called to adjust the fan speed according to the operating parameters of the server, including the workload parameters and temperature parameters of the hardware in the server.
[0108] In this embodiment, if the BMC 220 detects that the BIOS completes the startup, a preset adaptive speed regulation strategy can be called, which is used to adjust the fan speed according to the operating parameters of the server, including the workload parameters and temperature parameters of the key hardware.
[0109] In this way, during the server startup phase, before the BMC 220 can obtain the operating parameters of the main system 100, the BMC 220 can timely adjust the fan speed by detecting whether the BIOS startup is completed within a time period, so as to meet the heat dissipation requirements of the server startup phase while reducing the fan noise as much as possible.
[0110] Next, a fan speed regulation method provided by an embodiment of the present application will be described in conjunction with the accompanying drawings.
[0111] For example, FIG. 7A shows a flowchart of a fan speed regulation method provided by an embodiment of the present application. As shown in FIG. 7A, the method can specifically include the following steps:
[0112] S700, during the server startup process and before the BMC is powered on, the CPLD controls the fan to start.
[0113] In this step, during the power-on process of the server 10, the CPLD 210, the BMC 220 and the main system 100 can be sequentially powered on. Among them, the CPLD 210 is powered on first, and can detect and configure the hardware environment of the server 10, such as self-checking and detecting the CPU 110, the memory (the memory 120 and the hard disk 130), the network interface 140 and the fan 170, and controlling the start sequence of these hardware, for example, the fan 170 can be controlled to start first, thereby providing a basic hardware environment.
[0114] As an example, the CPLD 210 can make the fan 170 start running at a first rotation speed value.
[0115] S710, during the server startup process, within a first time period after the BMC is powered on, the fan is controlled to run at a first rotation speed value.
[0116] In this step, the BMC 220 can be powered on after the CPLD 210 hardware environment initialization is completed, and take over the control of the hardware including the fan 170.
[0117] As an example, after the BMC 220 is powered on, and within a first time period before the BIOS completes the startup, because the sensor 160 has not completed initialization, the BMC 220 cannot obtain accurate or effective temperature parameters from the sensor 160, and cannot adjust the rotation speed of the fan 170 based on these parameters, so in this example, the BMC 220 can adjust the rotation speed of the fan 170 during the server startup phase according to a preset step speed regulation strategy.
[0118] As a specific example, according to the step speed regulation strategy, within the first time period after the BMC 220 completes the power-on, the BMC 220 can fix the rotation speed of the fan 170 at a first rotation speed value, which meets the smaller heat dissipation requirement of the server at the current stage, and the noise generated by the fan is small, and the energy consumption is also small.
[0119] S720, after the first time period is reached, the first information is obtained.
[0120] The execution principle in this step is similar to the execution principle of S520 in the above embodiment, which will not be described here.
[0121] S730, if the BIOS has not completed the startup, then as the server startup time increases, the rotation speed of the fan is increased.
[0122] In this embodiment, the BIOS may take a long time to complete the startup due to some reasons, which prolongs the overall startup time of the server 10. Correspondingly, when the BMC 220 executes S730, it can specifically include S731 to S732:
[0123] S731, if the BIOS has not completed the startup after the first time length, the fan speed is switched from the first speed value to the second speed value.
[0124] In this step, sometimes the BIOS completion time is lengthened due to a large number of hardware of the main system 100, a complex hardware configuration, hardware failure, or firmware update, and so on, and the server 10 completion time of the startup is lengthened, and then the heat generated by these key hardware is increased. Therefore, in the embodiment, if the BMC 220 has not sensed the BIOS completion of the startup after the first time length, the fan speed is increased to the second speed value, the heat dissipation capacity inside the server 10 is appropriately strengthened, the heat dissipation requirement of the server in the few startup scenarios is met, and the fan noise is not greatly increased.
[0125] For example, the duty cycle of the PWM signal for controlling the fan speed corresponding to the second speed value can be in a second range, for example but not limited to, the second range can be greater than 30% and less than or equal to 50%.
[0126] S732, if the BIOS has not completed the startup after the second time length, the fan speed is adjusted to a third speed value.
[0127] In this step, the second time length is greater than the first time length, for example, the second time length can be 10 minutes (min), but is not limited thereto.
[0128] Since sometimes the key hardware of the main system 100 can have a large increase in the initialization load during the startup, for example, system update or configuration change is performed before the current startup, resulting in a large number of initialization tasks and a greatly lengthened startup time, and thus, after the second time length, if the BMC 220 determines that the BIOS has not completed the startup by detecting the first information, the BMC 220 can increase the fan speed 170 to the third speed value to meet the heat dissipation requirement of the main system 100 in the BIOS initialization state for a long time, and try to avoid the large noise generated by directly increasing the fan speed to full speed.
[0129] For example, the duty cycle of the PWM signal for controlling the fan speed corresponding to the third speed value can be in a third range, for example but not limited to, the third range can be between 50% and 80%. For example, the duty cycle of the PWM signal for controlling the fan speed corresponding to the third speed value can be 70%.
[0130] Optionally, in the example, if the BIOS has not completed the startup after the second time length, the BMC 220 can generate a corresponding prompt information to prompt that the current server startup time is too long.
[0131] S740, if the BIOS completes the startup, calling an adaptive speed regulation strategy to adjust the rotation speed of the fan according to the running parameters of the server.
[0132] In this step, after the first time duration or the second time duration, if the BMC 220 determines that the BIOS has completed the startup according to the first information, and the sensor 160 enters the running state, the BMC 220 can obtain the relevant parameters collected by the sensor 160, and then the BMC 220 delays for a third time duration and then calls a preset adaptive speed regulation strategy to adjust the rotation speed of the fan 170.
[0133] Specifically, the step S740 can include:
[0134] S741, if the BIOS completes the startup, delaying for a third time duration and then calling an adaptive speed regulation strategy.
[0135] In this embodiment, if the BIOS completes the startup, the BMC 220 delays for a third time duration and then calls an adaptive speed regulation strategy. The third time duration can be a preset relatively short time duration. For example, the third time duration can be 10s, which is intended to further guarantee the reliability of the control of the BMC 220.
[0136] S742, using the adaptive speed regulation strategy to adjust the rotation speed of the fan according to the running parameters of the server.
[0137] In this embodiment, the adaptive speed regulation strategy can include a PID speed regulation strategy and / or an interval speed regulation strategy.
[0138] For example, when the adaptive speed regulation strategy includes a PID speed regulation strategy, as shown in FIG. 7B, the S742 can specifically include:
[0139] S7421a, continuously obtaining the running parameters of the server.
[0140] In this step, the running parameters of the server can include the workload parameters (such as the usage rate, the parameters representing the power consumption, etc.) and the temperature parameters of the key hardware of the main system 100, etc.
[0141] S7422a, according to the running parameters and the set value of the server, obtaining the error and the error change rate between the running parameters and the set value;
[0142] S7423a, using the PID speed regulation strategy to adjust the rotation speed of the fan according to the error and the error change rate, so as to make the running parameters close to the set value.
[0143] In this example, the BMC 220 can calculate the error and the rate of change between these operating parameters and the corresponding set values of the key hardware, and output a control signal according to the error and the rate of change to adjust the supply voltage or the PWM duty cycle of the fan 170, so as to adjust the fan speed, thereby changing the temperature and load conditions of the key hardware of the main system 100 until the temperature and load conditions of the key hardware are as close as possible to the respective set values. This process is continuous to ensure that the server always remains within a safe temperature range, and the speed of the fan can meet the heat dissipation needs of the system.
[0144] For example, when the adaptive speed regulation strategy includes an interval speed regulation strategy, S742 can specifically include the following steps, as shown in FIG. 7C:
[0145] S7421b, continuously acquiring the operating parameters of the server.
[0146] S7422b, determining the parameter interval to which the operating parameter belongs;
[0147] S7423b, adjusting the speed of the fan to belong to the corresponding speed interval according to the parameter interval to which the operating parameter belongs.
[0148] In this example, the interval speed regulation strategy defines a plurality of parameter intervals and speed intervals, different parameter intervals respectively represent different workloads, different speed intervals respectively represent different speed value ranges, and one parameter interval corresponds to one speed interval. For example, a first parameter interval representing low load operation of the key hardware, a second parameter interval representing medium load operation of the key hardware, and a third parameter interval representing high load operation of the key hardware, and correspondingly, the three parameter intervals respectively correspond to a low speed interval, a medium speed interval and a high speed interval. In this way, according to the operating parameter belonging to the low, medium and high load interval, the fan 170 is correspondingly adjusted to low, medium and high speed operation. This process is continuous to ensure that the server always remains within a safe temperature range, and the speed of the fan can meet the heat dissipation needs of the system.
[0149] In this way, after the main system 100 completes the startup operation, the BMC 220 can continuously control the speed of the fan 170 according to the adaptive speed regulation strategy.
[0150] In some possible implementations, the server 10 may need to restart the BMC 220 during the running of the server 10 or restart after upgrading (the main system 100 is not restarted), then the BMC 220 will be out of communication link with the main system 100 for a period of time, losing control of the fan 170. During this period of time, the server 10 may have a sudden increase in critical hardware power consumption and heat increase. In order to deal with these possible situations, the server 10 can also run stably during the period when the BMC 220 cannot control the fan 170. Specifically, as shown in FIG. 8, the method can further include:
[0151] S810, obtaining a current rotating speed of the fan before the BMC restarts.
[0152] In this step, before the BMC 220 starts, the BMC 220 can determine the current rotating speed of the fan 170 through the speed sensor on the fan 170.
[0153] S820, if the current rotating speed is lower than a preset rotating speed value, controlling the fan to increase the rotating speed according to a target proportion,
[0154] if the current rotating speed is higher than the preset rotating speed value, adjusting a duty cycle of a pulse width modulation (PWM) signal for controlling the rotating speed of the fan to 100%;
[0155] and / or, setting the duty cycle of the pulse width modulation (PWM) signal for controlling the rotating speed of the fan to 100% after a fourth time length from the current time.
[0156] In this step, the preset rotating speed value can be set, for example, the duty cycle of the PWM for controlling the rotating speed of the fan corresponding to the preset rotating speed value is 80%. In this way, if the duty cycle of the pulse width modulation (PWM) signal for controlling the rotating speed of the fan corresponding to the current rotating speed is lower than 80%, the duty cycle is increased by 20%; if the duty cycle of the pulse width modulation (PWM) signal for controlling the rotating speed of the fan corresponding to the current rotating speed is greater than or equal to 80%, the duty cycle is increased to 100%. Or directly instructing the device with a control function such as the CPLD 210 or the CPU 110 to increase the duty cycle of the pulse width modulation (PWM) signal for controlling the rotating speed of the fan to 100% after a fourth time length (for example, 2 minutes) from the current time.
[0157] In this way, the BMC 220 appropriately increases the rotating speed of the fan before restarting, so that during the period when the BMC 220 loses control of the rotating speed of the fan during the restarting process, even if the critical hardware of the server 10 has a certain increase in power consumption, the heat dissipation demand can also be met, and the system operation is guaranteed.
[0158] In addition, in the present implementation, after the BMC 220 completes the restart, the fifth time length is delayed, and the preset adaptive speed regulation strategy is called again to control the fan speed. As an example, the fifth time length can be set to 10s, but is not limited thereto.
[0159] In some possible implementations, during the server startup process, the BMC 220 can be in a case where a reset or upgrade is performed before the present startup, and the power-on startup time is relatively long. In order to guarantee that the heat generated by the power-on running of the key hardware of the main system 100 in the power-on startup time of the BMC 220 can be dissipated, the CPLD 210 can further detect the power-on startup state of the BMC 220 after the power-on and the fan 170 is set to run at the first speed value, so as to timely adjust the fan speed when the BMC 220 startup time is relatively long, and strengthen the heat dissipation capability. Specifically, within a sixth time length after the power-on of the CPLD 210, if the CPLD 210 detects that the BMC 220 has not been powered on, the speed of the fan 170 can be controlled to be increased from the first speed value to a fourth speed value. By way of example but not limitation, the sixth time length can be 2 minutes. As an example, the fourth speed value corresponds to the PWM duty cycle of the controlled fan taken from the fourth range, the fourth range can be 50% to 70%, and the PWM duty cycle of the controlled fan corresponding to the fourth speed value can be 60% of the PWM duty cycle.
[0160] Next, as shown in FIG. 9, the fan speed regulation method provided by the present embodiment can further include:
[0161] S910, the BMC sends second information to the CPLD to make the CPLD end the control of the fan according to the second information, wherein the second information is used to represent the power-on startup of the BMC.
[0162] In this step, the BMC 220 can send an instruction or a signal (i.e., the second information) to the CPLD 210 to make the CPLD 210 end the control of the fan.
[0163] S920, the BMC starts to control the fan.
[0164] In this way, after the BMC 220 completes the power-on and takes over the control of the fan 170 from the CPLD 210, the steps of S610 to S640 or the steps of S700 to S740 in the above embodiments can be performed to adjust the speed of the fan 170 and reduce the noise.
[0165] Based on the method in the above embodiments, the present embodiment provides a fan speed regulation device. Please refer to FIG. 10, which is a structural schematic diagram of a fan speed regulation device 1000 provided by the present embodiment.
[0166] As shown in FIG. 10, the apparatus 1000 can include a processing module 1001 and an obtaining module 1002. The processing module 1001 can be configured to, during a server startup process, control the fan to run at a first rotation speed value within a first time length after the baseboard management controller (BMC) of the server is powered on, the first rotation speed value being lower than a rated rotation speed of the fan. The obtaining module 1002 can be configured to, after the first time length is reached, obtain first information, the first information being used to indicate whether a basic input / output system (BIOS) of the server is completed to start. The processing module 1001 can be further configured to, if the BIOS is not completed to start, increase the rotation speed of the fan as the server startup time length increases, and if the BIOS is completed to start, call an adaptive speed regulation strategy to adjust the rotation speed of the fan according to running parameters of the server, the running parameters including a workload parameter and a temperature parameter of hardware in the server.
[0167] It should be understood that the above apparatus is configured to execute the fan rotation speed regulation method in the above embodiments, the corresponding program modules in the apparatus 1000 have similar implementation principles and technical effects to those described in the above method, and the working process of the apparatus 1000 can refer to the corresponding process in the above method, which will not be described here.
[0168] Based on the method in the above embodiments, an electronic device is provided in the embodiments of the present application. The electronic device can include at least one memory configured to store a program, and at least one processor configured to execute the program stored in the memory, wherein when the program stored in the memory is executed, the processor is configured to execute the method in the above embodiments.
[0169] Based on the method in the above embodiments, a computer readable storage medium is provided in the embodiments of the present application, and the computer readable storage medium stores a computer program, when the computer program runs on the processor, the processor executes the method in the above embodiments.
[0170] Based on the method in the above embodiments, a computer program product is provided in the embodiments of the present application, and when the computer program product runs on the processor, the processor executes the method in the above embodiments.
[0171] Based on the method in the above embodiments, a chip is further provided in the embodiments of the present application. Please refer to FIG. 11, which is a structural schematic diagram of a chip provided in the embodiments of the present application. As shown in FIG. 11, the chip 900 includes one or more processors 901 and an interface circuit 902. Optionally, the chip 900 can also include a bus 903. Wherein:
[0172] The processor 901 can be an integrated circuit chip having a processing capability of signals. In the implementation process, each step of the above method can be completed by the integrated logic circuit of hardware in the processor 901 or the instruction in the form of software. The processor 901 described above can be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Each method and step disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor.
[0173] The interface circuit 902 can be used for sending or receiving data, instructions or information. The processor 901 can process the data, instructions or other information received by the interface circuit 902, and can send the processed information out through the interface circuit 902.
[0174] Optionally, the chip 900 further includes a memory, which can include a read-only memory and a random access memory, and provide operation instructions and data for the processor. Part of the memory can also include a non-volatile random access memory (NVRAM).
[0175] Optionally, the memory stores executable software modules or data structures, and the processor can execute corresponding operations by calling operation instructions stored in the memory (the operation instructions can be stored in an operating system).
[0176] Optionally, the interface circuit 902 can be used for outputting the execution result of the processor 901.
[0177] It should be noted that the functions of the processor 901 and the interface circuit 902 respectively can be realized by hardware design, software design or combination of hardware and software, which is not limited here.
[0178] It should be understood that each step of the above method embodiment can be completed by the logic circuit in the form of hardware or the instruction in the form of software in the processor.
[0179] It can be understood that the size of the serial number of each step in the above embodiment does not mean the execution order, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. In addition, in some possible implementation ways, each step in the above embodiment can be selectively executed, partially executed or fully executed according to the actual situation, which is not limited here.
[0180] It can be understood that the processor in the embodiments of the present application can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor.
[0181] The method steps in the embodiments of the present application can be realized by hardware or by the processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically EPROM (EEPROM), a register, a hard disk, a mobile hard disk, a CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor, so that the processor can read information from and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC.
[0182] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions can be stored in or transmitted by a computer readable storage medium. The computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through a wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer readable storage medium can be any available medium accessible by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)) and the like.
[0183] It can be understood that various numerical numbers involved in the embodiments of the present application are only distinguished for convenience of description, and are not used to limit the scope of the embodiments of the present application.
Claims
1. A method of fan speed control, comprising: The method comprises: In a server boot process, a first time length after a baseboard management controller (BMC) of the server is powered on, the fan is controlled to run at a first rotating speed value, which is lower than a rated rotating speed of the fan; After the first time length is reached, first information is acquired, the first information being used to represent whether a basic input / output system (BIOS) of the server is completed in starting; If the BIOS is not completed in starting, the rotating speed of the fan is increased with an increase of a server boot time length; If the BIOS is completed in starting, an adaptive speed regulation strategy is called, and the rotating speed of the fan is adjusted according to operating parameters of the server, the operating parameters comprising a workload parameter and a temperature parameter of hardware in the server.
2. The method of claim 1, wherein, The duty cycle value of a pulse width modulation (PWM) signal used to control the rotating speed of the fan corresponding to the first rotating speed value is in a first range; If the BIOS is not completed in starting, the rotating speed of the fan is increased with an increase of a server boot time length, comprising: If the BIOS is not completed in starting after the first time length is reached, the rotating speed of the fan is switched from the first rotating speed value to a second rotating speed value, the duty cycle value of a pulse width modulation (PWM) signal used to control the rotating speed of the fan corresponding to the second rotating speed value being in a second range; the first range and the second range are not overlapped, and a maximum value of the first range is less than or equal to a minimum value of the second range.
3. The method of claim 2, wherein, If the BIOS is not completed in starting, the rotating speed of the fan is increased with an increase of a server boot time length, comprising: If the BIOS is not completed in starting after a second time length is reached, the rotating speed of the fan is adjusted to a third rotating speed value, the second time length being greater than the first time length, the duty cycle value of a pulse width modulation (PWM) signal used to control the rotating speed of the fan corresponding to the third rotating speed value being in a third range, and a minimum value of the third range being greater than or equal to a maximum value of the second range.
4. The method according to any of claims 1 to 3, characterized in that, If the BIOS is completed in starting, an adaptive speed regulation strategy is called, and the rotating speed of the fan is adjusted according to operating parameters of the server, comprising: If the BIOS is completed in starting, the adaptive speed regulation strategy is called after a third time length is delayed; The adaptive speed regulation strategy is used to adjust the rotating speed of the fan according to the operating parameters of the server.
5. The method of claim 4, wherein, The adaptive speed regulation strategy comprises a numerical control PID speed regulation strategy, If the BIOS is completed in starting, an adaptive speed regulation strategy is called, and the rotating speed of the fan is adjusted according to operating parameters of the server, comprising: The operating parameters of the server are continuously acquired; According to the operating parameters and a set value of the server, an error and an error change rate between the operating parameters and the set value are obtained; The PID speed regulation strategy is used to adjust the rotating speed of the fan according to the error and the error change rate, so that the operating parameters approach the set value.
6. The method of claim 4, wherein, The adaptive speed regulation strategy comprises an interval speed regulation strategy, wherein a plurality of parameter intervals and speed intervals are defined, different parameter intervals represent different workloads respectively, different speed intervals represent different speed value ranges respectively, and one parameter interval corresponds to one speed interval; If the BIOS completes the startup, an adaptive speed regulation strategy is called to adjust the speed of the fan according to the running parameters of the server, comprising: Continuously acquiring the running parameters of the server; Determining the parameter interval to which the running parameters belong; According to the parameter interval to which the running parameters belong, the speed of the fan is adjusted to belong to the corresponding speed interval.
7. The method according to any of claims 1-6, characterized by After the step of calling the adaptive speed regulation strategy to adjust the speed of the fan according to the running parameters of the server, the method comprises: Before the BMC restarts, the current speed of the fan is acquired; If the current speed is lower than a preset speed value, the fan is controlled to increase the speed according to a target proportion, If the current speed is higher than the preset speed value, the duty cycle of a pulse width modulation (PWM) signal for controlling the speed of the fan is adjusted to 100%; And / or, after a fourth time period from the current time is set, the duty cycle of the PWM signal for controlling the speed of the fan is adjusted to 100%.
8. The method according to claim 7, characterized in that The method further comprises: After the BMC restarts, a fifth time period is delayed, and the adaptive speed regulation strategy is called; The adaptive speed regulation strategy is used to adjust the speed of the fan according to the running parameters of the server.
9. The method according to any of claims 1-7, characterized by, The server further comprises a programmable logic device (CPLD), which is used to control the fan to run at the first speed value during the server startup process and before the BMC is powered on, and if the BMC has not been powered on within a sixth time period after the CPLD is powered on, the speed of the fan is increased; After the BMC is powered on, the method further comprises: Second information is sent to the CPLD to make the CPLD end the control of the fan according to the second information, wherein the second information is used to represent that the BMC is powered on; The BMC starts to control the fan.
10. A server, characterized by The server comprises a baseboard management controller (BMC), which comprises: At least one memory for storing a program; At least one processor for executing the program stored in the memory; When the program stored in the memory is executed, the processor is used to execute the method according to any one of claims 1-9.
Citation Information
Patent Citations
Method, device and system of server fan speed regulation
CN110345099A
Method for reducing noise of server in test scene and server
CN115355182A
Fan control method and device, substrate management controller and server
CN117570049A
Fan rotating speed adjusting method and server
CN118601927A
Air-pressure-dependent control of cooling systems using a shared air pressure sensor
US20080304229A1