A fan speed regulation method, device, medium and program product

By obtaining the card information of the interface card and determining its corresponding temperature monitoring point and fan partition, the temperature monitoring thread is used to monitor the temperature value and calculate the fan speed, which solves the problem of inconvenient heat dissipation management of different interface card equipment and achieves precise fan control and Efficient heat dissipation.

CN118793646BActive Publication Date: 2025-01-21INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411275857.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2025-01-21
Estimated Expiration
2044-09-12

AI Technical Summary

Technical Problem

In existing storage systems, different types of interface card equipment have inconvenience in cooling, and it is impossible to effectively carry out targeted cooling management for different interface card equipment.

Method used

By obtaining the card information of the interface card, determine its corresponding temperature monitoring point and fan partition, use the temperature monitoring thread to monitor the temperature value, calculate the fan speed based on the temperature value and speed adjustment parameters, and select the maximum speed as the working speed to achieve accurate fan control.

Benefits of technology

It realizes automatic identification of different interface card devices and automatic determination of fan partition and speed adjustment parameters, thereby achieving precise control of fans, improving fan maintenance efficiency and accuracy, and enabling targeted cooling of different interface card devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118793646B_ABST
    Figure CN118793646B_ABST
Patent Text Reader

Abstract

The present application discloses a fan speed control method, device, medium and program product in the field of computer technology. The present application sets corresponding temperature monitoring points and the fan partitions and speed control parameters matched thereto for at least one interface card plugged into each slot. Therefore, after the temperature value of the temperature monitoring point is monitored by the temperature monitoring thread, the speed of the fan in the corresponding fan partition can be calculated according to the temperature value and the speed control parameters, and the maximum speed corresponding to the same fan can be selected as the working speed of the fan. Thus, the scheme realizes the automatic identification of the interface card device and the temperature monitoring point, and automatically determines the fan partition and speed control parameters according to the identification result, thereby realizing the precise control of the fan and improving the maintenance efficiency and accuracy of the fan.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a fan speed control method, device, medium, and program product. Background Art

[0002] In storage systems, in order to monitor and dissipate heat at various temperature points, configuration files are used to pre-record each temperature point and its corresponding speed adjustment parameters. Furthermore, different types of interface cards, such as network cards, that are plugged into the storage system are required to correspond to the same temperature points, which is not conducive to heat dissipation of different types of interface cards.

[0003] Therefore, how to effectively dissipate heat from different interface card devices is a problem that needs to be solved by those skilled in the art. Summary of the Invention

[0004] In view of this, the purpose of this application is to provide a fan speed control method, device, medium, and program product for targeted heat dissipation of different interface card devices. The specific solution is as follows:

[0005] In a first aspect, this application provides a fan speed control method, including:

[0006] Obtain card information for at least one interface card plugged into at least one target slot;

[0007] Based on the card information, determine the temperature monitoring point corresponding to the at least one interface card, as well as the fan zone and speed control parameters matched to the temperature monitoring point;

[0008] The temperature value of the temperature monitoring point is monitored using a temperature monitoring thread;

[0009] The fan speed in the corresponding fan zone is calculated based on the temperature value and the speed regulation parameters, and the maximum speed corresponding to the same fan is selected as the working speed of that fan.

[0010] Optionally, card information of at least one interface card plugged into at least one target slot is obtained, including:

[0011] Initialize all slots in the current device;

[0012] The slots are traversed using the basic input / output system of the current device to determine at least one target slot that is in operation;

[0013] Read the card information of at least one interface card plugged into the at least one target slot.

[0014] Optionally, the temperature monitoring point corresponding to the at least one interface card, and the fan zone and speed control parameters matched to the corresponding temperature monitoring point are determined based on the card information, including:

[0015] Check if a configuration file corresponding to the card information exists;

[0016] If the configuration file exists, load the configuration file and query the temperature monitoring point, the fan zone, and the speed control parameters in the configuration file.

[0017] Optionally, it also includes:

[0018] If the configuration file does not exist, after creating the configuration file, the steps of loading the configuration file and querying the temperature monitoring point, the fan partition, and the speed control parameters in the configuration file are executed.

[0019] Optionally, before monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread, the method further includes:

[0020] Determine whether the temperature monitoring point is enabled;

[0021] If the temperature monitoring point is enabled, then the step of monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread is executed; otherwise, the current temperature monitoring point is skipped.

[0022] Optionally, before calculating the fan speed within the corresponding fan zone based on the temperature value and the speed control parameters, the method further includes:

[0023] Determine whether the temperature value is valid;

[0024] If the temperature value is valid, then the step of calculating the fan speed in the corresponding fan zone based on the temperature value and the speed control parameters is performed.

[0025] Optionally, if the temperature value is invalid, it is determined whether there is a backup temperature value for the temperature value;

[0026] If the backup temperature value exists, then the backup temperature value is used as the temperature value, and the step of calculating the fan speed in the corresponding fan zone based on the temperature value and the speed control parameter is executed.

[0027] If the backup temperature value does not exist, then the target rotational speed corresponding to the invalid temperature of the temperature monitoring point is determined.

[0028] Optionally, calculating the fan speed within the corresponding fan zone based on the temperature value and the speed control parameters includes:

[0029] Obtain the proportional coefficient, integral coefficient, and derivative coefficient from the speed regulation parameters;

