A data transmission method and apparatus thereof

By communicating directly with the CPU system through the device management module and using the MCTP protocol to obtain firmware logs of peripheral devices, the problem of peripheral device firmware log collection relying on the operating system in the existing technology is solved, and efficient fault diagnosis and problem location are achieved.

CN115766682BActive Publication Date: 2026-04-10HENAN KUNLUN TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HENAN KUNLUN TECH CO LTD
Filing Date
2022-10-24
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

In the existing technology, the collection of firmware logs for peripheral devices depends on the operating system, which leads to a large maintenance workload and information security restrictions, and makes it impossible to efficiently obtain firmware logs for fault diagnosis and problem localization.

Method used

The device management module communicates directly with the CPU system and uses the management component transmission protocol MCTP to obtain data from peripheral devices, especially the firmware logs of PCIe devices, avoiding data transmission via third-party software in the operating system using PLDM or NC-SI protocols.

Benefits of technology

It enables efficient acquisition of firmware logs from peripheral devices without operating system dependency, improving the efficiency of fault diagnosis and problem localization, and reducing maintenance workload.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115766682B_ABST
    Figure CN115766682B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a data transmission method and device, and the method comprises the following steps: a device management module communicates with peripheral equipment of a central processing unit (CPU) system through the CPU system, and data of the peripheral equipment is acquired. The data of the peripheral equipment is beneficial to better management of the peripheral equipment.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a data transmission method and device thereof. BACKGROUND

[0002] Different peripheral devices of a computer product can implement functions such as network connection, storage access, and graphic processing. A device management module in the computer product can be used to perform component management and asset management.

[0003] With the diversification of business and the complication of application, the functions and quantity of peripheral devices are increasing. Therefore, how to better manage peripheral devices becomes a technical problem to be solved. SUMMARY

[0004] Embodiments of the present application provide a data transmission method and device thereof, which are beneficial to better manage peripheral devices through data of the peripheral devices.

[0005] In a first aspect, embodiments of the present application provide a data transmission method, which is applied to a device management module. The device management module communicates with a peripheral device of a central processing unit (CPU) system through the CPU system.

[0006] The device management module obtains data of the peripheral device through a management protocol carried by a management component transport protocol (MCTP) upper layer. In this technical solution, the device management module can directly communicate with the peripheral device through the CPU system to obtain the data of the peripheral device, thereby being beneficial to better manage the peripheral device through the data.

[0007] In this technical solution, the data of the peripheral device is obtained through a protocol, rather than through a third-party software in an operating system. In the case that the peripheral device is a PCIE device and the data is a firmware log, it is beneficial to get rid of the dependence and constraints of the firmware log collection of the PCIE device on the operating system.

[0008] In an implementation manner, the device management module obtains the data of the peripheral device through the management protocol in the following specific manner: the device management module sends a data obtaining command to the peripheral device through the management protocol; and the device management module receives the data from the peripheral device through the management protocol.

[0009] In an implementation manner, the management protocol is a platform level data model (PLDM) protocol or a network controller sideband interface (NC-SI) protocol.

[0010] In an implementation form, the peripheral device is a Peripheral Component Interconnect Express (PCIE) device, and the data comprises a firmware log file of the PCIE device; the firmware log file comprises at least two event logs of the PCIE device.

[0011] In the technical solution, the firmware log file is transmitted, so that the device management module can acquire at least two event logs by issuing one data acquisition command, which is simpler and more efficient than reading the event logs one by one (i.e., one command for one event log).

[0012] In an implementation form, the firmware log file further comprises one or more of the following: a running log, register information, and device information of the PCIE device.

[0013] In a second aspect, another data transmission method is provided, which is applied to a peripheral device of a Central Processing Unit (CPU) system. The method comprises the following steps: the peripheral device of the CPU system communicates with a device management module through the CPU, and transmits data of the peripheral device to the device management module through a management protocol carried by a Management Component Transport Protocol (MCTP) upper layer.

[0014] In the technical solution, the peripheral device can directly communicate with the device management module through the CPU system, so as to transmit the data of the peripheral device to the device management module, thereby facilitating the device management module to better manage the peripheral device based on the data.

[0015] In an implementation form, the peripheral device transmits the data of the peripheral device to the device management module by using a management protocol carried by a Management Component Transport Protocol (MCTP) upper layer.

[0016] In the technical solution, the data of the peripheral device is transmitted through a protocol, instead of being transmitted to the device management module through a third-party software in an operating system. In the case where the peripheral device is a PCIE device and the data is a firmware log, the dependence of firmware log collection of the PCIE device on the operating system and the constraints thereof can be eliminated.

[0017] In an implementation form, the method further comprises the following steps: the peripheral device receives a data acquisition command from the device management module through the management protocol; and the peripheral device transmits the data of the peripheral device to the device management module by using a management protocol carried by a Management Component Transport Protocol (MCTP) upper layer, specifically: the peripheral device responds to the data acquisition command, and transmits the data of the peripheral device to the device management module through the management protocol.

[0018] In an implementation manner, the management protocol is a platform level data model (PLDM) protocol or a network controller sideband interface (NC-SI) protocol.

[0019] In an implementation manner, the peripheral device is a peripheral component interconnect express (PCIE) device, and the data includes a firmware log file of the PCIE device; the firmware log file includes at least two event logs of the PCIE device.

