Asset information acquisition method and device, server, controller and medium

By implanting a lightweight proxy service module into the switch firmware, side-link communication is established between the baseboard management controller and high-speed peripheral component interconnect devices, solving the problems of management controller failure and production complexity caused by BIOS dependence, achieving independent asset information acquisition, and improving system flexibility and reliability.

CN120711094AActive Publication Date: 2025-09-26INSPUR (SHANDONG) COMPUTER TECH CO LTD

Patent Information

Application Number
CN202511220275.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-29
Publication Date
2025-09-26
Estimated Expiration
2045-08-29

AI Technical Summary

Technical Problem

In the prior art, the acquisition of server PCIE device asset information relies on BIOS, which causes the management controller to fail to work when the BIOS fails or is in hibernation. In addition, the production process is complex and error-prone, and cannot adapt to equipment replacement and upgrades.

Method used

By implanting a lightweight proxy service module in the switch firmware, side-link communication is established between the baseboard management controller and the peripheral component interconnect high-speed device, enabling asset information acquisition independent of BIOS, and using command frames in a predetermined protocol format for data transmission and parsing.

Benefits of technology

The baseboard management controller can obtain independent asset information of peripheral component interconnect high-speed devices, avoiding BIOS dependence, improving system flexibility and reliability, and reducing production complexity and error rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120711094A_ABST
    Figure CN120711094A_ABST
Patent Text Reader

Abstract

The invention provides an asset information acquisition method and device, a server, a controller and a medium, and relates to the technical field of servers, and the method comprises the steps: transmitting a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a side link; wherein the command frame is used for indicating a lightweight proxy service module solidified in switch firmware to execute the following operations: analyzing the command frame, and directly accessing a configuration space of downstream target peripheral component interconnection high-speed equipment according to an analysis result to obtain original asset information, converting the original asset information into asset information conforming to a predetermined protocol format, packaging the asset information in the predetermined protocol format in a response frame, and returning the response frame to the baseboard management controller; and receiving a response frame returned by the lightweight proxy service module, wherein the response frame comprises the asset information in the predetermined protocol format. According to the method and the device, the asset information is independently obtained based on the substrate management controller, and the dependence on a BIOS (Basic Input / Output System) and burning is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of server technology, and in particular to an asset information acquisition method, device, server, controller and medium. Background Art

[0002] With the rapid development of information technology, servers are increasingly used in a wide range of fields, from enterprise-level data centers to personal devices for daily office and entertainment. Stable server operation and efficient management have become crucial. Large data centers and enterprise server environments often deploy a large number of servers, which must operate continuously for extended periods of time to ensure business continuity. A device failure can lead to serious consequences such as data loss and business interruption, resulting in significant financial losses for the enterprise. Therefore, effective server management and monitoring, along with the timely identification and resolution of potential issues, are crucial to ensuring stable system operation.

[0003] Monitoring the status of hardware devices is a core component of server management. PCIE (Peripheral Component Interconnect Express) devices, as crucial hardware components within servers, perform critical functions such as data transmission, storage, and network communication. For example, NVME (Non-Volatile Memory Express) solid-state drives, with their high-speed data read and write capabilities, have become crucial for improving computer storage performance. Optical Physical Connection (OPC) network cards facilitate high-speed data transmission between servers and the network, ensuring stable connectivity. Therefore, accurate asset information for these PCIE devices is crucial for overall server management and maintenance.

[0004] Currently, asset information acquisition relies primarily on two traditional approaches: 1) post-boot push via the BIOS (Basic Input / Output System); and 2) pre-burning the information into the motherboard's storage using tools during the production phase. However, the first approach's strong coupling between the BMC (Baseboard Management Controller) and the BIOS means that if the BIOS fails or goes into hibernation, the BMC will cease to function and will be unresponsive to device hot swapping. The second approach also suffers from complex production processes, static information, and time lags, making it unsuitable for equipment replacement and upgrades. Summary of the Invention

[0005] The present application provides an asset information acquisition method, device, server, controller and medium to at least solve the above technical problems existing in the prior art.

[0006] According to a first aspect of the present application, a method for acquiring asset information is provided, which is applied to a baseboard management controller. The method includes: Sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function via a side link; wherein the command frame is used to instruct a lightweight proxy service module embedded in the firmware of the switch to perform the following operations: parsing the command frame, directly accessing the configuration space of a downstream target peripheral component interconnect (PCI) high-speed device based on the parsed result to obtain raw asset information, converting the raw asset information into asset information conforming to a predetermined protocol format, and encapsulating the asset information in the predetermined protocol format in a response frame and returning it to the baseboard management controller; A response frame returned by the lightweight proxy service module is received, where the response frame includes the asset information in the predetermined protocol format.

[0007] In one embodiment, before sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a side link, the method further includes: During the server startup process, a handshake operation is performed with the switch, wherein the handshake operation is used to establish an encrypted communication channel between the baseboard management controller and the switch and determine communication parameters.

[0008] In one embodiment, the side link is one of a system management bus, a two-wire serial bus, or a low pin count bus.

[0009] In one possible implementation, the lightweight proxy service module is synchronously loaded and permanently runs when the switch is powered on.

[0010] In one possible implementation, the predetermined protocol format includes, in sequence: a frame header field, a command code field, a device identification field, an offset field, a data length field, a payload field, and a check field.

[0011] In one possible implementation manner, the frame header field is used to identify the starting position and type of the command frame; The command code is used to indicate the command type of the command frame; The device identification field is used to indicate the device identification of the downstream target PCI Express device; The offset field is used to indicate the specific location of the configuration space that needs to be accessed or read; The data length field is used to indicate the data size of the configuration space that needs to be accessed or read; The payload field is used to indicate the actual data content transmitted; The check field is used to indicate a cyclic redundancy check code.

[0012] In one embodiment, parsing the command frame, directly accessing the hardware configuration space of the downstream target peripheral component interconnect high-speed device according to the parsing result to obtain original asset information, and converting the original asset information into asset information that complies with a predetermined protocol format, includes: Extract the command code, device identification, offset and data length from the received command frame; Locating a downstream target PCI Express device according to the device identifier, and directly reading corresponding original asset information in a configuration space of the downstream target PCI Express device according to the command code, the offset, and the data length; The original asset information is preprocessed to obtain asset information that complies with a predetermined protocol format.

