Communication device and server

By introducing a dual-channel communication scheme between the baseboard management controller and the sensor, the switching module dynamically switches between the I3C and PCIe buses, solving the problems of abnormal sensor data and insufficient bandwidth, and improving the flexibility and efficiency of server management and monitoring.

CN116723060BActive Publication Date: 2026-04-14INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2023-06-29
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

The single communication method between the current board management controller and the sensor has limitations in certain scenarios, such as abnormal sensor data, data errors on the I3C bus, communication delay, bus congestion, and insufficient bandwidth.

Method used

A dual-channel communication scheme is introduced, with two communication channels between the baseboard management controller and the sensor. A first switching module and a second switching module are deployed on the baseboard management controller and the sensor to switch the appropriate channel according to the actual situation, such as switching to the PCIe bus when the I3C bus load is high or the sensor data is abnormal.

Benefits of technology

It improves the flexibility and efficiency of server management and monitoring, solves the limitations of a single communication method in certain scenarios, and enhances the adaptability and reliability of communication devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116723060B_ABST
    Figure CN116723060B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a communication device and a server, the communication device comprises a sensor and a baseboard management controller, wherein the baseboard management controller is in communication connection with the sensor through at least one of a first channel and a second channel, the baseboard management controller is used for acquiring data collected by the sensor and controlling the sensor, the baseboard management controller comprises a first switching module, the first switching module is used for switching the communication channel of the baseboard management controller and the sensor, and the first channel and the second channel are two different communication channels; the sensor comprises a second switching module, and the second switching module is used for switching the communication channel of the sensor and the baseboard management controller. Through the application, the problem that a single communication mode between the baseboard management controller and the sensor is limited in some scenes is solved, and the effect of improving the flexibility and efficiency of server management and monitoring is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and more specifically, to a communication device and a server. Background Technology

[0002] As data centers continue to expand, the demand for server management and monitoring is also increasing. In traditional server management, the Baseboard Management Controller (BMC) is responsible for monitoring various sensor data within the server to ensure its normal operation. In this architecture, the BMC connects to multiple sensors via an I2C (Inter-Integrated Circuit) bus or an I3C (Improved Inter-Integrated Circuit) bus, and collects data reported by these sensors through the I3C bus to monitor various parameters of the server.

[0003] However, under the current technological context, the I3C bus has certain limitations in some scenarios. For example, when a sensor's data is abnormal, it may lead to data errors, communication delays, and bus congestion on the I3C bus. Furthermore, the I3C bus may experience insufficient bandwidth when transmitting large amounts of data.

[0004] Therefore, there is an urgent need for a communication device that can solve the problem that the single communication method between the substrate management controller and the sensor is limited in some scenarios in the existing technology. Summary of the Invention

[0005] This application provides a communication device and server to at least solve the problem that the single communication method between the baseboard management controller and the sensor is limited in some scenarios in the related art.

[0006] According to one embodiment of this application, a communication device is provided, including a sensor and a substrate management controller, wherein the substrate management controller and the sensor are communicatively connected via at least one of a first channel and a second channel, the substrate management controller is used to acquire data collected by the sensor and control the sensor, the substrate management controller includes a first switching module, the first switching module is used to switch the communication channel between the substrate management controller and the sensor, the first channel and the second channel are two different communication channels; the sensor includes a second switching module, the second switching module is used to switch the communication channel between the sensor and the substrate management controller.

[0007] In one exemplary embodiment, the first channel is one of an I3C bus and a PCIe bus, and the second channel is the other of the I3C bus and the PCIe bus besides the first channel.

[0008] In an exemplary embodiment, when the first channel or the second channel is the I3C bus and at least one of the following conditions is met, the first switching module is used to switch the I3C bus to the PCIe bus, including: the sensor acquisition data is abnormal; the load of the I3C bus is greater than a first load threshold.

