CN115632900A - Computing device - Google Patents

Computing device Download PDF

Info

Publication number
CN115632900A
CN115632900A CN202211056291.7A CN202211056291A CN115632900A CN 115632900 A CN115632900 A CN 115632900A CN 202211056291 A CN202211056291 A CN 202211056291A CN 115632900 A CN115632900 A CN 115632900A
Authority
CN
China
Prior art keywords
management unit
pcie
equipment
data
device management
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202211056291.7A
Other languages
Chinese (zh)
Other versions
CN115632900B (en
Inventor
李宇涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202211056291.7A priority Critical patent/CN115632900B/en
Publication of CN115632900A publication Critical patent/CN115632900A/en
Priority to PCT/CN2023/098417 priority patent/WO2024045742A1/en
Application granted granted Critical
Publication of CN115632900B publication Critical patent/CN115632900B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • 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
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • 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

Abstract

The embodiment of the application provides a computing device. The computing equipment comprises an equipment management unit and PCIE equipment; the equipment management unit comprises an I3C interface; the PCIE equipment comprises an I3C interface, and the equipment management unit is connected with the PCIE equipment through the I3C interface; the device management unit and the PCIE equipment transmit data of NC-SI sideband communication through an I3C interface; the NC-SI sideband communication data comprises data messages and/or control messages, wherein the data messages are used for the equipment management unit to communicate with an external network, and the control messages are used for the equipment management unit to manage the PCIE equipment. The computing equipment of the embodiment of the application adopts the I3C interface to realize the NC-SI sideband communication, simplifies the interface deployment of the computing equipment and reduces the cost of the computing equipment.

Description

Computing device
Technical Field
The present application relates to the field of servers, and more particularly, to a computing device.
Background
In existing computing devices and data centers, a Sideband communication function of a Sideband Interface (NC-SI) in a Network Controller is increasingly used to implement networking of a device management plane of the computing device. The device management unit communicates with an external network using the NC-SI interface of the network card. The NC-SI Interface is physically a Reduced Media Independent Interface (RMII) that is actually Based on the Media Independent Interface Transport (RBT) NC-SI protocol. In the definition of interface signals of Peripheral Component Interconnect Express (PCIE) standard cards, NC-SI interface signals are not included. When a PCIE device, such as a network card, is inserted into a server for use, even if a chip on the PCIE network card supports an NC-SI interface, the PCIE network card cannot be directly connected to and communicate with the device management unit of the server motherboard through the NC-SI interface. Therefore, the NC-SI function cannot be supported. Some computing device manufacturers develop PCIE network cards with NC-SI interface connectors themselves. An NC-SI connector is also provided on the computing device motherboard. Then, the equipment management unit of the server is communicated with the NC-SI sideband of the PCIE network card through the customized cable, and the deployment cost is increased.
Disclosure of Invention
The embodiment of the application provides a computing device, a device management unit, PCIE equipment and a data structure. The interface deployment cost of the device management unit and the PCIE equipment for carrying out NC-SI sideband communication can be effectively reduced.
In a first aspect, the present application provides a computing device. The computing device comprises a device management unit and a PCIE device; the equipment management unit comprises an I3C interface; the PCIE equipment comprises an I3C interface, and the equipment management unit is connected with the PCIE equipment through the I3C interface; the equipment management unit and the PCIE equipment transmit NC-SI sideband communication data through an I3C interface; the NC-SI sideband communication data comprises a data message and a control message; the data message is used for the communication between the equipment management unit and an external network; the control message is used for the device management unit to manage the PCIE device.
In one implementation, the device management unit managing the PCIE device includes the device management unit configuring the PCIE device, for example, configuring a channel to transmit a data packet.
In one implementation, the step of managing the PCIE device by the device management unit includes that the device management unit queries the PCIE device, for example, queries a state of the PCIE device.
In the technical scheme, an equipment management unit of the computing equipment and the PCIE equipment do not need to be provided with an NC-SI physical interface for transmitting NC-SI sideband communication data, and the equipment management unit and the PCIE equipment realize NC-SI sideband communication by using the I3C interface. The cost of the computing device to implement NC-SI sideband communication is reduced.
In one implementation manner, the device management unit and the PCIE device transmit NC-SI sideband communication data based on an I3C protocol through an I3C interface.
In the implementation mode, an I3C protocol is adopted between the equipment management unit and the PCIE network card to transmit NC-SI sideband communication data. Therefore, no matter whether the equipment management unit and the PCIE equipment have the NC-SI physical interface or not, the equipment management unit and the PCIE equipment can be used for transmitting the NC-SI sideband communication data, and the compatibility of the equipment management unit and the PCIE equipment in the computing equipment is improved.
In one implementation manner, the transmitting, by the device management unit and the PCIE device through an I3C interface, NC-SI sideband communication data based on an I3C protocol includes: the device management unit and the PCIE equipment transmit NC-SI sideband communication data based on a direct common command code command of an I3C protocol; the direct common command code is used for instructing the device management unit to communicate with the designated PCIE device.
Different direct common command codes may instruct different types of communication between the master device and a designated slave device. In this implementation, the transmission of NC-SI sideband communication data between the device management unit and the PCIE device is instructed using a predetermined direct common command code. The efficiency of sideband communication between equipment management unit and PCIE equipment is improved.
In one implementation, the direct common command code commands include direct write and direct read; the device management unit and the PCIE equipment transmit NC-SI sideband communication data based on a direct common command code command of an I3C protocol, and the method comprises the following steps: the device management unit and the PCIE device transmit the control message based on the directly written frame format and the directly read frame format.
In one implementation, the direct common command code command includes a direct write; the device management unit transmits NC-SI sideband communication data with the PCIE device based on a direct command code command of an I3C protocol, and the method comprises the following steps: the device management unit sends a data message to the PCIE device based on the directly written frame format; and the PCIE equipment receives the data message from the equipment management unit.
The master device on the I3C bus may actively read from and write to the slave device. In the above computing device, the device management unit is a master device of an I3C bus, the PCIE device is a slave device of the I3C bus, and the device management unit can transmit NC-SI sideband communication data to the PCIE by using direct writing in a direct common command code command; the NC-SI sideband communication data comprises an NC-SI control message used for managing PCIE equipment by the equipment management unit and an NC-SI data message sent to an external network by the equipment management unit.
In one implementation, the frame format for direct writing and the frame format for direct reading include: the device management unit sends a self-defined direct public command code to the PCIE device;
the user-defined direct public command code is used for indicating transmission of a control message or a data message; the self-defined direct public command code is determined based on a reserved extended command code of the direct public command code in the I3C protocol; the PCIE equipment receives a self-defined direct public command code from the equipment management unit. Wherein, the value range of the reserved extended command code is 0xE0-0xFE.
When the control message is transmitted, in the directly written frame format, the self-defined direct public command code is used for indicating the slave device management unit to transmit the control message to the PCIE device; in the frame format of direct reading, a custom direct common command code is used to instruct the transmission of a control packet from the PCIE device to the device management unit.
When the data message is transmitted, in the frame format of direct writing, the customized direct common command code is used for instructing the slave device management unit to transmit the data message to the PCIE device.
In one implementation, the customized direct common command code used to indicate transmission of the control message is different from the customized direct common command code used to indicate transmission of the data message.
The reserved extended command codes of the I3C direct public command codes in the specification define NC-SI sideband communication, application scenes of the I3C specification in computing equipment are widened, different custom command codes can be selected to indicate specific types of NC-SI sideband communication, and the flexibility of the specification use is improved.
In one implementation manner, the transmitting, by the device management unit and the PCIE device through the I3C interface, NC-SI sideband communication data includes: PCIE equipment sends a data message to an equipment management unit through an I3C interface based on an I3C protocol in-band interrupt mechanism; the device management unit receives the data message.
A slave device on the I3C bus may actively request data transfer to the master device using an interrupt mechanism in the I3C protocol. In the computing device, the device management unit communicates with the PCIE device through an I3C interface based on an I3C protocol, the device management unit is a master device of an I3C bus, and the PCIE device is a slave device of the I3C bus, and by using the above-mentioned interrupt mechanism, the PCIE device can actively transmit a data packet to the device management unit in time after receiving a data packet of an external network, thereby improving communication efficiency.
In one implementation, before a PCIE device sends a data packet to an equipment management unit through an I3C interface based on an I3C protocol in-band interrupt mechanism, the PCIE device sends a self-defined mandatory data byte value to the equipment management unit; the self-defined mandatory data byte value is used for indicating the transmission of a data message from the PCIE equipment to the equipment management unit; the self-defined mandatory data byte value is determined based on a reserved expansion value of the mandatory data byte in an I3C protocol; the device management unit receives a custom mandatory data byte value from the PCIE device. Wherein, the value of the high three-bit MDB [7:5] of the mandatory data byte is 3' b000; the value range of the lower five-bit MDB [4:0] of the mandatory data byte is 5'h00-5' h1F.
In this implementation, defining NC-SI sideband communications using I3C mandatory data byte reservation extensions in the specification broadens the application scenarios of the I3C protocol specification in computing devices. And different user-defined command codes can be selected to indicate the specific type of the NC-SI sideband communication, so that the flexibility of standard use is improved.
In one implementation, the control messages include command messages and response messages; the device management unit and the PCIE device transmit the control packet based on the direct write frame format and the direct read frame format, and the method includes: the device management unit sends a command message to the PCIE device based on the data field written in the frame format directly; the command message is used for managing the PCIE equipment; PCIE equipment receives a command message from an equipment management unit; the PCIE equipment sends a response message to the equipment management unit based on the data field of the direct reading frame format; the device management unit receives a response message from the PCIE device; the response message is used for indicating the management result.
In one implementation manner, the device management unit sends a command message to the PCIE device based on a data field written in a frame format directly; the command message is used for configuring the PCIE equipment; the method comprises the steps that a device management unit receives a response message sent by PCIE equipment; the response message is used for indicating the configuration result.
In one implementation, the device management unit sends a command message to the PCIE device based on a data field written in a frame format directly; the command message is used for inquiring the PCIE equipment; the device management unit receives a response message sent by the PCIE device; the response message is used for indicating the query result.
In one implementation, the device management unit is a device manager.
In one implementation, the PCIE device is a PCIE network card.
In a second aspect, the present technical solution provides an equipment management unit, where the equipment management unit includes an I3C interface; the device management unit and the PCIE device transmit NC-SI sideband communication data through an I3C interface; the NC-SI sideband communication data comprises a data message and a control message, and the data message is used for the equipment management unit to communicate with an external network; the control message is used for the device management unit to manage the PCIE device.
In one implementation, the managing the PCIE device by the device management unit includes configuring, by the device management unit, the PCIE device, for example, configuring a channel to transmit a data packet.
In one implementation, the step of managing the PCIE device by the device management unit includes that the device management unit queries the PCIE device, for example, queries a state of the PCIE device.
In the technical scheme, the device management unit does not need to be provided with an NC-SI physical interface for transmitting NC-SI sideband communication data, and the NC-SI sideband communication with the PCIE device can be realized by utilizing an I3C interface. The cost of the device management unit for realizing the NC-SI sideband communication is reduced.
In one implementation manner, the transmitting, by the device management unit and the PCIE device through the I3C interface, data in NC-SI sideband communication includes: the device management unit and the PCIE device transmit NC-SI sideband communication data based on an I3C protocol through an I3C interface.
In the implementation manner, the NC-SI sideband communication data is transmitted between the device management unit and the PCIE device by adopting an I3C protocol. Therefore, no matter whether the equipment management unit is provided with an NC-SI interface or not, the equipment management unit can transmit NC-SI sideband communication data with PCIE equipment, and the compatibility of the equipment management unit is improved.
In one implementation manner, the transmitting, by the device management unit and the PCIE device through an I3C interface and based on an I3C protocol, NC-SI sideband communication data includes: the device management unit and the PCIE equipment transmit NC-SI sideband communication data based on a direct common command code command of an I3C protocol; the direct common command code command is used for instructing the device management unit to communicate with the designated PCIE device.
Different direct common command codes may instruct different types of communication between the master device and a designated slave device. In this implementation, the transmission of NC-SI sideband communication data between the device management unit and the PCIE device is instructed with a specified direct common command code. The efficiency of sideband communication between equipment management unit and PCIE equipment is improved.
In one implementation, the direct common command code commands include direct write and direct read; the method for transmitting the NC-SI sideband communication data by the device management unit and the PCIE device based on the direct common command code command of the I3C protocol comprises the following steps: the device management unit and the PCIE device transmit the control message based on the directly written frame format and the directly read frame format.
In one implementation, the direct common command code commands include direct write and direct read; the device management unit and the PCIE equipment transmit NC-SI sideband communication data based on a direct common command code command of an I3C protocol, and the method comprises the following steps: and the equipment management unit sends a data message to the PCIE equipment based on the directly written frame format.
In this implementation, a master device on the I3C bus may actively read from and write to a slave device. In the above computing device, the device management unit is a master device of an I3C bus, the PCIE device is a slave device of the I3C bus, and the device management unit can transmit NC-SI sideband communication data to the PCIE by using direct writing in a direct common command code command; the NC-SI sideband communication data comprises an NC-SI control message used for managing the PCIE equipment by the equipment management unit and an NC-SI data message sent to an external network by the equipment unit.
In one implementation, the frame format for direct writing and the frame format for direct reading include: the device management unit sends a self-defined direct public command code to the PCIE device; the user-defined direct public command code is used for indicating transmission of a control message or a data message; the customized direct common command code is determined based on a reserved extended command code of the direct common command code in the I3C protocol. The value range of the reserved extended command code is 0xE0-0xFE.
In one implementation, the customized direct common command code used to indicate transmission of the control message is different from the customized direct common command code used to indicate transmission of the data message.
The reserved extended command codes of the I3C direct common command codes in the specification are used for defining the NC-SI sideband communication, and the application scene of the I3C specification in the computing equipment is widened. And different user-defined command codes can be selected to indicate the specific type of NC-SI sideband communication, so that the flexibility of standard use is improved.
In one implementation manner, the transmitting, by the device management unit and the PCIE device through the I3C interface, NC-SI sideband communication data includes: the device management unit receives a data message sent by the PCIE device through an I3C interface based on an I3C protocol in-band interrupt mechanism.
A slave device on the I3C bus may actively request data transfer to the master device using an interrupt mechanism in the I3C protocol. In the computing device, the device management unit communicates with the PCIE device through an I3C interface based on an I3C protocol, the device management unit is a master device of an I3C bus, and the PCIE device is a slave device of the I3C bus, and by using the above-mentioned interrupt mechanism, the PCIE device can actively transmit a data packet to the device management unit in time after receiving a data packet of an external network. The communication efficiency of the device management unit and the external network is improved.
In one implementation manner, before an equipment management unit receives a data packet sent by a PCIE device through an I3C interface based on an I3C protocol inband interrupt mechanism, the method includes: the method comprises the steps that a device management unit receives a self-defined mandatory data byte value sent by a PCIE device; the self-defined mandatory data byte value is used for indicating the transmission of a data message; the custom mandatory data byte value is determined based on a reserved extension value of the mandatory data byte in the I3C protocol. Wherein, the high three-bit MDB [7:5] of the mandatory data byte takes the value of 3' b000; the value range of the lower five-bit MDB [4:0] of the forced data byte is 5'h00-5' h1F.
The reserved expansion value of the I3C mandatory data byte in the specification is used for defining NC-SI sideband communication, the application scene of the I3C specification in the computing equipment is widened, different custom command codes can be selected for indicating the specific type of the NC-SI sideband communication, and the flexibility of the specification use is improved.
In one implementation, the control messages include command messages and response messages; the device management unit and the PCIE device transmit the control packet based on the direct write frame format and the direct read frame format, and the method includes: the device management unit sends a command message to the PCIE device based on the data field which is directly written in the frame format; the command message is used for managing the PCIE equipment; the method comprises the steps that a device management unit receives a response message sent by PCIE equipment; the response message is used for indicating the management result.
In one implementation, the device management unit sends a command message to the PCIE device based on a data field written in a frame format directly; the command message is used for configuring the PCIE equipment; the device management unit receives a response message sent by the PCIE device; the response message is used for indicating the configuration result.
In one implementation, the device management unit sends a command message to the PCIE device based on a data field written in a frame format directly; the command message is used for inquiring the PCIE equipment; the method comprises the steps that a device management unit receives a response message sent by PCIE equipment; the response message is used for indicating the query result.
In one implementation, the device management unit is a device manager.
In a third aspect, the present technical solution provides a PCIE device, where the PCIE device includes an I3C interface; PCIE equipment and an equipment management unit transmit NC-SI sideband communication data through an I3C interface; the NC-SI sideband communication data comprises a data message and a control message, the data message is data of the equipment management unit communicating with an external network, and the control message is used for the equipment management unit to manage the PCIE equipment.
In one implementation, the step of the device management unit managing the PCIE device includes that the device management unit configures the PCIE device, for example, configures a channel for transmission of a data packet.
In one implementation, the step of managing the PCIE device by the device management unit includes that the device management unit queries the PCIE device, for example, queries a channel state of the PCIE device. In the technical scheme, the PCIE equipment does not need to be provided with an NC-SI physical interface for transmitting NC-SI sideband communication data, the PCIE equipment utilizes an I3C interface of the PCIE equipment to realize the NC-SI sideband communication with the equipment management unit, and the cost for realizing the NC-SI sideband communication by the PCIE equipment is reduced.
In one implementation, the method for transmitting the NC-SI sideband communication data between the PCIE device and the device management unit through the I3C interface includes: and the PCIE equipment and the equipment management unit transmit NC-SI sideband communication data based on an I3C protocol through an I3C interface.
In one implementation, a PCIE device and a device management unit transmit NC-SI sideband communication data based on an I3C protocol, including: the PCIE equipment and the equipment management unit transmit NC-SI sideband communication data based on a direct common command code command of an I3C protocol; the direct common command code command is used for instructing the device management unit to communicate with the designated PCIE device.
Different direct common command codes may instruct different types of communication between the master device and a designated slave device. In the implementation mode, the appointed direct common command code is used for indicating that NC-SI sideband communication data are transmitted between the equipment management unit and the PCIE equipment, so that the sideband communication efficiency between the equipment management unit and the PCIE equipment is improved.
In one implementation, the direct common command code commands include direct write and direct read; the PCIE equipment and the equipment management unit transmit NC-SI sideband communication data based on a direct common command code command of an I3C protocol, and the method comprises the following steps: the PCIE equipment and the equipment management unit transmit the control message based on the directly written frame format and the directly read frame format.
In one implementation, the direct common command code command includes a direct write; PCIE equipment and equipment management unit pass through the I3C interface, direct public command code command transmission NC-SI sideband communication data based on the I3C agreement, including: the PCIE equipment receives the data message sent by the equipment management unit based on the directly written frame format.
The master device on the I3C bus may actively read from and write to the slave device. In the above computing device, the device management unit is a master device of an I3C bus, the PCIE device is a slave device of the I3C bus, and the device management unit can transmit NC-SI sideband communication data to the PCIE by using direct writing in a direct common command code command; the NC-SI sideband communication data comprises an NC-SI control message used for managing PCIE equipment by the equipment management unit and an NC-SI data message sent to an external network by the equipment management unit.
In one implementation, the frame format for direct writing and the frame format for direct reading include: the PCIE equipment receives a self-defined direct public command code sent by the equipment management unit; the user-defined direct public command code is used for indicating the transmission of a control message or a data message; the customized direct common command code is determined based on a reserved extended command code of the direct common command code in the I3C protocol. Wherein, the value range of the reserved extended command code is 0xE0-0xFE.
In one implementation, the customized direct common command code used to indicate transmission of the control message is different from the customized direct common command code used to indicate transmission of the data message.
The reserved expansion command codes of the I3C direct public command codes in the specification are used for defining NC-SI sideband communication, application scenes of the I3C specification in computing equipment are widened, different custom command codes can be selected to indicate specific types of NC-SI sideband communication, and the flexibility of the specification use is improved.
In one implementation, the method for transmitting the NC-SI sideband communication data between the PCIE device and the device management unit through the I3C interface includes: and the PCIE equipment transmits a data message to the equipment management unit through an I3C interface based on an I3C protocol in-band interrupt mechanism.
A slave device on the I3C bus may actively request data transfer to the master device using an interrupt mechanism in the I3C protocol. In the computing device, the device management unit and the PCIE device communicate based on an I3C protocol through an I3C interface, the device management unit is a master device of an I3C bus, the PCIE device is a slave device of the I3C bus, and by using the above-mentioned interrupt mechanism, the PCIE device can actively transmit a data packet to the device management unit in time after receiving a data packet of an external network. The communication efficiency of the device management unit and the external network is improved.
In one implementation manner, before sending a data packet to a device management unit through an I3C interface and based on an I3C protocol in-band interrupt mechanism, a PCIE device includes: PCIE equipment sends a self-defined mandatory data byte value to an equipment management unit; the self-defined mandatory data byte value is used for indicating the transmission of a data message; the custom mandatory data byte value is determined based on a reserved extension value of the mandatory data byte in the I3C protocol. Wherein the high three-bit MDB [7:5] of the mandatory data byte takes a value of 3' b000; the value range of the lower five-bit MDB [4:0] of the mandatory data byte is 5'h00-5' h1F.
The reserved expansion value of the I3C mandatory data byte in the specification is used for defining NC-SI sideband communication, the application scene of the I3C specification in the computing equipment is widened, different custom command codes can be selected to indicate the specific type of the NC-SI sideband communication, and the flexibility of the specification use is improved.
In one implementation, the control message includes a command message and a response message; the PCIE equipment and the equipment management unit transmit the control message based on the direct writing frame format and the direct reading frame format, and the method comprises the following steps: the PCIE equipment receives a command message sent by the equipment management unit based on a data field which is directly written in a frame format; the command message is used for managing PCIE equipment; the PCIE equipment sends a response message to the equipment management unit based on the data field of the direct reading frame format; the response message is used for indicating the management result.
In one implementation, the device management unit sends a command message to the PCIE device based on a data field written in a frame format directly; the command message is used for configuring the PCIE equipment; the device management unit receives a response message sent by the PCIE device; the response message is used for indicating the configuration result.
In one implementation, the device management unit sends a command message to the PCIE device based on a data field written in a frame format directly; the command message is used for inquiring the PCIE equipment; the device management unit receives a response message sent by the PCIE device; the response message is used for indicating the query result.
In one implementation, the PCIE device is a PCIE network card.
In a fourth aspect, the technical scheme of the application provides a Data structure, which comprises a Start field, an I3C Reserved Address field, a first Read/Write field, a first acknowledgement field, an I3C direct Common Command Code field, a part Bit field, a Read Start field, an I3C Target Address, a second Read/Write field, a second acknowledgement field, a Data field, a Transition Bit field and a Stop field; wherein, the value of the I3C direct Common Command Code is any one Command Code of 0xE0-0 xFE; the command code is used for indicating the equipment management unit and the PCIE equipment to transmit NC-SI sideband communication data through an I3C interface; the NC-SI sideband communication data comprises a control message and/or a data message; the data message is used for the device management unit to communicate with an external network, and the control message is used for the device management unit to manage the PCIE device.
In one implementation, the I3C Reserved Address field carries the I3C broadcast Address of 7' h7E; the first Read/Write field is set to 0, at which time the first Read/Write field may be understood as a Write field, indicating that a Write operation is to be performed.
In one implementation, the I3C Directed Common Code is used to instruct the device management unit and the PCIE device to transmit the control packet.
For example, the reserved extended Command Code value xF0 of the I3C Directed Common Code is selected to instruct the device management unit to transmit the control message to the PCIE device or the PCIE device to transmit the control message to the device management unit. When the indication device management unit transmits the control message to the PCIE device, the second Read/Write value is 0, and the transition Bit field is a Parity Bit field, which is used to verify the written control message.
When the PCIE equipment is instructed to transmit the control message to the equipment management unit, and the Read/Write value is 1, the Transition Bit field is End-of-Data and is used for indicating whether the transmission of the control message is finished or not; for example, when the Transition Bit is 1, it indicates that the control packet has not been transmitted, and when the Transition Bit is 0, it indicates that the control packet has been transmitted.
In one implementation, the I3C Directed Common Code is used to instruct the slave device management unit to transmit a data packet to the PCIE device; rnW takes 0, the transition Bit field is the Parity Bit field, and is used to check the written data message.
For example, the reserved extended Command Code value 0xF1 of the I3C Directed Common Command Code is selected to instruct the device management unit to transmit a data packet to the PCIE device. When the indication device management unit transmits a data message to the PCIE device, the second Read/Write value is 0, the transition Bit field is a Parity Bit field, and the second Read/Write value is used for verifying the written data message.
In one implementation, the Data field is used to transmit the NC-SI sideband communication Data described above. .
In a fourth aspect, the technical scheme of the application provides a Data structure, which comprises a Start field, an I3C Target Address field, a Read/Write field, an Acknowledgeable field, a Data Byte field, a Parity Bit field, a Data field and a Stop field; wherein the value of a high three-bit MDB [7:5] of the Mandatory Data Byte (MDB) is 3' b000; the value range of the lower five-bit MDB [4:0] of Mandarin Data Byte is 5'h00-5' h1F; composing a value from any one of the lower five bits of the directory Data Byte together with the upper three bits; the MDB value is used to instruct the PCIE device to send a data packet to the device management unit.
For example, the value of the high three-position MDB [7:5] of the MDB is 3' b000; the value of a lower five-position MDB [4:0] of the MDB is 5' h01; the MDB value is 0x01, and the MBD value is used to instruct the PCIE device to send a data packet to the device management unit.
In one implementation, the Data field is used to send Data messages.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings used in the description of the embodiments will be briefly introduced below, and it is apparent that the drawings in the following description are only some embodiments of the present application.
Fig. 1A is a schematic diagram of a computing device that deploys PCIE devices according to an embodiment of the present application;
fig. 1B is a schematic structural diagram of a PCIE network card provided in the embodiment of the present application;
FIG. 2A is a diagram illustrating an I3C direct write frame format according to an embodiment of the present disclosure;
fig. 2B is a schematic diagram of an I3C direct read frame format according to an embodiment of the present application;
fig. 3 is a schematic flowchart of a method for sending an NC-SI command packet to a PCIE network card by an equipment management unit based on I3C direct write in according to an embodiment of the present application;
fig. 4 is a schematic diagram of a format of an NC-SI command message provided in an embodiment of the present application;
fig. 5 is a schematic diagram of an Enable Channel command message format provided in the embodiment of the present application;
fig. 6 is a schematic flowchart of a method for sending an NC-SI response message to a device management unit based on I3C direct reading by a PCIE network card according to an embodiment of the present application;
fig. 7 is a schematic diagram of an NC-SI response message format provided in the embodiment of the present application;
fig. 8 is a schematic diagram of an Enable Channel response message format provided in the embodiment of the present application;
fig. 9 is a schematic flowchart of a method for sending an NC-SI data packet to a PCIE network card by directly writing in through I3C by the device management unit according to the embodiment of the present application;
fig. 10 is a schematic diagram of an NC-SI data packet format provided in an embodiment of the present application;
FIG. 11 is a diagram illustrating a directory Data Byte Data format according to an embodiment of the present application;
fig. 12 is a schematic diagram of an I3C interrupt communication frame format according to an embodiment of the present application;
fig. 13 is a schematic flowchart of a method for a PCIE network card to send an NC-SI data packet to an equipment management unit through an I3C interrupt mechanism according to the embodiment of the present application;
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly described below with reference to the drawings in the embodiments of the present application.
In the embodiments of the present application, the terms "first", "second", and the like do not have any logical or temporal dependency, and do not limit the number and execution order. It will be further understood that, although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another.
The term "at least one" in the embodiments of the present application means one or more, and the term "a plurality" in the embodiments of the present application means two or more.
It is also understood that the term "if" can be interpreted as "when … …" ("while" or "upon") or "in response to a determination" or "in response to a detection". Similarly, the phrase "if it is determined." or "if [ the stated condition or event ] is detected" may be interpreted as "upon determining.. Or" in response to determining. "or" upon detecting [ the stated condition or event ] or "in response to detecting [ the stated condition or event ]" depending on the context.
To facilitate understanding of the present application, terms referred to in the present application will be first introduced.
Network Controller side band Interface (NC-SI) is an industry standard for a side band Interface Network Controller defined by the Distributed Management Task Force (DMTF) to support out-of-band Management of servers.
A device management unit: component management, asset management functions, such as power on and power off control, fan speed regulation, electronic tag management, etc., are performed within the computer system. Different server vendors refer to device Management units, which may be, for example, baseboard Management Controllers (BMCs), integrated Remote Management iLO (Integrated Lights-Out, iLO), and/or Integrated Dell Remote Access controllers (isdac).
I2C: the system comprises an I2C bus, a two-wire synchronous Serial bus and a master-slave communication mechanism, wherein a Clock line (SCL) and a Data line (SDA) are used for communication, a plurality of master devices and slave devices are connected in a common bus mode, and nodes are distinguished through physical addresses.
I3C: the I3C bus is an improved I2C bus, uses a clock line (SCL) and a data line (SDA) for communication, and is downward compatible with I2C. Compared with the I2C, the data rate of the I3C is greatly improved, dynamic address allocation is supported, a plurality of nodes with the same physical address are supported to share a bus, and an interrupt mechanism is supported to support the slave node to actively send data to the master node.
Referring to fig. 1A, an embodiment of the present application provides a schematic diagram of a computing device that deploys PCIE devices.
The computing device is an electronic device having a PCIE interface. The computing device may be a server, a desktop computer, a User Equipment (UE), a mobile phone (mobile phone), a tablet computer (pad), or the like; or may be a data relay device, such as a router, a repeater, a bridge, or a switch. The PCIE device may be a network card having a PCIE interface. For convenience of description, the PCIE network card is described below as an example.
Fig. 1B is a schematic structural diagram of a PCIE network card provided in this embodiment. With reference to fig. 1A and 1B, the computing device 100 includes a motherboard 110 on which a device management unit 120, a processor 130, and a PCIE interface connector 140 are disposed. The PCIE interface connector 140 may be a PCIE slot. The device Management unit 120 may be a Baseboard Management Controller (BMC), an Integrated Remote Management iLO (Integrated Lights-Out, iLO), or an Integrated Dell Remote Management Controller (icdrac).
The PCIE network card 200 includes a body 210, and the body 210 may be a circuit board. The body 210 is provided with a chip 220 and a PCIE interface connector 230; the PCIE interface connector 230 is located at the edge of the body 210; PCIE interface connector 230 includes a plurality of gold fingers 231; the gold finger 231 of the PCIE 230 connector is electrically connected to the chip 220. The PCIE interface connector 140 of the motherboard 110 is plugged with the PCIE interface connector 230 of the PCIE network card 200. Specifically, the gold finger on the body 210 of the PCIE network card is inserted into the PCIE slot on the motherboard 110, so that the PCIE network card 200 is electrically connected to the motherboard 110 to implement signal transmission.
In one implementation, the signal definition of the PCIE interface connector 230 includes an interface definition of I2C (Inter-Integrated Circuit); and I3C (Improved Interintegrated Circuit) is physically signal compatible with I2C, both of which communicate using both SCL and SDA physical signal lines.
In the interconnect structure of the computing device 100 and the PCIE network card 200 shown in fig. 1A, the device management unit 120 and the PCIE network card 200 may use an I2C channel to operate I3C protocol communication, so as to form an I3C interface. Therefore, the PCIE interface connector 230 of the PCIE network card 200 can be compatible with the I3C interface. The computing device 100 is connected to the PCIE network card 200 through a PCIE interface. The PCIE interface may be a service interface, for example, a PCIE network card is used as a service system of the computing device 100, for example, a CPU system and an OS system, to transmit service data. The device management unit 120 in the computing device 100 interfaces with the I3C. The I3C interface is an out-of-band interface, and is used for the PCIE network card 200 to transmit management data to the device management unit 120, for example, the BMC.
As described above, the PCIE network card 200 provides an I3C interface, and supports connection and communication with the device management unit 120 through the I3C interface. The device management unit 120 is connected to the PCIE network card 200 through an I3C interface. The device management unit 120 supports NC-SI sideband communication. The PCIE network card 200 and the device management unit 120 support transmission of NC-SI information through an I3C interface, thereby implementing NC-SI sideband communication. In the I3C communication, the device management unit 120 is a master device on an I3C bus, and the PCIE network card 200 is a slave device on the I3C bus.
Based on the interface structure of the PCIE network card, this embodiment provides a method for performing NC-SI sideband communication between the device management unit and the PCIE network card. The NC-SI sideband communication data comprises an NC-SI control message and an NC-SI data message. The NC-SI control message comprises an NC-SI command message and an NC-SI response message; the NC-SI command message is used for the equipment management unit to manage the PCIE network card, and the management of the PCIE network card comprises inquiring and configuring the configuration, including enabling, initializing and the like; the response message is used for the PCIE network card to feed back an indication management result to the equipment management unit; such as whether the configuration was successful. The data packet is used for the device management unit 120 to transmit management data with an external network.
In one implementation, the I3C specification is extended, and NC-SI sideband communications are defined using reserved extension words in the I3C specification. The method specifically comprises the following steps: the I3C direct CCC field represents an I3C direct public command code, and different command codes are used for indicating different communication commands according to the specification definition; the direct common command code may instruct the master device and the designated slave device to conduct different types of communications therebetween. For I3C Directed CCC, I3C specifications define some reserved extension command codes, and the value range is 0xE0-0xFE, which is used as extension of manufacturers. In this embodiment, with this specification extension, the transmission of control data for NC-SI sideband communication is defined using I3C direct common command code reservation extension command codes. The I3C direct common command code commands include I3C direct read and I3C direct write.
The communication between the device management unit and the NC-SI control packet of the PCIE network card includes that the device management unit 120 uses I3C to directly write and send an NC-SI command packet to the PCIE network card 200, and the PCIE network card 200 uses I3C to directly read and send a response packet of the NC-SI command to the device management unit 120.
Specifically, the frame format of I3C direct write used by the NC-SI command message sent by the device management unit 120 to the PCIE network card 200 is shown in fig. 2A; the frame format for I3C direct reading of the response message of the NC-SI command sent by the PCIE network card device 200 to the management module 120 is shown in fig. 2B. It is understood that the frame format may be a set of command timings for the device management unit 120 to communicate with the PCIE network card 200. The frame format of the I3C direct write command and the frame format of the I3C direct read command are illustrated in table 1.
TABLE 1 frame Format description of I3C DIRECT WRITE/DIRECT READ CODE COMMAND
Figure BDA0003825435920000111
Figure BDA0003825435920000121
Based on the frame format for I3C direct write shown in fig. 2A, this embodiment provides a method for a device management unit to send an NC-SI command packet to a PCIE network card, where the flow of the method is shown in fig. 3.
S101: the device management unit 120 sends a start signal S to the PCIE network card 200. In the I3C bus idle state, the device management unit 120 initiates START, indicating that communication with the PCIE network card 200 can be started.
S102: the device management unit 120 sends an I3C broadcast address and a write signal W to the PCIE network card 200.
In an implementable manner, device management unit 120 transmits the broadcast address (7 'h 7E) as the I3C reserved address and Read/Write to 0 (1' b 0) before transmitting the I3C direct common command code command. And waiting for the response acknowledgement signal ACK of the PCIE network card 200.
S103: the PCIE network card 200 responds to the device management unit 120 with an acknowledgement signal ACK. The PCIE network card 200 may respond to the device management unit 120 with an acknowledgement signal ACK when acknowledging the receipt of the broadcast message.
S104: the device management unit 120 sends a direct common command code indicating transmission of the NC-SI control packet and a check bit of the direct common command code to the PCIE network card 200.
In one implementation, a command code is selected from the reserved extended command codes 0xE0-0xFE of the direct common command codes as a command code indicating transmission of the control message. For example, 0xF0 is selected as the command code indicating the transmission of the control message. Specifically, when the device management unit 120 manages the PCIE network card 200 device, the direct common command code indicates that a message to be sent is an NC-SI command message for the device management unit 120 to manage the PCIE network card 200. The check word for the command is sent at the same time as the direct command code is sent.
It should be noted that, when the device management unit 120 manages the PCIE 200 device, the device management unit 120 may configure the PCIE 200 device or query information from the PCIE 200 device.
It is understood that, a person skilled in the art may arbitrarily select a command code from the reserved extended command codes 0xE0-0xFE of the I3C direct common command codes based on a setting requirement, and the selected command code is not specifically limited in the present application.
S105: the device management unit 120 sends a repeated start signal Sr to the PCIE network card 200. The device management unit 120 initiates a replayed START to continue communication with the PCIE network card 200.
S106: the device management unit 120 sends the address of the PCIE network card 200 and the write signal W to the PCIE network card 200.
The device management unit 120 sends an address (7 bit) of the PCIE network card 200 and Read/Write set 0 (1' b 0), indicating that an NC-SI command packet is to be sent to the PCIE network card 200. And waiting for the response acknowledgement signal ACK of the PCIE network card 200.
S107: the PCIE network card 200 responds to the device management unit 120 with an acknowledgement signal ACK. When confirming that the self address is received, the PCIE network card 200 may automatically reply a response confirmation signal ACK to the device management unit 120.
S108: the device management unit 120 sends an NC-SI command packet and check bits of the NC-SI command packet to the PCIE network card 200.
In an implementation manner, the device management unit 120 sends an NC-SI Command message Command Data (Data 1, data2, …, dataN) and corresponding check Data Parity (Para 1, para2, …, paraN) to the PCIE network card 200 in units of bytes, so as to implement management of the PCIE network card, where the management includes configuration or query.
In an implementation manner, the device management unit 120 configures the PCIE network card 200 through an NC-SI command message, where the format of the NC-SI command message is as shown in fig. 4. Each NC-SI command packet includes a packet header (NC-SI Control packet header), payload data (payload), and check data (checksum), where the payload data is variable according to different lengths of the command. The description of the command message format is shown in table 2.
TABLE 2 command message Format description of NC-SI
Figure BDA0003825435920000131
Figure BDA0003825435920000141
Figure BDA0003825435920000151
In an optional implementation manner, the NC-SI command used by the device management unit 120 to configure the PCIE network card 200 includes, but is not limited to, select Package, clear Initial State, or Enable Channel. In this embodiment, an NC-SI command Enable Channel is taken as an example to describe a specific format of the command, and a control message type of the NC-SI command Enable Channel is 0x03.
Optionally, setting the command sequence identifier IID of the Enable Channel to 0x01; the Channel identification Channel ID is set to 0x01.
If the Enable Channel has no Payload data, then the 12bit value for Payload Length is 0x000.
In one implementation, the sender of the NC-SI command may employ a sum-of-sums algorithm to generate the verification data. And under the condition that the reserved fields of the NC-SI control message are all set to be 0, the accumulated check value of the NC-SI command Enable Channel is 0xFFFFFFFA.
The command grid for the Enable Channel is shown in FIG. 5. The total length of the command is 20 bytes, including a 16 byte header and 4 bytes of check data. The device management unit 120 sends the command to the PCIE network card 200 20 times in units of bytes.
S109: the device management unit 120 sends an end signal P to the PCIE network card 200.
In an implementation manner, after the device management unit 120 finishes sending the NC-SI command message, the device management unit sends an end signal P to the PCIE network card 200 to end the sending operation of the NC-SI command message.
After receiving the NC-SI command message sent by the device management unit 120, the PCIE network card 200 parses the command message, and completes configuration of the NC-SI channel enable according to the command. Then, the PCIE network card 200 generates an NC-SI response message, and sends the response message to the device management unit 120, where the response message is used to indicate a configuration result, such as whether the configuration is successful.
In an implementation manner, after the PCIE network card 200 receives the NC-SI command message sent by the device management unit 120 and analyzes the command message, the command message is accumulated and checked first; as shown in fig. 5, the format of the Enable Channel command is that each data in the command is accumulated, and if the sum is 0, the data is verified, and the PCIE network card 200 may be configured by using the verified NC-SI command.
For other NC-SI commands, the transmission methods such as Select Package, clear Initial State refer to steps S101-S109 shown in FIG. 3. It can be understood that, for sending different NC-SI commands, the difference is that Data sent in I3C direct writing is different, and the rest of the method flows are the same, and are not described herein again.
Based on the frame format shown in fig. 2B that is directly read by I3C, the embodiment provides a method for a PCIE network card to send an NC-SI response packet to an equipment management unit, and a flow of the method is shown in fig. 6.
S201: the device management unit 120 sends a start signal S to the PCIE network card 200. In the I3C bus idle state, the device management unit 120 initiates START, indicating that communication with the PCIE network card 200 can be started.
S202: the device management unit 120 sends an I3C broadcast address and a write W signal to the PCIE network card 200.
In an implementable manner, device management unit 120 transmits an I3C broadcast address (7 'h 7E) as the reserved address and Read/Write location 0 (1' b 0) before transmitting the I3C direct common command code command. Waiting for ACK from PCIE network card 200.
S203: the PCIE network card 200 responds to the device management unit 120 with an acknowledgement signal ACK. The PCIE network card 200 may automatically reply an ACK signal to the device management unit 120 when confirming that the broadcast message is received.
S204: the device management unit 120 sends a direct common command code indicating a transmission control packet and a check bit of the direct common command code to the PCIE network card 200.
In one implementation, a command code is selected from the reserved extended command codes 0xE0-0xFE of the direct common command codes as a command code indicating transmission of the control message. For example, 0xF0 is selected as the command code for controlling the transmission of the message. Specifically, after the PCIE 200 device completes configuration based on the command of the device management unit, when responding to the configuration result, the direct common command code is used to indicate that the message to be sent is an NC-SI response message sent by the PCIE network card 200 to the device management unit 120. The check bits Par of the direct common command code are transmitted at the same time as the direct common command code.
S205: the device management unit 120 sends a repeated start signal Sr to the PCIE network card 200. The device management unit 120 initiates a replayed START to continue communication with the PCIE network card 200.
S206: the device management unit 120 sends the address of the PCIE network card 200 and the read signal R to the PCIE network card 200. The device management unit 120 sends the address (7 bit) of the PCIE network card 200 and the Read/Write position 1 (1' b 1), and instructs to send a response packet from the PCIE network card 200 to the device management unit 120. And waiting for the response acknowledgement signal ACK of the PCIE network card 200.
S207: the PCIE network card 200 responds to the device management unit 120 with an acknowledgement signal ACK. The PCIE network card 200 may automatically reply an ACK signal to the device management unit 120 when it confirms that the self address is received.
S208: the PCIE network card 200 sends an NC-SI response message and a transition bit to the device management unit 120.
In an implementation manner, the PCIE network card 200 sends an NC-SI response message response Data (Data 1, data2, …, dataN) to the device management unit 120 in units of bytes and a Transition bit Transition (T1, T2, …, TN) following each Data to implement a response to the management of the PCIE network card.
It should be noted that the conversion bit T is used to indicate whether the read data is sent out. For example, the value of the transmission conversion bit T1, T2, …, TN-1 is 1, which indicates that the data has not been transmitted; and TN takes a value of 0 to represent that the data has been sent.
In an implementation manner, the message data format of the PCIE network card 200 responding to the NC-SI command of the device management unit 120 is shown in fig. 7. The field descriptions of the message data format are shown in table 3.
In an implementation manner, a message data format that the PCIE network card 200 needs to respond to the NC-SI command of the device management unit 120 is shown in fig. 7. Each NC-SI response packet includes a packet header (NC-SI Control packet header), payload data (payload), and check data (checksum), where the payload data is variable according to different lengths of the commands. The field descriptions of the message data format are shown in table 3.
TABLE 3 response message Format field description of NC-SI
Figure BDA0003825435920000171
Figure BDA0003825435920000181
In an implementation, when the command of the NC-SI is Select Package, clear Initial State, or Enable Channel, the corresponding NC-SI Response is Select Package Response, clear Initial State Response, or Enable Channel Response. The present embodiment describes the response format of the NC-SI by taking the response of the Enable Channel command as an example.
For this Enable Channel response, the Control Packet's identification Control Packet Type becomes 0x83. Setting a command order identification IID of the command to 0x01; the Channel identification Channel ID is set to 0x01.
The response code and reason code of the Enable Channel response message are used as the 12bit value of Payload Length of 0x004.
In an implementation manner, when the PCIE network card is successfully configured based on the NC-SI command, the response code value is 0x0000, which indicates that the configuration is completed. The value of the reason code is 0x0000, which indicates that the configuration is not in error.
In one implementation, the sender of the NC-SI command may employ a sum-of-sums algorithm to generate the verification data. And under the condition that the reserved fields of the NC-SI control message are all set to be 0, the accumulated check value of the NC-SI command Enable Channel is 0xFFFFFF7A.
The NC-SI Response message of the Enable Channel Response is shown in FIG. 8. The total length of the Enable Channel response message is 24 bytes, and the Enable Channel response message comprises a 16-byte header, a 4-byte response code and a 4-byte reason code, and 4-byte check data. The PCIE network card 200 transmits the response to the device management unit 120 in 24 times in units of bytes.
S209: after determining that the data transmission is completed, the device management unit 120 sends an end signal P to the PCIE network card 200. And initiating STOP at the device management unit 120, and ending the sending operation of the NC-SI response packet.
After receiving the NC-SI response message sent by the PCIE network card 200, the device management unit 120 parses the response message, and obtains a configuration result, for example, whether the configuration is successful.
In an implementation manner, after the device management unit 120 receives an NC-SI response message sent by the PCIE network card 200 and parses the response message, the response message is accumulated and checked first; for example, the response format of the Enable Channel command is as shown in fig. 8, the data in the command are accumulated, and if the accumulated sum is 0, it indicates that the response packet passes the verification. The device management unit 120 may obtain the configuration result according to the response message, and determine whether to complete the configuration of the PCIE network card 200.
In an implementation manner, when the device management unit 120 detects that the transition bit T becomes a low level, the device management unit 120 sends an end signal to the PCIE network card 200, and ends the sending operation of the NC-SI response packet this time.
As can be understood, the communication of the NC-SI control packet includes transmission of an NC-SI command packet and transmission of an NC-SI response packet, and therefore, the sending of the NC-SI command packet by the device management unit 120 to the PCIE network card 200 and the sending of the NC-SI response packet by the PCIE network card 200 to the device management unit 120 belong to a complete NC-SI control packet communication process between the device management unit 120 and the PCIE network card.
In this embodiment, compared to the prior art, additional connectors and cables are customized between the device management unit and the PCIE network card, and the proprietary connector signal definition does not support third-party device compatibility. According to the scheme, the I3C standard is expanded, reserved expansion command codes in the I3C public command codes are used for defining the transmission of the control message of NC-SI communication, and the communication of the NC-SI control message between the PCIE network card and the equipment management unit is realized. The cost of PCIE network card and equipment management unit NC-SI sideband communication is reduced.
After the device management unit 120 completes the configuration of the PCIE network card 200, the device management unit may perform Data packet (NC-SI Data) communication with an external network through the PCIE network card.
In one implementation, the device management unit 120 sends the NC-SI data packet to the PCIE network card 200 through I3C direct write. Specifically, the I3C specification is expanded, and the device management unit 120 uses the reserved expansion command code definition of the I3C direct common command code to send an NC-SI sideband communication data packet to the PCIE network card 200.
It is understood that a person skilled in the art may arbitrarily select a command code from the reserved extended command codes 0xE0-0xFE based on a setting requirement, but a direct common command code instructing to transmit an NC-SI data message is different from a direct common command code instructing to transmit an NC-SI control message, and the selected command code is not specifically limited in the present application.
A frame format in which the device management unit 120 sends the data message in the NC-SI sideband communication to the PCIE network card 200 through I3C direct writing is shown in fig. 2A. And the meaning and value of each field are shown in table 1, which is not described herein again.
Based on the frame format of I3C direct write shown in fig. 2A, this embodiment provides a method for sending a data packet to a PCIE network card by an equipment management unit, and the flow of the method is shown in fig. 9.
S301: the device management unit 120 sends a start signal S to the PCIE network card 200. In the I3C bus idle state, the device management unit 120 initiates START, indicating that communication with the PCIE network card 200 can be started.
S302: the device management unit 120 sends an I3C broadcast address and a write signal W to the PCIE network card 200.
In an implementable manner, device management unit 120 transmits the broadcast address (7 'h 7E) as the I3C reserved address and Read/Write to 0 (1' b 0) before transmitting the I3C direct common command code command. And waiting for the response acknowledgement signal ACK of the PCIE network card 200.
S303: the PCIE network card 200 responds to the device management unit 120 with an acknowledgement signal ACK. The PCIE network card 200 may automatically respond to the device management unit 120 with an acknowledgement signal ACK when it confirms that the broadcast message is received.
S304: the device management unit 120 sends a direct common command code indicating transmission of the transmission data packet and a check bit of the direct common command code to the PCIE network card 200.
In one implementation, a command code is selected from the reserved extended command codes 0xE0-0xFE of the direct common command codes as the command code for transmitting the control message. The command code is different from the command code for transmitting the control message, for example, 0xF1 is selected as the command code for controlling the transmission of the message. Specifically, when the device management unit 120 sends a data packet to the PCIE 200 device for external transparent transmission, the direct common command code indicates that the packet to be sent is an NC-SI data packet sent by the device management unit to the PCIE network card 200. The data message is a data message transmitted to an external network subsequently and transparently by the PCIE network card. The check word Par of the direct common command code is transmitted at the same time as the direct common command code.
S305: the device management unit 120 sends a repeat start signal Sr to the PCIE network card 200. Device management unit 120 initiates a replayed START to continue communication with PCIE network card 200.
S306: the device management unit 120 sends the address of the PCIE network card 200 and the write signal W to the PCIE network card 200.
The device management unit 120 sends an address (7 bit) of the PCIE network card 200 and Read/Write set 1 (1' b 0), indicating that an NC-SI data packet is to be sent to the PCIE network card 200. And waiting for the response acknowledgement signal ACK of the PCIE network card 200.
S307: the PCIE network card 200 responds to the device management unit 120 with an acknowledgement signal. When confirming that the self address is received, the PCIE network card 200 may automatically reply a response confirmation signal ACK to the device management unit 120.
S308: the device management unit 120 sends a data packet and a check bit of the data packet to the PCIE network card 200.
In an implementation manner, the device management unit 120 sends Data messages NC-SI Data (Data 1, data2, …, dataN) and parity bits Par (Par 1, par2, …, parN) corresponding to each byte Data to the PCIE network card 200 in units of bytes.
In one implementation, the NC-SI side band communication data packet is an ethernet packet, and the data format is as shown in fig. 10. The format description of the ethermessage data is shown in table 4.
TABLE 4NC-SI sideband communication data message description
Figure BDA0003825435920000211
Figure BDA0003825435920000221
As can be understood, after the PCIE network card 200 receives the I3C data, the ethernet packet therein is acquired, the ethernet packet is analyzed to acquire the DMAC address, and the ethernet packet is transmitted to the external network device based on the DMAC address.
In this embodiment, compared to the prior art, additional connectors and cables are manufactured between the device management unit and the PCIE network card, and the proprietary connector signal definition does not support third-party device compatibility. According to the scheme, the I3C specification is expanded, the reserved expansion command codes of the I3C direct public command codes are used for defining the sending of the NC-SI data message from the equipment management unit to the PCIE network card, and the sideband communication of the NC-SI data message between the equipment management unit and the PCIE network card is realized. The cost of NC-SI sideband communication between the PCIE network card and the equipment management unit is reduced, and the compatibility of the PCIE network card is improved.
In an implementation manner, the PCIE network card 200 may send a data packet to the device management unit 120 by using an in-band interrupt mechanism of the I3C protocol, where the data packet is a data packet received by the PCIE network card 200 from an external network and forwarded to the device management unit 120. Specifically, the I3C specification is extended, and the PCIE network card 200 is defined to send the Data packet NC-SI Data to the device management unit 120 by using the Mandatory Data bytes (directory Data Byte, MDB) of the I3C protocol to reserve the extended interrupt group identifier (3 ' b000) and the reserved specific interrupt identifier value (5 ' h00-5' h1f), where the format of the Mandatory Data bytes (directory Data Byte, MDB) of the I3C protocol is as shown in fig. 11.
The device management unit 120 implements receiving of the NC-SI sideband communication data message command frame format from the PCIE network card through the I3C interrupt mechanism as shown in fig. 12. The description of each field in the frame format is shown in table 5. It is understood that the frame format may be a set of command timings for the device management unit 120 to communicate with the PCIE network card 200.
TABLE 5I3C INTERRUPTION FRAME FORMAT DEscription
Figure BDA0003825435920000222
Figure BDA0003825435920000231
Based on the frame format of the in-band interrupt communication shown in fig. 12, this embodiment provides a method for a PCIE network card to send a data packet to an equipment management unit, and the flow of the method is shown in fig. 13.
S401: the device management unit 120 sends a start signal S in response to the interrupt request of the PCIE network card 200.
The I3C protocol supports in-band interruption, and allows the slave device to initiate an interruption request and actively transmit data to the slave device in a bus idle state.
It can be understood that, when the device management unit 120 passes through the PCIE network card 200 based on the I3C protocol, the device management unit 120 serves as a master device on the I3C bus, and the PCIE network card 200 serves as a slave device on the I3C bus. After the PCIE network card 200 receives the message data of the external network, it actively sends an interrupt request to the host device to transmit the message data.
S402: the PCIE network card 200 sends the address of the PCIE network card 200 and the read signal R to the device management unit 120. The PCIE network card 200 sends its own address (7 bit) and Read operation (1' b 1). Waiting for an ACK signal from the device management unit 120.
S403: the device management unit 120 responds to the PCIE network card 200 with an acknowledgement signal ACK. When confirming that the device address of the PCIE network card 200 is received, the device management unit 120 may automatically reply an ACK signal to the PCIE network card 200.
S404: the PCIE network card 200 sends, to the device management unit 120, a mandatory data byte value indicating a transmission data packet and a check bit of the mandatory data byte value.
In one implementation, mandatory data byte values are used to define command codes for transmitting NC-SI data messages. In this embodiment, for example, the interrupt group flag is 3'b000 and the interrupt number is 5' h01, and the mandatory data byte is set to 0x01. Indicating that the current interrupt is the forwarding of the ethernet packet received from the external network by the PCIE network card 200.
It is understood that those skilled in the art can define that the PCIE network card 200 sends the Data message NC-SI Data to the device management unit 120 using other values of the interrupt group identifier (3 ' bt000) and the reserved specific interrupt identifier (5 ' h00-5' h1f) of the mandatory Data byte reservation extension in the I3C protocol based on the definition requirements. The value of the mandatory data byte reservation extension is not limited in this application.
S405: the PCIE network card 200 sends the external Data packet Data and the conversion bit T to the device management unit 120.
In one implementation, the NC-SI side band communication data packet is an ethernet packet, and the data format is as shown in fig. 10.
In an implementation manner, the PCIE network card 200 sends the Data message NC-SI Data (Data 1, data2, …, dataN) and the check bit T (T1, T2, …, TN) corresponding to each byte Data to the device management unit 120 in units of bytes.
S406: the device management unit 120 sends an end signal to the PCIE network card 200. The device management unit 120 initiates a STOP, and ends this operation of receiving the external ethernet packet data.
It should be appreciated that reference in the embodiments of the application to "one embodiment", "an implementation" means that a particular feature, structure, or characteristic described in connection with the embodiment or implementation is included in at least one embodiment of the application. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" or "an implementation" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The above description is only exemplary of the present application and should not be taken as limiting the present application, and any modifications, equivalents, improvements and the like that are made within the principles of the present application should be included in the scope of the present application.

Claims (12)

1. A computing device, comprising a device management unit and a PCIE device; the equipment management unit comprises an I3C interface; the PCIE equipment comprises an I3C interface, and the equipment management unit is connected with the PCIE equipment through the I3C interface;
the equipment management unit and the PCIE equipment transmit NC-SI sideband communication data through the I3C interface;
the NC-SI sideband communication data includes a data packet and/or a control packet, where the data packet is used for the device management unit to communicate with an external network, and the control packet is used for the device management unit to manage the PCIE device.
2. The computing device of claim 1, wherein the device management unit and the PCIE device transmit NC-SI sideband communication data through the I3C interface, including:
and the equipment management unit and the PCIE equipment transmit the NC-SI sideband communication data based on an I3C protocol through the I3C interface.
3. The computing device of claim 2, wherein the device management unit and the PCIE device transmit NC-SI sideband communication data based on an I3C protocol through the I3C interface, including: the equipment management unit and the PCIE equipment transmit the NC-SI sideband communication data based on a direct public command code command of an I3C protocol; the direct common command code is used for instructing the device management unit to communicate with the designated PCIE device.
4. The computing device of claim 3, wherein the direct common command code commands include direct write and direct read; the device management unit and the PCIE device transmit NC-SI sideband communication data based on a direct common command code command of an I3C protocol, including:
and the equipment management unit and the PCIE equipment transmit the control message based on the directly written frame format and the directly read frame format.
5. The computing device of claim 3 or 4, wherein the direct common command code command comprises a direct write; the device management unit transmits NC-SI sideband communication data with the PCIE device based on a direct command code command of an I3C protocol, and the method comprises the following steps: the device management unit sends the data message to the PCIE device based on the directly written frame format; and the PCIE equipment receives the data message from the equipment management unit.
6. The computing device of claim 4 or 5, wherein the direct-write frame format and the direct-read frame format comprise: the device management unit sends a self-defined direct public command code to the PCIE device;
the user-defined direct public command code is used for indicating the transmission of the control message or the data message; the custom direct common command code is determined based on a reserved extended command code of the direct common command code in an I3C protocol.
7. The computing device of claim 6, wherein the custom direct common command code used to indicate transmission of the control message is different from the custom direct common command code used to indicate transmission of the data message.
8. The computing device of any one of claims 1 to 7, wherein the device management unit and the PCIE device transmit NC-SI sideband communication data through the I3C interface, including:
the PCIE equipment sends the data message to the equipment management unit through the I3C interface based on an I3C protocol in-band interrupt mechanism;
and the equipment management unit receives the data message.
9. The computing device of claim 8, wherein before the PCIE device sends the data packet to the device management unit through the I3C interface based on an I3C protocol inband interrupt mechanism, the method includes:
the PCIE equipment sends a self-defined mandatory data byte value to the equipment management unit;
the self-defined mandatory data byte value is used for indicating the PCIE equipment to transmit the data message to the equipment management unit; the self-defined mandatory data byte value is determined based on a reserved expansion value of the mandatory data byte in the I3C protocol;
the device management unit receives the custom mandatory data byte value from the PCIE device.
10. The computing device of any of claims 4-9, wherein the control messages include command messages and response messages; the transmitting, by the device management unit and the PCIE device, the control packet based on the directly written frame format and the directly read frame format includes:
the device management unit sends the command message to the PCIE device based on the data field of the directly written frame format; the command message is used for managing the PCIE equipment;
the PCIE equipment receives the command message from the equipment management unit;
the PCIE equipment sends the response message to an equipment management unit based on the directly read data field of the frame format;
the equipment management unit receives the response message from the PCIE equipment; the response message is used for indicating a management result.
11. The computing device of any of claims 1-10, the device management unit being a device manager.
12. The computing device of any of claims 1-11, the PCIE device is a PCIE network card.
CN202211056291.7A 2022-08-31 2022-08-31 Computing equipment Active CN115632900B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211056291.7A CN115632900B (en) 2022-08-31 2022-08-31 Computing equipment
PCT/CN2023/098417 WO2024045742A1 (en) 2022-08-31 2023-06-05 Computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211056291.7A CN115632900B (en) 2022-08-31 2022-08-31 Computing equipment

Publications (2)

Publication Number Publication Date
CN115632900A true CN115632900A (en) 2023-01-20
CN115632900B CN115632900B (en) 2023-09-01

Family

ID=84902863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211056291.7A Active CN115632900B (en) 2022-08-31 2022-08-31 Computing equipment

Country Status (2)

Country Link
CN (1) CN115632900B (en)
WO (1) WO2024045742A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024045742A1 (en) * 2022-08-31 2024-03-07 超聚变数字技术有限公司 Computing device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100713A1 (en) * 2013-10-08 2015-04-09 Qualcomm Incorporated Coexistence of i2c slave devices and camera control interface extension devices on a shared control data bus
CN106415518A (en) * 2014-01-14 2017-02-15 高通股份有限公司 Camera control interface extension with in-band interrupt
US20170255588A1 (en) * 2016-03-07 2017-09-07 Qualcomm Incorporated Multiprotocol i3c common command codes
CN108255754A (en) * 2017-12-01 2018-07-06 广东高云半导体科技股份有限公司 A kind of I3C main equipments of compatible I2C, I3C master-slave equipments communication system and method
US20180309668A1 (en) * 2017-04-20 2018-10-25 Dell Products L.P. Systems and methods for addressing multiple physical and virtual functions in network controller-sideband interface
CN108847959A (en) * 2018-05-24 2018-11-20 联想(北京)有限公司 Server monitoring method and server
CN110720094A (en) * 2017-06-08 2020-01-21 索尼半导体解决方案公司 Communication device, communication method, program, and communication system
US20200133904A1 (en) * 2017-06-08 2020-04-30 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
CN114969713A (en) * 2022-05-25 2022-08-30 超聚变数字技术有限公司 Equipment verification method, equipment and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11340990B2 (en) * 2020-02-03 2022-05-24 Dell Products L.P. System and method to run basic input/output system code from a non-volatile memory express device boot partition
US20210397577A1 (en) * 2020-06-18 2021-12-23 Samsung Electronics Co., Ltd. Systems and methods for communications within a storage chassis
US11445028B2 (en) * 2020-12-30 2022-09-13 Dell Products L.P. System and method for providing secure console access with multiple smart NICs using NC-SL and SPDM
CN115632900B (en) * 2022-08-31 2023-09-01 超聚变数字技术有限公司 Computing equipment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100713A1 (en) * 2013-10-08 2015-04-09 Qualcomm Incorporated Coexistence of i2c slave devices and camera control interface extension devices on a shared control data bus
CN106415518A (en) * 2014-01-14 2017-02-15 高通股份有限公司 Camera control interface extension with in-band interrupt
US20170255588A1 (en) * 2016-03-07 2017-09-07 Qualcomm Incorporated Multiprotocol i3c common command codes
US20180309668A1 (en) * 2017-04-20 2018-10-25 Dell Products L.P. Systems and methods for addressing multiple physical and virtual functions in network controller-sideband interface
CN110720094A (en) * 2017-06-08 2020-01-21 索尼半导体解决方案公司 Communication device, communication method, program, and communication system
US20200133904A1 (en) * 2017-06-08 2020-04-30 Sony Semiconductor Solutions Corporation Communication device, communication method, program, and communication system
CN108255754A (en) * 2017-12-01 2018-07-06 广东高云半导体科技股份有限公司 A kind of I3C main equipments of compatible I2C, I3C master-slave equipments communication system and method
CN108847959A (en) * 2018-05-24 2018-11-20 联想(北京)有限公司 Server monitoring method and server
CN114969713A (en) * 2022-05-25 2022-08-30 超聚变数字技术有限公司 Equipment verification method, equipment and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小孟BOY: "I3C协议Single Data Rate(SDR)模式研读(六):通用命令代码(CCC)", Retrieved from the Internet <URL:https://blog.csdn.net/yinuoheqian123/article/details/108324396?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168437897116800217269525%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168437897116800217269525&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-108324396-null-null.142^v87^control_2,239^v2^insert_chatgpt&utm_term=i3c%20ccc&spm=1018.2226.3001.4187> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024045742A1 (en) * 2022-08-31 2024-03-07 超聚变数字技术有限公司 Computing device

Also Published As

Publication number Publication date
WO2024045742A1 (en) 2024-03-07
CN115632900B (en) 2023-09-01

Similar Documents

Publication Publication Date Title
US6603744B2 (en) Connection establishment method, communication method, state change transmission method, state changing method, wireless apparatus, wireless device, and computer
JP4536981B2 (en) Information signal processing apparatus and information signal processing method
CN102681957B (en) Enhanced wireless USB protocol and hub
CN106959935B (en) Method compatible with I2C communication and IPMB communication
JP2546950B2 (en) Node identification method in data processing input / output system
JPS6333945A (en) Local area data distribution system
JP2000069035A (en) Electronic device and information processing method
CN115632900B (en) Computing equipment
CN100571108C (en) Be used between computing node, carrying out data communications system and method
US20040057448A1 (en) Information processing system, information processing apparatus, and information processing method
CN111083447B (en) Network communication method, device and storage medium
US20050141555A1 (en) Method for generating commands for network controller modules of peripheral devices
US20010028656A1 (en) Information signal processing apparatus and method
CN114116574A (en) Data transmission method and device, electronic equipment and storage medium
US6996124B1 (en) Mechanism to strip LARQ header and regenerate FCS to support sleep mode wake up
CN100574288C (en) The data link layer device that is used for serial communication bus
JP3495878B2 (en) Data processing method, data processing device and printer
JP2004513418A (en) Standard device interface
US20020013805A1 (en) LogNet: a low cost, high reliability network for embedded systems
US7167940B2 (en) Data processing method, data processing apparatus, communications device, communications method, communications protocol and program
CN114265806B (en) Method, device, equipment and storage medium for realizing USB data signal sharing
JP3495879B2 (en) Data processing method, data processing device, and computer-readable recording medium
CN103004170B (en) Responding device and integrated circuit, response method and responding system
CN117539812A (en) Server and data transmission method
JP2003333045A (en) Power management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant