A fan control method and system

By setting up input/output information areas in the system-on-a-chip, unified management of fan monitoring and control data is achieved, solving the problems of diversity and inconsistency in fan control in SOC systems, improving system reliability, and simplifying the development workload of EC/BMC.

CN122387286APending Publication Date: 2026-07-14CIX TECH (SHANGHAI) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CIX TECH (SHANGHAI) CO LTD
Filing Date
2026-06-15
Publication Date
2026-07-14

AI Technical Summary

Technical Problem

The diversity of fan control methods in existing SOC systems leads to complexity and inconsistency, which may cause fan malfunction and unstable heat dissipation, especially in the absence of EC/BMC.

Method used

Fan management is set on the system-on-a-chip (SoC). Fan monitoring data and control data are stored in the shared input and output information areas, respectively. The PCB management controller collects and uploads the data to the input information area in real time. The SoC generates fan control data according to a preset algorithm and stores it in the output information area, which is then read by the PCB management controller to drive the fan.

Benefits of technology

Consistent fan control across different baseboard management controllers is achieved, improving system reliability and security, simplifying fan management, and reducing the development workload of EC/BMC.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122387286A_ABST
    Figure CN122387286A_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a fan control method and system, and relates to the technical field of computer application. The fan control method comprises the following steps: a baseboard management controller collects fan monitoring data in real time, and reports the fan monitoring data to a system on chip; the system on chip reads the fan monitoring data from an input information area, and generates fan control data based on a preset algorithm; the system on chip updates the fan control data to an output information area, and sets a bit corresponding to the fan control data in a state word; the output information area at least comprises the state word, and a plurality of bits of the state word are respectively used for identifying the update state of corresponding fan control data; an interrupt signal is sent to the baseboard management controller; the baseboard management controller reads the updated fan control data from the output information area based on the set bit in response to the interrupt signal, and drives the fan to operate according to the read fan control data. The fan control can be more conveniently realized. The application is suitable for the scene of controlling the fan heat dissipation by the system on chip.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer application technology, and in particular to a fan control method and system. Background Technology

[0002] As one of the mainstream methods for cooling System-on-Chip (SoC) systems, SoC manufacturers provide overall solutions for SoC configuration and fan control. However, different SoC OEMs adopt different design schemes during integration design depending on whether the system has an Embedded Controller (EC) / Baseboard Management Controller (BMC). When the system does not have an EC / BMC, the fan control scheme provided by the SoC manufacturer is used; when the system has an EC / BMC, the EC / BMC-controlled fan scheme is used. Since the EC / BMC fan control schemes of different SoC OEMs vary, this results in multiple different fan control schemes on different motherboards for the same SoC. Summary of the Invention

[0003] In view of this, embodiments of this application provide a fan control method and system that can more conveniently realize fan control.

[0004] In a first aspect, embodiments of this application provide a fan control method, the method comprising: a substrate management controller acquiring fan monitoring data in real time and reporting the fan monitoring data to a system-on-a-chip (SoC); the SoC including at least an input information area and an output information area; the SoC reading the fan monitoring data from the input information area and generating fan control data based on a preset algorithm; the SoC updating the fan control data to the output information area, and setting bits in a status word corresponding to the fan control data; the output information area including at least a status word, wherein multiple bits of the status word are respectively used to identify the update status of the corresponding fan control data; the SoC sending an interrupt signal to the substrate management controller; the substrate management controller responding to the interrupt signal, reading the updated fan control data from the output information area based on the set bits, and driving the fan to run according to the read fan control data.

[0005] According to one embodiment of this application, the substrate management controller collects fan monitoring data in real time and reports the fan monitoring data to the on-chip system, including:

[0006] The system collects fan monitoring data in real time and reports the fan monitoring data to a preset location in the input information area of ​​the on-chip system at preset intervals.

[0007] According to one embodiment of this application, the system-on-a-chip reads the fan monitoring data from the input information area and generates fan control data based on a preset algorithm, including: reading the fan monitoring data reported by the board management controller from the preset position of the input information area, and generating fan control data according to the preset algorithm.

[0008] According to one embodiment of this application, the system-on-a-chip updates the fan control data to the output information area and sets the bit in the status word corresponding to the fan control data, including: updating the fan control data to the output information area shared with the board management controller; and setting the bit in the status word corresponding to the fan control data to indicate that the fan control data has been updated.

[0009] According to one embodiment of this application, the fan control data includes at least the fan's pulse width modulation duty cycle and pulse width modulation frequency.

[0010] According to one embodiment of this application, the fan monitoring data is reported to the input information area via a data bus, the data bus including an I2C bus or an SPI bus.

[0011] According to one embodiment of this application, the baseboard management controller, in response to an interrupt signal, reads updated fan control data from the output information area of ​​the system-on-a-chip based on a set bit, and drives the fan to run according to the read fan control data, including: in response to an interrupt signal, detecting the state of the bit corresponding to the fan control data in the status word of the output information area of ​​the system-on-a-chip; when it is detected that the bit corresponding to the fan control data in the status word is set, reading the updated fan control data from the output information area of ​​the system-on-a-chip based on the set bit; and driving the fan to run according to the read fan control data.

[0012] According to one embodiment of this application, the fan monitoring data includes at least fan speed, temperature, and voltage.

[0013] According to one embodiment of this application, before the baseboard management controller collects fan monitoring data in real time and reports the fan monitoring data to the system on-chip, the method further includes: the baseboard management controller reading pre-configured fan control data in the output information area of ​​the system on-chip to drive the fan to run.

[0014] Secondly, embodiments of this application also provide a fan control system applied to any of the fan control methods described in the first aspect above. The system includes: a system-on-a-chip (SoC) and a baseboard management controller (BMC), the BMC being coupled to the SoC; the SoC is configured to: read fan monitoring data from the input information area and generate fan control data based on a preset algorithm; update the fan control data to the output information area, and set bits in a status word corresponding to the fan control data; the output information area includes at least a status word, and multiple bits of the status word are used to identify the update status of the corresponding fan control data; the SoC sends an interrupt signal to the BMC; the BMC is configured to: collect fan monitoring data in real time and report the fan monitoring data to the SoC; in response to the interrupt signal, read the updated fan control data from the output information area of ​​the SoC based on the set bits, and drive the fan to run according to the read fan control data.

[0015] This application provides a fan control method system that integrates fan management onto a system-on-a-chip (SoC). Fan monitoring data and fan control data are stored in shared input and output information areas, respectively. A substrate management controller collects fan monitoring data in real time and uploads it to the input information area. The SoC runs a preset algorithm based on the information in the input information area to generate fan control data, which is then stored in the output information area for the substrate management controller to read and adjust the fan drive. By integrating fan management onto the SoC, the same fan control method can be applied even when the fan is connected to different substrate management controllers, thus facilitating more convenient fan control. Attached Figure Description

[0016] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a schematic flowchart of a fan control method provided in an embodiment of this application;

[0018] Figure 2 This is a schematic flowchart of a fan control method provided in another embodiment of this application;

[0019] Figure 3 This is a schematic diagram of a fan control system architecture provided in one embodiment of this application;

[0020] Figure 4This is a schematic diagram of a fan control system architecture provided in another embodiment of this application;

[0021] Figure 5 This is a schematic diagram of the on-chip system architecture in a fan control system provided in an embodiment of this application;

[0022] Figure 6 This is a schematic diagram of the baseboard management controller architecture in a fan control system provided in an embodiment of this application;

[0023] Figure 7 A waveform diagram of data transmission between a system-on-a-chip and a baseboard management controller provided in an embodiment of this application;

[0024] Figure 8 A waveform diagram showing the data transfer between a system-on-a-chip and a baseboard management controller, provided for another embodiment of this application. Detailed Implementation

[0025] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0026] It should be understood that the described embodiments are merely some, not all, of the embodiments in this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.

[0027] Existing fan control methods for System-on-Chip (SoC) cooling include: intelligent control based on EC (Embedded Controller) / BMC (Baseboard Management Controller) and direct control without EC / BMC. Intelligent control based on EC / BMC involves centralized management by a separate EC / BMC chip, running complex control algorithms to precisely adjust fan speed according to preset strategies and temperature sensor data. However, this method requires additional hardware chips and more complex hardware and software development, as well as complex configuration and firmware development for different motherboards.

[0028] Direct control without EC / BMC involves the SOC controlling the fan directly through interfaces such as PWM. However, if the SOC overheats or crashes, the fan may become uncontrollable, causing thermal damage. Furthermore, the control signal is easily affected by the SOC's operating status.

[0029] See Figure 1This application provides a fan control method that sets up fan management on a system-on-a-chip (SoC). The SoC includes an input information area and an output information area. These areas are shared storage spaces on the SoC with the Baseboard Management Controller (BMC) or Embedded Controller (EC). The BMC or EC collects fan monitoring data in real time and uploads it to the input information area. The SoC runs a preset algorithm based on the information in the input information area, generates fan control data, and stores it in the output information area. This data is then read by the BMC or EC to adjust the fan drive. This method enables the underlying driver to be executed on the BMC and the upper-level control algorithm to be executed on the SoC, allowing fan control to be implemented on different motherboards of the same SoC.

[0030] In some embodiments, the input information area is a storage space in the SOC, with a starting address of 0x00 and a length of 0x20, used to store fan control data sent to the baseboard management controller (BMC) or embedded controller (EC), including at least the status word, pulse width modulation (PWM) duty cycle, and pulse width modulation (PWM) frequency; the output information area can start at 0x20 and has a length of 0x20, used to store fan monitoring data obtained from the baseboard management controller (BMC) or embedded controller (EC), including at least the number of fan speed signals and motherboard temperature.

[0031] The fan control method includes the following steps:

[0032] S110, The substrate management controller collects fan monitoring data in real time and reports the fan monitoring data to the on-chip system; the on-chip system includes at least an input information area and an output information area.

[0033] In this step, the Baseboard Management Controller (BMC) or Embedded Controller (EC) is connected to the fan to collect fan monitoring data in real time. Every once in a while, the collected data is reported to the input information area of ​​the on-chip system.

[0034] Specifically, with I 2 Taking the C bus as a data bus as an example, the board management controller collects fan monitoring data in real time, such as the fan speed signal TACH. Every 100ms, the number of pulses collected is written to the RPM address of the input information area of ​​the on-chip system, with the address being 0x22.

[0035] S120. The on-chip system reads the fan monitoring data from the input information area and generates fan control data based on a preset algorithm.

[0036] In this step, the board management controller and the system-on-a-chip (SoC) share memory. The board management controller, acting as the master device, collects fan monitoring data and uploads it to the SoC's input information area for storage, allowing the SoC to read it. The SoC, acting as a slave device, reads the fan monitoring data and calculates the necessary fan control data based on a preset algorithm. For example, upon receiving data at address 0x22, the SoC obtains the current fan speed signal quantity and then transmits it to the fan control algorithm or the user, generating fan control data based on the preset algorithm. The fan monitoring data, including fan speed and temperature, characterizes the fan's status information for real-time fan control.

[0037] In this embodiment, since EC / BMC software is generally closed-source while SOC software can be open-source, the underlying fan drive control is executed on the board controller, and the upper-level control algorithm is executed on the on-chip system. Therefore, there is more flexibility in the fan control algorithm. For example, it can adapt to a large number of mature fan control algorithms in the open-source community, such as PID algorithm, segmented control algorithm based on temperature threshold or AI algorithm, or other open-source fan control algorithms. The fan algorithm can be dynamically switched according to actual usage requirements, which is not limited here.

[0038] In some embodiments, the input information area further includes a fan status word, which includes at least one of a fan fault flag, a fan presence flag, and a speed stability flag. Specifically, in addition to reading temperature and speed data, the on-chip system also reads the fan status word. If bit 0 is found to be set to 1, a fault handling procedure is immediately executed, such as forcing full speed, logging, or triggering a system alarm. This allows the system to report abnormal fan conditions to the user in real time, enabling rapid fault response and significantly improving system reliability and security.

[0039] S130, the on-chip system updates the fan control data to the output information area, and sets the bit in the status word corresponding to the fan control data; the output information area includes at least a status word, and multiple bits of the status word are used to identify the update status of the corresponding fan control data.

[0040] In this step, the on-chip system will update the current fan control data obtained from the fan monitoring data to the output information area in a timely manner, and set the bit in the status word corresponding to the fan control data. The output information area includes at least a status word, and multiple bits of the status word are used to identify the update status of the corresponding fan control data. It also includes fan control data such as PWM duty cycle and PWM frequency. The pulse width modulation (PWM) duty cycle indicates the duty cycle of the PWM signal driving the fan, and the pulse width modulation (PWM) frequency indicates the frequency of the PWM signal driving the fan.

