CN115632900B - Computing equipment - Google Patents

Computing equipment Download PDF

Info

Publication number
CN115632900B
CN115632900B CN202211056291.7A CN202211056291A CN115632900B CN 115632900 B CN115632900 B CN 115632900B CN 202211056291 A CN202211056291 A CN 202211056291A CN 115632900 B CN115632900 B CN 115632900B
Authority
CN
China
Prior art keywords
management unit
pcie
device management
data
message
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.)
Active
Application number
CN202211056291.7A
Other languages
Chinese (zh)
Other versions
CN115632900A (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

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

Embodiments of the present application provide a computing device. The computing device comprises a device management unit and PCIE devices; the device management unit comprises an I3C interface; the PCIE device comprises an I3C interface, and the device management unit is connected with the PCIE device through the I3C interface; the device management unit and PCIE device transmit NC-SI sideband communication data through the I3C interface; the NC-SI sideband communication data comprise 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 PCIE equipment. According to the embodiment of the application, the computing equipment adopts the I3C interface to realize NC-SI sideband communication, so that the interface deployment of the computing equipment is simplified, and the cost of the computing equipment is reduced.

Description

Computing equipment
Technical Field
The present application relates to the field of servers, and in particular, to a computing device.
Background
In existing computing devices and data centers, networking of the device management plane of the computing device is increasingly implemented using sideband communication functions of a sideband interface (Network Controller Sideband Interface, NC-SI) in a network controller. The device management unit communicates with an external network by using an NC-SI interface of the network card. The NC-SI interface is physically a simplified media independent interface (Reduced Media Independent Interface, RMII), which is actually based on the media independent interface transport (RMII Based Transport, RBT) NC-SI protocol. In the definition of interface signals of peripheral interconnect standard (Peripheral Component Interconnect Express, PCIE) 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 directly connect to a device management unit of a server motherboard through the NC-SI interface for communication. Therefore, NC-SI functions cannot be supported. Some computing device manufacturers develop PCIE network cards with NC-SI interface connectors themselves. NC-SI connectors are also provided on the motherboard of the computing device. And then, through the customized cable, the device management unit of the server is communicated with the NC-SI sideband of the PCIE network card, so that the deployment cost is increased.
Disclosure of Invention
The embodiment of the application provides a computing device, a device management unit, PCIE (peripheral component interface express) devices and a data structure. The interface deployment cost of NC-SI sideband communication between the device management unit and PCIE devices can be effectively reduced.
In a first aspect, the present disclosure provides a computing device. The computing device comprises a device management unit and PCIE devices; the device 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 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; the data message is used for the device management unit to communicate with an external network; the control message is used for the device management unit to manage the PCIE devices.
In one implementation, the device management unit managing PCIE devices includes the device management unit configuring PCIE devices, such as configuration channels, to transmit data messages.
In one implementation, the device management unit managing PCIE devices includes the device management unit querying PCIE devices, such as querying status of PCIE devices.
In the technical scheme, the device management unit and the PCIE device of the computing device do not need to be provided with NC-SI physical interfaces for transmitting NC-SI sideband communication data, and the device management unit and the PCIE device realize NC-SI sideband communication by utilizing the I3C interfaces. The cost of the computing device for implementing NC-SI sideband communication is reduced.
In one implementation, 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, the NC-SI sideband communication data is transmitted between the equipment management unit and the PCIE network card by adopting an I3C protocol. The device management unit and the PCIE device can be used for transmitting NC-SI sideband communication data no matter whether the device management unit and the PCIE device have NC-SI physical interfaces or not, and the compatibility of the device management unit and the PCIE device in the computing device is improved.
In one implementation, the device management unit and the PCIE device transmit NC-SI sideband communication data based on an I3C protocol through an I3C interface, including: the device management unit and PCIE equipment transmit NC-SI sideband communication data based on direct public command code commands of an I3C protocol; the direct public command code is used for indicating the device management unit to communicate with the designated PCIE device.
Different direct common command codes may indicate different types of communications between a master device and a designated slave device. In this implementation, the NC-SI sideband communication data is indicated for transmission between the device management unit and the PCIE device using a predetermined direct common command code. And the sideband communication efficiency between the device management unit and the PCIE device is improved.
In one implementation, 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 direct public command code commands of an I3C protocol, and the device management unit and the PCIE device comprise: the device management unit and the PCIE device transmit control messages based on the directly written frame format and the directly read frame format.
In one implementation, the direct common command code command includes direct write; the device management unit transmits NC-SI sideband communication data with PCIE device based on the direct command code command of the I3C protocol, comprising: the device management unit sends a data message to the PCIE device based on the directly written frame format; PCIE equipment receives the data message from the equipment management unit.
The master device on the I3C bus may actively read and write to the slave device. In the computing device, the device management unit is a master device of the I3C bus, the PCIE device is a slave device of the I3C bus, and the device management unit may implement NC-SI sideband communication data transmission to the PCIE by using direct writing in a direct common command code command; the NC-SI sideband communication data comprises an equipment management unit, an NC-SI control message used for managing PCIE equipment and an NC-SI data message sent to an external network by the equipment management unit.
In one implementation, the directly written frame format and the directly read frame format include: the device management unit sends a user-defined direct public command code to PCIE equipment;
the self-defined direct public command code is used for indicating transmission control message or data message; the self-defined direct public command code is determined based on a reserved extension command code of the direct public command code in the I3C protocol; PCIE devices receive custom direct common command codes from the device management unit. The value range of the reserved extension command code is 0xE0-0xFE.
When transmitting the control message, in the frame format of direct writing, 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, the customized direct public command code is used for indicating the transmission of the control message from the PCIE device to the device management unit.
When transmitting the data message, in the frame format of direct writing, the self-defined direct public command code is used for indicating the slave device management unit to transmit the data message to the PCIE device.
In one implementation, the custom direct common command code used to indicate the transmission of control messages is different from the custom direct common command code used to indicate the transmission of data messages.
The NC-SI sideband communication is defined by using the reserved extension command code of the I3C direct public command code in the specification, so that 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 NC-SI sideband communication, and the flexibility of specification use is improved.
In one implementation, the device management unit and the PCIE device transmit NC-SI sideband communication data through the I3C interface, including: 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.
The slave device on the I3C bus may actively request to transmit data 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 the I3C protocol through the I3C interface, the device management unit is a master device of the I3C bus, the PCIE device is a slave device of the I3C bus, and by using the interrupt mechanism, the PCIE device can timely and actively transmit the data packet to the device management unit after receiving the data packet of the external network, so that communication efficiency is improved.
In one implementation, before the PCIE device sends a data packet to the device management unit through the I3C interface based on the I3C protocol in-band interrupt mechanism, the PCIE device sends a custom forced data byte value to the device management unit; the user-defined forced data byte value is used for indicating the transmission of the data message from the PCIE equipment to the equipment management unit; the custom mandatory data byte value is determined based on a reserved extension value of the mandatory data byte in the I3C protocol; the device management unit receives custom mandatory data byte values from the PCIE device. Wherein, the upper three bits MDB [7:5] of the forced data byte takes a value of 3' b000; the lower five bits MDB [4:0] of the mandatory data byte range from 5'h00 to 5' h1F.
In this implementation, using the reserved extension value of the I3C mandatory data byte in the specification to define NC-SI sideband communications widens the application scenarios of the I3C protocol specification in computing devices. And different custom 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, the control message includes a command message and a response message; the device management unit and the PCIE device transmit control messages based on a direct write frame format and a direct read frame format, including: the device management unit sends a command message to the PCIE device based on the data field of the direct writing frame format; the command message is used for managing 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 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 the data field in the direct write frame format; the command message is used for configuring PCIE equipment; the equipment 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 the data field in the direct write frame format; the command message is used for inquiring PCIE equipment; the equipment 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 one implementation, the PCIE device is a PCIE network card.
In a second aspect, the present application provides an apparatus management unit, where the apparatus management unit includes an I3C interface; the device management unit and 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, wherein 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 devices.
In one implementation, the device management unit managing PCIE devices includes the device management unit configuring PCIE devices, such as configuration channels, to transmit data messages.
In one implementation, the device management unit managing PCIE devices includes the device management unit querying PCIE devices, such as querying status of PCIE devices.
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 NC-SI sideband communication with PCIE devices can be realized by using an I3C interface. The cost of the NC-SI sideband communication realized by the equipment management unit is reduced.
In one implementation, the device management unit and the PCIE device transmit NC-SI sideband communication data through the I3C interface, including: the device management unit and the PCIE device transmit NC-SI sideband communication data based on an I3C protocol through an I3C interface.
In this implementation, the NC-SI sideband communication data is transmitted between the device management unit and the PCIE device using the I3C protocol. The NC-SI sideband communication data can be transmitted with PCIE equipment no matter whether the equipment management unit has an NC-SI interface or not, and the compatibility of the equipment management unit is improved.
In one implementation, the device management unit and the PCIE device transmit NC-SI sideband communication data based on an I3C protocol through an I3C interface, including: the device management unit and PCIE equipment transmit NC-SI sideband communication data based on direct public command code commands of an I3C protocol; the direct public command code command is used for indicating the device management unit to communicate with the designated PCIE device.
Different direct common command codes may indicate different types of communications between a master device and a designated slave device. In this implementation, NC-SI sideband communication data is indicated for transmission between the device management unit and the PCIE device using a designated direct common command code. And the sideband communication efficiency between the device management unit and the PCIE device is improved.
In one implementation, 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 direct public command code commands of an I3C protocol, and the device management unit and the PCIE device comprise: the device management unit and the PCIE device transmit control messages 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 device transmit NC-SI sideband communication data based on direct public command code commands of an I3C protocol, and the device management unit and the PCIE device comprise: the device management unit sends the data message to the PCIE device based on the directly written frame format.
In this implementation, a master device on the I3C bus may actively read and write to a slave device. In the computing device, the device management unit is a master device of the I3C bus, the PCIE device is a slave device of the I3C bus, and the device management unit may implement NC-SI sideband communication data transmission to the PCIE by using direct writing in a direct common command code command; the NC-SI sideband communication data comprises an equipment management unit for managing NC-SI control messages of PCIE equipment and NC-SI data messages sent to an external network by the equipment unit.
In one implementation, the directly written frame format and the directly read frame format include: the device management unit sends a user-defined direct public command code to PCIE equipment; the self-defined direct public command code is used for indicating transmission control message or data message; the custom 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 extension command code is 0xE0-0xFE.
In one implementation, the custom direct common command code used to indicate the transmission of control messages is different from the custom direct common command code used to indicate the transmission of data messages.
The NC-SI sideband communication is defined by using the reserved extension command code of the I3C direct public command code in the specification, so that the application scene of the I3C specification in the computing equipment is widened. And different custom 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, the device management unit and the PCIE device transmit NC-SI sideband communication data through the I3C interface, including: the device management unit receives the data message sent by the PCIE device based on the I3C protocol in-band interrupt mechanism through the I3C interface.
The slave device on the I3C bus may actively request to transmit data 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 the I3C protocol through the I3C interface, the device management unit is a master device of the I3C bus, the PCIE device is a slave device of the I3C bus, and by using the interrupt mechanism, the PCIE device can timely and actively transmit the data packet to the device management unit after receiving the data packet of the external network. And the communication efficiency between the device management unit and the external network is improved.
In one implementation manner, before the device management unit receives, through the I3C interface, a data packet sent by the PCIE device based on an I3C protocol in-band interrupt mechanism, the device management unit includes: the device management unit receives a user-defined forced data byte value sent by PCIE equipment; the self-defined forced data byte value is used for indicating the transmission 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 upper three bits MDB [7:5] of the forced data byte takes a value of 3' b000; the lower five bits MDB [4:0] of the mandatory data byte range from 5'h00 to 5' h1F.
The NC-SI sideband communication is defined by using the reserved extension value of the I3C mandatory data byte in the specification, so that 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 NC-SI sideband communication, and the flexibility of specification use is improved.
In one implementation, the control message includes a command message and a response message; the device management unit and the PCIE device transmit control messages based on a direct write frame format and a direct read frame format, including: the device management unit sends a command message to the PCIE device based on the data field of the direct writing frame format; the command message is used for managing PCIE equipment; the equipment 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 the data field in the direct write frame format; the command message is used for configuring PCIE equipment; the equipment 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 the data field in the direct write frame format; the command message is used for inquiring PCIE equipment; the equipment 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 application 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 comprise data messages and control messages, wherein the data messages are data communicated with an external network by the equipment management unit, and the control messages are used for managing PCIE equipment by the equipment management unit.
In one implementation, the device management unit managing PCIE devices includes the device management unit configuring PCIE devices, e.g., configuring channels for transmission of data packets.
In one implementation, the device management unit managing PCIE devices includes the device management unit querying PCIE devices, such as querying channel states of PCIE devices. 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, and realizes NC-SI sideband communication by utilizing the I3C interface of the PCIE equipment and the equipment management unit, so that the cost of the PCIE equipment for realizing NC-SI sideband communication is reduced.
In one implementation, the PCIE device and the device management unit transmit NC-SI sideband communication data through the I3C interface, including: 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, the PCIE device and device management unit transmit NC-SI sideband communication data based on an I3C protocol, including: PCIE equipment and an equipment management unit transmit NC-SI sideband communication data based on direct public command code commands of an I3C protocol; the direct public command code command is used for indicating the device management unit to communicate with the designated PCIE device.
Different direct common command codes may indicate different types of communications between a master device and a designated slave device. In the implementation mode, the designated direct public command code is used for indicating the NC-SI sideband communication data to be transmitted between the device management unit and the PCIE device, so that the sideband communication efficiency between the device management unit and the PCIE device 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 direct public command code commands of an I3C protocol, and the method comprises the following steps: the PCIE device and device management unit transmit control messages 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 an equipment management unit transmit NC-SI sideband communication data through an I3C interface based on direct public command code commands of an I3C protocol, and the method comprises the following steps: PCIE equipment receives a data message sent by an equipment management unit based on a directly written frame format.
The master device on the I3C bus may actively read and write to the slave device. In the computing device, the device management unit is a master device of the I3C bus, the PCIE device is a slave device of the I3C bus, and the device management unit may implement NC-SI sideband communication data transmission to the PCIE by using direct writing in a direct common command code command; the NC-SI sideband communication data comprises an equipment management unit, an NC-SI control message used for managing PCIE equipment and an NC-SI data message sent to an external network by the equipment management unit.
In one implementation, the directly written frame format and the directly read frame format include: PCIE equipment receives a self-defined direct public command code sent by an equipment management unit; the self-defined direct public command code is used for indicating transmission control message or data message; the custom 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 extension command code is 0xE0-0xFE.
In one implementation, the custom direct common command code used to indicate the transmission of control messages is different from the custom direct common command code used to indicate the transmission of data messages.
The NC-SI sideband communication is defined by using the reserved extension command code of the I3C direct public command code in the specification, so that 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 NC-SI sideband communication, and the flexibility of specification use is improved.
In one implementation, the PCIE device and the device management unit transmit NC-SI sideband communication data through the I3C interface, including: and the PCIE equipment sends the data message to the equipment management unit through the I3C interface based on the I3C protocol in-band interrupt mechanism.
The slave device on the I3C bus may actively request to transmit data 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 the I3C protocol through the I3C interface, the device management unit is a master device of the I3C bus, the PCIE device is a slave device of the I3C bus, and by using the interrupt mechanism, the PCIE device can timely and actively transmit the data packet to the device management unit after receiving the data packet of the external network. And the communication efficiency between the device management unit and the external network is improved.
In one implementation, before the PCIE device sends the data packet to the device management unit through the I3C interface based on the I3C protocol in-band interrupt mechanism, the method includes: PCIE equipment sends a custom forced data byte value to an equipment management unit; the self-defined forced data byte value is used for indicating the transmission 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 upper three bits MDB [7:5] of the forced data byte takes a value of 3' b000; the lower five bits MDB [4:0] of the mandatory data byte range from 5'h00 to 5' h1F.
The NC-SI sideband communication is defined by using the reserved extension value of the I3C mandatory data byte in the specification, so that 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 NC-SI sideband communication, and the flexibility of specification use is improved.
In one implementation, the control message includes a command message and a response message; the PCIE device and device management unit transmit control messages based on a direct write frame format and a direct read frame format, including: the PCIE equipment receives a command message sent by the equipment management unit based on a data field in a direct writing 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 the data field in the direct write frame format; the command message is used for configuring PCIE equipment; the equipment 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 the data field in the direct write frame format; the command message is used for inquiring PCIE equipment; the equipment management unit receives a response message sent by PCIE equipment; 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 present application provides a Data structure, where the Data structure includes a Start field, an I3C Reserved Address field, a first Read/Write field, a first Acknowledge field, an I3C Directed Common Command Code field, a part Bit field, a Repeated Start field, an I3C Target Address, a second Read/Write field, a second Acknowledge field, a Data field, a Transition Bit field, and a Stop field; wherein, I3C Directed Common Command Code takes the value of any command code of 0xE0-0 xFE; the command code is used for indicating the equipment management unit and 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 7' h7e; the first Read/Write field is set to 0, where the first Read/Write field may be understood as a Write field, indicating that a Write operation is performed.
In one implementation, the I3C Directed Common Command Code is used to instruct the device management unit and the PCIE device to transmit control messages.
For example, the reserved extension command code value xF0 of I3C Directed Common Command Code is selected to instruct the device management unit to transmit a control message to the PCIE device or the PCIE device transmits a control message to the device management unit. When the indication device management unit transmits a control message to the PCIE device, the value of the second Read/Write is 0, the transmission Bit field is a Party Bit field, and the second Read/Write is used for checking the written control message.
When the PCIE equipment is instructed to transmit a control message to the equipment management unit, when the Read/Write value is 1, the Transition Bit field is End-of-Data, and the method is used for indicating whether the control message is transmitted; for example, when the Transition Bit is 1, it indicates that the control message has not been transmitted, and when the Transition Bit is 0, it indicates that the control message has been transmitted.
In one implementation, the I3C Directed Common Command Code is configured to instruct a data packet to be transmitted from the device management unit to the PCIE device; rnW is 0, and the transmission Bit field is a Parity Bit field, which is used for checking the written data message.
For example, the reserved expansion command code value 0xF1 of 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 the data message to the PCIE device, the second Read/Write value is 0, and the transmission Bit field is a Parity Bit field, which is used for checking the written data message.
In one implementation, the Data field is used to send NC-SI sideband communication Data as described above. .
In a fourth aspect, the present application provides a Data structure, where the Data structure includes a Start field, an I3C Target Address, a Read/Write field, an ack_nwledge field, a Mandatory Data Byte field, a part Bit field, a Data field, and a Stop field; wherein the upper three-position MDB [7:5] of Mandatory Data Byte (MDB) takes a value of 3' b000; mandatory Data Byte the lower five-digit MDB [4:0] has a value ranging from 5'h00 to 5' h1F; optionally, a value from the lower five bits of said Mandatory Data Byte is combined with the upper three bits to form a value; the MDB value is used to instruct the PCIE device to send a data packet to the device management unit.
For example, the upper three bits of MDB, MDB [7:5], take a value of 3' b000; the lower five-bit MDB [4:0] of the MDB takes a value of 5' h01; the MDB value is 0x01 and the MBD value is used to indicate that a data packet is sent from the PCIE device to the device management unit.
In one implementation, the Data field is used to send the Data message.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the description below are only some embodiments of the present application.
Fig. 1A is a schematic diagram of a computing device for deploying PCIE devices according to an embodiment of the present application;
fig. 1B is a schematic structural diagram of a PCIE network card according to an embodiment of the present application;
FIG. 2A is a schematic diagram of an I3C direct write frame format provided by an embodiment of the present application;
FIG. 2B is a schematic diagram of an I3C direct-reading frame format provided by an embodiment of the present application;
fig. 3 is a flow chart of a method for a device management unit to send NC-SI command messages to a PCIE network card based on I3C direct writing provided in the embodiment of the present application;
fig. 4 is a schematic diagram of an NC-SI command message format according to an embodiment of the present application;
FIG. 5 is a schematic diagram of an Enable Channel command message format according to an embodiment of the present application;
fig. 6 is a flowchart of a method for sending an NC-SI response message by a PCIE network card based on an I3C direct reading orientation device management unit according to an embodiment of the present application;
fig. 7 is a schematic diagram of an NC-SI response message format according to an embodiment of the present application;
FIG. 8 is a schematic diagram of an Enable Channel response message format according to an embodiment of the present application;
fig. 9 is a flow chart of a method for a device management unit to send NC-SI data packets to a PCIE network card through direct writing of I3C;
fig. 10 is a schematic diagram of NC-SI datagram format according to an embodiment of the present application;
fig. 11 is a schematic diagram of a data format Mandatory Data Byte provided by an embodiment of the present application;
FIG. 12 is a schematic diagram of an I3C interrupt communication frame format provided by an embodiment of the present application;
fig. 13 is a flowchart of a method for a PCIE network card to send NC-SI data packets to a device management unit through an I3C interrupt mechanism according to an embodiment of the present application;
Detailed Description
In order to enable those skilled in the art to better understand the present application, the following description will clearly explain the technical solutions in the embodiments of the present application by referring to the drawings in the embodiments of the present application.
In the embodiment of the application, the words of the terms of the first word, the second word and the like do not have a logical or time sequence dependency relationship, and the number and the execution sequence are not limited. 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 the terms. These terms are only used to distinguish one element from another element.
The meaning of the term "at least one" in embodiments of the present application means one or more, and the meaning of the term "plurality" in embodiments of the present application means two or more.
It should also be understood that the term "if" may be interpreted as "when … …" ("white" or "upon") or "in response to a determination" or "in response to detection". Similarly, the phrase "if a [ stated condition or event ] is detected" may be interpreted as "when a [ stated condition or event ] is determined" or "in response to a determination" or "when a [ stated condition or event ] is detected" or "in response to a detection of a [ stated condition or event ] depending on the context.
To facilitate an understanding of the application, reference will first be made to the terminology involved in the application.
The network controller sideband interface (Network Controller Sideband Interface, NC-SI) is an industry standard for sideband interface network controllers defined by the distributed management task force (Distributed Management Task Force, DMTF) to support server out-of-band management.
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 (Baseboard Management Controller, BMC), integrated remote management iLO (Integrated Lights-Out, iLO), and/or integrated Dall remote management controllers (Integrated Dell Remote Access Controller, iDRAC).
I2C: I2C bus, two-wire synchronous Serial bus, master-slave communication mechanism, which uses Clock line (SCL) and Data line (SDA) to communicate, support the common bus connection of multiple master devices and slave devices, and distinguish nodes by physical address.
I3C: the I3C bus is an improved version of the I2C bus, and uses a clock line (SCL) and a data line (SDA) for communication, which is compatible with I2C. Compared with I2C, the I3C data rate is greatly improved, the node common bus connection supporting dynamic address allocation to support a plurality of same physical addresses is supported, 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 for deploying PCIE devices.
The computing device is an electronic device having a PCIE interface. The computing device may be a server, desktop computer, user Equipment (UE), mobile phone (mobile phone), tablet (pad), etc.; but may also be data relay devices such as routers, repeaters, bridges, switches, etc. The PCIE device may be a network card having a PCIE interface. For convenience of description, a PCIE network card is described below as an example.
Fig. 1B is a schematic structural diagram of a PCIE network card according to the present embodiment. Referring 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 (Baseboard Management Controller, BMC), an integrated remote management iLO (Integrated Lights-Out, iLO), or an integrated Dall remote management controller (Integrated Dell Remote Access Controller, iDRAC), among others.
The PCIE network card 200 includes a body 210, where 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 an edge of the body 210; PCIE interface connector 230 includes a plurality of golden 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 and the PCIE interface connector 230 of the PCIE network card 200 are plugged. Specifically, the golden finger on the main 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 with the motherboard 110 to realize signal transmission.
In one implementation, the signal definition of PCIE interface connector 230 includes an interface definition of I2C (Inter-Integrated Circuit); whereas I3C (Improved Inter Integrated Circuit) is physically compatible with I2C, both communicate using both SCL and SDA physical signal lines.
In the interconnection structure between 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 to form an I3C interface. The PCIE interface connector 230 of the PCIE network card 200 may 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, an OS system, and transmits 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 for the device management unit 120, such as a BMC.
As described above, the PCIE network card 200 provides an I3C interface, and supports connection 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 communications. The PCIE network card 200 and the device management unit 120 support NC-SI information transmission through the I3C interface, and implement NC-SI sideband communications. In the above I3C communication, the device management unit 120 is a master device on the 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, wherein the PCIE network card management 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 message 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 comprises the following steps: the I3C direct CCC field represents an I3C direct common command code, and different communication commands are indicated by using different command codes according to specification definition; the direct common command code may indicate different types of communications between the master device and the designated slave device. For I3C direct CCC, some reserved extension command codes are defined in I3C specifications, and the value range of 0xE0-0xFE is used as manufacturer extension. In this embodiment, with this specification extension, the transmission of control data for NC-SI sideband communications is defined using an I3C direct common command code reservation extension command code. 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 direct writing to send an NC-SI command packet to the PCIE network card 200, and the PCIE network card 200 uses I3C direct reading to send a response packet of the NC-SI command to the device management unit 120.
Specifically, the frame format of the I3C direct write for the NC-SI command packet sent by the device management unit 120 to the PCIE network card 200 is shown in fig. 2A; the frame format of the I3C direct reading for 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 may be appreciated 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 are described in table 1.
Table 1I3C frame format description of direct write/direct read code commands
Based on the frame format of I3C direct writing shown in fig. 2A, this embodiment provides a method for the device management unit to send NC-SI command packets to the 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, which indicates that communication with the PCIE network card 200 may be started.
S102: the device management unit 120 transmits the I3C broadcast address and the write signal W to the PCIE network card 200.
In one implementation, the device management unit 120 sends the broadcast address (7 'h 7E) as the I3C reserved address and Read/Write set to 0 (1' b 0) before sending the I3C direct common command code command. And waiting for a 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 acknowledgement signal ACK to the device management unit 120 when acknowledging 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, one command code is optionally selected from among reserved extended command codes 0xE0-0xFE of the direct common command code as the 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 PCIE 200 devices, the direct common command code indicates that a message to be sent is an NC-SI command message for managing the PCIE network card 200 by the device management unit 120. The check word of the command is sent at the same time as the direct command code.
It should be noted that, the PCIE 200 device managed by the device management unit 120 may configure the PCIE 200 device for the device management unit 120 or query information from the PCIE 200 device.
It will be appreciated that, based on the setting requirements, those 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, and the present application is not limited to the selected command code.
S105: the device management unit 120 transmits a repeat start signal Sr to the PCIE network card 200. The device management unit 120 initiates a Repeated 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 a PCIE network card 200 address (7 bit) and Read/Write set 0 (1' b 0) indicating that an NC-SI command message is to be sent to the PCIE network card 200. And waiting for a 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. The PCIE network card 200 may automatically reply to the device management unit 120 with a response acknowledgement signal ACK when acknowledging receipt of its own address.
S108: the device management unit 120 sends an NC-SI command message and a check bit of the NC-SI command message to the PCIE network card 200.
In one implementation manner, the device management unit 120 sends NC-SI Command packets Command Data (Data 1, data2, …, data) and corresponding Parity Data parities (Para 1, para2, …, para n) 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 one implementation manner, the device management unit 120 configures the PCIE network card 200 through an NC-SI command message, where an NC-SI command message format is shown in fig. 4. Each NC-SI command message includes a header (NC-SI Control packet header), payload data (payload) and check data (checksum), wherein 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
/>
In an alternative implementation, the NC-SI commands used by the device management unit 120 to configure the PCIE network card 200 include, but are not limited to, select Package, clear Initial State, or Enable Channel. In this embodiment, the specific format of the command is described by taking the NC-SI command Enable Channel as an example, and the control message type of the NC-SI command Enable Channel is 0x03.
Optionally, the command sequence identifier IID of the Enable Channel is set to 0x01; the Channel identification Channel ID is set to 0x01.
The Enable Channel has no Payload data, and the 12bit value of the Payload Length is 0x000.
In one implementation, the sender of the NC-SI command may employ an accumulation and algorithm to generate the verification data. And under the condition that reserved fields of the NC-SI control message are all set to 0, the accumulated check value of the NC-SI command Enable Channel is 0xFFFFFFFA.
The command grid of the Enable Channel is shown in FIG. 5. The total length of the command is 20 bytes, including a header of 16 bytes and check data of 4 bytes. The device management unit 120 sends the above 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 one implementation manner, after the device management unit 120 finishes sending the NC-SI command packet, an end signal P is sent to the PCIE network card 200 to end the sending operation of the NC-SI command packet.
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 enabling configuration for the NC-SI channel according to the command. The PCIE network card 200 then generates an NC-SI response packet, and sends the response packet to the device management unit 120, where the response packet is used to indicate a configuration result, such as whether the configuration is successful.
In one implementation manner, after the PCIE network card 200 receives the NC-SI command packet sent by the device management unit 120, the command packet is analyzed, and then the command packet is accumulated and checked; if the format of the Enable Channel command is as shown in fig. 5, the data in the command is accumulated, and if the sum is 0, it indicates that the data passes the check, and the PCIE network card 200 can be configured by using the NC-SI command passing the check.
For other NC-SI commands, the transmission method such as Select Package, clear Initial State refers to steps S101-S109 shown in fig. 3. It can be understood that, for sending different NC-SI commands, the difference is that the Data sent in the I3C direct write is different, and the rest of the method flows are the same, which is not described herein.
Based on the frame format of I3C direct reading shown in fig. 2B, this embodiment provides a method for sending an NC-SI response packet by the PCIE network card to the device management unit, and a method flow 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, which indicates that communication with the PCIE network card 200 may be started.
S202: the device management unit 120 transmits an I3C broadcast address and a write W signal to the PCIE network card 200.
In one implementation, the device management unit 120 sends the I3C broadcast address (7 'h 7E) as the reserved address and Read/Write location 0 (1' b 0) before sending the I3C direct common command code command. Waiting for ACK of 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 to the device management unit 120 with an ACK signal when acknowledging receipt of the broadcast message.
S204: the device management unit 120 sends a direct common command code indicating the transmission control message and a check bit of the direct common command code to the PCIE network card 200.
In one implementation, one command code is optionally selected from among reserved extended command codes 0xE0-0xFE of the direct common command code as the 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 transmits a repeat start signal Sr to the PCIE network card 200. The device management unit 120 initiates a Repeated START to continue communication with the PCIE network card 200.
S206: the device management unit 120 sends the PCIE network card 200 address and the read signal R to the PCIE network card 200. The device management unit 120 sends a PCIE network card 200 address (7 bit) and Read/Write location 1 (1' b 1) indicating that a response message is sent from the PCIE network card 200 to the device management unit 120. And waiting for a 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 to the device management unit 120 with an ACK signal when confirming that the PCIE network card receives its own address.
S208: the PCIE network card 200 sends NC-SI response messages and conversion bits to the device management unit 120.
In one implementation, the PCIE network card 200 sends NC-SI response messages response Data (Data 1, data2, …, dataN) and a Transition bit Transition (T1, T2, …, TN) to the device management unit 120 in bytes to implement a response to 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 completely. For example, the transmit transition bits T1, T2, …, TN-1 has a value of 1, indicating that the data has not been transmitted; TN is 0, indicating that the data has been sent.
In one implementation, the packet data format of the PCIE network card 200 in response to the NC-SI command of the device management unit 120 is shown in fig. 7. The description of the fields of the message data format is shown in table 3.
In one implementation, the packet data format of the PCIE network card 200 required to respond to NC-SI commands of the device management unit 120 is shown in fig. 7. Each NC-SI response message includes a header (NC-SI Control packet header), payload data (payload) and check data (checksum), wherein the payload data is variable according to different lengths of the command. The description of the fields of the message data format is shown in table 3.
TABLE 3NC-SI response message Format field specification
/>
In one implementation, when the command of NC-SI is a 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. In this embodiment, the response format of NC-SI will be described by taking the response of the Enable Channel command as an example.
For this Enable Channel response, the identification Control Packet Type of the control packet becomes 0x83. Setting the command sequence identification IID of the command to 0x01; the Channel identification Channel ID is set to 0x01.
The 12bit value of the response code and the reason code of the Enable Channel response message serving as the Payload Length of the Payload data is 0x004.
In one implementation, after the PCIE network card is successfully configured based on the NC-SI command, the response code takes a value of 0x0000, which indicates that the configuration is completed. The value of the reason code is 0x0000, which indicates that the configuration has no error.
In one implementation, the sender of the NC-SI command may employ an accumulation and algorithm to generate the verification data. Under the condition that reserved fields of NC-SI control messages are all set to 0, the accumulated check value of an Enable Channel of an NC-SI command is 0xFFFFFF7A.
The NC-SI response message of Enable Channel Response is shown in fig. 8. The total length of the Enable Channel response message is 24 bytes, including a 16-byte packet header, 4-byte response codes and reason codes, and 4-byte check data. The PCIE network card 200 transmits the above-described response to the device management unit 120 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. The STOP is initiated at the device management unit 120, and the current transmission operation of the NC-SI response message is ended.
After receiving the NC-SI response message sent by the PCIE network card 200, the device management unit 120 parses the response message to obtain a configuration result, e.g., whether the configuration is successful.
In one implementation manner, after the device management unit 120 receives the NC-SI response packet sent by the PCIE network card 200 and parses the response packet, the response packet is accumulated and checked first; if the response format of the Enable Channel command is as shown in fig. 8, accumulating each data in the command, and if the accumulated sum is 0, indicating that the response message passes the verification. The device management unit 120 may determine whether to complete the PCIE network card 200 configuration according to the configuration result obtained by the response message.
In one implementation manner, when the device management unit 120 detects that the transition bit T is changed to the 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.
It can be understood that the communication of the NC-SI control packet includes the transmission of the NC-SI command packet and the transmission of the NC-SI response packet, so that the transmission of the NC-SI command packet by the device management unit 120 to the PCIE network card 200 and the transmission 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 with the prior art, the additional connector and cable 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. The scheme expands the I3C standard, uses the reserved expansion command code in the I3C common command code to define the transmission of the NC-SI communication control message, and realizes the communication of the NC-SI control message between the PCIE network card and the equipment management unit. And the cost of PCIE network card and NC-SI sideband communication of the device management unit is reduced.
After the device management unit 120 completes the configuration of the PCIE network card 200, the device management unit may communicate with an external network through the PCIE network card by performing Data packet (NC-SI Data).
In one implementation, the device management unit 120 sends the NC-SI data packet to the PCIE network card 200 through I3C direct writing. Specifically, the device management unit 120 uses the reserved extension command code definition of the I3C direct public command code to send NC-SI sideband communication data packets to the PCIE network card 200.
It will be appreciated that, based on the setting requirement, a person skilled in the art may arbitrarily select a command code from the reserved extended command codes 0xE0-0xFE, but the direct common command code indicating transmission of NC-SI data packets is different from the direct common command code indicating transmission of NC-SI control packets, and the selected command code is not particularly limited in the present application.
The frame format of the device management unit 120, which directly writes the data packet in NC-SI sideband communication to the PCIE network card 200 through the I3C, is shown in fig. 2A. The meaning and the value of each field are shown in table 1, and are not described in detail herein.
Based on the frame format of the I3C direct writing shown in fig. 2A, the present embodiment provides a method for sending a data packet to a PCIE network card by a device 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, which indicates that communication with the PCIE network card 200 may be started.
S302: the device management unit 120 transmits the I3C broadcast address and the write signal W to the PCIE network card 200.
In one implementation, the device management unit 120 sends the broadcast address (7 'h 7E) as the I3C reserved address and Read/Write set to 0 (1' b 0) before sending the I3C direct common command code command. And waiting for a 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 acknowledging receipt of the broadcast message.
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 generation to the PCIE network card 200.
In one implementation, one command code is optionally selected from among reserved extended command codes 0xE0-0xFE of the direct common command code 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 transmitting the control message. Specifically, when the device management unit 120 sends a data packet that is transmitted to the PCIE 200 device, 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 which is transmitted to an external network in a subsequent PCIE network card. The check words Par of the direct common command code are transmitted at the same time as the direct common command code.
S305: the device management unit 120 transmits a repeat start signal Sr to the PCIE network card 200. The device management unit 120 initiates a Repeated START to continue communication with the PCIE network card 200.
S306: the device management unit 120 sends a PCIE network card 200 address and a write signal W to the PCIE network card 200.
The device management unit 120 sends a PCIE network card 200 address (7 bit) 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 a 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. The PCIE network card 200 may automatically reply to the device management unit 120 with a response acknowledgement signal ACK when acknowledging receipt of its own address.
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 one implementation manner, the device management unit 120 sends the Data packets NC-SI Data (Data 1, data2, …, dataN) and the 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 sideband communication data message is an Ethernet message, the data format of which is shown in FIG. 10. The format of the ethernet message data is shown in table 4.
TABLE 4NC-SI sideband communication data packet description
It may be appreciated that, after the PCIE network card 200 receives the I3C data, an ethernet packet therein is acquired, the ethernet packet is parsed to obtain a DMAC address, and the ethernet packet is transmitted to the external network device based on the DMAC address.
In this embodiment, compared with the prior art, the device management unit and the PCIE network card self-make additional connectors and cables, and proprietary connector signal definitions do not support third party device compatibility. The scheme expands the I3C standard, uses the reserved expansion command code definition of the I3C direct public command code to send NC-SI data messages from the device management unit to the PCIE network card, and realizes sideband communication of the NC-SI data messages between the device management unit and the PCIE network card. The cost of NC-SI sideband communication between the PCIE network card and the device management unit is reduced, and the compatibility of the PCIE network card is improved.
In one 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 that the PCIE network card 200 receives from an external network and forwards to the device management unit 120. Specifically, the I3C specification is extended, and the PCIE network card 200 is defined to send a Data packet NC-SI Data to the device management unit 120 by using the mandatory Data byte (Mandatory Data Byte, MDB) of the I3C protocol to reserve an extended interrupt group identifier (3 ' b 000) and a reserved specific interrupt identifier value (5 ' h00-5' h1 f), where the format of the mandatory Data byte (Mandatory Data Byte, MDB) of the I3C protocol is shown in fig. 11.
The device management unit 120 receives 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 the fields 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 interrupt operation frame format specification
Based on the frame format of the in-band interrupt communication shown in fig. 12, the present embodiment provides a method for sending a data packet by the PCIE network card to the device management unit, and the flow of the method is shown in fig. 13.
S401: the device management unit 120 responds to the interrupt request of the PCIE network card 200 and sends the start signal S.
The I3C protocol supports in-band interrupts, and in the state where the bus is idle, allows the slave to initiate an interrupt request, and actively transmits data to the slave.
It may be appreciated that when the device management unit 120 performs communication with the PCIE network card 200 based on the I3C protocol, the device management unit 120 acts as a master device on the I3C bus, and the PCIE network card 200 acts as a slave device on the I3C bus. After the PCIE network card 200 receives the packet data of the external network, an interrupt request is actively sent to the master device to transmit the packet 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 transmits its own address (7 bit) and Read operation (1' b 1). Waiting for an ACK signal by the device management unit 120.
S403: the device management unit 120 responds to the PCIE network card 200 with an acknowledgement signal ACK. The device management unit 120 may automatically reply an ACK signal to the PCIE network card 200 when confirming that the device address of the PCIE network card 200 is received.
S404: the PCIE network card 200 sends the mandatory data byte value indicating the transmission data packet and the check bit of the mandatory data byte value to the device management unit 120.
In one implementation, the mandatory data byte value is used to define the command code for transmitting NC-SI data messages. In this embodiment, taking the interrupt group identifier 3'b000 and the interrupt number 5' h01 as an example, the mandatory data byte is set to 0x01. Indicating that the current interrupt is a PCIE network card 200 forwarding an ethernet packet received from an external network.
It will be appreciated that one skilled in the art may define the PCIE network card 200 to send Data packets NC-SI Data to the device management unit 120 based on the definition requirements using other values of the interrupt group identification (3 ' b 000) forcing the reservation of Data bytes extension and the specific interrupt identification (5 ' h00-5' h1 f) reserved in the I3C protocol. The application is not limited to the value of the mandatory data byte reservation extension.
S405: the PCIE network card 200 sends external Data packets Data and the transition bit T to the device management unit 120.
In one implementation, the NC-SI sideband communication data message is an Ethernet message, the data format of which is shown in FIG. 10.
In one implementation manner, the PCIE network card 200 sends the Data packets NC-SI Data (Data 1, data2, …, dataN) and the check bits T (T1, T2, …, TN) corresponding to each byte Data to the device management unit 120 in bytes.
S406: the device management unit 120 transmits an end signal to the PCIE network card 200. The device management unit 120 initiates STOP to end the current operation of receiving the external ethernet message data.
It should be appreciated that references to "one embodiment," "an embodiment," "one implementation" in an embodiment of the present application mean that a particular feature, structure, or characteristic described in connection with the embodiment or implementation is included in at least one embodiment of the present application. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment," "one 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 foregoing description of the embodiments of the application is not intended to limit the application to the particular embodiments of the application disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the application.

Claims (23)

1. A computing device, wherein the computing device comprises a device management unit and a PCIE device; the device management unit comprises an I3C interface; the PCIE device comprises an I3C interface, and the device management unit is connected with the PCIE device through the I3C interface;
the device management unit and the PCIE device transmit NC-SI sideband communication data through the I3C interface; comprising the following steps:
the device management unit and the PCIE device transmit the NC-SI sideband communication data based on reserved extension parameters of an I3C protocol through the I3C interface;
the NC-SI sideband communication data comprise data messages and/or control messages, wherein the data messages are used for the device management unit to communicate with an external network, and the control messages are used for the device management unit to manage the PCIE device.
2. The computing device of claim 1, wherein the reserved extension parameter is a reserved extension command code;
The device management unit and the PCIE device transmit NC-SI sideband communication data through the I3C interface based on reserved extension parameters in an I3C protocol, including:
the device management unit and the PCIE device transmit the NC-SI sideband communication data based on a direct public command code command of an I3C protocol; wherein the direct common command code command belongs to the reserved extended command code; the direct public command code is used for indicating the device management unit to communicate with the designated PCIE device.
3. The computing device of claim 2, 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 direct public command code commands of an I3C protocol, and the device management unit and the PCIE device comprise:
and 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.
4. The computing device of claim 3, wherein the directly written frame format and the directly read frame format comprise: the device management unit sends a self-defined direct public command code to the PCIE device;
The self-defined direct public command code is used for indicating the transmission of the control message; the custom direct common command code is determined based on a reserved extended command code of the direct common command code in the I3C protocol.
5. The computing device of any of claims 2-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 device management unit comprises: 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 5, wherein the direct-write frame format comprises: the device management unit sends a self-defined direct public command code to the PCIE device;
the self-defined direct public command code is used for indicating the transmission of 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 the I3C protocol.
7. The computing device of claim 6, wherein the custom direct common command code for indicating transmission of the control message is different from the custom direct common command code for indicating transmission of the data message.
8. The computing device of any of claims 1-4 and 6-7, wherein the device management unit to communicate NC-SI sideband communication data with a PCIE device over the I3C interface comprises:
the PCIE device sends the data message to the device 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 5, wherein the device management unit and PCIE device to transmit NC-SI sideband communication data over the I3C interface comprises:
the PCIE device sends the data message to the device management unit through the I3C interface based on an I3C protocol in-band interrupt mechanism;
and the equipment management unit receives the data message.
10. The computing device of claim 8, wherein the PCIE device comprises, prior to sending the data message to the device management unit via the I3C interface based on an I3C protocol in-band interrupt mechanism:
The PCIE device sends a custom forced data byte value to the device management unit;
the customized mandatory data byte value is used for indicating the PCIE device to transmit the data message to the device management unit; the self-defined mandatory data byte value is determined based on a reserved extension 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.
11. The computing device of claim 9, wherein the PCIE device comprises, prior to sending the data message to the device management unit via the I3C interface based on an I3C protocol in-band interrupt mechanism:
the PCIE device sends a custom forced data byte value to the device management unit;
the customized mandatory data byte value is used for indicating the PCIE device to transmit the data message to the device management unit; the self-defined mandatory data byte value is determined based on a reserved extension 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.
12. The computing device of any of claims 2-4, 6-7, and 9-11, wherein the control messages include command messages and response messages; 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, including:
the device management unit sends the command message to the PCIE device based on the directly written data field in the 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 device management unit receives the response message from the PCIE device; the response message is used for indicating the management result.
13. The computing device of claim 5, wherein the control messages comprise command messages and response messages; 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, including:
The device management unit sends the command message to the PCIE device based on the directly written data field in the 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 device management unit receives the response message from the PCIE device; the response message is used for indicating the management result.
14. The computing device of claim 8, wherein the control messages comprise command messages and response messages; 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, including:
the device management unit sends the command message to the PCIE device based on the directly written data field in the 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 device management unit receives the response message from the PCIE device; the response message is used for indicating the management result.
15. The computing device of any of claims 1-4, 6-7, 9-11, and 13-14, wherein the device management unit is a device manager.
16. The computing device of claim 5, wherein the device management unit is a device manager.
17. The computing device of claim 8, wherein the device management unit is a device manager.
18. The computing device of claim 12, wherein the device management unit is a device manager.
19. The computing device of any of claims 1-4, 6-7, 9-11, 13-14, and 16-18, wherein the PCIE device is a PCIE network card.
20. The computing device of claim 5, wherein the PCIE device is a PCIE network card.
21. The computing device of claim 8, wherein the PCIE device is a PCIE network card.
22. The computing device of claim 12, wherein the PCIE device is a PCIE network card.
23. The computing device of claim 15, wherein 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 CN115632900A (en) 2023-01-20
CN115632900B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115632900B (en) * 2022-08-31 2023-09-01 超聚变数字技术有限公司 Computing equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415518A (en) * 2014-01-14 2017-02-15 高通股份有限公司 Camera control interface extension with in-band interrupt
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
CN110720094A (en) * 2017-06-08 2020-01-21 索尼半导体解决方案公司 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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015054433A1 (en) * 2013-10-08 2015-04-16 Qualcomm Incorporated Coexistence of i2c slave devices and camera control interface extension devices on a shared control data bus
US20170255588A1 (en) * 2016-03-07 2017-09-07 Qualcomm Incorporated Multiprotocol i3c common command codes
US10439934B2 (en) * 2017-04-20 2019-10-08 Dell Products L.P. Systems and methods for addressing multiple physical and virtual functions in network controller-sideband interface
JP6976729B2 (en) * 2017-06-08 2021-12-08 ソニーセミコンダクタソリューションズ株式会社 Communication equipment, communication methods, programs, and communication systems
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415518A (en) * 2014-01-14 2017-02-15 高通股份有限公司 Camera control interface extension with in-band interrupt
CN110720094A (en) * 2017-06-08 2020-01-21 索尼半导体解决方案公司 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

Also Published As

Publication number Publication date
CN115632900A (en) 2023-01-20
WO2024045742A1 (en) 2024-03-07

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
US6408334B1 (en) Communications system for multiple computer system management circuits
US7730245B2 (en) Method and system for setting addresses for slave devices in data communication system
CN106959935B (en) Method compatible with I2C communication and IPMB communication
CN1633647B (en) System and method for managing data transfers in a network
CN109558371B (en) Method for communicating with a microcontroller, and computing system
JP2001358733A (en) Method for using universal serial but (usb) as peer-to- peer network
WO2001017177A1 (en) Information communication system, information communication method, information signal processing device and information signal processing method, and storage medium
JPS6333945A (en) Local area data distribution system
CN102681957A (en) Enhanced wireless usb protocol and hub
US20090286489A1 (en) Wireless Communications Between Wired Devices with Adaptive Data Rates
CN115632900B (en) Computing equipment
CN100571108C (en) Be used between computing node, carrying out data communications system and method
US20050141555A1 (en) Method for generating commands for network controller modules of peripheral devices
CN111431668B (en) Baud rate switching method based on multi-node UART communication, air conditioning system and processor
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
CN114116574A (en) Data transmission method and device, electronic equipment and storage medium
CN103858105A (en) Connection method
US7167940B2 (en) Data processing method, data processing apparatus, communications device, communications method, communications protocol and program
US20020013805A1 (en) LogNet: a low cost, high reliability network for embedded systems
CN103004170B (en) Responding device and integrated circuit, response method and responding system
TWI766572B (en) Monitoring management system and method
JP3495878B2 (en) Data processing method, data processing device and printer
White et al. Data communications issues for power system 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