[0020] In the technical solution, the data acquisition command can acquire at least two event logs through the firmware log file, which is simpler and more efficient than the way of reading the event logs one by one (i.e., one command exports one event log).

[0021] In an implementation manner, the firmware log file further includes one or more of the following: a running log, register information, and device information of the PCIE device.

[0022] In a third aspect, an embodiment of the present application provides a data transmission apparatus, which has the function of implementing the method of the first aspect or the second aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above functions.

[0023] In a fourth aspect, an embodiment of the present application provides a data transmission apparatus, which includes a memory and a processor. The memory stores program instructions. The processor is connected to the memory through a bus. The processor invokes the program instructions stored in the memory to enable the data transmission apparatus to execute the method of the first aspect or the second aspect.

[0024] In a fifth aspect, an embodiment of the present application provides a data transmission system, which includes a device management module, a CPU system, and a peripheral device of the CPU system. The device management module is configured to communicate with the peripheral device through the CPU system, and acquire data of the peripheral device through a management component transmission protocol (MCTP) upper layer carrying a management protocol. The peripheral device is configured to generate the data.

[0025] In a sixth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program. The computer program includes program instructions. When the program instructions are executed, the method of the first aspect or the second aspect is implemented.

[0026] In a seventh aspect, an embodiment of the present application provides a computer program product including a computer program or instructions, which, when executed on a computer, enables the computer to execute the method of the first aspect or the second aspect. BRIEF DESCRIPTION OF DRAWINGS

[0027] Figure 1a is a schematic diagram of a firmware log provided by an embodiment of the present application;

[0028] Figure 1b is a schematic diagram of a scenario in which an OS obtains a firmware log of a peripheral device provided by an embodiment of the present application;

[0029] Figure 1c is a schematic diagram of a scenario in which an OS obtains and saves a firmware log of a peripheral device provided by an embodiment of the present application, and further, a device management module obtains the firmware log saved in the OS;

[0030] Figure 2 is a schematic diagram of a scenario in which a device management module realizes firmware communication with a PCIE device through an MCTP over PCIE interface protocol provided by an embodiment of the present application;

[0031] Figure 3 is a schematic diagram of a flow in which a device management module obtains data of a PCIE device through a management protocol carried by an MCTP upper layer provided by an embodiment of the present application;

[0032] Figure 4a is a schematic diagram of a data format of a firmware log collection command in a case where a firmware log of a PCIE device is obtained through a PLDM protocol provided by an embodiment of the present application;

[0033] Figure 4b is a schematic diagram of a data format of a response of a firmware log collection command in a case where a firmware log of a PCIE device is obtained through a PLDM protocol provided by an embodiment of the present application;

[0034] Figure 5a is a schematic diagram of a data format of a firmware log collection command in a case where a firmware log of a PCIE device is obtained through an NC-SI protocol provided by an embodiment of the present application;

[0035] Figure 5b is a schematic diagram of a data format of a response of a firmware log collection command in a case where a firmware log of a PCIE device is obtained through an NC-SI protocol provided by an embodiment of the present application;

[0036] Figure 6 is a schematic diagram of a structure of a data format of a firmware log file of a PCIE device provided by an embodiment of the present application;

[0037] Figure 7 is a schematic diagram of a structure of a data transmission device provided by an embodiment of the present application;

[0038] Figure 8is a structural schematic diagram of another data transmission apparatus provided by an embodiment of the present application.

[0039] Figure 9 is a structural schematic diagram of a chip provided by an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to better understand the technical solutions provided by the embodiments of the present application, first, the technical terms related to the embodiments of the present application are introduced.

[0041] (1) Peripheral device of computer product

[0042] In computer architecture, the peripheral device of a computer product (for example, a central processing unit (CPU) system of a server or a terminal device) can include but is not limited to a Peripheral Component Interconnect (PCI) device, a Peripheral Component Interconnect Express (PCIE) device, or other peripheral devices. The communication interface between the CPU system and the peripheral device can include but is not limited to a PCI interface, a PCIE interface, a System Management Bus (SMBus) interface, a Universal Asynchronous Receiver Transmitter (UART) interface, a Universal Serial Bus (USB) interface, and the like. For example, the communication interface between the CPU system and the PCI device is a PCI interface, and the communication interface between the CPU system and the PCIE device is a PCIE interface. In the embodiments of the present application, the CPU system can refer to the CPU itself, or the CPU system can refer to a hardware circuit structure composed of the CPU itself and a bridge. The bridge refers to a processing chip that directly exchanges data and instructions with the CPU itself and serves as a connection bridge.

[0043] The PCIE device (or the PCI device) can include but is not limited to a network card, a Redundant Arrays of Independent Disks (RAID) card, a graphics card, a Solid State Disk (SSD) card, an acceleration card, and the like.

[0044] With the diversification of business and the complication of application, the functions of the peripheral device are more and more, and the internal architecture is more and more complex, and the probability of problems is also increasing. After the peripheral device has a problem, the firmware log of the peripheral device can be used for fault diagnosis and problem positioning.

[0045] (2) firmware log

[0046] Firmware: code running on the chip of a peripheral device (such as a PCI device, a PCIE device) to implement the functions of the peripheral device. For example, the firmware of a network card implements the functions of network connection, message sending and receiving, protocol offloading, etc. of the network card.

