Method, system and equipment for realizing flexible configuration of server fan and medium

Through BMC monitoring and dynamic detection of fan slots, the flexible configuration of server fans is achieved, which solves the problem of thermal dissipation needs in the existing technology that cannot adapt to different scenarios, reduces resource waste and noise, and improves the operating efficiency and reliability of the server.

CN120560940APending Publication Date: 2025-08-29SHENZHEN TONGTAIYI INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510647746.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-20
Publication Date
2025-08-29

AI Technical Summary

Technical Problem

The existing server fan configuration method cannot be flexibly configured when facing different usage scenarios and needs, resulting in waste of resources, increased power consumption and noise, and it is difficult to meet the diverse cooling needs.

Method used

All fan slots are monitored through BMC, the fan access status is dynamically detected, and the actual slots and quantity are recorded, allowing users to flexibly set the minimum number of fan access, and adjust the fan speed in combination with temperature changes to achieve flexible adaptation of fan configuration.

Benefits of technology

Improves the accuracy and reliability of fan management, reduces hardware and energy consumption costs, simplifies the configuration change process, and ensures the stable operation of the server in different environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120560940A_ABST
    Figure CN120560940A_ABST
Patent Text Reader

Abstract

The invention discloses a method, a system, equipment and a medium for realizing flexible configuration of a server fan. The method comprises the following steps that: a BMC (Baseboard Management Controller) performs access detection on each fan slot; and in-place signal and slot position state judgment: detecting that a fan in-place signal exists in a certain slot position, judging whether the fan in-place signal is recorded as an abnormal slot position or not, and updating the record or maintaining a normal record. Detecting that a certain slot position has no in-place signal, judging whether the slot position is a normal slot position, if so, recording abnormity and giving an alarm, otherwise, not updating; total number calculation and alarm judgment: after access detection, the number of actually accessed fans is calculated according to normal slot position records, if the number is smaller than a set minimum value, an alarm is given, abnormal rotating speed control is started, and the next period is started; if yes and an alarm is given, elimination is carried out; and abnormal slot position and rotating speed control: judging whether a fan abnormal slot position record exists or not, if not, recovering normal rotating speed control, if yes, entering abnormal rotating speed control, and entering the next period. The actual access condition of the current server fan can be reflected, and false alarm or alarm leakage caused by preset fixed parameters is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of server heat dissipation and intelligent management, and relates to a method, system, device and medium for realizing flexible configuration of server fans. Background Art

[0002] In modern data centers and server systems, heat management is critical to ensuring stable server operation, extending equipment life, and safeguarding data security. Servers generate significant amounts of heat during operation. If this heat is not dissipated promptly and effectively, the internal temperature of the server will rise sharply, potentially leading to serious consequences such as hardware failure, data loss, and even system crashes. Therefore, heat dissipation efficiency is directly related to the reliability and performance of server systems. To meet server heat dissipation efficiency requirements while also implementing fan alarm monitoring to ensure stable operation in various complex environments, current server fan configuration methods generally utilize redundant fan designs. Servers require a certain number of redundant fans to ensure that if one or more fans become missing or fail, other functioning fans can continue to provide cooling, maintaining acceptable server heat dissipation efficiency and preventing performance degradation or failure due to heat dissipation issues.

[0003] In actual server hardware architecture, there are strict and fixed requirements for the number and slots of fans. Typically, the server motherboard is pre-configured with a specific number and location of fan slots, each corresponding to a fan connector. Fans must be connected to the fixed slots in the prescribed manner for the server management system to properly identify and manage the fans.

[0004] When the server is started and running, its management system, the Baseboard Management Controller (BMC), will continuously monitor the operating status of the fans. If a fan in a fixed slot is missing, the BMC will detect the abnormality and take measures to deal with it. First, the BMC will increase the speed of other fans that are still working normally, and compensate for the insufficient heat dissipation capacity caused by the missing fans by increasing the air volume of the fans, so as to maintain the heat dissipation efficiency of the server as much as possible and ensure that the internal temperature of the server will not rise rapidly due to the lack of fans. However, in actual application scenarios, due to the wide range of server usage requirements of different users and the diversity of server deployment environments, the same server has significantly different requirements for heat dissipation efficiency in different scenarios.

[0005] In some high-configuration device applications, servers integrate numerous high-performance processors, graphics cards, and other hardware components, generating significant heat during operation. Furthermore, if the server's ambient temperature is already high, maintaining a normal operating temperature requires higher heat dissipation efficiency. In this case, existing redundant fan designs can meet these cooling requirements to a certain extent, ensuring stable server operation. However, in other low-configuration device applications, the heat generated by the server's internal hardware components is relatively low, posing less demanding cooling requirements. Furthermore, if the server's ambient temperature is low, the need for heat dissipation efficiency is further reduced. For scenarios with low heat dissipation efficiency requirements, existing server fan configuration methods are inflexible and inefficient.