[0009] In another exemplary embodiment, when the first channel or the second channel is the I3C bus and the following conditions are met, the second switching module is used to switch the I3C bus to the PCIe bus, including: the amount of data acquired by the baseboard management controller from the sensor is greater than a second threshold.

[0010] In another exemplary embodiment, at least one of the first switching module and the second switching module includes: a first acquisition submodule for acquiring data from the first channel; a second acquisition submodule for acquiring data from the second channel; and a processing submodule communicatively connected to the first acquisition submodule and the second acquisition submodule, wherein the processing submodule is used to process the data from the first channel and the data from the second channel to make the data from the first channel and the data from the second channel have the same format.

[0011] In yet another exemplary embodiment, the communication device further includes: a data storage unit, communicatively connected to the first switching module and the second switching module, for storing data of the first channel acquired by the first switching module and data of the second channel acquired by the second switching module.

[0012] In yet another exemplary embodiment, the first switching module is further configured to: acquire data from the non-target channel when the baseboard management controller and the sensor are connected via a non-target channel, wherein the non-target channel is either the first channel or the second channel; switch the non-target channel to a fourth channel and acquire data from the target channel, wherein the target channel is either the first channel or the second channel other than the non-target channel; determine whether the data from the non-target channel and the data from the target channel are the same, and if the data from the non-target channel and the data from the target channel are the same, determine that the sensor is operating normally.

[0013] In another exemplary embodiment, the communication device further includes a splitting module, which is communicatively connected to the first switching module and the second switching module, respectively. The splitting module is configured to adjust the data flow of the first channel and the data flow of the second channel based on at least one of the load information of the first channel, the load information of the second channel, and the information of the sensor, wherein the information of the sensor includes the interruption reporting frequency information of the sensor and the fault information of the sensor.

[0014] In another exemplary embodiment, the first channel is one of an I3C bus and a PCIe bus, and the second channel is the other of the I3C bus and the PCIe bus besides the first channel. The traffic splitting module is used to adjust the data flow of the first channel and the data flow of the second channel according to the load information of the first channel, including: increasing the data flow of the PCIe bus and decreasing the data flow of the I3C bus when the load information of the I3C bus indicates that the load of the I3C bus is greater than a first load threshold.

[0015] In another exemplary embodiment, the first channel is one of an I3C bus and a PCIe bus, and the second channel is the other of the I3C bus and the PCIe bus besides the first channel. The traffic splitting module is used to adjust the data flow of the first channel and the data flow of the second channel according to the load information of the second channel, including: increasing the data flow of the PCIe bus and decreasing the data flow of the I3C bus when the load information of the PCIe bus indicates that the load of the PCIe bus is less than a second load threshold.

[0016] In another exemplary embodiment, the first channel is one of an I3C bus and a PCIe bus, and the second channel is the other of the I3C bus and the PCIe bus besides the first channel. The current splitting module is used to adjust the data flow of the first channel and the data flow of the second channel according to the information of the sensor, including at least one of the following: when the information of the sensor indicates that the interrupt reporting frequency of the sensor is greater than a frequency threshold, increasing the data flow of the PCIe bus and decreasing the data flow of the I3C bus; when the information of the sensor indicates that the sensor has failed, increasing the data flow of the PCIe bus and decreasing the data flow of the I3C bus.

[0017] According to another embodiment of this application, a server is provided, comprising: any of the aforementioned communication devices.

[0018] In existing technologies, the baseboard management controller typically connects to multiple sensors via a single communication method—the I3C bus—and collects relevant data reported by these sensors to monitor server parameters. However, the I3C bus has limitations in certain scenarios, such as when a sensor's data is abnormal or when the I3C bus is transmitting large amounts of data. This application introduces a dual-channel communication scheme, providing two communication channels between the baseboard management controller and the sensors. A first switching module and a second switching module are deployed on both the baseboard management controller and the sensors, respectively. During actual communication, the appropriate channel is switched based on the actual situation of the baseboard management controller, the sensors, and the dual channels, improving the flexibility and efficiency of server management and monitoring. This solves the problem of the single communication method between the baseboard management controller and the sensors being limited in certain scenarios. Attached Figure Description

