WO2023024619A1 - Method for managing peripheral component interconnect express (pcie) device, and related apparatus - Google Patents

Method for managing peripheral component interconnect express (pcie) device, and related apparatus Download PDF

Info

Publication number
WO2023024619A1
WO2023024619A1 PCT/CN2022/095027 CN2022095027W WO2023024619A1 WO 2023024619 A1 WO2023024619 A1 WO 2023024619A1 CN 2022095027 W CN2022095027 W CN 2022095027W WO 2023024619 A1 WO2023024619 A1 WO 2023024619A1
Authority
WO
WIPO (PCT)
Prior art keywords
interface
pcie
attribute information
capability attribute
pcie device
Prior art date
Application number
PCT/CN2022/095027
Other languages
French (fr)
Chinese (zh)
Inventor
李宇涛
Original Assignee
超聚变数字技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 超聚变数字技术有限公司 filed Critical 超聚变数字技术有限公司
Publication of WO2023024619A1 publication Critical patent/WO2023024619A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present application relates to the field of information technology, and in particular to a method and a related device for managing fast peripheral component interconnection PCIe devices.
  • PCIe Peripheral component interconnect express
  • network cards such as network cards, accelerator cards, etc.
  • accelerator cards such as network cards, accelerator cards, etc.
  • PCIe peripherals of the computing device processor system gradually increase the number of functions and features. Therefore, the types of PCIe devices are also gradually increasing.
  • the cooperation relationship with computing devices is becoming more and more complex, which makes computing devices have higher and higher requirements for configuration management of PCIe devices.
  • the computing device manages different PCIe devices according to the attribute information of each PCIe device, so the computing device needs to acquire the attribute information of each PCIe device currently connected to the computing device.
  • the attribute information of the PCIe devices is pre-stored in the computing device, so that the computing device manages each PCIe device according to the pre-stored attribute information.
  • the capability attribute information stored in the computing device needs to be updated once, which is inconvenient for the computing device to manage and maintain each PCIe device.
  • the present application discloses a method and a related device for managing fast peripheral component interconnection PCIe devices, wherein firmware is stored in the PCIe devices, and the firmware includes capability attribute information of the PCIe devices, laying a foundation for the management of the PCIe devices.
  • the present application provides a fast peripheral component interconnection PCIe device, including a communication interface, a processor, and a memory, wherein the memory is used to store the firmware of the PCIe device, and the firmware includes the PCIe The capability attribute information of the device; the processor is used to load the firmware; the communication interface is used to send the capability attribute information.
  • this application opens up a section of space in the firmware of the memory of the PCIe device for storing the capability attribute information of the PCIe device, so that the capability attribute information is included in the PCIe device, laying a foundation for the management of the PCIe device.
  • the capability attribute information refers to the attribute information used to represent the capability of the PCIe device, and the capability is used to realize a certain function of the PCIe device.
  • the value of the capability attribute information generally indicates the maximum or limit value that the PCIe device can achieve. When the PCIe device is in the working state, the working state value may not reach the value of the capability attribute information. If the working state value exceeds the capability attribute information for a long time value, the PCIe device will stop working or work slowly or the PCIe device will hang, and may even be damaged.
  • the communication interface is also used to receive a command request; the command request is used to instruct acquisition of the capability attribute information; the communication interface is also used to send response information; the The response information includes the capability attribute information.
  • the PCIe device can receive a command request for instructing to obtain the capability attribute information through the communication interface, and can also send response information including the capability attribute information through the communication interface.
  • the communication interface includes an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a universal asynchronous transceiver UART interface.
  • the communication interface used to receive a command request for acquiring capability attribute information and to send capability attribute information may be an out-of-band interface, for example, an SMBus interface or an NC-SI interface or a UART interface, and the out-of-band interface may also be other interfaces, This application does not make specific limitations.
  • the communication interface includes an in-band interface; the in-band interface is a PCIe interface for express peripheral components or an Ethernet interface.
  • the communication interface used to receive the command request for obtaining the capability attribute information and to send the capability attribute information can also be an in-band interface, for example, a PCIe interface or an Ethernet interface, and the in-band interface can also be other interfaces. This application does not Be specific.
  • the custom command field in the command request carries an instruction to acquire the capability attribute information; the response The capability attribute information is carried in the custom response field in the message.
  • the communication interface is an out-of-band interface NC-SI interface
  • the communication protocol supported by the NC-SI interface includes the NC-SI protocol
  • the format of the command request (ie the first command request message) and the format of the command request are defined in the NC-SI protocol.
  • the format of the response information (that is, the first command response message).
  • This application extends the custom command field in the first command request message and the custom response field in the first command response message, so that the custom command field in the first command request message carries the acquisition capability attribute information command, the custom response field in the first command response message carries the capability attribute information of the PCIe device.
  • the PCIe device when the PCIe device communicates with other devices, it can receive the first command request message through the NC-SI interface, wherein the first command request message includes an instruction to acquire capability attribute information, and send the first command request message through the NC-SI interface.
  • a command response message wherein the first command response message includes capability attribute information.
  • the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain the capability attribute information; the The PLDM protocol data field in the response information carries the capability attribute information.
  • the communication protocol supported by the PCIe interface includes the PLDM protocol, and the format of the command request (i.e. the second command request message) and the format of the response information (i.e. the second command request message) are defined in the PLDM agreement. command response message).
  • This application extends the PLDM protocol data field in the second command request message and the PLDM protocol data field in the second command response message, so that the PLDM protocol data field in the second command request message carries the acquisition capability attribute information command, the PLDM protocol data field in the second command response message carries the capability attribute information of the PCIe device.
  • the PCIe device when the PCIe device communicates with other devices, it can receive the second command request message through the PCIe interface, wherein the second command request message includes an instruction to obtain capability attribute information, and send the second command response message through the PCIe interface , wherein the second command response message includes capability attribute information.
  • the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
  • the capability attribute information can be one or more of port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information thermal resistance, delay level and power consumption level, and the capability attribute information can also be For other information, this application does not limit.
  • the present application provides a system, including a computing device and at least one fast peripheral component interconnection PCIe device, the at least one PCIe device is connected to the computing device through a fast peripheral component interconnection PCIe bus, and the PCIe
  • the device stores firmware, and the firmware includes capability attribute information of the PCIe device.
  • the computing device can be connected to at least one PCIe device, wherein the firmware of each PCIe device stores the capability attribute information of the device, which lays a foundation for the computing device to manage the at least one PCIe device and provides convenient conditions.
  • the computing device is configured to send a command request to the at least one PCIe device; the command request is used to indicate to obtain the capability attribute information of the PCIe device; the at least one PCIe device It is used to send response information to the computing device respectively; the response information includes capability attribute information of the PCIe device; the computing device is also used to, according to the received response information of the at least one PCIe device, manage The at least one PCIe device.
  • the computing device communicates with the at least one PCIe device through an out-of-band interface;
  • the out-of-band interface includes a system management bus SMBus interface, a network controller sideband interface NC- One or more of SI and Universal Asynchronous Receiver Transceiver UART interfaces.
  • the computing device communicates with the at least one PCIe device through an in-band interface; the in-band interface includes the PCIe interface and/or the Ethernet interface.
  • the custom command field in the command request carries an instruction to acquire capability attribute information;
  • the capability attribute information is carried in the custom response field of .
  • the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the response The PLDM protocol data field in the information carries the capability attribute information.
  • the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
  • the present application provides a method for managing fast peripheral component interconnection PCIe devices, which is applied to the computing device side, including: the computing device sends a command request; the command request indicates to obtain the capability attribute information of the PCIe device; Receiving response information; the response information includes capability attribute information of the PCIe device; and managing the PCIe device according to the capability attribute information of the PCIe device.
  • the computing device can send a command request for instructing to obtain the capability attribute information of the PCIe device, and can also receive the response information including the capability attribute information, and the computing device manages PCIe according to the received capability attribute information of the PCIe device .
  • the computing device communicates with the PCIe device through an out-of-band interface;
  • the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a general-purpose Asynchronous transceiver UART interface.
  • the computing device communicates with the PCIe device through an in-band interface;
  • the in-band interface is a Peripheral Component Interconnect Express PCIe interface or an Ethernet interface.
  • the custom command field in the command request carries an instruction to obtain capability attribute information; in the response information
  • the capability attribute information is carried in the custom response field of .
  • the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the response The PLDM protocol data field in the information carries the capability attribute information.
  • the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
  • the present application provides a method for managing fast peripheral component interconnection PCIe devices, which is applied to the PCIe device side, including: the PCIe device receives a command request; the command request indicates to obtain the capability attribute of the PCIe device Information; the capability attribute information is stored in the firmware of the PCIe device; response information is sent based on the command request; the response information includes the capability attribute information of the PCIe device.
  • the firmware of the PCIe device stores the capability attribute information of the device, which lays a foundation for the management of the PCIe device.
  • the PCIe device can receive a command request indicating to obtain the capability attribute information, and can also send response information including the capability attribute information.
  • the PCIe device communicates with the computing device through an out-of-band interface;
  • the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or Universal Asynchronous Transceiver tor UART interface.
  • the PCIe device communicates with the computing device through an in-band interface;
  • the in-band interface is a Peripheral Component Interconnect Express PCIe interface or an Ethernet interface.
  • the PCIe device receiving the command request includes: the PCIe device receiving the command request through the NC-SI interface
  • the command request sent by the computing device; the custom command field in the command request carries an instruction to obtain capability attribute information;
  • the sending of response information based on the command request includes: based on the command request, through the The NC-SI interface sends the response information to the computing device; the capability attribute information is carried in the self-defined response field in the response information.
  • the PCIe device receiving the command request includes: the PCIe device receives the command request sent by the computing device through the PCIe interface
  • the command request, the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information;
  • the sending response information based on the command request includes: based on the command request, through the The PCIe interface sends response information to the computing device;
  • the PLDM protocol data field in the response information carries the capability attribute information.
  • the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
  • the present application provides a computing device, including: a sending module, used to send a command request; the command request indicates to obtain the capability attribute information of the PCIe device; a receiving module, used to receive response information; the The response information includes the capability attribute information of the PCIe device; the management module is configured to manage the PCIe device according to the capability attribute information of the PCIe device.
  • the computing device communicates with the PCIe device through an out-of-band interface;
  • the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a general-purpose Asynchronous transceiver UART interface.
  • the computing device communicates with the PCIe device through an in-band interface;
  • the in-band interface is a Peripheral Component Interconnect Express PCIe interface or an Ethernet interface.
  • the custom command field in the command request carries an instruction to obtain capability attribute information; in the response information
  • the capability attribute information is carried in the custom response field of .
  • the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the response The PLDM protocol data field in the information carries the capability attribute information.
  • the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
  • Each functional module of the fifth aspect is specifically configured to implement the method described in the third aspect or any possible implementation manner of the third aspect.
  • the present application provides a PCIe device, including: a storage module, configured to store capability attribute information of the PCIe device; a receiving module, configured to receive a command request; the command request indicates to obtain the PCIe device's Capability attribute information; a sending module, configured to send response information based on the command request; the response information includes capability attribute information of the PCIe device.
  • the PCIe device communicates with the computing device through an out-of-band interface;
  • the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or Universal Asynchronous Transceiver tor UART interface.
  • the PCIe device communicates with the computing device through an in-band interface;
  • the in-band interface is a Peripheral Component Interconnect Express PCIe interface or an Ethernet interface.
  • the receiving module is configured to receive the command sent by the computing device through the NC-SI interface request; the custom command field in the command request carries an instruction to obtain capability attribute information; the sending module is configured to, based on the command request, send the response to the computing device through the NC-SI interface information; the capability attribute information is carried in the self-defined response field in the response information.
  • the receiving module is configured to receive the command request sent by the computing device through the PCIe interface;
  • the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information;
  • the sending module is used to send response information to the computing device through the PCIe interface based on the command request;
  • the PLDM protocol data field in the response information carries the capability attribute information.
  • the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
  • Each functional module of the sixth aspect is specifically configured to implement the method described in the fourth aspect or any possible implementation manner of the fourth aspect.
  • the present application provides yet another computing device, including a memory, a processor, and a communication interface, the communication interface is used to receive or send instructions, the memory is used to store instructions, and the processor is used to run the The instructions stored in the memory execute the method described in the above third aspect or any possible implementation manner of the third aspect.
  • the present application provides a computer-readable storage medium, including program instructions.
  • the program instructions When the program instructions are executed by a computing device, the computing device executes any possible method of the third aspect or the third aspect. The method described in the implementation.
  • the present application provides a computer-readable storage medium, including program instructions.
  • the program instructions When the program instructions are executed by a computing device, the computing device performs any possible operation of the fourth aspect or the fourth aspect. The method described in the implementation.
  • FIG. 1 is a schematic diagram of a system architecture provided by the present application
  • Fig. 2 is a schematic flow chart of a method for managing PCIe devices provided by the present application
  • Fig. 3 is a schematic diagram of the connection relationship between a computing device and a PCIe device provided by the present application;
  • Fig. 4 is a schematic diagram of the SMBus interface protocol specification provided by the application.
  • FIG. 5 is a schematic diagram of a format of response information provided by the present application.
  • FIG. 6 is a schematic diagram of another connection relationship between a computing device and a PCIe device provided by the present application.
  • FIG. 7A is a schematic diagram of the first command request message provided by the present application.
  • FIG. 7B is a schematic diagram of the first command response message provided by the present application.
  • FIG. 8 is a schematic diagram of another connection relationship between a computing device and a PCIe device provided by the present application.
  • FIG. 9A is a schematic diagram of a second command request message provided by the present application.
  • FIG. 9B is a schematic diagram of a second command response message provided by the present application.
  • FIG. 10 is a schematic diagram of a computing device provided by the present application.
  • FIG. 11 is a schematic diagram of a PCIe device provided by the present application.
  • FIG. 12 is a schematic diagram of another computing device provided by the present application.
  • FIG. 13 is a schematic diagram of another PCIe device provided by the present application.
  • first and second in this embodiment of the present application are only used to distinguish different things, and are not used to represent important content or secondary important content.
  • at least one means one or more
  • multiple means two or more.
  • Out-of-band management refers to the management and control of the network through a dedicated management channel, separates management data from business data, and establishes an independent channel for management data. In this channel, only management data is transmitted. , statistical information, billing information, etc., management data and business data are separated.
  • the out-of-band management channel can be a system management bus (SMBus) interface or a network controller sideband interface (network controller sideband interface, NC-SI) interface or a universal asynchronous receiver/transmitter (UART) interface etc., refer to these out-of-band management channels as out-of-band interfaces.
  • the out-of-band interface in this application may be an SMBus interface, an NC-SI interface, a UART interface, etc., or other interfaces, which are not specifically limited in this application.
  • In-band (in-band) management refers to using the same network channel to transmit management data and service data.
  • the in-band management channels can be PCIe interfaces or Ethernet interfaces, and these in-band management channels are called in-band interfaces.
  • the in-band interface in this application may be a PCIe interface, an Ethernet interface, or a special interface, which is not specifically limited in this application.
  • FIG. 1 is a schematic diagram of a system architecture involved in the present application.
  • the PCIe interface is a bridge for communication between the computing device and the PCIe device.
  • the computing device is a master device with a PCIe interface.
  • a computing device can be a terminal device, such as various types of servers, desktop computers, user equipment (UE), mobile phone (mobile phone), tablet computer (pad), audio, etc.; it can be a machine intelligent device, such as Self-driving (self-driving) equipment, transportation safety (transportation safety) equipment, virtual reality (virtual reality, VR) terminal equipment, augmented reality (augmented reality, AR) terminal equipment, machine type communication (machine type communication, MTC) Equipment, industrial control (industrial control) equipment, remote medical (remote medical) equipment, smart grid (smart grid) equipment, smart city (smart city) equipment, etc.; can be car cockpit (cockpit domain) equipment, or car cockpit equipment
  • a module in, for example, a combination of one or more modules in the cockpit domain controller (cockpit domain controller, CDC), camera, screen, microphone, audio, electronic key, keyless entry or start system controller; can It is a data transfer device, such as a router, repeat
  • the name of the master device with a similar PCIe interface may not be called a computing device, but for the convenience of description, in the embodiment of the present application, the master device with a PCIe interface is collectively referred to as a computing device.
  • a PCIe device is a slave device with a PCIe interface.
  • a PCIe device can be a network card, a redundant array of independent disks (RAID) card, a graphics card (graphic processing unit, GPU, also known as an image processor), a solid state disk (solid state disk, SSD), an accelerator card, fiber channel (fibre channel, FC) card, wireless broadband (infiniband, IB) card, etc.
  • Identification information is stored in the PCIe device, wherein the identification information refers to information used to identify the PCIe device, for example, it can be four-tuple information, a model (part number, PN) of a board, a serial number (serial number, SN) ) and so on one or more.
  • Quad information includes: PCIe device vendor identification number (vendor identity, VID), device identification number (device identity, DID), sub vendor identification number (sub vendor identity, SVID), subsystem identification number (sub system identity, SSID), the four-tuple information can uniquely identify the PCIe device.
  • One or more PCIe devices are connected to one computing device.
  • the computing device needs to obtain capability attribute information of the PCIe devices, so as to implement management of each PCIe device.
  • capability attribute information is not stored. Therefore, no matter through in-band communication or out-of-band communication, the computing device cannot directly obtain the capability attribute information from the PCIe device.
  • the capability attribute information refers to the attribute information used to represent the capability of the PCIe device, and the capability is used to realize a certain function of the PCIe device.
  • the value of the capability attribute information generally indicates the maximum or limit value that the PCIe device can achieve. When the PCIe device is in the working state, the working state value may not reach the value of the capability attribute information. In some cases, if the working state value If the value of the capability attribute information is exceeded for a long time, the PCIe device may be damaged.
  • the capability attribute information may be one or more of port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level.
  • the port rate indicates the maximum transmission rate that the PCIe device port can achieve;
  • the cache capacity indicates the maximum cache capacity of the PCIe device;
  • the temperature threshold indicates the maximum temperature reached by the PCIe device. If the temperature of the PCIe device in the working state reaches or If the temperature threshold is exceeded, it is urgent to take cooling measures for the PCIe device to lower the temperature of the PCIe device. If it is in the temperature threshold state for a long time or exceeds the temperature threshold, the PCIe device will stop working or work slowly or the PCIe device will stop, or even It may be damaged; the network controller sideband interface characteristics include whether the PCIe device supports the NC-SI feature and the supported commands and parameters.
  • the parameters of the PCIe device can be configured;
  • the thermal resistance indicates the temperature of the device
  • the ratio between the difference (increased temperature) and the difference in power consumption (the unit of thermal resistance is °C/W), that is, how much °C the temperature rises when the power consumption is increased by 1W, and the power consumption of the PCIe device can be calculated according to the thermal resistance value.
  • the working temperature value that may be reached in the case of increasing;
  • the size information indicates the size allowed by the PCIe device, and the size of the PCIe device includes full height, full length, half height, and half length;
  • the delay level indicates that the information is processed in the PCIe device The amount of time consumed; the power consumption level indicates the power consumption of the PCIe device.
  • the present application provides a method for a computing device to obtain capability attribute information of a PCIe device, as follows:
  • the computing device pre-stores a mapping relationship between identification information of a PCIe device and capability attribute information.
  • the mapping relationship between the identification information of the PCIe device and the capability attribute information can be as shown in Table 1, and only the mapping relationship between the identification information of the PCIe device and the capability attribute information is listed in Table 1.
  • the identification information uses four-tuple information that can uniquely identify the PCIe device: VID, DID, SVID, and SSID.
  • the name of the device may also be included in Table 1, that is, the correspondence between the identification information, the name of the device, and the capability attribute information.
  • the name of the device corresponding to the identification information VID1/DID1/SVID1/SSID1 is
  • the corresponding capability attribute information includes capability attribute 1, capability attribute 2, capability attribute 3, and capability attribute 4.
  • Table 1 here is only an example. In practical applications, the content of the identification information and capability attribute information of PCIe devices in Table 1, and the mapping relationship between the identification information of each PCIe device and each capability attribute information may be different. For example, the identification information of different PCIe devices may have part of the same capability attribute information. Table 1 may also include more or fewer mapping relationships, and the corresponding relationship may also be stored in other forms. There is no specific limitation.
  • the computing device acquires the identification information of the PCIe device through in-band communication or out-of-band communication.
  • the computing device determines capability attribute information corresponding to the identification information of the PCIe device according to the acquired identification information of the PCIe device and a mapping relationship between the identification information of the PCIe device and the capability attribute information.
  • the obtained identification information of the PCIe device is the quaternion information VID1/DID1/SVID1/SSID1 of the PCIe device, it can be known from the query table 1 that the The capability attribute information corresponding to the quadruple information is capability attribute 1, capability attribute 2, capability attribute 3, and capability attribute 4.
  • the computing device After the computing device determines the capability attribute information of the PCIe device, the computing device manages the PCIe device according to the capability attribute information of the PCIe device.
  • the computing device obtains the capability attribute information of the PCIe device and manages the PCIe device according to the obtained capability attribute information
  • the computing device needs to pre-store the mapping relationship between the identification information of each PCIe device and the capability attribute information, that is, PCIe
  • the capability attribute information of the device is stored externally.
  • it is stored in the computing device. Therefore, when a new PCIe device is added or a PCIe device is upgraded, the computing device needs to update the pre-stored information once. This method is cumbersome to operate, and it is difficult to realize the management and operation and maintenance of PCIe devices.
  • FIG. 2 is a schematic flowchart of a method for managing PCIe devices provided by this application, the method includes but is not limited to the following describe.
  • the computing device sends a command request to the PCIe device.
  • the PCIe device receives the command request sent by the computing device, where the command request is used to instruct acquisition of capability attribute information of the PCIe device.
  • the PCIe device returns response information to the computing device.
  • the computing device receives the response information returned by the PCIe device, wherein the response information includes capability attribute information of the PCIe device.
  • the capability attribute information is stored in a segment of storage space in firmware (firmware) in the memory of the PCIe device.
  • firmware firmware
  • the firmware is used to realize the functions of the PCIe device, for example, the network card firmware realizes the network connection of the network card, message sending and receiving, protocol offloading and so on.
  • capability attribute 1 may be the port rate of the PCIe device
  • capability attribute 2 may be the port line width of the PCIe device
  • capability attribute 3 may be the cache capacity of the PCIe device
  • capability attribute 4 may be the NC-SI characteristic, and so on.
  • Table 2 here is only an example. In practical applications, the content and storage format of the capability attribute information of PCIe devices in Table 2 can be different. This application does not make any reference to the storage format of the capability attribute information in firmware. limited.
  • the computing device is connected to the SMBus interface on the PCIe device. More specifically, the interface of the device management module of the computing device is connected to the SMBus interface of the PCIe device, and the SMBus protocol is used to realize the connection with the PCIe device. device communication.
  • the computing device is also connected to the PCIe device through a PCIe interface, wherein the PCIe interface is a service interface for communication between the PCIe device and a service system (such as a CPU system, an OS system) of the computing device.
  • the address resolution protocol ARP is defined in the SMBus protocol specification, and the special address "1100001" is defined in the ARP protocol to realize certain functions.
  • Figure 4 is a functional schematic diagram of the special address "1100001” defined in the ARP protocol in the SMBus protocol specification. It can be seen from Figure 4 that only the command word "0x01" to "0x04" is defined in the ARP protocol.
  • any reserved command word in the ARP protocol is defined as an instruction for obtaining capability attribute information.
  • the command word "0x00” can be defined as an instruction for obtaining capability attribute information, or " Any command word in "0x05" to "0x1F” is defined as the command to obtain capability attribute information.
  • the computing device sends a command request to the PCIe device through the SMBus interface.
  • the command request indicates to obtain the capability attribute information of the PCIe device.
  • the PCIe device After receiving the command request, the PCIe device returns a response message to the computing device.
  • the response message Including the capability attribute information of the PCIe device, the form of the response information is shown in Figure 5.
  • the "slave node address” is "1100001", indicating that a certain command word in the special address "1100001" is used; "command " indicates the command to obtain capability information, and the content in "command” is the specific command word representing the command to obtain capability information.
  • the command word "0x05" is defined as the command to obtain capability attribute information
  • the content in "command” is 0x05
  • the "0x1F” command word is defined as an instruction to obtain capability attribute information
  • the content in "command” is 0x1F
  • "data 1" to “data N” are used to store capability attribute information.
  • the format of the response information shown in FIG. 5 is only an exemplary representation, and the present application does not specifically limit the format of the response information and the format of the capability attribute information.
  • the computing device is connected to the NC-SI interface on the PCIe device, specifically, the interface of the device management module on the computing device is connected to the NC-SI interface of the PCIe device.
  • the computing device is also connected to the PCIe device through a PCIe interface, wherein the PCIe interface is a service interface for data transmission between the PCIe device and a business system (such as a CPU system, an OS system) of the computing device.
  • the NC-SI interface supports the NC-SI protocol.
  • the NC-SI protocol defines the format of the first command message, including the format of the first command request message and the format of the first command response message.
  • This application expands the first command request message and the first command response message, see Figure 7A and Figure 7B for details, Figure 7A is the format of the first command request message provided by this application, and Figure 7B is the format of the first command request message provided by this application Format of the first command response message.
  • Figure 7A is the format of the first command request message provided by this application
  • Figure 7B is the format of the first command request message provided by this application Format of the first command response message.
  • the destination address is FF-FF-FF-FF-FF, that is, the broadcast address of all F
  • the source address is the address of the device management module interface on the computing device
  • the type is the Ethernet type (the NC-SI interface is interface on the Ethernet card)
  • the command packet header indicates that the message is a command request message.
  • the "custom command" field in the first command request message is used to carry an instruction to obtain capability attribute information.
  • both the destination address and the source address are FF-FF-FF-FF-FF-FF defined in the NC-SI protocol specification
  • the type is Ethernet type
  • the command packet header indicates that the message is a command response message.
  • the "custom response" field in the first command response message is used to carry capability attribute information.
  • the computing device After extending the first command request message and the first command response message in the NC-SI protocol specification, the computing device sends the first command request message to the PCIe device through the NC-SI interface, and the first command request message includes an instruction to acquire capability attribute information.
  • the PCIe device After receiving the packet, the PCIe device parses the packet and returns a first command response message to the computing device.
  • the first command response message includes the capability attribute information of the PCIe device.
  • the computing device is connected to the PCIe interface on the PCIe device.
  • the device management module of the computing device is connected to and communicates with the PCIe device through the PCIe interface of the CPU system.
  • the connection mode is through the PCIe interface
  • the initiator of the communication is the device management module of the computing device, which belongs to out-of-band communication.
  • the PCIe interface is also used to transmit data between the CPU system or OS system of the computing device and the PCIE device.
  • the PCIe interface bears the management component transport protocol (MCTP), that is, MCTP over PCIe.
  • MCTP management component transport protocol
  • the MCTP protocol is a management protocol framework, and the out-of-band management protocols it supports include the platform level data model (platform level data model, PLDM) protocol , this embodiment uses the PLDM protocol structure, that is, PLDM over MCTP over PCIe.
  • the format of the second command message is defined in the PLDM protocol, including the format of the second command request message and the format of the second command response message.
  • Figure 9A is a schematic diagram of the format of the second command request message provided by this application
  • Figure 9B is the Schematic diagram of the format of the second command response message, the second command request message and the second command response message are composed of PCIe protocol header, MCTP protocol header, PLDM protocol header, checksum, protocol type Composed of PLDM protocol data (payload), where the protocol type refers to the protocol type carried by MCTP, here is the PLDM protocol.
  • the second command request message and the second command response message are extended, and the "PLDM protocol data" field in the second command request message carries "acquire capability attribute information instruction", and the second command response message
  • the "PLDM protocol data" field in this document is used to carry capability attribute information.
  • the computing device sends a second command request message to the PCIe device through the PCIe interface.
  • the second command request message includes an instruction to obtain capability attribute information.
  • the PCIe device parses the message, and return a second command response message to the computing device, the second command response message includes the capability attribute information of the PCIe device, and the format of the capability attribute information is not limited in this application.
  • the out-of-band management protocol supported by the MCTP protocol also includes the NC-SI protocol, that is, NC-SI over MCTP over PCIe.
  • This application can also use the NC-SI over MCTP over PCIe protocol structure to process request messages and responses
  • the message is extended so that a certain field in the request message carries an instruction to obtain capability attribute information, and a certain field in the response message carries capability attribute information.
  • the computing device sends a command to obtain capability attribute information to the PCIe device by sending a request message. After receiving the request message, the PCIe device parses the request message and returns a response message, which carries the capability attribute information.
  • computing devices have the authority and ability to request access to the capability attribute information of PCIe devices, and can send instructions to obtain capability attribute information to PCIe devices. It has the ability to analyze capability attribute information; PCIe devices have the ability to identify and interpret commands to obtain capability attribute information, and the PCIe device defines the operations that need to be performed after receiving the command to obtain capability attribute information. For example, it can be defined when the device receives When the capability attribute information is commanded, the capability attribute information of the device itself is read, and then written into the response information, and the capability attribute information is sent to the sending end device in the form of response information.
  • the specific definition form and content of how to send the command request for the device to acquire the capability attribute information instruction and what operations the device needs to perform when receiving the command request for the capability attribute information instruction are not specifically limited.
  • the computing device manages the PCIe device according to the capability attribute information of the PCIe device.
  • the PCIe device is managed according to the capability attribute information of the PCIe device.
  • the acquired capability attribute information of the PCIe device includes port speed, and the computing device displays the port speed on the interface.
  • the capability attribute information obtained by the computing device includes NC-SI characteristics, and the computing device configures parameters for the PCIe device according to the NC-SI characteristics; and so on.
  • the computing device may also obtain status information of the PCIe device through in-band communication or out-of-band communication, and manage the PCIe device according to the status information and capability attribute information.
  • the status information includes information indicating the current working status of the PCIe device, for example, the status information may be the current working rate of the port of the PCIe device, the current temperature of the PCIe device, and the like.
  • the capability attribute information obtained by the computing device includes a temperature threshold, and obtains the current temperature (status information) of the PCIe device. The computing device determines whether to start the fan according to the current temperature and the temperature threshold, and controls the adjustment according to the difference between the current temperature and the temperature threshold. The speed or gear of the fan.
  • the capability attribute information obtained by the computing device includes the cache capacity, and the currently occupied capacity of the PCIe device is obtained.
  • the occupied capacity is close to the cache capacity, the working efficiency of the PCIe device may decrease, and some PCIe devices can be turned off. functions to reduce occupied capacity and improve work efficiency.
  • the manner in which the computing device obtains the status information of the PCIe device may be through in-band communication or through an out-of-band interface, which is not specifically limited in this application.
  • a section of storage space is opened up in the firmware in the memory of the PCIe device for storing capability attribute information, which provides a basis and convenience for computing devices to obtain capability attribute information.
  • the computing device and the PCIe device communicate through an out-of-band interface or an in-band interface, where the out-of-band interface may be, for example, an SMBus interface, NC-SI interface, UART interface, etc., and the in-band interface may be, for example, a PCIe interface, an Ethernet interface, etc.
  • the communication protocol supports the transmission of capability attribute information, which is reflected in the following: the computing device can send the command to obtain the capability attribute information to the PCIe device through the out-of-band interface, and the PCIe device can recognize the command to obtain the capability attribute information, and make a Reply, returning capability attribute information to the computing device, so that the computing device receives the capability attribute information, and implements configuration and management of the PCIe device according to the capability attribute information.
  • the computing device can directly obtain the capability attribute information from the PCIe device, without pre-storing the information of the PCIe device, There is also no need to update information frequently, and the method of the present application is easy to operate, has strong adaptability, and facilitates management, operation and maintenance of PCIe devices.
  • FIG. 10 is a schematic diagram of a computing device 100 provided by the present application.
  • the computing device 100 includes:
  • the sending module 101 is used to send a command request; the command request indicates to obtain the capability attribute information of the PCIe device; the receiving module 102 is used to receive the response information; the response information includes the capability attribute information of the PCIe device; the management module 103 is used for according to PCIe Capability attribute information of the device to manage PCIe devices.
  • the computing device communicates with the PCIe device through an out-of-band interface;
  • the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a universal asynchronous transceiver UART interface.
  • the computing device communicates with the PCIe device through an in-band interface;
  • the in-band interface is a PCIe interface for fast peripheral component interconnection or an Ethernet interface.
  • the custom command field in the command request carries an instruction to obtain capability attribute information; the custom response field in the response information carries capability attribute information.
  • the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the PLDM protocol data field in the response information carries capability attribute information .
  • the capability attribute information includes one or more of port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information thermal resistance, delay level, and power consumption level.
  • Each functional module of the above-mentioned computing device 100 is used to implement the method described in the embodiment of FIG. 2 .
  • FIG. 11 is a schematic diagram of a PCIe device 200 provided by the present application.
  • the PCIe device 200 includes:
  • the storage module 201 is used to store the capability attribute information of the PCIe device; the receiving module 202 is used to receive the command request; the command request indicates to obtain the capability attribute information of the PCIe device; the sending module 203 is used to send response information based on the command request; the response information Include the capability attribute information of the PCIe device.
  • the PCIe device communicates with the computing device through an out-of-band interface;
  • the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a universal asynchronous transceiver UART interface.
  • the PCIe device communicates with the computing device through an in-band interface;
  • the in-band interface is a PCIe interface for fast peripheral component interconnection or an Ethernet interface.
  • the receiving module 202 is configured to receive the first command request message sent by the computing device through the NC-SI interface;
  • the command field carries an instruction to obtain capability attribute information;
  • the sending module 203 is configured to, based on the first command request message, send a first command response message to the computing device through the NC-SI interface;
  • the definition response field carries capability attribute information.
  • the receiving module 202 is configured to receive the second command request message sent by the computing device through the PCIe interface; the platform-level data in the second command request message
  • the model PLDM protocol data field carries an instruction to acquire capability attribute information;
  • the sending module 203 is configured to, based on the second command request message, send a second command response message to the computing device through the PCIe interface; the second command response message in the second command response message
  • the capability attribute information is carried in the PLDM protocol data field.
  • the capability attribute information includes one or more of port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level.
  • Each functional module of the above-mentioned PCIe device 200 is used to implement the method described in the embodiment of FIG. 2 .
  • FIG. 12 is a schematic diagram of a hardware structure of a computing device 300 provided in the present application.
  • the computing device 300 includes: a processor 310 , a communication interface 320 and a memory 330 .
  • the processor 310, the communication interface 320, and the memory 330 may be connected to each other through the internal bus 340, and may also communicate through other means such as wireless transmission.
  • the bus 340 may be a PCI bus or an EISA bus or the like.
  • the bus 340 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in FIG. 12 , but it does not mean that there is only one bus or one type of bus.
  • the processor 310 may be composed of at least one general-purpose processor, such as a CPU, or a combination of a CPU and a hardware chip.
  • the aforementioned hardware chip may be an ASIC, a PLD or a combination thereof.
  • the aforementioned PLD may be CPLD, FPGA, GAL or any combination thereof.
  • Processor 310 executes various types of digitally stored instructions, such as software or firmware programs stored in memory 330, which enable computing device 300 to provide a wide variety of services.
  • the memory 330 is used to store program codes, which are controlled and executed by the processor 310 to perform the steps described in the above-mentioned embodiment in FIG.
  • the memory 330 may include a volatile memory, such as RAM; the memory 330 may also include a non-volatile memory, such as ROM, flash memory (flash memory); the memory 330 may also include a combination of the above types.
  • the communication interface 320 can be a wired interface (such as an Ethernet interface), an internal interface (such as a fast peripheral component interconnect express (PCIe) bus interface), a wired interface (such as an Ethernet interface) or a wireless interface (such as cellular network interface or use the wireless LAN interface) for communicating with other devices or modules.
  • a wired interface such as an Ethernet interface
  • an internal interface such as a fast peripheral component interconnect express (PCIe) bus interface
  • PCIe peripheral component interconnect express
  • wired interface such as an Ethernet interface
  • a wireless interface such as cellular network interface or use the wireless LAN interface
  • FIG. 12 is only a possible implementation of the embodiment of the present application, and in practical applications, the computing device may include more or fewer components, which is not limited here.
  • the content that is not shown or described in the embodiment of the present application refer to the relevant explanation in the embodiment of the foregoing method, and details are not repeated here.
  • FIG. 13 is a schematic diagram of a hardware structure of a PCIe device 400 provided in the present application.
  • the PCIe device 400 includes: a processor 410 , a communication interface 420 and a memory 430 .
  • the processor 410, the communication interface 420, and the memory 430 may be connected to each other through the internal bus 440, and may also communicate through other means such as wireless transmission.
  • the bus 440 may be a PCI bus or an EISA bus or the like.
  • the bus 440 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in Fig. 13, but it does not mean that there is only one bus or one type of bus.
  • the processor 410 may be composed of at least one general-purpose processor, such as a CPU, or a combination of a CPU and a hardware chip.
  • the aforementioned hardware chip may be an ASIC, a PLD or a combination thereof.
  • the aforementioned PLD may be CPLD, FPGA, GAL or any combination thereof.
  • the processor 410 executes various types of digitally stored instructions, such as software or firmware programs stored in the memory 430, which enable the PCIe device 400 to provide a wide variety of services.
  • the memory 430 stores program codes, which are controlled and executed by the processor 410 to execute the steps described in the above-mentioned embodiment in FIG.
  • the memory 430 further includes firmware, and the firmware includes capability attribute information, the processor 410 is used to load the firmware, and the communication interface 420 is used to send the capability attribute information.
  • the memory 430 may include a volatile memory, such as RAM; the memory 430 may also include a non-volatile memory, such as ROM, flash memory (flash memory); the memory 430 may also include a combination of the above types.
  • the communication interface 420 can be a wired interface (such as an Ethernet interface), an internal interface (such as a fast peripheral component interconnect express (PCIe) bus interface), a wired interface (such as an Ethernet interface) or a wireless interface (such as cellular network interface or use the wireless LAN interface) for communicating with other devices or modules.
  • a wired interface such as an Ethernet interface
  • an internal interface such as a fast peripheral component interconnect express (PCIe) bus interface
  • PCIe peripheral component interconnect express
  • wired interface such as an Ethernet interface
  • a wireless interface such as cellular network interface or use the wireless LAN interface
  • FIG. 13 is only a possible implementation manner of the embodiment of the present application.
  • the PCIe device may include more or fewer components, which is not limited here.
  • Regarding the content that is not shown or described in the embodiment of the present application refer to the relevant explanation in the embodiment of the foregoing method, and details are not repeated here.
  • the present application also provides a system.
  • the system includes a computing device and at least one PCIe device, wherein the computing device may be the computing device 100 or 300 described above, and the PCIe device may be the PCIe device 200 or the PCIe device 400 described above.
  • the computing device is electrically connected to at least one PCIe device.
  • the computing device can be connected to at least one PCIe device through one or more of the out-of-band interface SMBus interface, NC-SI interface, and UART interface, or through an in-band
  • the interface PCIe interface or Ethernet interface is connected with at least one PCIe device.
  • the embodiment of the present application provides a computer program product.
  • the computing device executes the method embodiment described in FIG. 2 of the present application; when the computer program product runs on the PCIe device , causing the PCIe device to execute the method embodiment described in FIG. 2 above in this application.
  • An embodiment of the present application provides a readable storage medium, including program instructions.
  • the computing device runs the program instructions, the computing device executes the method embodiment described in FIG. 2 above.
  • An embodiment of the present application provides a readable storage medium, including program instructions.
  • the PCIe device runs the program instructions, the PCIe device executes the method embodiment described in FIG. 2 above.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or can be Integrate into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
  • the unit described as a separate component may or may not be physically separated, and the component shown as a unit may or may not be a physical unit, that is, it may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment of the present application.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of software products, and the computer software products are stored in a storage medium
  • several instructions are included to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disc and other media that can store program codes. .
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer program instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program instructions may be sent from a website, computer, server, or data center through Wired or wireless transmission to another website site, computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a digital video disc (digital video disc, DVD), or a semiconductor medium (such as a solid state disk), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