[0006] In existing server fan configuration methods, the number of connected fans and their slot locations are fixed and immutable. Even in scenarios with low cooling efficiency requirements, the server must have a pre-set fixed number of fans connected, and the fans must be installed in fixed slots. If any fan is missing or the slot location is changed, the BMC will generate an alarm, indicating that this is an abnormal condition. At the same time, the BMC will automatically increase the speed of other fans that are still operating normally, attempting to compensate for the reduced cooling capacity caused by the missing fan or slot location change by increasing the fan's air volume. On the one hand, increasing fan speed will significantly increase fan power consumption. As one of the power-consuming components in the server, increasing the fan speed means that more electricity is consumed to drive the fan, thereby increasing the power consumption of the entire server. On the other hand, increasing fan speed will also cause greater noise.

[0007] Furthermore, for scenarios requiring low cooling efficiency, adding redundant fans actually results in a certain amount of resource waste. These redundant fans may not need to run at high speeds most of the time, but they still occupy server hardware space and interface resources, increasing server hardware and maintenance costs. Furthermore, because the number of fans is fixed, users cannot flexibly adjust fan configurations based on actual needs, hindering the full utilization of server hardware resources.

[0008] In summary, while existing server fan configuration methods can meet server cooling and monitoring requirements to a certain extent, they suffer from issues such as inflexible fan configuration for different usage scenarios and requirements, resulting in wasted resources, increased power consumption, and increased noise. This makes it difficult to meet the increasingly diverse server cooling needs. Therefore, a method for flexible server fan configuration is urgently needed to adapt to cooling requirements in different scenarios, improve the utilization efficiency of server hardware resources, and reduce operating costs and noise impact. Summary of the Invention

[0009] The purpose of the present invention is to solve the problem that although the server fan configuration method in the prior art can meet the heat dissipation and monitoring needs of the server to a certain extent, it cannot flexibly configure the fan when facing different usage scenarios and usage requirements, resulting in waste of resources, increased power consumption and noise. A method, system, device and medium for realizing flexible configuration of server fans are provided.

[0010] In order to achieve the above object, the present invention adopts the following technical solutions:

[0011] A method for flexibly configuring server fans includes the following steps:

[0012] BMC startup monitoring: After the BMC starts, it runs the monitoring program to detect access to all fan slots in the server.

[0013] Fan presence signal detection and slot status judgment: When a fan presence signal is detected in a fan slot, the system determines whether the slot is recorded as an abnormal fan slot.

[0014] If not, record the fan slot as a normal slot and continue to detect the next fan slot; if so, delete the abnormal record and alarm information of the fan slot, record the fan slot as a normal slot, and continue to detect the next fan slot;

[0015] When it is detected that a fan slot does not output a fan presence signal: determine whether the slot is recorded as a normal fan slot;

[0016] If not, continue to check the next fan slot; if so, record the abnormal fan slot and generate an alarm information for the fan slot, delete the record of the normal fan slot, and then continue to check the next fan slot;

[0017] Fan count calculation and alarm judgment: After all fan slots are tested, the total number of fans actually connected is calculated based on the records of normal fan slots. The system then determines whether the total number of fans actually connected is less than the set minimum number of fans.

[0018] If yes, generate fan quantity shortage alarm information, enter fan abnormal speed control, and enter the next monitoring cycle; if no, determine whether fan quantity shortage alarm has been generated; if fan quantity shortage alarm has been generated, eliminate the fan quantity shortage alarm;

[0019] Fan abnormality slot determination and speed control: Determine whether there is a fan abnormality slot record;

[0020] If not, restore the normal fan speed control and enter the next monitoring cycle; if so, enter the abnormal fan speed control and enter the next monitoring cycle.

[0021] The minimum number of fans connected is set in the following way:

[0022] User input commands are transmitted to the BMC's IPMI interface via the corresponding interactive interface;

[0023] The IPMI interface forwards the command to the IPMI master process for comprehensive processing and coordination;

[0024] The IPMI master process calls a specific IPMI interface function and sets the minimum number of fans connected according to the instruction requirements;

[0025] The set minimum number of fans connected is saved in the BMC's FLASH memory to ensure that the value is not lost after the BMC power is turned off.

[0026] During the configuration process, the value is verified for validity. The minimum number of fans connected must be greater than 0 and less than or equal to the maximum number of fans configured on the server. If the value does not meet this constraint, the configuration operation fails and an error message is displayed.

[0027] After the legal setting is completed, the minimum number of connected fans takes effect immediately and is used in the subsequent BMC monitoring and judgment logic of the number and status of connected fans in the server.