[0019] Figure 1 This is a schematic diagram of the structure of a communication device;

[0020] Figure 2 This is a schematic diagram of the structure of a communication device according to an embodiment of this application;

[0021] Figure 3 This is a structural block diagram of the SCBM module acquiring data according to an embodiment of this application;

[0022] Figure 4 This is a schematic diagram of the SCBM module according to an embodiment of this application;

[0023] Figure 5 This is a schematic diagram of the structure of another communication device according to an embodiment of this application.

[0024] The above figures include the following reference numerals:

[0025] 100, Baseboard Management Controller; 101, First Switching Module; 200, Sensor; 201, Second Switching Module; 300, First Channel; 301, Second Channel; 302, I3C Bus; 303, PCIe Bus; 400, MUX. Detailed Implementation

[0026] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.

[0027] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0028] For ease of description, the following explains some of the nouns or terms used in the embodiments of this application:

[0029] BMC: Baseboard Management Controller (BMC) is a dedicated microcontroller used to monitor and manage critical parameters of server hardware, such as temperature, voltage, fan speed, and power status. BMC also provides remote management capabilities, enabling administrators to troubleshoot and repair systems when problems arise.

[0030] I2C: The I2C (Inter-Integrated Circuit) bus is a serial communication protocol used to connect low-speed devices in electronic systems, such as microcontrollers, electrically erasable programmable read-only memory (EEPROM), and other peripherals. I2C uses two wires—the serial data line (SDA) and the serial clock line (SCL)—for bidirectional data transmission.

[0031] I3C: The I3C (Improved Inter-Integrated Circuit) bus is an improved version of I2C, offering higher data transfer speeds and lower power consumption. I3C also uses two lines, SDA and SCL, for communication.

[0032] PCIe: Peripheral Component Interconnect Express (PCIe) is a high-speed serial computer expansion bus standard used to connect the processor and other hardware devices on the motherboard, such as graphics cards, sound cards and SSDs.

[0033] SDA: SDA is the line used for data transmission in the I2C and I3C buses. SDA works in conjunction with SCL to achieve data synchronization.

[0034] SCL: SCL is the clock signal line in the I2C and I3C buses, used for synchronizing data transmission.

[0035] MUX: A multiplexer (MUX) is a data selector that selects one of multiple input signals and transmits the selected signal to a single output line. In a BMC system, a MUX can be used to manage communication between multiple I2C or I3C devices.

[0036] SCBM (Switching Communication Bus Module) is a communication module used to achieve data transmission between devices in a distributed control system. It connects devices of different speeds, types, and protocols, enabling efficient and reliable data transmission. SCBM mainly consists of the following parts: Communication Interface: Used for data exchange with other devices. Common interfaces include Ethernet, CAN bus, and RS-232 / 485 serial interfaces. Data Buffer: Used to temporarily store data to be sent or received, ensuring no information is lost during transmission. Control Logic: Responsible for controlling input / output ports and executing necessary processing algorithms to ensure fast and correct data exchange operations. Status Indicators and Fault Alarms: Used to display the current status and alert the user to any abnormalities. Using SCBM can make the control system more stable and reliable, while also significantly reducing development and maintenance costs.

[0037] MCTP: Management Component Transport Protocol (MCTP) is a communication protocol used for server management, allowing different types of management controllers (such as BMCs) to communicate with server hardware components (such as processors, memory, and network interface cards). MCTP can operate through various low-level physical interfaces, such as I2C, I3C, and PCIe.