[0013] In one possible implementation manner, the pre-processing of the original asset information includes: According to the preset data format specifications, the original asset information is sorted and formatted to generate asset information that conforms to the predetermined protocol format.

[0014] In one embodiment, the command type indicated by the command code field includes: a detect all command type, a detect device command type, a read configuration command type, a read key product data command type, and a read base address register command type.

[0015] In one embodiment, the command of the detection device command type is used to instruct the lightweight agent service module to read a device address in a configuration space of a downstream peripheral component interconnect high-speed device specified by a device identifier; The command of the read configuration command type is used to instruct the lightweight agent service module to read the configuration parameters in the configuration space of the specified downstream peripheral component interconnect high-speed device; The command of the read key product data command type is used to instruct the lightweight proxy service module to access the key product data area in the configuration space of the downstream PCI Express device and return the device identification shown in the key product data area; The command of the read base address register command type is used to instruct the lightweight agent service module to access the base address register area in the configuration space of the designated downstream peripheral component interconnect high-speed device and return the base address register space information shown in the base address register area.

[0016] In one embodiment, before sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a side link, the method further includes: Sending a detect all command to the switch to instruct the lightweight proxy service module to traverse the downstream Peripheral Component Interconnect Express device topology structure, collect basic information of all downstream Peripheral Component Interconnect Express devices and return it; Build a device list based on the returned basic information.

[0017] In one possible implementation, the basic information includes device address, device type, and manufacturer information.

[0018] In one embodiment, the device address is used to indicate a bus address, a device access address, and a device function access address; The device types include storage devices, network interface devices and graphics processing devices; The manufacturer information includes a manufacturer identification.

[0019] In one embodiment, when the command type is a device detection command type, parsing the command frame and directly accessing the configuration space of the downstream target PCI Express device according to the parsing result to obtain the original asset information includes: Extracting a device identifier from the command frame; Reading the first set byte data of the configuration space of the downstream target peripheral component interconnect high-speed device corresponding to the device identifier; Determining the device type of the downstream target PCI high-speed device using a device type identification algorithm according to the pre-set byte data; According to the device type, original asset information corresponding to the device type is read from the configuration space of the downstream target PCI Express device.

[0020] According to a second aspect of the present application, an asset information acquisition device is provided, which is applied to a baseboard management controller, and the device includes: a sending module, configured to send a command frame in a predetermined protocol format to a switch supporting a management endpoint function via a side link; wherein the command frame is used to instruct a lightweight proxy service module embedded in the firmware of the switch to perform the following operations: parse the command frame, directly access the configuration space of a downstream target peripheral component interconnect (PCI) high-speed device based on the parsed result to obtain raw asset information, convert the raw asset information into asset information conforming to a predetermined protocol format, and encapsulate the asset information in the predetermined protocol format in a response frame and return it to the baseboard management controller; The receiving module is configured to receive a response frame returned by the lightweight proxy service module, wherein the response frame includes the asset information in the predetermined protocol format.

[0021] In one embodiment, the device further comprises: The handshake module is used to perform a handshake operation with the switch during the server startup process, wherein the handshake operation is used to establish an encrypted communication channel between the baseboard management controller and the switch and determine communication parameters.

[0022] In one embodiment, the device further comprises: a device discovery module, configured to send a "detect all" command to the switch to instruct the lightweight proxy service module to traverse the downstream Peripheral Component Interconnect Express (PCI) device topology, collect basic information of all downstream PCI Express devices, and return the information; Build a device list based on the returned basic information.

[0023] According to a third aspect of the present application, a baseboard management controller is provided, the baseboard management controller comprising: memory for storing computer programs; A processor is used to implement the above-mentioned asset information acquisition method when executing the computer program.

[0024] According to a fourth aspect of the present application, a server is provided, comprising: The above-mentioned baseboard management controller; A switch connected to the baseboard management controller via a side link, the switch supporting a management endpoint function and having a lightweight proxy service module fixed in its firmware; At least one peripheral component interconnect high-speed device is connected to the switch.

[0025] According to a fifth aspect of the present application, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method described in the present application.

[0026] The asset information acquisition method, device, server, controller and medium of the present application send a command frame in a predetermined protocol format to a switch supporting the management endpoint function via a side link; wherein the command frame is used to instruct a lightweight proxy service module solidified in the firmware of the switch to perform the following operations: parse the command frame, directly access the configuration space of the downstream target peripheral component interconnect high-speed device based on the parsing result to obtain the original asset information, convert the original asset information into asset information that conforms to the predetermined protocol format, and encapsulate the asset information in the predetermined protocol format in a response frame and return it to the baseboard management controller; receive the response frame returned by the lightweight proxy service module, the response frame containing the asset information in the predetermined protocol format. By establishing a dedicated side link between the baseboard management controller and the peripheral component interconnect high-speed switch supporting the management endpoint function, a communication channel independent of the BIOS is constructed, getting rid of the traditional dependence on the BIOS. At the same time, a lightweight proxy service module is implanted in the switch firmware as an intermediate layer between the baseboard management controller and the downstream peripheral component interconnect high-speed device. It monitors the predetermined protocol format command frames sent by the baseboard management controller in real time, accurately analyzes the command intent, and directly accesses the hardware configuration space of the target peripheral component interconnect high-speed device to obtain asset information and return it to the baseboard management controller, realizing the independent acquisition of asset information of the downstream peripheral component interconnect high-speed device based on the baseboard management controller.

[0027] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] The above and other objects, features and advantages of the exemplary embodiments of the present application will become readily understood by reading the detailed description below with reference to the accompanying drawings. In the accompanying drawings, several embodiments of the present application are shown in an illustrative and non-limiting manner, in which: In the drawings, the same or corresponding reference numerals denote the same or corresponding parts.