[0028] The fan slot position and quantity information recorded by the BMC is stored in the running memory. When the BMC is restarted, the information will be cleared. When the current fan configuration needs to be changed, the BMC will be restarted after the change for automatic adaptation to take effect without stopping the server's system services.

[0029] If any fan slot of the server has not been connected to a fan, no alarm or abnormal fan speed control will be generated; if the fan slot has been connected to a fan, the fan slot will be immediately included in the alarm management; if the fan is subsequently unplugged, an alarm and abnormal speed control will be triggered.

[0030] The normal fan speed control is to adjust the fan speed according to the formulated strategy as the temperature of the server components changes; the abnormal fan speed control is to fix all fans to a certain high speed when a fan-related alarm occurs.

[0031] A system for flexibly configuring server fans includes a server fan assembly, a BMC, and hardware circuits for connecting the two. The specific structure and connection relationship are as follows:

[0032] Server fan assembly: contains several fans, each fan has a speed feedback pin, a position detection pin and a pulse width modulation speed control pin;

[0033] BMC: It has multiple built-in general-purpose input and output (GPIO) pins, which are used to communicate with the fan pins.

[0034] Hardware connection: Each fan's speed feedback "tach" pin is connected to the corresponding general-purpose input / output (GPIO) pin of the BMC via hardware. This allows the BMC to detect the fan's real-time speed based on the speed feedback signal. Each fan's "present" pin is connected to the corresponding general-purpose input / output (GPIO) pin of the BMC via hardware. This allows the BMC to detect whether the fan is in place using the presence detection signal. Each fan's "pulse-width modulation (PWM)" speed control pin is connected to the corresponding general-purpose input / output (GPIO) pin of the BMC via hardware. This allows the BMC to control the fan speed using a pulse-width modulation (PWM) speed control signal.

[0035] The BMC also includes a monitoring module, a recording and storage module, a judgment and decision module, and a speed control module:

[0036] The monitoring module monitors the speed feedback tach pin and presence detection present pin of all fans connected to the BMC via hardware circuits in real time. It continuously collects fan speed information and presence status information and transmits the collected information to the recording and storage module.

[0037] The record storage module includes a running memory storage unit and a FLASH storage unit. The running memory storage unit is used to temporarily store the fan slot status record, abnormal status record, and the actual number of connected fans during the current monitoring period. When the BMC is restarted, the information in the unit will be cleared. The FLASH storage unit is used to save the minimum number of connected fans set by the user. This value is set through the BMC web page or IPMI command and saved in the FLASH storage unit after setting. It will not be lost in the event of a power outage and will take effect immediately after setting. The set value must be greater than 0 and less than or equal to the maximum number of server fans configured.

[0038] The judgment and decision module obtains fan-related record information from the record storage module and makes judgments according to the preset logic. The specific logic is as follows:

[0039] Each fan slot is judged one by one: if the fan slot outputs an in-place detection signal, determine whether the slot is recorded as an abnormal slot. If it is an abnormal slot, delete the abnormal record and alarm information, and record the slot as a normal slot; if it is a normal slot, directly record it as a normal slot; if the fan slot does not output an in-place detection signal, determine whether the slot is recorded as a normal slot. If it is a normal slot, record the abnormal slot and generate an alarm information, and delete the normal record of the slot; if it is an abnormal slot, do not update the slot status record; after completing the judgment of all fan slots, calculate the total number of fans actually connected based on the records of normal slots, and determine whether the total number is less than the set minimum number of fans connected;

[0040] Determine whether a fan quantity shortage alarm has been generated; determine whether there is a slot record of fan abnormality; transmit the above judgment results to the speed control module and the record storage module;

[0041] Speed ​​control module, including fan normal speed control submodule and fan abnormal speed control submodule;

[0042] The fan normal speed control submodule generates a corresponding pulse width modulation speed control signal according to the temperature change of the server components based on a pre-defined strategy, and transmits the signal to the fan through a hardware circuit connected to the fan pulse width modulation speed control PWM pin to dynamically adjust the fan speed;

[0043] The fan abnormal speed control submodule generates a fixed high-speed pulse width modulation speed control signal when the decision module determines that a fan-related alarm occurs. The signal is transmitted to all fans through the hardware circuit, so that all fans are fixed to a certain high speed operation.

[0044] The speed control module selects to enable the fan normal speed control submodule or the fan abnormal speed control submodule to control the fan speed according to the judgment result of the judgment decision module.

[0045] The system supports dynamic adaptation of fan configuration. When the current fan configuration needs to be changed, the user restarts the BMC after completing the fan connection or removal operation. During the BMC startup process, the monitoring module re-detects the connection of all fan slots, the recording and storage module clears the information temporarily stored before the restart, the judgment and decision module re-processes the judgment logic according to the new detection results, and the speed control module selects the corresponding speed control strategy according to the new judgment results, thereby realizing automatic adaptation of the fan configuration. There is no need to stop the server system business during the BMC restart and fan configuration change process.

[0046] A device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method as described in any one of the preceding items when executing the computer program.

[0047] A computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method described in any one of the preceding items.

[0048] Compared with the prior art, the present invention has the following beneficial effects:

[0049] The present invention proposes a method for flexibly configuring server fans. This method abandons the traditional model of using fixed fan numbers and slot locations as alarm monitoring factors. Instead, it performs fan access detection on all server fan slots in a loop, incorporating only the slot location and number of fans actually connected to the server into the alarm management system. This method accurately reflects the actual fan access status of the server, avoiding false or missed alarms caused by pre-set fixed parameters. This allows fan operating status monitoring and alarm management to better align with actual usage, effectively improving the accuracy and reliability of server fan management.

[0050] The minimum number of connected fans is dynamically adjustable, allowing users to flexibly set the minimum number of connected fans through the BMC webpage or IPMI commands. This enables server fan management to be dynamically adjusted according to the cooling requirements in different scenarios. In scenarios with low cooling requirements, users can appropriately reduce the minimum number of connected fans. Without changing the server hardware design or modifying the BMC firmware, the number of connected fans can be reduced, thereby directly reducing the server hardware procurement cost and energy consumption costs during operation. In scenarios with high cooling requirements, users can promptly increase the minimum number of connected fans, adapt monitoring, and connect more fans to ensure that all server components can obtain sufficient cooling support when running under high load, meeting the diverse needs of server cooling capabilities in different business scenarios.

[0051] Fan configuration adaptation is quick and efficient. The total number of fans and fan slot information recorded by the BMC is stored in the running memory. When the server fan configuration changes, simply restarting the BMC automatically clears the old information and adapts the new fan configuration. This process does not require stopping the server's system operations. This greatly simplifies the process of changing the server fan configuration, significantly improves maintenance efficiency, and reduces the risk of business interruption caused by server downtime for maintenance and the time cost of maintenance personnel. Whether adjusting the fan configuration based on actual cooling needs during the initial server deployment or replanning the fan layout during server operation due to business changes or hardware upgrades, fan configuration adaptation can be completed quickly and conveniently, ensuring that the server is always in a stable and efficient state.

[0052] To meet differentiated cooling needs, the fan access slots can be flexibly changed according to the temperature differences of the various components inside the server. Since different components inside the server generate different amounts of heat during operation, the cooling requirements of each area vary. By flexibly adjusting the fan access slots, fans can be precisely placed in areas with higher cooling requirements, achieving more efficient cooling effects and avoiding local overheating that affects server performance and stability. At the same time, combined with the function of setting the minimum number of fan connections, it can effectively avoid insufficient cooling caused by missing fans due to human negligence, further ensuring the reliable operation of the server in various complex environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. It should be understood that the following drawings only illustrate certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.

[0054] Figure 1 A flow chart of the method for implementing flexible configuration of server fans according to the present invention;

[0055] Figure 2 Setting an interface logic diagram for the minimum number of fans connected to the present invention;

[0056] Figure 3 This is a simplified diagram of the hardware design of the present invention. DETAILED DESCRIPTION

[0057] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions of the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings herein can be arranged and designed in various different configurations.

[0058] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention as claimed, but rather merely represents selected embodiments of the present invention. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present invention without creative effort shall fall within the scope of protection of the present invention.

[0059] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined or explained in subsequent drawings.

[0060] The present invention is described in further detail below with reference to the accompanying drawings:

[0061] See also Figure 1 , is a flow chart of a method for implementing flexible configuration of server fans in the present invention, comprising the following steps:

[0062] BMC startup monitoring: After the BMC starts, it runs the monitoring program to detect access to all fan slots in the server.

[0063] Fan presence signal detection and slot status judgment: When a fan presence signal is detected in a fan slot, the system determines whether the slot is recorded as an abnormal fan slot.

[0064] If not, record the fan slot as a normal slot and continue to detect the next fan slot; if so, delete the abnormal record and alarm information of the fan slot, record the fan slot as a normal slot, and continue to detect the next fan slot;

[0065] When it is detected that a fan slot does not output a fan presence signal: determine whether the slot is recorded as a normal fan slot;

[0066] If not, continue to check the next fan slot; if so, record the abnormal fan slot and generate an alarm information for the fan slot, delete the record of the normal fan slot, and then continue to check the next fan slot;

[0067] Fan count calculation and alarm judgment: After all fan slots are tested, the total number of fans actually connected is calculated based on the records of normal fan slots. The system then determines whether the total number of fans actually connected is less than the set minimum number of fans.