[0030] The fan speed in the corresponding fan zone is calculated using the proportional coefficient, the integral coefficient, the differential coefficient, the preset desired speed, and the temperature value.

[0031] Optionally, it also includes:

[0032] The temperature monitoring points are recorded in real time;

[0033] After detecting an update at the temperature monitoring point, the corresponding fan zone and speed control parameters are updated accordingly.

[0034] Optionally, the temperature monitoring point update includes: adding, deleting, and modifying temperature monitoring points.

[0035] Optionally, after monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread, the method further includes:

[0036] The temperature monitoring point is alarmed or de-alarmed based on the temperature value.

[0037] Optionally, it also includes:

[0038] Use a fan monitoring thread to obtain the fan's on-time status and actual fan speed;

[0039] The fan's in-situ status and actual fan speed determine the fan's health status;

[0040] The system will issue an alarm or de-alarm for the fan based on its health status.

[0041] Secondly, this application provides a fan speed control device, comprising:

[0042] The acquisition module is used to acquire card information of at least one interface card plugged into at least one target slot;

[0043] The determination module is used to determine the temperature monitoring point corresponding to the at least one interface card, as well as the fan zone and speed control parameters matched by the temperature monitoring point, based on the card information.

[0044] The monitoring module is used to monitor the temperature value of the temperature monitoring point using a temperature monitoring thread;

[0045] The speed control module is used to calculate the fan speed in the corresponding fan zone based on the temperature value and the speed control parameters, and select the maximum speed corresponding to the same fan as the working speed of that fan.

[0046] Optionally, the acquisition module is specifically used for:

[0047] Initialize all slots in the current device;

[0048] The slots are traversed using the basic input / output system of the current device to determine at least one target slot that is in operation;

[0049] Read the card information of at least one interface card plugged into the at least one target slot.

[0050] Optionally, the module is specifically used for:

[0051] Check if a configuration file corresponding to the card information exists;

[0052] If the configuration file exists, load the configuration file and query the temperature monitoring point, the fan zone, and the speed control parameters in the configuration file.

[0053] Optionally, the determining module is also used for:

[0054] If the configuration file does not exist, after creating the configuration file, the steps of loading the configuration file and querying the temperature monitoring point, the fan partition, and the speed control parameters in the configuration file are executed.

[0055] Optionally, it also includes:

[0056] An enable judgment module is used to determine whether the temperature monitoring point is enabled; if the temperature monitoring point is enabled, the step of monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread is executed; otherwise, the current temperature monitoring point is skipped.

[0057] Optionally, it also includes:

[0058] The temperature validity determination module is used to determine whether the temperature value is valid. If the temperature value is valid, the step of calculating the fan speed in the corresponding fan zone based on the temperature value and the speed control parameters is executed. If the temperature value is invalid, it is determined whether a backup temperature value exists. If the backup temperature value exists, it is used as the temperature value, and the step of calculating the fan speed in the corresponding fan zone based on the temperature value and the speed control parameters is executed. If the backup temperature value does not exist, the target speed corresponding to the invalid temperature of the temperature monitoring point is determined.

[0059] Optionally, the speed control module is specifically used for:

[0060] Obtain the proportional coefficient, integral coefficient, and derivative coefficient from the speed regulation parameters;

[0061] The fan speed in the corresponding fan zone is calculated using the proportional coefficient, the integral coefficient, the differential coefficient, the preset desired speed, and the temperature value.

[0062] Optionally, it also includes:

[0063] The management module records the temperature monitoring points in real time; upon detecting an update to a temperature monitoring point, it updates the corresponding fan partition and speed control parameters. The temperature monitoring point updates include adding, deleting, and modifying temperature monitoring points.

[0064] Optionally, it also includes:

[0065] The temperature alarm module is used to issue an alarm or de-alarm to the temperature monitoring point based on the temperature value.

[0066] Optionally, it also includes:

[0067] The fan monitoring module is used to obtain the fan's presence status and actual fan speed using a fan monitoring thread; the fan's presence status and actual fan speed determine the fan's health status; and alarm or de-alarm the fan based on the fan's health status.

[0068] Thirdly, this application provides an electronic device, comprising:

[0069] memory for storing computer programs;

[0070] A processor is used to execute the computer program to implement the aforementioned fan speed control method.

[0071] Fourthly, this application provides a non-volatile storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the aforementioned fan speed control method.

[0072] Fifthly, this application provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the aforementioned disclosed fan speed control method.

[0073] As can be seen from the above scheme, this application provides a fan speed control method, including: obtaining card information of at least one interface card plugged into at least one target slot; determining the temperature monitoring point corresponding to the at least one interface card, as well as the fan partition and speed control parameters matched by the temperature monitoring point, based on the card information; monitoring the temperature value of the temperature monitoring point using a temperature monitoring thread; calculating the fan speed in the corresponding fan partition based on the temperature value and the speed control parameters, and selecting the maximum speed corresponding to the same fan as the working speed of the fan.

[0074] As can be seen, the beneficial effects of this application are as follows: For at least one interface card plugged into each slot, a corresponding temperature monitoring point and its matching fan partition and speed control parameters are set. Therefore, after monitoring the temperature value of the temperature monitoring point using a temperature monitoring thread, the fan speed in the corresponding fan partition can be calculated based on the temperature value and speed control parameters, and the maximum speed corresponding to the same fan can be selected as the operating speed of that fan. Thus, this solution realizes the automatic identification of interface card devices and temperature monitoring points, and automatically determines the fan partition and speed control parameters based on the identification results, thereby achieving precise fan control, improving the maintenance efficiency and accuracy of fans, and enabling targeted heat dissipation for different interface card devices.

[0075] Correspondingly, the fan speed control device, medium, and program product provided in this application also have the above-mentioned technical effects. Attached Figure Description

[0076] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without any creative work.

[0077] Figure 1 This is a flowchart of a fan speed control method disclosed in this application;

[0078] Figure 2 This is a schematic diagram of a fan speed control scheme disclosed in this application;

[0079] Figure 3 This is a functional diagram of an interface card management module disclosed in this application;

[0080] Figure 4 This is a functional diagram of a sensor management module disclosed in this application;

[0081] Figure 5 This is a functional schematic diagram of a fan speed control module disclosed in this application;

[0082] Figure 6 A server architecture diagram provided for this application;

[0083] Figure 7 A terminal structure diagram provided for this application. Detailed Implementation

[0084] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other instances obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0085] Currently, in storage systems, to monitor and dissipate heat at various temperature points, configuration files are used to pre-record each temperature point and its corresponding speed control parameters. Furthermore, different types of interface cards, such as network cards, connected to the storage system are required to operate at the same temperature points, which is detrimental to the heat dissipation of different types of interface cards. Therefore, this application provides a fan speed control scheme that can specifically address heat dissipation for different interface card devices.

[0086] See also Figure 1 As shown in the figure, this application discloses a fan speed control method, including:

[0087] S101. Obtain card information of at least one interface card plugged into at least one target slot.

[0088] In this embodiment, the storage system or server includes multiple slots, including network card slots and hard disk slots. Correspondingly, the interface card can be a network card or a hard disk, etc. In one example, obtaining the card information of at least one interface card plugged into at least one target slot includes: initializing each slot in the current device; traversing each slot using the basic input / output system of the current device to determine at least one target slot in a working state; and reading the card information of at least one interface card plugged into at least one target slot.

[0089] S102. Determine at least one temperature monitoring point corresponding to an interface card based on the card information, as well as the fan zone and speed control parameters matched to the temperature monitoring point.

[0090] It should be noted that each interface card corresponds to at least one temperature monitoring point, and each temperature monitoring point is matched with a fan zone and speed control parameters. The fan zone matched to the temperature monitoring point is used to determine: which fans are responsible for cooling that temperature monitoring point; and accordingly, the fan speed within the corresponding fan zone is calculated using the temperature value of that monitoring point. That is, a speed is calculated for each fan within the corresponding fan zone using the temperature value of that monitoring point. However, since the same fan may be assigned to different fan zones, it is necessary to wait until the temperature values ​​of all temperature monitoring points have been calculated for the fans in their respective fan zones, so that each fan corresponds to at least one speed value. Then, the maximum speed corresponding to the same fan is selected as the operating speed of that fan.

[0091] In one example, determining at least one temperature monitoring point corresponding to an interface card, and the corresponding fan partition and speed control parameters matched to that temperature monitoring point, based on card information includes: checking if a configuration file corresponding to the card information exists; if a configuration file exists, loading the configuration file and querying the temperature monitoring point, fan partition, and speed control parameters within the configuration file. If a configuration file does not exist, creating the configuration file, loading the configuration file, and querying the temperature monitoring point, fan partition, and speed control parameters within the configuration file are performed. One interface card corresponds to one configuration file.

[0092] S103. Use the temperature monitoring thread to monitor the temperature value of the temperature monitoring point.

[0093] In one example, before monitoring the temperature value of a temperature monitoring point using a temperature monitoring thread, the process includes: determining whether the temperature monitoring point is enabled; if the temperature monitoring point is enabled, then executing the step of monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread; otherwise, skipping the current temperature monitoring point. Each interface card corresponds to several temperature monitoring points, and information on which temperature monitoring points are enabled and disabled is recorded and updated in real time. This information can be specifically recorded in the configuration file corresponding to each interface card.

[0094] In one example, before calculating the fan speed within the corresponding fan zone based on the temperature value and speed control parameters, the process includes: determining if the temperature value is valid; if the temperature value is valid, then calculating the fan speed within the corresponding fan zone based on the temperature value and speed control parameters; if the temperature value is invalid, then determining if a backup temperature value exists; if a backup temperature value exists, then using the backup temperature value as the temperature value, and then calculating the fan speed within the corresponding fan zone based on the temperature value and speed control parameters; if no backup temperature value exists, then determining the target speed corresponding to the invalid temperature of the temperature monitoring point. Correspondingly, whether a temperature monitoring point has a backup temperature point, and how many backup temperature points there are, are all recorded and can be updated in real time. Specifically, this information can be recorded in the configuration file corresponding to each interface card. For example, if the network card's CPU temperature fails, but the network card's optical module temperature can be collected as the CPU temperature, in this example, the optical module temperature is the backup temperature value.

[0095] S104. Calculate the fan speed in the corresponding fan zone based on the temperature value and speed regulation parameters, and select the maximum speed corresponding to the same fan as the working speed of that fan.

[0096] In this embodiment, the speed control parameters are specifically the parameters of the PID algorithm, and therefore include: proportional coefficient, integral coefficient, and derivative coefficient. In one example, calculating the fan speed in the corresponding fan zone based on the temperature value and the speed control parameters includes: obtaining the proportional coefficient, integral coefficient, and derivative coefficient from the speed control parameters; and calculating the fan speed in the corresponding fan zone using the proportional coefficient, integral coefficient, derivative coefficient, preset desired speed, and temperature value. The calculation process can be referred to related technologies and will not be elaborated here.

[0097] This embodiment also records temperature monitoring points in real time; upon detecting an update to a temperature monitoring point, the corresponding fan partition and speed control parameters are updated accordingly. Temperature monitoring point updates include adding, deleting, and modifying temperature monitoring points.

[0098] In one example, after monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread, the process also includes: issuing an alarm or de-alarming for the temperature monitoring point based on the temperature value.

[0099] In one example, the method further includes: using a fan monitoring thread to obtain the fan's presence status and actual fan speed; determining the fan's health status based on the fan's presence status and actual fan speed; and issuing or de-alererating alarms for the fan based on the fan's health status.

[0100] As can be seen, this embodiment sets corresponding temperature monitoring points and their matching fan zones and speed control parameters for at least one interface card plugged into each slot. Therefore, after monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread, the fan speed in the corresponding fan zone can be calculated based on the temperature value and speed control parameters, and the maximum speed corresponding to the same fan can be selected as the operating speed of that fan. Thus, this solution achieves automatic identification of interface card devices and temperature monitoring points, and automatically determines the fan zone and speed control parameters based on the identification results, thereby achieving precise fan control, improving fan maintenance efficiency and accuracy, and enabling targeted heat dissipation for different interface card devices.

[0101] See Figure 2 This paper presents a fan speed control solution, including a fan speed control module, a sensor management module, and a sensor acquisition module. For pluggable PCIe interface card devices, each temperature point has its own speed control parameters; furthermore, when the temperature sensor name at a temperature point is dynamically changed, there is no need to manually adjust the cooling configuration of the fan speed control module.

[0102] The sensor acquisition module (i.e., the interface card management module) is primarily responsible for acquiring sensor data. For pluggable PCIe interface card devices, it dynamically registers sensor information to the sensor management module. Taking an interface card as an example, it identifies the slot as in place, obtains basic PCIe device information based on the slot information, reads the device's PN information, and loads the corresponding configuration file (newly created locally) based on the PN information. The configuration file configures the interface card's sensor information, the PID speed control parameters corresponding to each sensor, and the speed control zone it belongs to. Sensors can be added or deleted according to the interface provided by the sensor module. A pre-set thermal management document records the PID speed control parameters and speed control zones corresponding to various temperature sensors. When a newly plugged-in PCIe interface card device is detected and its corresponding temperature sensors are identified, the thermal management document is consulted to find the corresponding PID speed control parameters and speed control zones for each temperature sensor.

[0103] See Figure 3 The interface card management module implements the following functions:

[0104] Step 1: Obtain the number of PCIe device slots (SLOTs) through the hardware adaptation layer and initialize all SLOTs;

[0105] Step 2: After BIOS boot is complete, iterate through all slots and obtain the interface card presence signal on the corresponding slot.

[0106] Step 3: Once the device is detected in place, obtain the basic information of the PCIe device based on the SLOT. Then, based on the VID (Vendor Identification), DID (Device Identification) used to distinguish different models of the same type of device, SVID (Subsystem Vendor Identification), and SDID (Subsystem Device Identification, which is the code for the device manufactured by the manufacturer), obtain the PN (Part Number) information of the PCIe device.

[0107] Step 4: Interface card successfully recognized; load the corresponding interface card configuration file based on the PN information.

[0108] Step 5: Obtain sensor information based on the sensor points and sensor configuration information in the configuration file. The temperature sensor information includes temperature threshold, whether it participates in heat dissipation speed regulation, heat dissipation area, and speed regulation parameters.

[0109] Step 6: Add or delete sensor information according to the interface provided by the sensor module.

[0110] The sensor management module is responsible for updating sensor management information, including processing sensor data and alarm status. When a sensor is dynamically registered, deleted, or its name is dynamically modified, the sensor management module updates the sensor information, including temperature sensor information such as temperature threshold, whether it participates in heat dissipation speed regulation, heat dissipation area, and speed regulation parameters.

[0111] See Figure 4 The Sensor management module implements the following functions:

[0112] Step 1: The sensor management module loads the configuration file, generates the corresponding sensor management information based on the configuration file, and obtains the number of valid sensors;

[0113] Step 2: Traverse the sensor points to obtain sensor information, and perform alarm and de-alarm processing on the sensors;

[0114] Step 3: For dynamically registered sensors, the sensor management module updates the sensor management information;

[0115] Step 4: Dynamically deleted sensors are updated in the sensor management module with updated sensor management information;

[0116] Step 5: Dynamically modified sensors; the sensor management module updates sensor management information.

[0117] The fan cooling module consists of three parts: fan management, sensor point monitoring, and thermal management. Fan management: acquires fan information, controls the fan, and provides a fan information query interface. Sensor point monitoring: primarily obtains sensor point information from the sensor management module, including the heat dissipation zone to which the sensor belongs, the sensor value, and the corresponding PID information. Thermal management: mainly calculates the fan speed value of the heat dissipation zone based on the sensor information obtained from the sensor point monitoring service, and then sets the fan speed through the fan management service.

[0118] Specifically, the configuration code for the fan speed control module is as follows:

[0119] {

[0120] "FanConfig": [

[0121] {

[0122] "FanName": "fan0",

[0123] "FanId": 0,

[0124] "FanZones":[0],

[0125] "FanLed":{

[0126] "IdentifyLed":"",

[0127] "NormalLed":"",

[0128] "FaultLed":""

[0129] },

[0130] "Commentary":{

[0131] "FanName": "Fan name, required"

[0132] "FanId": "Fan ID, in decimal, required"

[0133] "FanZones": "The cooling zone where the fan is located, required."

[0134] "FanLed":{

[0135] "IdentifyLed": "Location light illumination interface path, required"

[0136] "NormalLed": "Path to the running light-on interface, required"

[0137] "FaultLed": "Fault lamp lighting interface path, required"

[0138] }

[0139] }

[0140] }

[0141] ],

[0142] "SpecialConfig": {

[0143] "DefaultFanSpeed": 82,

[0144] "DualRotorFanFailIncreaseFanSpeed": 102,

[0145] "DualRotorFanFailFanSpeed": 230,

[0146] "SingleRotorFanFailFanSpeed": 230,

[0147] "FanUnPresentFailFanSpeed": 230,

[0148] "WeightPercentage": [[0,0],[1,60],[2,80],[3,100]],

[0149] "Notes": {

[0150] "DefaultFanSpeed": "Default fan speed"

[0151] "DualRotorFanFailIncreaseFanSpeed": "When only one rotor in a partition's dual-rotor fans is faulty, this parameter will be increased for the faulty fan."

[0152] "DualRotorFanFailFanSpeed": "When two or more rotors of a dual-rotor fan within a zone malfunction, the speed of all fans within the zone will not be lower than this parameter."

[0153] "SingleRotorFanFailFanSpeed": "When a single-rotor fan in a zone experiences a rotor malfunction, the speed of all fans in the zone will not be lower than this parameter."

[0154] "FanUnPresentFailFanSpeed": "When a fan within a partition is unplugged, the speed of all fans within the partition will not be lower than this parameter."

[0155] "WeightPercentage":"[[Weight-0~14,Percent-0~100(default:100)]] Fan Weight Reference Table"

[0156] }

[0157] }

[0158] }

[0159] See Figure 5 The fan speed control module implements the following functions:

[0160] Step 1: Load the fan speed control configuration and initialize the fan management resources to determine the area where each fan is located, which fan is cooling which device, and the basic information such as the ID of each fan;

[0161] Step 2: Start the fan monitoring thread and the heat dissipation point sensor monitoring thread to obtain the temperature of each temperature point;

[0162] Step 3: The fan monitoring thread continuously tests the fan, obtains information such as fan presence, speed, and rotation speed, updates the fan health status according to changes in fan speed, and handles fan alarms and de-alarms according to status changes;

[0163] Step 4: The heat dissipation point sensor monitoring thread continuously monitors the sensor to obtain sensor information, including temperature, alarm status, etc., and determines the sensor information and speed adjustment parameters in each heat dissipation zone.

[0164] Step 5: Loop through all heat dissipation zones and calculate the fan speed in each zone.

[0165] Specifically, the fan speed adjustment process within each partition is as follows: First, the fan speed of each heatsink within the partition is calculated. For each heatsink sensor, its enabled status is checked; if disabled, it is skipped. The validity of the heatsink temperature is then determined (e.g., if the heatsink temperature exceeds 0-250 degrees Celsius, it is considered abnormal; otherwise, it is considered normal). If invalid, a backup temperature point is checked. If a backup temperature point exists, its speed is calculated; otherwise, the speed at which the sensor failed in the configuration is used for adjustment. Next, the fan speeds within the partition are calculated based on the temperatures of each heatsink within that partition; and the fan speeds in other partitions are calculated based on the temperatures of each heatsink within those partitions. The maximum speed corresponding to the same fan is selected as its speed, and then the fan speeds are updated based on the fan status.

[0166] This embodiment enables dynamic monitoring of the interface card. Based on the interface card's PN information, a configuration file is dynamically loaded to configure the interface card's sensor information and corresponding speed control parameters. This allows the system to automatically adapt to the appropriate speed control strategy based on the specific interface card model, improving the system's intelligence and flexibility. Furthermore, the sensor module can dynamically record and update sensor information, including updates to temperature sensor speed control parameters and changes in sensor names. This achieves real-time management and updating of sensor information, avoiding the tediousness and errors of manual adjustments and improving system reliability and maintainability. Further, the fan cooling module implements corresponding fan speed control strategies based on the association between the heat dissipation area and the fan in the configuration file. By periodically obtaining temperature sensor values ​​and alarm status from the sensor module, the fan speed is adjusted in real time, allowing the system to dynamically adjust the heat dissipation effect according to real-time environmental changes. This improves the system's heat dissipation efficiency and stability, reduces the workload of manual adjustments, and improves system maintenance efficiency and accuracy.

[0167] The following describes a fan speed control device provided in an embodiment of this application. The fan speed control device described below can be referred to in conjunction with other embodiments described herein.

[0168] This application discloses a fan speed control device, including:

[0169] The acquisition module is used to acquire card information of at least one interface card plugged into at least one target slot;

[0170] The determination module is used to determine at least one temperature monitoring point corresponding to an interface card, as well as the fan zone and speed control parameters matched to the temperature monitoring point, based on the card information.