[0029] Figure 1 The following is a schematic diagram showing the implementation process of the asset information acquisition method provided in an embodiment of the present application; Figure 2 A schematic diagram illustrating an implementation flow of a device discovery process of the asset information acquisition method provided in an embodiment of the present application is shown; Figure 3 A schematic diagram illustrating an implementation flow of an original asset information acquisition operation of the asset information acquisition method provided in an embodiment of the present application is shown; Figure 4 A schematic diagram of the structure of the asset information acquisition device provided in an embodiment of the present application is shown; Figure 5 A schematic diagram of the structure of an electronic device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0030] In order to make the purpose, features, and advantages of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of this application.

[0031] First, let's explain the application scenario of this application. In the current server architecture, there are two traditional ways for BMC to obtain PCIE device asset information: 1) Pushing PCIE device asset information to the BMC after BIOS bootup. This method works by proactively pushing detected PCIE device asset information to the BMC after the BIOS completes initialization during computer startup. While this mechanism appears to be a straightforward way to share asset information, it presents numerous challenges in practice.

[0032] First, the BMC's acquisition of asset information is too tightly coupled with the BIOS. This means that the BMC's acquisition of asset information is highly dependent on the proper functioning of the BIOS. If the BIOS fails to boot, whether due to hardware failure, software conflicts, or other reasons, the BMC will be unable to obtain PCIE device asset information from the BIOS. This asset information serves as the foundation for subsequent acquisition of other critical PCIE device information, and its absence can have a ripple effect. For example, the BMC cannot further obtain temperature information from PCIE devices. In computer systems, temperature is a key indicator of device operating status. Excessively high temperatures can cause device performance degradation or even damage. Without access to temperature information, the BMC cannot promptly manage device cooling or issue overheating warnings, increasing the risk of device damage and impacting the stability and reliability of the entire computer system.

[0033] Secondly, when the computer enters the operating system, the BIOS enters a dormant state. In this state, the BIOS ceases active interaction with external devices and is unable to transmit any information to the BMC. However, in modern computer systems, many PCIe devices, such as NVMe solid-state drives (SSDs) and OPC network cards, support hot-swappable functionality. These devices can be inserted or removed at any time while the computer is running, and their status can change at any time. However, because the BIOS is in a dormant state, it cannot promptly detect these changes and transmit relevant information to the BMC. For example, when a user inserts a new NVMe SSD, the BMC is not immediately aware of this change and is unable to manage and monitor it accordingly, such as allocating storage resources or monitoring its operating status. This not only affects the system's flexibility and scalability, but also causes inconvenience to users.

[0034] 2) Asset information is transferred via configuration files or a dedicated burning tool. During the computer production phase, this method accurately transfers the PCIE device's asset information to the motherboard's non-volatile storage space using a configuration file or a dedicated burning tool. When the BMC boots, it reads the pre-stored asset information from this storage space. While this method was initially intended to eliminate reliance on the BIOS and enable independent storage and retrieval of asset information, it also presents some significant challenges in practice.

[0035] On the one hand, this approach requires additional configuration or programming during production. In the context of mass computer production, this process is required for every device, undoubtedly increasing the workload and time cost of production. Production personnel must use specialized tools and software, following a specific process to accurately write asset information into non-volatile storage. This not only requires a certain level of technical expertise and operational experience, but is also prone to errors caused by negligence or improper operation.

[0036] On the other hand, the process of entering asset information is prone to errors due to the large amount of information involved and the multiple parameters involved. For example, information such as the device model, serial number, and production date may be entered incorrectly. Once this erroneous information is stored in non-volatile storage, it will have a serious impact on subsequent device management and monitoring. The BMC identifies and manages the device based on incorrect information, which may cause the device to malfunction or failures to be discovered in a timely manner. Moreover, if the device status changes, such as when the device is upgraded or some parts are replaced, the asset information needs to be re-entered. This not only requires tedious configuration or burning again, but also may cause the information obtained by the BMC to be inconsistent with the actual device status due to untimely information updates, further increasing the difficulty and cost of system management.

[0037] In view of the above-mentioned prior art, the technical problems that this application needs to solve are mainly as follows: 1. Technical challenges in establishing hardware links: 1) PCIE switch selection and adaptation problems; To effectively manage PCIE devices, it's necessary to select a PCIE switch (such as the Broadcom PEX88000 series) that supports the Management Endpoint feature from a wide range of models. However, server hardware architectures and performance requirements vary, so the selected switch must accurately manage the status of each device within a complex PCIE topology and achieve deep interaction with the BMC. This requires in-depth analysis of the switch's functional characteristics and extensive compatibility testing to ensure functional compatibility. Furthermore, given the limited space on the server motherboard, the switch layout must comprehensively consider factors such as signal transmission quality and heat dissipation. Furthermore, the electrical connection with other hardware components must be stable and reliable to avoid signal interference or poor contact. 2) Side link design and signal integrity assurance issues; The sidelink between the BMC and PCIE switch typically uses SMBus (System Management Bus), I2C (Inter-Integrated Circuit), or LPC (Low Pin Count). However, each has its own advantages and disadvantages. While SMBus is simple and low-power, it has a low transmission rate, making it suitable only for short-distance, low-speed data transmission. I2C supports a multi-master-slave architecture and flexible addressing, facilitating the connection of multiple devices, but it has limitations in transmission distance and speed. LPC offers a higher transmission rate and a smaller pin count, reducing motherboard wiring complexity, but at a relatively high cost. Therefore, the optimal sidelink method must be selected based on the server hardware architecture and performance requirements, taking into account a comprehensive trade-off between transmission rate, power consumption, cost, and wiring complexity. Furthermore, regardless of the sidelink selected, signal transmission integrity must be guaranteed. Motherboard design should consider factors such as signal attenuation and interference, and cabling strategies and enhancements such as differential signaling and the addition of signal repeaters should be implemented to ensure accurate and reliable data transmission between the BMC and the switch. 2. Technical Difficulties in Deploying the Proxy Service Module 1) Firmware implantation and operational stability issues; The proxy service embedded in the PCIE switch firmware is responsible for core tasks such as command forwarding, data collection, and format conversion. However, its operation relies on the switch's limited firmware resources. Key challenges remain: how to minimize the impact on switch performance while achieving low memory and CPU (Central Processing Unit) resource usage through highly optimized code, ensuring efficient and stable operation, and avoiding resource contention that could degrade switch performance or cause proxy service crashes. Furthermore, the proxy service must be loaded and run at system startup to enable real-time management and monitoring of PCIE devices. This places stringent requirements on its startup mechanism and initialization process, ensuring reliable startup in complex startup environments to prevent startup failures or initialization errors that could lead to management failures.