[0068] If yes, generate fan quantity shortage alarm information, enter fan abnormal speed control, and enter the next monitoring cycle; if no, determine whether fan quantity shortage alarm has been generated; if fan quantity shortage alarm has been generated, eliminate the fan quantity shortage alarm;

[0069] Fan abnormality slot determination and speed control: Determine whether there is a fan abnormality slot record;

[0070] If not, restore the normal fan speed control and enter the next monitoring cycle; if so, enter the abnormal fan speed control and enter the next monitoring cycle.

[0071] After the BMC starts, it runs a monitoring program to check the server's fan slots for connectivity. If a fan slot detects a fan presence signal, it determines whether the slot is registered as an abnormal fan slot. If not, it registers the slot as a normal fan slot and checks the next fan slot. If it is, it deletes the abnormal fan slot record and alarm information, registers the slot as a normal fan slot, and checks the next fan slot. If a fan slot fails to detect a fan presence signal, it determines whether the slot is registered as a normal fan slot. If not, it checks the next fan slot. If so, it records the abnormal fan slot and generates an alarm information for the fan slot, deletes the normal fan slot record, and checks the next fan slot. After all fan slots are checked for connectivity, it calculates the total number of fans actually connected based on the normal fan slot records. It then determines whether the total number of fans actually connected is less than the set minimum number of fans. If so, it generates a fan quantity shortage alarm, initiates abnormal fan speed control, and enters the next monitoring cycle. If not, it determines whether a fan quantity shortage alarm has been generated. If so, it eliminates the fan quantity shortage alarm. Finally, determine whether there is a slot record of fan abnormality. If not, restore the fan normal speed control and enter the next monitoring cycle; if so, enter the fan abnormal speed control and enter the next monitoring cycle.

[0072] See also Figure 2 , which is the interface logic diagram for setting the minimum number of fans connected in the present invention. The minimum number of fans connected can be set through the BMC webpage or IPMI command. This value is saved in the BMC FLASH and will not be lost in the event of a power outage. It takes effect immediately after setting. The setting value of the minimum number of fans connected must be greater than 0 and less than or equal to the maximum number of fans configured on the server. The minimum number of fans connected is set in the following way:

[0073] User input commands are transmitted to the BMC's IPMI interface via the corresponding interactive interface;

[0074] The IPMI interface forwards the command to the IPMI master process for comprehensive processing and coordination;

[0075] The IPMI master process calls a specific IPMI interface function and sets the minimum number of fans connected according to the instruction requirements;

[0076] The set minimum number of fans connected is saved in the BMC's FLASH memory to ensure that the value is not lost after the BMC power is turned off.

[0077] During the configuration process, the value is verified for validity. The minimum number of fans connected must be greater than 0 and less than or equal to the maximum number of fans configured on the server. If the value does not meet this constraint, the configuration operation fails and an error message is displayed.

[0078] After the legal setting is completed, the minimum number of connected fans takes effect immediately and is used in the subsequent BMC monitoring and judgment logic of the number and status of connected fans in the server.

[0079] The fan slot position and quantity information recorded by the BMC is stored in the running memory. When the BMC is restarted, the information will be cleared. When the current fan configuration needs to be changed, the BMC will be restarted after the change for automatic adaptation to take effect without stopping the server's system services.

[0080] If any fan slot of the server has not been connected to a fan, no alarm or abnormal fan speed control will be generated; if the fan slot has been connected to a fan, the fan slot will be immediately included in the alarm management; if the fan is subsequently unplugged, an alarm and abnormal speed control will be triggered.

[0081] The normal fan speed control is to adjust the fan speed according to the formulated strategy as the temperature of the server components changes; the abnormal fan speed control is to fix all fans to a certain high speed when a fan-related alarm occurs.

[0082] As can be seen from the above process and interface configuration logic, BMC fan monitoring does not have a fixed fan slot location or quantity. While fan access detection is performed on all fan slots in the server, only the number of fans and slots actually connected to the server are included in alarm management. If no fan has ever been connected to any fan slot on the server, no alarm or abnormal fan speed control will be generated. Once a fan has been connected to that fan slot, the fan will immediately be included in alarm management. If the fan is subsequently removed, an alarm and abnormal fan speed control will be triggered. When the total number of fans actually connected is less than the set minimum number of fans connected, an alarm and abnormal fan speed control will be triggered. The BMC's record of fan slot location and quantity is stored in the running memory and is cleared when the BMC is restarted. If you need to change the current fan configuration, simply restart the BMC after the change for the changes to take effect automatically without stopping the server's system services.

[0083] See also Figure 3, as shown in the figure, the hardware design of the present invention connects the fan's tach, present, and PWM pins to the BMC's GPIO pins through hardware circuits. The BMC can therefore detect the fan speed through the tach signal, detect the fan's presence through the present signal, and control the fan speed through the PWM signal. An embodiment of the present invention is a system for implementing flexible configuration of server fans, characterized by including a server fan assembly, a BMC, and a hardware circuit for connecting the two. The specific structure and connection relationship are as follows: the server fan assembly: includes a plurality of fans, each fan having a speed feedback tach pin, a position detection present pin, and a pulse width modulation speed control PWM pin; the BMC: has multiple built-in general input and output GPIO pins for signal interaction with each pin of the fan; hardware circuit connection: the speed feedback tach pin of each fan is connected to the corresponding general input and output GPIO pin of the BMC through a hardware circuit, so that the BMC can detect the real-time speed of the fan based on the speed feedback signal; the position detection present pin of each fan is connected to the corresponding general input and output GPIO pin of the BMC through a hardware circuit, so that the BMC can detect whether the fan is in the position state with the help of the position detection signal; the pulse width modulation speed control PWM pin of each fan is connected to the corresponding general input and output GPIO pin of the BMC through a hardware circuit, so that the BMC can control the fan speed through the pulse width modulation speed control signal.

[0084] The BMC also includes a monitoring module, a recording and storage module, a judgment and decision module, and a speed control module:

[0085] The monitoring module monitors the speed feedback tach pin and presence detection present pin of all fans connected to the BMC via hardware circuits in real time. It continuously collects fan speed information and presence status information and transmits the collected information to the recording and storage module.

[0086] The record storage module includes a running memory storage unit and a FLASH storage unit. The running memory storage unit is used to temporarily store the fan slot status record, abnormal status record, and the actual number of connected fans during the current monitoring period. When the BMC is restarted, the information in the unit will be cleared. The FLASH storage unit is used to save the minimum number of connected fans set by the user. This value is set through the BMC web page or IPMI command and saved in the FLASH storage unit after setting. It will not be lost in the event of a power outage and will take effect immediately after setting. The set value must be greater than 0 and less than or equal to the maximum number of server fans configured.

[0087] The judgment and decision module obtains fan-related record information from the record storage module and makes judgments according to the preset logic. The specific logic is as follows:

[0088] Each fan slot is judged one by one: if the fan slot outputs an in-place detection signal, determine whether the slot is recorded as an abnormal slot. If it is an abnormal slot, delete the abnormal record and alarm information, and record the slot as a normal slot; if it is a normal slot, directly record it as a normal slot; if the fan slot does not output an in-place detection signal, determine whether the slot is recorded as a normal slot. If it is a normal slot, record the abnormal slot and generate an alarm information, and delete the normal record of the slot; if it is an abnormal slot, do not update the slot status record; after completing the judgment of all fan slots, calculate the total number of fans actually connected based on the records of normal slots, and determine whether the total number is less than the set minimum number of fans connected;

[0089] Determine whether a fan quantity shortage alarm has been generated; determine whether there is a slot record of fan abnormality; transmit the above judgment results to the speed control module and the record storage module;

[0090] Speed ​​control module, including fan normal speed control submodule and fan abnormal speed control submodule;

[0091] The fan normal speed control submodule generates a corresponding pulse width modulation speed control signal according to the temperature change of the server components based on a pre-defined strategy, and transmits the signal to the fan through a hardware circuit connected to the fan pulse width modulation speed control PWM pin to dynamically adjust the fan speed;

[0092] The fan abnormal speed control submodule generates a fixed high-speed pulse width modulation speed control signal when the decision module determines that a fan-related alarm occurs. The signal is transmitted to all fans through the hardware circuit, so that all fans are fixed to a certain high speed operation.

[0093] The speed control module selects to enable the fan normal speed control submodule or the fan abnormal speed control submodule to control the fan speed according to the judgment result of the judgment decision module.

[0094] The system supports dynamic adaptation of fan configuration. When the current fan configuration needs to be changed, the user restarts the BMC after completing the fan connection or removal operation. During the BMC startup process, the monitoring module re-detects the connection of all fan slots, the recording and storage module clears the information temporarily stored before the restart, the judgment and decision module re-processes the judgment logic according to the new detection results, and the speed control module selects the corresponding speed control strategy according to the new judgment results, thereby realizing automatic adaptation of the fan configuration. There is no need to stop the server system business during the BMC restart and fan configuration change process.

[0095] The present invention does not use a fixed number of fans and slots as alarm monitoring factors, but cyclically performs fan access detection on all fan slots of the server, and only includes the slots and number of fans actually connected to the server in the alarm management. The minimum number of fans connected can be set through the BMC webpage or IPMI command. The total number of fans and fan slot information recorded by the BMC are all stored in the running memory. Restarting the BMC can clear the old information and adapt to the new fan configuration without stopping the server's system services. Based on this design, in the face of low heat dissipation requirements, the number of fans connected can be reduced without changing the server hardware design or the BMC firmware, thereby reducing costs and saving energy consumption. In the face of high heat dissipation requirements, more fans can be connected to meet the heat dissipation requirements. The fan access slots can be changed according to the temperature differences of the positions of the various components inside the server, and the minimum number of fans connected can be set as needed to avoid the situation where fans are manually missed. This allows the number and slots of fans to be flexibly configured according to different usage scenarios and usage requirements, while meeting the fan alarm management requirements. Moreover, the fan configuration changes are simple and quick to take effect, saving the time cost of maintenance personnel. In addition, the present invention is simple to implement and has extremely low occupancy costs.

[0096] One embodiment of the present invention provides a terminal device. The terminal device of this embodiment includes: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of each of the aforementioned method embodiments are implemented. Alternatively, when the processor executes the computer program, the functions of each module / unit in each of the aforementioned device embodiments are implemented.

[0097] The computer program may be divided into one or more modules / units, which are stored in the memory and executed by the processor to accomplish the present invention.

[0098] The device / terminal equipment may be a computing device such as a desktop computer, a notebook computer, a palmtop computer, a cloud server, etc. The device / terminal equipment may include, but is not limited to, a processor and a memory.

[0099] The processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.

[0100] The memory may be used to store the computer programs and / or modules, and the processor implements various functions of the apparatus / terminal device by running or executing the computer programs and / or modules stored in the memory and calling the data stored in the memory.

[0101] If the module / unit integrated in the device / terminal equipment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present invention implements all or part of the process in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, it can implement the steps of each of the above-mentioned method embodiments. The computer program includes computer program code, which can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0102] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention. Those skilled in the art will readily appreciate that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.

Claims

1. A method for realizing flexible configuration of server fans, characterized in that: The following steps are involved: BMC startup monitoring: After the BMC starts, it runs the monitoring program to detect access to all fan slots in the server. Fan presence signal detection and slot status judgment: When a fan presence signal is detected in a fan slot, the system determines whether the slot is recorded as an abnormal fan slot. If not, record the fan slot as a normal slot and continue to detect the next fan slot; if so, delete the abnormal record and alarm information of the fan slot, record the fan slot as a normal slot, and continue to detect the next fan slot; When it is detected that a fan slot does not output a fan presence signal: determine whether the slot is recorded as a normal fan slot; If not, continue to check the next fan slot; if so, record the abnormal fan slot and generate an alarm information for the fan slot, delete the record of the normal fan slot, and then continue to check the next fan slot; Fan count calculation and alarm judgment: After all fan slots are tested, the total number of fans actually connected is calculated based on the records of normal fan slots. The system then determines whether the total number of fans actually connected is less than the set minimum number of fans. If yes, generate fan quantity shortage alarm information, enter fan abnormal speed control, and enter the next monitoring cycle; if no, determine whether fan quantity shortage alarm has been generated; if fan quantity shortage alarm has been generated, eliminate the fan quantity shortage alarm; Fan abnormality slot determination and speed control: Determine whether there is a fan abnormality slot record; If not, restore the normal fan speed control and enter the next monitoring cycle; if so, enter the abnormal fan speed control and enter the next monitoring cycle.

2. A method for realizing flexible configuration of server fans according to claim 1, characterized in that: The minimum number of fans connected is set in the following way: User input commands are transmitted to the BMC's IPMI interface via the corresponding interactive interface; The IPMI interface forwards the command to the IPMI master process for comprehensive processing and coordination; The IPMI master process calls a specific IPMI interface function and sets the minimum number of fans connected according to the instruction requirements; The set minimum number of fans connected is saved in the BMC's FLASH memory to ensure that the value is not lost after the BMC power is turned off. During the configuration process, the value is verified for validity. The minimum number of fans connected must be greater than 0 and less than or equal to the maximum number of fans configured on the server. If the value does not meet this constraint, the configuration operation fails and an error message is displayed. After the legal setting is completed, the minimum number of connected fans takes effect immediately and is used in the subsequent BMC monitoring and judgment logic of the number and status of connected fans in the server.

3. The method for realizing flexible configuration of server fans according to claim 1, wherein: The fan slot position and quantity information recorded by the BMC is stored in the running memory. When the BMC is restarted, the information will be cleared. When the current fan configuration needs to be changed, the BMC will be restarted after the change for automatic adaptation to take effect without stopping the server's system services.

4. A method for realizing flexible configuration of server fans according to claim 1, characterized in that: If any fan slot of the server has not been connected to a fan, no alarm or abnormal fan speed control will be generated; if the fan slot has been connected to a fan, the fan slot will be immediately included in the alarm management; if the fan is subsequently unplugged, an alarm and abnormal speed control will be triggered.

5. The method for realizing flexible configuration of server fans according to claim 1, wherein: The normal fan speed control is to adjust the fan speed according to the formulated strategy as the temperature of the server components changes; the abnormal fan speed control is to fix all fans to a certain high speed when a fan-related alarm occurs.

6. A system for realizing flexible configuration of server fans, characterized in that: It includes the server fan assembly, BMC, and the hardware circuit used to connect the two. The specific structure and connection relationship are as follows: Server fan assembly: contains several fans, each fan has a speed feedback pin, a position detection pin and a pulse width modulation speed control pin; BMC: It has multiple built-in general-purpose input and output (GPIO) pins, which are used to communicate with the fan pins. Hardware connection: Each fan's speed feedback "tach" pin is connected to the corresponding general-purpose input / output (GPIO) pin of the BMC via hardware. This allows the BMC to detect the fan's real-time speed based on the speed feedback signal. Each fan's "present" pin is connected to the corresponding general-purpose input / output (GPIO) pin of the BMC via hardware. This allows the BMC to detect whether the fan is in place using the presence detection signal. Each fan's "pulse-width modulation (PWM)" speed control pin is connected to the corresponding general-purpose input / output (GPIO) pin of the BMC via hardware. This allows the BMC to control the fan speed using a pulse-width modulation (PWM) speed control signal.

7. The system for realizing flexible configuration of server fans according to claim 6, characterized in that: The BMC also includes a monitoring module, a recording and storage module, a judgment and decision module, and a speed control module: The monitoring module monitors the speed feedback tach pin and presence detection present pin of all fans connected to the BMC via hardware circuits in real time. It continuously collects fan speed information and presence status information and transmits the collected information to the recording and storage module. The recording storage module is provided with a running memory storage unit and a FLASH storage unit; The running memory storage unit is used to temporarily store the fan slot presence status, abnormal status records, and the actual number of connected fans during the current monitoring period. When the BMC restarts, the information in this unit will be cleared. The FLASH storage unit is used to save the user-set minimum number of connected fans. This value is set through the BMC web page or IPMI command and saved in the FLASH storage unit. It will not be lost in the event of a power failure and takes effect immediately after the setting. The set value must be greater than 0 and less than or equal to the maximum number of server fans. The judgment and decision module obtains fan-related record information from the record storage module and makes judgments according to the preset logic. The specific logic is as follows: Each fan slot is checked one by one: if the fan slot outputs a presence detection signal, the system determines whether the slot is recorded as an abnormal slot. If it is an abnormal slot, the abnormal record and alarm information are deleted and the slot is recorded as a normal slot. If the slot is already normal, it is directly recorded as a normal slot; if the fan slot does not output the presence detection signal, it is determined whether the slot is recorded as a normal slot. If it is a normal slot, it is recorded as an abnormal slot and an alarm message is generated, and the normal record of the slot is deleted at the same time; If the slot is already abnormal, the slot status record is not updated. After all fan slots are checked, the total number of fans actually connected is calculated based on the records of normal slots to determine whether the total number is less than the set minimum number of fans connected. Determine whether a fan quantity shortage alarm has been generated; determine whether there is a slot record of fan abnormality; transmit the above judgment results to the speed control module and the record storage module; Speed ​​control module, including fan normal speed control submodule and fan abnormal speed control submodule; The fan normal speed control submodule generates a corresponding pulse width modulation speed control signal according to the temperature change of the server components based on a pre-defined strategy, and transmits the signal to the fan through a hardware circuit connected to the fan pulse width modulation speed control PWM pin to dynamically adjust the fan speed; The fan abnormal speed control submodule generates a fixed high-speed pulse width modulation speed control signal when the decision module determines that a fan-related alarm occurs. The signal is transmitted to all fans through the hardware circuit, so that all fans are fixed to a certain high speed operation. The speed control module selects to enable the fan normal speed control submodule or the fan abnormal speed control submodule to control the fan speed according to the judgment result of the judgment decision module.

8. The system for realizing flexible configuration of server fans according to claim 6, characterized in that: The system supports dynamic adaptation of fan configuration. When the current fan configuration needs to be changed, the user restarts the BMC after completing the fan connection or removal operation. During the BMC startup process, the monitoring module re-detects the connection of all fan slots, the recording and storage module clears the information temporarily stored before the restart, the judgment and decision module re-processes the judgment logic according to the new detection results, and the speed control module selects the corresponding speed control strategy according to the new judgment results, thereby realizing automatic adaptation of the fan configuration. There is no need to stop the server system business during the BMC restart and fan configuration change process.

9. A 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 5 are implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.