An asset information acquisition method and device, a server, a controller, and a medium

By embedding a lightweight proxy service module into the switch firmware, a sidelink communication channel independent of the BIOS is established, solving the problem of obtaining PCIe device asset information when the BIOS fails or hibernates, and realizing efficient and reliable asset information acquisition and management.

CN120711094BActive Publication Date: 2026-01-02INSPUR (SHANDONG) COMPUTER TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing technologies, the acquisition of server PCIe device asset information relies on the BIOS, which makes it impossible to obtain information when the BIOS fails or hibernates. Furthermore, the method of burning configuration files has problems such as production complexity and static information lag, making it unable to adapt to equipment replacement and upgrades.

Method used

By embedding a lightweight proxy service module into the switch firmware, a side link is established between the baseboard management controller and high-speed interconnection devices of peripheral components, realizing a communication channel independent of the BIOS, directly accessing the PCIe device configuration space to obtain asset information, and performing data conversion and encapsulation through a predetermined protocol format.

Benefits of technology

It enables the acquisition of PCIe device asset information in the event of BIOS failure or hibernation, reducing production complexity and information lag, and improving system flexibility and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120711094B_ABST
    Figure CN120711094B_ABST
Patent Text Reader

Abstract

The application provides an asset information acquisition method and device, a server, a controller and a medium, and relates to the technical field of servers. The method comprises the following steps: sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a sidelink; wherein the command frame is used to instruct a lightweight proxy service module fixed in the firmware of the switch to perform the following operations: analyzing the command frame, directly accessing a configuration space of a downstream target peripheral component interconnect express device according to an analysis result to acquire original asset information, converting the original asset information into asset information in the predetermined protocol format, and encapsulating the asset information in the predetermined protocol format in a response frame and returning the response frame to a baseboard management controller; and receiving the response frame returned by the lightweight proxy service module, wherein the response frame contains the asset information in the predetermined protocol format. The application realizes independent acquisition of asset information based on the baseboard management controller, and avoids dependence on BIOS and burning.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of servers, and in particular to an asset information acquisition method and device, a server, a controller and a medium. BACKGROUND

[0002] With the rapid development of information technology, servers are increasingly widely and deeply applied in various fields, from enterprise-level data centers to personal daily office entertainment devices. Stable operation and efficient management of servers become crucial. In large data centers and enterprise server environments, a large number of server devices are often deployed, which need to run continuously for a long time to ensure business continuity. Once a device fails, it may cause serious consequences such as data loss and business interruption, causing huge economic losses to enterprises. Therefore, effective management and monitoring of servers, timely discovery and resolution of potential problems, have become the key to ensuring stable operation of the system.

[0003] In server management, state monitoring of hardware devices is one of the core links. Among them, PCIE (Peripheral Component Interconnect Express, Peripheral Component Interconnect Express) devices, as an important hardware component in servers, bear key functions such as data transmission, storage, network communication. For example, NVME (Non-Volatile Memory express, Non-Volatile Memory Host Controller Interface Specification) solid state disks have become important devices for improving computer storage performance due to their high-speed data read / write capabilities; OPC (Optical Physical Connection, Optical Physical Connection) network cards are responsible for implementing high-speed data transmission between servers and networks to ensure stable connection of the network. Therefore, accurately grasping the asset information of these PCIE devices is of great significance to the overall management and maintenance of servers.

[0004] Currently, asset information acquisition mainly relies on two traditional schemes: 1) pushed after BIOS (Basic Input / Output System, Basic Input / Output System) startup; 2) information is pre-burned into the motherboard storage through tools during the production stage. However, the first scheme is strongly coupled with BMC (Baseboard Management Controller, Baseboard Management Controller) and BIOS. Once BIOS fails or hibernates, BMC will not work and cannot respond to device hot plug; the second scheme has problems such as production complexity, static lag of information, and cannot adapt to device replacement and upgrade. SUMMARY

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

[0006] According to a first aspect of the application, an asset information acquisition method is provided, applied to a baseboard management controller, and the method comprises the following steps.

[0007] sending 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 to instruct a lightweight proxy service module fixed in firmware of the switch to perform the following operations: parsing the command frame, directly accessing a configuration space of a downstream target peripheral component interconnect express device according to a parsing result to acquire original asset information, converting the original asset information into asset information in a predetermined protocol format, and encapsulating the asset information in a response frame in the predetermined protocol format and returning the response frame to the baseboard management controller;

[0008] receiving a response frame returned by the lightweight proxy service module, wherein the response frame contains the asset information in the predetermined protocol format.

[0009] In an implementation manner, before the step of sending the command frame in the predetermined protocol format to the switch supporting the management endpoint function through the side link, the method further comprises the following steps.

[0010] performing a handshake operation with the switch during a server startup process, wherein the handshake operation is used to establish an encrypted communication channel of the baseboard management controller and the switch and determine communication parameters.

[0011] In an implementation manner, the side link is one of a system management bus, a two-wire serial bus or a low pin count bus.

[0012] In an implementation manner, the lightweight proxy service module is synchronously loaded and residently runs when the switch is powered on.

[0013] In an implementation manner, the predetermined protocol format comprises, 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.

[0014] In an implementation manner, the frame header field is used to identify a starting position and a type of the command frame.

[0015] The command code is used to show a command type of the command frame.

[0016] The device identification field is used to show a device identification of the downstream target peripheral component interconnect express device.

[0017] The offset field is used to show the specific location of the configuration space that needs to be accessed or read;

[0018] The data length field is used to show the data size of the configuration space that needs to be accessed or read;

[0019] The load field is used to show the actual data content transmitted;

[0020] The check field is used to show the cyclic redundancy check code.

[0021] In an implementation, the command frame is parsed, the hardware configuration space of the downstream target peripheral component interconnect express device is directly accessed according to the parsing result to obtain original asset information, and the original asset information is converted into asset information conforming to a predetermined protocol format, including:

[0022] The command code, device identifier, offset and data length are extracted from the received command frame;

