Method and apparatus for controlling server fan, storage medium and electronic device
By obtaining server component status information and using a relationship mapping table to control fan speed, the problem of excessive energy consumption of server fans is solved, achieving refined control and energy conservation.
Patent Information
- Application Number
- CN202411621057.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-13
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-11-13
AI Technical Summary
In the prior art, when controlling the server fans, since various components within the server have different heat dissipation requirements, all fans are uniformly controlled to operate at the same speed, resulting in excessive energy consumption.
By obtaining the control component status information of the target server and using the relationship mapping table to find the corresponding PWM signal duty cycle, the server fan in the target partition is controlled to run at the preset speed, thus achieving refined control of the server fan.
The server fan can be operated on demand, which reduces energy consumption, improves the server's operating efficiency and energy utilization, and reduces noise.
Smart Images

Figure CN119556776B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a method and device for controlling a server fan, a storage medium, and an electronic device. Background Art
[0002] With the development of technologies such as artificial intelligence, big data, and the Internet of Things, cloud computing has become a trend in data centers. To meet the high-performance requirements of cloud computing services, servers typically utilize a high-density layout of multiple CPUs (Central Processing Units) and multiple GPUs (Graphics Processing Units or accelerator cards) to provide powerful computing capabilities. However, this high-density server component layout and the large number of computing tasks generate high heat, placing higher demands on the server's heat dissipation capabilities.
[0003] To improve the heat dissipation performance of the server, multiple duct fans are usually installed inside the server for heat dissipation. In current AI servers, if there are multiple components or assemblies that require heat dissipation in the S5 state, all fans are usually controlled to run at the same speed, dissipating heat from the heat-generating components to the external environment during fan operation.
[0004] However, to support higher computing efficiency, large-scale model training, and more storage space, servers are typically equipped with a larger number of high-performance CPUs, GPUs, Smart NICs, and other supporting components, which in turn increases the number of server fans. However, when the server is in S5 mode, the various components within the server have different cooling requirements. If all fans are still controlled at the same speed as described above, running at full speed at all times will consume a large amount of electricity, resulting in technical issues such as excessive energy consumption during server fan control.
[0005] In the related art, there is no effective solution to the problem of excessive energy consumption in the control process of server fans. Summary of the Invention
[0006] Embodiments of the present application provide a method and device for controlling a server fan, a storage medium, and an electronic device to at least solve the problem of excessive energy consumption that occurs during the control process of a server fan.
[0007] According to one embodiment of the present application, a method for controlling a server fan is provided, comprising: obtaining status information of a control component of a target server in a shutdown state, wherein the status information of the control component includes an in-place state and an out-of-place state, and the control component includes N components, where N is a positive integer greater than or equal to 1; when at least one of the N components is in-place, finding a duty cycle of a PWM signal corresponding to the status information of the N components from a relationship mapping table, wherein a higher duty cycle of the PWM signal, a higher speed of the server fan; based on the duty cycle of the PWM signal, controlling a server fan corresponding to a target partition to run at a preset speed, wherein the target server supports multiple partitions, and each of the N components is respectively arranged in one of the multiple partitions according to a preset arrangement rule, and cooling a group of components in the target partition is performed by running the server fan.
[0008] In an exemplary embodiment, the above-mentioned acquisition of status information of the control components of the target server in the shutdown state includes: sending a first PWM signal to the fan board CPLD of the target server through the switch board CPLD of the target server; parsing the first PWM signal through the fan board CPLD to obtain status information of each of the N components.
[0009] In an exemplary embodiment, before the first PWM signal is sent to the fan board CPLD of the target server through the switch board CPLD of the target server, the method further includes: when the N components include an accelerator board, a smart network card, and an OCP network card, sending a smart network card in-place signal and an OCP network card in-place signal to the switch board CPLD through the mainboard of the target server, wherein both the smart network card in-place signal and the OCP network card in-place signal are valid at a low level; and sending an accelerator card in-place signal to the switch board CPLD through the accelerator board, wherein the accelerator card in-place signal is valid at a low level.
[0010] In an example embodiment, in the case that the at least one component of the N components is in the in-place state, finding the duty cycle of the PWM signal corresponding to the state information of the N components from the relationship mapping table includes at least one of the following: in the case that the N components include an acceleration board, an intelligent network card and an OCP network card, obtaining first state information of the acceleration board, second state information of the intelligent network card and third state information of the OCP network card; in the case that the first state information indicates that the acceleration board is in a non-in-place state, the second state information indicates that the intelligent network card is in a non-in-place state, and the third state information indicates that the OCP network card is in a non-in-place state, finding from the relationship mapping table that the duty cycle of the PWM signal is 0; in the case that the first state information indicates that the acceleration board is in a non-in-place state, the second state information indicates that the intelligent network card is in a non-in-place state, and the third state information indicates that the OCP network card is in an in-place state, finding from the relationship mapping table that the duty cycle of the PWM signal is a first value; in the case that the first state information indicates that the acceleration board is in a non-in-place state, the second state information indicates that the intelligent network card is in an in-place state, and the third state information indicates that the OCP network card is in a non-in-place state, finding from the relationship mapping table that the duty cycle of the PWM signal is a second value, wherein the second value is greater than the first value; in the case that the first state information indicates that the acceleration board is in an in-place state, the second state information indicates that the intelligent network card is in a non-in-place state, and the third state information indicates that the OCP network card is in a non-in-place state, finding from the relationship mapping table that the duty cycle of the PWM signal is a third value, wherein the third value is greater than the second value; in the case that the first state information indicates that the acceleration board is in an in-place state and the second state information indicates that the intelligent network card is in an in-place state, finding from the relationship mapping table that the duty cycle of the PWM signal is a fourth value, wherein the fourth value is greater than the third value.
[0011] In an example embodiment, based on the duty cycle of the PWM signal, controlling the server fan corresponding to the target partition to operate at a preset speed includes: determining the position information of each group of server fans in the M groups of server fans through a first input signal and a second input signal on the fan board CPLD of the target server, where M is a positive integer greater than or equal to 2; determining a target position of at least one group of server fans for cooling the components in the target partition based on the state information of the N components, wherein at least one group of server fans is needed to cool the components in a partition, and the M groups of server fans include the at least one group of server fans; based on the duty cycle of the PWM signal, controlling the at least one group of server fans at the target position to operate at the preset speed.
[0012] In an exemplary embodiment, the above-mentioned determining the position information of each group of server fans in the M groups of server fans through the first input signal and the second input signal on the fan board CPLD of the target server includes: sequentially obtaining a group of server fans from the M groups of server fans as the current group of server fans; when the first input signal is low and the second input signal is low, determining that the current group of server fans is located at the first position in the fan partition; when the first input signal is low and the second input signal is high, determining that the current group of server fans is located at the second position in the fan partition; when the first input signal is high and the second input signal is low, determining that the current group of server fans is located at the third position in the fan partition.
[0013] In an exemplary embodiment, the above method also includes: adding the in-place status signal of the N+1th component to the relationship mapping table; based on the in-place status signal of the N+1th component, updating the mapping relationship between the status information of the N+1 components and the duty cycle of the PWM signal to obtain an updated relationship mapping table; when the current status information of the N+1 components is obtained, finding the current duty cycle of the PWM signal corresponding to the current status information from the updated relationship mapping table; based on the current duty cycle of the PWM signal, controlling the current server fan corresponding to the current partition to run at the current speed, wherein the current partition includes the server partition where the component in the in-place state among the N+1 components at the current moment is located.
[0014] According to another embodiment of the embodiments of the present application, a control device for a server fan is also provided, including: a first acquisition unit, used to obtain status information of a control component of a target server in a shutdown state, wherein the status information of the control component includes an in-place state and an out-of-place state, and the control component includes N components, where N is a positive integer greater than or equal to 1; a search unit, used to search from a relationship mapping table for a duty cycle of a PWM signal corresponding to the status information of the N components when at least one component among the N components is in-place state, wherein the higher the duty cycle of the PWM signal, the higher the speed of the server fan; a first control unit, used to control the server fan corresponding to the target partition to run at a preset speed based on the duty cycle of the PWM signal, wherein the target server supports multiple partitions, and each of the N components is respectively arranged in one of the multiple partitions according to a preset arrangement rule, and a group of components in the target partition are cooled by running the server fan.
[0015] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when run.
[0016] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0017] According to another embodiment of the present application, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0018] Through the above-described embodiments provided by the present application, after obtaining status information for N components in a target server, the system intelligently identifies at least one component currently requiring heat dissipation and the server fans within the target partition that are positionally associated with the at least one component, based on the in-place status of the N components. The system then searches a relationship mapping table to find the duty cycle of the PWM signal corresponding to the combination of the at least one component, and controls the server fans within the target partition to operate at the speed indicated by the found duty cycle of the PWM signal. This achieves refined control of the server fans, enabling them to operate on demand and reducing energy consumption. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0020] Figure 1 This is a hardware structure block diagram of a server device according to a server fan control method according to an embodiment of the present application;
[0021] Figure 2 is a flow chart of an optional method for controlling a server fan according to an embodiment of the present application;
[0022] Figure 3 This is an overall topology diagram of an optional server fan control method according to an embodiment of the present application;
[0023] Figure 4 is a flowchart of another optional server fan control method according to an embodiment of the present application;
[0024] Figure 5is a specific example of an optional control strategy of a server fan according to an embodiment of the present application;
[0025] Figure 6 is a schematic diagram of an optional server heat dissipation and fan partition according to an embodiment of the present application;
[0026] Figure 7 is a structural block diagram of a server fan control device according to an embodiment of the present application;
[0027] Figure 8 is a structural schematic diagram of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0028] Hereinafter, the embodiments of the present application will be described in detail with reference to the accompanying drawings and in combination with the embodiments.
[0029] It should be noted that the terms "first", "second" and the like in the description of the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily have to describe a specific order or sequence.
[0030] The server fan control method embodiments provided in the embodiments of the present application can be executed in a server device or similar computing device. Taking the case of running on a server device, Figure 1 is a hardware structural block diagram of a server device of a server fan control method according to an embodiment of the present application. As Figure 1 indicated, the server device can include one or more (only one is shown in Figure 1 ) processor 102 (the processor 102 can include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned server device can further include a transmission device 106 for communication function and an input and output device 108. Those skilled in the art can understand that Figure 1 the structure shown is only schematic, which does not limit the structure of the above-mentioned server device. For example, the server device can further include more or less components than those shown in Figure 1 , or have a different configuration from Figure 1 .
[0031] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the control method of the server fan in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0032] Transmission device 106 is used to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by a communication provider of the server device. In one embodiment, transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0033] In order to better understand the above-mentioned server fan control method, the basic concepts of the professional terms and terminology used in the embodiments of the present application are briefly introduced below.
[0034] TDP: Thermal Design Power;
[0035] PSU: Power Supply Unit;
[0036] PWM: Pulse width modulation;
[0037] I2C: Inter-Integrated Circuit two-wire serial bus;
[0038] MUX: Multiplexer multiplexer;
[0039] PCA9546: an I2C switch chip from NXP;
[0040] NSCI: Network Controller Sideband Interface, a protocol for communication between host systems and network controllers, implemented through a sideband interface. It defines message formats, communication methods, and functions, providing a standardized solution for managing and monitoring network controllers.
[0041] CPLD: Complex Programmable logic device;
[0042] CLK buffer: clock buffer / expander;
[0043] CPU0_PE3: PCIe output of CPU0's Port3;
[0044] CPU1_PE3: PCIe output of CPU1's Port3;
[0045] MCIO: Multi-Channel Input / Output, is a multi-channel input / output connector;
[0046] VR: voltage regulator, voltage regulator or voltage stabilizer;
[0047] PWM:Pulse width modulation;
[0048] FAN board: fan board;
[0049] Efuse: Electronic fuse, electronic fuse;
[0050] OCP network card: a standard network card defined by the Open Compute Project (OCP) organization;
[0051] Server S5 state: A server power state in which only some components, such as the CPLD and BMC, are powered.
[0052] In order to solve the above-mentioned problems existing in the related art, a method for controlling a server fan is provided in the present embodiment, and its execution subjects include but are not limited to AI servers, high-end servers and other servers with complex architecture, many accessories, high machine height and a large number of fans. For ease of understanding, the fan control of an AI server in S5 state is used as an example for explanation in the embodiment of the present application. Among them, the AI server includes but is not limited to an MB control unit, a Switch board unit, a fan board and a fan adapter board unit, a GPU board unit, and an intelligent network card and an OCP network card unit, etc. Through the interaction between these five units, the in-place status of N components in the target server is obtained, and according to the in-place status information, the relationship mapping table is searched to determine the duty cycle of the PWM signal corresponding to the current in-place status information. Figure 2 As shown, the process includes the following steps S202-S206:
[0053] Step S202: Acquire status information of a control component of a target server in a shutdown state, wherein the status information of the control component includes an in-place state and an out-of-place state, and the control component includes N components, where N is a positive integer greater than or equal to 1;
[0054] Step S204: When at least one of the N components is in the on-state, searching the relationship mapping table for a duty cycle of a PWM signal corresponding to the status information of the N components, wherein a higher duty cycle of the PWM signal indicates a higher rotation speed of the server fan.
[0055] Step S206: Based on the duty cycle of the PWM signal, control the server fan corresponding to the target partition to run at a preset speed, wherein the target server supports multiple partitions, and each of the N components is arranged in one of the multiple partitions according to a preset arrangement rule, and the server fan is run to dissipate heat for a group of components in the target partition.
[0056] Before explaining the control method of the above server fan, first Figure 3 The overall schematic diagram of the server fan control system is briefly introduced below.
[0057] like Figure 3 As shown in the figure, the server fan control system includes the server mainboard (MB), switch board, accelerator board (GPU board), fan board (FAN board), fan adapter board, Smart NIC, and OCP NIC. The following is a brief introduction to each of these components.
[0058] Server motherboard (MB control unit)
[0059] The server mainboard includes but is not limited to a CPLD, an NCSI connector, a CLK buffer, a CPU, and an MCIO. The NCSI connector is a key device for connecting the intelligent network card. Its main function is to identify whether the intelligent network card is in place (which can also be understood as whether the intelligent network card is inserted). Specifically, whether the intelligent network card is in place is determined by the high and low of the intelligent network card in place signal (NIC_PRSNT_N).
[0060] The CLK buffer is a clock buffer, and there are two in total. The clock sources come from CPU0 and CPU respectively. That is Figure 3 The CLK buffer (CPU0) and the CLK buffer (CPU1) shown in the figure. The clock source corresponds to the PCIe signal from the CPU. The PCIe of the riser of the intelligent network card comes from CPU1_PE3, that is, the PCIe output by Port3 of CPU1, and its clock relies on CLK buffer (CPU1). The PCIe of the OCP network card comes from CPU0_PE3, that is, the PCIe output by Port3 of CPU0, and its clock relies on CLK buffer (CPU0).
[0061] The main function of the CPLD (hereinafter referred to as MB CPLD) of the server mainboard is to receive the NIC_PRSNT_N and OCP_PRSNT_N signals and process the signals, and then transmit them to the CPLD of the switch board. At the same time, the enable end Enable output of VR0 and VR1 is controlled to power on the intelligent network card and the OCP network card. That is, only when it is determined that the intelligent network card is in place, can VR0 be controlled to power on the intelligent network card; similarly, only when it is determined that the OCP network card is in place, can VR1 be controlled to power on the OCP network card.
[0062] The MCIO is a high-speed connector commonly used in the industry, and its full name is Multi-Channel Input / Output, as Figure 3 shown, the MCIO can but is not limited to be a bridge for connecting the PCIe signals of the intelligent network card and the OCP network card.
[0063] (2) Switch board (Switch board unit)
[0064] The switch board includes but is not limited to a CPLD, a P12V / P3V3 VR, and a PWR CONN. The switch board CPLD can but is not limited to receive the in-place state signals of the MB CPLD and the GPU board, and perform internal logic processing and judgment, thereby outputting PWM signals with different duty cycles to the CPLD of the fan board (FAN Board).
[0065] The duty cycle of a PWM (Pulse Width Modulation) signal is the ratio of the time the signal remains high to the total duration of the cycle. Duty cycle is a crucial parameter of a PWM signal, directly affecting the signal's average value and power output.
[0066] In power management, the average power of the output load can be controlled by adjusting the duty cycle. In motor drive, the duty cycle affects the speed and torque of the motor. In this embodiment, the speed of the server fan can be changed by adjusting the duty cycle.
[0067] (3) Fan board and fan adapter board unit
[0068] This unit includes the CPLD, the P54V_FAN efuse circuit, the fan (FAN), and the FAN_ID0 / ID1 signals. The fan board's CPLD receives PWM signals from the switch board's CPLD. These PWM signals are not used for fan speed control; instead, they carry information about the GPU board, SmartNIC, and OCP network card. The fan board's CPLD analyzes the PWM signals to determine the presence of these three cards.
[0069] (4) GPU board unit
[0070] like Figure 6 As shown in the figure, the GPU boards (also known as accelerator boards) are located in the 2nd, 3rd, and 4th rows of the server. The accelerator card presence signal (GPU_PRSNT_N signal) of the GPU board is connected to the CPLD of the switch board to identify its presence.
[0071] (5) Smart NIC and OCP NIC
[0072] The SmartNIC riser provides the SmartNIC slot, power supply, and clock. The SmartNIC's NCSI connector uses an NCSI cable to short-circuit the GND pin on the NCSI connector and the NIC_PRSNT_N signal. This signal is provided to the MB motherboard for presence detection. The OCP NIC's OCP_PRSNT_N signal is connected to the MB motherboard's CPLD for presence detection.
[0073] Smart NICs possess powerful computing capabilities, capable of performing tasks such as encryption / decryption, firewalling, and TCP / IP and HTTP processing. They offload network, security, and storage functions from host servers, freeing up processing power. OCP NICs are primarily designed to bridge the gap between servers and the outside world, focusing on providing high-speed, low-latency network communications. OCP NICs support multiple speed versions to meet diverse data center requirements. Clearly, their functions differ.
[0074] In an embodiment of the present application, the switch board CPLD can receive, but is not limited to, information about the status of each component in the server. For example, the GPU board is in the in-place state, the smart network card is in the in-place state, the OCP network card is in the non-in-place state, etc., and then the in-place state information of each component is sent to the fan board CPLD to query the duty cycle of the PWM signal corresponding to the N components in the current state in the relationship mapping table, and determine the position of at least one group of server fans that dissipate heat for at least some of the components currently in the in-place state. Finally, the at least one group of server fans in this position is controlled to operate at a speed indicated by the duty cycle of the PWM signal found. The relationship mapping table will be described in detail below in conjunction with specific embodiments.
[0075] Obviously, Figure 6 The partitioning of the three components in the server shown is only an example, and the situation of the server fans corresponding to each partition is also only an example and is not limited thereto.
[0076] Through the above method, after obtaining status information for N components in a target server, the system intelligently identifies at least one component currently requiring heat dissipation and the server fans within the target partition that are positionally associated with the at least one component based on the in-place status of the N components. The system then searches a relationship mapping table to find the duty cycle of the PWM signal corresponding to the combination of the at least one component, and controls the server fans within the target partition to operate at the speed indicated by the found duty cycle of the PWM signal. This achieves refined control of the server fans, ensuring that the server fans can operate on demand and reducing energy consumption.
[0077] In addition, the above method can also make autonomous adjustments according to actual cooling needs, improving the flexibility and response speed of the cooling system; at the same time, due to the reduction in the number of running fans and the fine control of the speed of server fans, it can also effectively reduce noise, improve the server environment, and improve the server's operating efficiency and energy utilization.
[0078] In an exemplary embodiment, the step of obtaining the status information of the control component of the target server in the shutdown state includes:
[0079] Sending a first PWM signal to the fan board CPLD of the target server through the switch board CPLD of the target server;
[0080] The first PWM signal is parsed by the fan board CPLD to obtain status information of each component in the N components.
[0081] It should be noted that the first PWM signal here is not used to control the speed of the server fan, but carries the in-place information of the GPU board, smart network card and OCP network card.
[0082] In the embodiments of the present application, the components or parts with heat dissipation requirements are arranged in partitions to distinguish different heat dissipation requirement areas, and the fan plate is designed to be modularized, separated and intelligent, so as to automatically adjust the fan speed of the fan plate according to the in-place information of the smart network card, OCP network card and GPU board in the server architecture.
[0083] When the server is in the S5 state, some components such as CPLD and BMC can be in a power supply state, and the partitioned heat dissipation control method intelligently controls the fan speed of the fan plate according to the in-place information of each component through the CPLD, so as to realize the reduction of the overall energy consumption and the optimization of the noise level.
[0084] At the same time, this method is especially suitable for high-density data center environment, and can effectively improve the operation efficiency and environmental comfort of the server.
[0085] In an exemplary embodiment, before the target server's exchange board CPLD sends the first PWM signal to the target server's fan board CPLD, the above method further comprises:
[0086] In the case where the N components include an acceleration board, a smart network card and an OCP network card, the smart network card in-place signal and the OCP network card in-place signal are sent to the exchange board CPLD through the main board of the target server, wherein the smart network card in-place signal and the OCP network card in-place signal are both low-level effective;
[0087] The acceleration card in-place signal is sent to the exchange board CPLD through the acceleration board, wherein the acceleration card in-place signal is low-level effective.
[0088] As Figure 4 shown, the in-place state information of each component in the target server can be obtained in the following manner, but is not limited thereto.
[0089] S402, the smart network card in-place signal (NIC_PRSNT_N) and the OCP network card in-place signal (OCP_PRSNT_N) are obtained through the CPLD (referred to as MB CPLD) of the server main board.
[0090] For details, please refer to Figure 3As shown, the main role of the MB CPLD is to receive the smart NIC present signal and the OCP NIC present signal, process the received smart NIC present signal and the OCP NIC present signal, and send the processed smart NIC present signal and the OCP NIC present signal to the CPLD of the Switch board (hereinafter referred to as the switching board CPLD), that is, the smart NIC present signal and the OCP NIC present signal are sent to the switching board CPLD through the MB CPLD.
[0091] It should be noted that in the MB control unit, NIC_PRSNT_N is pulled up by P3V3_STBY externally by default. When the NCSI cable is inserted, the NCSI cable will short the GND pin on the NCSI connector and the NIC_PRSNT_N signal together. A low level is generated, and the NIC_PRSNT_N low level signal is transmitted to the CPLD. The CPLD outputs CPLD_NIC_PRSNT_N to the Switch board CPLD after debouncing the NIC_PRSNT_N.
[0092] S404, sending the processed smart NIC present signal and the OCP NIC present signal to the switching board CPLD;
[0093] S406, receiving the accelerator present signal sent by the GPU board;
[0094] As shown in Figure 3 , the GPU_PRSNT_N signal of the GPU board is connected to the CPLD of the Switch board, and the user identifies the presence condition.
[0095] S408, outputting the duty cycle of the PWM signal;
[0096] As shown in Figure 3 , the CPLD of the Switch board receives the NIC_PRSNT_N and OCP_PRSNT_N from the MB CPLD, receives the Enable signals of VR0 and VR1, and receives the GPU_PRSNT_N signal from the GPU board. And internally process and judge. Output different duty cycle PWM signals to the CPLD of the FAN board 0, 1, 2, 3. The combination of the present signal and the corresponding relationship of the different PWM duty cycle is shown in the table. Figure 5
[0097] S410, using the fan board CPLD to analyze the duty cycle of the PWM signal to obtain the present state information of each component.
[0098] It should be noted that the PWM signal here is not used to control the speed of the server fan, but carries the presence information of the GPU board, Smart NIC and OCP NIC.
[0099] The fan board CPLD analyzes PWM to determine the current status of the three components or three boards, for example, whether they are in place or not.
[0100] In this embodiment, the NIC_PRSNT_N signal is processed through a pull-up resistor to ensure signal stability. This optimization measure is particularly critical in scenarios where servers are frequently started and shut down. It can avoid misjudgments in cooling control caused by signal fluctuations and ensure stable operation of the server in various operating states.
[0101] Secondly, within the MB control unit, the MB CPLD performs de-jitter processing on the NIC_PRSNT_N signal to improve signal recognition accuracy. De-jittering eliminates signal noise during signal transmission, significantly improving the response speed and accuracy of the cooling control system in server environments requiring high-precision control, such as high-performance computing centers.
[0102] Furthermore, the introduction of a clock buffer within the MB control unit effectively enhances PCIe signal transmission performance. The addition of a clock buffer enables the server to maintain signal integrity and synchronization when processing large amounts of data, making it suitable for cloud computing and big data analysis scenarios that require high-speed data transmission.
[0103] In an exemplary embodiment, when at least one of the N components is in the on-state, searching the relationship mapping table for a duty cycle of the PWM signal corresponding to the status information of the N components includes at least one of the following:
[0104] In a case where the N components include an accelerator board, a smart network card, and an OCP network card, obtaining first status information of the accelerator board, second status information of the smart network card, and third status information of the OCP network card;
[0105] When the first state information indicates that the accelerator board is in an inactive state, the second state information indicates that the smart network card is in an inactive state, and the third state information indicates that the OCP network card is in an inactive state, searching the relationship mapping table to find that the duty cycle of the PWM signal is 0;
[0106] When the first state information indicates that the accelerator board is in an inactive state, the second state information indicates that the smart network card is in an inactive state, and the third state information indicates that the OCP network card is in an active state, searching in the relationship mapping table that the duty cycle of the PWM signal is a first value;
[0107] When the first state information indicates that the accelerator board is in a non-in-place state, the second state information indicates that the smart network card is in a position state, and the third state information indicates that the OCP network card is in a non-in-place state, searching the relationship mapping table to find that the duty cycle of the PWM signal is a second value, wherein the second value is greater than the first value;
[0108] When the first state information indicates that the accelerator board is in an in-position state, the second state information indicates that the smart network card is in an in-position state, and the third state information indicates that the OCP network card is in an in-position state, searching in the relationship mapping table that the duty cycle of the PWM signal is a third value, wherein the third value is greater than the second value;
[0109] When the first status information indicates that the accelerator board is in place and the second status information indicates that the smart network card is in place, the duty cycle of the PWM signal is found to be a fourth value from the relationship mapping table, wherein the fourth value is greater than the third value.
[0110] In a specific embodiment, it is assumed that the partitioning of N components is as follows: Figure 6 As shown in the figure, the Smart NIC and OCP NIC are in the same area (which can also be understood as the same partition), and the GPU board is in another area.
[0111] The first row of fans is used to meet the heat dissipation requirements of the Smart NIC and OCP NIC. The second, third, and fourth rows of fans are used to meet the heat dissipation requirements of the GPU board. After the server fan CPLD (referred to as the fan board CPLD) is powered on, it first controls the fan speed. The fan board CPLD monitors the status of the three components in real time.
[0112] Specifically, when the target server is in the S5 state, the specific method of controlling the server fans at various locations is as follows:
[0113] (1) When detecting that there are no components that require heat dissipation, such as OCP network cards, smart network cards, and GPUs, the CPLD does not power on the fan and sets the output to 0% duty;
[0114] The absence of an OCP network card, smart network card, or GPU is determined by the presence of a high-level OCP network card signal, a high-level smart network card signal, and a high-level accelerator card signal.
[0115] (2) When the OCP network card is detected to be in place, since the OCP is in the first row of the server, the CPLD on the fan board 0 powers on the fan and controls the fan speed to start from 10% duty, increase by 5% duty every 10 seconds, and reach a maximum speed of 20% duty. For details, refer to Figure 5 Strategy A in the table shown. The CPLDs on the remaining fan boards control the fans to not rotate, thereby optimizing overall system power consumption and reducing noise.
[0116] (3) When the smart network card is detected to be in place, since the smart network card is in the first row of the server, the CPLD on the fan board 0 powers on the fan and controls the fan speed to start from 10% duty, increase by 5% duty every 10 seconds, and reach a maximum speed of 40% duty. For details, refer to Figure 5 Strategy B in the table shown. The CPLDs on the remaining fan boards control the fans to not rotate, thereby optimizing overall system power consumption and reducing noise.
[0117] As described in the preceding embodiments, a Smart NIC is a flexible and programmable network card (NIC). It possesses computing power and can offload data processing functions in networking, security, and storage that are unsuitable for CPU processing to programmable hardware chips, reducing CPU consumption and enabling servers to run critical applications and operating systems more efficiently. The OCP NIC, on the other hand, is primarily designed to address data center network scalability issues and features high performance, strong scalability, and ease of maintenance. Through standardized and open hardware design, the OCP NIC improves data center efficiency, supports hot-swappable functionality, and reduces operational and maintenance costs.
[0118] Therefore, Smart NICs typically require more advanced cooling solutions, such as liquid cooling systems, to cope with the heat load generated by high-density computing. In contrast, OCP NICs may use an air-cooled design that transfers heat to a liquid cooling loop through a heat exchanger at the rear of the rack. This design helps reduce cooling costs and complexity.
[0119] The differences in the functions and processing of Smart NICs and OCP NICs lead to different cooling requirements. For example, when only Smart NICs are in place, the server fan's maximum speed is 40% duty, while when only OCP NICs are in place, the maximum speed is 20% duty.
[0120] (4) When it is detected that both the OCP network card and the smart network card are in the in-position state, since both the OCP network card and the smart network card are in the first row area of the server, the CPLD on the fan board 0 recognizes this configuration, powers on the fan, and controls the fan speed to start from 10% duty, increase by 5% duty every 10 seconds, and the maximum speed is 40% duty. Figure 5Strategy B shown in the figure. The CPLDs on the remaining fan boards control the fans to stop, thereby optimizing the overall power consumption and reducing noise.
[0121] (5) When it is detected that the GPU board is in place and the OCP network card or smart network card is not in place, since the GPU board is in the second, third, and fourth rows of the server, the CPLD on fan board 1, fan board 2, and fan board 3 powers on the fans and controls the fan speed to start from 10% duty, increase by 5% duty every 10 seconds, and reach a maximum speed of 60% duty. Figure 5 Strategy C shown in the figure. The CPLDs on the remaining fan boards control the fans to stop, thereby optimizing the overall power consumption and reducing noise.
[0122] (6) When it is detected that the GPU board is in place and the OCP network card or smart network card is in place, the components that need heat dissipation are in the first, second, third, and fourth rows of the server. The CPLD on fan boards 0, 1, 2, and 3 powers on the fans and controls the fan speed to start at 10% duty, increase by 5% duty every 10 seconds, and reach a maximum speed of 100% duty. Figure 5 Strategy D shown;
[0123] (7) When it is detected that the GPU board is in place, the OCP network card is in place, and the smart network card is in place, the components that need heat dissipation are in the first, second, third, and fourth rows of the server. The CPLD on fan boards 0, 1, 2, and 3 powers on the fans and controls the fan speed to start at 10% duty, increase by 5% duty every 10 seconds, and reach a maximum speed of 100% duty. Figure 5 Strategy D shown.
[0124] Through the above embodiment, the corresponding PWM signal duty cycle can be found from the relationship mapping table based on the acquired status of each component, and the server fans at the positions corresponding to the areas where each component is located can be controlled to operate according to the found PWM signal duty cycle, thereby achieving on-demand heat dissipation and reducing server energy consumption.
[0125] In an exemplary embodiment, controlling the server fan corresponding to the target partition to operate at a preset speed based on the duty cycle of the PWM signal includes:
[0126] Determine position information of each group of server fans in M groups of server fans using a first input signal and a second input signal on a fan board CPLD of the target server, where M is a positive integer greater than or equal to 2;
[0127] determining, based on the status information of the N components, target positions of at least one group of server fans for cooling components in the target partition, wherein components in a partition require at least one group of server fans for cooling them, and the M groups of server fans include the at least one group of server fans;
[0128] Based on the duty cycle of the PWM signal, the at least one group of server fans at the target location is controlled to operate at the preset speed.
[0129] like Figure 3 As shown in the figure, the fan board's CPLD has two input signals, FAN_ID0 and FAN_ID1. These two signals control the high and low voltage states on the fan adapter board. The fan board CPLD determines the fan board's position by identifying the high and low voltage states.
[0130] For example, to obtain the component that is currently in place, assuming it is a smart network card, since a mapping relationship between the target partition where the smart network card is located and the fan board input signals FAN_ID0 (low level) and FAN_ID1 (low level) is pre-created, the high and low levels of the fan board input signals FAN_ID0 and FAN_ID1 corresponding to these components can be directly obtained based on the component that is currently in place, and the high and low levels of the input signals FAN_ID0 and FAN_ID1 are fed back to the fan board CPLD.
[0131] The fan board CPLD identifies the location number of the fan board that meets the high and low level conditions of the input signals FAN_ID0 and FAN_ID1, for example, fan board 0, fan board 1, or fan board 2. Alternatively, the fan board CPLD identifies the first row of fans, the second row of fans, or the third row of fans.
[0132] By adopting the above method, heat generated by at least some components in the in-place state can be dissipated, while the server fans corresponding to the partitions where other components not in the in-place state are located will not be started, thereby fundamentally achieving on-demand heat dissipation and reducing energy consumption.
[0133] In an exemplary embodiment, determining the position information of each group of server fans in the M groups of server fans using the first input signal and the second input signal on the fan board CPLD of the target server includes:
[0134] Sequentially obtain a group of server fans from the M groups of server fans as a current group of server fans;
[0135] When the first input signal is at a low level and the second input signal is at a low level, determining that the current group of server fans is located at a first position in the fan zone;
[0136] When the first input signal is at a low level and the second input signal is at a high level, determining that the current group of server fans is located at a second position in the fan zone;
[0137] When the first input signal is at a high level and the second input signal is at a low level, it is determined that the current group of server fans is located at a third position in the fan zone.
[0138] As described in the above embodiment, by creating a relationship between the partition where each component is located and the position of the server fan, the target position corresponding to the component currently in place can be quickly found, and then at least one group of server fans at the target position can be determined through the fan board CPLD.
[0139] Specifically, the fan board CPLD confirms the position of the fan board by identifying high and low levels. When it is identified that the input signal FAN_ID0 is low and FAN_ID1 is low, the target position is determined to be fan board 0 corresponding to the first fan partition (which can also be understood as the first position), that is, the first row of fans that can meet the heat dissipation requirements of the smart network card and the OCP network card; when it is identified that the input signal FAN_ID0 is low and FAN_ID1 is high, the target position is determined to be fan board 1 corresponding to the second fan partition (which can also be understood as the second position); when it is identified that the input signal FAN_ID0 is high and FAN_ID1 is low, the target position is determined to be fan board 2 corresponding to the third fan partition (which can also be understood as the third position); when it is identified that the input signal FAN_ID0 is high and FAN_ID1 is high, the target position is determined to be fan board 3 corresponding to the fourth fan partition (which can also be understood as the fourth position).
[0140] In other words, the combination information of the high and low levels of the two input signals FAN_ID0 and FAN_ID1 is 00 for fan board 0, 01 for fan board 1, 10 for fan board 2, and 11 for fan board 3.
[0141] The fan board CPLD searches for the following information based on the identified location information and the status information of the GPU board, Smart NIC, and OCP NIC received by the switch board CPLD: Figure 5 The relationship mapping table shown in the relationship mapping table is used, and different PWM duty cycles are output to fans at different positions according to the control logic shown in the relationship mapping table, thereby controlling the speed of the server fans in each partition.
[0142] Obviously, Figure 6The first row of fans shown is only an example. In actual application scenarios, the first row of fans may include one fan, or two or more fans, which is limited in the embodiments of the present application.
[0143] Similarly, the second row of fans, third row of fans, and fourth row of fans that provide heat dissipation for the GPU board are only examples, and the first row of fans that provide heat dissipation for the Smart NIC and OCP NIC are only examples. In actual application scenarios, they can be adjusted as needed.
[0144] This approach accurately locates components requiring cooling and quickly determines the location of the server fan providing cooling. The fan is then controlled to operate at the speed indicated by the duty cycle of the PWM signal output by the switch board. This approach automatically adjusts the input voltage based on load changes, ensuring adaptive selection of the server fan required for operation under varying workloads, dynamically adjusting the server's overall power consumption.
[0145] In an exemplary embodiment, the method further includes:
[0146] Adding an in-position status signal of the N+1th component to the relationship mapping table;
[0147] Based on the in-position status signal of the N+1th component, updating the mapping relationship between the status information of the N+1th component and the duty cycle of the PWM signal to obtain an updated relationship mapping table;
[0148] When the current state information of the N+1 components is obtained, searching the updated relationship mapping table for the current duty cycle of the PWM signal corresponding to the current state information;
[0149] Based on the current duty cycle of the PWM signal, the current server fan corresponding to the current partition is controlled to run at the current speed, wherein the current partition includes the server partition where the components in the N+1 components that are in place at the current moment are located.
[0150] The N components in the above embodiments are exemplified by the GPU board, SmartNIC, and OCP network card. In actual application scenarios, other heat-generating components may also be included, such as a power module. Similar to the heat dissipation requirements of the GPU board, SmartNIC, and OCP network card, the power module also requires heat dissipation when the server is powered off.
[0151] If you want to control the server fan corresponding to the partition where the power module is located to dissipate heat according to the control strategy of the server fan described above, it can be realized by the following process, but not limited to:
[0152] S11, obtaining the partition where the power module is located;
[0153] S12, creating a corresponding relationship between the partition where the power module is located and the position of the server fan;
[0154] For example, assuming Figure 6 The GPU region shown in the figure is the first partition, the intelligent network card and OCP network card region is the second partition, the region where the power module is located is determined as the third partition, the fifth row of fans is added, and the association relationship between the position of the fifth row of fans and the third partition is created.
[0155] S13, increasing the in-place signal of the power module, and updating Figure 5 The fan control strategy shown in the figure according to the combination relationship between the in-place signal of the power module, the in-place signal of the acceleration card, the in-place signal of the intelligent network card and the in-place signal of the OCP network card.
[0156] For example, when the in-place signal of the power module is low, the in-place signal of the acceleration card is high, the in-place signal of the intelligent network card is high, and the in-place signal of the OCP network card is high, the PWM signal duty cycle is 10%, and the position of the working fan is the fifth row position where the fan board 4 is located; when the in-place signal of the power module is high, the in-place signal of the acceleration card is low, the in-place signal of the intelligent network card is high, and the in-place signal of the OCP network card is high, the PWM signal duty cycle is 60%, and the position of the working fan is the second to fourth row positions where the fan boards 1, 2 and 3 are located.
[0157] S14, according to the high and low levels of the in-place signals of the power module, GPU board, intelligent network card and OCP network card at the current time, searching for the PWM duty cycle corresponding to the combination state of the current in-place signal, and controlling the corresponding server fan to run at the corresponding speed.
[0158] For example, when only the power module is in the in-place state, the fan is powered on through the CPLD of the fan board 4, the speed of the fifth row of fans on the fan board 4 is controlled to start from 10%duty, and to rise by 5%duty every second, and the highest speed reaches 20%duty; when the power module is in the in-place state and the intelligent network card is in the in-place state, the fan is powered on through the CPLD of the fan board 4, and the fan is powered on through the fan board 0, the speed of the fifth row of fans on the fan board 4 and the first row of fans on the fan board 0 is controlled to start from 10%duty, and to rise by 5%duty every second, and the highest speed reaches 45%duty.
[0159] It can be seen that in the embodiment of the present application, the components with heat dissipation requirements in the server in the shutdown state can be adjusted in real time as needed, and the relationship mapping table is updated according to the adjusted components. Then, the corresponding PWM signal duty cycle is queried according to the in-place signals of each component at the current moment, and the fan at the corresponding position is controlled to operate according to the PWM signal duty cycle, which improves the flexibility of controlling the server fan and enhances the compatibility of the solution.
[0160] Through the description of the above embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the existing technology, can be embodied in the form of a software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.
[0161] This embodiment also provides a server fan control device for implementing the above-mentioned embodiments and preferred implementations. Details already described will not be repeated here. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. While the modules described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.
[0162] Figure 7 1 is a structural block diagram of a server fan control device according to an embodiment of the present application, the device comprising:
[0163] A first acquiring unit 702 is configured to acquire status information of a control component of a target server in a shutdown state, wherein the status information of the control component includes an in-place state and an out-of-place state, and the control component includes N components, where N is a positive integer greater than or equal to 1;
[0164] a search unit 704 configured to search, from a relationship mapping table, for a duty cycle of a PWM signal corresponding to the status information of the N components when at least one of the N components is in an on-state, wherein a higher duty cycle of the PWM signal indicates a higher speed of the server fan;
[0165] The first control unit 706 is used to control the server fan corresponding to the target partition to run at a preset speed based on the duty cycle of the PWM signal, wherein the target server supports multiple partitions, and each of the N components is arranged in one of the multiple partitions according to a preset arrangement rule, and the server fan is run to dissipate heat for a group of components in the target partition.
[0166] In an exemplary embodiment, the first obtaining unit 702 includes:
[0167] A first sending module, configured to send a first PWM signal to a fan board CPLD of the target server through a switch board CPLD of the target server;
[0168] The parsing module is configured to parse the first PWM signal through the fan board CPLD to obtain status information of each of the N components.
[0169] In an exemplary embodiment, the apparatus further comprises:
[0170] a first sending unit, configured to, when the N components include an accelerator board, a smart network card, and an OCP network card, send a smart network card presence signal and an OCP network card presence signal to the switch board CPLD through the mainboard of the target server, wherein both the smart network card presence signal and the OCP network card presence signal are active low;
[0171] The second sending unit is configured to send an accelerator card in place signal to the switch board CPLD via the accelerator board, wherein the accelerator card in place signal is valid at a low level.
[0172] In an exemplary embodiment, the search unit 704 includes:
[0173] The first processing module is configured to perform at least one of the following:
[0174] In a case where the N components include an accelerator board, a smart network card, and an OCP network card, obtaining first status information of the accelerator board, second status information of the smart network card, and third status information of the OCP network card;
[0175] When the first state information indicates that the accelerator board is in an inactive state, the second state information indicates that the smart network card is in an inactive state, and the third state information indicates that the OCP network card is in an inactive state, searching the relationship mapping table to find that the duty cycle of the PWM signal is 0;
[0176] When the first state information indicates that the accelerator board is in an inactive state, the second state information indicates that the smart network card is in an inactive state, and the third state information indicates that the OCP network card is in an active state, searching in the relationship mapping table that the duty cycle of the PWM signal is a first value;
[0177] When the first state information indicates that the accelerator board is in a non-in-place state, the second state information indicates that the smart network card is in a position state, and the third state information indicates that the OCP network card is in a non-in-place state, searching the relationship mapping table to find that the duty cycle of the PWM signal is a second value, wherein the second value is greater than the first value;
[0178] When the first state information indicates that the accelerator board is in an in-position state, the second state information indicates that the smart network card is in an in-position state, and the third state information indicates that the OCP network card is in an in-position state, searching in the relationship mapping table that the duty cycle of the PWM signal is a third value, wherein the third value is greater than the second value;
[0179] When the first status information indicates that the accelerator board is in place and the second status information indicates that the smart network card is in place, the duty cycle of the PWM signal is found to be a fourth value from the relationship mapping table, wherein the fourth value is greater than the third value.
[0180] In an exemplary embodiment, the first control unit 706 includes:
[0181] a second processing module, configured to determine position information of each group of server fans in M groups of server fans based on a first input signal and a second input signal on a fan board CPLD of the target server, where M is a positive integer greater than or equal to 2;
[0182] a third processing module, configured to determine, based on the status information of the N components, a target position of at least one group of server fans for cooling the components in the target partition, wherein the components in a partition require at least one group of server fans for cooling the components, and the M groups of server fans include the at least one group of server fans;
[0183] The fourth processing module is configured to control the at least one group of server fans at the target location to operate at the preset speed based on the duty cycle of the PWM signal.
[0184] In an exemplary embodiment, the second processing module includes:
[0185] an acquisition submodule, configured to sequentially acquire a group of server fans from the M groups of server fans as a current group of server fans;
[0186] a first processing submodule, configured to determine that the current group of server fans is located at a first position in the fan zone when the first input signal is at a low level and the second input signal is at a low level;
[0187] a second processing submodule, configured to determine, when the first input signal is at a low level and the second input signal is at a high level, that the current group of server fans is located at a second position in the fan zone;
[0188] The third processing submodule is configured to determine that the current group of server fans is located at a third position in the fan zone when the first input signal is at a high level and the second input signal is at a low level.
[0189] In an exemplary embodiment, the apparatus further comprises:
[0190] an adding unit, configured to add an in-place status signal of the N+1th component in the relationship mapping table;
[0191] an updating unit, configured to update, based on the in-position status signal of the N+1th component, a mapping relationship between the status information of the N+1th component and the duty cycle of the PWM signal, to obtain an updated relationship mapping table;
[0192] a first processing unit configured to, upon obtaining the current state information of the N+1 components, search the updated relationship mapping table for a current duty cycle of the PWM signal corresponding to the current state information;
[0193] The second processing unit is used to control the current server fan corresponding to the current partition to run at the current speed based on the current duty cycle of the PWM signal, wherein the current partition includes the server partition where the components in the N+1 components that are in place at the current moment are located.
[0194] By applying the above-described device to obtain status information for N components in a target server, the system intelligently identifies at least one component currently requiring heat dissipation and the server fans within the target partition that are positionally associated with the at least one component, based on the in-place status of the N components. The system then searches a relationship mapping table to find the duty cycle of the PWM signal corresponding to the combination of the at least one component, and controls the server fans within the target partition to operate at the speed indicated by the found duty cycle of the PWM signal. This achieves refined control of the server fans, ensuring that the server fans can operate on demand and reducing energy consumption.
[0195] It should be noted that the above various modules can be implemented by software or hardware, and for the latter, the following implementation manners can be used, but are not limited thereto: all the above modules are located in the same processor; or the above various modules are located in different processors in any combination.
[0196] Embodiments of the present application also provide a computer readable storage medium, which stores a computer program, and the computer program is configured to execute the steps in any of the above method embodiments when running.
[0197] Optionally, in the embodiment, the above computer program can be configured to execute the following steps by the computer program:
[0198] S1, obtaining state information of a control component of a target server in a shutdown state, wherein the state information of the control component includes an in-place state and an out-of-place state, the control component includes N components, N is a positive integer greater than or equal to 1;
[0199] S2, in the case that at least one component in the N components is in the in-place state, finding a duty cycle of a PWM signal corresponding to the state information of the N components from a relationship mapping table, wherein the higher the duty cycle of the PWM signal, the higher the rotating speed of the server fan;
[0200] S3, controlling a server fan corresponding to a target partition to operate at a preset rotating speed based on the duty cycle of the PWM signal, wherein the target server supports multiple partitions, each component in the N components is arranged in one of the multiple partitions according to a preset arrangement rule, and a group of components in the target partition are cooled by operating the server fan.
[0201] In an exemplary embodiment, the above computer readable storage medium can include, but is not limited to: a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.
[0202] Embodiments of the present application also provide an electronic device, as shown in the figure, which includes a memory 802 and a processor 804, the memory 802 stores a computer program, and the processor 804 is configured to execute the steps in any of the above method embodiments by the computer program. Figure 8
[0203] Optionally, in the embodiment, the above processor 804 can be configured to execute the following steps by the computer program:
[0204] S1, obtaining status information of a control component of a target server in a shutdown state, wherein the status information of the control component includes an in-place state and an out-of-place state, and the control component includes N components, where N is a positive integer greater than or equal to 1;
[0205] S2, when at least one of the N components is in an on-state, searching a relationship mapping table for a duty cycle of a PWM signal corresponding to the state information of the N components, wherein a higher duty cycle of the PWM signal indicates a higher rotational speed of the server fan;
[0206] S3, based on the duty cycle of the PWM signal, controls the server fan corresponding to the target partition to run at a preset speed, wherein the target server supports multiple partitions, and each of the N components is respectively arranged in one of the multiple partitions according to a preset arrangement rule, and cools a group of components in the target partition by running the server fan.
[0207] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail here.
[0208] Alternatively, those skilled in the art will appreciate that Figure 8 The structure shown is for illustration only. Figure 8 The structure of the electronic device is not limited. For example, the electronic device may also include Figure 8 More or fewer components (such as network interfaces, etc.) as shown in, or with Figure 8 Different configurations shown.
[0209] Among them, the memory 802 can be used to store software programs and modules, such as the program instructions / modules corresponding to the control method of the server fan and the control device of the server fan in the embodiment of the present application. The processor 804 executes various functional applications and data processing by running the software programs and modules stored in the memory 802, that is, realizing the above-mentioned control method of the server fan. The memory 802 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 802 may further include a memory remotely located relative to the processor 804, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include but are not limited to the Internet, corporate intranets, local area networks, mobile communication networks and combinations thereof. Among them, the memory 802 can be specifically, but not limited to, used to store the duty cycle of the PWM signal, status information of the control component, etc. As an example, such as Figure 8As shown, the memory 802 may include, but is not limited to, the first acquisition unit 702, the search unit 704, and the first control unit 706 of the aforementioned server fan control device. Furthermore, the memory 802 may also include, but is not limited to, other module units of the aforementioned server fan control device, which will not be described in detail in this example.
[0210] Optionally, the transmission device 806 is configured to receive or transmit data via a network. Specific examples of the aforementioned network may include wired networks and wireless networks. In one embodiment, the transmission device 806 includes a network interface controller (NIC), which can be connected to other network devices and a router via a network cable to enable communication with the Internet or a local area network. In one embodiment, the transmission device 806 is a radio frequency (RF) module configured to communicate with the Internet wirelessly.
[0211] In addition, the electronic device further includes: a display 808; and a connection bus 810 for connecting various module components in the electronic device.
[0212] In other embodiments, the electronic device may be a node in a distributed system, wherein the distributed system may be a blockchain system, which may be a distributed system formed by connecting multiple nodes via network communications. The nodes may form a peer-to-peer (P2P) network, and any computing device, such as a server or terminal, may become a node in the blockchain system by joining the peer-to-peer network.
[0213] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0214] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above method embodiments are implemented.
[0215] An embodiment of the present application also provides a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any of the above method embodiments.
[0216] It is apparent that those skilled in the art can modify and / or change the above-described modules or steps of the present application with general computing devices, which can be centralized on a single computing device or distributed on a network composed of multiple computing devices, which can be implemented by program codes executable by the computing devices, so that they can be stored in storage devices and executed by the computing devices, and in some cases, the steps shown or described can be executed in different orders, or they can be made into individual integrated circuit modules, or multiple modules or steps can be made into a single integrated circuit module. Thus, the present application is not limited to any particular combination of hardware and software.
[0217] The above is only the preferred embodiment of the present application, and is not intended to limit the present application. Those skilled in the art can make various modifications and changes to the present application. Any modification, equivalent replacement, improvement, etc. within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method for controlling a server fan, characterized in that: include: Acquire status information of a control component of a target server in a shutdown state, wherein the status information of the control component includes an in-place state and an out-of-place state, and the control component includes N components, where N is a positive integer greater than or equal to 1; When at least one of the N components is in an on-state, searching a relationship mapping table for a duty cycle of a PWM signal corresponding to the state information of the N components, wherein a higher duty cycle of the PWM signal indicates a higher rotation speed of the server fan; Based on the duty cycle of the PWM signal, control a server fan corresponding to a target partition to operate at a preset speed, wherein the target server supports multiple partitions, each of the N components is respectively arranged in one of the multiple partitions according to a preset arrangement rule, and the server fan is operated to dissipate heat for a group of components in the target partition; Wherein, when at least one of the N components is in the on-state, searching the relationship mapping table for a duty cycle of a PWM signal corresponding to the state information of the N components includes at least one of the following: In a case where the N components include an accelerator board, a smart network card, and an OCP network card, obtaining first status information of the accelerator board, second status information of the smart network card, and third status information of the OCP network card; When the first state information indicates that the accelerator board is in an inactive state, the second state information indicates that the smart network card is in an inactive state, and the third state information indicates that the OCP network card is in an inactive state, searching the relationship mapping table to find that the duty cycle of the PWM signal is 0; When the first state information indicates that the accelerator board is in an inactive state, the second state information indicates that the smart network card is in an inactive state, and the third state information indicates that the OCP network card is in an active state, searching in the relationship mapping table that the duty cycle of the PWM signal is a first value; When the first state information indicates that the accelerator board is in a non-in-place state, the second state information indicates that the smart network card is in a position state, and the third state information indicates that the OCP network card is in a non-in-place state, searching the relationship mapping table to find that the duty cycle of the PWM signal is a second value, wherein the second value is greater than the first value; When the first state information indicates that the accelerator board is in an in-position state, the second state information indicates that the smart network card is in an in-position state, and the third state information indicates that the OCP network card is in an in-position state, searching in the relationship mapping table that the duty cycle of the PWM signal is a third value, wherein the third value is greater than the second value; When the first status information indicates that the accelerator board is in place and the second status information indicates that the smart network card is in place, the duty cycle of the PWM signal is found to be a fourth value from the relationship mapping table, wherein the fourth value is greater than the third value.
2. The method according to claim 1, characterized in that The obtaining of status information of a control component of a target server in a shutdown state includes: Sending a first PWM signal to the fan board CPLD of the target server through the switch board CPLD of the target server; The first PWM signal is parsed by the fan board CPLD to obtain status information of each component in the N components.
3. The method according to claim 2, characterized in that Before sending the first PWM signal to the fan board CPLD of the target server through the switch board CPLD of the target server, the method further includes: In a case where the N components include an accelerator board, a smart network card, and an OCP network card, a smart network card presence signal and an OCP network card presence signal are sent to the switch board CPLD through the mainboard of the target server, wherein both the smart network card presence signal and the OCP network card presence signal are active low; An acceleration card presence signal is sent to the switch board CPLD via the acceleration board, wherein the acceleration card presence signal is valid at a low level.
4. The method according to claim 1, wherein The step of controlling the server fan corresponding to the target partition to operate at a preset speed based on the duty cycle of the PWM signal includes: Determine position information of each group of server fans in M groups of server fans using a first input signal and a second input signal on a fan board CPLD of the target server, where M is a positive integer greater than or equal to 2; determining, based on the status information of the N components, target positions of at least one group of server fans for cooling components in the target partition, wherein components in a partition require at least one group of server fans for cooling them, and the M groups of server fans include the at least one group of server fans; Based on the duty cycle of the PWM signal, the at least one group of server fans at the target location is controlled to operate at the preset speed.
5. The method according to claim 4, characterized in that The determining, by using a first input signal and a second input signal on a fan board CPLD of the target server, position information of each group of server fans in the M groups of server fans includes: Sequentially obtain a group of server fans from the M groups of server fans as a current group of server fans; When the first input signal is at a low level and the second input signal is at a low level, determining that the current group of server fans is located at a first position in the fan zone; When the first input signal is at a low level and the second input signal is at a high level, determining that the current group of server fans is located at a second position in the fan zone; When the first input signal is at a high level and the second input signal is at a low level, it is determined that the current group of server fans is located at a third position in the fan zone.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: Adding an in-position status signal of the N+1th component to the relationship mapping table; Based on the in-position status signal of the N+1th component, updating the mapping relationship between the status information of the N+1th component and the duty cycle of the PWM signal to obtain an updated relationship mapping table; When the current state information of the N+1 components is obtained, searching the updated relationship mapping table for the current duty cycle of the PWM signal corresponding to the current state information; Based on the current duty cycle of the PWM signal, the current server fan corresponding to the current partition is controlled to run at the current speed, wherein the current partition includes the server partition where the components in the N+1 components that are in place at the current moment are located.
7. A control device for a server fan, characterized in that: include: A first acquiring unit is configured to acquire status information of a control component of a target server in a shutdown state, wherein the status information of the control component includes an in-place state and an out-of-place state, and the control component includes N components, where N is a positive integer greater than or equal to 1; a search unit, configured to search, from a relationship mapping table, for a duty cycle of a PWM signal corresponding to status information of the N components when at least one of the N components is in an on-position state, wherein a higher duty cycle of the PWM signal indicates a higher rotational speed of the server fan; a first control unit, configured to control a server fan corresponding to a target partition to operate at a preset speed based on a duty cycle of the PWM signal, wherein the target server supports multiple partitions, each of the N components is respectively arranged in one of the multiple partitions according to a preset arrangement rule, and the server fan is operated to dissipate heat for a group of components in the target partition; The apparatus is further configured to, when at least one of the N components is in an on-bit state, search a relationship mapping table for a duty cycle of a PWM signal corresponding to the status information of the N components, including at least one of the following: In a case where the N components include an accelerator board, a smart network card, and an OCP network card, obtaining first status information of the accelerator board, second status information of the smart network card, and third status information of the OCP network card; When the first state information indicates that the accelerator board is in an inactive state, the second state information indicates that the smart network card is in an inactive state, and the third state information indicates that the OCP network card is in an inactive state, searching the relationship mapping table to find that the duty cycle of the PWM signal is 0; When the first state information indicates that the accelerator board is in an inactive state, the second state information indicates that the smart network card is in an inactive state, and the third state information indicates that the OCP network card is in an active state, searching in the relationship mapping table that the duty cycle of the PWM signal is a first value; When the first state information indicates that the accelerator board is in a non-in-place state, the second state information indicates that the smart network card is in a position state, and the third state information indicates that the OCP network card is in a non-in-place state, searching the relationship mapping table to find that the duty cycle of the PWM signal is a second value, wherein the second value is greater than the first value; When the first state information indicates that the accelerator board is in an in-position state, the second state information indicates that the smart network card is in an in-position state, and the third state information indicates that the OCP network card is in an in-position state, searching in the relationship mapping table that the duty cycle of the PWM signal is a third value, wherein the third value is greater than the second value; When the first status information indicates that the accelerator board is in place and the second status information indicates that the smart network card is in place, the duty cycle of the PWM signal is found to be a fourth value from the relationship mapping table, wherein the fourth value is greater than the third value.
8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 6 when executed by a processor.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Server fan control method and device, computer equipment and storage medium
CN116339468A
On-site detection method, device, system and equipment for multiple onboard devices and medium
CN118860105A