[0041] S140, the system-on-chip sends an interrupt signal to the substrate management controller.

[0042] In this step, when there is a data update in the SOC output information area, the bit in the status word corresponding to the updated fan control data will be set at the same time, and an interrupt signal will be triggered to the board management controller to notify the board management controller that there is a data update.

[0043] S150, In response to the interrupt signal, the baseboard management controller reads the updated fan control data from the output information area based on the set bit, and drives the fan to run according to the read fan control data.

[0044] In this step, after the baseboard management controller receives an interrupt signal, it obtains the updated fan control data by reading the status word and drives the fan to run according to the read fan control data.

[0045] The fan control method for a system-on-a-chip (SoC) provided in this embodiment sets fan management on the SoC. Fan monitoring data and fan control data are stored in a shared input information area and output information area, respectively. The PCB management controller or embedded controller collects fan monitoring data in real time and uploads it to the input information area. The SoC runs a preset algorithm based on the information in the input information area to generate fan control data, which is then stored in the output information area for the PCB management controller or embedded controller to read and adjust the fan drive. This enables fan driving to be executed on the PCB management controller and fan management to be executed on the SoC. By setting fan management on the SoC, the same fan control method can be used even when the fan is connected to different PCB management controllers, thus making fan control more convenient.

[0046] In some embodiments, the substrate management controller collects fan monitoring data in real time and reports the fan monitoring data to the on-chip system, including:

[0047] The system collects fan monitoring data in real time and reports the fan monitoring data to a preset location in the input information area of ​​the on-chip system at preset intervals.

[0048] In this embodiment, the input information area of ​​the system-on-chip (SoC) is a shared storage space with the board management controller (BMC) or embedded controller. After acquiring fan monitoring data, the BMC or embedded controller reports the acquired fan monitoring data to a preset location in the SoC's input information area at preset intervals. For example, the BMC or embedded controller, acting as the master device, drives a sensor to acquire temperature data from the SOC and writes the acquired temperature data to the board_t1 address (0x20) in the SoC's input information area at regular intervals. The address of the input information area is typically used to distinguish it from the output information area. For example, the starting address of the input information area can be 0x00, with a length of 0x20, used to store fan control data sent to the BMC or embedded controller (EC); the starting address of the output information area can be 0x20, with a length of 0x20, used to store fan monitoring data acquired by the BMC or embedded controller. In actual design, the input and output information areas can be placed at other addresses.

[0049] In some embodiments, the on-chip system reads the fan monitoring data from the input information area and generates fan control data based on a preset algorithm, including:

[0050] Read the fan monitoring data reported by the baseboard management controller from the preset position in the input information area, and generate fan control data according to the preset algorithm.

[0051] In this embodiment, after the baseboard management controller or embedded controller collects fan monitoring data, it writes the collected data to a preset address in the on-chip system input information area. The on-chip system generates fan control data based on a preset algorithm (such as a PID algorithm) and the read fan monitoring data. Specifically, taking duty cycle as an example, the baseboard management controller or embedded controller, as the master device, collects the fan speed signal (TACH) and motherboard temperature data. Every certain period of time, it writes the number of pulses of the collected fan speed signal to the RPM address in the on-chip system input information area, address 0x22, and writes the collected temperature value to addresses 0x20~0x21. After the on-chip system, as the slave device, reads the current speed signal from address 0x22 in the input information area and the actual temperature value from addresses 0x20~0x21, it uses a preset cascaded PID algorithm, divided into an outer loop and an inner loop. The outer loop takes the deviation between the preset heat dissipation requirement target temperature and the actual temperature value as input and outputs the target speed value. The inner loop takes the deviation between the target speed and the actual speed as input and outputs PWM duty cycle data.

[0052] In some embodiments, the preset algorithm can also be an AI algorithm, employing artificial intelligence control methods. A lightweight long short-term memory network is deployed within the SOC as a temperature rise model, along with a decision model based on deep reinforcement learning (such as a deep Q-network, DQN), to infer fan control parameters. Taking duty cycle as an example, the specific steps include:

[0053] The SOC reads historical timing data from the past N sampling cycles from the input information area, including: temperature values ​​of each core, total power consumption of the chip, and ambient temperature;