[0023] The downstream target peripheral component interconnect express device is located according to the device identifier, and the corresponding original asset information in the configuration space of the downstream target peripheral component interconnect express device is directly read according to the command code, the offset and the data length;

[0024] The original asset information is preprocessed to obtain asset information conforming to a predetermined protocol format.

[0025] In an implementation, the original asset information is preprocessed, including:

[0026] The original asset information is arranged and formatted according to a preset data format specification to generate asset information conforming to a predetermined protocol format.

[0027] In an implementation, the command type shown by the command code field includes: a probe all command type, a probe device command type, a read configuration command type, a read key product data command type and a read base address register command type.

[0028] In an implementation, the probe device command type is used to instruct the lightweight proxy service module to read the device address in the configuration space of the downstream peripheral component interconnect express device specified by the device identifier;

[0029] The read configuration command type is used to instruct the lightweight proxy service module to read the configuration parameter in the configuration space of the specified downstream peripheral component interconnect express device;

[0030] The read key product data command type command is used to instruct the lightweight agent service module to access a key product data region in a configuration space of a downstream peripheral component interconnect express device and return a device identification shown by the key product data region;

[0031] The read base address register command type command is used to instruct the lightweight agent service module to access a base address register region in a configuration space of a specified downstream peripheral component interconnect express device and return base address register space information shown by the base address register region.

[0032] In an implementable manner, before sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a sidelink, the method further comprises:

[0033] sending a probe all command to the switch to instruct the lightweight agent service module to traverse a topology of downstream peripheral component interconnect express devices, collect basic information of all downstream peripheral component interconnect express devices and return;

[0034] constructing a device list according to the returned basic information.

[0035] In an implementable manner, the basic information comprises a device address, a device type and manufacturer information.

[0036] In an implementable manner, the device address is used to show a bus address, a device access address and a device function access address;

[0037] The device type comprises a storage device, a network interface device and a graphics processing device;

[0038] The manufacturer information comprises a manufacturer identification.

[0039] In an implementable manner, in a case where the command type is a probe device command type, the parsing the command frame and directly accessing a configuration space of a downstream target peripheral component interconnect express device to obtain original asset information according to a parsing result comprises:

[0040] extracting a device identification from the command frame;

[0041] reading preset byte data of the configuration space of the downstream target peripheral component interconnect express device corresponding to the device identification;

[0042] judging a device type of the downstream target peripheral component interconnect express device through a device type identification algorithm according to the preset byte data;

[0043] reading original asset information corresponding to the device type from the configuration space of the downstream target peripheral component interconnect express device according to the device type.

[0044] According to a second aspect of the present application, there is provided an asset information acquisition apparatus applied to a baseboard management controller, the apparatus comprising:

[0045] a sending module configured to send a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a sidelink; wherein the command frame is configured to instruct a lightweight proxy service module fixed in firmware of the switch to perform the following operations: parsing the command frame, directly accessing a configuration space of a downstream peripheral component interconnect express device according to a parsing result to acquire original asset information, converting the original asset information into asset information in the predetermined protocol format, and encapsulating the asset information in the predetermined protocol format into a response frame and returning the response frame to the baseboard management controller;

[0046] a receiving module configured to receive the response frame returned by the lightweight proxy service module, the response frame containing the asset information in the predetermined protocol format.

[0047] In an implementation manner, the apparatus further comprises:

[0048] a handshake module configured to perform a handshake operation with the switch during a server startup process, the handshake operation being configured to establish an encrypted communication channel between the baseboard management controller and the switch and determine communication parameters.

[0049] In an implementation manner, the apparatus further comprises:

[0050] a device discovery module configured to send a probe-all command to the switch to instruct the lightweight proxy service module to traverse a topology of downstream peripheral component interconnect express devices, collect basic information of all downstream peripheral component interconnect express devices, and return the basic information.

[0051] construct a device list according to the returned basic information.

[0052] According to a third aspect of the present application, there is provided a baseboard management controller, the baseboard management controller comprising:

[0053] a memory configured to store a computer program;

[0054] a processor configured to implement the asset information acquisition method described above when executing the computer program.

[0055] According to a fourth aspect of the present application, there is provided a server, the server comprising:

[0056] the baseboard management controller described above;

[0057] a switch connected with the baseboard management controller through a sidelink, the switch supporting a management endpoint function and having a lightweight agent service module solidified in firmware thereof;

[0058] at least one peripheral component interconnect express device connected with the switch.

[0059] According to a fifth aspect of the present application, a non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method described in the present application is provided.

[0060] The asset information acquisition method and device, the server, the controller and the medium of the present application send a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a sidelink; 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 a configuration space of a downstream peripheral component interconnect express device according to the parsing result to acquire original asset information, converting the original asset information into asset information conforming to a predetermined protocol format, and encapsulating the asset information in a response frame conforming to the predetermined protocol format and returning the asset information to the baseboard management controller; receiving the response frame returned by the lightweight agent service module, the response frame containing the asset information in the predetermined protocol format. By establishing a dedicated sidelink between the baseboard management controller and the peripheral component interconnect express switch supporting a management endpoint function, a communication channel independent of BIOS is constructed, and the dependence on BIOS in the traditional way is eliminated. At the same time, a lightweight agent service module is implanted in the firmware of the switch as an intermediate layer between the baseboard management controller and the downstream peripheral component interconnect express device, real-time monitoring of the command frame in a predetermined protocol format sent by the baseboard management controller, accurate analysis of the command intent, and direct access to the hardware configuration space of the target peripheral component interconnect express device to acquire asset information and return it to the baseboard management controller, realizing independent acquisition of asset information of the downstream peripheral component interconnect express device based on the baseboard management controller.

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

[0062] The above and other objects, features and advantages of the exemplary embodiments of the present application will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:

[0063] In the drawings, identical or corresponding numbers represent identical or corresponding parts.

[0064] Figure 1 An implementation flowchart of the asset information acquisition method provided by the embodiment of the application is shown;