[0038] 2) Command parsing and mapping accuracy issues; The proxy service module must accurately monitor and parse BMC command requests. Different commands have different formats and parameters, such as BDF (Bus-Device-Function) address, offset, and data length. Correctly identifying command codes and extracting parameters is crucial for accurately translating BMC requests into PCIE configuration space access operations. Furthermore, the PCIE device configuration space is complex, with register addresses and access methods varying for different devices and functions. The proxy module must establish an accurate mapping and dynamically adjust access methods based on command parameters. Failure to do so can result in inaccurate data acquisition or device configuration errors. 3) data collection and formatting standardization issues; The data collected by the proxy service module from the PCIE device configuration space involves key information such as device status and performance parameters. A reliable reading mechanism and verification are required to ensure data integrity and accuracy, preventing data loss or errors from impacting the BMC's management and monitoring of the device. Furthermore, to facilitate BMC analysis and processing, the collected data must be organized and formatted into a unified format. This requires the development of strict data format specifications and ensuring that the proxy module adheres to these specifications when processing different types of devices and data. This improves system compatibility and scalability, enabling unified BMC management of various PCIE devices. 3. Technical requirements for protocol design 1) The rationality of frame structure design; The protocol frame structure must include fields such as the frame header, command code, BDF address, offset, data length, payload, and CRC (Cyclic Redundancy Check). Each field must be designed to meet the communication requirements between the BMC and the PCIE switch. For example, the frame header must effectively identify the frame start and type to avoid data reception confusion, and the payload length must be appropriately set to meet data transmission requirements. At the same time, a balance must be struck between information integrity and transmission efficiency. Overly long frame headers and excessive checksum fields increase transmission overhead, while undersized payloads lead to multiple transmissions and increased communication latency. A frame structure must be designed that ensures both accurate information transmission and high efficiency. 2) Comprehensiveness and compatibility of command support; The commands supported by the protocol must fully cover the BMC's management requirements for PCIE devices, including various basic commands. At the same time, it must be forward-looking and extensible to accommodate new requirements such as device configuration modifications and performance monitoring that may arise in the future, and facilitate the addition of new commands. Furthermore, PCIE devices from different manufacturers may have differences in configuration space structure and data formats, such as the format of Vital Product Data (VPD). Therefore, protocol commands must be highly compatible and provide a universal processing method to ensure that the BMC can correctly obtain key information from various devices. To solve the above technical problems, the present application provides an asset information acquisition method, device, server, controller and medium.

[0039] To implement the asset information acquisition method of the present embodiment, the present embodiment provides a server comprising a baseboard management controller (BMC), a switch, and at least one peripheral component interconnect (PCI) device. The switch is a PCIE switch connected to the BMC via a sidelink, supports endpoint management functionality, and has a lightweight proxy service module embedded in its firmware. The BMC is used to execute the asset information acquisition method of the present embodiment.

[0040] To achieve efficient management and information acquisition of high-speed interconnected devices within the server's peripheral components, a PCIE switch with specific functions must be carefully configured within the server's motherboard hardware architecture. Specifically, the present application embodiment specifies that the switch supports the Management Endpoint function, such as the Broadcom PEX88000 series of switches. This series of switches has powerful management capabilities and stable performance, enabling accurate management and monitoring of the status of each device in a complex PCIE topology. At the same time, its Management Endpoint function enables in-depth interaction with the BMC.

[0041] After the switch is selected, based on experience, the switch is reasonably laid out and configured on the server motherboard to build a stable and efficient PCIE device management infrastructure, providing solid hardware support for subsequent information acquisition and management operations.

[0042] Furthermore, after the switch layout is completed, in order to achieve efficient and reliable communication between the baseboard management controller and the switch management endpoint, a dedicated physical connection side link needs to be designed. Specifically, common side link options include SMBus, I2C and LPC. SMBus has the characteristics of simplicity and low power consumption, is suitable for short-distance, low-speed data transmission, and can meet the basic management information interaction needs between the baseboard management controller and the switch. I2C is widely used in hardware management with its multi-master-slave architecture and flexible addressing method. It can easily connect multiple devices to achieve centralized management of switches and other related devices by the baseboard management controller. LPC has a high transmission rate and a low pin count, which can reduce the wiring complexity on the motherboard while ensuring data transmission efficiency. In order to ensure that a stable and efficient dedicated physical connection channel is established between the baseboard management controller and the PCIE switch, the embodiment of the present application preferably selects the side link according to the specific hardware architecture and performance requirements of the server, thereby providing a reliable channel for subsequent data transmission and management operations.

[0043] To enable interaction between the baseboard management controller and the peripheral component interconnect (PCI) high-speed device, an agent service module is also implanted in the switch's firmware. The implanted agent service serves as a bridge between the baseboard management controller and the PCI high-speed device, undertaking important tasks such as command forwarding, data collection, and format conversion. Given the lightweight design characteristics of the lightweight agent service (AgentService), it does not significantly impact the performance of the switch while being able to operate efficiently with limited resources. Therefore, the agent service module in the embodiment of the present application can be defined as a lightweight agent service module. By implanting the agent service at the switch firmware level, it ensures that it can be loaded and run when the server starts, thereby achieving real-time management and monitoring of the PCI high-speed device.

[0044] Figure 1 A schematic diagram of the implementation process of the asset information acquisition method provided in an embodiment of the present application is shown.