[0054] Historical time-series data is input into a pre-trained LSTM temperature rise prediction model, which outputs the predicted temperature change curve of the motherboard for the next M sampling periods.

[0055] The current motherboard temperature, current fan speed, cumulative temperature rise, and predicted temperature data are used to form the state vector S of the reinforcement learning model. t ;

[0056] The state vector S t The input is fed into a deep Q-network deployed inside the SOC, and the model inferences to output the action value 'a'. t Action value a t Characterizes the direction and magnitude of PWM duty cycle adjustment;

[0057] SOC calculates the reward value r based on the actual temperature drop effect after control and the fan power consumption. t The reward function is defined as:

[0058] ;in, and These are the weighting coefficients. The current fan power consumption, This is the actual detected motherboard temperature value at the current moment. The target temperature is set according to the preset heat dissipation requirements; the reward value is stored in the loop experience pool and used to periodically update the reinforcement learning model parameters offline.

[0059] In some embodiments, the method further includes: reading the updated fan speed from the input information area; comparing the updated fan speed value with the target speed expected based on the updated pulse width modulation duty cycle; if the deviation exceeds a preset threshold, recalculating the pulse width modulation duty cycle and writing it into the output information area to form closed-loop feedback control. In this way, by comparing the actual speed with the expected speed and introducing a multi-level deviation processing mechanism, closed-loop feedback control is achieved, which can automatically compensate for individual fan differences, aging effects, and changes in airflow resistance, thereby improving the fan's heat dissipation effect.

[0060] In some embodiments, the on-chip system updates the fan control data to the output information area and sets the bit in the status word corresponding to the fan control data, including:

[0061] Update the fan control data to the output information area shared with the baseboard management controller;

[0062] Set the bit in the status word corresponding to the fan control data to indicate that the fan control data has been updated.

[0063] In this embodiment, after calculating and generating the current fan control data, the current fan control data is updated to the output information area shared with the board management controller or embedded controller in the on-chip system. The bit corresponding to the fan control data in the status word is set to indicate that the fan control data has been updated. At the same time, based on the setting operation, an interrupt signal is triggered to the board management controller or embedded controller to notify it that there is a fan control data update.

[0064] In some embodiments, the fan monitoring data is reported to the input information area via a data bus, the data bus including I... 2 C bus or SPI bus.

[0065] In this embodiment, the data bus refers to the physical bus used for information transmission between the SOC and the EC / BMC. The EC / BMC is the master device, and the SOC is the slave device. When the master device collects new data, it can output it to the SOC input information area in a timely manner through the data bus. At this time, the slave device should be able to sense the data update. In order to achieve reliable data interaction between the two, the SOC integrates a bus controller and is configured with corresponding bus interface driver software.

[0066] The bus interface driver is a software module running on the SOC side, responsible for performing the following functions: initializing hardware parameters such as the bus controller's clock frequency, slave device address, and mode; encapsulating read and write operations to the EC / BMC's internal registers; handling transmission errors on the bus (such as arbitration failure, NACK response, timeout, etc.) and implementing a retry mechanism; assembling and parsing command packets at the driver layer according to the system's agreed communication protocol; and responding to or triggering interrupt signals to perform asynchronous handshakes with the EC / BMC. In actual product development, the SOC manufacturer should provide corresponding bus interface driver sample code.

[0067] Furthermore, in this embodiment, the fan configuration interface is located on the SOC side. The board management controller or embedded controller transmits data with the system-on-chip via a data bus, eliminating the need for user interaction with the board management controller or embedded controller. This provides a single fan control interface on the SOC side, which is beneficial for user convenience and standardization. Data transmission is also possible when the fan is connected to the board management controller or embedded controller.

[0068] In some embodiments, the substrate management controller, in response to an interrupt signal, reads updated fan control data from the output information area of ​​the on-chip system based on a set bit, and drives the fan to operate according to the read fan control data, including:

[0069] In response to an interrupt signal, the status of the bit in the status word of the output information area of ​​the on-chip system corresponding to the fan control data is detected;

[0070] When it is detected that the bit in the status word corresponding to the fan control data is set, the updated fan control data is read from the output information area of ​​the system on chip based on the set bit.

[0071] The fan is driven to run based on the read fan control data.