[0047] The firmware can record and save the firmware log. The firmware log of the peripheral device can be saved in the storage medium of the peripheral device. Exemplarily, the storage medium of the peripheral device can include a flash memory, a non-volatile random access memory (NVRAM), etc.

[0048] In the embodiments of the present application, the firmware log can include but is not limited to one or more of the following information: device information, operation log, event log, register information, etc., as shown in Figure 1a The operation log can include some operation records, such as query, configuration, etc. operation, device initialization process, power-on / off process, software upgrade process, etc. The event log can include some records of state, parameter, etc. information change, such as port link interruption, module over-temperature, under-voltage, process blocking, deadlock, etc. The register information can include some records of configuration information and state information of key modules and parameters, such as records of configuration and running state of port rate self-negotiation, temperature monitoring, etc. The state information of modules and parameters can be embodied by register state change. The specific form of the register information can be a list, and the register list includes the summary of configuration and state information of key modules and parameters.

[0049] (3) Operation system (OS) acquires firmware log of peripheral device

[0050] Please refer to Figure 1b , a scenario diagram for the OS to acquire the firmware log of the peripheral device, Figure 1b , which is described taking the peripheral device as a PCIE device as an example. Figure 1bThis includes the operating system (OS), CPU, and PCIe devices. The OS runs on the CPU and contains manufacturer tools. The CPU system communicates with PCIe devices via a PCIe interface. The OS and CPU system have hardware and software interfaces. Figure 1b (Not shown). Therefore, the manufacturer's tools in the OS can communicate with the firmware of the PCIe device via the PCIe interface (see...). Figure 1b (As shown by the dashed line ①), to collect and export firmware logs to the OS (see...) Figure 1b As shown by the dashed line ②, firmware logs can be stored in a log file in the OS.

[0051] Because manufacturer tools are installed and run within the OS, they are coupled with the OS and its version. Manufacturers need to develop and maintain specific tools for each OS and its version for firmware log collection, which is very labor-intensive. Furthermore, both the CPU system and the OS are business systems, and for information security reasons, it is generally not permitted to install manufacturer tools as third-party software within the OS. Even if manufacturer tools are installed within the OS to collect firmware logs from PCIe devices, for information security reasons, it is generally not allowed to transmit information from the OS externally. This would prevent maintenance personnel from accessing the firmware logs for fault diagnosis.

[0052] (4) Equipment Management Module

[0053] Device management modules in electronic devices such as servers or terminal equipment perform functions such as component management and asset management within a computer system, including power-on / off control, fan speed regulation, and electronic tag management. Different equipment manufacturers may use different names for device management modules; for example, it may be called a Baseboard Management Controller (BMC) or other names.

[0054] Unlike the CPU system and OS, the device management module belongs to the management plane and does not involve business plane information. Therefore, obtaining information from the device management module is permitted.

[0055] (5) The device management module retrieves the firmware logs of peripheral devices stored in the OS.

[0056] Please see Figure 1c This diagram illustrates a scenario where the OS acquires and saves firmware logs from peripheral devices, and further, the device management module acquires the firmware logs stored in the OS. Figure 1c The following explanation uses PCIe devices as an example of peripheral devices. Figure 1cThe OS, CPU system, management device and PCIE device are included. The OS obtains and saves the firmware log of the peripheral device. For details, refer to Figure 1b The OS and the management device have no direct communication interface. In addition to the manufacturer tool, the OS also installs an agent tool which can provide a software interface to realize the communication between the OS and the management device (see Figure 1c The agent tool is shown by the dashed line ③ in the OS) to transmit the firmware log of the PCIE device saved in the OS (the firmware log is saved in a log file in the OS) to the management device (see Figure 1c The agent tool is shown by the dashed line ④ in the OS).

[0057] Compared with the method shown in Figure 1b The method shown in Figure 1c The management device can obtain the firmware log of the PCIE device. Further, the maintenance personnel can obtain the firmware log of the PCIE device from the management device to perform fault diagnosis and problem positioning.

[0058] However, since the agent tool is installed and run in the OS, there is a coupling relationship with the OS and its version. The manufacturer needs to develop and maintain the matching agent software for each OS and its version to transmit information to the management device. This way is very laborious. In addition, the CPU system and the OS belong to the business system. For the reason of information security, the agent tool as a third-party software is generally not allowed to be installed in the OS. Therefore, the communication between the OS and the management device cannot be realized, and the firmware log of the PCIE device cannot be transmitted to the management device. This will result in that the maintenance personnel cannot obtain the firmware log to perform fault diagnosis and problem positioning.

[0059] To solve the above problems, the embodiment of the present application provides a data transmission method. Through the method, the device management module can directly communicate with the peripheral device (of the CPU system) through the CPU to obtain data of the peripheral device. The device management module communicates with the peripheral device through the CPU system specifically refers to that the device management module communicates with the firmware of the peripheral device through the CPU system. In the embodiment of the present application, the peripheral device of the CPU system is a PCIE device, and the data of the peripheral device is the firmware log of the PCIE device. Since the device management module directly communicates with the PCIE device through the CPU system without needing to pass through the OS, and also does not need to install third-party software (such as a manufacturer tool for obtaining the firmware log and a proxy tool for realizing communication between the OS and the device management module) in the OS, the data transmission method provided in the embodiment of the present application can get rid of the dependence of the collection of the firmware log of the PCIE device on the OS and the constraints, thereby being beneficial to improving the efficiency of PCIE device fault diagnosis and problem positioning and improving maintainability.