A method for managing a peripheral component interconnect express (PCIe) device, and a related apparatus. The peripheral component interconnect express (PCIe) device comprises a communication interface, a processor and a memory, wherein the memory is used for storing firmware of the PCIe device, and the firmware comprises capability attribute information of the PCIe device; the processor is used for loading the firmware; and the communication interface is used for sending the capability attribute information. A storage space is developed in firmware of a PCIe device to store capability attribute information, such that the PCIe device includes the capability attribute information, thereby providing a basis and convenience for a computing device to manage the PCIe device.

Description

一种管理快速外设组件互联PCIe设备的方法及相关装置A method and related device for managing fast peripheral component interconnection PCIe devices
本申请要求于2021年08月27日提交中国专利局、申请号为202111000311.4、申请名称为“一种管理快速外设组件互联PCIe设备的方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application submitted to the China Patent Office on August 27, 2021, the application number is 202111000311.4, and the application name is "a method for managing fast peripheral component interconnection PCIe devices and related devices", all of which The contents are incorporated by reference in this application.
技术领域technical field
本申请涉及信息技术领域,尤其涉及一种管理快速外设组件互联PCIe设备的方法及相关装置。The present application relates to the field of information technology, and in particular to a method and a related device for managing fast peripheral component interconnection PCIe devices.
背景技术Background technique
快速外设组件互联(peripheral component interconnect express,PCIe)设备,例如网卡、加速卡等,作为计算设备处理器系统的PCIe外设,实现的功能特性逐渐增多,因此,PCIe设备的种类也逐渐增多,与计算设备的配合关系越来越复杂,使得计算设备对PCIe设备的配置管理要求越来越高。Peripheral component interconnect express (PCIe) devices, such as network cards, accelerator cards, etc., as the PCIe peripherals of the computing device processor system, gradually increase the number of functions and features. Therefore, the types of PCIe devices are also gradually increasing. The cooperation relationship with computing devices is becoming more and more complex, which makes computing devices have higher and higher requirements for configuration management of PCIe devices.
计算设备根据各个PCIe设备的属性信息对不同PCIe设备进行管理,所以计算设备需要获取当前与计算设备相连接的各个PCIe设备的属性信息。目前,PCIe设备的属性信息是预先存储在计算设备中,使得计算设备根据预先存储的属性信息来管理各个PCIe设备。但是这种方法,每当与计算设备相连接的PCIe设备发生变化时,就需要更新一次计算设备中存储的能力属性信息,不便于计算设备对各个PCIe设备进行管理和运维。The computing device manages different PCIe devices according to the attribute information of each PCIe device, so the computing device needs to acquire the attribute information of each PCIe device currently connected to the computing device. Currently, the attribute information of the PCIe devices is pre-stored in the computing device, so that the computing device manages each PCIe device according to the pre-stored attribute information. However, in this method, whenever the PCIe device connected to the computing device changes, the capability attribute information stored in the computing device needs to be updated once, which is inconvenient for the computing device to manage and maintain each PCIe device.
发明内容Contents of the invention
本申请公开了一种管理快速外设组件互联PCIe设备的方法及相关装置,其中,PCIe设备中存储有固件,固件中包括PCIe设备的能力属性信息,为PCIe设备的管理奠定了基础。The present application discloses a method and a related device for managing fast peripheral component interconnection PCIe devices, wherein firmware is stored in the PCIe devices, and the firmware includes capability attribute information of the PCIe devices, laying a foundation for the management of the PCIe devices.
第一方面,本申请提供了一种快速外设组件互联PCIe设备,包括通信接口、处理器和存储器,其中,所述存储器用于存储所述PCIe设备的固件,所述固件中包括所述PCIe设备的能力属性信息;所述处理器用于加载所述固件;所述通信接口用于发送所述能力属性信息。In a first aspect, the present application provides a fast peripheral component interconnection PCIe device, including a communication interface, a processor, and a memory, wherein the memory is used to store the firmware of the PCIe device, and the firmware includes the PCIe The capability attribute information of the device; the processor is used to load the firmware; the communication interface is used to send the capability attribute information.
可以看到,本申请在PCIe设备的存储器的固件中开拓了一段空间,用于存储PCIe设备的能力属性信息,使得PCIe设备中包含了能力属性信息,为PCIe设备的管理奠定了基础。It can be seen that this application opens up a section of space in the firmware of the memory of the PCIe device for storing the capability attribute information of the PCIe device, so that the capability attribute information is included in the PCIe device, laying a foundation for the management of the PCIe device.
其中,能力属性信息指的是用于表示PCIe设备所具有的能力的属性信息,该能力用于实现PCIe设备的某个功能。该能力属性信息的值一般表示PCIe设备所能达到的最大值或极限值,当PCIe设备处于工作状态时,工作状态值可以不达到能力属性信息的值,若工作状态值长时间超过能力属性信息的值,则PCIe设备会停止工作或工作缓慢或者PCIe设备会停机,甚至可能会损坏。Wherein, the capability attribute information refers to the attribute information used to represent the capability of the PCIe device, and the capability is used to realize a certain function of the PCIe device. The value of the capability attribute information generally indicates the maximum or limit value that the PCIe device can achieve. When the PCIe device is in the working state, the working state value may not reach the value of the capability attribute information. If the working state value exceeds the capability attribute information for a long time value, the PCIe device will stop working or work slowly or the PCIe device will hang, and may even be damaged.
基于第一方面,在可能的实现方式中,所述通信接口还用于接收命令请求;所述命令请求用于指示获取所述能力属性信息;所述通信接口还用于发送应答信息;所述应答信息中包括所述能力属性信息。Based on the first aspect, in a possible implementation manner, the communication interface is also used to receive a command request; the command request is used to instruct acquisition of the capability attribute information; the communication interface is also used to send response information; the The response information includes the capability attribute information.
可以理解,在PCIe设备中存储有能力属性信息的条件下,PCIe设备能够通过通信接口接收用于指示获取能力属性信息的命令请求,也能通过通信接口发送包括能力属性信息的应答信息。It can be understood that under the condition that the PCIe device stores capability attribute information, the PCIe device can receive a command request for instructing to obtain the capability attribute information through the communication interface, and can also send response information including the capability attribute information through the communication interface.
基于第一方面,在可能的实现方式中,所述通信接口包括带外接口;所述带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。Based on the first aspect, in a possible implementation manner, the communication interface includes an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a universal asynchronous transceiver UART interface.
可以看到,用于接收获取能力属性信息的命令请求以及发送能力属性信息的通信接口可以是带外接口,例如,SMBus接口或NC-SI接口或UART接口,带外接口还可以是其他接口,本申请不做具体限定。It can be seen that the communication interface used to receive a command request for acquiring capability attribute information and to send capability attribute information may be an out-of-band interface, for example, an SMBus interface or an NC-SI interface or a UART interface, and the out-of-band interface may also be other interfaces, This application does not make specific limitations.
基于第一方面,在可能的实现方式中,所述通信接口包括带内接口;所述带内接口为快速外设组件互联PCIe接口或以太网接口。Based on the first aspect, in a possible implementation manner, the communication interface includes an in-band interface; the in-band interface is a PCIe interface for express peripheral components or an Ethernet interface.
可以看到,用于接收获取能力属性信息的命令请求以及发送能力属性信息的通信接口还可以是带内接口,例如,PCIe接口或以太网接口,带内接口还可以是其他接口,本申请不做具体限定。It can be seen that the communication interface used to receive the command request for obtaining the capability attribute information and to send the capability attribute information can also be an in-band interface, for example, a PCIe interface or an Ethernet interface, and the in-band interface can also be other interfaces. This application does not Be specific.
基于第一方面,在可能的实现方式中,所述带外接口为所述NC-SI接口时,所述命令请求中的自定义命令字段中携带了获取所述能力属性信息指令;所述应答信息中的自定义应答字段中携带了所述能力属性信息。Based on the first aspect, in a possible implementation manner, when the out-of-band interface is the NC-SI interface, the custom command field in the command request carries an instruction to acquire the capability attribute information; the response The capability attribute information is carried in the custom response field in the message.
可以理解,通信接口为带外接口NC-SI接口时,NC-SI接口支持的通信协议包括NC-SI协议,NC-SI协议中定义了命令请求的格式(即第一命令请求报文)和应答信息的格式(即第一命令应答报文)。本申请对第一命令请求报文中的自定义命令字段和第一命令应答报文中的自定义应答字段进行扩展,使第一命令请求报文中的自定义命令字段携带了获取能力属性信息指令,第一命令应答报文中的自定义应答字段携带了PCIe设备的能力属性信息。因此,当PCIe设备与其他设备进行通信时,可以通过NC-SI接口接收第一命令请求报文,其中第一命令请求报文中包括获取能力属性信息指令,并通过NC-SI接口发送第一命令应答报文,其中第一命令应答报文中包括能力属性信息。It can be understood that when the communication interface is an out-of-band interface NC-SI interface, the communication protocol supported by the NC-SI interface includes the NC-SI protocol, and the format of the command request (ie the first command request message) and the format of the command request are defined in the NC-SI protocol. The format of the response information (that is, the first command response message). This application extends the custom command field in the first command request message and the custom response field in the first command response message, so that the custom command field in the first command request message carries the acquisition capability attribute information command, the custom response field in the first command response message carries the capability attribute information of the PCIe device. Therefore, when the PCIe device communicates with other devices, it can receive the first command request message through the NC-SI interface, wherein the first command request message includes an instruction to acquire capability attribute information, and send the first command request message through the NC-SI interface. A command response message, wherein the first command response message includes capability attribute information.
基于第一方面,在可能的实现方式中,所述通信接口为所述PCIe接口时,所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取所述能力属性信息指令;所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。Based on the first aspect, in a possible implementation manner, when the communication interface is the PCIe interface, the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain the capability attribute information; the The PLDM protocol data field in the response information carries the capability attribute information.
可以理解,通信接口为带内接口PCIe接口时,PCIe接口支持的通信协议包括PLDM协议,PLDM协议中定义了命令请求的格式(即第二命令请求报文)和应答信息的格式(即第二命令应答报文)。本申请对第二命令请求报文中的PLDM协议数据字段和第二命令应答报文中的PLDM协议数据字段进行扩展,使第二命令请求报文中的PLDM协议数据字段携带了获取能力属性信息指令,第二命令应答报文中的PLDM协议数据字段携带了PCIe设备的能力属性信息。因此,当PCIe设备与其他设备进行通信时,可以通过PCIe接口接收第二命令请求报文,其中第二命令请求报文中包括获取能力属性信息指令,并通过PCIe接口发送第二命令应答报文,其中第二命令应答报文中包括能力属性信息。It can be understood that when the communication interface is an in-band interface PCIe interface, the communication protocol supported by the PCIe interface includes the PLDM protocol, and the format of the command request (i.e. the second command request message) and the format of the response information (i.e. the second command request message) are defined in the PLDM agreement. command response message). This application extends the PLDM protocol data field in the second command request message and the PLDM protocol data field in the second command response message, so that the PLDM protocol data field in the second command request message carries the acquisition capability attribute information command, the PLDM protocol data field in the second command response message carries the capability attribute information of the PCIe device. Therefore, when the PCIe device communicates with other devices, it can receive the second command request message through the PCIe interface, wherein the second command request message includes an instruction to obtain capability attribute information, and send the second command response message through the PCIe interface , wherein the second command response message includes capability attribute information.
基于第一方面,在可能的实现方式中,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。Based on the first aspect, in a possible implementation manner, the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
可以理解,能力属性信息可以是端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息热阻、时延等级和功耗等级中的一种或多种,能力属性信息还可以为其他信 息,本申请不做限定。It can be understood that the capability attribute information can be one or more of port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information thermal resistance, delay level and power consumption level, and the capability attribute information can also be For other information, this application does not limit.
第二方面,本申请提供了一种系统,包括计算设备和至少一个快速外设组件互联PCIe设备,所述至少一个PCIe设备通过快速外设组件互联PCIe总线和所述计算设备连接,所述PCIe设备存储有固件,所述固件中包括所述PCIe设备的能力属性信息。In a second aspect, the present application provides a system, including a computing device and at least one fast peripheral component interconnection PCIe device, the at least one PCIe device is connected to the computing device through a fast peripheral component interconnection PCIe bus, and the PCIe The device stores firmware, and the firmware includes capability attribute information of the PCIe device.
可以理解,计算设备可以与至少一个PCIe设备连接,其中每一个PCIe设备的固件中均存储有该设备的能力属性信息,为计算设备对至少一个PCIe设备的管理奠定了基础,提供了便利条件。基于第二方面,在可能的实现方式中,所述计算设备用于向所述至少一个PCIe设备发送命令请求;所述命令请求用于指示获取PCIe设备的能力属性信息;所述至少一个PCIe设备用于分别向所述计算设备发送应答信息;所述应答信息中包括所述PCIe设备的能力属性信息;所述计算设备还用于,根据接收到的所述至少一个PCIe设备的应答信息,管理所述至少一个PCIe设备。It can be understood that the computing device can be connected to at least one PCIe device, wherein the firmware of each PCIe device stores the capability attribute information of the device, which lays a foundation for the computing device to manage the at least one PCIe device and provides convenient conditions. Based on the second aspect, in a possible implementation manner, the computing device is configured to send a command request to the at least one PCIe device; the command request is used to indicate to obtain the capability attribute information of the PCIe device; the at least one PCIe device It is used to send response information to the computing device respectively; the response information includes capability attribute information of the PCIe device; the computing device is also used to, according to the received response information of the at least one PCIe device, manage The at least one PCIe device.
基于第二方面,在可能的实现方式中,所述计算设备与所述至少一个PCIe设备通过带外接口进行通信;所述带外接口包括系统管理总线SMBus接口、网络控制器边带接口NC-SI和通用异步收发器UART接口中的一个或多个。Based on the second aspect, in a possible implementation, the computing device communicates with the at least one PCIe device through an out-of-band interface; the out-of-band interface includes a system management bus SMBus interface, a network controller sideband interface NC- One or more of SI and Universal Asynchronous Receiver Transceiver UART interfaces.
基于第二方面,在可能的实现方式中,所述计算设备与所述至少一个PCIe设备通过带内接口进行通信;所述带内接口包括所述PCIe接口和/或以太网接口。Based on the second aspect, in a possible implementation manner, the computing device communicates with the at least one PCIe device through an in-band interface; the in-band interface includes the PCIe interface and/or the Ethernet interface.
基于第二方面,在可能的实现方式中,所述带外接口包括所述NC-SI接口时,所述命令请求中的自定义命令字段中携带了获取能力属性信息指令;所述应答信息中的自定义应答字段中携带了所述能力属性信息。Based on the second aspect, in a possible implementation manner, when the out-of-band interface includes the NC-SI interface, the custom command field in the command request carries an instruction to acquire capability attribute information; The capability attribute information is carried in the custom response field of .
基于第二方面,在可能的实现方式中,所述带内接口包括所述PCIe接口时,所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。Based on the second aspect, in a possible implementation, when the in-band interface includes the PCIe interface, the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the response The PLDM protocol data field in the information carries the capability attribute information.
基于第二方面,在可能的实现方式中,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。Based on the second aspect, in a possible implementation manner, the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
第三方面,本申请提供了一种管理快速外设组件互联PCIe设备的方法,应用于计算设备侧,包括:计算设备发送命令请求;所述命令请求指示获取所述PCIe设备的能力属性信息;接收应答信息;所述应答信息中包括所述PCIe设备的能力属性信息;根据所述PCIe设备的能力属性信息,管理所述PCIe设备。In a third aspect, the present application provides a method for managing fast peripheral component interconnection PCIe devices, which is applied to the computing device side, including: the computing device sends a command request; the command request indicates to obtain the capability attribute information of the PCIe device; Receiving response information; the response information includes capability attribute information of the PCIe device; and managing the PCIe device according to the capability attribute information of the PCIe device.
可以看到,计算设备可以发送用于指示获取PCIe设备的能力属性信息的命令请求,还可以接收到包括能力属性信息的应答信息,计算设备根据接收到的PCIe设备的能力属性信息对PCIe进行管理。It can be seen that the computing device can send a command request for instructing to obtain the capability attribute information of the PCIe device, and can also receive the response information including the capability attribute information, and the computing device manages PCIe according to the received capability attribute information of the PCIe device .
基于第三方面,在可能的实现方式中,所述计算设备与所述PCIe设备通过带外接口通信;所述带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。Based on the third aspect, in a possible implementation, the computing device communicates with the PCIe device through an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a general-purpose Asynchronous transceiver UART interface.
基于第三方面,在可能的实现方式中,所述计算设备与所述PCIe设备通过带内接口通信;所述带内接口为快速外设组件互联PCIe接口或以太网接口。Based on the third aspect, in a possible implementation manner, the computing device communicates with the PCIe device through an in-band interface; the in-band interface is a Peripheral Component Interconnect Express PCIe interface or an Ethernet interface.
基于第三方面,在可能的实现方式中,所述带外接口为所述NC-SI接口时,所述命令请求中的自定义命令字段中携带了获取能力属性信息指令;所述应答信息中的自定义应答字段中携带了所述能力属性信息。Based on the third aspect, in a possible implementation manner, when the out-of-band interface is the NC-SI interface, the custom command field in the command request carries an instruction to obtain capability attribute information; in the response information The capability attribute information is carried in the custom response field of .
基于第三方面,在可能的实现方式中,所述带内接口为所述PCIe接口时,所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。Based on the third aspect, in a possible implementation, when the in-band interface is the PCIe interface, the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the response The PLDM protocol data field in the information carries the capability attribute information.
基于第三方面,在可能的实现方式中,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。Based on the third aspect, in a possible implementation manner, the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
第四方面,本申请提供了一种管理快速外设组件互联PCIe设备的方法,应用于PCIe设备侧,包括:所述PCIe设备接收命令请求;所述命令请求指示获取所述PCIe设备的能力属性信息;所述能力属性信息存储于所述PCIe设备的固件中;基于所述命令请求发送应答信息;所述应答信息中包括所述PCIe设备的能力属性信息。In a fourth aspect, the present application provides a method for managing fast peripheral component interconnection PCIe devices, which is applied to the PCIe device side, including: the PCIe device receives a command request; the command request indicates to obtain the capability attribute of the PCIe device Information; the capability attribute information is stored in the firmware of the PCIe device; response information is sent based on the command request; the response information includes the capability attribute information of the PCIe device.
可以看到,本申请中,PCIe设备的固件中存储有该设备的能力属性信息,为PCIe设备的管理奠定了基础。另外,PCIe设备能够接收到指示获取能力属性信息的命令请求,也能够发送包括能力属性信息的应答信息。It can be seen that in this application, the firmware of the PCIe device stores the capability attribute information of the device, which lays a foundation for the management of the PCIe device. In addition, the PCIe device can receive a command request indicating to obtain the capability attribute information, and can also send response information including the capability attribute information.
基于第四方面,在可能的实现方式中,所述PCIe设备与计算设备通过带外接口通信;所述带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。Based on the fourth aspect, in a possible implementation, the PCIe device communicates with the computing device through an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or Universal Asynchronous Transceiver tor UART interface.
基于第四方面,在可能的实现方式中,所述PCIe设备与计算设备通过带内接口通信;所述带内接口为快速外设组件互联PCIe接口或以太网接口。Based on the fourth aspect, in a possible implementation manner, the PCIe device communicates with the computing device through an in-band interface; the in-band interface is a Peripheral Component Interconnect Express PCIe interface or an Ethernet interface.
基于第四方面,在可能的实现方式中,所述带外接口为所述NC-SI接口时,所述PCIe设备接收命令请求,包括:所述PCIe设备通过所述NC-SI接口接收所述计算设备发送的所述命令请求;所述命令请求中的自定义命令字段中携带了获取能力属性信息指令;所述基于所述命令请求发送应答信息,包括:基于所述命令请求,通过所述NC-SI接口向所述计算设备发送所述应答信息;所述应答信息中的自定义应答字段中携带了所述能力属性信息。Based on the fourth aspect, in a possible implementation manner, when the out-of-band interface is the NC-SI interface, the PCIe device receiving the command request includes: the PCIe device receiving the command request through the NC-SI interface The command request sent by the computing device; the custom command field in the command request carries an instruction to obtain capability attribute information; the sending of response information based on the command request includes: based on the command request, through the The NC-SI interface sends the response information to the computing device; the capability attribute information is carried in the self-defined response field in the response information.
基于第四方面,在可能的实现方式中,所述带内接口为所述PCIe接口时,所述PCIe设备接收命令请求,包括:所述PCIe设备通过所述PCIe接口接收由所述计算设备发送的所述命令请求,所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;所述基于所述命令请求发送应答信息,包括:基于所述命令请求,通过所述PCIe接口向所述计算设备发送应答信息;所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。Based on the fourth aspect, in a possible implementation manner, when the in-band interface is the PCIe interface, the PCIe device receiving the command request includes: the PCIe device receives the command request sent by the computing device through the PCIe interface The command request, the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the sending response information based on the command request includes: based on the command request, through the The PCIe interface sends response information to the computing device; the PLDM protocol data field in the response information carries the capability attribute information.
基于第四方面,在可能的实现方式中,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。Based on the fourth aspect, in a possible implementation manner, the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
第五方面,本申请提供了一种计算设备,包括:发送模块,用于发送命令请求;所述命令请求指示获取所述PCIe设备的能力属性信息;接收模块,用于接收应答信息;所述应答信息中包括所述PCIe设备的能力属性信息;管理模块,用于根据所述PCIe设备的能力属性信息,管理所述PCIe设备。In a fifth aspect, the present application provides a computing device, including: a sending module, used to send a command request; the command request indicates to obtain the capability attribute information of the PCIe device; a receiving module, used to receive response information; the The response information includes the capability attribute information of the PCIe device; the management module is configured to manage the PCIe device according to the capability attribute information of the PCIe device.
基于第五方面,在可能的实现方式中,所述计算设备与所述PCIe设备通过带外接口通信;所述带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。Based on the fifth aspect, in a possible implementation, the computing device communicates with the PCIe device through an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a general-purpose Asynchronous transceiver UART interface.
基于第五方面,在可能的实现方式中,所述计算设备与所述PCIe设备通过带内接口通信;所述带内接口为快速外设组件互联PCIe接口或以太网接口。Based on the fifth aspect, in a possible implementation manner, the computing device communicates with the PCIe device through an in-band interface; the in-band interface is a Peripheral Component Interconnect Express PCIe interface or an Ethernet interface.
基于第五方面,在可能的实现方式中,所述带外接口为所述NC-SI接口时,所述命令请求中的自定义命令字段中携带了获取能力属性信息指令;所述应答信息中的自定义应答字段中携带了所述能力属性信息。Based on the fifth aspect, in a possible implementation manner, when the out-of-band interface is the NC-SI interface, the custom command field in the command request carries an instruction to obtain capability attribute information; in the response information The capability attribute information is carried in the custom response field of .
基于第五方面,在可能的实现方式中,所述带内接口为所述PCIe接口时,所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。Based on the fifth aspect, in a possible implementation, when the in-band interface is the PCIe interface, the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the response The PLDM protocol data field in the information carries the capability attribute information.
基于第五方面,在可能的实现方式中,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。Based on the fifth aspect, in a possible implementation manner, the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
第五方面的各个功能模块具体用于实现上述第三方面或第三方面的任一可能的实现方式中所描述的方法。Each functional module of the fifth aspect is specifically configured to implement the method described in the third aspect or any possible implementation manner of the third aspect.
第六方面,本申请提供了一种PCIe设备,包括:存储模块,用于存储所述PCIe设备的能力属性信息;接收模块,用于接收命令请求;所述命令请求指示获取所述PCIe设备的能力属性信息;发送模块,用于基于所述命令请求发送应答信息;所述应答信息中包括所述PCIe设备的能力属性信息。In a sixth aspect, the present application provides a PCIe device, including: a storage module, configured to store capability attribute information of the PCIe device; a receiving module, configured to receive a command request; the command request indicates to obtain the PCIe device's Capability attribute information; a sending module, configured to send response information based on the command request; the response information includes capability attribute information of the PCIe device.
基于第六方面,在可能的实现方式中,所述PCIe设备与计算设备通过带外接口通信;所述带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。Based on the sixth aspect, in a possible implementation, the PCIe device communicates with the computing device through an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or Universal Asynchronous Transceiver tor UART interface.
基于第六方面,在可能的实现方式中,所述PCIe设备与计算设备通过带内接口通信;所述带内接口为快速外设组件互联PCIe接口或以太网接口。Based on the sixth aspect, in a possible implementation manner, the PCIe device communicates with the computing device through an in-band interface; the in-band interface is a Peripheral Component Interconnect Express PCIe interface or an Ethernet interface.
基于第六方面,在可能的实现方式中,所述带外接口为所述NC-SI接口时,所述接收模块用于,通过所述NC-SI接口接收所述计算设备发送的所述命令请求;所述命令请求中的自定义命令字段中携带了获取能力属性信息指令;所述发送模块用于,基于所述命令请求,通过所述NC-SI接口向所述计算设备发送所述应答信息;所述应答信息中的自定义应答字段中携带了所述能力属性信息。Based on the sixth aspect, in a possible implementation manner, when the out-of-band interface is the NC-SI interface, the receiving module is configured to receive the command sent by the computing device through the NC-SI interface request; the custom command field in the command request carries an instruction to obtain capability attribute information; the sending module is configured to, based on the command request, send the response to the computing device through the NC-SI interface information; the capability attribute information is carried in the self-defined response field in the response information.
基于第六方面,在可能的实现方式中,所述带内接口为所述PCIe接口时,所述接收模块用于,通过所述PCIe接口接收由所述计算设备发送的所述命令请求;所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;所述发送模块用于,基于所述命令请求,通过所述PCIe接口向所述计算设备发送应答信息;所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。Based on the sixth aspect, in a possible implementation manner, when the in-band interface is the PCIe interface, the receiving module is configured to receive the command request sent by the computing device through the PCIe interface; The platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the sending module is used to send response information to the computing device through the PCIe interface based on the command request; The PLDM protocol data field in the response information carries the capability attribute information.
基于第六方面,在可能的实现方式中,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。Based on the sixth aspect, in a possible implementation manner, the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. one or more.
第六方面的各个功能模块具体用于实现上述第四方面或第四方面的任一可能的实现方式中所描述的方法。Each functional module of the sixth aspect is specifically configured to implement the method described in the fourth aspect or any possible implementation manner of the fourth aspect.
第七方面,本申请提供了又一种计算设备,包括存储器、处理器和通信接口,所述通信接口用于接收或发送指令,所述存储器用于存储指令,所述处理器用于运行所述存储器中存储的指令执行上述第三方面或第三方面的任一可能的实现方式中所描述的方法。In a seventh aspect, the present application provides yet another computing device, including a memory, a processor, and a communication interface, the communication interface is used to receive or send instructions, the memory is used to store instructions, and the processor is used to run the The instructions stored in the memory execute the method described in the above third aspect or any possible implementation manner of the third aspect.
第八方面,本申请提供了一种计算机可读存储介质,包括程序指令,当所述程序指令被计算设备执行时,使得所述计算设备执行上述第三方面或第三方面的任一可能的实现方式中所描述的方法。In an eighth aspect, the present application provides a computer-readable storage medium, including program instructions. When the program instructions are executed by a computing device, the computing device executes any possible method of the third aspect or the third aspect. The method described in the implementation.
第九方面,本申请提供了一种计算机可读存储介质,包括程序指令,当所述程序指令被计算设备执行时,使得所述计算设备执行上述第四方面或第四方面的任一可能的实现方式中所描述的方法。In a ninth aspect, the present application provides a computer-readable storage medium, including program instructions. When the program instructions are executed by a computing device, the computing device performs any possible operation of the fourth aspect or the fourth aspect. The method described in the implementation.
附图说明Description of drawings
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions of the embodiments of the present application more clearly, the drawings that need to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are some embodiments of the present application. Ordinary technicians can also obtain other drawings based on these drawings on the premise of not paying creative work.
图1为本申请提供的一种系统架构示意图;FIG. 1 is a schematic diagram of a system architecture provided by the present application;
图2为本申请提供的一种管理PCIe设备的方法的流程示意图;Fig. 2 is a schematic flow chart of a method for managing PCIe devices provided by the present application;
图3为本申请提供的一种计算设备与PCIe设备的连接关系的示意图;Fig. 3 is a schematic diagram of the connection relationship between a computing device and a PCIe device provided by the present application;
图4为本申请提供的SMBus接口协议规范示意图;Fig. 4 is a schematic diagram of the SMBus interface protocol specification provided by the application;
图5为本申请提供的一种应答信息的格式示意图;FIG. 5 is a schematic diagram of a format of response information provided by the present application;
图6为本申请提供的又一种计算设备与PCIe设备的连接关系的示意图;FIG. 6 is a schematic diagram of another connection relationship between a computing device and a PCIe device provided by the present application;
图7A为本申请提供的第一命令请求报文示意图;FIG. 7A is a schematic diagram of the first command request message provided by the present application;
图7B为本申请提供的第一命令应答报文示意图;FIG. 7B is a schematic diagram of the first command response message provided by the present application;
图8为本申请提供的又一种计算设备与PCIe设备的连接关系的示意图;FIG. 8 is a schematic diagram of another connection relationship between a computing device and a PCIe device provided by the present application;
图9A为本申请提供的第二命令请求报文示意图;FIG. 9A is a schematic diagram of a second command request message provided by the present application;
图9B为本申请提供的第二命令应答报文示意图;FIG. 9B is a schematic diagram of a second command response message provided by the present application;
图10为本申请提供的一种计算设备的装置示意图;FIG. 10 is a schematic diagram of a computing device provided by the present application;
图11为本申请提供的一种PCIe设备的装置示意图;FIG. 11 is a schematic diagram of a PCIe device provided by the present application;
图12为本申请提供的又一种计算设备的装置示意图;FIG. 12 is a schematic diagram of another computing device provided by the present application;
图13为本申请提供的又一种PCIe设备的装置示意图。FIG. 13 is a schematic diagram of another PCIe device provided by the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
本申请实施例中的术语“第一”、“第二”仅仅用于区分不同的事物,并非用于表示重内容或次重点内容。本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。The terms "first" and "second" in this embodiment of the present application are only used to distinguish different things, and are not used to represent important content or secondary important content. In the embodiments of the present application, "at least one" means one or more, and "multiple" means two or more.
为了便于理解本申请,首先对本申请涉及的名词进行介绍。In order to facilitate the understanding of this application, the nouns involved in this application are firstly introduced.
带外(out-of-band)管理,是指通过专门的管理通道实现对网络的管理和控制,将管理数据与业务数据分开,为管理数据建立独立通道,在这个通道中,只传输管理数据、统计信息、计费信息等,管理数据与业务数据分离。带外管理通道可以是系统管理总线(system management bus,SMBus)接口或网络控制器边带接口(network controller sideband interface,NC-SI)接口或通用异步收发器(universal asynchronous receiver/transmitter,UART)接口等,将这些带外管理通道称为带外接口。本申请中的带外接口可以是SMBus接口、NC-SI接口、UART接口等,还可以是其他接口,本申请不做具体限定。Out-of-band management refers to the management and control of the network through a dedicated management channel, separates management data from business data, and establishes an independent channel for management data. In this channel, only management data is transmitted. , statistical information, billing information, etc., management data and business data are separated. The out-of-band management channel can be a system management bus (SMBus) interface or a network controller sideband interface (network controller sideband interface, NC-SI) interface or a universal asynchronous receiver/transmitter (UART) interface etc., refer to these out-of-band management channels as out-of-band interfaces. The out-of-band interface in this application may be an SMBus interface, an NC-SI interface, a UART interface, etc., or other interfaces, which are not specifically limited in this application.
带内(in-band)管理,是指将管理数据与业务数据使用同一个网络通道进行传输。带内 管理通道可以是PCIe接口或以太网接口,将这些带内管理通道称为带内接口。本申请中的带内接口可以是PCIe接口、以太网接口,还可以是其特的接口,本申请不做具体限定。In-band (in-band) management refers to using the same network channel to transmit management data and service data. The in-band management channels can be PCIe interfaces or Ethernet interfaces, and these in-band management channels are called in-band interfaces. The in-band interface in this application may be a PCIe interface, an Ethernet interface, or a special interface, which is not specifically limited in this application.
下面介绍本申请涉及的系统架构。The system architecture involved in this application is introduced below.
参见图1,图1为本申请涉及的一种系统架构示意图。图1中,PCIe接口是计算设备和PCIe设备之间进行通信的桥梁。Referring to FIG. 1 , FIG. 1 is a schematic diagram of a system architecture involved in the present application. In FIG. 1, the PCIe interface is a bridge for communication between the computing device and the PCIe device.
计算设备是具有PCIe接口的主设备。计算设备可以是一个终端设备,例如各种类型的服务器、台式电脑、用户设备(user equipment,UE)、手机(mobile phone)、平板电脑(pad)、音响等等;可以是机器智能设备,如无人驾驶(self-driving)设备、运输安全(transportation safety)设备、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、机器类型通信(machine type communication,MTC)设备、工业控制(industrial control)设备、远程医疗(remote medical)设备、智能电网(smart grid)设备、智慧城市(smart city)设备等等;可以是汽车座舱(cockpit domain)设备,或者汽车座舱设备中的一个模块,例如,座舱域控制器(cockpit domain controller,CDC)、摄像头、屏幕、麦克风、音响、电子钥匙、无钥匙进入或启动系统控制器等模块中的一个或者多个的组合;可以是数据中转设备,例如路由器、中继器、桥接器或交换机等等;可以是可穿戴设备(如智能手表,智能手环,计步器等)等等。在某些场景中,具备相类似PCIe接口的主设备的名称也可能不称为计算设备,但是为了方便描述,本申请实施例中将PCIe接口的主设备统称为计算设备。The computing device is a master device with a PCIe interface. A computing device can be a terminal device, such as various types of servers, desktop computers, user equipment (UE), mobile phone (mobile phone), tablet computer (pad), audio, etc.; it can be a machine intelligent device, such as Self-driving (self-driving) equipment, transportation safety (transportation safety) equipment, virtual reality (virtual reality, VR) terminal equipment, augmented reality (augmented reality, AR) terminal equipment, machine type communication (machine type communication, MTC) Equipment, industrial control (industrial control) equipment, remote medical (remote medical) equipment, smart grid (smart grid) equipment, smart city (smart city) equipment, etc.; can be car cockpit (cockpit domain) equipment, or car cockpit equipment A module in, for example, a combination of one or more modules in the cockpit domain controller (cockpit domain controller, CDC), camera, screen, microphone, audio, electronic key, keyless entry or start system controller; can It is a data transfer device, such as a router, repeater, bridge or switch, etc.; it can be a wearable device (such as a smart watch, smart bracelet, pedometer, etc.) and so on. In some scenarios, the name of the master device with a similar PCIe interface may not be called a computing device, but for the convenience of description, in the embodiment of the present application, the master device with a PCIe interface is collectively referred to as a computing device.
PCIe设备是具有PCIe接口的从设备。例如,PCIe设备可以是网卡、独立磁盘冗余阵列(redundant array of independent disks,RAID)卡、显卡(graphic processing unit,GPU,又称图像处理器)、固态硬盘(solid state disk,SSD)、加速卡、光纤通道(fibre channel,FC)卡、无线宽带(infiniband,IB)卡等。PCIe设备中存储有标识信息,其中,标识信息指的是用于标识PCIe设备的信息,例如,可以是四元组信息、板卡的型号(part number,PN)、序列号(serial number,SN)等等中的一种或者多种。四元组信息包括:PCIe设备的供应商标识号(vendor identity,VID)、设备标识号(device identity,DID)、子供应商标识号(sub vendor identity,SVID)、子系统标识号(sub system identity,SSID),四元组信息能够唯一标识PCIe设备。A PCIe device is a slave device with a PCIe interface. For example, a PCIe device can be a network card, a redundant array of independent disks (RAID) card, a graphics card (graphic processing unit, GPU, also known as an image processor), a solid state disk (solid state disk, SSD), an accelerator card, fiber channel (fibre channel, FC) card, wireless broadband (infiniband, IB) card, etc. Identification information is stored in the PCIe device, wherein the identification information refers to information used to identify the PCIe device, for example, it can be four-tuple information, a model (part number, PN) of a board, a serial number (serial number, SN) ) and so on one or more. Quad information includes: PCIe device vendor identification number (vendor identity, VID), device identification number (device identity, DID), sub vendor identification number (sub vendor identity, SVID), subsystem identification number (sub system identity, SSID), the four-tuple information can uniquely identify the PCIe device.
一个计算设备上连接有一个或多个PCIe设备,为了便于对PCIe设备进行管理,计算设备需要获取PCIe设备的能力属性信息,从而实现对各个PCIe设备的管理。但是,PCIe设备中只存储有标识信息,未存储能力属性信息,因此无论是通过带内通信方式还是带外通信方式,计算设备无法直接从PCIe设备中获取到能力属性信息。One or more PCIe devices are connected to one computing device. In order to facilitate management of the PCIe devices, the computing device needs to obtain capability attribute information of the PCIe devices, so as to implement management of each PCIe device. However, only identification information is stored in the PCIe device, and capability attribute information is not stored. Therefore, no matter through in-band communication or out-of-band communication, the computing device cannot directly obtain the capability attribute information from the PCIe device.
其中,能力属性信息指的是用于表示PCIe设备所具有的能力的属性信息,该能力用于实现PCIe设备的某个功能。该能力属性信息的值一般表示PCIe设备所能达到的最大值或极限值,当PCIe设备处于工作状态时,工作状态值可以不达到能力属性信息的值,在某些情况下,若工作状态值长时间超过能力属性信息的值,则有可能会导致PCIe设备损坏。例如,能力属性信息可以是端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。其中,端口速率表示PCIe设备端口能够达到的最大传输速率;缓存容量表示PCIe设备的最大缓存容量是多少;温度阈值表示PCIe设备达到的最高温度是多少,若PCIe设备处于工作状态时的温度达到或超过该温度阈值,则急需对PCIe设备采取降温措施,使PCIe设备的温度降下来,若长时间处于温度阈值状态或超过温度阈值, 则PCIe设备会停止工作或工作缓慢或者PCIe设备会停机,甚至可能会损坏;网络控制器边带接口特性中包括PCIe设备是否支持NC-SI特性以及所支持的命令和参数,根据网络控制器边带接口特性可以对PCIe设备进行参数配置;热阻表示设备温度差(升高的温度)与功耗差之间的比值(热阻单位是℃/W),即每增加1W功耗,温度升高多少℃,根据热阻值可以计算出PCIe设备在功耗增加情况下可能达到的工作温度值;尺寸信息表示PCIe设备所允许具有的尺寸大小,PCIe设备的尺寸大小包括全高、全长、半高、半长;时延等级表示信息在PCIe设备中处理所消耗的时间的多少;功耗等级表示PCIe设备的功耗大小。Wherein, the capability attribute information refers to the attribute information used to represent the capability of the PCIe device, and the capability is used to realize a certain function of the PCIe device. The value of the capability attribute information generally indicates the maximum or limit value that the PCIe device can achieve. When the PCIe device is in the working state, the working state value may not reach the value of the capability attribute information. In some cases, if the working state value If the value of the capability attribute information is exceeded for a long time, the PCIe device may be damaged. For example, the capability attribute information may be one or more of port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level. Among them, the port rate indicates the maximum transmission rate that the PCIe device port can achieve; the cache capacity indicates the maximum cache capacity of the PCIe device; the temperature threshold indicates the maximum temperature reached by the PCIe device. If the temperature of the PCIe device in the working state reaches or If the temperature threshold is exceeded, it is urgent to take cooling measures for the PCIe device to lower the temperature of the PCIe device. If it is in the temperature threshold state for a long time or exceeds the temperature threshold, the PCIe device will stop working or work slowly or the PCIe device will stop, or even It may be damaged; the network controller sideband interface characteristics include whether the PCIe device supports the NC-SI feature and the supported commands and parameters. According to the network controller sideband interface characteristics, the parameters of the PCIe device can be configured; the thermal resistance indicates the temperature of the device The ratio between the difference (increased temperature) and the difference in power consumption (the unit of thermal resistance is °C/W), that is, how much °C the temperature rises when the power consumption is increased by 1W, and the power consumption of the PCIe device can be calculated according to the thermal resistance value. The working temperature value that may be reached in the case of increasing; the size information indicates the size allowed by the PCIe device, and the size of the PCIe device includes full height, full length, half height, and half length; the delay level indicates that the information is processed in the PCIe device The amount of time consumed; the power consumption level indicates the power consumption of the PCIe device.
本申请提供了一种计算设备获得PCIe设备的能力属性信息的方法,如下:The present application provides a method for a computing device to obtain capability attribute information of a PCIe device, as follows:
S101:计算设备预存储PCIe设备的标识信息和能力属性信息之间的映射关系。S101: The computing device pre-stores a mapping relationship between identification information of a PCIe device and capability attribute information.
在一种实施例中,PCIe设备的标识信息和能力属性信息之间的映射关系可以如表1所示,表1中只列出了PCIe设备的标识信息与能力属性信息之间的映射关系,且标识信息使用的是能够唯一标识PCIe设备的四元组信息:VID、DID、SVID和SSID。In one embodiment, the mapping relationship between the identification information of the PCIe device and the capability attribute information can be as shown in Table 1, and only the mapping relationship between the identification information of the PCIe device and the capability attribute information is listed in Table 1. And the identification information uses four-tuple information that can uniquely identify the PCIe device: VID, DID, SVID, and SSID.
可选的,表1中还可以包括设备的名称,即标识信息、设备的名称与能力属性信息三者之间的对应关系,例如,标识信息VID1/DID1/SVID1/SSID1对应的设备的名称为设备1,对应的能力属性信息包括能力属性1、能力属性2、能力属性3和能力属性4。Optionally, the name of the device may also be included in Table 1, that is, the correspondence between the identification information, the name of the device, and the capability attribute information. For example, the name of the device corresponding to the identification information VID1/DID1/SVID1/SSID1 is For device 1, the corresponding capability attribute information includes capability attribute 1, capability attribute 2, capability attribute 3, and capability attribute 4.
表1 PCIe设备的标识信息和能力属性信息之间的映射关系Table 1 Mapping relationship between identification information and capability attribute information of PCIe devices
Figure PCTCN2022095027-appb-000001
Figure PCTCN2022095027-appb-000001
可以理解,这里的表1仅仅是一种示例,在实际应用中,表1中PCIe设备的标识信息和能力属性信息的内容,以及各个PCIe设备的标识信息和各个能力属性信息之间的映射关系均可以不相同,比如,不同PCIe设备的标识信息可能存在部分相同能力属性信息,表1中也可以包括更多或者更少的映射关系,并且,该对应关系还可以采用其他形式进行存储,此处不作具体限定。It can be understood that Table 1 here is only an example. In practical applications, the content of the identification information and capability attribute information of PCIe devices in Table 1, and the mapping relationship between the identification information of each PCIe device and each capability attribute information may be different. For example, the identification information of different PCIe devices may have part of the same capability attribute information. Table 1 may also include more or fewer mapping relationships, and the corresponding relationship may also be stored in other forms. There is no specific limitation.
S102:计算设备通过带内通信方式或带外通信方式获取PCIe设备的标识信息。S102: The computing device acquires the identification information of the PCIe device through in-band communication or out-of-band communication.
S103:计算设备根据获取的PCIe设备的标识信息以及PCIe设备的标识信息和能力属性信息之间的映射关系确定PCIe设备的标识信息对应的能力属性信息。S103: The computing device determines capability attribute information corresponding to the identification information of the PCIe device according to the acquired identification information of the PCIe device and a mapping relationship between the identification information of the PCIe device and the capability attribute information.
在一具体的实施例中,继续以表1为例进行说明,假设获取得到的PCIe设备的标识信息为PCIe设备的四元组信息VID1/DID1/SVID1/SSID1,查询表1可以得知,该四元组信息对应的能力属性信息为能力属性1、能力属性2、能力属性3以及能力属性4。In a specific embodiment, continue to take Table 1 as an example for illustration, assuming that the obtained identification information of the PCIe device is the quaternion information VID1/DID1/SVID1/SSID1 of the PCIe device, it can be known from the query table 1 that the The capability attribute information corresponding to the quadruple information is capability attribute 1, capability attribute 2, capability attribute 3, and capability attribute 4.
计算设备在确定PCIe设备的能力属性信息后,计算设备根据PCIe设备能力属性信息对PCIe设备进行管理。After the computing device determines the capability attribute information of the PCIe device, the computing device manages the PCIe device according to the capability attribute information of the PCIe device.
上述计算设备获得PCIe设备的能力属性信息并根据获得的能力属性信息对PCIe设备进行管理的方法中,需要计算设备预先存储各个PCIe设备的标识信息和能力属性信息的映射关系,也就是说,PCIe设备的能力属性信息是存储在外部的,上述方法中是存储在计算设备中 的,因此当新增一种PCIe设备或升级一种PCIe设备时,计算设备都需要更新一次预存储的信息,这种方法操作繁琐,难以实现对PCIe设备的管理和运维。In the above method in which the computing device obtains the capability attribute information of the PCIe device and manages the PCIe device according to the obtained capability attribute information, the computing device needs to pre-store the mapping relationship between the identification information of each PCIe device and the capability attribute information, that is, PCIe The capability attribute information of the device is stored externally. In the above method, it is stored in the computing device. Therefore, when a new PCIe device is added or a PCIe device is upgraded, the computing device needs to update the pre-stored information once. This method is cumbersome to operate, and it is difficult to realize the management and operation and maintenance of PCIe devices.
本申请提供了一种管理PCIe设备的方法,该方法应用于计算设备,参见图2,图2为本申请提供的一种管理PCIe设备的方法的流程示意图,该方法包括但不限于以下内容的描述。This application provides a method for managing PCIe devices, which is applied to computing devices, see Figure 2, Figure 2 is a schematic flowchart of a method for managing PCIe devices provided by this application, the method includes but is not limited to the following describe.
S201、计算设备向PCIe设备发送命令请求,相应地,PCIe设备接收计算设备发送的命令请求,其中,命令请求用于指示获取PCIe设备的能力属性信息。S201. The computing device sends a command request to the PCIe device. Correspondingly, the PCIe device receives the command request sent by the computing device, where the command request is used to instruct acquisition of capability attribute information of the PCIe device.
S202、PCIe设备向计算设备返回应答信息,相应地,计算设备接收到PCIe设备返回的应答信息,其中,应答信息中包括PCIe设备的能力属性信息。S202. The PCIe device returns response information to the computing device. Correspondingly, the computing device receives the response information returned by the PCIe device, wherein the response information includes capability attribute information of the PCIe device.
本申请中,能力属性信息存储于PCIe设备的存储器中的固件(firmware)中的一段存储空间中。固件用于实现PCIe设备的功能,例如,网卡固件实现网卡的网络连接、报文收发、协议卸载等。关于能力属性信息的含义及举例在上述相关内容中已经描述,为了说明书的简洁,在此不再赘述。In this application, the capability attribute information is stored in a segment of storage space in firmware (firmware) in the memory of the PCIe device. The firmware is used to realize the functions of the PCIe device, for example, the network card firmware realizes the network connection of the network card, message sending and receiving, protocol offloading and so on. The meaning and examples of the capability attribute information have been described in the above-mentioned relevant content, and for the sake of brevity of the description, details are not repeated here.
例如,参见表2,表2为本申请提供的一种能力属性信息在固件中的存储示意表。其中,能力属性1可以是PCIe设备的端口速率,能力属性2可以是PCIe设备的端口线宽,能力属性3可以是PCIe设备的缓存容量,能力属性4可以是NC-SI特性,等等。可以理解,这里的表2仅仅是一种示例,在实际应用中,表2中PCIe设备的能力属性信息的内容以及存储格式均可以不相同,本申请对能力属性信息在固件中的存储格式不作限定。For example, refer to Table 2, which is a storage diagram of capability attribute information in firmware provided by the present application. Wherein, capability attribute 1 may be the port rate of the PCIe device, capability attribute 2 may be the port line width of the PCIe device, capability attribute 3 may be the cache capacity of the PCIe device, capability attribute 4 may be the NC-SI characteristic, and so on. It can be understood that Table 2 here is only an example. In practical applications, the content and storage format of the capability attribute information of PCIe devices in Table 2 can be different. This application does not make any reference to the storage format of the capability attribute information in firmware. limited.
表2能力属性信息在固件中的存储示意表Table 2 Schematic diagram of storage of capability attribute information in firmware
Figure PCTCN2022095027-appb-000002
Figure PCTCN2022095027-appb-000002
在一种实现方式中,参见图3所示,计算设备与PCIe设备上的SMBus接口连接,更具体的,计算设备的设备管理模块的接口与PCIe设备的SMBus接口连接,使用SMBus协议实现与PCIe设备的通信。另外,计算设备还通过PCIe接口与PCIe设备连接,其中PCIe接口为业务接口,用于PCIe设备与计算设备的业务系统(例如CPU系统、OS系统)进行通信。In one implementation, as shown in FIG. 3, the computing device is connected to the SMBus interface on the PCIe device. More specifically, the interface of the device management module of the computing device is connected to the SMBus interface of the PCIe device, and the SMBus protocol is used to realize the connection with the PCIe device. device communication. In addition, the computing device is also connected to the PCIe device through a PCIe interface, wherein the PCIe interface is a service interface for communication between the PCIe device and a service system (such as a CPU system, an OS system) of the computing device.
SMBus协议规范中定义了地址解析协议ARP,ARP协议中定义了特殊地址“1100001”来实现某些功能。如图4所示,图4为SMBus协议规范中的ARP协议中定义的特殊地址“1100001”的功能示意图,从图4可以看到:该ARP协议中只定义了“0x01”命令字至“0x04”命令字的含义,其中,“0x01”表示“Prepare to ARP”,即准备执行ARP操作,“0x02”表示“Reset Device”,即复位设备,“0x03”表示“Get UDID”,即获取唯一的设备标识,“0x04”表示“Assign Address”,即分配地址,“0x00”以及“0x05”至“0x1F”为保留命令字,未定义含义。The address resolution protocol ARP is defined in the SMBus protocol specification, and the special address "1100001" is defined in the ARP protocol to realize certain functions. As shown in Figure 4, Figure 4 is a functional schematic diagram of the special address "1100001" defined in the ARP protocol in the SMBus protocol specification. It can be seen from Figure 4 that only the command word "0x01" to "0x04" is defined in the ARP protocol. "The meaning of the command word, among them, "0x01" means "Prepare to ARP", that is, to prepare to perform the ARP operation, "0x02" means "Reset Device", that is, to reset the device, "0x03" means "Get UDID", that is, to obtain the unique Device identification, "0x04" means "Assign Address", that is, the assigned address, "0x00" and "0x05" to "0x1F" are reserved command words with undefined meanings.
本申请,对SMBus接口协议规范进行扩展,将ARP协议中的任一保留命令字定义为获取能力属性信息指令,例如,可以将“0x00”命令字定义为获取能力属性信息指令,也可以 将“0x05”至“0x1F”中的任一命令字定义为获取能力属性信息指令。In this application, the SMBus interface protocol specification is extended, and any reserved command word in the ARP protocol is defined as an instruction for obtaining capability attribute information. For example, the command word "0x00" can be defined as an instruction for obtaining capability attribute information, or " Any command word in "0x05" to "0x1F" is defined as the command to obtain capability attribute information.
在SMBus接口协议规范扩展后,计算设备通过SMBus接口向PCIe设备发送命令请求,该命令请求指示获取PCIe设备的能力属性信息,PCIe设备接收到命令请求后,向计算设备返回一应答信息,应答信息中包括PCIe设备的能力属性信息,其中应答信息的形式如图5所示,图5中,“从节点地址”为“1100001”,表示使用特殊地址“1100001”中的某个命令字;“命令”表示获取能力信息指令,“命令”中的内容为表示获取能力信息指令的具体命令字,例如,若定义“0x05”命令字为获取能力属性信息指令,则“命令”中的内容为0x05,若定义“0x1F”命令字为获取能力属性信息指令,则“命令”中的内容为0x1F;“数据1”至“数据N”用于存储能力属性信息。图5所示的应答信息的格式只是一种示例性表示,本申请对应答信息的格式以及能力属性信息的格式不作具体限定。After the SMBus interface protocol specification is extended, the computing device sends a command request to the PCIe device through the SMBus interface. The command request indicates to obtain the capability attribute information of the PCIe device. After receiving the command request, the PCIe device returns a response message to the computing device. The response message Including the capability attribute information of the PCIe device, the form of the response information is shown in Figure 5. In Figure 5, the "slave node address" is "1100001", indicating that a certain command word in the special address "1100001" is used; "command " indicates the command to obtain capability information, and the content in "command" is the specific command word representing the command to obtain capability information. For example, if the command word "0x05" is defined as the command to obtain capability attribute information, then the content in "command" is 0x05, If the "0x1F" command word is defined as an instruction to obtain capability attribute information, then the content in "command" is 0x1F; "data 1" to "data N" are used to store capability attribute information. The format of the response information shown in FIG. 5 is only an exemplary representation, and the present application does not specifically limit the format of the response information and the format of the capability attribute information.
在又一种实现方式中,参见图6所示,计算设备与PCIe设备上的NC-SI接口连接,具体的,计算设备上的设备管理模块的接口与PCIe设备的NC-SI接口连接。另外,计算设备还通过PCIe接口与PCIe设备连接,其中PCIe接口为业务接口,用于PCIe设备与计算设备的业务系统(例如CPU系统、OS系统)传输数据。In yet another implementation, as shown in FIG. 6 , the computing device is connected to the NC-SI interface on the PCIe device, specifically, the interface of the device management module on the computing device is connected to the NC-SI interface of the PCIe device. In addition, the computing device is also connected to the PCIe device through a PCIe interface, wherein the PCIe interface is a service interface for data transmission between the PCIe device and a business system (such as a CPU system, an OS system) of the computing device.
NC-SI接口支持NC-SI协议,NC-SI协议中定义了第一命令报文的格式,包括第一命令请求报文的格式和第一命令应答报文的格式。本申请对第一命令请求报文和第一命令应答报文进行扩展,具体参见图7A和图7B,图7A为本申请提供的第一命令请求报文的格式,图7B为本申请提供的第一命令应答报文的格式。图7A中,目的地址为FF-FF-FF-FF-FF-FF,即全F的广播地址,源地址为计算设备上设备管理模块接口的地址,类型为以太网类型(NC-SI接口为以太网卡上的接口),命令包头指示该报文为命令请求报文,本申请中,第一命令请求报文中的“自定义命令”字段用于携带获取能力属性信息指令。图7B中,目的地址和源地址均是NC-SI协议规范中定义的FF-FF-FF-FF-FF-FF,类型为以太网类型,命令包头指示该报文为命令应答报文,本申请中,第一命令应答报文中的“自定义应答”字段用于携带能力属性信息。The NC-SI interface supports the NC-SI protocol. The NC-SI protocol defines the format of the first command message, including the format of the first command request message and the format of the first command response message. This application expands the first command request message and the first command response message, see Figure 7A and Figure 7B for details, Figure 7A is the format of the first command request message provided by this application, and Figure 7B is the format of the first command request message provided by this application Format of the first command response message. In Fig. 7A, the destination address is FF-FF-FF-FF-FF-FF, that is, the broadcast address of all F, the source address is the address of the device management module interface on the computing device, and the type is the Ethernet type (the NC-SI interface is interface on the Ethernet card), and the command packet header indicates that the message is a command request message. In this application, the "custom command" field in the first command request message is used to carry an instruction to obtain capability attribute information. In Fig. 7B, both the destination address and the source address are FF-FF-FF-FF-FF-FF defined in the NC-SI protocol specification, the type is Ethernet type, and the command packet header indicates that the message is a command response message. In the application, the "custom response" field in the first command response message is used to carry capability attribute information.
在对NC-SI协议规范中的第一命令请求报文和第一命令应答报文进行扩展后,计算设备通过NC-SI接口向PCIe设备发送第一命令请求报文,第一命令请求报文中包括获取能力属性信息指令,PCIe设备接收到报文后,解析报文,并向计算设备返回第一命令应答报文,第一命令应答报文中包括PCIe设备的能力属性信息。After extending the first command request message and the first command response message in the NC-SI protocol specification, the computing device sends the first command request message to the PCIe device through the NC-SI interface, and the first command request message includes an instruction to acquire capability attribute information. After receiving the packet, the PCIe device parses the packet and returns a first command response message to the computing device. The first command response message includes the capability attribute information of the PCIe device.
在又一种实现方式中,参见图8所示,计算设备与PCIe设备上的PCIe接口连接,具体的,计算设备的设备管理模块通过CPU系统的PCIe接口与PCIe设备连接并进行通信,这种连接方式虽然是通过PCIe接口连接,但通信发起者是计算设备的设备管理模块,属于带外通信。另外,PCIe接口作为业务接口,还用于计算设备的CPU系统或OS系统与PCIE设备之间传输数据。In yet another implementation, as shown in FIG. 8, the computing device is connected to the PCIe interface on the PCIe device. Specifically, the device management module of the computing device is connected to and communicates with the PCIe device through the PCIe interface of the CPU system. Although the connection mode is through the PCIe interface, the initiator of the communication is the device management module of the computing device, which belongs to out-of-band communication. In addition, as a service interface, the PCIe interface is also used to transmit data between the CPU system or OS system of the computing device and the PCIE device.
PCIe接口承载管理组件传输协议(management component transport protocol,MCTP),即MCTP over PCIe,MCTP协议是一个管理协议框架,它支持的带外管理协议包括平台级数据模型(platform level data model,PLDM)协议,本实施例使用PLDM协议结构,即PLDM over MCTP over PCIe。PLDM协议中定义了第二命令报文的格式,包括第二命令请求报文的格式和第二命令应答报文的格式。本申请对第二命令请求报文和第二命令应答报文进行扩展,具体参见图9A和图9B,图9A为本申请提供的第二命令请求报文的格式示意图,图9B为本 申请提供的第二命令应答报文的格式示意图,第二命令请求报文和第二命令应答报文均是由PCIe协议报文头、MCTP协议报文头、PLDM协议报文头、校验、协议类型和PLDM协议数据(负荷)组成,其中协议类型指的是MCTP所承载的协议类型,这里是PLDM协议。The PCIe interface bears the management component transport protocol (MCTP), that is, MCTP over PCIe. The MCTP protocol is a management protocol framework, and the out-of-band management protocols it supports include the platform level data model (platform level data model, PLDM) protocol , this embodiment uses the PLDM protocol structure, that is, PLDM over MCTP over PCIe. The format of the second command message is defined in the PLDM protocol, including the format of the second command request message and the format of the second command response message. This application expands the second command request message and the second command response message, see Figure 9A and Figure 9B for details, Figure 9A is a schematic diagram of the format of the second command request message provided by this application, and Figure 9B is the Schematic diagram of the format of the second command response message, the second command request message and the second command response message are composed of PCIe protocol header, MCTP protocol header, PLDM protocol header, checksum, protocol type Composed of PLDM protocol data (payload), where the protocol type refers to the protocol type carried by MCTP, here is the PLDM protocol.
本申请,对第二命令请求报文和第二命令应答报文进行扩展,将第二命令请求报文中的“PLDM协议数据”字段中携带“获取能力属性信息指令”,第二命令应答报文中的“PLDM协议数据”字段用于携带能力属性信息。在对PLDM协议扩展后,计算设备通过PCIe接口向PCIe设备发送第二命令请求报文,第二命令请求报文中包括获取能力属性信息指令,PCIe设备接收到第二命令请求报文后,解析报文,并向计算设备返回第二命令应答报文,第二命令应答报文中包括PCIe设备的能力属性信息,本申请对能力属性信息的格式不作限定。In this application, the second command request message and the second command response message are extended, and the "PLDM protocol data" field in the second command request message carries "acquire capability attribute information instruction", and the second command response message The "PLDM protocol data" field in this document is used to carry capability attribute information. After the PLDM protocol is extended, the computing device sends a second command request message to the PCIe device through the PCIe interface. The second command request message includes an instruction to obtain capability attribute information. After receiving the second command request message, the PCIe device parses the message, and return a second command response message to the computing device, the second command response message includes the capability attribute information of the PCIe device, and the format of the capability attribute information is not limited in this application.
需要说明的是,MCTP协议支持的带外管理协议还包括NC-SI协议,即NC-SI over MCTP over PCIe,本申请也可以利用NC-SI over MCTP over PCIe协议结构,对请求报文和应答报文进行扩展,使请求报文中的某个字段携带获取能力属性信息指令,使应答报文中的某个字段携带能力属性信息。计算设备通过发送请求报文将获取能力属性信息指令发送至PCIe设备,PCIe设备接收到请求报文后,解析请求报文,并返回应答报文,应答报文中携带有能力属性信息。It should be noted that the out-of-band management protocol supported by the MCTP protocol also includes the NC-SI protocol, that is, NC-SI over MCTP over PCIe. This application can also use the NC-SI over MCTP over PCIe protocol structure to process request messages and responses The message is extended so that a certain field in the request message carries an instruction to obtain capability attribute information, and a certain field in the response message carries capability attribute information. The computing device sends a command to obtain capability attribute information to the PCIe device by sending a request message. After receiving the request message, the PCIe device parses the request message and returns a response message, which carries the capability attribute information.
需要说明的是,本申请对计算设备和PCIe设备做了功能上的扩展,包括:计算设备具有请求访问PCIe设备的能力属性信息的权限和能力,能够向PCIe设备发送获取能力属性信息指令,还具有解析能力属性信息的能力;PCIe设备具有识别、解读获取能力属性信息指令的能力,且PCIe设备中定义了接收到获取能力属性信息指令后需要执行的操作,比如,可以定义当设备接收到获取能力属性信息指令时,读取设备自身的能力属性信息,然后写入应答信息中,将能力属性信息以应答信息的形式发送至发送端设备。关于如何发送设备获取能力属性信息指令的命令请求以及设备接收到获取能力属性信息指令的命令请求时需要执行哪些操作等的具体定义形式及定义内容不做具体限定。It should be noted that this application expands the functions of computing devices and PCIe devices, including: computing devices have the authority and ability to request access to the capability attribute information of PCIe devices, and can send instructions to obtain capability attribute information to PCIe devices. It has the ability to analyze capability attribute information; PCIe devices have the ability to identify and interpret commands to obtain capability attribute information, and the PCIe device defines the operations that need to be performed after receiving the command to obtain capability attribute information. For example, it can be defined when the device receives When the capability attribute information is commanded, the capability attribute information of the device itself is read, and then written into the response information, and the capability attribute information is sent to the sending end device in the form of response information. The specific definition form and content of how to send the command request for the device to acquire the capability attribute information instruction and what operations the device needs to perform when receiving the command request for the capability attribute information instruction are not specifically limited.
S203、计算设备根据PCIe设备的能力属性信息,管理PCIe设备。S203. The computing device manages the PCIe device according to the capability attribute information of the PCIe device.
在一种实施例中,根据PCIe设备的能力属性信息对PCIe设备进行管理。例如,获得的PCIe设备的能力属性信息包括端口速率,计算设备将端口速率显示在界面上。又例如,计算设备获得的能力属性信息包括NC-SI特性,计算设备根据NC-SI特性对PCIe设备进行参数配置;等等。In an embodiment, the PCIe device is managed according to the capability attribute information of the PCIe device. For example, the acquired capability attribute information of the PCIe device includes port speed, and the computing device displays the port speed on the interface. For another example, the capability attribute information obtained by the computing device includes NC-SI characteristics, and the computing device configures parameters for the PCIe device according to the NC-SI characteristics; and so on.
在又一种实施例中,计算设备还可以通过带内通信或带外通信的方式获得PCIe设备的状态信息,根据状态信息和能力属性信息管理PCIe设备。其中,状态信息包括表示PCIe设备当前工作状态的信息,比如,状态信息可以是PCIe设备端口当前的工作速率、PCIe设备当前温度等。例如,计算设备获得的能力属性信息包括温度阈值,又获得PCIe设备的当前温度(状态信息),计算设备根据当前温度与温度阈值确定是否启动风扇,以及根据当前温度与温度阈值的差值控制调节风扇的速度或档位。又例如,计算设备获得的能力属性信息包括缓存容量,又获得PCIe设备当前已占用的容量,当已占用的容量接近缓存容量时,PCIe设备的工作效率可能会降低,可以关闭PCIe设备的某些功能,以减少占用容量,提高工作效率。In yet another embodiment, the computing device may also obtain status information of the PCIe device through in-band communication or out-of-band communication, and manage the PCIe device according to the status information and capability attribute information. Wherein, the status information includes information indicating the current working status of the PCIe device, for example, the status information may be the current working rate of the port of the PCIe device, the current temperature of the PCIe device, and the like. For example, the capability attribute information obtained by the computing device includes a temperature threshold, and obtains the current temperature (status information) of the PCIe device. The computing device determines whether to start the fan according to the current temperature and the temperature threshold, and controls the adjustment according to the difference between the current temperature and the temperature threshold. The speed or gear of the fan. For another example, the capability attribute information obtained by the computing device includes the cache capacity, and the currently occupied capacity of the PCIe device is obtained. When the occupied capacity is close to the cache capacity, the working efficiency of the PCIe device may decrease, and some PCIe devices can be turned off. functions to reduce occupied capacity and improve work efficiency.
计算设备获取PCIe设备的状态信息的方式,可以是通过带内通信的方式,也可以是通过带外接口获取,本申请不做具体限定。The manner in which the computing device obtains the status information of the PCIe device may be through in-band communication or through an out-of-band interface, which is not specifically limited in this application.
可以看到,本申请,在PCIe设备的存储器中的固件中开拓了一段存储空间,用于存储能 力属性信息,为计算设备获取能力属性信息提供了基础和便利。另外,计算设备与PCIe设备通过带外接口或带内接口进行通信,其中带外接口例如可以是SMBus接口、NC-SI接口、UART接口等,带内接口例如可以是PCIe接口、以太网接口等,通过对通信协议进行扩展,使得通信协议支持能力属性信息的传送,体现在:计算设备能够通过带外接口向PCIe设备发送获取能力属性信息指令,PCIe设备能够识别获取能力属性信息指令,并作出应答,向计算设备返回能力属性信息,使得计算设备接收到能力属性信息,并根据能力属性信息实现对PCIe设备的配置、管理。实施本申请实施例,计算设备上每新增一个PCIe设备,或与计算设备相连接的PCIe设备升级时,计算设备可直接从PCIe设备中获取到能力属性信息,无需预存储PCIe设备的信息,也无需时常更新信息,本申请的方法操作方便,适应性强,便于对PCIe设备进行管理、运维。It can be seen that in this application, a section of storage space is opened up in the firmware in the memory of the PCIe device for storing capability attribute information, which provides a basis and convenience for computing devices to obtain capability attribute information. In addition, the computing device and the PCIe device communicate through an out-of-band interface or an in-band interface, where the out-of-band interface may be, for example, an SMBus interface, NC-SI interface, UART interface, etc., and the in-band interface may be, for example, a PCIe interface, an Ethernet interface, etc. , by extending the communication protocol, the communication protocol supports the transmission of capability attribute information, which is reflected in the following: the computing device can send the command to obtain the capability attribute information to the PCIe device through the out-of-band interface, and the PCIe device can recognize the command to obtain the capability attribute information, and make a Reply, returning capability attribute information to the computing device, so that the computing device receives the capability attribute information, and implements configuration and management of the PCIe device according to the capability attribute information. Implement the embodiment of the present application, every time a new PCIe device is added on the computing device, or when the PCIe device connected to the computing device is upgraded, the computing device can directly obtain the capability attribute information from the PCIe device, without pre-storing the information of the PCIe device, There is also no need to update information frequently, and the method of the present application is easy to operate, has strong adaptability, and facilitates management, operation and maintenance of PCIe devices.
参见图10,图10为本申请提供的一种计算设备100的装置示意图,计算设备100包括:Referring to FIG. 10, FIG. 10 is a schematic diagram of a computing device 100 provided by the present application. The computing device 100 includes:
发送模块101,用于发送命令请求;命令请求指示获取PCIe设备的能力属性信息;接收模块102,用于接收应答信息;应答信息中包括PCIe设备的能力属性信息;管理模块103,用于根据PCIe设备的能力属性信息,管理PCIe设备。The sending module 101 is used to send a command request; the command request indicates to obtain the capability attribute information of the PCIe device; the receiving module 102 is used to receive the response information; the response information includes the capability attribute information of the PCIe device; the management module 103 is used for according to PCIe Capability attribute information of the device to manage PCIe devices.
在可能的实现方式中,计算设备与PCIe设备通过带外接口通信;带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。In a possible implementation, the computing device communicates with the PCIe device through an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a universal asynchronous transceiver UART interface.
在可能的实现方式中,计算设备与PCIe设备通过带内接口通信;带内接口为快速外设组件互联PCIe接口或以太网接口。In a possible implementation manner, the computing device communicates with the PCIe device through an in-band interface; the in-band interface is a PCIe interface for fast peripheral component interconnection or an Ethernet interface.
在可能的实现方式中,带外接口为NC-SI接口时,命令请求中的自定义命令字段中携带了获取能力属性信息指令;应答信息中的自定义应答字段中携带了能力属性信息。In a possible implementation, when the out-of-band interface is an NC-SI interface, the custom command field in the command request carries an instruction to obtain capability attribute information; the custom response field in the response information carries capability attribute information.
在可能的实现方式中,带内接口为PCIe接口时,命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;应答信息中的PLDM协议数据字段中携带了能力属性信息。In a possible implementation, when the in-band interface is a PCIe interface, the platform-level data model PLDM protocol data field in the command request carries an instruction to obtain capability attribute information; the PLDM protocol data field in the response information carries capability attribute information .
在可能的实现方式中,能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息热阻、时延等级和功耗等级中的一种或多种。In a possible implementation manner, the capability attribute information includes one or more of port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information thermal resistance, delay level, and power consumption level.
上述计算设备100的各功能模块用于实现图2实施例所描述的方法,具体内容可参考图2实施例的相关内容中的描述,为了说明书的简洁,这里不再赘述。Each functional module of the above-mentioned computing device 100 is used to implement the method described in the embodiment of FIG. 2 . For specific content, refer to the description in the related content of the embodiment of FIG. 2 .
参见图11,图11为本申请提供的一种PCIe设备200的装置示意图,PCIe设备200包括:Referring to FIG. 11, FIG. 11 is a schematic diagram of a PCIe device 200 provided by the present application. The PCIe device 200 includes:
存储模块201,用于存储PCIe设备的能力属性信息;接收模块202,用于接收命令请求;命令请求指示获取PCIe设备的能力属性信息;发送模块203,用于基于命令请求发送应答信息;应答信息中包括PCIe设备的能力属性信息。The storage module 201 is used to store the capability attribute information of the PCIe device; the receiving module 202 is used to receive the command request; the command request indicates to obtain the capability attribute information of the PCIe device; the sending module 203 is used to send response information based on the command request; the response information Include the capability attribute information of the PCIe device.
在可能的实现方式中,PCIe设备与计算设备通过带外接口通信;带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。In a possible implementation, the PCIe device communicates with the computing device through an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a universal asynchronous transceiver UART interface.
在可能的实现方式中,PCIe设备与计算设备通过带内接口通信;带内接口为快速外设组件互联PCIe接口或以太网接口。In a possible implementation manner, the PCIe device communicates with the computing device through an in-band interface; the in-band interface is a PCIe interface for fast peripheral component interconnection or an Ethernet interface.
在可能的实现方式中,带外接口为NC-SI接口时,接收模块202用于,通过NC-SI接口接收计算设备发送的第一命令请求报文;第一命令请求报文中的自定义命令字段中携带了获 取能力属性信息指令;发送模块203用于,基于第一命令请求报文,通过NC-SI接口向计算设备发送第一命令应答报文;第一命令应答报文中的自定义应答字段中携带了能力属性信息。In a possible implementation, when the out-of-band interface is an NC-SI interface, the receiving module 202 is configured to receive the first command request message sent by the computing device through the NC-SI interface; The command field carries an instruction to obtain capability attribute information; the sending module 203 is configured to, based on the first command request message, send a first command response message to the computing device through the NC-SI interface; The definition response field carries capability attribute information.
在可能的实现方式中,带内接口为所述PCIe接口时,接收模块202用于,通过PCIe接口接收由计算设备发送的第二命令请求报文;第二命令请求报文中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;发送模块203用于,基于第二命令请求报文,通过PCIe接口向计算设备发送第二命令应答报文;第二命令应答报文中的PLDM协议数据字段中携带了能力属性信息。In a possible implementation, when the in-band interface is the PCIe interface, the receiving module 202 is configured to receive the second command request message sent by the computing device through the PCIe interface; the platform-level data in the second command request message The model PLDM protocol data field carries an instruction to acquire capability attribute information; the sending module 203 is configured to, based on the second command request message, send a second command response message to the computing device through the PCIe interface; the second command response message in the second command response message The capability attribute information is carried in the PLDM protocol data field.
在可能的实现方式中,能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。In a possible implementation manner, the capability attribute information includes one or more of port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, delay level, and power consumption level.
上述PCIe设备200的各功能模块用于实现图2实施例所描述的方法,具体内容可参考图2实施例的相关内容中的描述,为了说明书的简洁,这里不再赘述。Each functional module of the above-mentioned PCIe device 200 is used to implement the method described in the embodiment of FIG. 2 . For specific content, refer to the description in the related content of the embodiment of FIG.
参见图12,图12为本申请提供的一种计算设备300的硬件结构示意图。计算设备300包括:处理器310、通信接口320以及存储器330。其中,处理器310、通信接口320以及存储器330可以通过内部总线340相互连接,也可通过无线传输等其他手段实现通信。Referring to FIG. 12 , FIG. 12 is a schematic diagram of a hardware structure of a computing device 300 provided in the present application. The computing device 300 includes: a processor 310 , a communication interface 320 and a memory 330 . Wherein, the processor 310, the communication interface 320, and the memory 330 may be connected to each other through the internal bus 340, and may also communicate through other means such as wireless transmission.
以通过总线340连接为例,总线340可以是PCI总线或EISA总线等。总线340可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Taking the connection through the bus 340 as an example, the bus 340 may be a PCI bus or an EISA bus or the like. The bus 340 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in FIG. 12 , but it does not mean that there is only one bus or one type of bus.
处理器310可以由至少一个通用处理器构成,例如CPU,或者CPU和硬件芯片的组合。上述硬件芯片可以是ASIC、PLD或其组合。上述PLD可以是CPLD、FPGA、GAL或其任意组合。处理器310执行各种类型的数字存储指令,例如存储在存储器330中的软件或者固件程序,它能使计算设备300提供较宽的多种服务。The processor 310 may be composed of at least one general-purpose processor, such as a CPU, or a combination of a CPU and a hardware chip. The aforementioned hardware chip may be an ASIC, a PLD or a combination thereof. The aforementioned PLD may be CPLD, FPGA, GAL or any combination thereof. Processor 310 executes various types of digitally stored instructions, such as software or firmware programs stored in memory 330, which enable computing device 300 to provide a wide variety of services.
存储器330用于存储程序代码,并由处理器310来控制执行,以执行上述图2实施例所述的步骤,具体可以参考上述所示实施例的相关描述,此处不再展开赘述。The memory 330 is used to store program codes, which are controlled and executed by the processor 310 to perform the steps described in the above-mentioned embodiment in FIG.
存储器330可以包括易失性存储器,例如RAM;存储器330也可以包括非易失性存储器,例如ROM、快闪存储器(flash memory);存储器330还可以包括上述种类的组合。The memory 330 may include a volatile memory, such as RAM; the memory 330 may also include a non-volatile memory, such as ROM, flash memory (flash memory); the memory 330 may also include a combination of the above types.
通信接口320可以为有线接口(例如以太网接口),可以为内部接口(例如快速外设组件互联(peripheral component interconnect express,PCIe)总线接口)、有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他设备或模块进行通信。The communication interface 320 can be a wired interface (such as an Ethernet interface), an internal interface (such as a fast peripheral component interconnect express (PCIe) bus interface), a wired interface (such as an Ethernet interface) or a wireless interface (such as cellular network interface or use the wireless LAN interface) for communicating with other devices or modules.
需要说明的,图12仅仅是本申请实施例的一种可能的实现方式,实际应用中,计算设备还可以包括更多或更少的部件,这里不作限制。关于本申请实施例中未示出或未描述的内容,可参见前述方法所述实施例中的相关阐述,这里不再赘述。It should be noted that FIG. 12 is only a possible implementation of the embodiment of the present application, and in practical applications, the computing device may include more or fewer components, which is not limited here. Regarding the content that is not shown or described in the embodiment of the present application, refer to the relevant explanation in the embodiment of the foregoing method, and details are not repeated here.
参见图13,图13为本申请提供的一种PCIe设备400的硬件结构示意图。PCIe设备400包括:处理器410、通信接口420以及存储器430。其中,处理器410、通信接口420以及存储器430可以通过内部总线440相互连接,也可通过无线传输等其他手段实现通信。Referring to FIG. 13 , FIG. 13 is a schematic diagram of a hardware structure of a PCIe device 400 provided in the present application. The PCIe device 400 includes: a processor 410 , a communication interface 420 and a memory 430 . Wherein, the processor 410, the communication interface 420, and the memory 430 may be connected to each other through the internal bus 440, and may also communicate through other means such as wireless transmission.
以通过总线440连接为例,总线440可以是PCI总线或EISA总线等。总线440可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示 仅有一根总线或一种类型的总线。Taking the connection through the bus 440 as an example, the bus 440 may be a PCI bus or an EISA bus or the like. The bus 440 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in Fig. 13, but it does not mean that there is only one bus or one type of bus.
处理器410可以由至少一个通用处理器构成,例如CPU,或者CPU和硬件芯片的组合。上述硬件芯片可以是ASIC、PLD或其组合。上述PLD可以是CPLD、FPGA、GAL或其任意组合。处理器410执行各种类型的数字存储指令,例如存储在存储器430中的软件或者固件程序,它能使PCIe设备400提供较宽的多种服务。The processor 410 may be composed of at least one general-purpose processor, such as a CPU, or a combination of a CPU and a hardware chip. The aforementioned hardware chip may be an ASIC, a PLD or a combination thereof. The aforementioned PLD may be CPLD, FPGA, GAL or any combination thereof. The processor 410 executes various types of digitally stored instructions, such as software or firmware programs stored in the memory 430, which enable the PCIe device 400 to provide a wide variety of services.
存储器430中存储有程序代码,由处理器410来控制执行,以执行上述图2实施例所述的步骤,具体可以参考上述所示实施例的相关描述,此处不再展开赘述。本申请中,存储器430中还包括固件,固件中包括能力属性信息,处理器410用于加载固件,通信接口420用于发送能力属性信息。The memory 430 stores program codes, which are controlled and executed by the processor 410 to execute the steps described in the above-mentioned embodiment in FIG. In this application, the memory 430 further includes firmware, and the firmware includes capability attribute information, the processor 410 is used to load the firmware, and the communication interface 420 is used to send the capability attribute information.
存储器430可以包括易失性存储器,例如RAM;存储器430也可以包括非易失性存储器,例如ROM、快闪存储器(flash memory);存储器430还可以包括上述种类的组合。The memory 430 may include a volatile memory, such as RAM; the memory 430 may also include a non-volatile memory, such as ROM, flash memory (flash memory); the memory 430 may also include a combination of the above types.
通信接口420可以为有线接口(例如以太网接口),可以为内部接口(例如快速外设组件互联(peripheral component interconnect express,PCIe)总线接口)、有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他设备或模块进行通信。The communication interface 420 can be a wired interface (such as an Ethernet interface), an internal interface (such as a fast peripheral component interconnect express (PCIe) bus interface), a wired interface (such as an Ethernet interface) or a wireless interface (such as cellular network interface or use the wireless LAN interface) for communicating with other devices or modules.
需要说明的,图13仅仅是本申请实施例的一种可能的实现方式,实际应用中,PCIe设备还可以包括更多或更少的部件,这里不作限制。关于本申请实施例中未示出或未描述的内容,可参见前述方法所述实施例中的相关阐述,这里不再赘述。It should be noted that FIG. 13 is only a possible implementation manner of the embodiment of the present application. In practical applications, the PCIe device may include more or fewer components, which is not limited here. Regarding the content that is not shown or described in the embodiment of the present application, refer to the relevant explanation in the embodiment of the foregoing method, and details are not repeated here.
本申请还提供了一种系统,系统包括计算设备和至少一个PCIe设备,其中计算设备可以是上述计算设备100或计算设备300,PCIe设备可以是上述PCIe设备200或PCIe设备400。计算设备与至少一个PCIe设备电连接,可选的,计算设备可以通过带外接口SMBus接口、NC-SI接口、UART接口中的一种或多种与至少一个PCIe设备连接,还可以通过带内接口PCIe接口或以太网接口与与至少一个PCIe设备连接。The present application also provides a system. The system includes a computing device and at least one PCIe device, wherein the computing device may be the computing device 100 or 300 described above, and the PCIe device may be the PCIe device 200 or the PCIe device 400 described above. The computing device is electrically connected to at least one PCIe device. Optionally, the computing device can be connected to at least one PCIe device through one or more of the out-of-band interface SMBus interface, NC-SI interface, and UART interface, or through an in-band The interface PCIe interface or Ethernet interface is connected with at least one PCIe device.
本申请实施例提供了一种计算机程序产品,当该计算机程序产品在计算设备上运行时,使得计算设备执行本申请上述图2所述的方法实施例;当该计算机程序产品在PCIe设备上运行时,使得PCIe设备执行本申请上述图2所述的方法实施例。The embodiment of the present application provides a computer program product. When the computer program product runs on the computing device, the computing device executes the method embodiment described in FIG. 2 of the present application; when the computer program product runs on the PCIe device , causing the PCIe device to execute the method embodiment described in FIG. 2 above in this application.
本申请实施例提供了一种可读存储介质,包括程序指令,当计算设备运行程序指令时,计算设备执行上述图2所述的方法实施例。An embodiment of the present application provides a readable storage medium, including program instructions. When a computing device runs the program instructions, the computing device executes the method embodiment described in FIG. 2 above.
本申请实施例提供了一种可读存储介质,包括程序指令,当PCIe设备运行程序指令时,PCIe设备执行上述图2所述的方法实施例。An embodiment of the present application provides a readable storage medium, including program instructions. When the PCIe device runs the program instructions, the PCIe device executes the method embodiment described in FIG. 2 above.
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art can realize that, in combination with the various method steps and units described in the embodiments disclosed herein, they can be implemented by electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the possibility of hardware and software For interchangeability, in the above description, the steps and components of each embodiment have been generally described according to their functions. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Those of ordinary skill in the art may implement the described functionality using different methods for each particular application, but such implementation should not be considered as exceeding the scope of the present application.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the foregoing method embodiment, and details are not repeated here.
在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实 现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided in this application, the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or can be Integrate into another system, or some features may be ignored, or not implemented. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。The unit described as a separate component may or may not be physically separated, and the component shown as a unit may or may not be a physical unit, that is, it may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment of the present application.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of software products, and the computer software products are stored in a storage medium In, several instructions are included to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disc and other media that can store program codes. .
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD)、或者半导体介质(例如固态硬盘)等。In the above embodiments, all or part of them may be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program instructions may be sent from a website, computer, server, or data center through Wired or wireless transmission to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a digital video disc (digital video disc, DVD), or a semiconductor medium (such as a solid state disk), etc.
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above description is only the specific implementation of the application, but the scope of protection of the application is not limited thereto. Any person familiar with the technical field can easily think of various equivalent modifications within the technical scope disclosed in the application. Or replacement, these modifications or replacements should be covered within the protection scope of this application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (29)

  1. 一种快速外设组件互联PCIe设备,其特征在于,包括通信接口、处理器和存储器;其中,A fast peripheral component interconnection PCIe device is characterized in that it includes a communication interface, a processor and a memory; wherein,
    所述存储器用于存储所述PCIe设备的固件,所述固件中包括所述PCIe设备的能力属性信息;所述处理器用于加载所述固件;所述通信接口用于发送所述能力属性信息。The memory is used to store the firmware of the PCIe device, and the firmware includes capability attribute information of the PCIe device; the processor is used to load the firmware; and the communication interface is used to send the capability attribute information.
  2. 根据权利要求1所述的设备,其特征在于,The device according to claim 1, characterized in that,
    所述通信接口还用于接收命令请求;所述命令请求用于指示获取所述能力属性信息;The communication interface is also used to receive a command request; the command request is used to instruct to obtain the capability attribute information;
    所述通信接口还用于发送应答信息;所述应答信息中包括所述能力属性信息。The communication interface is also used to send response information; the response information includes the capability attribute information.
  3. 根据权利要求1或2所述的设备,其特征在于,所述通信接口包括带外接口;所述带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。The device according to claim 1 or 2, wherein the communication interface includes an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a universal asynchronous transceiver UART interface.
  4. 根据权利要求1或2所述的设备,其特征在于,所述通信接口包括带内接口;所述带内接口为快速外设组件互联PCIe接口或以太网接口。The device according to claim 1 or 2, wherein the communication interface includes an in-band interface; and the in-band interface is a PCIe interface or an Ethernet interface.
  5. 根据权利要求3所述的设备,其特征在于,所述带外接口为所述NC-SI接口时,The device according to claim 3, wherein when the out-of-band interface is the NC-SI interface,
    所述命令请求中的自定义命令字段中携带了获取所述能力属性信息指令;The custom command field in the command request carries an instruction to obtain the capability attribute information;
    所述应答信息中的自定义应答字段中携带了所述能力属性信息。The capability attribute information is carried in the self-defined response field in the response information.
  6. 根据权利要求4所述的设备,其特征在于,所述带内接口为所述PCIE接口时,The device according to claim 4, wherein when the in-band interface is the PCIE interface,
    所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取所述能力属性信息指令;The platform-level data model PLDM protocol data field in the command request carries an instruction to obtain the capability attribute information;
    所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。The PLDM protocol data field in the response information carries the capability attribute information.
  7. 根据权利要求1-6任一项所述的设备,其特征在于,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。The device according to any one of claims 1-6, wherein the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, and delay level and one or more of power consumption levels.
  8. 一种系统,其特征在于,包括计算设备和至少一个快速外设组件互联PCIe设备,所述至少一个PCIe设备通过快速外设组件互联PCIe总线和所述计算设备连接,所述PCIe设备存储有固件,所述固件中包括所述PCIe设备的能力属性信息。A system, characterized in that it comprises a computing device and at least one fast peripheral component interconnection PCIe device, the at least one PCIe device is connected to the computing device through a fast peripheral component interconnection PCIe bus, and the PCIe device stores firmware , the firmware includes capability attribute information of the PCIe device.
  9. 根据权利要求8所述的系统,其特征在于,The system of claim 8, wherein
    所述计算设备用于向所述至少一个PCIe设备发送命令请求;所述命令请求用于指示获取PCIe设备的能力属性信息;The computing device is used to send a command request to the at least one PCIe device; the command request is used to indicate to obtain the capability attribute information of the PCIe device;
    所述至少一个PCIe设备用于分别向所述计算设备发送应答信息;所述应答信息中包括所述PCIe设备的能力属性信息;The at least one PCIe device is used to send response information to the computing device respectively; the response information includes capability attribute information of the PCIe device;
    所述计算设备还用于,根据接收到的所述至少一个PCIe设备的应答信息,管理所述至少一个PCIe设备。The computing device is further configured to manage the at least one PCIe device according to the received response information of the at least one PCIe device.
  10. 根据权利要求9所述的系统,其特征在于,所述计算设备与所述至少一个PCIe设备通过带外接口进行通信;所述带外接口包括系统管理总线SMBus接口、网络控制器边带接口NC-SI和通用异步收发器UART接口中的一个或多个。The system according to claim 9, wherein the computing device communicates with the at least one PCIe device through an out-of-band interface; the out-of-band interface includes a system management bus SMBus interface, a network controller sideband interface NC - One or more of SI and UART interfaces.
  11. 根据权利要求9所述的系统,其特征在于,所述计算设备与所述至少一个PCIe设备通过带内接口进行通信;所述带内接口包括所述PCIe接口和/或以太网接口。The system according to claim 9, wherein the computing device communicates with the at least one PCIe device through an in-band interface; the in-band interface includes the PCIe interface and/or the Ethernet interface.
  12. 根据权利要求10所述的系统,其特征在于,所述带外接口包括所述NC-SI接口时,The system according to claim 10, wherein when the out-of-band interface comprises the NC-SI interface,
    所述命令请求中的自定义命令字段中携带了获取能力属性信息指令;The custom command field in the command request carries an instruction to acquire capability attribute information;
    所述应答信息中的自定义应答字段中携带了所述能力属性信息。The capability attribute information is carried in the self-defined response field in the response information.
  13. 根据权利要求11所述的系统,其特征在于,所述带内接口包括所述PCIe接口时,The system according to claim 11, wherein when the in-band interface comprises the PCIe interface,
    所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;The platform-level data model PLDM protocol data field in the command request carries an instruction to acquire capability attribute information;
    所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。The PLDM protocol data field in the response information carries the capability attribute information.
  14. 根据权利要求8-13任一项所述的系统,其特征在于,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。The system according to any one of claims 8-13, wherein the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, and delay level and one or more of power consumption levels.
  15. 一种管理快速外设组件互联PCIe设备的方法,其特征在于,包括:A method for managing fast peripheral components to interconnect PCIe devices, characterized in that, comprising:
    计算设备发送命令请求;所述命令请求指示获取所述PCIe设备的能力属性信息;The computing device sends a command request; the command request indicates to obtain the capability attribute information of the PCIe device;
    接收应答信息;所述应答信息中包括所述PCIe设备的能力属性信息;Receiving response information; the response information includes capability attribute information of the PCIe device;
    根据所述PCIe设备的能力属性信息,管理所述PCIe设备。Manage the PCIe device according to the capability attribute information of the PCIe device.
  16. 根据权利要求15所述的方法,其特征在于,所述计算设备与所述PCIe设备通过带外接口通信;所述带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。The method according to claim 15, wherein the computing device communicates with the PCIe device through an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or Universal Asynchronous Transceiver UART interface.
  17. 根据权利要求15所述的方法,其特征在于,所述计算设备与所述PCIe设备通过带内接口通信;所述带内接口为快速外设组件互联PCIe接口或以太网接口。The method according to claim 15, wherein the computing device communicates with the PCIe device through an in-band interface; the in-band interface is a PCIe interface for fast peripheral component interconnection or an Ethernet interface.
  18. 根据权利要求16所述的方法,其特征在于,所述带外接口为所述NC-SI接口时,The method according to claim 16, wherein when the out-of-band interface is the NC-SI interface,
    所述命令请求中的自定义命令字段中携带了获取能力属性信息指令;The custom command field in the command request carries an instruction to acquire capability attribute information;
    所述应答信息中的自定义应答字段中携带了所述能力属性信息。The capability attribute information is carried in the self-defined response field in the response information.
  19. 根据权利要求17所述的方法,其特征在于,所述带内接口为所述PCIe接口时,The method according to claim 17, wherein when the in-band interface is the PCIe interface,
    所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;The platform-level data model PLDM protocol data field in the command request carries an instruction to acquire capability attribute information;
    所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。The PLDM protocol data field in the response information carries the capability attribute information.
  20. 根据权利要求15-19任一项所述的方法,其特征在于,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。The method according to any one of claims 15-19, wherein the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, and delay level and one or more of power consumption levels.
  21. 一种管理快速外设组件互联PCIe设备的方法,其特征在于,包括:A method for managing fast peripheral components to interconnect PCIe devices, characterized in that, comprising:
    所述PCIe设备接收命令请求;所述命令请求指示获取所述PCIe设备的能力属性信息;所述能力属性信息存储于所述PCIe设备的固件中;The PCIe device receives a command request; the command request indicates to obtain the capability attribute information of the PCIe device; the capability attribute information is stored in the firmware of the PCIe device;
    基于所述命令请求发送应答信息;所述应答信息中包括所述PCIe设备的能力属性信息。Sending response information based on the command request; the response information includes capability attribute information of the PCIe device.
  22. 根据权利要求21所述的方法,其特征在于,所述PCIe设备与计算设备通过带外接口通信;所述带外接口为系统管理总线SMBus接口或网络控制器边带接口NC-SI或通用异步收发器UART接口。The method according to claim 21, wherein the PCIe device communicates with the computing device through an out-of-band interface; the out-of-band interface is a system management bus SMBus interface or a network controller sideband interface NC-SI or a general asynchronous Transceiver UART interface.
  23. 根据权利要求21所述的方法,其特征在于,所述PCIe设备与计算设备通过带内接口通信;所述带内接口为快速外设组件互联PCIe接口或以太网接口。The method according to claim 21, wherein the PCIe device communicates with the computing device through an in-band interface; the in-band interface is a PCIe interface for fast peripheral component interconnection or an Ethernet interface.
  24. 根据权利要求22所述的方法,其特征在于,所述带外接口为所述NC-SI接口时,The method according to claim 22, wherein when the out-of-band interface is the NC-SI interface,
    所述PCIe设备接收命令请求,包括:The PCIe device receives a command request, including:
    所述PCIe设备通过所述NC-SI接口接收所述计算设备发送的所述命令请求;所述命令请求中的自定义命令字段中携带了获取能力属性信息指令;The PCIe device receives the command request sent by the computing device through the NC-SI interface; the custom command field in the command request carries an instruction to acquire capability attribute information;
    所述基于所述命令请求发送应答信息,包括:The sending response information based on the command request includes:
    基于所述命令请求,通过所述NC-SI接口向所述计算设备发送所述应答信息;所述应答信息中的自定义应答字段中携带了所述能力属性信息。Based on the command request, the response information is sent to the computing device through the NC-SI interface; the capability attribute information is carried in the self-defined response field in the response information.
  25. 根据权利要求23所述的方法,其特征在于,所述带内接口为所述PCIe接口时,The method according to claim 23, wherein when the in-band interface is the PCIe interface,
    所述PCIe设备接收命令请求,包括:The PCIe device receives a command request, including:
    所述PCIe设备通过所述PCIe接口接收由所述计算设备发送的所述命令请求,所述命令请求中的平台级数据模型PLDM协议数据字段中携带了获取能力属性信息指令;The PCIe device receives the command request sent by the computing device through the PCIe interface, and the platform-level data model PLDM protocol data field in the command request carries an acquisition capability attribute information instruction;
    所述基于所述命令请求发送应答信息,包括:The sending response information based on the command request includes:
    基于所述命令请求,通过所述PCIe接口向所述计算设备发送所述应答信息;所述应答信息中的PLDM协议数据字段中携带了所述能力属性信息。Based on the command request, the response information is sent to the computing device through the PCIe interface; the PLDM protocol data field in the response information carries the capability attribute information.
  26. 根据权利要求21-25任一项所述的方法,其特征在于,所述能力属性信息包括端口速率、缓存容量、温度阈值、网络控制器边带接口特性、尺寸信息、热阻、时延等级和功耗等级中的一种或多种。The method according to any one of claims 21-25, wherein the capability attribute information includes port speed, buffer capacity, temperature threshold, network controller sideband interface characteristics, size information, thermal resistance, and delay level and one or more of power consumption levels.
  27. 一种计算设备,其特征在于,包括存储器、处理器和通信接口,所述通信接口用于接收或发送指令,所述存储器用于存储指令,所述处理器用于运行所述存储器中存储的指令执行权利要求15-20任一项所述的方法。A computing device, characterized in that it includes a memory, a processor, and a communication interface, the communication interface is used to receive or send instructions, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory Carrying out the method described in any one of claims 15-20.
  28. 一种计算机可读存储介质,其特征在于,包括程序指令,当所述程序指令被计算设备执行时,使得所述计算设备执行如权利要求15-20任一项所述的方法。A computer-readable storage medium, characterized by comprising program instructions, and when the program instructions are executed by a computing device, the computing device executes the method according to any one of claims 15-20.
  29. 一种计算机可读存储介质,其特征在于,包括程序指令,当所述程序指令被PCIe设备执行时,使得所述PCIe设备执行如权利要求21-26任一项所述的方法。A computer-readable storage medium, characterized by comprising program instructions, and when the program instructions are executed by a PCIe device, the PCIe device is made to execute the method according to any one of claims 21-26.