[0171] The monitoring module is used to monitor the temperature values ​​of the temperature monitoring points using a temperature monitoring thread;

[0172] The speed control module is used to calculate the fan speed in the corresponding fan zone based on the temperature value and speed control parameters, and select the maximum speed corresponding to the same fan as the working speed of that fan.

[0173] In one example, the module is specifically used for:

[0174] Initialize all slots in the current device;

[0175] The basic input / output system of the current device is used to traverse each slot to determine at least one target slot that is in operation;

[0176] Read card information of at least one interface card plugged into at least one target slot.

[0177] In one example, the module is specifically used for:

[0178] Check if a configuration file corresponding to the card information exists;

[0179] If a configuration file exists, load the configuration file and query the temperature monitoring point, fan zone, and speed control parameters in the configuration file.

[0180] In one example, the determination module is also used for:

[0181] If no configuration file exists, create the configuration file, load the configuration file, and query the temperature monitoring point, fan zone, and speed control parameters in the configuration file.

[0182] In one example, it also includes:

[0183] The enable judgment module is used to determine whether the temperature monitoring point is enabled. If the temperature monitoring point is enabled, the step of using the temperature monitoring thread to monitor the temperature value of the temperature monitoring point is executed; otherwise, the current temperature monitoring point is skipped.

[0184] In one example, it also includes:

[0185] The temperature validity determination module is used to determine whether a temperature value is valid. If the temperature value is valid, the module calculates the fan speed in the corresponding fan zone based on the temperature value and speed control parameters. If the temperature value is invalid, the module checks if a backup temperature value exists. If a backup temperature value exists, it uses the backup temperature value as the actual temperature value and then calculates the fan speed in the corresponding fan zone based on the temperature value and speed control parameters. If no backup temperature value exists, the module determines the target speed corresponding to the invalid temperature at the temperature monitoring point.

[0186] In one example, the speed control module is specifically used for:

[0187] Obtain the proportional coefficient, integral coefficient, and derivative coefficient in the speed regulation parameters;

[0188] The fan speed in the corresponding fan zone is calculated using the proportional coefficient, integral coefficient, derivative coefficient, preset desired speed and temperature value.

[0189] In one example, it also includes:

[0190] The management module records temperature monitoring points in real time; upon detecting an update to a temperature monitoring point, it updates the corresponding fan zone and speed control parameters. Temperature monitoring point updates include adding, deleting, and modifying temperature monitoring points.

[0191] In one example, it also includes:

[0192] The temperature alarm module is used to issue alarms or de-alarms to temperature monitoring points based on temperature values.

[0193] In one example, it also includes:

[0194] The fan monitoring module is used to obtain the fan's presence status and actual fan speed using the fan monitoring thread; the fan's presence status and actual fan speed determine the fan's health status; and alarm or de-alarm the fan based on the fan's health status.

[0195] For more detailed information on the working process of each module and unit in this embodiment, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.

[0196] As can be seen, this embodiment provides a fan speed control device that realizes automatic identification of interface card devices and temperature monitoring points, and automatically determines fan zones and speed control parameters based on the identification results, thereby achieving precise fan control, improving fan maintenance efficiency and accuracy, and enabling targeted heat dissipation for different interface card devices.

[0197] The following describes an electronic device provided by an embodiment of this application. The electronic device described below can be referred to in conjunction with other embodiments described herein.

[0198] This application discloses an electronic device, including:

[0199] Memory, used to store computer programs;

[0200] A processor is configured to execute the computer program to implement the methods disclosed in any of the above embodiments.

[0201] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: obtain card information of at least one interface card plugged into at least one target slot; determine the temperature monitoring point corresponding to at least one interface card, as well as the fan partition and speed control parameters matched by the temperature monitoring point, based on the card information; monitor the temperature value of the temperature monitoring point using a temperature monitoring thread; calculate the fan speed in the corresponding fan partition based on the temperature value and speed control parameters, and select the maximum speed corresponding to the same fan as the working speed of the fan.

[0202] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: initialize each slot in the current device; traverse each slot using the basic input / output system of the current device to determine at least one target slot that is in a working state; and read the card information of at least one interface card inserted into at least one target slot.

[0203] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: query whether there is a configuration file corresponding to the card information; if there is a configuration file, load the configuration file and query the temperature monitoring point, fan partition and speed control parameters in the configuration file.

[0204] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: if there is no configuration file, after creating the configuration file, it executes the steps of loading the configuration file and querying the temperature monitoring point, fan partition and speed control parameters in the configuration file.

[0205] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: determine whether the temperature monitoring point is enabled; if the temperature monitoring point is enabled, execute the step of monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread; otherwise, skip the current temperature monitoring point.

[0206] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: determine whether the temperature value is valid; if the temperature value is valid, then execute the step of calculating the fan speed in the corresponding fan zone based on the temperature value and the speed adjustment parameters.

[0207] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: if the temperature value is invalid, it determines whether there is a backup temperature value; if there is a backup temperature value, it uses the backup temperature value as the temperature value and then executes the step of calculating the fan speed in the corresponding fan zone based on the temperature value and speed control parameters; if there is no backup temperature value, it determines the target speed corresponding to the invalid temperature of the temperature monitoring point.

[0208] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: obtaining the proportional coefficient, integral coefficient, and derivative coefficient in the speed regulation parameters; and calculating the fan speed in the corresponding fan zone using the proportional coefficient, integral coefficient, derivative coefficient, preset desired speed, and temperature value.