[0060] In the embodiment of the present application, the device management module communicates with the peripheral device through the CPU system specifically refers to that the device management module communicates with the firmware of the peripheral device through the CPU system. In the embodiment of the present application, the peripheral device of the CPU system is a PCIE device, and the data of the peripheral device is the firmware log of the PCIE device. Since the device management module directly communicates with the PCIE device through the CPU system without needing to pass through the OS, and also does not need to install third-party software (such as a manufacturer tool for obtaining the firmware log and a proxy tool for realizing communication between the OS and the device management module) in the OS, the data transmission method provided in the embodiment of the present application can get rid of the dependence of the collection of the firmware log of the PCIE device on the OS and the constraints, thereby being beneficial to improving the efficiency of PCIE device fault diagnosis and problem positioning and improving maintainability.

[0061] MCTP is a management protocol framework, and the physical interface supported by the lower layer of MCTP includes but is not limited to a PCIE interface, an SMBus interface, a UART interface, a USB interface and the like. The embodiment of the present application takes obtaining the firmware log of the PCIE device as an example, and correspondingly, the embodiment of the present application takes the physical interface supported by the lower layer of MCTP as the PCIE interface (hereinafter referred to as "MCTP over PCIE interface", that is, MCTP carried on the PCIE interface) as an example for description. Referring to FIG. 1, the device management module communicates with the firmware of the PCIE device through the MCTP over PCIE interface protocol (see the dotted line ① in FIG. 1), that is, the device management module obtains the firmware log of the PCIE device through the MCTP over PCIE interface (see the dotted line ② in FIG. 1). Figure 2 Figure 2 Figure 2

[0062] ​​​It can be understood that if data of other peripheral device needs to be acquired, and a physical interface between the other peripheral device and the CPU system is an SMBus interface, in this case, the physical interface carried by the MCTP is an SMBus interface. For a process in which the device management module acquires data of other peripheral device through the MCTP over SMBus interface, the MCTP over UART interface or the MCTP over USB interface, and the like, the process is similar to the process of acquiring the firmware log of the PCIE device through the MCTP over PCIE interface, which is not described herein again.

[0063] In the embodiment of the present application, the device management module communicates with the peripheral device through the MCTP, which is specifically achieved by the management protocol carried by the upper layer of the MCTP. Next, taking the peripheral device as the PCIE device as an example, please refer to Figure 3 , Figure 3 is a flow diagram of acquiring data of the PCIE device by the device management module through the management protocol carried by the upper layer of the MCTP, which can include but is not limited to the following steps:

[0064] S301: The device management module sends a data acquisition command to the PCIE device through the management protocol carried by the upper layer of the MCTP, and the data acquisition command is used to acquire data of the PCIE device. Correspondingly, the PCIE device receives the data acquisition command.

[0065] The management protocol can be a platform level data model (PLDM) protocol, a network controller sideband interface (NC-SI) protocol. In the first implementation manner, the device management module specifically can achieve communication with the PCIE device through the PLDM over MCTP over PCIE interface protocol (that is, the management protocol carried by the upper layer of the MCTP is PLDM, and the MCTP is carried on the PCIE interface). In the second implementation manner, the device management module specifically can achieve communication with the PCIE device through the NC-SI over MCTP over PCIE interface protocol (that is, the management protocol carried by the upper layer of the MCTP is NC-SI, and the MCTP is carried on the PCIE interface).

[0066] In the embodiment of the present application, taking the data of the PCIE device as the firmware log file of the PCIE device as an example, that is, the data acquisition command is a firmware log collection command, and the firmware log collection command is used to acquire the firmware log file of the PCIE device.

[0067] S302: The PCIE device sends the data to the device management module through the management protocol.

[0068] After receiving the data acquisition command, the PCIE device can respond to the data acquisition command, that is, send the data to the device management module through the management protocol. In the first implementation manner, the device management module specifically sends the data to the device management module through the PLDM over MCTP over PCIE interface. In the second implementation manner, the device management module specifically sends the data to the device management module through the NC-SI over MCTP over PCIE interface.

[0069] Optionally, the PCIE device can generate the data after receiving the data acquisition command (see Figure 3 step S302a). Alternatively, the PCIE device can generate the data before receiving the data acquisition command. That is, the data is generated in advance before receiving the data acquisition command. For example, the data includes a firmware log file of the PCIE device, and the PCIE device can record log information regularly and generate the firmware log file regularly.

[0070] The MCTP specification does not define the scheme, command, and the like related to the firmware log collection of the PCIE device. In the first implementation manner, the PLDM protocol is extended, and the command (such as an original equipment manufacturer (OEM) command) related to the firmware log collection of the PCIE device is defined. In the second implementation manner, the NC-SI protocol is extended, and the command related to the firmware log collection of the PCIE device is defined. Next, how to acquire the firmware log of the PCIE device through the PLDM over MCTP over PCIE interface protocol and the NC-SI over MCTP over PCIE interface protocol is described.

[0071] (1) Acquiring the firmware log of the PCIE device through the PLDM over MCTP over PCIE interface protocol