[0065] Figure 2 An implementation flowchart of the device discovery process of the asset information acquisition method provided by the embodiment of the application is shown;

[0066] Figure 3 An implementation flowchart of the original asset information acquisition operation of the asset information acquisition method provided by the embodiment of the application is shown;

[0067] Figure 4 An implementation flowchart of the asset information acquisition device provided by the embodiment of the application is shown;

[0068] Figure 5 An implementation flowchart of the asset information acquisition device provided by the embodiment of the application is shown. DETAILED DESCRIPTION

[0069] In order to make the objectives, characteristics and advantages of the application more obvious and easy to understand, the technical solutions in the embodiments of the application will be described clearly and completely below with reference to the drawings in the embodiments of the application. Obviously, the described embodiments are only some of the embodiments of the application, but not all the embodiments of the application. Based on the embodiments in the application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the application.

[0070] First, the application scenario of the application is described. In the current server architecture, there are mainly two traditional ways for the BMC to acquire PCIE device asset information:

[0071] 1) Push PCIE device asset information to the BMC after BIOS starts. The basic principle of this way is that in the computer startup process, after the BIOS completes the initialization work, the detected PCIE device asset information is actively pushed to the BMC. On the surface, this information transmission mechanism seems to be able to more directly realize the sharing of asset information, but in actual application, it exposes many problems.

[0072] Firstly, the coupling between BMC and asset information is too strong. This means that BMC relies heavily on the normal operation of BIOS to obtain asset information. Once the BIOS fails to start, whether due to hardware failure, software conflict or other reasons, BMC cannot obtain asset information of PCIE devices from BIOS. And asset information is the basis for subsequent acquisition of other key information of PCIE devices, its absence will have a chain reaction. For example, BMC cannot further obtain temperature information of PCIE devices. In computer systems, temperature is one of the important indicators reflecting the running state of devices, and high temperature may cause device performance degradation or even damage. Without temperature information, BMC cannot timely manage the heat dissipation of the device or issue an overheating warning, thereby increasing the risk of device damage and affecting the stability and reliability of the entire computer system.

[0073] Secondly, when the computer enters the operating system, the BIOS enters a dormant state. In this state, BIOS stops active interaction with external devices and can no longer transmit any information to BMC. However, in modern computer systems, many PCIE devices support hot plug functionality, such as NVME solid state drives and OPC network cards. These devices can be inserted or removed at any time during computer operation, and their status can change at any time. However, since BIOS is in a dormant state, it cannot timely perceive these changes and transmit relevant information to BMC. For example, when a user inserts a new NVME solid state drive, BMC cannot immediately learn of this change and cannot manage and monitor it accordingly, such as allocating storage resources, monitoring its running state, etc. This not only affects the flexibility and scalability of the system, but also brings inconvenience to users.

[0074] 2) Asset information is transmitted through configuration files or burning tools. The specific operation of this method is to accurately transmit the asset information of PCIE devices to the non-volatile storage space of the motherboard through configuration files or special burning tools during computer production. When BMC starts, it reads the pre-stored asset information from this storage space. The original intention of this method is to break away from the dependence on BIOS and achieve independent storage and acquisition of asset information, but there are still some problems that cannot be ignored in actual application.

[0075] On the one hand, this method requires additional configuration or burning work during production. In the context of large-scale computer production, each device needs to be operated in this way, which undoubtedly increases the workload and time cost of the production link. Production personnel need to use special tools and software to accurately write asset information into non-volatile storage space according to certain procedures, which not only requires production personnel to have certain technical level and operation experience, but also is prone to errors due to human negligence or improper operation.

[0076] On the other hand, in the process of entering asset information, due to the large amount of information and the involvement of multiple parameters, it is easy to make entry errors. For example, the model, serial number, production date and other information of the device may be incorrectly input. Once these incorrect information is stored in the non-volatile storage space, it will have a serious impact on subsequent device management and monitoring. BMC identifies and manages the device according to the incorrect information, which may cause the device to malfunction or not be discovered in time. Moreover, once the device state changes, such as the device is upgraded, replaced with parts, etc., the asset information needs to be re-entered. This not only requires tedious configuration or burning work again, but also may cause the information to be updated in time, resulting in the information obtained by BMC being inconsistent with the actual device state, further increasing the difficulty and cost of system management.

[0077] For the above prior art, the technical problems to be solved by the present application are mainly as follows:

[0078] 1. Technical challenges of hardware link establishment:

[0079] 1) PCIE switch selection and adaptation problem;

[0080] In order to realize effective management of PCIE devices, PCIE switches supporting Management Endpoint (Management Endpoint) function need to be selected from a variety of models (such as Broadcom PEX88000 series). However, different server hardware architectures and performance requirements differ, and the selected switch needs to accurately manage the state of each device in a complex PCIE topology and interact with BMC in depth, which requires in-depth analysis of the functional characteristics of the switch and a large number of compatibility tests to ensure functional matching. At the same time, the server mainboard space is limited, and the layout of the switch needs to consider factors such as signal transmission quality, heat dissipation, etc., and needs to ensure stable and reliable electrical connection with other hardware components to avoid signal interference or poor contact.

[0081] 2) Sidelink design and signal integrity protection problem;

[0082] The sidelink between the BMC and the PCIE switch can usually select the SMBus (System Management Bus), I2C (Inter-Integrated Circuit, two-wire serial bus), or LPC (Low Pin Count bus), etc., but each has its own advantages and disadvantages: although the SMBus is simple and low-power, it has a low transmission rate and is only suitable for short-distance and low-speed data transmission; the I2C supports a multi-master-slave architecture and flexible addressing, which is convenient for connecting multiple devices, but has limitations in transmission distance and rate; the LPC interface has a high transmission rate and fewer pins, which can reduce the complexity of motherboard wiring, but the cost is relatively high. Therefore, according to the server hardware architecture and performance requirements, a comprehensive trade-off needs to be made in terms of transmission rate, power consumption, cost, wiring complexity, etc., to select the optimal sidelink method. In addition, regardless of the choice of sidelink, the integrity of signal transmission needs to be ensured, and factors such as signal attenuation and interference need to be considered in motherboard design, and wiring strategies and enhancement measures such as differential signal transmission and adding signal repeaters need to be taken to ensure the accuracy and reliability of data transmission between the BMC and the switch.