[0072] In this embodiment, when the current fan control data is updated to the second preset position in the output information area, and the bit corresponding to the fan control data in the status word is set, an interrupt signal is triggered to the board management controller or embedded controller based on the set operation. After receiving the interrupt signal, the board management controller or embedded controller first reads the status of the bit corresponding to the fan control data in the status word of the status register through the data bus, and knows the updated data according to the set bit in the status word. Then, based on the set bit, it reads the updated fan control data from the second preset position in the output information area of ​​the on-chip system and drives the fan to run.

[0073] Specifically, when the on-chip system reads the temperature change of the on-chip system from the input information area, it calculates and generates the required duty cycle according to the preset algorithm, writes the duty cycle to address 0x2 in the output information area, sets bit2 of the status word, and triggers an interrupt signal to the board management controller. After receiving the interrupt signal, the board management controller first reads the status word at address 0x1 through the data bus, and knows the duty cycle data update according to the set bit2 in the status word. Then, it reads the duty cycle at address 0x2 through the data bus and transmits it to the PWM driver to change the fan speed by setting the duty cycle.

[0074] In some embodiments, the fan monitoring data includes at least fan speed, temperature, and voltage. Specifically, the fan monitoring data may include data such as fan speed, on-chip system temperature, and voltage.

[0075] In some embodiments, before the substrate management controller collects fan monitoring data in real time and reports the fan monitoring data to the on-chip system, the method further includes:

[0076] The substrate management controller reads the pre-configured fan control data from the output information area of ​​the on-chip system to drive the fan to run.

[0077] In this embodiment, the SOC can be configured with a user interface so that users can customize configuration parameters. The SOC can then use a fan control algorithm to pre-configure fan control parameters based on the user-defined configuration parameters. During the system initialization phase, the board management controller reads the pre-configured fan control data from the output information area of ​​the on-chip system to drive the fan to run.

[0078] The fan control method provided in this embodiment executes fan drive control on the substrate management controller or embedded controller, and executes the fan management method on the system-on-chip (SoC). The EC (Electronic Control Unit) does not need to develop fan control-related algorithms, saving development effort on the EC's software. Simultaneously, bus interface drivers are set up on the SoC and the substrate management controller for information transmission between them.

[0079] For details, please refer to Figure 7 and Figure 8 , with I 2 Taking the C bus as an example as the data bus, the waveform diagram of data transfer between the on-chip system and the board management controller is explained; among them, SCL and SDA are I 2 C has two signal lines.

[0080] Taking a 16-bit field in the input and output information areas of the system-on-a-chip (SoC) as an example, with the substrate management controller acting as the master device and the SoC as the slave device, when the substrate management controller writes data to the input information area of ​​the SoC, in I... 2 After the C start signal (Start), the master device, i.e. the board management controller, first sends the slave device address containing the write (Wr) bit and receives the acknowledgment signal (ACK) returned by the slave device. Then, the master device sends 2 bytes of register address in sequence (high byte first), followed by 2 bytes of data value (high byte first).

[0081] Similarly, when the board management controller reads data from the output information area of ​​the system on chip, the master device first sends a start signal and the slave device address containing the write (Wr) bit, and receives the acknowledgment (ACK) signal returned by the slave device. Then, the master device transmits 2 bytes of register address in sequence (high byte first) and sends a stop signal. Immediately afterwards, the master device sends the start signal again and the slave device address containing the read (Rd) bit, and receives 2 bytes of register data transmitted by the slave device (high byte first).

[0082] Therefore, the fan control method provided in this application enables PWM and TACH to be executed on the WC / BMC, while the fan control algorithm is executed on the SOC, thereby reducing user interaction with the EC / BMC and making fan control more convenient.

[0083] See Figure 3 This application also provides a fan control system 300, applied to the aforementioned fan control method. The system includes a system-on-a-chip 100 and a substrate management controller 200, wherein the substrate management controller 200 is coupled to the system-on-a-chip 100.

[0084] The system-on-chip 100 is configured to:

[0085] Read the fan monitoring data from the input information area and generate fan control data based on a preset algorithm;

[0086] The system-on-a-chip updates the fan control data to the output information area and sets the bit in the status word corresponding to the fan control data; the output information area includes at least a status word, and multiple bits of the status word are used to identify the update status of the corresponding fan control data.

[0087] The system-on-chip sends an interrupt signal to the substrate management controller;