[0072] The PLDM specification defines the data format of the OEM specific, including the request (Request) and the response (Response). The OEM command of the PLDM is extended in the embodiment of the present application, and the extended command includes the firmware log collection command (Get Firmware Log command) and the response thereof. For example, the data format of the firmware log collection command is as shown in Figure 4a , and the data format of the response of the firmware log collection command is as shown in Figure 4b .

[0073] Figure 4a and Figure 4b In the message, a PCIE vendor defined message (VDM) header field occupies 12 bytes, a MCTP header field occupies 4 bytes, an integrity check (IC) field indicates whether the MCTP message is checked, and the IC field can occupy 1 bit. The IC field has a value of 0, which can indicate that the MCTP message is not checked. The IC field has a value of 1, which can indicate that the MCTP message needs to be checked. The message type field is used to indicate that the MCTP upper layer carries a PLDM message, the PLDM header field occupies 4 bytes, and the number of bytes occupied by the PLDM message data field is not limited in the embodiment of the application. For example, the PLDM message data field occupies 12 bytes or 24 bytes. Figure 4a In the message, the data of the PLDM message data (PLDM Message Data) field is the data content of the firmware log collection command. Figure 4b In the message, the data of the PLDM message data field is the data content of the response of the firmware log collection command, and the data content of the response is the firmware log file.

[0074] (2) Obtain the firmware log of the PCIE device through the NC-SI over MCTP over PCIE interface protocol

[0075] The NC-SI specification defines the data format of the OEM command, including the command (Command) and the response (Response). The OEM command of the NC-SI is extended in the embodiment of the application, and the extended command includes the firmware log collection command (GetFirmware Log command) and the response thereof. Exemplarily, the data format of the firmware log collection command is as shown in Figure 5a , and the data format of the response of the firmware log collection command is as shown in Figure 5b .

[0076] Figure 5a and Figure 5b In the message, the contents of the PCIE vendor defined message header field, the MCTP header field, and the IC field are the same as those in Figure 4a and Figure 4b , which will not be described here. Figure 5a and Figure 5b In the message, the message type field is used to indicate that the MCTP upper layer carries an NC-SI message, the command packet header (Command packet header) field is the header of the NC-SI message, and the command packet header field occupies 16 bytes. Figure 5a andFigure 5b In the manufacturer ID field, a manufacturer ID is used to represent a manufacturer. Figure 5a In the vendor defined command field, data of the field is data content of the firmware log collection command. Figure 5b In the response code field, a response state of the PCIE device to the firmware log collection command can be indicated. In the reason code field, a reason corresponding to the response code can be indicated. Figure 5b In the vendor defined response field, data of the field is data content of the response to the firmware log collection command, and the data content of the response is the firmware log file.

[0077] For example, a data format of the firmware log file of the PCIE device can be as shown in FIG. 3. Figure 6 The firmware log file can include a header area and a data area. The header area includes, but is not limited to, the following fields: Identifier, Time, Length, Checksum. The data area includes specific content of the firmware log. It should be noted that Figure 6 The data format of the firmware log file shown in FIG. 3 is used for example, and does not constitute a limitation on the embodiments of the present application. The embodiments of the present application define the data format of the firmware log file, so that the data format of the firmware log file is consistent between the two parties of communication, which is beneficial to improve the reliability of the firmware log transmission and the compatibility of the interface between devices.

[0078] In an implementation manner, the firmware log file sent by the PCIE device to the device management module through the management protocol (such as the PLDM over MCTP over PCIE interface protocol, the NC-SI over MCTP over PCIE interface protocol) can include at least two event logs. In the specification of the PLDM, a command (ReadPLDMEventLog) for collecting event logs is defined. Each event log has an identifier (EntryID). The device management module can specify one or more EntryIDs through the ReadPLDMEventLog command, and the PCIE device can read the event records in the EntryIDs one by one. This way of reading one by one is low in efficiency. In the embodiments of the present application, the firmware log file (the firmware log file encapsulates at least two event logs) is used for transmission, so that the device management module can obtain at least two event logs by issuing one data acquisition command, which is simpler and more efficient than the way of reading the event logs one by one (i.e., one command exports one event log).

[0079] The specification of PLDM defines an event log, but the event log is only part of the firmware log of the PCIE device, and the firmware log can also include register information, running log and other information, so the complete firmware log cannot be collected according to the specification of PLDM. In the embodiment of the application, the firmware log file sent by the PCIE device to the device management module through a management protocol (such as PLDM over MCTP over PCIE interface protocol, NC-SI over MCTP over PCIE interface protocol) can include but is not limited to one or more of the following information: device information, running log, event log, register information, etc. Optionally, the firmware log file sent by the PCIE device to the device management module through a management protocol (such as PLDM over MCTP over PCIE interface protocol, NC-SI over MCTP over PCIE interface protocol) includes the complete firmware log recorded by the PCIE device. Through the mode of exporting the complete firmware log by one data acquisition command, the firmware log can be more efficiently acquired.

[0080] Optionally, the firmware of the PCIE device can periodically record some log information. For example, periodically record running log, device information, etc. Optionally, the firmware of the PCIE device can trigger to record some log information, for example, trigger to record event log, register information, etc. The periodically recorded information can be some relatively fixed information, such as device information, configuration information, and regular operation information. Among them, the operation recorded by the running log is planned and expected. The trigger recorded information can be some accidental and unexpected information, such as events, register state changes, etc.