[0083] 2. Technical difficulties of proxy service module deployment

[0084] 1) Firmware implantation and running stability issues;

[0085] The proxy service implanted in the PCIE switch firmware needs to undertake core tasks such as command forwarding, data collection, and format conversion, but its operation depends on the limited firmware resources of the switch. How to reduce the impact on the performance of the switch under the premise of high code optimization, achieve low memory and CPU resource occupation, and ensure efficient and stable operation, avoid performance degradation of the switch or crash of the proxy service due to resource competition, is a key problem to be solved. At the same time, the proxy service needs to be loaded and run at system startup to realize real-time management and monitoring of PCIE devices, which puts strict requirements on its startup mechanism and initialization process, and needs to ensure reliable startup in complex startup environment to avoid management function failure caused by startup failure or initialization error.

[0086] 2) Command analysis and mapping accuracy issues;

[0087] The proxy service module needs to accurately monitor and analyze the command request of the BMC. Different commands have different formats and parameters, such as BDF (Bus-Device-Function) address, offset, data length, etc. The proxy module needs to correctly identify the command code and extract the parameters to accurately convert the BMC request into PCIE configuration space access operation. In addition, the PCIE device configuration space structure is complex, and the register address and access method of different devices and functions are different. The proxy module needs to establish an accurate mapping relationship and dynamically adjust the access method according to the command parameters, otherwise it will cause inaccurate data acquisition or device configuration error.

[0088] 3) Data collection and format standardization problem;

[0089] The data collected by the proxy service module from the PCIE device configuration space involves device status, performance parameters and other key information. A reliable reading mechanism is needed to verify and verify the data to ensure the integrity and accuracy of the data, avoid data loss or error affecting the management and monitoring of the BMC on the device. At the same time, in order to facilitate the analysis and processing of the BMC, the collected data needs to be sorted and formatted to form a unified format. This requires strict data format specification and ensures that the proxy module can follow the specification when processing different types of devices and data, to improve system compatibility and scalability, and realize the unified management of BMC on various PCIE devices.

[0090] 3. Technical requirements of protocol design

[0091] 1) Rationality of frame structure design;

[0092] The protocol frame structure needs to include frame header, command code, BDF address, offset, data length, payload and CRC (Cyclic Redundancy Check) fields, and each field design needs to meet the communication needs of BMC and PCIE switch. For example, the frame header needs to effectively identify the start and type of the frame to avoid data reception confusion; the payload length needs to be reasonably set to meet the data transmission needs. At the same time, a balance needs to be struck between information integrity and transmission efficiency to avoid excessive frame header and excessive check fields increasing transmission overhead, or too small payload length causing multiple transmissions increasing communication delay. A frame structure that can accurately transmit information and has high efficiency needs to be designed.

[0093] 2) Comprehensive and compatible command support;

[0094] The supported commands of the protocol need to comprehensively cover the management requirements of the BMC on the PCIE device, including various basic commands, and need to have forward-looking and expansibility to adapt to new requirements such as device configuration modification and performance monitoring that may appear in the future, so as to facilitate the addition of new commands. In addition, PCIE devices of different manufacturers may have differences in configuration space structure and data format, such as VPD (Vital Product Data) data format, and the protocol command needs to have good compatibility to provide a general processing method to ensure that the BMC can correctly obtain the key information of various devices.

[0095] To solve the above technical problems, the application provides an asset information acquisition method and device, a server, a controller and a medium.

[0096] To implement the asset information acquisition method of the embodiments of the application, the embodiments of the application provide a server, which comprises a baseboard management controller, a switch and at least one peripheral component interconnect express device. The switch refers to a PCIE switch, which is connected to the baseboard management controller through a sidelink, supports a management endpoint function, and has a lightweight proxy service module embedded in the firmware. The baseboard management controller is used to execute the asset information acquisition method of the embodiments of the application.

[0097] In order to realize efficient management and information acquisition of the peripheral component interconnect express devices in the server, in the hardware architecture design of the server motherboard, a PCIE switch with specific functions needs to be carefully configured. Specifically, the embodiments of the application limit the switch to support a management endpoint (Management Endpoint) function, for example, a switch of the Broadcom PEX88000 series. The switch of the series has strong management capability and stable performance, and can accurately manage and monitor the status of each device in a complex PCIE topology structure, and the Management Endpoint function of the switch provides the possibility for deep interaction with the BMC.

[0098] After the selection of the switch is determined, according to experience, the switch is reasonably laid out and configured on the server motherboard to build a stable and efficient PCIE device management infrastructure, which provides solid hardware support for subsequent information acquisition and management operations.

[0099] Further, after the completion of the switch layout, in order to realize 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 and 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 due to its multi-master-slave architecture and flexible addressing mode. It can conveniently connect multiple devices and realize centralized management of the baseboard management controller on the switch and other related devices. LPC has a high transmission rate and a low number of pins, which can reduce the wiring complexity on the motherboard while ensuring data transmission efficiency. In order to ensure the establishment of a stable and efficient dedicated physical connection channel between the baseboard management controller and the PCIE switch, the embodiments of the present application preferably select 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.

[0100] In order to realize the interaction between the baseboard management controller and the peripheral component interconnect high-speed device, an agent service module is also implanted in the firmware of the switch. The implanted agent service acts as a bridge between the baseboard management controller and the peripheral component interconnect high-speed device, and undertakes important tasks such as command forwarding, data collection and format conversion. Due to the lightweight design characteristics of the lightweight agent service (AgentService), it will not have a significant impact on the performance of the switch, and it can efficiently run under limited resources. Therefore, the agent service module of the embodiments of the present application can be limited to a lightweight agent service module. By implanting the agent service at the firmware level of the switch, it can be ensured that it can be loaded and run when the server starts, and real-time management and monitoring of the peripheral component interconnect high-speed device can be realized.