PCT/CN2022/095027 2021-08-27 2022-05-25 Method for managing peripheral component interconnect express (pcie) device, and related apparatus WO2023024619A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111000311.4 2021-08-27
CN202111000311.4A CN115905074A (en) 2021-08-27 2021-08-27 Method and related device for managing peripheral component interconnect express (PCIe) equipment

Publications (1)

Publication Number Publication Date
WO2023024619A1 true WO2023024619A1 (en) 2023-03-02

Family

ID=85322404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/095027 WO2023024619A1 (en) 2021-08-27 2022-05-25 Method for managing peripheral component interconnect express (pcie) device, and related apparatus

Country Status (2)

Country Link
CN (1) CN115905074A (en)
WO (1) WO2023024619A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310550A1 (en) * 2011-12-30 2014-10-16 Intel Corporation Pcie device power state control
US20190235612A1 (en) * 2018-12-12 2019-08-01 Ang Li Securely providing multiple wake-up time options for pci express
US10678732B1 (en) * 2019-02-27 2020-06-09 Liqid Inc. Expanded host domains in PCIe fabrics
CN112395232A (en) * 2019-08-15 2021-02-23 英特尔公司 Method, system and device for optimizing device power and efficiency

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310550A1 (en) * 2011-12-30 2014-10-16 Intel Corporation Pcie device power state control
US20190235612A1 (en) * 2018-12-12 2019-08-01 Ang Li Securely providing multiple wake-up time options for pci express
US10678732B1 (en) * 2019-02-27 2020-06-09 Liqid Inc. Expanded host domains in PCIe fabrics
CN112395232A (en) * 2019-08-15 2021-02-23 英特尔公司 Method, system and device for optimizing device power and efficiency