[0038] like Figure 1 As shown, in traditional server management, the baseboard management controller 100 is responsible for monitoring data from various sensors 200 on the server to ensure its normal operation. In this architecture, the BMC connects to multiple sensors 200 via the I3C bus 302, collecting data reported by these sensors to monitor various parameters of the server. The I3C bus 302 consists of one SDA line and one SCL line. Figure 1 For ease of understanding, we abstract it as an I3C bus 302, and the PCIe bus follows in the same way. The MUX400 in the figure is a data selector that can select one of the input signals from multiple sensors 200 and transmit the selected signal to a single output line, that is, select which line the board management controller 100 communicates with the sensor 200 connected to the MUX400 through.

[0039] This embodiment provides a communication device. Figure 2 This is a structural diagram of a communication device according to an embodiment of this application, such as... Figure 2 As shown, it includes sensors and a board management controller, wherein,

[0040] The aforementioned substrate management controller 100 and the aforementioned sensor 200 are communicatively connected via at least one of the first channel 300 and the second channel 301. The aforementioned substrate management controller 100 is used to acquire data collected by the aforementioned sensor 200 and control the aforementioned sensor 200. The aforementioned substrate management controller 100 includes a first switching module 101, which is used to switch the communication channels between the aforementioned substrate management controller 100 and the aforementioned sensor 200. The aforementioned first channel 300 and the aforementioned second channel 301 are two different communication channels.

[0041] Specifically, the aforementioned first switching module is used to switch the communication channel from the baseboard management controller side, and can realize multiple operating modes, such as: an energy-saving mode that disables PCIe bus communication and uses only I3C communication; a high-performance mode that disables I3C bus communication and uses only PCIe bus communication; and a normal mode that enables both I3C bus communication and PCIe bus communication. The aforementioned first switching module can be an SCBM module.

[0042] The sensor 200 includes a second switching module 201, which is used to switch the communication channel between the sensor 200 and the baseboard management controller 100.

[0043] Specifically, the aforementioned second switching module is used to switch the communication channel from the sensor side, enabling multiple operating modes, such as: an energy-saving mode that disables PCIe bus communication and uses only I3C communication; a high-performance mode that disables I3C bus communication and uses only PCIe bus communication; and a normal mode that enables both I3C and PCIe bus communication. This second switching module can be an SCBM module.

[0044] In existing technologies, the baseboard management controller typically connects to multiple sensors via a single communication method—the I3C bus—and collects relevant data reported by these sensors to monitor server parameters. However, the I3C bus has limitations in certain scenarios, such as when a sensor's data is abnormal or when the I3C bus is transmitting large amounts of data. This paper introduces a dual-channel communication scheme, providing two communication channels between the baseboard management controller and the sensors. A first switching module and a second switching module are deployed on both the baseboard management controller and the sensors. During actual communication, the appropriate channel is switched based on the actual situation of the baseboard management controller, the sensors, and the dual channels, improving the flexibility and efficiency of server management and monitoring. This solves the problem of the single communication method between the baseboard management controller and the sensors being limited in certain scenarios.

[0045] To further enable effective communication between the board management controller and the sensor, the first channel is either an I3C bus or a PCIe bus, and the second channel is either an I3C bus or a PCIe bus other than the first channel.

[0046] Specifically, the I3C bus is a plug-in-oriented intelligent interconnect technology. Unlike traditional buses, I3C features one-to-many plug-in, dynamic configuration, power sharing, low latency, low power consumption, and security and reliability. However, the I3C bus has certain limitations in some scenarios. For example, when a sensor's data is abnormal, it may lead to data errors, communication delays, and bus congestion on the I3C bus. Furthermore, the I3C bus may suffer from insufficient bandwidth when transmitting large amounts of data. The PCIe bus is a universal high-speed expansion bus standard. It features high bandwidth, packet forwarding, persistent connections, configurable channels, parallel data transmission, hot-plug support, and dynamic power management. Therefore, the PCIe bus is mainly used to connect various computer devices, providing sufficiently high data transmission rates. It can be applied to graphics slots, network interfaces, storage devices, and peripheral interfaces. However, if PCIe lines are used uniformly for monitoring, many sensors are still not supported. Additionally, when using PCIe bus topology for monitoring, power consumption is much higher than with I3C, which can cause significant power consumption in data centers.