[0101] Figure 1 An implementation flowchart of the asset information acquisition method provided by the embodiments of the present application is shown.

[0102] Reference Figure 1The embodiment of the application provides an asset information acquisition method, which is applied to a substrate management controller, and the method comprises the following steps: in operation 101, a command frame in a predetermined protocol format is sent to a switch supporting a management endpoint function through a sidelink; wherein the command frame is used to instruct a lightweight proxy service module in firmware of the switch to perform the following operations: parsing the command frame, directly accessing a configuration space of a downstream target peripheral component interconnect express device according to a parsing result to acquire original asset information, converting the original asset information into asset information in the predetermined protocol format, and encapsulating the asset information in the predetermined protocol format in a response frame and returning the response frame to the substrate management controller; and in operation 102, the response frame returned by the lightweight proxy service module is received, and the response frame comprises asset information in the predetermined protocol format.

[0103] In operation 101, a command frame in a predetermined protocol format is sent to a switch supporting a management endpoint function through a sidelink; wherein the command frame is used to instruct a lightweight proxy service module in firmware of the switch to perform the following operations: parsing the command frame, directly accessing a configuration space of a downstream target peripheral component interconnect express device according to a parsing result to acquire original asset information, converting the original asset information into asset information in the predetermined protocol format, and encapsulating the asset information in the predetermined protocol format in a response frame and returning the response frame to the substrate management controller.

[0104] To ensure stable data transmission between the substrate management controller and the switch, a communication protocol between the substrate management controller and the switch also needs to be configured. The communication protocol comprises a predetermined protocol format, which is used to define a frame structure when the substrate management controller interacts with the switch, and the communication protocol is also configured to support multiple types of commands.

[0105] After the communication protocol is configured, when asset information of a downstream peripheral component interconnect express device needs to be acquired through the substrate management controller, an asset information acquisition command is constructed into a command frame in the predetermined protocol format, and the command frame in the predetermined protocol format is sent to the switch.

[0106] The lightweight proxy service module in the switch has the function of listening to command requests from the substrate management controller in real time. When the substrate management controller sends a command frame, the lightweight proxy service module can quickly capture the command frame and parse it. By deeply analyzing the structure and content of the command frame, the lightweight proxy service module can accurately convert the command frame of the substrate management controller into a peripheral component interconnect express device configuration space access operation, so as to accurately understand the intention of the substrate management controller and map it to corresponding downstream target peripheral component interconnect express device configuration space register access, thereby ensuring that the asset information of the downstream target peripheral component interconnect express device can be correctly acquired or set.

[0107] After the command resolution and the configuration space access are completed, the lightweight agent service module reads the required raw asset information from the downstream target peripheral component interconnect express device configuration space according to a predetermined protocol structure, and collates and formats the raw asset information based on a predetermined protocol format. The formatted raw asset information is encapsulated as a command frame, and is returned to the baseboard management controller in a unified format. In this way, through this standardized data return mode, the compatibility and scalability of the server are improved, so that different peripheral component interconnect express devices can be uniformly managed and monitored by the baseboard management controller.

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

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

[0110] Specifically, the baseboard management controller listens to the returned data from the switch in real time through the side link, and when the response frame is captured, the asset information is obtained and read according to the analysis rules of the predetermined protocol format.

[0111] The asset information can include basic information, detailed attribute information, configuration parameters, key product data, and resource allocation information of the peripheral component interconnect express device. The basic information can include but is not limited to a BDF address, a device type, and a vendor ID; the detailed attribute information can include but is not limited to a display memory size and a storage capacity; the configuration parameters can include but are not limited to a working mode and an interface type; the key product data can include but is not limited to a manufacturer, a model, and a serial number; and the resource allocation information can include but is not limited to base address register space information.

[0112] In this way, the embodiment of the present application establishes a dedicated side link between the baseboard management controller and the peripheral component interconnect express switch supporting the management endpoint function, and builds a communication channel independent of BIOS, thereby breaking the dependence on BIOS in the traditional way. Meanwhile, the lightweight agent service module is implanted in the switch firmware as an intermediate layer between the baseboard management controller and the downstream peripheral component interconnect express device, and listens to the predetermined protocol format command frame 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 express device to obtain asset information and return it to the baseboard management controller, thereby realizing independent acquisition of asset information of the downstream peripheral component interconnect express device based on the baseboard management controller.

[0113] In an embodiment of the present application, before sending the command frame in the predetermined protocol format to the switch supporting the management endpoint function through the sidelink, a handshake operation is further performed with the switch in the server startup process, and the handshake operation is used to establish an encrypted communication channel of the baseboard management controller and the switch and to determine the communication parameters.

[0114] Specifically, in the server startup process, the baseboard management controller first performs a handshake operation with the switch to establish an encrypted communication channel to ensure that the communication between the baseboard management controller and the switch is safe and reliable. The encrypted technology is used to prevent data from being stolen or tampered during transmission and to protect sensitive information. In the handshake process, the communication parameters such as the encryption algorithm and the key are negotiated, and a stable connection is established.

[0115] In an embodiment of the present application, in order to ensure the continuous monitoring and management of the peripheral component interconnect express device, the lightweight agent service module is loaded synchronously and runs in the resident mode when the switch is powered on.

[0116] In an embodiment of the present application, the predetermined protocol format comprises, 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. The frame header field is used to identify the starting position and type of the command frame; the command code is used to show the command type of the command frame; the device identification field is used to show the device identification of the downstream target peripheral component interconnect express device; the offset field is used to show the specific position of the configuration space that needs to be accessed or read; the data length field is used to show the data size of the configuration space that needs to be accessed or read; the payload field is used to show the actual transmitted data content; and the check field is used to show the cyclic redundancy check code.