[0045] refer to Figure 1An embodiment of the present application provides an asset information acquisition method, which is applied to a baseboard management controller. The method includes: operation 101, sending a command frame in a predetermined protocol format to a switch that supports a management endpoint function through a side link; wherein the command frame is used to instruct a lightweight agent service module solidified in the firmware of the switch to perform the following operations: parsing the command frame, directly accessing the configuration space of a downstream target peripheral component interconnect high-speed device according to the parsing result to obtain original asset information, converting the original asset information into asset information that complies with a predetermined protocol format, and encapsulating the asset information in the predetermined protocol format in a response frame and returning it to the baseboard management controller; operation 102, receiving a response frame returned by the lightweight agent service module, the response frame containing asset information in the predetermined protocol format.

[0046] In operation 101, a command frame in a predetermined protocol format is sent to a switch supporting a management endpoint function via a side link. The command frame is used to instruct a lightweight proxy service module embedded in the switch's firmware to perform the following operations: parse the command frame, directly access the configuration space of a downstream target peripheral component interconnect (PCI) high-speed device based on the parsing result to obtain raw asset information, convert the raw asset information into asset information that complies with a predetermined protocol format, and encapsulate the asset information in the predetermined protocol format in a response frame and return it to the baseboard management controller.

[0047] To ensure stable data transmission between the BMC and the switch, a communication protocol must be configured between the BMC and the switch. This communication protocol includes a predefined protocol format that defines the frame structure used when the BMC and the switch interact. The communication protocol is also configured to support multiple types of commands.

[0048] After configuring the communication protocol, when it is necessary to obtain asset information of downstream peripheral component interconnect high-speed devices through the baseboard management controller, the asset information acquisition command is constructed into a command frame according to the predetermined protocol format, and the command frame in the predetermined protocol format is sent to the switch.

[0049] The lightweight proxy service module within the switch monitors command requests from the baseboard management controller (BMC) in real time. When the BMC sends a command frame, the lightweight proxy service module quickly captures and parses it. By thoroughly analyzing the structure and content of the command frame, the lightweight proxy service module accurately converts the BMC command frame into a PCI Express device configuration space access operation. This allows the module to precisely understand the BMC's intent and map it to the corresponding downstream target PCI Express device configuration space register access, ensuring that asset information for the target downstream PCI Express device can be correctly retrieved or set.

[0050] After completing command parsing and configuration space access, the lightweight proxy service module reads the required raw asset information from the downstream target PCI Express device configuration space according to a predefined protocol structure. It then organizes and formats the raw asset information based on the predefined protocol format. The formatted raw asset information is then encapsulated into a command frame and returned to the baseboard management controller in a unified format. This standardized data return method improves server compatibility and scalability, enabling diverse PCI Express devices to be uniformly managed and monitored by the baseboard management controller.

[0051] In one embodiment of the present application, the side link is a system management bus, a two-wire serial bus, or a low pin count bus. It can be configured according to the specific hardware architecture and performance requirements of the server and is not specifically limited in this application.

[0052] In operation 102 , a response frame returned by the lightweight agent service module is received, where the response frame includes asset information in a predetermined protocol format.

[0053] Specifically, the baseboard management controller monitors the return data from the switch in real time through the side link. After capturing the response frame, it obtains the asset information and reads it according to the parsing rules of the predetermined protocol format.

[0054] Asset information may include basic information, detailed attribute information, configuration parameters, key product data, and resource allocation information for Peripheral Component Interconnect (PCI) devices. Basic information may include, but is not limited to, BDF address, device type, and vendor ID; detailed attribute information may include, but is not limited to, video memory size and storage capacity; configuration parameters may include, but is not limited to, operating mode and interface type; key product data may include, but is not limited to, manufacturer, model, and serial number; and resource allocation information may include, but is not limited to, base address register space information.

[0055] Thus, the embodiments of the present application establish a dedicated side link between the baseboard management controller and a peripheral component interconnect (PCI) high-speed switch that supports endpoint management functions, thereby constructing a communication channel independent of the BIOS and breaking away from the traditional reliance on the BIOS. Simultaneously, a lightweight proxy service module is embedded in the switch firmware as an intermediate layer between the baseboard management controller and downstream PCI high-speed devices. This module monitors command frames in a predetermined protocol format sent by the baseboard management controller in real time, accurately interprets the command intent, and directly accesses the hardware configuration space of the target PCI high-speed device to obtain asset information and return it to the baseboard management controller, thus enabling the independent acquisition of asset information of downstream PCI high-speed devices by the baseboard management controller.

[0056] In one embodiment of the present application, before sending a command frame in a predetermined protocol format to a switch that supports the management endpoint function through a side link, a handshake operation is performed with the switch during the server startup process. The handshake operation is used to establish an encrypted communication channel between the baseboard management controller and the switch and determine communication parameters.

[0057] Specifically, during server startup, the baseboard management controller (BMC) first performs a handshake with the switch to establish an encrypted communication channel, ensuring secure and reliable communication between the BMC and the switch. Encryption technology also prevents data theft or tampering during transmission, protecting sensitive information. During the handshake, both parties negotiate communication parameters, such as encryption algorithms and keys, and establish a stable connection.

[0058] In one embodiment of the present application, in order to ensure continuous monitoring and management of peripheral component interconnect high-speed devices, a lightweight agent service module is synchronously loaded and resident when the switch is powered on.

[0059] In one embodiment of the present application, the predetermined protocol format includes, in order: a frame header field, a command code field, a device identification field, an offset field, a data length field, a payload field, and a checksum field. The frame header field is used to identify the starting position and type of the command frame; the command code field is used to indicate the command type of the command frame; the device identification field is used to indicate the device identification of the downstream target peripheral component interconnect high-speed device; the offset field is used to indicate the specific location of the configuration space to be accessed or read; the data length field is used to indicate the data size of the configuration space to be accessed or read; the payload field is used to indicate the actual data content to be transmitted; and the checksum field is used to indicate a cyclic redundancy check code.