[0047] In some embodiments, when the first channel or the second channel is the I3C bus and at least one of the following conditions is met, the first switching module of this application is used to switch the I3C bus to the PCIe bus, including: abnormal sensor data acquisition; and the load of the I3C bus exceeding a first load threshold. This communication device further enhances the flexibility of switching communication channels.

[0048] Specifically, sensor data acquisition anomalies can be categorized into interrupt reporting anomalies and data reporting anomalies. Detecting a sensor interrupt reporting anomaly means that when a sensor detects an anomaly in its own data, it will report an interrupt via the I3C bus. The BMC will then perform overall control upon receiving the interrupt. If the sensor continuously reports interrupts, it will put significant pressure on the I3C bus. The BMC can switch buses based on whether the sensor's interrupt reporting is abnormal. Detecting sensor data reporting anomalies means that the data reported by the sensor has a threshold. If the threshold is incorrect or the data is excessively abnormal, the BMC can switch the PCIe bus to check for data consistency, ensuring there are no anomalies during data transmission. I3C bus overload occurs when there are too many devices on the I3C bus, leading to channel congestion. In this case, the BMC can proactively switch channels.

[0049] In other embodiments, when the first channel or the second channel is the I3C bus and the following conditions are met, the second switching module is used to switch the I3C bus to the PCIe bus, including: the amount of data acquired by the baseboard management controller from the sensor is greater than a second threshold. This communication device further enhances the flexibility of switching communication channels.

[0050] Specifically, active switching on the sensor side is mainly used in the following situations where the sensor needs to report a large amount of data, such as logs, sensor self-test information, operating time, and usage environment data. When the sensor needs to report a large amount of data, it may lead to the following consequences: 1. High pressure on communication resources: Reporting a large amount of data requires more communication bandwidth, CPU resources, and power consumption. Especially for those with limited communication resources, this may lead to resource shortages. 2. Data volume exceeding limits: If the amount of data collected by the sensor exceeds the limit of the reporting channel, it may cause reporting failure or packet loss. 3. High processing and storage pressure: The backend needs to receive and process a large amount of data, putting greater pressure on the processor, storage space, and database. 4. Increased logical complexity: The backend needs to perform complex aggregation, analysis, and calculations based on a large amount of data, increasing the logical complexity of the backend program and algorithm. 5. Increased security risks: More reported data may increase the potential for security breaches, requiring additional security protection measures. 6. Difficulty in localization and debugging: When debugging and locating problems later, the amount of information that needs to be analyzed will also increase, increasing the difficulty. 7. Increased system latency: The large amount of data that the background needs to process and store may lead to a decrease in system response speed and an increase in latency.

[0051] In some embodiments of this application, at least one of the first switching module and the second switching module includes: a first acquisition submodule for acquiring data from the first channel; a second acquisition submodule for acquiring data from the second channel; and a processing submodule communicatively connected to the first and second acquisition submodules, wherein the processing submodule processes the data from the first and second channels to make the data from the first and second channels have the same format. This communication device can be further implemented in a Linux system.

[0052] Specifically, such as Figure 3As shown, the aforementioned first or second switching module can abstract two devices in the Linux system, used for I3C and PCIe data reading respectively, namely / dev / I3C_SCBM and / dev / PCIe_SCBM. In other words, the I3C and PCIe buses can be controlled through these two devices. Above these two devices, the SCBM module is implemented, responsible for switching communication buses, reporting and acquiring data, and self-testing. In the diagram, data flows from the I3C bus to / dev / I3C_SCBM, and then to the SCBM service. The MCTP protocol can be used, but since the MCTP protocol cannot provide bus switching services, the bus switching service is provided by either the first or second switching module.

[0053] In some embodiments, the communication device further includes a data storage unit communicatively connected to the first switching module and the second switching module, for storing data from the first channel acquired by the first switching module and data from the second channel acquired by the second switching module. This communication device can further enable the storage of data from the first and second channels.