[0117] Specifically, to ensure the stability of data transmission between the baseboard management controller and the switch, the embodiment of the application designs a set of efficient and reliable communication protocol, and a predetermined protocol structure is configured in the communication protocol. The predetermined protocol structure adopts the format of a frame header field | a command code field | a device identification field | an offset field | a data length field | a payload field | a check field. The frame header field is used to identify the start and type of the frame, and provides basic information for data reception and analysis. The type of the frame can include a command frame and a response frame. The command code field is used to explicitly indicate the command type carried by the frame, such as scanning a device, reading a configuration, etc. The device identification field refers to a BDB address, including a device identification, and is used to uniquely identify a peripheral component interconnect express device, so as to ensure that a command can be accurately sent to a target peripheral component interconnect express device. The offset and data length fields are used to specify the specific location of the configuration space to be accessed and the data size. The payload field refers to the actual transmitted data content, and its length can be flexibly adjusted according to needs, and can reach 128 bytes at most. The check code field includes a CRC, and the CRC is used to ensure the accuracy of data transmission. By calculating and verifying the CRC check code, it can be detected whether an error occurs in the data during transmission, and error correction processing can be performed in a timely manner.

[0118] In an embodiment of the application, the predetermined protocol structure of the embodiment of the 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.

[0119] In an embodiment of the application, after the lightweight proxy service module receives the command frame, the asset information can be obtained by 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 express 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 express device according to the command code, offset and data length; and preprocessing the original asset information to obtain asset information conforming to the predetermined protocol format.

[0120] In an embodiment of the application, preprocessing the original asset information includes: arranging and formatting the original asset information according to a preset data format specification to generate asset information conforming to the predetermined protocol format.

[0121] When the lightweight agent service module receives the command frame sent by the baseboard management controller through the sidelink, 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, the downstream target peripheral component interconnect express device is located in the peripheral component interconnect express device topology, and combined with the command code, offset and data length, the access to the hardware configuration space of the downstream target peripheral component interconnect express device is directly initiated. The configuration space of the peripheral component interconnect express device is a special register area that stores the core asset information of the device, such as manufacturer ID, device model, serial number, performance parameters, etc. The lightweight agent service module directly reads the data in this area through the hardware interface to obtain the original asset information.

[0122] The original asset information read from the configuration space may be in binary, hexadecimal and other hardware native formats, and the data structures of devices from different manufacturers may differ. Therefore, after the lightweight agent service module reads the original asset information, it also organizes and formats the original asset information according to the preset data format specification, i.e. the data format requirements in the predetermined protocol format. Thus, the baseboard management controller does not need to develop differentiated analysis logic for different peripheral component interconnect express devices, and unified management of various peripheral component interconnect express devices is achieved.

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

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

[0125] In an embodiment of the present application, the probe device command type command is used to instruct the lightweight proxy service module to read the device address in the configuration space of the downstream peripheral component interconnect express device specified by the device identification; the read configuration command type command is used to instruct the lightweight proxy service module to read the configuration parameter in the configuration space of the specified downstream peripheral component interconnect express device; the read key product data command type command is used to instruct the lightweight proxy service module to access the key product data area in the configuration space of the downstream peripheral component interconnect express device and return the device identification shown by the key product data area; and the read base address register command type command is used to instruct the lightweight proxy service module to access the base address register area in the configuration space of the specified downstream peripheral component interconnect express device and return the base address register space information shown by the base address register area.

[0126] Specifically, the PROBE_ALL command is used to scan all devices on the bus, and after receiving the command, the lightweight proxy service module traverses the entire peripheral component interconnect express device topology, collects the basic information of all peripheral component interconnect express devices, and returns the information to the baseboard management controller, so that the baseboard management controller can quickly understand all peripheral component interconnect express devices existing in the server and provide basic data for subsequent detailed management and monitoring.

[0127] The PROBE_DEVICE command is used to obtain detailed information of a specified device, and the baseboard management controller can specify the peripheral component interconnect express device to be queried through the command. The lightweight proxy service module will perform a series of operations, such as reading the configuration space of the peripheral component interconnect express device, intelligently identifying the device type, and returning the specific asset information of the peripheral component interconnect express device.

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

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

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

[0131] Figure 2 An implementation flowchart of a device discovery process of the asset information acquisition method provided by the embodiment of the present application is shown.

[0132] Reference Figure 2 Before sending the command frame of the predetermined protocol format to the switch supporting the management endpoint function through the sidelink, device discovery also needs to be performed, and the device discovery process is used to enable the baseboard management controller to learn all peripheral component interconnect express devices within the server, and the device discovery process includes:

[0133] Operation 201, a PROBE_ALL command is sent to the switch to instruct the lightweight agent service module to traverse the downstream peripheral component interconnect express device topology, collect the basic information of all downstream peripheral component interconnect express devices, and return;

[0134] Operation 202, constructing a device list according to the returned basic information.

[0135] Specifically, the baseboard management controller sends a PROBE_ALL command to the switch supporting the management endpoint function, instructs the lightweight agent service module in the switch firmware to traverse the entire peripheral component interconnect express device topology, collects the basic information of all downstream peripheral component interconnect express devices, and returns the information to the baseboard management controller after sorting, and the baseboard management controller constructs a device list of the peripheral component interconnect express devices in the server according to the returned basic information.

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

[0137] Specifically, the basic information can include but is not limited to the BDF address of the peripheral component interconnect express device, the device type and the manufacturer information (manufacturer ID). The device type includes storage device, network interface device and graphics processing device, such as graphics card, network card and hard disk, etc.

[0138] Figure 3 The implementation flowchart of the original asset information acquisition operation of the asset information acquisition method provided by the embodiment of the present application is shown.

[0139] Reference Figure 3 In the case where the command type is a probe device command type, in the operation 101, the command frame is parsed, and the configuration space of the downstream target peripheral component interconnect express device is directly accessed according to the parsing result to acquire the original asset information, including:

[0140] Operation 301, extracting the device identification from the command frame;

[0141] Operation 302, reading the front setting byte data of the configuration space of the downstream target peripheral component interconnect express device corresponding to the device identification;