Also Published As

Publication number Publication date
CN115905074A (en) 2023-04-04

Similar Documents

Publication Publication Date Title
US10986171B2 (en) Method for unified communication of server, baseboard management controller, and server
JP5551193B2 (en) Enhanced wireless USB protocol and hub
US10515043B2 (en) Smart interface card control method and apparatus through a virtualized management interface
WO2015165298A1 (en) Computer, control device and data processing method
EP2339792B1 (en) Method for accessing USB device attached to home gateway, home gateway and terminal
JP2012023724A (en) Wireless internet access device, sd control chip, and method for data communication
US20100106881A1 (en) Hot plug ad hoc computer resource allocation
EP2570913A1 (en) Method and system for accessing storage device
KR20130107618A (en) Method and apparatus for data transfer of remote usb device between server and client
EP4080839A1 (en) Pcie-based data transmission method and apparatus
JP6665190B2 (en) Network sharing implementation method and apparatus
WO2021120933A1 (en) Resource adjusting method and apparatus
US9832279B2 (en) Station, target apparatus, initiator apparatus, communication system, and communication method
EP4084422A1 (en) Pcie-based data transmission method, apparatus, and system
CN113473645A (en) Data transmission method and device
US20110153695A1 (en) Method for making usb storage of file system and remote connection, and system thereof
WO2023024619A1 (en) Method for managing peripheral component interconnect express (pcie) device, and related apparatus
JP6124167B2 (en) Data terminal, data transmission system, and hot swap control method
TWI659632B (en) THE CONTROL SYSTEM AND THE METHOD FOR THE DATA FETCHING OF THE LAN IN THE IoT
US20170322892A1 (en) Information processing system, information processing method and information processing device
US20240004826A1 (en) Communication apparatus and data transmission method
EP4318250A1 (en) Management system, processing chip, apparatus, device, and method
WO2019019289A1 (en) Energy saving method and apparatus
US20160192417A1 (en) Systems and Methods of Wireless USB Service Discovery
JP2004274608A (en) Communication apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22859967

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22859967

Country of ref document: EP

Kind code of ref document: A1