[0088] The substrate management controller 200 is configured to:

[0089] Real-time acquisition of fan monitoring data, and reporting of the fan monitoring data to the on-chip system;

[0090] In response to an interrupt signal, updated fan control data is read from the output information area of ​​the system-on-chip based on the set bit, and the fan is driven to run according to the read fan control data.

[0091] In this embodiment, the substrate management controller 200 is coupled to the system-on-chip 100 and transmits signals via a data bus. See also... Figure 4 The fan control system provided in this embodiment uses I 2Taking the C-bus as the data bus as an example, the board management controller 200 collects fan monitoring data in real time, such as the fan speed signal TACH and temperature data. Every preset time interval, the collected pulse count and temperature data are written to the input information area of ​​the system on chip through the bus interface driver and data bus set at both ends. The SOC reads the fan monitoring data, such as temperature data (temperature 1, temperature 2) and speed (rpm), from the input information area, and generates fan control data (such as duty cycle, frequency, control word, status word, or other parameters output to the EC / BMC) based on the preset fan control algorithm. The SOC updates the fan control data to the output information area and sets the bit in the status word corresponding to the fan control data. Subsequently, the system on chip sends an interrupt signal to the board management controller. In response to the interrupt signal, the board management controller reads the updated fan control data from the output information area of ​​the system on chip based on the set bit, and drives the fan to run according to the read fan control data.

[0092] The fan control system provided in this embodiment can be used to execute the fan control method in the foregoing embodiments. Its implementation principle and technical effect are similar. For details not described in detail, please refer to each other. It will not be repeated here.

[0093] For details, please refer to Figure 5 The on-chip system 100 includes at least an input information area 101 and an output information area 102; it also includes:

[0094] The parameter generation module 31 is used to read the fan monitoring data from the input information area and generate fan control data based on a preset algorithm;

[0095] The data writing module 32 is used to update the fan control data to the output information area and to set the bit in the status word corresponding to the fan control data; the output information area includes at least a status word, and multiple bits of the status word are used to identify the update status of the corresponding fan control data.

[0096] Interrupt sending module 33 is used to send an interrupt signal to the baseboard management controller.

[0097] In some embodiments, the system-on-a-chip further includes a bus driver interface for information transmission between the system-on-a-chip and the substrate management controller.

[0098] In some embodiments, the system-on-a-chip is provided with a user configuration interface, which allows the user to directly obtain the fan status and control the fan speed from the system-on-a-chip side without needing interfaces related to other baseboard management controllers or embedded controllers.

[0099] In some embodiments, the parameter generation module is specifically used to read the fan monitoring data reported by the baseboard management controller from the preset position of the input information area, and generate fan control data according to a preset algorithm.

[0100] In some embodiments, the data writing module is specifically used to update the fan control data to the output information area shared with the baseboard management controller;

[0101] Set the bit in the status word corresponding to the fan control data to indicate that the fan control data has been updated.

[0102] In one embodiment, the fan control data includes at least the fan's pulse width modulation duty cycle and pulse width modulation frequency.

[0103] In some embodiments, the fan monitoring data is reported to the input information area via a data bus, the data bus including I... 2 C bus or SPI bus.

[0104] The system-on-a-chip for fan control provided in this embodiment can be used to execute the technical solution of the fan control method shown in the foregoing embodiment. Its implementation principle and technical effect are similar. For details not described in detail, please refer to each other.

[0105] See Figure 6 The baseboard management controller 200 includes:

[0106] The data acquisition and transmission module 41 is used to collect fan monitoring data in real time and report the fan monitoring data to the on-chip system;

[0107] The fan control module 42 is used to respond to an interrupt signal, read updated fan control data from the output information area of ​​the on-chip system based on the set bit, and drive the fan to run according to the read fan control data.

[0108] In some embodiments, the data acquisition and transmission module is specifically used to collect fan monitoring data in real time and report the fan monitoring data to a preset position in the input information area of ​​the system on-chip at preset intervals.

[0109] In some embodiments, the fan control module includes:

[0110] The status detection submodule is used to detect the status of the bit in the status word corresponding to the fan control data in response to an interrupt signal;

[0111] The data acquisition submodule is used to read the updated fan control data from the output information area of ​​the system on the chip based on the set bit when it is detected that the bit corresponding to the fan control data in the status word is set.