[0081] Corresponding to the method given in the above method embodiment, the embodiment of the application also provides a corresponding device, including modules or units for executing the corresponding modules or units of the above embodiments. The modules or units can be software, hardware, or a combination of software and hardware.

[0082] Please refer to Figure 7 , a structural schematic diagram of a data transmission device provided by the application. Figure 7 The data transmission device 70 shown includes a communication unit 701. The data transmission device 70 can perform the related steps of the device management module, the peripheral device of the CPU system in the foregoing method embodiment.

[0083] For the case where the data transmission device 70 is used to realize the function of the device management module in the above method embodiment:

[0084] The communication unit 701 is configured to communicate with the peripheral device of the CPU system through the central processing unit (CPU) system and acquire data of the peripheral device.

[0085] In an implementation manner, the communication unit 701 is configured to acquire the data of the peripheral device, specifically configured to acquire the data of the peripheral device through a management protocol carried by a management component transport protocol (MCTP) upper layer.

[0086] In an implementation manner, the communication unit 701 is configured to acquire the data of the peripheral device through the management protocol, specifically configured to send a data acquisition command to the peripheral device through the management protocol, and receive the data from the peripheral device through the management protocol.

[0087] In an implementation manner, the management protocol is a platform level data model (PLDM) protocol or a network controller sideband interface (NC-SI) protocol.

[0088] In an implementation manner, the peripheral device is a peripheral component interconnect express (PCIE) device, and the data includes a firmware log file of the PCIE device; the firmware log file includes at least two event logs of the PCIE device.

[0089] In an implementation manner, the firmware log file further includes one or more of the following: a running log, register information, and device information of the PCIE device.

[0090] Specifically, in this case, the operation performed by the communication unit 701 can refer to the foregoing method embodiment related to the device management module.

[0091] For the case that the data transmission apparatus 70 is configured to implement the function of the peripheral device of the CPU system in the foregoing method embodiment:

[0092] The communication unit 701 is configured to communicate with a device management module through a CPU, and send data of the data transmission apparatus to the device management module.

[0093] In an implementation manner, the communication unit 701 is configured to send the data of the data transmission apparatus to the device management module, specifically configured to send the data of the data transmission apparatus to the device management module through a management protocol carried by a management component transport protocol (MCTP) upper layer.

[0094] In an implementation manner, the communication unit 701 can also be configured to receive a data acquisition command from the device management module through the management protocol; and the communication unit 701 is configured to send the data of the data transmission apparatus to the device management module through a management protocol carried by a management component transport protocol (MCTP) upper layer, specifically configured to respond to the data acquisition command and send the data of the data transmission apparatus to the device management module through the management protocol.

[0095] In an implementation, the management protocol is a platform level data model (PLDM) protocol or a network controller sideband interface (NC-SI) protocol.

[0096] In an implementation, the data transmission apparatus is a peripheral component interconnect express (PCIE) device, and the data includes a firmware log file of the PCIE device; the firmware log file includes at least two event logs of the PCIE device.

[0097] In an implementation, the firmware log file further includes one or more of the following: an operation log, register information, and device information of the PCIE device.

[0098] Specifically, in this case, the operations performed by the communication unit 701 can refer to the foregoing method embodiments for the peripherals.

[0099] The data transmission apparatus 70 can also be used to implement other functions of the peripherals of the device management module and the CPU in the foregoing method embodiments, which are not described herein again. Based on the same inventive concept, the principles and beneficial effects of the data transmission apparatus provided in the embodiments of the present application for solving problems are similar to those of the method embodiments, and can refer to the principles and beneficial effects of the method embodiments, which are not described herein again for brevity.

[0100] Please refer to Figure 8 for another structural schematic diagram of the data transmission apparatus provided in the present application. Figure 8 The data transmission apparatus 80 shown includes at least one processor 801, and optionally, a transceiver 802 and a memory 803.

[0101] The memory 803 can be a volatile memory, such as a random access memory; the memory can also be a non-volatile memory, such as a read-only memory, a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD), or the memory 803 can be any other medium capable of carrying or storing desired program codes in the form of instructions or data structures and capable of being accessed by a computer, but is not limited thereto. The memory 803 can be a combination of the above memories.

[0102] The specific connection medium between the processor 801, the transceiver 802, and the memory 803 is not limited in the embodiments of the present application. In the drawings, the processor 801, the transceiver 802, and the memory 803 are connected through a bus 804, which is represented by a thick line in the drawings, and the connection modes between other components are only schematically illustrated and are not limited thereto. The bus 804 can be divided into an address bus, a data bus, a control bus, etc. For brevity,Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0103] Processor 801 can have data transmission and reception capabilities, enabling it to communicate with other devices (such as communicating with peripheral devices through the CPU system), in situations such as... Figure 8 The device can also include a separate data communication unit, such as a transceiver 802, for sending and receiving data. When communicating with other devices, the processor 801 can transmit data through the transceiver 802. For example, it can receive metadata through the transceiver 802.

[0104] In one example, when the data transmission device uses Figure 8 When in the form shown, Figure 8 The processor in the process can execute the method performed by the data transmission device in any of the above method embodiments.