[0054] Specifically, the first or second switching module can organize the data acquired from the lower layer to the upper layer and hand it over to the data storage module for storage and use.

[0055] In some embodiments, the first switching module is further configured to: acquire data from the non-target channel when the substrate management controller and the sensor are connected via a non-target channel, wherein the non-target channel is either the first channel or the second channel; switch the non-target channel to a fourth channel and acquire data from the target channel, wherein the target channel is either the first channel or the second channel other than the non-target channel; determine whether the data from the non-target channel and the data from the target channel are the same, and if they are the same, determine that the sensor is operating normally. This communication device adds a server self-test function, which can further improve the reliability of the server.

[0056] Specifically, the first switching module can also be used to perform server self-test. Since the baseboard management controller and the sensor have two lines, self-test can be performed by comparing the data from the I3C and PCIe lines.

[0057] In some embodiments, the communication device further includes a traffic splitting module, communicatively connected to both the first switching module and the second switching module. The traffic splitting module adjusts the data flow of the first channel and the data flow of the second channel based on at least one of the load information of the first channel, the load information of the second channel, and the information from the sensors. The sensor information includes the sensor's interrupt reporting frequency information and the sensor's fault information. This communication device further enables dynamic adjustment of communication resources, ensuring reasonable allocation of communication resources and improving system performance.

[0058] Specifically, such as Figure 4 As shown, the SCBM module includes an SCBM data splitting and integration module, an SCBM data reporting module, an SCBM calculation and prediction module, an SCBM traffic splitting control module, and an SCBM external control module. Due to the differences in packet headers between I3C and PCIe buses, the SCBM data splitting and integration module needs to split data packets when receiving data and encapsulate them when sending data. This module also performs the function of formatting the separated packet headers of I3C and PCIe data into a unified format, such as the MCTP packet format. The SCBM data reporting module transfers data to the SCBM internal SCBM calculation and prediction module or sends data to other modules for BMC management. The SCBM calculation and prediction module performs calculations and predictions based on the data reported by the SCBM external control module and the SCBM data reporting module to balance the usage of I3C and PCIe. The SCBM external control module can be configured with operating modes, such as normal mode, energy-saving mode, and high-performance mode. SCBM shunt control module: The SCBM calculation and prediction module calculates the usage of I3C and PCIe and the sensor configuration (different sensors use different channels for communication), and the SCBM module directs the communication of the I3C and PCIe buses.

[0059] In some embodiments, the first channel is either an I3C bus or a PCIe bus, and the second channel is either an I3C bus or a PCIe bus other than the first channel. The traffic splitting module is used to adjust the data flow of the first channel and the data flow of the second channel based on the load information of the first channel, including: increasing the data flow of the PCIe bus and decreasing the data flow of the I3C bus when the load information of the I3C bus indicates that the load of the I3C bus is greater than a first load threshold. This communication device can further select a reasonable communication channel to improve communication quality.

[0060] Specifically, when the I3C bus load exceeds the threshold, it means that too many peripherals (devices) are connected to the I3C bus, causing excessive bus load and exceeding the design-allowed load limit. There is a design limitation, called the threshold, on the maximum number of peripherals (loads) that the I3C bus can support. When the number of peripherals connected to the bus exceeds this threshold, the following problems will occur: insufficient bus bandwidth, resulting in a decrease in data transmission rate; insufficient power supply, causing peripherals to malfunction; difficulties in automated peripheral configuration and management; and potential bus errors and failures. To avoid these problems, it is necessary to ensure that the number of peripherals is within the limit based on the maximum load rate specified in the I3C bus product specifications. Generally, the I3C load threshold is designed to be around 10-20 bus nodes. If the threshold is exceeded, communication quality can be improved by switching to the PCIe bus.