[0142] Operation 303, according to the pre-set byte data, the device type of the downstream target peripheral component interconnect express device is judged by the device type identification algorithm;

[0143] Operation 304, according to the device type, the original asset information corresponding to the device type is read from the configuration space of the downstream target peripheral component interconnect express device.

[0144] Specifically, after completing the device discovery, the baseboard management controller can send the corresponding type of command as needed. When the command frame is the PROBE_DEVICE command, the extended asset information of the specified downstream target peripheral component interconnect express device, i.e. the original asset information, is obtained. After the lightweight agent service module receives the command, it reads the 256-byte configuration space of the downstream target peripheral component interconnect express device to obtain the basic configuration information of the downstream target peripheral component interconnect express device. Then, through the device type intelligent identification algorithm, the device type of the downstream target peripheral component interconnect express device is judged according to the characteristic information in the configuration space. Finally, the lightweight agent service module collects the original asset information specific to the device according to the device type, such as the video memory size of the video card, the MAC address of the network card, and the capacity of the storage device, and returns these original asset information to the baseboard management controller. The baseboard management controller can store and manage these detailed original asset information to provide strong support for the maintenance, upgrade and troubleshooting of the device.

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

[0146] Based on the above asset information acquisition method, an embodiment of the present application provides an asset information acquisition device applied to a baseboard management controller, which comprises:

[0147] The sending module 401 is configured to send a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a sidelink; wherein the command frame is used to instruct a lightweight agent service module fixed in firmware of the switch to perform the following operations: parsing the command frame, directly accessing a configuration space of a downstream target peripheral component interconnect express device to obtain original asset information according to a parsing result, converting the original asset information into asset information conforming to the predetermined protocol format, and encapsulating the asset information in the predetermined protocol format into a response frame and returning the response frame to the baseboard management controller;

[0148] The receiving module 402 is configured to receive a response frame returned by the lightweight agent service module, and the response frame contains asset information in the predetermined protocol format.

[0149] In an embodiment of the present application, the device further comprises:

[0150] The handshake module is configured to perform handshake operation with the switch during a server startup process, and the handshake operation is configured to establish an encrypted communication channel between the baseboard management controller and the switch and determine communication parameters.

[0151] In an embodiment of the present application, the device further comprises:

[0152] The device discovery module is configured to send a probe-all command to the switch to instruct the lightweight agent service module to traverse a downstream peripheral component interconnect express device topology, collect basic information of all downstream peripheral component interconnect express devices, and return the basic information.

[0153] The device list is constructed according to the returned basic information.

[0154] It should be noted that the description of the device of the embodiments of the present application is similar to the description of the method embodiments described above, and has similar beneficial effects as the method embodiments, and thus is not described in detail. For technical details not described in the device information acquisition device provided by the embodiments of the present application, they can be understood according to the description of any one of the accompanying drawings. Figures 1 to 3

[0155] Based on the above-mentioned asset information acquisition method, the embodiments of the present application further provide a baseboard management controller, which comprises:

[0156] The memory is configured to store a computer program.

[0157] The processor is configured to implement the above-mentioned asset information acquisition method when executing the computer program.

[0158] According to the embodiments of the present application, the present application further provides an electronic device and a readable storage medium.

[0159] 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 laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application described and / or claimed in this document.

[0160] As Figure 5 ​As shown, the electronic device 500 includes a computing unit 501 that can perform various appropriate actions and processes in accordance with 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. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0161] A plurality of 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, and the like, an output unit 507 such as various types of displays, a speaker, and the like, a storage unit 508 such as a magnetic disk, an optical disk, and the like, and a communication unit 509 such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 509 allows the device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0162] The computing unit 501 can be various general and / or special-purpose processing components having 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 special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, and the like. The computing unit 501 performs various methods and processes described above, such as the XXX method. For example, in some embodiments, the XXX method can be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed on 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 can be performed. Alternatively, in other embodiments, the computing unit 501 can be configured to perform the XXX method by any other appropriate means, such as by means of firmware.

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

[0164] Program code for carrying out methods of the present application can be written in any combination of one or more programming languages. This program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces a means for implementing the functions / acts specified in the flowcharts and / or block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, or entirely on a remote machine or server.

[0165] In the context of the present application, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can 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 the machine-readable storage medium will include one or more lines of electrical conductors, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0166] To provide for interaction with a user, the systems and techniques described here 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 a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, 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, speech, or tactile input.

[0167] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, 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.

[0168] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server is generally established by computer programs running on the respective computers and having a client-server relationship to each other. The servers can be cloud servers, servers of a distributed system, or servers combined with a blockchain.

[0169] It should be understood that the various forms of flow shown above can be re-ordered, added to, or deleted from without departing from the scope of the present disclosure. For example, the steps recited in the present application can be executed in parallel, in series, or in a different order, without departing from the desired results of the technology disclosed in the present application, and are not limited herein.

[0170] In addition, the terms "first", "second", etc., are used herein only to describe different instances, and do not imply or suggest relative importance or imply the number of the indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "a plurality of" is two or more, unless otherwise specifically limited.

[0171] The above merely provides the specific implementation of the present application, but the protection scope of the present application is not limited to this. Any person skilled in the art can easily think of the changes or replacements within the technical range disclosed by the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. An asset information acquisition method characterized by comprising: The method is applied to a substrate management controller, and comprises the following steps: sending 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 to instruct a lightweight proxy service module fixed in firmware of the switch to perform the following operations: parsing the command frame, directly accessing a configuration space of a downstream target peripheral component interconnect express device according to a parsing result to obtain original asset information, converting the original asset information into asset information conforming to the predetermined protocol format, and encapsulating the asset information in the predetermined protocol format into a response frame and returning the response frame to the substrate management controller; receiving the response frame returned by the lightweight proxy service module, wherein the response frame contains the asset information in the predetermined protocol format; wherein the side link is one of a system management bus, a two-wire serial bus or a low-pin-count bus.