[0060] Specifically, to ensure stable data transmission between a baseboard management controller (BMC) and a switch, embodiments of the present application designate an efficient and reliable communication protocol. The communication protocol includes a predetermined protocol structure. This predetermined protocol structure adopts the format of a frame header field | command code field | device identification field | offset field | data length field | payload field | checksum field. The frame header field identifies the origin and type of the frame, providing basic information for data reception and parsing. Frame types can include command frames and response frames. The command code field specifies the command type carried by the frame, such as scanning devices or reading configurations. The device identification field represents the BDB address and includes the device identification, which uniquely identifies the PCI Express device, ensuring that commands are accurately sent to the target PCI Express device. The offset and data length fields specify the specific location and data size of the configuration space to be accessed. The payload field represents the actual data content transmitted. Its length can be flexibly adjusted as needed, up to 128 bytes. The checksum field includes a CRC (Color Count) checksum, which ensures the accuracy of data transmission. By calculating and verifying the CRC checksum, errors during data transmission can be detected and corrected promptly.

[0061] In one embodiment of the present application, the predetermined protocol structure of the embodiment of the present application is specifically: [frame header 4B] | [command code 1B] | [BDF address 3B] | [offset 2B] | [data length 2B] | [payload 0-128B] | [CRC 2B]. Wherein, B refers to byte.

[0062] In one embodiment of the present application, after receiving a command frame, the lightweight proxy service module can obtain asset information through the following operations: extracting the command code, device identification, offset and data length from the received command frame; locating the downstream target peripheral component interconnect high-speed device according to the device identification, and directly reading the corresponding original asset information in the configuration space of the downstream target peripheral component interconnect high-speed device according to the command code, offset and data length; preprocessing the original asset information to obtain asset information that conforms to a predetermined protocol format.

[0063] In one embodiment of the present application, the original asset information is pre-processed, including: organizing and formatting the original asset information according to a preset data format specification to generate asset information that complies with a predetermined protocol format.

[0064] When the lightweight proxy service module receives the command frame sent by the baseboard management controller through the side link, it first disassembles the frame structure according to the predetermined protocol format. The command code, device identifier, offset and data length contained in the command frame are disassembled. Then, using the extracted device identifier, after locating the downstream target peripheral component interconnect high-speed device in the peripheral component interconnect high-speed device topology structure, it directly initiates access to the hardware configuration space of the downstream target peripheral component interconnect high-speed device in combination with the command code, offset and data length. The configuration space of the peripheral component interconnect high-speed device is a dedicated register area that stores the core asset information of the device, such as manufacturer ID, device model, serial number, performance parameters, etc. The lightweight proxy service module directly reads the data in this area through the hardware interface to obtain the original asset information.

[0065] The raw asset information read from the configuration space may be in a hardware-native format such as binary or hexadecimal, and the data structure may differ between different manufacturers' devices. Therefore, after reading the raw asset information, the lightweight proxy service module also organizes and formats it according to preset data format specifications, i.e., the data format requirements within the predetermined protocol format. This ensures that the baseboard management controller does not need to develop differentiated parsing logic for different Peripheral Component Interconnect (PCI) devices, achieving unified management of all types of PCI devices.

[0066] In one embodiment of the present application, the command types shown in the command code field include: detect all command type, detect device command type, read configuration command type, read key product data command type and read base address register command type.

[0067] Specifically, different types of commands correspond to different dimensions of asset information. That is, different asset information needs to be obtained for different types of commands. The command types supported by the embodiments of the present application may include the probe all command type (PROBE_ALL), the probe device command type (PROBE_DEVICE), the read configuration command type (READ_CONFIG), the read critical product data command type (READ_VPD), and the read base address register command type (READ_BAR).

[0068] In one embodiment of the present application, a command of the detect device command type is used to instruct the lightweight agent service module to read the device address in the configuration space of the downstream peripheral component interconnect high-speed device specified by the device identifier; a command of the read configuration command type is used to instruct the lightweight agent service module to read the configuration parameters in the configuration space of the specified downstream peripheral component interconnect high-speed device; a command of the read key product data command type is used to instruct the lightweight agent service module to access the key product data area in the configuration space of the downstream peripheral component interconnect high-speed device and return the device identifier shown in the key product data area; a command of the read base address register command type is used to instruct the lightweight agent service module to access the base address register area in the configuration space of the specified downstream peripheral component interconnect high-speed device and return the base address register space information shown in the base address register area.

[0069] Specifically, the PROBE_ALL command is used to scan all devices on the bus. After receiving the command, the lightweight agent service module will traverse the entire Peripheral Component Interconnect High-Speed ​​device topology, collect basic information of all Peripheral Component Interconnect High-Speed ​​devices, and return it to the baseboard management controller, so that the baseboard management controller can quickly understand all Peripheral Component Interconnect High-Speed ​​devices in the server and provide basic data for subsequent detailed management and monitoring.

[0070] The PROBE_DEVICE command is used to obtain detailed information about a specified device. The baseboard management controller can use this command to specify the PCI Express device to be queried. The lightweight agent service module performs a series of operations, such as reading the PCI Express device's configuration space, intelligently identifying the device type, and returning specific PCI Express device asset information.

[0071] The READ_CONFIG command is used to allow the baseboard management controller to read the configuration space data of the peripheral component interconnect high-speed device so as to view and adjust the configuration parameters of the device.

[0072] The READ_VPD command is used to read the VPD of the device. This data contains important information about the device, such as manufacturer, model, serial number, etc.

[0073] The READ_BAR command is used to read the BAR (Base Address Register) space of a device. The BAR space defines the address range of the device in memory or I / O space. By reading the BAR space information, the BMC can understand the resource allocation of the device.

[0074] Figure 2 A schematic diagram of the implementation flow of the device discovery process of the asset information acquisition method provided in an embodiment of the present application is shown.

[0075] refer to Figure 2 Before sending a command frame in a predetermined protocol format to a switch that supports the management endpoint function through a side link, device discovery is required. The device discovery process is used to enable the baseboard management controller to understand all peripheral component interconnect high-speed devices in the server. The device discovery process includes: Operation 201: Send a detect all command to the switch to instruct the lightweight agent service module to traverse the downstream Peripheral Component Interconnect Express device topology structure, collect basic information of all downstream Peripheral Component Interconnect Express devices and return it; Operation 202: construct a device list based on the returned basic information.