[0061] In some embodiments, the first channel is either an I3C bus or a PCIe bus, and the second channel is either an I3C bus or a PCIe bus other than the first channel. The traffic splitting module is used to adjust the data flow of the first channel and the data flow of the second channel based on the load information of the second channel, including: increasing the data flow of the PCIe bus and decreasing the data flow of the I3C bus when the load information of the PCIe bus indicates that the load of the PCIe bus is less than a second load threshold. This communication device can further save server power consumption.

[0062] Specifically, since the PCIe bus consumes a lot of power, when its load is low, the communication channel can be switched back to the I3C bus mentioned above to further save power.

[0063] In some embodiments, the first channel is either an I3C bus or a PCIe bus, and the second channel is either an I3C bus or a PCIe bus other than the first channel. The current splitting module is used to adjust the data flow of the first channel and the data flow of the second channel based on the information from the sensor, including at least one of the following: increasing the data flow of the PCIe bus and decreasing the data flow of the I3C bus when the sensor information indicates that the interrupt reporting frequency of the sensor is greater than a frequency threshold; increasing the data flow of the PCIe bus and decreasing the data flow of the I3C bus when the sensor information indicates that the sensor has failed. The communication device can further select a suitable communication channel.

[0064] Specifically, checking the frequency of sensor interruptions and the data reported by the sensors can be done by setting thresholds, such as frequency thresholds and data anomaly range thresholds. If the thresholds are exceeded, a response is triggered. For sensors with abnormal data, PCIe bus access control is used to offload the reported data, reducing the load on the I3C bus. If the problem cannot be resolved promptly, an alarm is issued. Furthermore, various machine learning anomaly detection models can be used, such as standard deviation detection models, DBSCAN clustering models, and isolated forest models, which will not be elaborated upon in this invention.

[0065] In some embodiments, such as Figure 5 The diagram illustrates a dual-channel communication scheme, simultaneously utilizing both the I3C bus 302 and the PCIe bus 303 for communication. During normal operation, the baseboard management controller 100 communicates with the sensor 200 via the I3C bus 302 to acquire various data. When the baseboard management controller 100 determines that the data reported by the sensor is problematic, requires reporting a large amount of log data, or the I3C bus 302 is under excessive load, it switches to the PCIe bus 303 to acquire data. Solid lines represent the I3C bus 302, and dashed lines represent the PCIe bus 303. The diagram includes not only sensors 200 that support both I3C and PCIe buses 302, but also independent sensors that only support I3C or I2C. This architecture is compatible with these sensors 200, but its full advantages cannot be utilized during switching. Furthermore, the MUX400 is connected to the baseboard management controller 100 via a dual-channel connection, and the MUX400 is also connected to the sensor 200 via a dual-channel connection.

[0066] Furthermore, for further optimization, the following expansion directions can be considered: applying the SCBM module to other types of servers or devices to improve communication efficiency and system stability; designing specialized data compression algorithms for different sensor data types to reduce data transmission volume and communication load. Examples include: DCT transform (using discrete cosine transform to convert to the frequency domain, preserving low-frequency components and discarding high-frequency components), DWT transform (using discrete wavelet transform to decompose the signal into different scales, retaining low-scale approximate components and discarding detail components), PCA transform (using principal component analysis to extract the main change patterns of the data, reducing data dimensionality), outlier filtering (removing outliers from the data, retaining only values ​​that conform to statistical laws), sampling reconstruction (collecting only a portion of the data while constructing an interpolation model, reconstructing the data through interpolation when all data is needed), mean sampling (averaging the data within a continuous time window to reduce reporting frequency), differential coding (calculating the difference between two consecutive data points to replace the original data), and entropy coding (using variable-length coding based on the entropy and probability distribution of the input data).

[0067] To enhance the applicability and scalability of SCBM, it can be designed as a module supporting multiple bus standards. For example, in addition to I3C and PCIe, it can also support other communication buses such as USB and Ethernet. This allows SCBM to select the optimal communication bus based on actual needs and the communication environment, improving the flexibility and performance of the entire server monitoring system. Although this invention uses I3C and PCIe as examples, the initial design intent of SCBM is to support more bus standards, providing broader compatibility for future communication technology development. In practical implementation, SCBM can be further expanded as needed to support the access of other bus standards.