2. The method of claim 1, wherein, Before the step of sending the command frame in the predetermined protocol format to the switch supporting the management endpoint function through the side link, the method further comprises the following steps: during a server startup process, performing a handshake operation with the switch, wherein the handshake operation is used to establish an encrypted communication channel between the substrate management controller and the switch and determine communication parameters.

3. The method of claim 1, wherein, The lightweight proxy service module is synchronously loaded and runs in a resident mode when the switch is powered on and started.

4. The method of claim 1, wherein, The predetermined protocol format comprises, 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.

5. The method of claim 4, wherein, The frame header field is used to identify a starting position and a type of the command frame; the command code is used to show a command type of the command frame; the device identification field is used to show a device identification of the downstream target peripheral component interconnect express device; the offset field is used to show a specific position of a configuration space that needs to be accessed or read; the data length field is used to show a data size of the configuration space that needs to be accessed or read; the payload field is used to show actual transmitted data content; the check field is used to show a cyclic redundancy check code.

6. The method of claim 5, wherein, The parsing of the command frame, the direct access of a hardware configuration space of a downstream target peripheral component interconnect express device according to a parsing result to obtain original asset information, and the conversion of the original asset information into asset information conforming to a predetermined protocol format, comprises the following steps: extracting a command code, a device identification, an offset and a data length from the received command frame; locating the downstream target peripheral component interconnect express device according to the device identification, and directly reading corresponding original asset information in the configuration space of the downstream target peripheral component interconnect express device according to the command code, the offset and the data length; preprocessing the original asset information to obtain asset information conforming to the predetermined protocol format.

7. The method of claim 6, wherein, The preprocessing of the original asset information comprises the following steps: arranging and formatting the original asset information according to a preset data format specification to generate asset information conforming to the predetermined protocol format.

8. The method of claim 5, wherein, The command types shown by the command code field include: all detection command types, device detection command types, configuration reading command types, key product data reading command types and base address register reading command types.

9. The method of claim 8, wherein, The probe device command type command is used to instruct the lightweight proxy service module to read a device address in a configuration space of a downstream peripheral component interconnect express device specified by a device identification; The read configuration command type command is used to instruct the lightweight proxy service module to read a configuration parameter in a configuration space of a specified downstream peripheral component interconnect express device; The read critical product data command type command is used to instruct the lightweight proxy service module to access a critical product data region within a configuration space of a downstream peripheral component interconnect express device, and return a device identification shown by the critical product data region; The read base address register command type command is used to instruct the lightweight proxy service module to access a base address register region within a configuration space of a specified downstream peripheral component interconnect express device, and return base address register space information shown by the base address register region.

10. The method of claim 8, wherein, Before sending a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a sidelink, the method further comprises: sending a probe all command to the switch to instruct the lightweight proxy service module to traverse a downstream peripheral component interconnect express device topology, collect basic information of all downstream peripheral component interconnect express devices, and return; constructing a device list according to the returned basic information.

11. The method of claim 10, wherein, The basic information includes a device address, a device type, and manufacturer information.

12. The method of claim 11, wherein, The device address is used to show a bus address, a device access address, and a device function access address; The device type includes a storage device, a network interface device, and a graphics processing device; The manufacturer information includes a manufacturer identification.

13. The method of claim 8, wherein, In the case where the command type is the probe device command type, the parsing the command frame, and directly accessing a configuration space of a downstream target peripheral component interconnect express device to obtain original asset information according to a parsing result, comprises: extracting a device identification from the command frame; reading a predetermined number of bytes of data of the configuration space of the downstream target peripheral component interconnect express device corresponding to the device identification; judging a device type of the downstream target peripheral component interconnect express device through a device type identification algorithm according to the predetermined number of bytes of data; reading original asset information corresponding to the device type from the configuration space of the downstream target peripheral component interconnect express device according to the device type.

14. An asset information acquisition apparatus characterized by comprising: The device comprises: a sending module configured to send a command frame in a predetermined protocol format to a switch supporting a management endpoint function through a sidelink; wherein the command frame is used to instruct a lightweight proxy service module solidified in firmware of the switch to perform the following operations: parsing the command frame, directly accessing a configuration space of a downstream target peripheral component interconnect express device to obtain original asset information according to a parsing result, converting the original asset information into asset information conforming to the predetermined protocol format, and encapsulating the asset information in the predetermined protocol format into a response frame and returning the response frame to a baseboard management controller; a receiving module configured to receive the response frame returned by the lightweight proxy service module, wherein the response frame contains the asset information in the predetermined protocol format; and a processing module configured to process the asset information in the predetermined protocol format. The side link is one of a system management bus, a two-wire serial bus, or a low pin count bus.

15. The apparatus of claim 14, wherein, The device further comprises: a handshake module, configured to perform a handshake operation with the switch during a server startup process, the handshake operation being used to establish an encrypted communication channel between the baseboard management controller and the switch and to determine communication parameters.

16. The apparatus of claim 14, wherein, The device further comprises: a device discovery module, configured to send a probe-all command to the switch to instruct the lightweight agent service module to traverse a downstream peripheral component interconnect express device topology, collect basic information of all downstream peripheral component interconnect express devices, and return the basic information; construct a device list according to the returned basic information.

17. A baseboard management controller, comprising: The baseboard management controller comprises: a memory, configured to store a computer program; a processor, configured to execute the computer program to implement the asset information acquisition method according to any one of claims 1-13.

18. A server, characterized by The server comprises: the baseboard management controller according to claim 17; a switch, connected to the baseboard management controller through a side link, the switch supporting a management end point function and having a lightweight agent service module embedded in firmware of the switch; at least one peripheral component interconnect express device, connected to the switch.

19. A non-transitory computer-readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable a computer to execute the asset information acquisition method according to any one of claims 1-13.

Citation Information

Patent Citations

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

    CN117370103A

  • Enabling out-of-band generic pcie switch control / configuration management using BMC for dynamic, scalable hardware requirements

    US20250252072A1