[0076] Specifically, the baseboard management controller sends a PROBE_ALL command to the switch that supports the management endpoint function, instructing the lightweight agent service module in the switch firmware to traverse the entire peripheral component interconnect high-speed device topology structure, collect basic information of all downstream peripheral component interconnect high-speed devices, and organize this information and return it to the baseboard management controller. The baseboard management controller builds a device list of peripheral component interconnect high-speed devices in the server based on the returned basic information.

[0077] In one embodiment of the present application, the basic information includes the device address, device type and manufacturer information; the device address is used to indicate the bus address, device access address and device function access address; the device type includes storage device, network interface device, graphics processing device; the manufacturer information is used to indicate the manufacturer identification.

[0078] Specifically, basic information may include, but is not limited to, the BDF address, device type, and manufacturer information (manufacturer ID) of the PCI Express device. Device types include storage devices, network interface devices, and graphics processing devices, such as graphics cards, network cards, and hard drives.

[0079] Figure 3 A schematic diagram of the implementation flow of the original asset information acquisition operation of the asset information acquisition method provided in an embodiment of the present application is shown.

[0080] refer to Figure 3 In the case where the command type is a device detection command type, in the above operation 101, parsing the command frame and directly accessing the configuration space of the downstream target peripheral component interconnect high-speed device to obtain the original asset information according to the parsing result include: Operation 301, extracting a device identifier from a command frame; Operation 302 , reading the first set byte data of the configuration space of the downstream target PCI Express device corresponding to the device identifier; Operation 303 , determining the device type of the downstream target PCI Express device using a device type identification algorithm based on the previously set byte data; In operation 304 , according to the device type, original asset information corresponding to the device type is read from the configuration space of the downstream target PCI Express device.

[0081] Specifically, after completing device discovery, the baseboard management controller can send commands of the corresponding type as needed. When the command frame is the PROBE_DEVICE command, the extended asset information, i.e., the raw asset information, of the specified downstream target PCI Express device is obtained. After receiving this command, the lightweight proxy service module reads the 256-byte configuration space of the downstream target PCI Express device and obtains the basic configuration information of the downstream target PCI Express device. Then, using the device type intelligent identification algorithm, the device type of the downstream target PCI Express device is determined based on the feature information in the configuration space. Finally, the lightweight proxy service module collects device-specific raw asset information based on the device type, such as the graphics card's video memory size, the network card's MAC address, and the storage device's capacity, and returns this raw asset information to the baseboard management controller. The baseboard management controller can store and manage this detailed raw asset information, providing strong support for device maintenance, upgrades, and troubleshooting.

[0082] Figure 4 A schematic diagram of the structure of the asset information acquisition device provided in an embodiment of the present application is shown.

[0083] Based on the above-mentioned asset information acquisition method, an embodiment of the present application provides an asset information acquisition device, which is applied to a baseboard management controller. The device includes: The sending module 401 is configured to send a command frame in a predetermined protocol format to a switch supporting the management endpoint function via a side link. The command frame is configured to instruct a lightweight proxy service module embedded in the switch firmware to perform the following operations: parse the command frame, directly access the configuration space of a downstream target peripheral component interconnect (PCI) high-speed device based on the parsed result to obtain raw asset information, convert the raw asset information into asset information in a predetermined protocol format, and encapsulate the asset information in the predetermined protocol format in a response frame and return it to the baseboard management controller. The receiving module 402 is configured to receive a response frame returned by the lightweight proxy service module, where the response frame includes asset information in a predetermined protocol format.

[0084] In one embodiment of the present application, the device further includes: The handshake module is used to perform a handshake operation with the switch during the server startup process. The handshake operation is used to establish an encrypted communication channel between the baseboard management controller and the switch and determine communication parameters.

[0085] In one embodiment of the present application, the device further includes: The device discovery module is used to send a detect all command to the switch to instruct the lightweight agent service module to traverse the downstream Peripheral Component Interconnect Express device topology, collect basic information of all downstream Peripheral Component Interconnect Express devices and return it; Build a device list based on the returned basic information.

[0086] It should be noted that the description of the device in the embodiment of the present application is similar to the description of the method embodiment above, and has similar beneficial effects as the method embodiment, so it will not be repeated. Figures 1 to 3 The present invention shall be understood by reference to the description of any of the accompanying drawings.

[0087] Based on the above asset information acquisition method, an embodiment of the present application further provides a baseboard management controller, which includes: memory for storing computer programs; A processor is used to implement the above-mentioned asset information acquisition method when executing a computer program.

[0088] According to an embodiment of the present application, the present application also provides an electronic device and a readable storage medium.

[0089] Figure 5 A schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.

[0090] like Figure 5 As shown, electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. RAM 503 may also store various programs and data required for the operation of device 500. Computing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to bus 504.

[0091] Multiple components in the electronic device 500 are connected to the I / O interface 505, including an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a magnetic disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0092] The computing unit 501 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as the XXX method. For example, in some embodiments, the XXX method may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed onto the device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the XXX method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the XXX method by any other suitable means (e.g., via firmware).

[0093] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0094] The program code for implementing the methods of the present application can be written in any combination of one or more programming languages. Such program code can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the program code is executed by the processor or controller, the functions / operations specified in the flow charts and / or block diagrams are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0095] In the context of this application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or apparatus. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0096] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0097] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0098] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.

[0099] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this application can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this application can be achieved. This is not a limitation herein.

[0100] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout the description of this application, "plurality" means two or more, unless otherwise specifically defined.

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

Claims

1. A method for acquiring asset information, characterized in that: Applied to a baseboard management controller, the method includes: Sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function via a side link; wherein the command frame is used to instruct a lightweight proxy service module embedded in the firmware of the switch to perform the following operations: parsing the command frame, directly accessing the configuration space of a downstream target peripheral component interconnect (PCI) high-speed device based on the parsed result to obtain raw asset information, converting the raw asset information into asset information conforming to a predetermined protocol format, and encapsulating the asset information in the predetermined protocol format in a response frame and returning it to the baseboard management controller; A response frame returned by the lightweight proxy service module is received, where the response frame includes the asset information in the predetermined protocol format.