[0068] This embodiment also provides a server, including any of the above-described communication devices. The server can be one of the following types: physical server, virtual server, cloud server, workstation, game server, database server, file server, application server, mail server, etc.

[0069] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0070] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0071] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular combination of hardware and software.

[0072] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the scope of protection of this application.

Claims

1. A communication device, characterized in that, Includes sensors and a board management controller, among which, The substrate management controller and the sensor are communicatively connected via at least one of a first channel and a second channel. The substrate management controller is used to acquire data collected by the sensor and control the sensor. The substrate management controller includes a first switching module, which is used to switch the communication channel between the substrate management controller and the sensor. The first channel and the second channel are two different communication channels. The sensor includes a second switching module, which is used to switch the communication channel between the sensor and the baseboard management controller; The first channel is either an I3C bus or a PCIe bus, and the second channel is either an I3C bus or a PCIe bus other than the first channel.

2. The communication device according to claim 1, characterized in that, When either the first channel or the second channel is the I3C bus and at least one of the following conditions is met, the first switching module is used to switch the I3C bus to the PCIe bus, including: The sensor is collecting abnormal data; The load on the I3C bus is greater than the first load threshold.

3. The communication device according to claim 1, characterized in that, When either the first channel or the second channel is the I3C bus and the following conditions are met, the second switching module is used to switch the I3C bus to the PCIe bus, including: The amount of data acquired by the baseboard management controller from the sensor is greater than the second threshold.

4. The communication device according to claim 1, characterized in that, At least one of the first switching module and the second switching module includes: The first acquisition submodule is used to acquire data from the first channel; The second acquisition submodule is used to acquire data from the second channel; The processing submodule is communicatively connected to the first acquisition submodule and the second acquisition submodule. The processing submodule is used to process the data of the first channel and the data of the second channel so that the data of the first channel and the data of the second channel have the same format.

5. The communication device according to claim 1, characterized in that, The communication device further includes: The data splitting module is communicatively connected to the first switching module and the second switching module, respectively. The data splitting module is used to adjust the data flow of the first channel and the data flow of the second channel according to at least one of the load information of the first channel, the load information of the second channel, and the information of the sensor. The information of the sensor includes the interrupt reporting frequency information of the sensor and the fault information of the sensor.

6. The communication device according to claim 5, characterized in that, The traffic splitting module is used to adjust the data flow of the first channel and the data flow of the second channel according to the load information of the first channel, including: When the load information of the I3C bus indicates that the load of the I3C bus is greater than a first load threshold, the data flow of the PCIe bus is increased and the data flow of the I3C bus is decreased.

7. The communication device according to claim 5, characterized in that, The traffic splitting module is used to adjust the data flow of the first channel and the data flow of the second channel according to the load information of the second channel, including: When the load information of the PCIe bus indicates that the load of the PCIe bus is less than the second load threshold, the data flow of the PCIe bus is increased and the data flow of the I3C bus is decreased.

8. The communication device according to claim 5, characterized in that, The splitting module is used to adjust the data flow of the first channel and the data flow of the second channel based on the information from the sensor, including at least one of the following: If the interrupt reporting frequency of the sensor, which indicates that the sensor's information characteristics, is greater than a frequency threshold, the data traffic of the PCIe bus is increased and the data traffic of the I3C bus is decreased. The information from the sensor indicates that, in the event of a sensor malfunction, the data flow on the PCIe bus is increased, and the data flow on the I3C bus is decreased.

9. A server, characterized in that, include: The communication device according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Method and system for obtaining PCIe equipment temperature, terminal and storage medium

    CN114116378A

  • Baseboard management controller, server, data center and server control method

    CN114265743A