[0209] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: real-time recording of temperature monitoring points; and updating the corresponding fan partition and speed control parameters after detecting an update of the temperature monitoring point.

[0210] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: alarming or de-alarming the temperature monitoring point based on the temperature value.

[0211] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: using a fan monitoring thread to obtain the fan's presence status and actual fan speed; determining the fan's health status based on the fan's presence status and actual fan speed; and issuing or de-alarming alerts for the fan based on the fan's health status.

[0212] Furthermore, embodiments of this application also provide an electronic device. The aforementioned electronic device can be, for example,... Figure 6 The server shown can also be as follows: Figure 7 The terminal shown. Figure 6 and Figure 7 These are all diagrams illustrating the structure of an electronic device according to an exemplary embodiment. The content in the diagrams should not be considered as any limitation on the scope of this application.

[0213] Figure 6This is a schematic diagram of a server provided in an embodiment of this application. The server may specifically include: at least one processor, at least one memory, a power supply, a communication interface, an input / output interface, and a communication bus. The memory stores a computer program, which is loaded and executed by the processor to implement the relevant steps in fan speed control disclosed in any of the foregoing embodiments.

[0214] In this embodiment, the power supply is used to provide operating voltage for each hardware device on the server; the communication interface can create a data transmission channel between the server and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0215] In addition, the memory, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored on it include operating system, computer programs and data, etc., and the storage method can be temporary storage or permanent storage.

[0216] The operating system is used to manage and control the various hardware devices and computer programs on the server, enabling the processor to perform operations and processes on the data in the memory. It can be Windows Server, Netware, Unix, Linux, etc. In addition to computer programs capable of performing the fan speed control method disclosed in any of the foregoing embodiments, the computer programs may further include computer programs capable of performing other specific tasks. The data may include application update information and application developer information.

[0217] Figure 7 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application. The terminal may include, but is not limited to, a smartphone, tablet computer, laptop computer, or desktop computer.

[0218] Typically, the terminal in this embodiment includes a processor and a memory.

[0219] The processor may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor can be implemented using at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), or PLA (Programmable Logic Array). The processor may also include a main processor and coprocessors. The main processor, also known as the CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor may also include an AI (Artificial Intelligence) processor, which handles computational operations related to machine learning.

[0220] The memory may include one or more computer non-volatile storage media, which may be non-transitory. The memory may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory is used to store at least the following computer program, which, after being loaded and executed by the processor, is capable of implementing the relevant steps in the fan speed control method executed on the terminal side as disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory may also include operating systems and data, and the storage method may be temporary or permanent storage. The operating system may include Windows, Unix, Linux, etc. The data may include, but is not limited to, application update information.

[0221] In some embodiments, the terminal may further include a display screen, an input / output interface, a communication interface, a sensor, a power supply, and a communication bus.

[0222] Those skilled in the art will understand that Figure 7 The structure shown does not constitute a limitation on the terminal and may include more or fewer components than illustrated.

[0223] The following describes a non-volatile storage medium provided in an embodiment of this application. The non-volatile storage medium described below can be referred to in conjunction with other embodiments described herein.

[0224] A non-volatile storage medium is provided for storing a computer program, wherein the computer program, when executed by a processor, implements the fan speed control method disclosed in the foregoing embodiments. The non-volatile storage medium is a computer-readable non-volatile storage medium, which, as a carrier for resource storage, can be a read-only memory, random access memory, disk, or optical disk, etc. The resources stored thereon include an operating system, computer programs, and data, and the storage method can be temporary storage or permanent storage.

[0225] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: obtaining card information of at least one interface card plugged into at least one target slot; determining the temperature monitoring point corresponding to at least one interface card, as well as the fan partition and speed control parameters matched by the temperature monitoring point, based on the card information; monitoring the temperature value of the temperature monitoring point using a temperature monitoring thread; calculating the fan speed in the corresponding fan partition based on the temperature value and speed control parameters, and selecting the maximum speed corresponding to the same fan as the working speed of that fan.

[0226] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: initialize each slot in the current device; traverse each slot using the basic input / output system of the current device to determine at least one target slot that is in a working state; and read the card information of at least one interface card inserted into at least one target slot.

[0227] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: query whether there is a configuration file corresponding to the card information; if there is a configuration file, load the configuration file and query the temperature monitoring point, fan partition and speed control parameters in the configuration file.

[0228] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: if there is no configuration file, after creating the configuration file, execute the steps of loading the configuration file and querying the temperature monitoring point, fan partition and speed control parameters in the configuration file.

[0229] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: determine whether the temperature monitoring point is enabled; if the temperature monitoring point is enabled, execute the step of monitoring the temperature value of the temperature monitoring point using the temperature monitoring thread; otherwise, skip the current temperature monitoring point.

[0230] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: determine whether the temperature value is valid; if the temperature value is valid, then execute the step of calculating the fan speed in the corresponding fan zone based on the temperature value and speed regulation parameters.

[0231] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: if the temperature value is invalid, it determines whether there is a backup temperature value; if there is a backup temperature value, it uses the backup temperature value as the temperature value and then executes the step of calculating the fan speed in the corresponding fan zone based on the temperature value and speed control parameters; if there is no backup temperature value, it determines the target speed corresponding to the invalid temperature of the temperature monitoring point.