[0112] The fan control submodule is used to drive the fan to run based on the read fan control data.

[0113] In some embodiments, the fan monitoring data includes at least fan speed, temperature, and voltage.

[0114] The baseboard management controller for fan control provided in this embodiment can be used to execute the technical solution of the fan control method shown in the foregoing embodiment. Its implementation principle and technical effect are similar. For details not described in detail, please refer to each other.

[0115] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

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

[0117] For ease of description, if systems, servers, etc. are involved, they may be described separately as various units / modules based on their functions. Of course, in implementing this application, the functions of each unit / module can be implemented in one or more software and / or hardware.

[0118] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A fan control method, characterized in that, The method includes: The baseboard management controller collects fan monitoring data in real time and reports the fan monitoring data to the on-chip system; the on-chip system includes at least an input information area and an output information area. The system-on-a-chip reads the fan monitoring data from the input information area and generates fan control data based on a preset algorithm; The system-on-a-chip updates the fan control data to the output information area and sets the bit in the status word corresponding to the fan control data; the output information area includes at least a status word, and multiple bits of the status word are used to identify the update status of the corresponding fan control data. The system-on-chip sends an interrupt signal to the substrate management controller; In response to the interrupt signal, the baseboard management controller reads the updated fan control data from the output information area based on the set bit, and drives the fan to run according to the read fan control data.

2. The fan control method according to claim 1, characterized in that, The substrate management controller collects fan monitoring data in real time and reports the fan monitoring data to the on-chip system, including: The system collects fan monitoring data in real time and reports the fan monitoring data to a preset location in the input information area of ​​the on-chip system at preset intervals.

3. The fan control method according to claim 2, characterized in that, The on-chip system reads the fan monitoring data from the input information area and generates fan control data based on a preset algorithm, including: Read the fan monitoring data reported by the baseboard management controller from the preset position in the input information area, and generate fan control data according to the preset algorithm.

4. The fan control method according to claim 1, characterized in that, The on-chip system updates the fan control data to the output information area, and sets the bit in the status word corresponding to the fan control data, including: Update the fan control data to the output information area shared with the baseboard management controller; Set the bit in the status word corresponding to the fan control data to indicate that the fan control data has been updated.

5. The fan control method according to claim 1, characterized in that, The fan control data includes at least the fan's pulse width modulation duty cycle and pulse width modulation frequency.

6. The fan control method according to claim 4, characterized in that, The fan monitoring data is reported to the input information area via a data bus, the data bus including I 2 C bus or SPI bus.

7. The fan control method according to claim 5, characterized in that, In response to an interrupt signal, the substrate management controller reads updated fan control data from the output information area of ​​the on-chip system based on the set bit, and drives the fan to run according to the read fan control data, including: In response to an interrupt signal, the status of the bit in the status word of the output information area of ​​the on-chip system corresponding to the fan control data is detected; When it is detected that the bit in the status word corresponding to the fan control data is set, the updated fan control data is read from the output information area of ​​the system on chip based on the set bit. The fan is driven to run based on the read fan control data.

8. The fan control method according to claim 2, characterized in that, The fan monitoring data includes at least fan speed, temperature, and voltage.

9. The fan control method according to claim 1, characterized in that, Before the substrate management controller collects fan monitoring data in real time and reports the fan monitoring data to the on-chip system, the method further includes: The substrate management controller reads the pre-configured fan control data from the output information area of ​​the on-chip system to drive the fan to run.

10. A fan control system, characterized in that, The fan control method according to any one of claims 1-5, the system comprising: a system-on-a-chip and a substrate management controller, wherein the substrate management controller is coupled to the system-on-a-chip; The on-chip system is configured as follows: Read the fan monitoring data from the input information area and generate fan control data based on a preset algorithm; The system-on-a-chip updates the fan control data to the output information area and sets the bit in the status word corresponding to the fan control data; the output information area includes at least a status word, and multiple bits of the status word are used to identify the update status of the corresponding fan control data. The system-on-chip sends an interrupt signal to the substrate management controller; The substrate management controller is configured to: Real-time acquisition of fan monitoring data, and reporting of the fan monitoring data to the on-chip system; In response to an interrupt signal, updated fan control data is read from the output information area of ​​the system-on-chip based on the set bit, and the fan is driven to run according to the read fan control data.