2. The method according to claim 1, characterized in that Before sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a side link, the method further includes: During the server startup process, a handshake operation is performed with the switch, wherein the handshake operation is used to establish an encrypted communication channel between the baseboard management controller and the switch and determine communication parameters.

3. The method according to claim 1, characterized in that The side link is one of a system management bus, a two-wire serial bus, or a low pin count bus.

4. The method according to claim 1, wherein The lightweight proxy service module is synchronously loaded and resident when the switch is powered on and started.

5. The method according to claim 1, wherein The predetermined protocol format includes, in sequence: a frame header field, a command code field, a device identification field, an offset field, a data length field, a payload field, and a check field.

6. The method according to claim 5, characterized in that The frame header field is used to identify the starting position and type of the command frame; The command code is used to indicate the command type of the command frame; The device identification field is used to indicate the device identification of the downstream target PCI Express device; The offset field is used to indicate the specific location of the configuration space that needs to be accessed or read; The data length field is used to indicate the data size of the configuration space that needs to be accessed or read; The payload field is used to indicate the actual data content transmitted; The check field is used to indicate a cyclic redundancy check code.

7. The method according to claim 6, characterized in that The parsing of the command frame, directly accessing the hardware configuration space of the downstream target peripheral component interconnect high-speed device according to the parsing result to obtain original asset information, and converting the original asset information into asset information that complies with a predetermined protocol format, includes: Extract the command code, device identification, offset and data length from the received command frame; Locating a downstream target PCI Express device according to the device identifier, and directly reading corresponding original asset information in a configuration space of the downstream target PCI Express device according to the command code, the offset, and the data length; The original asset information is preprocessed to obtain asset information that complies with a predetermined protocol format.

8. The method according to claim 7, characterized in that The pre-processing of the original asset information includes: According to the preset data format specifications, the original asset information is sorted and formatted to generate asset information that conforms to the predetermined protocol format.

9. The method according to claim 6, characterized in that The command types shown in the command code field include: detect all command type, detect device command type, read configuration command type, read key product data command type, and read base address register command type.

10. The method according to claim 9, characterized in that The command of the detection device command type is used to instruct the lightweight agent service module to read the device address in the configuration space of the downstream peripheral component interconnect high-speed device specified by the device identifier; The command of the read configuration command type is used to instruct the lightweight agent service module to read the configuration parameters in the configuration space of the specified downstream peripheral component interconnect high-speed device; The command of the read key product data command type is used to instruct the lightweight proxy service module to access the key product data area in the configuration space of the downstream PCI Express device and return the device identification shown in the key product data area; The command of the read base address register command type is used to instruct the lightweight agent service module to access the base address register area in the configuration space of the designated downstream peripheral component interconnect high-speed device and return the base address register space information shown in the base address register area.

11. The method according to claim 9, characterized in that Before sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a side link, the method further includes: Sending a detect all command to the switch to instruct the lightweight proxy service module to traverse the downstream Peripheral Component Interconnect Express device topology structure, collect basic information of all downstream Peripheral Component Interconnect Express devices and return it; Build a device list based on the returned basic information.

12. The method according to claim 11, characterized in that The basic information includes device address, device type and manufacturer information.

13. The method according to claim 12, characterized in that The device address is used to indicate the bus address, device access address and device function access address; The device types include storage devices, network interface devices and graphics processing devices; The manufacturer information includes a manufacturer identification.

14. The method according to claim 9, characterized in that In a case where the command type is a device detection command type, parsing the command frame and directly accessing the configuration space of the downstream target peripheral component interconnect high-speed device according to the parsing result to obtain the original asset information includes: Extracting a device identifier from the command frame; Reading the first set byte data of the configuration space of the downstream target peripheral component interconnect high-speed device corresponding to the device identifier; Determining the device type of the downstream target PCI high-speed device using a device type identification algorithm according to the pre-set byte data; According to the device type, original asset information corresponding to the device type is read from the configuration space of the downstream target PCI Express device.

15. An asset information acquisition device, characterized in that: Applied to a baseboard management controller, the device includes: a sending module, configured to send a command frame in a predetermined protocol format to a switch supporting a management endpoint function via a side link; wherein the command frame is used to instruct a lightweight proxy service module embedded in the firmware of the switch to perform the following operations: parse the command frame, directly access the configuration space of a downstream target peripheral component interconnect (PCI) high-speed device based on the parsed result to obtain raw asset information, convert the raw asset information into asset information conforming to a predetermined protocol format, and encapsulate the asset information in the predetermined protocol format in a response frame and return it to the baseboard management controller; The receiving module is configured to receive a response frame returned by the lightweight proxy service module, wherein the response frame includes the asset information in the predetermined protocol format.

16. The device according to claim 15, characterized in that The device further comprises: The handshake module is used to perform a handshake operation with the switch during the server startup process, wherein the handshake operation is used to establish an encrypted communication channel between the baseboard management controller and the switch and determine communication parameters.

17. The device according to claim 15, characterized in that The device further comprises: a device discovery module, configured to send a "detect all" command to the switch to instruct the lightweight proxy service module to traverse the downstream Peripheral Component Interconnect Express (PCI) device topology, collect basic information of all downstream PCI Express devices, and return the information; Build a device list based on the returned basic information.

18. A baseboard management controller, characterized in that: The baseboard management controller includes: memory for storing computer programs; A processor, configured to implement the asset information acquisition method according to any one of claims 1 to 14 when executing the computer program.

19. A server, characterized in that: The server includes: The baseboard management controller according to claim 18; A switch connected to the baseboard management controller via a side link, the switch supporting a management endpoint function and having a lightweight proxy service module fixed in its firmware; At least one peripheral component interconnect high-speed device is connected to the switch.

20. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to enable a computer to execute the asset information acquisition method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Backplane control method based on asset information identification

    CN106776197A

  • Server management method, server and server management system

    CN115277348A

  • SoC system monitoring method, device and equipment based on PCIE network card and medium

    CN117370103A

  • Server asset information interaction processing method and device

    CN117688004A

  • Server expansion module, server, configuration method, device and medium

    CN118708519A

Cited By

  • Equipment information acquisition method and electronic equipment

    CN121037232A