[0232] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: obtaining the proportional coefficient, integral coefficient, and derivative coefficient in the speed regulation parameters; and calculating the fan speed in the corresponding fan zone using the proportional coefficient, integral coefficient, derivative coefficient, preset desired speed, and temperature value.

[0233] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: real-time recording of temperature monitoring points; and updating the corresponding fan partition and speed control parameters after detecting an update of the temperature monitoring point.

[0234] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: alarming or de-alarming the temperature monitoring point based on the temperature value.

[0235] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: using a fan monitoring thread to obtain the fan's on-site status and actual fan speed; determining the fan's health status based on the fan's on-site status and actual fan speed; and issuing or de-alarming alerts for the fan based on the fan's health status.

[0236] The following describes a computer program product provided by an embodiment of this application. The computer program product described below can be referred to in conjunction with other embodiments described herein.

[0237] A computer program product includes a computer program / instructions that, when executed by a processor, implement the steps of the aforementioned disclosed fan speed control method.

[0238] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0239] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of non-volatile storage medium known in the art.

[0240] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A fan speed regulation method, characterized in that: include: Acquire card information of at least one interface card plugged into at least one target slot; Determine the temperature monitoring point corresponding to the at least one interface card, and the fan partition and speed adjustment parameter matched by the temperature monitoring point according to the card information; wherein each interface card corresponds to a configuration file, and the configuration file includes the temperature monitoring point corresponding to the interface card, including enabled temperature monitoring points and disabled temperature monitoring points, and the speed adjustment parameter corresponding to each temperature monitoring point and the fan partition to which it belongs; Using a temperature monitoring thread to monitor the temperature value of the temperature monitoring point; The speed of the fan in the corresponding fan partition is calculated according to the temperature value and the speed adjustment parameter, the same fan corresponds to at least one speed value, and the maximum speed corresponding to the same fan is selected as the working speed of the fan; wherein the same fan is divided into different fan partitions; Use the fan monitoring thread to obtain the fan status and actual fan speed; The fan health status is determined by the fan presence status and the fan actual speed; Setting an alarm or clearing an alarm for the fan according to the health status of the fan; Before using the temperature monitoring thread to monitor the temperature value of the temperature monitoring point, the method further includes: Determine whether the temperature monitoring point is enabled; If the temperature monitoring point is enabled, the step of using the temperature monitoring thread to monitor the temperature value of the temperature monitoring point is performed; otherwise, the current temperature monitoring point is skipped; Before calculating the rotation speed of the fan in the corresponding fan partition according to the temperature value and the speed adjustment parameter, the method further includes: Determining whether the temperature value is valid; If the temperature value is valid, executing the step of calculating the rotation speed of the fan in the corresponding fan partition according to the temperature value and the speed adjustment parameter; If the temperature value is invalid, determining whether there is a backup temperature value for the temperature value; If the backup temperature value exists, after taking the backup temperature value as the temperature value, executing the step of calculating the rotation speed of the fan in the corresponding fan partition according to the temperature value and the speed adjustment parameter; If the backup temperature value does not exist, the target speed corresponding to the invalid temperature of the temperature monitoring point is determined.

2. The method according to claim 1, characterized in that Acquiring card information of at least one interface card plugged into at least one target slot, including: Initialize each slot in the current device; Using the basic input / output system of the current device to traverse each slot to determine the at least one target slot in a working state; The card information of at least one interface card inserted in the at least one target slot is read.

3. The method according to claim 2, characterized in that Determining the temperature monitoring point corresponding to the at least one interface card and the fan partition and speed adjustment parameters matched by the corresponding temperature monitoring point according to the card information, including: Check whether there is a configuration file corresponding to the card information; If the configuration file exists, the configuration file is loaded, and the temperature monitoring point, the fan partition and the speed adjustment parameter are queried in the configuration file.

4. The method according to claim 3, characterized in that Also includes: If the configuration file does not exist, after creating the configuration file, the steps of loading the configuration file and querying the temperature monitoring point, the fan partition and the speed regulation parameter in the configuration file are performed.

5. The method according to claim 1, characterized in that Calculating the speed of the fan in the corresponding fan partition according to the temperature value and the speed adjustment parameter includes: Obtaining the proportional coefficient, integral coefficient and differential coefficient in the speed regulation parameters; The rotation speed of the fans in the corresponding fan partition is calculated using the proportional coefficient, the integral coefficient, the differential coefficient, the preset expected rotation speed and the temperature value.

6. The method according to claim 1, characterized in that Also includes: Recording the temperature monitoring points in real time; After detecting that the temperature monitoring point is updated, the matched fan partitions and speed adjustment parameters are updated accordingly.

7. The method according to claim 6, characterized in that The temperature monitoring point update includes: adding, deleting and modifying the temperature monitoring point.

8. The method according to claim 1, characterized in that After the temperature value of the temperature monitoring point is monitored by the temperature monitoring thread, the method further includes: The temperature monitoring point is warned or cleared according to the temperature value.

9. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to execute the computer program to implement the method according to any one of claims 1 to 8.

10. A non-volatile storage medium, characterized in that: Used to store a computer program, wherein when the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

11. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Server fan speed adjustment method, device and equipment and readable storage medium

    CN110219820A

  • Temperature control method and device and machine frame type device

    CN111918518A

  • Switch heat dissipation control system and control method

    CN113966153A