[0105] Specifically, Figure 7 The function / implementation process of the communication unit can be achieved through Figure 8 The processor 801 in the memory calls computer execution instructions stored in the memory 803 to implement the function.

[0106] In one implementation, the data transmission device 80 may include a circuit that can implement the relevant functions in the foregoing method embodiments. The processor described in this application can be implemented as an integrated circuit (IC), analog IC, radio frequency integrated circuit (RFIC), mixed-signal IC, application-specific integrated circuit (ASIC), printed circuit board (PCB), electronic device, etc. The processor can also be manufactured using IC process technologies such as complementary metal oxide semiconductor (CMOS), n-metal-oxide-semiconductor (NMOS), positive-channel metal oxide semiconductor (PMOS), bipolar junction transistor (BJT), bipolar CMOS (BiCMOS), silicon germanium (SiGe), gallium arsenide (GaAs), etc.

[0107] The data transmission device described in the above embodiments can be a device management module in electronic devices such as servers or terminal devices, such as a baseboard management controller (BMC), or it can be a peripheral device of a CPU system. The structure of the data transmission device is not limited to... Figure 8 The data transmission device may be a standalone device or part of a larger device. For example, the data transmission device may be:

[0108] (1) Independent integrated circuit IC, or chip, or chip system or subsystem;

[0109] (2) A collection of one or more ICs, optionally including storage components for storing data and computer programs;

[0110] (3) ASIC, such as modem;

[0111] (8) A module that can be embedded in other devices;

[0112] (5) Receivers, terminals, smart terminals, cellular phones, wireless devices, handheld devices, mobile units, vehicle-mounted devices, network devices, cloud devices, artificial intelligence devices, etc.

[0113] (6) Others, etc.

[0114] For cases where the data transmission device can be a chip or a chip system, please refer to [link / reference]. Figure 9 The diagram shows the structure of the chip. Figure 9 The chip 90 shown includes a processor 901, and the number of processors 901 can be one or more. The processor 901 is used to execute the relevant steps performed by the device management module and the peripheral device of the CPU in the foregoing method embodiments.

[0115] Optionally, the chip may also include an interface 902 and a memory 903, which stores necessary computer programs and data. The memory 903 can be provided separately or integrated with the processor 901.

[0116] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.

[0117] Those skilled in the art can understand that the various illustrative logical blocks and steps listed in the embodiments of the present application can be implemented by electronic hardware, computer software, or a combination of both. Whether the functions are implemented by hardware or software depends on the specific application and design requirements of the whole system. Those skilled in the art can implement the functions in various ways for corresponding applications, but such implementation should not be understood as beyond the scope of protection of the embodiments of the present application.

[0118] The schemes described in the present application can be implemented in various ways. For example, these technologies can be implemented in hardware, software, or a combination of hardware and software. For hardware implementation, the processing unit for performing these technologies at the data transmission device can be implemented in one or more general-purpose processors, digital signal processors (DSPs), digital signal processing devices, application specific integrated circuits (ASICs), programmable logic devices, field programmable gate arrays (FPGAs), or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or any combination of the above. The general-purpose processor can be a microprocessor, and optionally, the general-purpose processor can also be any conventional processor, controller, microcontroller, or state machine. The processor can also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a digital signal processor core, or any other similar configuration.

[0119] The present application also provides a computer readable medium having a computer program stored thereon, which, when executed by a computer, implements the functions of any of the method embodiments described above.

[0120] The present application also provides a computer program product, which, when executed by a computer, implements the functions of any of the method embodiments described above.

[0121] The present application also provides a data transmission system, which comprises a device management module, a CPU system, and peripheral devices of the CPU system; wherein the device management module is configured to communicate with the peripheral devices through the CPU system and obtain data of the peripheral devices; and the peripheral devices are configured to generate the data.

[0122] In the embodiments described above, all or some of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or some of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded into and executed by a computer, all or some of the processes or functions according to the embodiments described in the specification are generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatuses. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. containing one or more available media sets. The available media can be magnetic media (such as floppy disk, hard disk, magnetic tape), optical media (such as high-density digital video disc (digital video disc, DVD)), or semiconductor media (such as solid state drive (solid state drive, SSD)) and the like.

[0123] It can be understood that the "embodiments" mentioned throughout the specification mean that the specific features, structures or characteristics related to the embodiments are included in at least one embodiment of the present application. Therefore, the various embodiments throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It can be understood that in various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution, and the execution order of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0124] It can be understood that in the present application, "when", "if" and "if" all refer to the device will make corresponding processing under certain objective circumstances, not limited by time, and also does not require the device to have a judgment action when it is implemented, nor does it mean that there are other limitations.

[0125] In the present application, the element expressed by the singular is intended to represent "one or more", not "one and only one", unless otherwise specified. In the present application, "at least one" is intended to represent "one or more" and "multiple" is intended to represent "two or more" unless otherwise specified.

[0126] In addition, the term "and / or" in this document merely describes an associated relationship, which means that there can be three relationships, for example, A and / or B, which can represent three cases: A exists alone, A and B exist together, and B exists alone, where A can be singular or plural, and B can be singular or plural.

[0127] Those skilled in the art can understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the foregoing method embodiments, which will not be described here.

