Server heat dissipation system and method, and baseboard management controller
By adopting a dual-operating system architecture in the baseboard management controller, the high-response-rate first operating system is used to quickly obtain temperature information and control the cooling fan, solving the heat dissipation regulation problem during the server startup phase, realizing fast and comprehensive heat dissipation control, reducing noise and power consumption, and improving server startup performance.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- LANGCHAO ELECTRONIC INFORMATION IND CO LTD
- Filing Date
- 2025-08-28
- Publication Date
- 2026-06-18
AI Technical Summary
During the server startup phase, the non-real-time operating system startup time of the existing baseboard management controller is long, which leads to untimely heat dissipation control, affecting the server startup performance. Furthermore, in the event of a failure, the lack of a reasonable mechanism causes the cooling fan to run at full speed, resulting in noise and energy consumption problems.
It adopts a dual-operating system architecture, with the high-response-rate first operating system starting before the low-response-rate second operating system. It obtains temperature information through different buses and controls the operation of the cooling fan to achieve fast and comprehensive heat dissipation control.
Achieving precise and effective heat dissipation control during server startup reduces noise and power consumption, improves startup performance, and avoids the waste of running the cooling fan at full speed.
Smart Images

Figure CN2025117636_18062026_PF_FP_ABST
Abstract
Description
A server heat dissipation system, method, and baseboard management controller
[0001] Cross-reference to related applications
[0002] This application claims priority to Chinese Patent Application No. 202411824780.1, filed on December 12, 2024, entitled "A Server Heat Dissipation System, Method and Baseboard Management Controller", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This invention relates to the field of server technology, and in particular to a server heat dissipation system, method, and baseboard management controller. Background Technology
[0004] With the development of artificial intelligence technology, data centers are undertaking the task of processing and storing massive amounts of data, and their stability and efficiency directly affect business performance and reliability. The high-speed computing in data centers generates a large amount of heat, making heat dissipation a key bottleneck restricting performance improvements.
[0005] The Baseboard Management Controller (BMC) plays a crucial role in thermal management in data centers, managing the cooling system by intelligently monitoring and adjusting server temperatures. However, the non-real-time operating system running on the BMC requires a certain amount of time to boot up. During this time, the server generates a significant amount of heat that cannot be effectively controlled, severely impacting server startup performance.
[0006] In related technologies, there is a problem with heat dissipation control during the server startup phase. Summary of the Invention
[0007] The purpose of this invention is to provide a server heat dissipation system, method, and baseboard management controller to solve the heat dissipation control problem during the server startup phase.
[0008] To address the aforementioned technical problems, this invention provides a server heat dissipation system, including a baseboard management controller, a temperature acquisition component, and a cooling fan;
[0009] The baseboard management controller includes a first operating system and a second operating system, with the first operating system having a higher response rate than the second operating system;
[0010] After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component, accesses the temperature acquisition component through the second bus to obtain the second temperature information, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
[0011] After the second operating system starts, it performs a task to switch bus control with the first operating system. After the switch is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan according to the first and second temperature information.
[0012] On the one hand, the target monitoring components include at least one of the following: host unit, network card, external card, power supply unit, security module, and baseboard management controller.
[0013] On the other hand, the target monitoring component includes at least a host unit, and the first bus includes at least a first platform environment control interface bus configured to connect to the host unit.
[0014] On the other hand, the first operating system communicates with the host unit through the first platform environment control interface bus to obtain host unit temperature information, including:
[0015] The first operating system loads the platform environment control interface driver to call the first platform environment control interface bus to send a command to the host unit to obtain the host unit temperature information, and obtains the host unit temperature information in the response information fed back by the host unit through the first platform environment control interface bus.
[0016] On the other hand, the command to obtain the host unit temperature information includes the address information of the target host unit monitoring component;
[0017] The host unit feeds back response information via the first platform environment control interface bus, including:
[0018] After listening to the data packets on the first platform environment control interface bus, each central processing unit in the host unit compares the address information of the target host unit monitoring component recorded in the data packet with its own address information. If the addresses match, it obtains the temperature information of the target host unit monitoring component according to the type of the target host unit monitoring component and writes the temperature information of the target host unit monitoring component into the response information fed back to the first operating system.
[0019] The target monitoring components include at least one of the following: a central processing unit and memory.
[0020] On the other hand, the target monitoring component includes at least a network card, and the first bus includes at least a first integrated circuit bus configured to connect the network card.
[0021] On the other hand, the first operating system communicates with the network card via the first integrated circuit bus to obtain network card temperature information, including:
[0022] The first operating system loads the management component transmission protocol to call the first integrated circuit bus to send a command to the network card to obtain the network card temperature information, and obtains the network card temperature information in the response information fed back by the network card through the first integrated circuit bus.
[0023] On the other hand, the command to obtain network card temperature information includes the address information of the target network card;
[0024] The network interface card (NIC) feeds back response information via the first integrated circuit bus, including:
[0025] After the network card detects a data packet on the first integrated circuit bus, it compares the target network card address information recorded in the data packet with its own address information. If the addresses match, it writes the locally acquired network card temperature information into the response information fed back to the first operating system.
[0026] On the other hand, the target monitoring component includes at least a satellite controller of the baseboard management controller, and the first bus includes at least a second integrated circuit bus configured to connect to the satellite controller.
[0027] On the other hand, the first operating system communicates with the satellite controller via the second integrated circuit bus to obtain satellite controller temperature information, including:
[0028] The first operating system loads the intelligent platform management bus driver to call the second integrated circuit bus to send a command to the target satellite controller to obtain the satellite controller temperature information, and obtains the satellite controller temperature information in the response information fed back by the satellite controller through the second integrated circuit bus.
[0029] On the other hand, the command to obtain the satellite controller temperature information includes the address information of the target satellite controller;
[0030] The satellite controller feeds back response information via the second integrated circuit bus, including:
[0031] After the satellite controller detects the data packet on the second integrated circuit bus, it compares the address information of the target satellite controller recorded in the data packet with its own address information. If the addresses match, it writes the locally acquired satellite controller temperature information into the response information fed back to the first operating system.
[0032] On the other hand, the temperature acquisition components include at least one of the following: server air duct temperature acquisition components and server storage area temperature acquisition components.
[0033] On the other hand, the second operating system performs the task of switching bus control with the first operating system, including:
[0034] The second operating system sends a control switch request to the first operating system for the first bus, a control switch request for the second bus, and a control switch request for the third bus between the board management controller and the cooling fan;
[0035] The first operating system first releases control over the first bus and the second bus, and then releases control over the third bus.
[0036] Before releasing control of the third bus, if control of the first bus has been released, the first operating system reads the first temperature information from the shared memory between the first and second operating systems; if control of the second bus has been released, the first operating system reads the second temperature information from the shared memory.
[0037] On the other hand, the first operating system is also configured to load the host computer communication interface driver to call the host computer communication interface of the baseboard management controller to establish a communication connection with the host computer, receive the heat dissipation configuration information sent by the host computer and write it into the shared memory between the first operating system and the second operating system.
[0038] On the other hand, controlling the operation of the cooling fan based on the first temperature information and the second temperature information includes:
[0039] The target fan speed corresponding to the cooling fan is calculated based on the first and second temperature information.
[0040] Identify the type of fan control value transmission interface installed on the baseboard management controller;
[0041] If the fan control value sending interface is a pulse width modulation interface, then a first pulse width modulation signal is generated according to the target fan speed, and the first pulse width modulation signal is sent to the fan control unit so that the fan control unit transmits the first pulse width modulation signal to control the cooling fan to run at the target fan speed;
[0042] If the fan control value sending interface is an integrated circuit bus interface, a first integrated circuit bus signal is generated according to the target fan speed, and the first integrated circuit bus signal is sent to the fan control unit so that the fan control unit generates a second pulse width modulation signal according to the first integrated circuit bus signal to control the cooling fan to run at the target fan speed.
[0043] On the other hand, controlling the operation of the cooling fan based on the first temperature information and the second temperature information includes:
[0044] The target fan speed corresponding to the cooling fan is calculated based on the first and second temperature information.
[0045] Generate a pulse width modulation signal corresponding to the target fan speed based on the model of the cooling fan;
[0046] The pulse width modulation signal corresponding to the cooling fan is output to the cooling fan through the fan control pin corresponding to the cooling fan.
[0047] On the other hand, controlling the operation of the cooling fan based on the first temperature information and the second temperature information includes:
[0048] Based on the first temperature information, the second temperature information, and the position of each cooling fan, the target fan speed corresponding to each cooling fan is calculated.
[0049] The cooling fan is controlled to run at the target fan speed by using the fan control pin corresponding to the cooling fan.
[0050] To solve the above-mentioned technical problems, the present invention also provides a baseboard management controller, including a first operating system and a second operating system, wherein the response rate of the first operating system is higher than that of the second operating system;
[0051] After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component, accesses the temperature acquisition component through the second bus to obtain the second temperature information, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
[0052] After the second operating system starts, it performs a task to switch bus control with the first operating system. After the switch is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan according to the first and second temperature information.
[0053] To solve the above-mentioned technical problems, the present invention also provides a server heat dissipation method, applied to a baseboard management controller, wherein the baseboard management controller includes a first operating system and a second operating system, and the response rate of the first operating system is higher than that of the second operating system;
[0054] Server heat dissipation methods include:
[0055] After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component, accesses the temperature acquisition component through the second bus to obtain the second temperature information, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
[0056] After the second operating system starts, it performs a task to switch bus control with the first operating system. After the switch is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan according to the first and second temperature information.
[0057] To address the aforementioned technical problems, the present invention also provides a server heat dissipation device, comprising:
[0058] The memory is configured to store computer programs;
[0059] The processor is configured to execute a computer program, which, when executed by the processor, implements the steps of any of the server cooling methods described above.
[0060] To address the aforementioned technical problems, the present invention also provides a non-volatile storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the steps of any of the above-described server heat dissipation methods.
[0061] To address the aforementioned technical problems, the present invention also provides a computer program product, comprising a computer program that, when executed by a processor, implements the steps of any of the above-described server heat dissipation methods.
[0062] The server cooling system provided by this invention has the following advantages: After the baseboard management controller is powered on, the first operating system starts before the second operating system. After startup, it communicates with the target monitoring component via the first bus to obtain the first temperature information of the target monitoring component, and accesses the temperature acquisition component via the second bus to obtain the second temperature information. Based on the first and second temperature information, it controls the operation of the cooling fans, so that comprehensive server cooling control can be quickly entered during the server startup phase. After the second operating system of the baseboard management controller starts, it performs a bus control switch task with the first operating system. After the switch is completed, it obtains the first temperature information via the first bus and the second temperature information via the second bus, and controls the operation of the cooling fans based on the first and second temperature information. Thus, the cooling task can be executed quickly and comprehensively during the server startup phase, ensuring accurate and effective control of the heat generated during the server startup phase, without having to run all cooling fans at maximum speed to ensure cooling, reducing noise during server startup, saving power consumption, and improving server startup performance.
[0063] The present invention also provides a server heat dissipation method, device, computer program product, and baseboard management controller, which have the above-mentioned beneficial effects, and will not be described in detail here. Attached Figure Description
[0064] To more clearly illustrate the technical solutions of the embodiments of the present invention or related technologies, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0065] Figure 1 is a schematic diagram of a server heat dissipation system provided in an embodiment of the present invention;
[0066] Figure 2 is a flowchart of a server heat dissipation method provided in an embodiment of the present invention;
[0067] Figure 3 is a flowchart of another server heat dissipation method provided in an embodiment of the present invention;
[0068] Figure 4 is a flowchart of the startup phase of a server cooling system provided in an embodiment of the present invention;
[0069] Figure 5 is a flowchart of an inter-core communication establishment phase provided by an embodiment of the present invention;
[0070] Figure 6 is a flowchart of the normal operation phase of a server heat dissipation system according to an embodiment of the present invention;
[0071] Figure 7 is a flowchart of updating heat dissipation configuration information according to an embodiment of the present invention;
[0072] Figure 8 is a schematic diagram of the information format of heat dissipation configuration information provided in an embodiment of the present invention;
[0073] Figure 9 is a schematic diagram of a server heat dissipation device provided in an embodiment of the present invention. Detailed Implementation
[0074] The core of this invention is to provide a server heat dissipation system, method, and baseboard management controller to solve the heat dissipation control problem during the server startup phase.
[0075] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0076] In this embodiment of the invention, the main focus is on the control scheme for cooling fans in server heat dissipation.
[0077] Depending on the different operational phases of the server, adaptive server cooling solutions are required. During the server startup phase, the server components rapidly heat up from room temperature to operating temperature, and the Power-On Self-Test (POST) process can generate more heat than normal operating conditions. At this time, the operating system of the baseboard management controller, which is the overall controller for server cooling, has not yet started. Current server cooling solutions often employ a method of controlling all cooling fans to run at full speed during the server startup phase. This means that during the server startup phase, all cooling fans remain at full load for a considerable period, leading to increased energy consumption, noise, and reduced stability. Furthermore, to avoid heat dissipation risks during startup, the system is typically designed to wait for the baseboard management controller to complete its system startup before initiating the POST process, thus lengthening the time from power-on (usually Alternating Current, AC) to the entry of the operating system.
[0078] In addition to the noise and energy consumption problems caused by the cooling fan running at full speed during startup, in the event of a failure in the operating system of the baseboard management controller, since there is no reasonable mechanism to ensure the reliable takeover of the cooling fan, the cooling fan will usually run at full speed, which will again cause noise and energy consumption problems, affecting system stability and fan life.
[0079] To address this, the server cooling system provided in this embodiment of the invention includes a baseboard management controller, a temperature acquisition component, and a cooling fan. The baseboard management controller includes a first operating system and a second operating system, with the first operating system having a higher response rate than the second operating system. After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component via a first bus to obtain first temperature information of the target monitoring component, and accesses the temperature acquisition component via a second bus to obtain second temperature information. Based on the first and second temperature information, it controls the operation of the cooling fan. After the second operating system starts, it performs a bus control switchover task with the first operating system. After the switchover is complete, it obtains first temperature information via the first bus and second temperature information via the second bus, and controls the operation of the cooling fan based on the first and second temperature information. This allows for rapid and comprehensive cooling during the server startup phase, ensuring precise and effective control of the heat generated during server startup, without requiring all cooling fans to run at maximum speed to guarantee cooling. This reduces noise during server startup, saves power consumption, and improves server startup performance.
[0080] The server cooling system provided in the embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0081] Figure 1 is a schematic diagram of a server heat dissipation system provided in an embodiment of the present invention.
[0082] Those skilled in the art will understand that the structure shown in Figure 1 is merely illustrative, and the server cooling system and its surrounding connections shown therein do not limit the structure of the server cooling system, its surrounding connections, or the server on which it is installed. For example, the server cooling system may include more or fewer components than shown in Figure 1, or may have a different device than shown in Figure 1.
[0083] As shown in Figure 1, the server cooling system provided in this embodiment of the invention includes: a baseboard management controller, a temperature acquisition component, and a cooling fan. The baseboard management controller includes a first operating system and a second operating system, with the first operating system having a higher response rate than the second operating system. After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component via a first bus to obtain first temperature information of the target monitoring component, and accesses the temperature acquisition component via a second bus to obtain second temperature information. Based on the first and second temperature information, it controls the operation of the cooling fan. After the second operating system starts, it performs a bus control handover task with the first operating system. After the handover is completed, it obtains the first temperature information via the first bus, obtains the second temperature information via the second bus, and controls the operation of the cooling fan based on the first and second temperature information.
[0084] In server thermal management, the baseboard management controller is responsible for collecting and processing temperature information, determining the target fan speed (i.e., the target speed of the cooling fan that needs to be controlled) based on the temperature information, and generating output signals to regulate the cooling fan.
[0085] It should be noted that the "baseboard management controller" in this embodiment of the invention can refer to a baseboard management controller board, which includes, in addition to the out-of-band monitoring master controller, various bus controllers, programmable logic units, memory, and other components. The "baseboard management controller" in this embodiment of the invention can also refer to the out-of-band monitoring master controller on the baseboard management controller board, which can be a single-core processor or a multi-core processor. In this embodiment of the invention, the baseboard management controller or the out-of-band monitoring master controller on the baseboard management controller board can be an ARM processor, on which the baseboard management controller's management system runs.
[0086] As a standalone system, the baseboard management controller needs to run an operating system that provides complete operation, such as Contiki, HeliOS, or Linux. These operating systems generally employ fair task scheduling algorithms. As the number of threads and processes increases, processor time needs to be shared, leading to uncertainty in task debugging; they can be termed non-real-time operating systems. For example, Linux is a multi-user, multi-tasking operating system based on the Portable Operating System Interface (POSIX), supporting multi-threading and multiple CPUs. Its powerful functionality can support the various tasks required by the baseboard management controller. However, the disadvantage of such non-real-time operating systems is that they also require a relatively long boot time during server startup, resulting in a significant period during server startup when the operating system cannot be used for server thermal control.
[0087] In related technologies, baseboard management controllers equipped with either a real-time operating system (RTOS) or a non-real-time operating system can have the RTOS temporarily perform server thermal control during the server startup phase. Based on different control principles, the response rate of a RTOS is typically higher than that of a non-real-time operating system when running on the processor. However, RTOS is not as feature-rich as non-real-time operating systems. During server startup, the RTOS can only collect limited temperature information, typically only acquiring temperature data from the motherboard's air inlet and outlet vents. This is far from sufficient for comprehensive monitoring of the entire internal temperature field of the server, resulting in ineffective thermal control.
[0088] In this embodiment of the invention, in the baseboard management controller comprising a first operating system and a second operating system, the first operating system, which starts before the second operating system during the server startup phase, collects first temperature information of the target monitoring component via a first bus and second temperature information collected by the temperature acquisition component via a second bus. This enables the acquisition of all temperature information required for server heat dissipation control, and fan control is performed accordingly, thereby achieving rapid entry into a precise heat dissipation control state during the server startup phase. Subsequently, after the second operating system starts, a bus control handover task is executed between it and the first operating system. After the handover is completed, the first temperature information is acquired via the first bus, and the second temperature information is acquired via the second bus. The operation of the cooling fans is controlled based on the first and second temperature information. Thus, heat dissipation tasks can be executed quickly and comprehensively during the server startup phase, ensuring precise and effective control of the heat generated during the server startup phase, without having to run all cooling fans at maximum speed to ensure heat dissipation. This reduces noise during server startup, saves power consumption, and improves server startup performance.
[0089] In this embodiment of the invention, the first operating system and the second operating system do not limit the type or priority of the operating system. The only difference between them is the different response rates after the baseboard management controller is powered on, which leads to different startup sequences.
[0090] In some optional embodiments of the present invention, the first operating system can be a program with real-time functionality, including a real-time operating system or bare-metal program code capable of implementing real-time functionality. The type of real-time operating system may include, but is not limited to, FreeRTOS (Free Real-Time Operating System), RTLinux (Real-Time Linux), or real-time operating systems in other embedded systems.
[0091] The second operating system can include, but is not limited to, Contiki, HeliOS, and Linux.
[0092] In some optional embodiments of the present invention, the first operating system and the second operating system may both run on the core processor of the baseboard management controller and communicate with each other through inter-core communication. In other optional embodiments of the present invention, the first operating system and the second operating system may also have one running on the core processor of the baseboard management controller and the other running on the coprocessor of the baseboard management controller; for example, the first operating system runs on the coprocessor and the second operating system runs on the core processor.
[0093] In some optional embodiments of the present invention, a dual-system RTOS / Linux can run in the baseboard management controller. When using a multi-core baseboard management controller, one core processor can run the RTOS, while the remaining core processors run the Linux system.
[0094] In this embodiment of the invention, the terms "first" and "second" in "first temperature information" and "second temperature information" are used only to categorize the temperature information required by the substrate management controller into two main types based on the difference in acquisition methods, and do not limit the specific type or priority of the temperature information. First temperature information refers to temperature information that the substrate management controller needs to communicate with the target monitoring component, rather than directly accessing the temperature acquisition component. Second temperature information refers to temperature information that the substrate management controller can obtain by directly accessing the temperature acquisition component.
[0095] To enable both the first and second operating systems to achieve comprehensive server thermal control, bus drivers, communication protocols with the target monitoring components, and server thermal configuration information need to be deployed in both systems. The bus drivers may include, but are not limited to, drivers for the first bus, the second bus, and the third bus. Based on this, the first and second operating systems can utilize other hardware resources in the server thermal system in a time-sharing manner. Optionally, after the server powers on and the baseboard management controller is powered on, the first operating system starts before the second operating system. At this time, the first operating system holds bus control and executes the server thermal tasks. After the second operating system starts, bus control is transferred from the first operating system to the second operating system, which then executes the server thermal tasks. The specific process will be described in the following embodiments of this invention.
[0096] In this embodiment of the invention, the target monitoring component refers to the component that needs to be monitored for temperature in the server heat dissipation control, and the baseboard management controller needs to obtain the temperature information of the component by communicating with the component.
[0097] In this embodiment of the invention, the target monitoring component may refer to an intelligent component in the server. These intelligent components have the function of collecting their own temperature information, and the baseboard management controller needs to obtain the temperature information of the target monitoring component by communicating with the component.
[0098] In some optional embodiments of the present invention, the target monitoring component may include at least one of a host unit, a network interface card (NIC), an external card, a power supply unit, a security module, and a satellite controller of a baseboard management controller. Depending on the server type, the target monitoring component may not include the above-mentioned components, or may include other types of components.
[0099] As shown in Figure 1, in this embodiment of the invention, the "host unit" can be composed of one or more central processing unit (CPU) modules. Besides the CPU core processor, each CPU module may include a CPU temperature acquisition component, a first bus controller corresponding to the first bus, and memory (such as a Dual In-line Memory Module, DIMM). When the target monitoring component is the host unit, the first temperature information can include CPU temperature information and memory temperature information. In the host unit, the CPU temperature information and memory temperature information are typically recorded in the CPU's internal registers to describe the real-time temperature of the CPU and the real-time temperature of the memory.
[0100] For cases where the target monitoring component includes at least a host unit, the first bus includes at least a first platform environment control interface (PECI) bus for connecting the host unit. Furthermore, the first main line for connecting the host unit can also be an integrated circuit bus, such as a two-wire serial bus (Inter-Integrated Circuit, I2C) or an improved inter-integrated circuit bus (I3C).
[0101] External cards may include board components, such as graphics processing units (GPUs), that are connected via a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe).
[0102] Security modules may include, but are not limited to, security management modules and encryption modules.
[0103] Besides the host unit, the first bus corresponding to the other target monitoring components is usually an integrated circuit bus, which can be a two-wire serial bus or an improved integrated circuit bus.
[0104] It should be noted that, in this embodiment of the invention, "satellite controller" refers to a management controller not integrated onto the board where the baseboard management controller resides. Satellite controllers are typically connected to the baseboard management controller via an integrated circuit bus. Because the baseboard management controller is the primary management controller in the server's out-of-band management system, other management controllers are analogous to "satellites" surrounding the main controller, hence the term "satellite" controller. Satellite controllers are responsible for monitoring and managing specific hardware components in the server, such as temperature sensors, voltage sensors, and fans. They communicate with the baseboard management controller to centrally manage and monitor the server's health. For example, the management engine (ME) in the platform controller hub (PCH) can be considered a satellite controller of the baseboard management controller. This management engine is primarily responsible for power and energy consumption management. By interacting with the management engine, the baseboard management controller can obtain monitoring data, such as temperature and energy consumption, of critical components like the central processing unit (CPU) and memory, and then perform operations such as fault logging, CPU frequency reduction, or shutdown based on management policies.
[0105] In the case where the target monitoring component is a host unit, the first operating system communicates with the host unit through the first platform environment control interface bus to obtain the host unit temperature information. This may include: the first operating system loading the platform environment control interface driver to call the first platform environment control interface bus to send a command to the host unit to obtain the host unit temperature information, and obtaining the host unit temperature information in the response information fed back by the host unit through the first platform environment control interface bus.
[0106] The command to obtain the host unit temperature information may include the address information of the target host unit monitoring component; the host unit feeds back response information through the first platform environment control interface bus, which may include: after each central processing unit in the host unit listens to the data packet on the first platform environment control interface bus, it compares the address information of the target host unit monitoring component recorded in the data packet with its own address information. If the addresses match, it obtains the temperature information of the target host unit monitoring component according to the type of the target host unit monitoring component, and writes the temperature information of the target host unit monitoring component into the response information fed back to the first operating system; wherein, the type of the target monitoring component includes at least one of the central processing unit and memory.
[0107] In other words, the first operating system communicates with the host unit by loading the bus driver and calling the first bus controller corresponding to the first bus. The host unit feeds back the CPU temperature information and memory temperature information to the baseboard management controller. During the acquisition of the first temperature information, the first bus controller in the server out-of-band management system acts as the master controller (System Host), and the first bus controller in the host unit acts as the slave controller (Client). For the host unit, the first bus controller can be a platform environment control interface controller, such as the first platform environment control interface controller described above, in which case the bus protocol used is the platform environment control interface protocol.
[0108] When the target monitoring component is a network interface card (NIC), the first bus may include at least a first integrated circuit bus for connecting the NIC. This first integrated circuit bus may be a two-wire serial bus or an improved integrated circuit bus.
[0109] The first operating system communicates with the network card through the first integrated circuit bus to obtain network card temperature information. This may include: the first operating system loading the Management Component Transport Protocol (MCTP) to call the first integrated circuit bus to send a command to the network card to obtain network card temperature information (MCTP Over I2C), and obtaining the network card temperature information in the response information fed back by the network card through the first integrated circuit bus.
[0110] The command to obtain network interface card (NIC) temperature information can include the target NIC's address information. The NIC responds via the first integrated circuit bus, which can include: after detecting a data packet on the first integrated circuit bus, the NIC compares the target NIC's address information recorded in the data packet with its own address information; if the addresses match, it writes the locally obtained NIC temperature information into the response information fed back to the first operating system. Thus, the first operating system can collect NIC temperature information from one or more NICs.
[0111] When the target monitoring component is a satellite controller, the first bus may include at least a second integrated circuit bus for connecting the satellite controller. This second integrated circuit bus may be a two-wire serial bus or an improved integrated circuit bus. Furthermore, the first bus for connecting the satellite controller may also be an Intelligent Platform Management Bus (IPMB).
[0112] The first operating system communicates with the satellite controller via the second integrated circuit bus to obtain satellite controller temperature information. This may include: the first operating system loading the intelligent platform management bus driver to call the second integrated circuit bus to send a command to the target satellite controller to obtain satellite controller temperature information, and obtaining the satellite controller temperature information in the response information fed back by the satellite controller through the second integrated circuit bus.
[0113] The command to obtain satellite controller temperature information may include the address information of the target satellite controller. The satellite controller feeds back response information via the second integrated circuit bus, which may include: after the satellite controller detects a data packet on the second integrated circuit bus, it compares the address information of the target satellite controller recorded in the data packet with its own address information. If the addresses match, it writes the locally obtained satellite controller temperature information into the response information fed back to the first operating system. Thus, the first operating system can collect satellite controller temperature information from one or more satellite controllers.
[0114] As shown in Figure 1, in some optional embodiments of the present invention, the target monitoring component may include a host unit, a network interface card (NIC), and a platform controller management engine unit. The first bus may include a first platform environment control interface bus for connecting the host unit, a first integrated circuit bus for connecting the NIC, and a second integrated circuit bus for connecting the platform controller management engine unit.
[0115] In this embodiment of the invention, the type of temperature acquisition component may include a temperature sensor.
[0116] In this embodiment of the invention, the temperature acquisition component may include at least one of the following, depending on the object being acquired: a server air duct temperature acquisition component and a server storage area temperature acquisition component.
[0117] The server airflow temperature may include, but is not limited to, the server exhaust temperature and the server inlet temperature. The server storage area temperature may include, but is not limited to, the hard drive backplane temperature.
[0118] Depending on the type of server, the temperature acquisition component may not include the temperature acquisition component mentioned above, or it may include temperature acquisition components set up for other acquisition objects in the server.
[0119] During the acquisition of the second temperature information, the second bus controller in the substrate management controller acts as the master controller, and the first bus controller in the host unit acts as the slave controller.
[0120] Through the connection relationship described above, the first operating system in the baseboard management controller can obtain comprehensive server temperature information and achieve better temperature field control during the server startup phase.
[0121] In this embodiment of the invention, the cooling fan can be controlled by the substrate management controller directly outputting a control signal, or the substrate management controller can output a control signal to the coprocessor, which can then directly control the cooling fan.
[0122] In this embodiment of the invention, the third bus controller corresponding to the third bus may include at least one of an integrated circuit bus controller and a pulse width modulation (PWM) controller. For distinction, the third bus controller may include a fourth integrated circuit bus controller and / or a first pulse width modulation controller.
[0123] As shown in Figure 1, in the server heat dissipation system provided in this embodiment of the invention, the system composed of multiple cooling fans can be called a fan array unit, and the cooling fans are referred to as fan 1, fan 2, ..., fan N.
[0124] In current server heat dissipation control, all cooling fans in a fan array unit are typically controlled to operate at a uniform speed. However, the heat generated by each cooling fan may differ depending on the location it targets. If all cooling fans operate at a uniform speed, to ensure effective heat dissipation in high-heat areas, the cooling fans in lower-heat areas will have their speed wasted, resulting in energy waste for the server. Therefore, in some optional embodiments of this invention, controlling the operation of cooling fans based on first and second temperature information may include: calculating the target fan speed for each cooling fan based on the first and second temperature information and the position of each cooling fan; and controlling the cooling fan to operate at the corresponding target fan speed through the fan control pin corresponding to the cooling fan.
[0125] In practical applications, the pins of the baseboard management controller or coprocessor used to directly control the cooling fans can be connected one-to-one with each cooling fan, providing a hardware basis for controlling different cooling fans to operate at different speeds.
[0126] Furthermore, even when using the same target fan speed for control, different fan models require different pulse width modulation (PWM) signals. Therefore, in this embodiment of the invention, controlling the cooling fan's operation based on first and second temperature information may include: calculating the target fan speed corresponding to the cooling fan based on the first and second temperature information; generating a pulse width modulation (PWM) signal corresponding to the target fan speed based on the cooling fan's model; and outputting the PWM signal to the cooling fan through the corresponding fan control pin to the cooling fan.
[0127] As shown in Figure 1, for fans 1, 2, ..., N, the board management controller can output pulse width modulation signal 1, pulse width modulation signal 2, ..., pulse width modulation signal N respectively.
[0128] In some optional embodiments of the present invention, the server cooling system may further include a Complex Programmable Logic Device (CPLD) to address the issue of insufficient pins in the baseboard management controller. In server cooling tasks, the CPLD is primarily used for signal characteristic conversion of fan control information and output of fan speed control signals.
[0129] Furthermore, to adapt to the fan control information output interfaces of different substrate management controllers, in this embodiment of the invention, controlling the operation of the cooling fan based on the first temperature information and the second temperature information may further include: calculating the target fan speed corresponding to the cooling fan based on the first temperature information and the second temperature information; identifying the type of fan control value transmission interface installed on the substrate management controller; if the fan control value transmission interface is a pulse width modulation interface, generating a first pulse width modulation signal based on the target fan speed and sending the first pulse width modulation signal to the fan control unit, so that the fan control unit transmits the first pulse width modulation signal to control the cooling fan to run at the target fan speed; if the fan control value transmission interface is an integrated circuit bus interface, generating a first integrated circuit bus signal based on the target fan speed and sending the first integrated circuit bus signal to the fan control unit, so that the fan control unit generates a second pulse width modulation signal based on the first integrated circuit bus signal to control the cooling fan to run at the target fan speed.
[0130] The fan control unit can be a complex logic programmable device.
[0131] To adapt to the fan control information output interfaces of different board management controllers, the complex logic programmable device (CLP) simultaneously supports receiving control information via both the integrated circuit bus and general purpose input / output (GPIO) channels. As shown in Figure 1, after receiving control information from the board management controller via the fourth integrated circuit bus controller (slave), the CLP needs to have its pulse width modulation (PWM) value extracted by the PWM value extraction module. Then, the waveform generation module generates PWM signals, which are finally output via the second GPIO (BANK Y) to meet the PWM requirements of the fan module for each fan. If the CLP receives control information from the first PWM controller of the board management controller via the first GPIO, it directly transmits the information from the first GPIO (BANK X) to the second GPIO (BANK Y) for further output to the fan array unit, thus achieving speed control of each fan. The electrical characteristics of the first general purpose input / output port (BANK X) and the second general purpose input / output port (BANK Y) are respectively matched with the fan control information of the first pulse width modulation controller and the fan array unit of the board management controller.
[0132] In this embodiment of the invention, the second operating system performing the bus control switching task with the first operating system may include: the second operating system sending a control switching request for the first bus, a control switching request for the second bus, and a control switching request for the third bus between the board management controller and the cooling fan to the first operating system; the first operating system first releasing control over the first bus and the second bus, and then releasing control over the third bus; before releasing control over the third bus, if control over the first bus has already been released, the first operating system reads first temperature information from the shared memory between the first and second operating systems; if control over the second bus has already been released, the first operating system reads second temperature information from the shared memory.
[0133] It should be noted that after the second operating system starts up, the steps it takes to perform the server cooling task are the same as those described above for the first operating system to perform the server cooling task.
[0134] In this embodiment of the invention, the second operating system can also be used to communicate with the target monitoring component via the first bus to obtain the first temperature information of the target monitoring component after the first operating system restarts, access the temperature acquisition component via the second bus to obtain the second temperature information, and control the operation of the cooling fan according to the first temperature information and the second temperature information.
[0135] The server cooling system provided in this invention includes a baseboard management controller, a temperature acquisition component, and a cooling fan. The baseboard management controller includes a first operating system and a second operating system, with the first operating system having a higher response rate than the second operating system. After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component via a first bus to obtain the first temperature information of the target monitoring component, and accesses the temperature acquisition component via a second bus to obtain the second temperature information. Based on the first and second temperature information, it controls the operation of the cooling fan. After the second operating system starts, it performs a bus control switchover task with the first operating system. After the switchover is complete, it obtains the first temperature information via the first bus and the second temperature information via the second bus, and controls the operation of the cooling fan based on the first and second temperature information. This allows for rapid and comprehensive cooling during the server startup phase, ensuring accurate and effective control of the heat generated during server startup without requiring all cooling fans to run at maximum speed. This reduces noise during server startup, saves power consumption, and improves server startup performance.
[0136] In current servers, fan control strategies in the baseboard management controller are typically generated statically through code. This makes the fan control strategies inflexible and difficult to adapt to changing business scenarios. Furthermore, the cooling requirements of servers vary significantly depending on the model, workload, and environmental conditions. Static fan control strategies cannot adjust in a timely manner to adapt to these changes, thus impacting the energy efficiency and stability of the data center.
[0137] Based on the above embodiments, in the server heat dissipation system provided in this embodiment of the invention, the baseboard management controller can also be connected to the host computer through the host computer communication interface to receive heat dissipation configuration information sent by the host computer and execute server heat dissipation tasks according to the heat dissipation configuration information.
[0138] In this embodiment of the invention, the first operating system and / or the second operating system can connect to the host computer through the host computer communication interface to receive the heat dissipation configuration information sent by the host computer.
[0139] The host computer communication interface can be a Universal Asynchronous Receiver / Transmitter (UART) interface.
[0140] In some optional embodiments of the present invention, the first operating system can be used to load the host computer communication interface driver to call the host computer communication interface of the baseboard management controller to establish a communication connection with the host computer, receive the heat dissipation configuration information sent by the host computer and write it into the shared memory between the first operating system and the second operating system.
[0141] Therefore, whether the server cooling task is performed by the first operating system or the second operating system, a fan control strategy that is more suitable for the current server model, current business scenario and environmental conditions can be obtained, thereby further improving the server cooling performance.
[0142] Based on the above embodiments, this invention also provides a baseboard management controller, which includes a first operating system and a second operating system. The first operating system has a higher response rate than the second operating system. After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component through a first bus to obtain the first temperature information of the target monitoring component, and accesses the temperature acquisition component through the second bus to obtain the second temperature information. It then controls the operation of the cooling fan based on the first and second temperature information. After the second operating system starts, it performs a bus control handover task with the first operating system. After the handover is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan based on the first and second temperature information.
[0143] For specific implementation methods of the embodiments of the present invention, please refer to any of the baseboard management controllers described in the above-described server heat dissipation system embodiments.
[0144] Based on the server heat dissipation system and / or baseboard management controller described in the above embodiments, the server heat dissipation method provided by the embodiments of the present invention will be described below with reference to the accompanying drawings.
[0145] Figure 2 is a flowchart of a server heat dissipation method provided in an embodiment of the present invention.
[0146] As shown in Figure 2, the method is applied to a baseboard management controller, which includes a first operating system and a second operating system. The first operating system has a higher response rate than the second operating system. The server heat dissipation method provided in this embodiment of the invention includes:
[0147] S21: After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component, accesses the temperature acquisition component through the second bus to obtain the second temperature information, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
[0148] S22: After the second operating system starts, it performs a task to switch bus control between itself and the first operating system. After the switch is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
[0149] In an optional implementation, after the server system is powered on, the first operating system in the baseboard management controller starts first. Then, all temperature acquisition components are ready, the Complex Programmable Logic Device (CPLD) on the baseboard management controller board is ready, and the fan array unit is ready. At this point, the first operating system performs the server cooling task.
[0150] It should be noted that when the first operating system or the second operating system only obtains the first temperature information or only obtains the second temperature information, it can also control the cooling fan according to the pre-configured heat dissipation configuration information until both types of temperature information are obtained, and then combine the two types of temperature information to control the cooling fan.
[0151] In this embodiment of the invention, the target monitoring component may include at least one of a host unit, a network card, an external card, a power supply unit, a security module, and a satellite controller of a baseboard management controller.
[0152] Regarding network card temperature information, obtaining network card temperature information through the first bus may include: sending a command to the network card component to obtain network card temperature information through the first integrated circuit bus controller, and obtaining the network card temperature information in the response information fed back by the network card component after verifying the network card temperature information command.
[0153] In an optional implementation, taking the connection between the first operating system and the network card (NIC) via the first integrated circuit bus controller as an example, when it is necessary to obtain NIC temperature information, the first operating system loads the Management Component Transport Protocol (MCTP) driver and sends a command to the NIC to obtain NIC temperature information via the integrated circuit bus channel. This command is a message command based on the Management Component Transport Protocol over I2C (MCTP Over I2C) on the integrated circuit bus. The NIC compares its own integrated circuit address with the integrated circuit address in the message packet, and compares its own Device Identifier (EID) information with the Device Identifier (EID) information in the message packet. When both match, the NIC receives the aforementioned MCTP Over I2C message, responds to the MCTP Over I2C message packet according to the message content, and sends the response information to the first operating system. The first operating system receives and parses the NIC temperature information in the response information.
[0154] Regarding satellite controller temperature information, obtaining satellite controller temperature information via the first bus may include: sending a command to the satellite controller to obtain satellite controller temperature information via the second integrated circuit bus controller, and obtaining the satellite controller temperature information in the response information fed back by the satellite controller.
[0155] In an optional implementation, taking the example of a first operating system connecting to a satellite controller via a second integrated circuit bus controller, when satellite controller temperature information is needed, the first operating system sends a command to the satellite controller to obtain the satellite controller temperature information via the second integrated circuit bus controller. After receiving the request command from the first operating system, the satellite controller sends a response message to the first operating system, which then receives and parses the satellite controller temperature information from the response message.
[0156] Regarding the host unit temperature information, obtaining the host unit temperature information through the first bus may include: sending a command to the host unit to obtain the host unit temperature information through the first platform environment control interface controller, and obtaining the host unit temperature information in the response information fed back by the host unit after matching the platform environment control interface address.
[0157] In an optional implementation, taking the first operating system connecting to the host unit via a first platform environment control interface controller as an example, when host unit temperature information is needed, the first operating system loads the platform environment control interface driver and sends a command to each CPU in the host unit to obtain the host unit temperature through the platform environment control interface channel. The obtained host unit temperature may include CPU temperature and memory temperature. Each CPU listens to the platform environment control interface bus, compares its own platform environment control interface address with the bus address, and the CPU with the matching address responds to the request command and sends a response information to the first operating system. The first operating system receives and parses the host temperature information in the response information.
[0158] In this embodiment of the invention, the temperature acquisition component may include at least one of: a server air duct temperature acquisition component and a server storage area temperature acquisition component.
[0159] Obtaining the second temperature information collected by the temperature acquisition component via the second bus can include: sending a command to the temperature acquisition component to obtain the second temperature information via the second bus controller, and obtaining the second temperature information in the response information fed back by the temperature acquisition component after comparing its own address with the address in the bus data packet received from the second bus controller and matching them.
[0160] Taking the second bus controller as an integrated circuit bus controller as an example. After the temperature acquisition components in the server cooling system are started, each temperature acquisition component performs the task of acquiring the temperature of the target object and listens to the status of the integrated circuit bus. When a bus data packet is detected, it compares its own integrated circuit bus address with the address in the bus data packet. The temperature acquisition component with the matching address responds to the command to obtain the second temperature information in the bus data packet and sends the response information to the first operating system. The first operating system receives and parses the second temperature information in the response information.
[0161] Based on the above embodiments, the present invention further describes the fan control method in the server heat dissipation method.
[0162] In some optional embodiments of the present invention, controlling the operation of the cooling fan based on the first temperature information and the second temperature information may include: calculating the target fan speed corresponding to the cooling fan based on the first temperature information and the second temperature information, and controlling each cooling fan to run at the target fan speed.
[0163] Because different areas within a server generate varying amounts of heat, if all cooling fans operate at the same speed, the cooling fans in areas with lower heat output will waste energy in order to ensure effective heat dissipation in high-heat areas. Therefore, in some optional embodiments of this invention, controlling the operation of the cooling fans based on first and second temperature information may include: calculating the target fan speed for each cooling fan based on the first and second temperature information and the position of each cooling fan; and controlling the cooling fans to operate at the corresponding target fan speed via fan control pins.
[0164] By controlling the cooling fans in this one-to-one correspondence manner, different cooling fans can be controlled to run at the same speed, or they can be controlled to run at different speeds.
[0165] Furthermore, the electrical specificity of the pulse width modulation (PWM) signal in current baseboard management controllers is fixed, which limits their adaptability to fans of different specifications. Different fans may require different PWM signals to achieve optimal speed and airflow, and a PWM output with fixed characteristics cannot meet such personalized needs. Therefore, in some optional embodiments of the present invention, controlling the operation of the cooling fan based on first temperature information and second temperature information may include: calculating the target fan speed corresponding to the cooling fan based on the first temperature information and second temperature information; generating a pulse width modulation signal corresponding to the target fan speed based on the model of the cooling fan; and outputting the pulse width modulation signal corresponding to the cooling fan to the cooling fan through the fan control pin corresponding to the cooling fan.
[0166] Depending on the server configuration, the fan control value transmission interface installed on the baseboard management controller board may vary. Fan controllers typically come in two types: integrated circuit bus controllers and pulse width modulation controllers. Some baseboard management controller boards only have one type of controller, which necessitates additional configuration changes when controlling the cooling fans. While some solutions employ hardware switching components to switch to a fan controller that matches the baseboard management controller's cooling configuration information, this obviously increases hardware costs.
[0167] Therefore, based on the above embodiments, in some optional embodiments of the present invention, controlling the operation of the cooling fan according to the first temperature information and the second temperature information may further include: calculating the target fan speed corresponding to the cooling fan according to the first temperature information and the second temperature information; identifying the type of fan control value transmission interface installed on the substrate management controller; if the fan control value transmission interface is a pulse width modulation interface, generating a first pulse width modulation signal according to the target fan speed and sending the first pulse width modulation signal to the fan control unit, so that the fan control unit transmits the first pulse width modulation signal to control the cooling fan to run at the target fan speed; if the fan control value transmission interface is an integrated circuit bus interface, generating a first integrated circuit bus signal according to the target fan speed and sending the first integrated circuit bus signal to the fan control unit, so that the fan control unit generates a second pulse width modulation signal according to the first integrated circuit bus signal to control the cooling fan to run at the target fan speed.
[0168] The fan control unit can be a complex logic programmable device.
[0169] After the second operating system starts, the first operating system hands over the server cooling task to the second operating system. In S22, after the second operating system starts, it performs a bus control handover task with the first operating system, which may include: the second operating system sending a control handover request to the first operating system for the first bus, a control handover request to the second bus, and a control handover request to the third bus between the baseboard management controller and the cooling fan; the first operating system first releases control of the first bus and the second bus, and then releases control of the third bus; before releasing control of the third bus, if control of the first bus has already been released, the first operating system reads first temperature information from the shared memory between the first and second operating systems; if control of the second bus has already been released, the first operating system reads second temperature information from the shared memory.
[0170] In an optional implementation, the first operating system establishes a communication connection with the second operating system and transfers control of each bus controller, gradually switching the server cooling task to be executed by the second operating system.
[0171] If the first operating system and the second operating system are core processors of a multi-core substrate management controller, the server heat dissipation method provided in this embodiment of the invention may further include: after the first operating system detects that the second operating system has started, it establishes an inter-core communication connection with the second operating system; and based on the inter-core communication connection, it transfers bus control to the second operating system to switch to the second operating system to perform the server heat dissipation task.
[0172] After the second operating system starts up, the steps it takes to perform the server cooling task are the same as those described above for the steps the first operating system takes to perform the server cooling task.
[0173] Figure 3 is a flowchart of another server heat dissipation method provided in an embodiment of the present invention.
[0174] Based on the above embodiments, to obtain a more flexible fan control strategy, as shown in Figure 3, the server heat dissipation method provided in this embodiment of the invention may further include:
[0175] S23: The first or second operating system loads the host computer communication interface driver to establish a communication connection with the host computer through the host computer communication interface of the baseboard management controller; receives the heat dissipation configuration information sent by the host computer and writes it into the shared memory between the first and second operating systems.
[0176] In an optional implementation, the host computer communication interface can be a Universal Asynchronous Receiver / Transmitter (UART) interface.
[0177] Since the embodiments of the server heat dissipation method correspond to the embodiments of the server heat dissipation system and the substrate management controller, please refer to the descriptions of the embodiments of the server heat dissipation system and the substrate management controller for any parts of the server heat dissipation method that are not described in detail here.
[0178] In practical applications, taking the first and second operating systems as core processors of the multi-core substrate management controller as an example, the startup process of the server cooling system after the server is powered on is divided into the server cooling system startup stage, the inter-core communication establishment stage, and the server cooling system normal operation stage.
[0179] Figure 4 is a flowchart of the startup phase of a server cooling system provided in an embodiment of the present invention.
[0180] The steps involved in starting up a server cooling system may include those shown in Figure 4.
[0181] In the first stage, the system is powered on, the first operating system of the baseboard management controller is started first, and all components are ready, including S401 to S404 as shown in Figure 4.
[0182] S401: First operating system boots up.
[0183] S402: All components are ready.
[0184] S403: Complex logic programmable device ready.
[0185] S404: Fan array unit ready.
[0186] In the second stage, the host is powered on, the second operating system of the baseboard management controller starts up, and the first operating system loads the integrated circuit bus driver, including S405 to S407 as shown in Figure 4.
[0187] S405: The main unit is powered on.
[0188] S406: The second operating system has started booting.
[0189] S407: The first operating system loads the integrated circuit bus driver.
[0190] In the third stage, the first operating system acquires the first temperature information, including steps S408 to S410 as shown in Figure 4.
[0191] S408: The first operating system sends a command to the temperature acquisition unit to obtain the second temperature information. Optionally, the first operating system sequentially sends commands to each temperature acquisition unit to obtain the second temperature information. The second temperature information may include at least one of the following: server exhaust temperature, server inlet temperature, hard disk backplane temperature, and power supply unit temperature.
[0192] S409: The temperature acquisition unit performs address matching. Optionally, each temperature acquisition unit listens to the integrated circuit bus, and after matching the integrated circuit bus address, obtains the bus data packet and reads the request command to obtain the second temperature information.
[0193] S410: The temperature acquisition unit sends a response message to the first operating system. Optionally, the temperature acquisition unit sends the response message carrying the second temperature information to the first operating system via the integrated circuit bus.
[0194] In the fourth stage, the first operating system acquires the first temperature information, including S411 to S417 as shown in Figure 4.
[0195] S411: The first operating system loads and manages the transmission protocol driver.
[0196] S412: The first operating system sends a command to the network card to obtain the network card temperature. Optionally, the first operating system sends a message command based on the management component transmission protocol of the integrated circuit bus to the network card to obtain the network card temperature information.
[0197] S413: The network card sends a response message to the first operating system. Optionally, the network card may send a response message carrying network card temperature information to the first operating system.
[0198] S414: The first operating system sends a command to the platform controller management engine unit to obtain the platform controller temperature. Optionally, the first operating system sends the command to obtain the platform controller temperature information to the platform controller management engine unit through the second integrated circuit bus controller.
[0199] S415: The platform controller management engine unit sends response information to the first operating system. Optionally, the platform controller management engine unit sends response information carrying platform controller temperature information to the first operating system.
[0200] S416: The first operating system sends a command to the host unit to obtain the host unit's temperature. Optionally, the first operating system sends the command to the host unit to obtain the host unit's temperature information through the first platform environment control interface controller.
[0201] S417: The host unit sends a response message to the first processing unit. Optionally, each CPU in the host unit listens to the platform environment control interface bus, compares its own platform environment control interface address with the bus address, and the CPU with the matching address responds to the request command and sends a response message to the first operating system. The first operating system receives and parses the host temperature information in the response message.
[0202] In the fifth stage, the first operating system controls the operation of the cooling fan based on the first temperature information and / or the second temperature information, including S418 to S420 as shown in Figure 4.
[0203] S418: The first operating system calculates the fan control value based on the first temperature information and / or the second temperature information. Optionally, the first operating system determines whether the received first and second temperature information are complete. If incomplete, it resends the request command to the corresponding component. If the number of request commands sent for a certain component exceeds a preset threshold, the fan control value is directly calculated based on the existing temperature information; if the preset threshold is not exceeded, the request command can continue to be sent to the corresponding component. If the first and second temperature information are complete, the fan control value is calculated based on the first and second temperature information. The fan control value can be a control value that corresponds one-to-one with the cooling fan.
[0204] S419: The first operating system sends fan control values through a complex logic programmable device (CLP). Optionally, the first operating system checks the fan control value sending interface. If the fan control value sending interface is a pulse width modulation (PWM) interface, the first operating system sends a first PWM signal to the CLP through the PWM interface. The CLP then receives the signal through a first general-purpose input / output port (BANK X) and passes it through to a second general-purpose input / output port (BANK Y), so that the CLP outputs a PWM waveform to the fan array unit through the second general-purpose input / output port (BANK Y). If the fan control value sending interface is an integrated circuit bus interface, the first operating system sends a PWM signal to the CLP through the integrated circuit bus channel, so that the CLP receives the information sent by the first operating system through the integrated circuit bus channel, parses and extracts the PWM value from the information, generates the corresponding general-purpose input / output port waveform level according to the PWM value, and outputs the PWM waveform to the fan array unit through the second general-purpose input / output port (BANK Y).
[0205] S420: Each cooling fan in the fan array unit controls its speed based on its own pulse width modulation waveform.
[0206] Figure 5 is a flowchart of an inter-core communication establishment phase provided by an embodiment of the present invention.
[0207] The steps in the inter-core communication establishment phase may include S501 to S507 as shown in Figure 5.
[0208] S501: The first operating system loads the inter-core communication driver.
[0209] S502: The second operating system loads the inter-core communication driver.
[0210] S503: The second operating system sends a request to the first operating system to switch control of the integrated circuit bus controller via inter-core communication.
[0211] S504: The first operating system releases control of the integrated circuit bus controller and responds to the second operating system through inter-core communication.
[0212] S505: The second operating system sends a request to the first operating system to switch control of the platform environment control interface controller via inter-core communication.
[0213] S506: The first operating system releases control of the platform environment control interface controller and responds to the second operating system through inter-core communication.
[0214] S507: The second operating system loads the integrated circuit bus driver, management component transmission protocol driver, and platform environment control interface driver.
[0215] Figure 6 is a flowchart of the normal operation phase of a server heat dissipation system provided in an embodiment of the present invention.
[0216] After the inter-core communication establishment phase, the server cooling system enters the normal operation phase. The workflow of this phase is shown in Figure 6 and may include S601 to S613.
[0217] In the first stage, the second operating system acquires the first temperature information. This includes steps S601 to S603 as shown in Figure 6.
[0218] S601: The second operating system sends a command to the temperature acquisition unit to obtain second temperature information. Optionally, the second operating system sequentially sends commands to each temperature acquisition unit to obtain second temperature information. The second temperature information may include at least one of the following: server exhaust temperature, server inlet temperature, hard disk backplane temperature, and power supply unit temperature.
[0219] S602: The temperature acquisition unit performs address matching. Optionally, each temperature acquisition unit listens to the integrated circuit bus, and after matching the integrated circuit bus address, obtains the bus data packet and reads the request command to obtain the second temperature information.
[0220] S603: The temperature acquisition unit sends a response message to the second operating system. Optionally, the temperature acquisition unit sends the response message carrying the second temperature information to the second operating system via the integrated circuit bus.
[0221] In the second stage, the second operating system acquires the first temperature information, including S604 to S610 as shown in Figure 6.
[0222] S604: Second operating system load management component transmission protocol driver.
[0223] S605: The second operating system sends a command to the network card to obtain the network card temperature. Optionally, the second operating system sends a message command based on the management component transmission protocol of the integrated circuit bus to the network card to obtain the network card temperature information.
[0224] S606: The network card sends a response message to the second operating system. Optionally, the network card sends a response message carrying network card temperature information to the second operating system.
[0225] S607: The second operating system sends a command to the platform controller management engine unit to obtain the platform controller temperature. Optionally, the second operating system sends the command to obtain the platform controller temperature information to the platform controller management engine unit through the second integrated circuit bus controller.
[0226] S608: The platform controller management engine unit sends response information to the second operating system. Optionally, the platform controller management engine unit sends response information carrying platform controller temperature information to the second operating system.
[0227] S609: The second operating system sends a command to the host unit to obtain the host unit's temperature. Optionally, the second operating system sends the command to the host unit to obtain the host unit's temperature information through the first platform environment control interface controller.
[0228] S610: The host unit sends a response message to the first processing unit. Optionally, each CPU in the host unit listens to the platform environment control interface bus, compares its own platform environment control interface address with the bus address, and the CPU with the matching address responds to the request command and sends a response message to the second operating system. The second operating system receives and parses the host temperature information in the response message.
[0229] In the third stage, the second operating system controls the operation of the cooling fan based on the first temperature information and / or the second temperature information, including S611 to S613 as shown in Figure 6.
[0230] S611: The second operating system calculates the fan control value based on the first temperature information and / or the second temperature information. Optionally, the second operating system determines whether the received first and second temperature information are complete. If incomplete, it resends the request command to the corresponding component. If the number of request commands sent for a certain component exceeds a preset threshold, the fan control value is directly calculated based on the existing temperature information; if the preset threshold is not exceeded, the request command can continue to be sent to the corresponding component. If the first and second temperature information are complete, the fan control value is calculated based on the first and second temperature information. The fan control value can be a control value that corresponds one-to-one with the cooling fan.
[0231] S612: The second operating system sends fan control values to the complex logic programmable device (CLP). Optionally, the second operating system checks the fan control value sending interface. If the fan control value sending interface is a pulse width modulation (PWM) interface, the second operating system sends a first PWM signal to the CLP through the PWM interface. The CLP receives the signal through the first general-purpose input / output port (BANK X) and passes it through to the second general-purpose input / output port (BANK Y), so that the CLP outputs a PWM waveform to the fan array unit through the second general-purpose input / output port (BANK Y). If the fan control value sending interface is an integrated circuit bus interface, the second operating system sends a PWM signal to the CLP through the integrated circuit bus channel, so that the CLP receives the information sent by the second operating system through the integrated circuit bus channel, parses and extracts the PWM value from the information, generates the corresponding general-purpose input / output port waveform level according to the PWM value, and outputs the PWM waveform to the fan array unit through the second general-purpose input / output port (BANK Y).
[0232] S613: Each cooling fan in the fan array unit controls its speed based on its own pulse width modulation waveform.
[0233] During the normal operation of the aforementioned server cooling system, the first operating system is used to update the fan control strategy to implement corresponding fan control strategies under different business scenarios, enabling the server components to operate under optimal energy efficiency conditions. The configuration method for cooling configuration information will be described next.
[0234] Figure 7 is a flowchart of updating heat dissipation configuration information according to an embodiment of the present invention; Figure 8 is a schematic diagram of the information format of heat dissipation configuration information according to an embodiment of the present invention.
[0235] The steps in the configuration phase of fan cooling configuration information may include S701 to S708 as shown in Figure 7.
[0236] S701: The host computer generates heat dissipation configuration information. Optionally, the host computer generates corresponding control strategy information based on different application scenarios (such as high-load scenarios, low-load scenarios, etc.), which is the heat dissipation configuration information.
[0237] S702: The host computer sends thermal configuration information to the first operating system through the host computer interface. The host computer interface can be a Universal Asynchronous Receiver / Transmitter (UART) interface. The format of the data packet for sending the thermal configuration information can be as shown in Figure 8, and may include a header (0x55, 0xAA as shown in Figure 8), a body (Payload Len, Data 1, Data 2, ..., Data N as shown in Figure 8), and a checksum byte (ChkSum as shown in Figure 8).
[0238] S703: The first operating system reads the header of the data packet. Optionally, if the data packet adopts the structure shown in Figure 8, after receiving the data packet, the first operating system reads the first two bytes to determine if they are 0x55 and 0xAA. If they are, it parses the data packet body and checksum byte. If not, it notifies the host computer of the failure to receive the data packet through the host computer interface, so that the host computer can resend the data packet.
[0239] S704: The first operating system verifies the data packet. Optionally, the first operating system calculates the verification information S based on the data information (data 1, data 2, ..., data N) in the data packet, and determines whether the verification information S is equal to the checksum ChkSum. If they are equal, proceed to S705; otherwise, notify the host computer through the host computer interface that the data packet reception failed, so that the host computer can resend the data packet.
[0240] S705: The first operating system writes the data information in the data packet into the shared memory. This shared memory is accessible to both the first and second operating systems and can be the electrically erasable programmable read-only memory (EEPROM) of the board management controller.
[0241] S706: The first operating system notifies the host computer that the data packet was successfully received.
[0242] S707: The first operating system notifies the second operating system that its thermal configuration information has been updated via inter-core communication.
[0243] S708: The second operating system reads thermal configuration information from shared memory for subsequent fan control.
[0244] It should be noted that in the embodiments of the server heat dissipation methods of the present invention, some steps or features may be omitted or not executed. The division of hardware or software functional modules for ease of explanation is not the only implementation of the server heat dissipation methods provided in the embodiments of the present invention.
[0245] The various embodiments of the server heat dissipation method have been described in detail above. Based on this, the present invention also discloses server heat dissipation devices, equipment, non-volatile storage media, and computer program products corresponding to the above methods.
[0246] It is applied to a baseboard management controller, which includes a first operating system and a second operating system, wherein the response rate of the first operating system is higher than that of the second operating system.
[0247] Server cooling devices may include:
[0248] The first heat dissipation control module is used to start the first operating system before the second operating system after the baseboard management controller is powered on, and after startup, communicate with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component, access the temperature acquisition component through the second bus to obtain the second temperature information, and control the operation of the cooling fan according to the first temperature information and the second temperature information.
[0249] The second heat dissipation control module is used to perform a bus control switch task between the second operating system and the first operating system after the second operating system starts up. After the switch is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
[0250] The first heat dissipation control module may include:
[0251] The first temperature acquisition module is used to communicate with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component after the first operating system starts up, and to access the temperature acquisition component through the second bus to obtain the second temperature information.
[0252] The first temperature information processing module is used by the first operating system to calculate the target fan speed based on the first temperature information and the second temperature information.
[0253] The first fan control module is used by the first operating system to control the operation of the cooling fan according to the target fan speed.
[0254] The second heat dissipation control module may include:
[0255] The second temperature acquisition module is used to communicate with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component after the second operating system is started, and to access the temperature acquisition component through the second bus to obtain the second temperature information.
[0256] The second temperature information processing module is used by the second operating system to calculate the target fan speed based on the first temperature information and the second temperature information.
[0257] The second fan control module is used by the second operating system to control the operation of the cooling fan according to the target fan speed.
[0258] It should be noted that in the various embodiments of the server heat dissipation device provided in this invention, the division of units is only a logical functional division, and other division methods can be used. The connection between different units can be electrical, mechanical, or other connection methods. Separate units can be located in the same physical location or distributed across multiple network nodes. Each unit can be implemented in hardware or as a software functional unit. That is, some or all of the units provided in this invention can be selected according to actual needs, and corresponding connection or integration methods can be used to achieve the purpose of the solution in this invention.
[0259] Since the embodiments of the apparatus and the embodiments of the method correspond to each other, please refer to the description of the embodiments of the method for the embodiments of the apparatus, which will not be repeated here.
[0260] Figure 9 is a schematic diagram of a server heat dissipation device provided in an embodiment of the present invention.
[0261] As shown in Figure 9, the server heat dissipation device provided in this embodiment of the invention includes: a memory 910 for storing a computer program 911; and a processor 920 for executing the computer program 911, wherein the computer program 911, when executed by the processor 920, implements the steps of the server heat dissipation method provided in any of the above embodiments.
[0262] The processor 920 may include one or more processing cores, such as a 3-core processor or a 9-core processor. The processor 920 may be implemented using at least one hardware form selected from Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). The processor 920 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 920 may integrate a Graphics Processing Unit (GPU) responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 920 may also include an Artificial Intelligence (AI) processor for handling computational operations related to machine learning.
[0263] The memory 910 may include one or more non-volatile storage media, which may be non-transitory computer-readable storage media. The memory 910 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 910 is used to store at least the following computer program 911, wherein, after being loaded and executed by the processor 920, the computer program 911 is able to implement the relevant steps in the server heat dissipation method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 910 may also include an operating system 912 and data 913, and the storage method may be temporary storage or permanent storage. The operating system 912 may be Windows or other types of operating systems. The data 913 may include, but is not limited to, the data involved in the above methods.
[0264] In some embodiments, the server cooling device may further include a display screen 930, a power supply 940, a communication interface 950, an input / output interface 960, a sensor 970, and a communication bus 980.
[0265] Those skilled in the art will understand that the structure shown in Figure 9 does not constitute a limitation on the server cooling device and may include more or fewer components than shown.
[0266] The server heat dissipation device provided in this embodiment of the invention includes a memory and a processor. When the processor executes the program stored in the memory, it can implement the steps of the server heat dissipation method provided in the above embodiment, and the effect is the same as above.
[0267] This invention provides a non-volatile storage medium storing a computer program thereon, which, when executed by a processor, can implement the steps of the server heat dissipation method provided in any of the above embodiments.
[0268] The non-volatile storage medium may include: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks or optical disks, and other media that can store program code.
[0269] For an introduction to the non-volatile storage medium provided in the embodiments of the present invention, please refer to the above method embodiments. The effect it achieves is the same as the server heat dissipation method provided in the embodiments of the present invention, and the present invention will not repeat it here.
[0270] This invention provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the server heat dissipation method provided in any of the above embodiments.
[0271] For a description of the computer program product provided in the embodiments of the present invention, please refer to the above method embodiments. The effects it achieves are the same as those of the server heat dissipation method provided in the embodiments of the present invention, and the present invention will not elaborate further here.
[0272] The above provides a detailed description of a server heat dissipation system, method, and baseboard management controller provided by the present invention. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus, devices, non-volatile storage media, and computer program products disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple, and relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make various improvements and modifications to the present invention without departing from its principles, and these improvements and modifications also fall within the protection scope of the present invention.
[0273] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
Claims
1. A server cooling system, characterized in that, Includes a baseboard management controller, temperature acquisition components, and a cooling fan; The baseboard management controller includes a first operating system and a second operating system, wherein the response rate of the first operating system is higher than that of the second operating system; After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component, accesses the temperature acquisition component through the second bus to obtain the second temperature information, and controls the operation of the cooling fan according to the first temperature information and the second temperature information. After the second operating system starts, it performs a bus control switch task with the first operating system. After the switch is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
2. The server cooling system according to claim 1, characterized in that, The target monitoring component includes at least one of a host unit, a network card, an external card, a power supply unit, a security module, and a satellite controller of the baseboard management controller.
3. The server cooling system according to claim 1, characterized in that, The target monitoring component includes at least a host unit, and the first bus includes at least a first platform environment control interface bus for connecting the host unit.
4. The server cooling system according to claim 3, characterized in that, The first operating system communicates with the host unit through the first platform environment control interface bus to obtain host unit temperature information, including: The first operating system loads the platform environment control interface driver to call the first platform environment control interface bus to send a command to the host unit to obtain the host unit temperature information, and obtains the host unit temperature information in the response information fed back by the host unit through the first platform environment control interface bus.
5. The server cooling system according to claim 4, characterized in that, The command to obtain the host unit temperature information includes the address information of the target host unit monitoring component; The host unit feeds back response information through the first platform environment control interface bus, including: After each central processing unit in the host unit listens to the data packet on the first platform environment control interface bus, it compares the address information of the target host unit monitoring component recorded in the data packet with its own address information. If the addresses match, it obtains the temperature information of the target host unit monitoring component according to the type of the target host unit monitoring component, and writes the temperature information of the target host unit monitoring component into the response information fed back to the first operating system. The target monitoring component includes at least one of the central processing unit and memory.
6. The server cooling system according to claim 1, characterized in that, The target monitoring component includes at least a network interface card (NIC), and the first bus includes at least a first integrated circuit bus for connecting the NIC.
7. The server heat dissipation system according to claim 6, characterized in that, The first operating system communicates with the network card via the first integrated circuit bus to obtain network card temperature information, including: The first operating system loads the management component transmission protocol to call the first integrated circuit bus to send a command to the network card to obtain the network card temperature information, and obtains the network card temperature information in the response information fed back by the network card through the first integrated circuit bus.
8. The server cooling system according to claim 7, characterized in that, The command to obtain the network card temperature information includes the address information of the target network card; The network interface card (NIC) feeds back response information through the first integrated circuit bus, including: After the network card detects a data packet on the first integrated circuit bus, it compares the address information of the target network card recorded in the data packet with its own address information. If the addresses match, it writes the locally acquired network card temperature information into the response information fed back to the first operating system.
9. The server cooling system according to claim 1, characterized in that, The target monitoring component includes at least the satellite controller of the baseboard management controller, and the first bus includes at least a second integrated circuit bus for connecting the satellite controller.
10. The server heat dissipation system according to claim 9, characterized in that, The first operating system communicates with the satellite controller via the second integrated circuit bus to obtain satellite controller temperature information, including: The first operating system loads the intelligent platform management bus driver to call the second integrated circuit bus to send a command to the target satellite controller to obtain the temperature information of the satellite controller, and obtains the temperature information of the satellite controller in the response information fed back by the satellite controller through the second integrated circuit bus.
11. The server heat dissipation system according to claim 10, characterized in that, The command to obtain the temperature information of the satellite controller includes the address information of the target satellite controller; The satellite controller feeds back response information via the second integrated circuit bus, including: After the satellite controller detects a data packet on the second integrated circuit bus, it compares the address information of the target satellite controller recorded in the data packet with its own address information. If the addresses match, it writes the locally acquired temperature information of the satellite controller into the response information fed back to the first operating system.
12. The server heat dissipation system according to claim 1, characterized in that, The temperature acquisition component includes at least one of the following: a server air duct temperature acquisition component and a server storage area temperature acquisition component.
13. The server cooling system according to claim 1, characterized in that, The second operating system performs the bus control handover task with the first operating system, including: The second operating system sends a control switch request for the first bus, a control switch request for the second bus, and a control switch request for the third bus between the baseboard management controller and the cooling fan to the first operating system. The first operating system first releases control over the first bus and the second bus, and then releases control over the third bus; Before releasing control of the third bus, if control of the first bus has been released, the first operating system reads the first temperature information from the shared memory between the first operating system and the second operating system; if control of the second bus has been released, the first operating system reads the second temperature information from the shared memory.
14. The server cooling system according to claim 1, characterized in that, The first operating system is also used to load the host computer communication interface driver to call the host computer communication interface of the baseboard management controller to establish a communication connection with the host computer, receive the heat dissipation configuration information sent by the host computer and write it into the shared memory between the first operating system and the second operating system.
15. The server cooling system according to claim 1, characterized in that, Controlling the operation of the cooling fan based on the first temperature information and the second temperature information includes: The target fan speed corresponding to the cooling fan is calculated based on the first temperature information and the second temperature information. Identify the type of fan control value transmission interface installed on the baseboard management controller; If the fan control value sending interface is a pulse width modulation interface, then a first pulse width modulation signal is generated according to the target fan speed, and the first pulse width modulation signal is sent to the fan control unit so that the fan control unit transmits the first pulse width modulation signal to control the cooling fan to run at the target fan speed; If the fan control value sending interface is an integrated circuit bus interface, then a first integrated circuit bus signal is generated according to the target fan speed, and the first integrated circuit bus signal is sent to the fan control unit, so that the fan control unit generates a second pulse width modulation signal according to the first integrated circuit bus signal to control the cooling fan to run at the target fan speed.
16. The server cooling system according to claim 1, characterized in that, Controlling the operation of the cooling fan based on the first temperature information and the second temperature information includes: The target fan speed corresponding to the cooling fan is calculated based on the first temperature information and the second temperature information. A pulse width modulation signal corresponding to the target fan speed is generated based on the model of the cooling fan; The pulse width modulation signal corresponding to the cooling fan is output to the cooling fan through the fan control pin corresponding to the cooling fan.
17. The server cooling system according to claim 1, characterized in that, Controlling the operation of the cooling fan based on the first temperature information and the second temperature information includes: Based on the first temperature information, the second temperature information, and the position of each cooling fan, the target fan speed corresponding to each cooling fan is calculated; The cooling fan is controlled to run at the target fan speed by the fan control pin corresponding to the cooling fan.
18. A baseboard management controller, characterized in that, It includes a first operating system and a second operating system, wherein the response rate of the first operating system is higher than that of the second operating system; After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component, accesses the temperature acquisition component through the second bus to obtain the second temperature information, and controls the operation of the cooling fan according to the first temperature information and the second temperature information. After the second operating system starts, it performs a bus control switch task with the first operating system. After the switch is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
19. A server heat dissipation method, characterized in that, It is applied to a baseboard management controller, which includes a first operating system and a second operating system, wherein the response rate of the first operating system is higher than that of the second operating system; Server heat dissipation methods include: After the baseboard management controller is powered on, the first operating system starts before the second operating system. After starting, it communicates with the target monitoring component through the first bus to obtain the first temperature information of the target monitoring component, accesses the temperature acquisition component through the second bus to obtain the second temperature information, and controls the operation of the cooling fan according to the first temperature information and the second temperature information. After the second operating system starts, it performs a bus control switch task with the first operating system. After the switch is completed, it obtains the first temperature information through the first bus and the second temperature information through the second bus, and controls the operation of the cooling fan according to the first temperature information and the second temperature information.
20. A server heat dissipation device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program, which, when executed by the processor, implements the steps of the server cooling method as described in claim 19.
21. A non-volatile storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the server heat dissipation method as described in claim 19.
22. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the server heat dissipation method as described in claim 19.