[0128] The same or similar parts among various embodiments in the present application can be mutually referred. In the various embodiments in the present application, and the various implementation manners / implementation methods / realization methods in each embodiment, if there is no special description and logical conflict, the terms and / or descriptions among different embodiments, and the various implementation manners / implementation methods / realization methods in each embodiment have consistency and can be mutually referred, and the technical features in different embodiments, and the various implementation manners / implementation methods / realization methods in each embodiment can be combined to form new embodiments, implementation manners, implementation methods, or realization methods according to their inherent logical relationship. The above-described implementation manners of the present application do not constitute a limitation on the protection scope of the present application.

[0129] The above is merely a specific implementation manner of the present application, but the protection scope of the present application is not limited to this, and any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the present application, which should be covered in the protection scope of the present application.

Claims

1. A data transmission method, the method being applied to a device management module, characterized in that, The device management module communicates with the peripheral devices of the CPU system through the CPU system; the peripheral devices are PCIe devices (High-Speed ​​Peripheral Component Interconnect). The device management module obtains data from the peripheral device through the management protocol carried by the upper layer of the Management Component Transport Protocol (MCTP). The data includes the firmware log file of the PCIE device. The management protocol includes the collection command for the PCIE device firmware log. The management protocol is either the Platform Level Data Model (PLDM) protocol or the Network Controller Sideband Interface (NC-SI) protocol. The PLDM protocol includes a PLDM message data field, and the NC-SI protocol includes a vendor-defined command field. When the management protocol is the PLDM protocol, the command for collecting the PCIE device firmware log is stored in the PLDM message data field; When the management protocol is the NC-SI protocol, the command for collecting the PCIE device firmware log is stored in the vendor-defined command field of the NC-SI protocol.

2. The method as described in claim 1, characterized in that, The device management module obtains data from the peripheral device through the management protocol, including: The device management module sends a data acquisition command to the peripheral device through the management protocol; The device management module receives the data from the peripheral device through the management protocol.

3. The method as described in claim 1 or 2, characterized in that, The firmware log file includes at least two event logs for the PCIe device.

4. The method as described in claim 3, characterized in that, The firmware log file may also include one or more of the following: the PCIe device's operation log, register information, and device information.

5. A data transmission method, said method being applied to peripheral devices of a central processing unit (CPU) system, characterized in that, The peripheral devices of the central processing unit (CPU) system communicate with the device management module through the CPU system and send data of the peripheral devices to the device management module through the management protocol carried by the upper layer of the Management Component Transfer Protocol (MCTP). The peripheral devices are PCIe devices with Fast Peripheral Component Interconnect (FPPE) and the data includes the firmware log file of the PCIe device. The management protocol includes the collection command of the PCIe device firmware log. The management protocol is either the Platform Level Data Model (PLDM) protocol or the Network Controller Sideband Interface (NC-SI) protocol. The PLDM protocol includes a PLDM message data field, and the NC-SI protocol includes a vendor-defined command field. When the management protocol is the PLDM protocol, the command for collecting the PCIE device firmware log is stored in the PLDM message data field; When the management protocol is the NC-SI protocol, the command for collecting the PCIE device firmware log is stored in the vendor-defined command field of the NC-SI protocol.

6. The method as described in claim 5, characterized in that, The method further includes: The peripheral device receives a data acquisition command from the device management module through the management protocol; The peripheral device sends its data to the device management module through the management protocol carried by the upper layer of the Management Component Transport Protocol (MCTP), including: The peripheral device responds to the data acquisition command and sends the data of the peripheral device to the device management module through the management protocol.

7. The method as described in claim 5 or 6, characterized in that, The firmware log file includes at least two event logs for the PCIe device.

8. The method as described in claim 7, characterized in that, The firmware log file may also include one or more of the following: the PCIe device's operation log, register information, and device information.

9. A data transmission device, characterized in that, Includes a unit for performing the method as described in any one of claims 1 to 4 or 5 to 8.

10. A data transmission device, characterized in that, The apparatus includes a processor for performing the method as described in any one of claims 1 to 4 or 5 to 8.

11. A data transmission system, characterized in that, The system includes: a device management module, a central processing unit (CPU) system, and peripheral devices of the CPU system; The device management module is used to communicate with the peripheral device through the CPU system and obtain data from the peripheral device through the management protocol carried by the upper layer of the Management Component Transfer Protocol (MCTP); the peripheral device is a PCIe device; the data includes the firmware log file of the PCIe device; the management protocol includes the collection command of the PCIe device firmware log; the management protocol is either the Platform Level Data Model (PLDM) protocol or the Network Controller Sideband Interface (NC-SI) protocol. The PLDM protocol includes a PLDM message data field, and the NC-SI protocol includes a vendor-defined command field. When the management protocol is the PLDM protocol, the command for collecting the PCIE device firmware log is stored in the PLDM message data field; When the management protocol is the NC-SI protocol, the command for collecting the PCIE device firmware log is stored in the vendor-defined command field of the NC-SI protocol; The peripheral device is used to generate the data.

Citation Information

Patent Citations

  • Method for monitoring network card equipment, baseboard management controller and network card equipment

    CN110958132A

  • Case management system and method based on NVME-MI

    CN111459863A

  • Method and device for obtaining alarm state value based on host, equipment and storage medium

    CN112084099A

Cited By

  • An MCTP implementation device, data transmission method, chip and control system

    CN122160449A