WO2014047900A1 - 报文发送控制方法、处理方法、设备及*** - Google Patents

报文发送控制方法、处理方法、设备及*** Download PDF

Info

Publication number
WO2014047900A1
WO2014047900A1 PCT/CN2012/082378 CN2012082378W WO2014047900A1 WO 2014047900 A1 WO2014047900 A1 WO 2014047900A1 CN 2012082378 W CN2012082378 W CN 2012082378W WO 2014047900 A1 WO2014047900 A1 WO 2014047900A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
protocol type
sending
receiving channel
available space
Prior art date
Application number
PCT/CN2012/082378
Other languages
English (en)
French (fr)
Inventor
王工艺
卢广
刘钢
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2012/082378 priority Critical patent/WO2014047900A1/zh
Priority to CN201280002093.0A priority patent/CN103890746B/zh
Publication of WO2014047900A1 publication Critical patent/WO2014047900A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter

Definitions

  • the present invention relates to communication technologies, and in particular, to a message transmission control method, a processing method, a device, and a system.
  • PCIe Peripheral Component Interconnect Express
  • Paper lO high-performance peripheral component interconnection standard
  • RapidlO Peripheral Component Interconnect Express
  • QPI Quick Path Interconnect
  • Non-Coherence Standard relies on non-data response packets (Non data response, hereinafter referred to as Non data response).
  • NDR Non-Coherence Bypass
  • DRS Data Response
  • SNP Snoop
  • HOM Local Message
  • the so-called dependency relationship means that if a message is to be processed, it must first process other messages related to it. As shown in Figure 1, to process SNP packets, you need to process the HOM, NDR, and DRS packets associated with them.
  • the embodiments of the present invention provide a message sending control method, a processing method, a device, and a system, to prevent a problem of deadlock when a virtual channel of a different protocol does not match when a 4-gram conversion between different protocols is prevented.
  • the embodiment of the present invention provides a packet sending control method, including: acquiring available space information of a receiving channel corresponding to each packet of a first protocol type in a receiving end device;
  • the first protocol type and the second protocol type are different protocol types.
  • the method further includes:
  • the space update message includes the updated available space information of the receiving channel or the newly added available space information of the receiving channel.
  • the acquiring, by the receiving device, the receiving channel corresponding to each packet of the first protocol type Available space information including:
  • the information is sent to the first protocol type packet sent by the sending device, and includes:
  • the packet sending processing device Sending, by the packet sending processing device, the second protocol type credit value packet including the credit value of each receiving channel, so that the packet sending processing device receives the receiving according to the receiving
  • the credit value of the channel is used to control the sending of the packet of the first protocol type sent by the sending device.
  • the embodiment of the present invention provides a packet sending processing method, including: receiving, by a packet sending control device, a second protocol type indication packet, where the indication packet includes a first end of the receiving end device The available space information of the receiving channel corresponding to each message of the protocol type;
  • the first protocol type and the second protocol type are different protocol types.
  • the method further includes:
  • the packet sending control device Receiving, by the packet sending control device, the space update message of the second protocol type, where the space update message includes the updated available space information of the receiving channel;
  • the spatial information is sent to the first protocol type packet corresponding to the receiving channel that is sent by the sending end device.
  • the method further includes:
  • the available space information is The credit value of the receiving channel.
  • the embodiment of the present invention provides a packet sending control device, including: an obtaining module, which acquires available space information of a receiving channel corresponding to each packet of a first protocol type in a receiving device;
  • a sending module at the protocol layer, sending, to the packet sending and processing device, a second protocol type indication packet including the available space information of each receiving channel, so that the packet sending processing device root Transmitting, according to the available space information of each receiving channel, each packet of the first protocol type sent by the sending end device;
  • the first protocol type and the second protocol type are different protocol types.
  • the device further includes: an update module, if the packet of the first protocol type in the receiving channel is processed, updating the available space of the receiving channel Information
  • the sending module is further configured to send the space update message of the second protocol type to the packet sending processing device, where the space update message includes the updated available space information of the receiving channel or the Receive free space information added to the channel.
  • the acquiring module is specifically configured to obtain the first protocol type in the receiving end device. a credit value of the receiving channel corresponding to each message type; a credit value message of the second protocol type of the credit value of the receiving channel, so that the packet sending processing device according to the credit value of each receiving channel The packet of the first protocol type sent by the sending device is sent for control.
  • a fourth aspect of the present invention provides a packet sending and processing device, including: a receiving module, which receives a second protocol type indication packet sent by a packet sending control device, where the indication packet includes a receiving end device The available space information of the receiving channel corresponding to each message of the first protocol type;
  • control module configured to send, according to the available space information of each receiving channel, a packet of the first protocol type sent by the sending end device;
  • the first protocol type and the second protocol type are different protocol types.
  • the receiving module is further configured to receive, by the packet sending control device, the space update packet of the second protocol type, where the space update report is The text includes the available space information after the receiving channel is updated;
  • the control module is further configured to: send, according to the updated available space information of the receiving channel, a packet of a first protocol type that is sent by the sending end device and corresponding to the receiving channel.
  • the receiving module is further configured to connect And receiving the space update message sent by the control device, where the space update message includes the available space information added by the receiving channel;
  • the control module includes:
  • An accumulating unit configured to accumulate the newly added available space information and the existing available space information
  • a processing unit configured to send, according to the accumulated available space information, a packet of a first protocol type that is sent by the sending end device and corresponding to the receiving channel.
  • the available space information is The credit value of the receiving channel.
  • a fifth aspect of the present invention provides a packet processing system, including:
  • the receiving end device the transmitting end device, the above-mentioned packet sending control device, and the packet sending and processing device.
  • the embodiment of the present invention provides a packet sending control device, including: a processor, configured to acquire available space information of a receiving channel corresponding to each packet of a first protocol type in a receiving end device;
  • a transmitter configured to send, by the protocol layer, a packet of the second protocol type that includes the available space information of each receiving channel to the packet sending processing device, so that the packet sending processing device is configured according to the receiving channel
  • the available space information is used to send and control each message of the first protocol type sent by the sending end device
  • the first protocol type and the second protocol type are different protocol types.
  • first protocol type and the second protocol type are different protocol types.
  • the processor is further configured to: if the packet of the first protocol type in the receiving channel is processed, update the available space information of the receiving channel;
  • the transmitter is further configured to send, to the packet sending processing device, the space update message of the second protocol type, where the space update message includes the updated available space information of the receiving channel or the Receive free space information added to the channel.
  • the processor is specifically configured to obtain each packet type of the first protocol type in the receiving device a credit value of the corresponding receiving channel; a credit value message of the second protocol type of the credit value of the channel, so that the packet sending processing device sends the information sent by the sending device according to the credit value of each receiving channel
  • the message of the first protocol type is sent for control.
  • the embodiment of the present invention provides a packet sending and processing device, which includes:
  • a receiver configured to receive an indication message of a second protocol type sent by the packet sending control device, where the indication message includes available space information of a receiving channel corresponding to each packet of the first protocol type in the receiving device;
  • a controller configured to send, according to the available space information of each receiving channel, a packet of the first protocol type sent by the sending device to be sent;
  • the first protocol type and the second protocol type are different protocol types.
  • the receiver is further configured to receive the space update message of the second protocol type that is sent by the packet sending control device, where the space update message includes the available space information after the receiving channel is updated;
  • the controller is further configured to send, according to the updated available space information of the receiving channel, a sending and receiving control of a packet of a first protocol type corresponding to the receiving channel that is sent by the sending end device.
  • the receiver is further configured to receive, by the packet sending control device, a space update message of the second protocol type, where the space update message includes new available space information of the receiving channel;
  • the controller accumulates the newly added available space information and the existing available space information, and sends a corresponding to the receiving channel to the sending end device according to the accumulated available space information.
  • a protocol type message is sent for transmission control.
  • the available space information is the credit value of the receiving channel.
  • the packet sending control method, the processing method, the device and the system provided by the embodiment of the present invention in the protocol conversion process, acquires the available space of the receiving channel corresponding to each packet of the first protocol type in the receiving end device The information is sent to the packet sending processing device in the indication message of the second protocol type, so that the packet sending processing device can send the first protocol type to the sending device according to the available spatial information.
  • the packet is sent to the receiving end, and only the available space information of the receiving channel in the receiving end device indicates that the receiving channel is sent to the receiving end device, which effectively prevents the blocking of certain types of packets, so that other types of packets cannot be sent to the receiving end.
  • the device thus solves the problem of system deadlock.
  • Figure 1 is a schematic diagram of the dependency relationship of six different packets of the QPI protocol
  • Embodiment 1 of a packet sending control method according to the present invention
  • Embodiment 3 is a schematic flowchart of Embodiment 1 of a packet sending processing method according to the present invention.
  • FIG. 4 is a schematic structural diagram of an application scenario of a packet transmission processing method according to the present invention
  • FIG. 5 is a schematic diagram of interaction between a packet transmission control device and a packet transmission processing device in a packet transmission processing method according to the present invention
  • Embodiment 1 of a packet sending control device according to the present invention
  • Embodiment 7 is a schematic structural diagram of Embodiment 2 of a packet sending control device according to the present invention.
  • FIG. 8 is a schematic structural diagram of Embodiment 1 of a packet sending and processing apparatus according to the present invention.
  • FIG. 9 is a schematic structural diagram of Embodiment 2 of a packet sending and processing apparatus according to the present invention.
  • FIG. 10 is a schematic structural diagram of an embodiment of a message sending control system according to the present invention.
  • Embodiment 3 is a schematic structural diagram of Embodiment 3 of a packet sending control device according to the present invention.
  • FIG. 12 is a schematic structural diagram of Embodiment 3 of a packet sending and processing apparatus according to the present invention.
  • the technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention.
  • the embodiments are a part of the embodiments of the invention, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without departing from the inventive scope are the scope of the present invention.
  • FIG. 2 is a schematic flowchart diagram of Embodiment 1 of a packet sending control method according to the present invention. As shown in FIG. 2, the message sending control method includes the following steps:
  • the packet sending control device acquires available space information of the receiving channel corresponding to each packet of the first protocol type in the receiving end device.
  • the packet sending control device obtains the available space information of the receiving channel corresponding to each packet of the first protocol type in the receiving device.
  • each receiving channel is a first in first out (FIFO) virtual channel corresponding to each packet type in the receiving device.
  • the QPI protocol has six different types of messages, that is, six types of messages as shown in FIG. 1. These six different message types correspond to different FIFO virtual channels, and each FIFO is virtual.
  • the channel is used to buffer a certain type of packet to be processed by the receiving device.
  • the message sending control device can obtain the available space information of the six FIFO virtual channels. For example, for an NDR packet, the FIFO virtual channel can cache a total of 10 NDRs. For example, if only 6 of the FIFO virtual channels are currently buffered, the available space information of the FIFO virtual channel is used for indication. The information of 4 NDR 4 messages can still be cached.
  • the packet sending control device sends, to the packet sending and processing device, a packet of the second protocol type that includes the available space of each receiving channel, so that the packet sending and processing device can obtain the available space information according to each receiving channel.
  • the packet of the first protocol type sent by the sending device is sent for control.
  • the packet sending control device carries the available space information of the receiving channel corresponding to each packet of the first protocol type in the receiving device, which is obtained in S201, in the indication packet of the second protocol type, and sends the information to the packet sending and processing device.
  • the packet sending and processing device can send and control the first protocol type packet sent by the sending device according to the available space information. That is, in this step, only the available space information of a certain message received by the message sending processing device indicates some kind of When the FIFO virtual channel of the packet still has vacancy, the packet sending and processing device can send the packet of the type sent by the sending device to the receiving device.
  • the message of the QPI protocol sent by the sending device to the QPI protocol domain is transmitted to the receiving device by the PCIe protocol, that is, the first protocol is specifically a QPI protocol, and the second protocol is specifically a PCIe protocol.
  • the available space information of the FIFO virtual channel of the NCB packet of the QPI protocol of the receiving end indicates that four NCB messages can be buffered. If the transmitting device always sends the NCB message, it is transmitting. After 4 NCB messages, the FIFO virtual channel of the receiving device NCB is filled. At this time, if an NCB message is sent again, the NCB message is blocked in the asyn-fifo of the PCIe domain.
  • the processing of the NCB packet is dependent on the NDR packet and the DRS packet.
  • the NDR packet and the DRS packet are blocked in the asyn-fifo of the PCIe domain or the FIFO corresponding to the sender device due to the blockage of the previously sent NCB packet.
  • the receiving device cannot be entered, causing the system to deadlock.
  • the packet sending control device obtains the available space information indicating that the four NCB messages can be buffered
  • the available space information is encapsulated in the PCIe data packet and sent to the packet sending and processing device.
  • the QPI protocol type packet sent by the sender device is controlled according to the available space information.
  • the message transmission processing device controls the sender device to no longer send NCB packets, so the asyn-fifo of the PCIe domain is not blocked by the NCB packets, making other types of The packet can be sent to the receiving device in time.
  • the protocol conversion process is required in the packet sending process, which can be implemented by using the existing protocol encapsulation and protocol parsing process, and is not described here.
  • the packet sending control method provided by the embodiment of the present invention, in the protocol conversion process, the packet sending control device acquires the available space information of the receiving channel corresponding to each packet of the first protocol type in the receiving end device, and The available space information is carried in the indication message of the second protocol type and sent to the message transmission processing device, so that the message transmission processing device can perform the message of the first protocol type sent by the sender device according to the available space information.
  • Sending control only the available space information of the receiving channel in the receiving device can effectively indicate that the device can still be in the receiving channel, effectively preventing the clogging of certain types of packets, so that other types of packets cannot be sent to the receiving device. Solve the problem of system deadlock.
  • the available space information of the receiving channel is updated, and the second protocol type is sent to the packet sending processing device.
  • the space update message includes the updated space information of the receiving channel or the newly added available space information of the receiving channel.
  • the packet sending control device updates the available space information of the receiving channel, and sends the packet to the packet.
  • the sending processing device sends a space update message of the second protocol type.
  • the packet sending control device may send the updated available space information to the packet sending and processing device, or may send the newly added available space information of the receiving channel to the packet sending and processing when the receiving channel of the receiving device has available space. device. For example, if a receiving channel of a receiving device can accommodate up to 10 packets, there are currently 7 pending packets. When three of the packets are processed, the packet sending control device can update.
  • the available space information that is, the available space information of the six messages, is sent to the message sending and processing device, and the available space information of the newly added three messages is sent to the message processing device.
  • the packet sending control device may send a new available space to the packet sending processing device every time a message is processed, or may send and process the packet when the available space of the receiving channel of the receiving end device is accumulated to a certain extent.
  • the device sends the updated space information of the receiving channel or the newly added available space information.
  • the available channel information of the receiving channel corresponding to each packet type of the first protocol type in the receiving device is obtained, and the receiving channel corresponding to each packet type of the first protocol type in the receiving device is obtained. Credit value.
  • the packet sending control device sends a second protocol type packet containing the credit value of each receiving channel to the packet sending processing device, so that the packet sending processing device sends the first sending value to the sending device according to the credit value of each receiving channel.
  • a protocol type message is sent for transmission control.
  • the packet of the QPI protocol field sent by the sender device is converted by the PCIe protocol and sent to the QPI protocol of the receiving device, that is, the first protocol type is QPI protocol, and the second protocol type is PCIe protocol.
  • the credit value of the NCB text of the QPI protocol obtained by the packet sending control device is 4, that is, the FIFO virtual channel corresponding to the NCB 4 message in the receiving device can also receive 4 packets
  • the message sending control device sends an indication message of the PCIe protocol type containing the credit value to the packet sending processing device, and the packet sending processing device receives
  • the instruction packet transmits and controls the NCB packet of the QPI protocol type sent by the sending device according to the credit value 4, and can control the sending device to send a maximum of four NCB packets to the receiving device.
  • the message sending control device can update the credit value of the NCB message from the original 4 to 6, and send the message to the message.
  • the sending processing device sends a space update message including the updated PCIe protocol type with a credit value of 6; the receiving device can also send a new credit value to the packet sending and processing device once an NCB message is processed. , that is, when an NCB message is processed, a space update message including a newly added credit value is sent to the transmission and transmission processing device, and after processing one NCB message, the new credit value is sent.
  • the space update message of the PCIe protocol type is sent to the sending and sending processing device, and the message sending and processing device accumulates each new added credit value and the existing credit value; the message sending control device can also be in several NCB messages.
  • the newly added credit value is sent to the packet transmission processing device, and the message transmission processing device accumulates the updated credit value and the existing credit value, for example, the newly added credit value 2 and the existing credit value. 4 cumulative, The accumulated credit value is 6, and the message sending and processing device performs transmission control on the QPI protocol type message sent by the sending device according to the accumulated credit value of 6.
  • the packet sending control method provided by the embodiment of the present invention sends a message including the updated available space information of the receiving channel or the newly added available space information of the receiving channel to the packet sending and processing device, so that the packet is sent.
  • the available space information of the second protocol type received by the processing device changes according to the available space information of the receiving channel of the first protocol type of the receiving device, that is, the packet sending and processing device can dynamically according to the receiving end.
  • the available space information of the receiving channel corresponding to each packet type of the device is sent to control the packets of the first protocol type sent by the sending device, which prevents the blocking of certain types of packets, so that other types of packets cannot be sent. To the receiving device, thus solving the problem of system deadlock.
  • FIG. 3 is a schematic flowchart diagram of Embodiment 1 of a packet sending processing method according to the present invention. As shown in FIG. 3, the packet sending control method includes the following steps:
  • S301 Receive a second protocol type indication packet sent by the packet sending control device, where the indication packet includes the available space information of the receiving channel corresponding to each packet of the first protocol type in the receiving device.
  • the receiving end device is a protocol domain in which a message between the channels corresponding to the sending end device has a dependency relationship, such as a QPI protocol.
  • a QPI protocol For details, please refer to Embodiment 1 S201, which is not mentioned here.
  • S302 Send and control, according to the available space information of each receiving channel, a packet of a first protocol type sent by the sending device.
  • the sending device can send the packet.
  • the first protocol type is the QPI protocol
  • the second protocol type is the PCIe protocol
  • the packet of the QPI protocol domain sent by the sending device is converted by the PCIe protocol and sent to the QPI protocol of the receiving device as an example.
  • the sending processing device receives the indication message of the PCIe protocol that includes the available space information indicating that the NCB of the four QPI protocol types can also be cached, parses the message, and sends the QPI protocol type to the sending device according to the available space information.
  • the NCB 4 is controlled by the text.
  • the sending end device sends 4 NCB packets, the available space of the NCB packet in the packet sending and processing device is 0.
  • the packet sending processing device controls the sending device to no longer send the NCB packet. Therefore, the asyn of the PCIe domain is used. — fifo will not be blocked by NCB messages, so that other types of messages can be sent to the receiving device in time.
  • the protocol conversion process is required in the packet sending process, which can be implemented by using the existing protocol encapsulation and protocol parsing process, and is not described here.
  • the packet sending processing device receives the second protocol type indication packet of the available space information of the receiving channel corresponding to each packet of the first protocol type sent by the packet sending control device And transmitting, according to the available space information, the first protocol type packet sent by the sending device, and only the available space information received by the packet sending and processing device is valid, that is, the available space information indicates that the N can still be cached ( When N > 1 and N is an integer), according to the available space information, the packet sending and processing device controls the transmitting device to send the packet of the first protocol type to the receiving device, thereby effectively preventing the type of the packet from being transmitted.
  • the blockage of the text makes it impossible for other types of messages to be sent to the receiving end device, thereby effectively preventing the deadlock problem due to the virtual channel mismatch in the 4 ⁇ text conversion process between different protocols.
  • the packet sending processing device may further receive the second protocol sent by the packet sending control device.
  • a space update message of the type the space update message includes the available space information of the first protocol type after the receiving channel is updated; and the corresponding space information sent by the sending end device corresponding to the receiving channel according to the updated available space information of the receiving channel
  • First protocol type report The text is sent for control.
  • the message sending and processing device receives the second protocol type space update message that is sent by the message sending control device and includes the available channel information of the receiving channel updated by the first protocol type, and sends the space update message to the sending device.
  • the packet of the first protocol type corresponding to the receiving channel is sent and received; the received space information of the receiving channel corresponding to each packet type of the first protocol type sent by the control packet is received by the receiving device.
  • the transmitting device can send up to 4 NCB packets to the receiving device, and the transmitting device sends an NCB packet.
  • the credit value should be reduced by 1. If the NCB of the receiving device is processed one or more, for example, two are processed, and the transmitting device does not send the NCB packet, the packet sending control device will use the NCB packet.
  • the available space has the original 4 updated to 6, and the updated free space information is sent to the message sending and processing device.
  • the packet sending processing device receives the spatial update packet of the second protocol type sent by the packet sending control device, and may further include the available space information added by the receiving channel of the first protocol type. And the message sending and processing device accumulates the newly added available space information and the existing available space information, and sends and controls the message corresponding to the receiving end channel of the sending end device according to the accumulated available space information. For example, in the QPI protocol, it is assumed that the value of the NCB packet received by the packet sending and processing device is 4, and if the NCB packet of the receiving device is processed one or more, for example, 2 are processed, that is, newly added.
  • the message sending and processing device accumulates the existing credit value 4 and the newly added credit value 2, and the accumulated credit value is accumulated. And 6, according to the accumulated credit value, the packet corresponding to the receiving channel sent by the sending end device is controlled.
  • the sender device can send a valid data packet with a valid value at any time according to the requirement and update the credit value of the message that has been released from the space.
  • the packet sending processing device receives the available space information that is updated by the receiving channel or the newly available available space of the receiving channel by receiving the packet sending control device.
  • Information, the available space information of the second protocol type received by the packet sending processing device, along with the first protocol type of the receiving device The available space information of the receiving channel of each packet type changes, that is, the packet sending processing device can dynamically send the available space information of the receiving channel corresponding to the packet type of each first protocol type of the receiving device to the transmitting end.
  • the packets sent by the device are sent to control, which prevents the clogging of certain types of packets, so that other types of packets cannot be sent to the receiving device.
  • the virtual channels do not match during packet conversion between different protocols. There is a problem with a deadlock.
  • FIG. 4 is a schematic structural diagram of an application scenario of a packet sending processing method according to the present invention.
  • FIG. 5 is a schematic diagram of interaction between a packet sending control device and a packet sending processing device in the packet sending processing method of the present invention. As shown in FIG. 4 and FIG. 5, the protocol conversion based on QPI and PCIe is taken as an example for description. .
  • QPI-A is the transmitting device
  • QPI B is the receiving device
  • HOM-FIFO SNP FIFO
  • NCB-FIFO DRS FIFO
  • NCS FIFO NDR-FIFO, etc. are different for QPI-A and QPI-B.
  • the receiving channel corresponding to the packet type, Credit-Tx is the packet sending control device, Credit-RX is the packet sending and processing device, and also includes the QPI domain packet to the PCIe domain packet encapsulation module (Packet Transform QPI-to- PCIe, hereinafter referred to as PT-Q2P), PCIe domain packet to QPI domain packet encapsulation module (Packet Transform PCIe-to-QPI, hereinafter referred to as PT P2Q), asynchronous FIFO (asyn_fifO), PCIe transmission network receiving end (PCIe- Rx) and the sender (PCIe-Tx).
  • PCIe domain packet encapsulation module Packet Transform QPI-to- PCIe
  • PT P2Q PCIe domain packet to QPI domain packet encapsulation module
  • asynchronous FIFO asyn_fifO
  • PCIe transmission network receiving end PCIe- Rx
  • sender PCIe-T
  • the message of QPI-A is converted into a message of PCIe domain, and then transmitted to the QPI domain after the network transmission of PCIe.
  • the PT Q2P module completes the encapsulation of the KPI domain message into the PCIe domain message; the PT-P2Q module completes the encapsulation of the PCIe domain message to the QPI domain message; the asyn-fifo module is the asynchronous fifo, and completes the cross-clock packet transmission.
  • packet encapsulation of different protocols can be found in the prior art. Since QPI has 6 different types of 4 ⁇ , these 6 types of ⁇ ⁇ correspond to different FIFOs. The following takes the QPI packet sending control system to send a packet as an example for detailed description.
  • the QPI-B end of the message transmission control device Credit_Tx obtains the available space information of the receiving channel corresponding to each message type of the QPI-end, that is, the credit of the receiving channel corresponding to each message type. Value, and send a credit value message containing the credit value to the message transmission processing device Credit_Rx of the QPI-A terminal; Credit-Rx parses the corresponding credit value after receiving the credit value message, and validates the credit value Text is converted.
  • Credit—Rx can accumulate the credit values of different received messages, and each time a message of this type is sent, the credit value needs to be decremented by 1.
  • AckO Ackl sends different NCB and HOM messages to Credit-Rx respectively. For example, before sending PacketO, NCB has a credit value of 4 and HOM has a credit value of 6.
  • the FIFO is considered to have a space to receive a new message, and the QPI-B end of the Credit-Rx
  • the message credit value will be updated and the updated credit value will be sent to Credit_Rx.
  • Credit—Rx will update the credit value of the NCB text, that is, the original 4 is updated to 6, and Credit-Rx sends the updated credit message with the ACK value of 6 to Credit-Rx.
  • An indication message containing a credit value may be inserted into a field (in a fixed field of a valid field) when a valid message is sent, or a separate credit message may be actively sent when no valid message is sent.
  • the packet sending control device acquires the available space information of the receiving channel corresponding to each packet type of the first protocol type in the receiving device, and Sending the available space information to the packet sending and processing device by using the second protocol type, so that the packet sending and processing device can send and control the first protocol type packet sent by the sending device according to the available spatial information, only in the When the available space information of the receiving channel in the receiving device indicates that the packet can still be buffered in the receiving channel, the packet sending message processing device sends the available space information including the updated receiving channel or the newly added available space information of the receiving channel.
  • the available space information received by the packet sending and processing device changes according to the available space information of the receiving channel of the first protocol type of the receiving device, that is, the packet sending and processing device can dynamically according to the receiving end.
  • the available space of the receiving channel corresponding to each packet type of the device.
  • the information is sent to and control the packets of the first protocol type sent by the sending device to prevent the clogging of certain types of packets, so that other types of packets cannot be sent to the receiving device, thus solving the problem of system deadlock. .
  • FIG. 6 is a schematic structural diagram of Embodiment 1 of a message sending control device according to the present invention. As shown in FIG. 6, the message sending control device includes: an obtaining module 1 and a sending module 3.
  • the obtaining module 1 is configured to obtain the available space information of the receiving channel corresponding to each packet type of the first protocol type in the receiving device in the protocol conversion process.
  • the sending module 3 is configured to send, by the protocol layer, a packet of the second protocol type that includes the available space information of each receiving channel to the packet sending and processing device, so that the packet sending and processing device can use the available space information of each receiving channel.
  • the packet of the first protocol type sent by the sending device is sent to control, and the first protocol type and the second protocol type are different protocol types.
  • the device in this embodiment is used to perform the technical solution of the first embodiment of the method shown in FIG. 2, and the implementation principle and technical effects are similar, and details are not described herein again.
  • FIG. 7 is a schematic structural diagram of Embodiment 2 of a packet sending control device according to the present invention.
  • the packet sending control device further includes: an updating module 2, configured to: if the packet of the first protocol type in the receiving channel is processed, update the available space of the receiving channel, based on the structure shown in FIG. information;
  • the sending module 3 is further configured to send, to the packet sending processing device, a space update message of a second protocol type, where the space update message includes the updated available space information of the receiving channel or the newly added available space information of the receiving channel. .
  • the acquiring module 1 may be specifically configured to obtain a credit value of a receiving channel corresponding to each packet type of the first protocol type in the receiving device, and the sending module 2 may be specifically used in The protocol layer sends a second protocol type credit value packet including the credit value of each receiving channel to the packet sending processing device, so that the packet sending processing device sends the first protocol to the sending device according to the credit value of each receiving channel. Types of messages are sent for control.
  • the device in this embodiment is used to perform the technical solution in the second embodiment of the foregoing method, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • FIG. 8 is a schematic structural diagram of Embodiment 1 of a packet sending and processing apparatus according to the present invention.
  • the message sending and processing device includes: a receiving module 4 and a control module 5.
  • the receiving module 4 is configured to receive the indication message of the second protocol type sent by the packet sending control device, where the indication message includes the available space information of the receiving channel corresponding to each packet of the first protocol type in the receiving device.
  • the control module 5 is configured to send, according to the available space information of each receiving channel, a packet of a first protocol type sent by the sending end device.
  • the first protocol type and the second protocol type are different protocol types.
  • the device in this embodiment is used to perform the technical solution of the first embodiment of the method shown in FIG. 3, and the implementation principle and technical effects are similar, and details are not described herein again.
  • the receiving module 4 is further configured to receive, by the packet sending control device, a spatial update packet of a second protocol type that includes the updated available space information of the receiving channel.
  • the control module 5 is further configured to The updated available space information of the receiving channel is used to control the sending of the first protocol type packet corresponding to the receiving channel sent by the sending end device.
  • FIG. 9 is a schematic structural diagram of Embodiment 2 of a packet sending and processing apparatus according to the present invention.
  • the receiving module 4 is further configured to receive, by the packet sending control device, a second information that includes the newly added available space information of the receiving channel.
  • Association The control module 5 further includes: an accumulating unit 51, configured to accumulate the newly added available space information and the existing available space information; and the processing unit 52 is configured to use the accumulated available space.
  • the information is sent to the first protocol type packet corresponding to the receiving channel that is sent by the sending end device.
  • the received space information of the receiving channel corresponding to each packet type of the first protocol type sent by the receiving device may be the credit value of the receiving channel corresponding to each packet type in the receiving device.
  • the initial credit value of the obtained NCB is 4, and if one or more NCB messages are processed, for example, 2 are processed, that is, the newly added available space is 2, if this time is
  • the sending end device does not send the NCB packet
  • the receiving module 4 receives the space update message that is sent by the packet sending control device and contains two new credit values
  • the accumulating unit 51 of the control module 5 adds the existing credit value 4
  • the added credit value 2 is accumulated, and the accumulated credit value is 6.
  • the processing unit 52 of the control module 5 controls the packet corresponding to the receiving channel sent by the sending end device according to the accumulated available space information. .
  • the transmitting device can send a valid data message of the spatial information according to the requirement at any time, and update the available space information of the message that has released the released space.
  • the packet sending and processing device in the protocol conversion process, receives a second protocol including the updated available space information of the receiving channel or the newly added available space information of the receiving channel, which is sent by the receiving packet sending control device.
  • the type of the message so that the available space information received by the packet sending and processing device changes according to the available space information of the receiving channel of each packet type of the first protocol type message of the receiving device, that is, the packet sending and processing device can Dynamically transmitting and controlling packets of the first protocol type sent by the sending device according to the available space information of the receiving channel corresponding to each packet type of the receiving device, thereby effectively preventing other types of packets from being blocked due to certain types of packets.
  • the message cannot be sent to the receiving device, thus solving the problem of system deadlock.
  • FIG. 10 is a schematic structural diagram of an embodiment of a transmission control system according to the present invention.
  • the message transmission control system includes: a receiving end device 6, a message sending control device 7, a message sending and processing device 8, and a transmitting device 9.
  • the fourth embodiment of the present invention can be used in conjunction with the foregoing embodiments of the device: the receiving device 6, the packet sending control device 7, and the message sending and processing device 8
  • the specific interaction process with the sender device 9 and the network architecture can be used 4 and the content shown in Figure 5 is implemented, and will not be described here.
  • FIG. 11 is a schematic structural diagram of Embodiment 3 of a packet sending control device according to the present invention.
  • the message transmission control device 1100 includes: at least one CPU 1101, at least one network interface 1104 or other user interface 1103, a memory 1105, and at least one communication bus 1 102.
  • Communication bus 1 102 is used to implement connection communication between devices.
  • the message transmission control device 1 100 optionally includes a user interface 1103 including a display, a keyboard or a pointing device.
  • Memory 1 105 may contain high speed RAM memory and may also include non-volatile memory, such as at least one disk memory.
  • the memory 1105 can optionally include at least one storage device located remotely from the aforementioned CPU 1101. In some embodiments, the memory 1105 stores elements, coding, modules or data structures, or a subset thereof, or their extended set, an operating system 1106, including various programs for implementing various basic services and Handle hardware-based tasks.
  • the processor 1110 is configured to obtain available space information of a receiving channel corresponding to each packet of the first protocol type in the receiving end device.
  • the transmitter 1120 is configured to send, to the packet sending processing device, an indication packet of a second protocol type that includes available space information of each receiving channel, so that the packet sending processing device sends the sending space according to the available space information of each receiving channel.
  • the packet of the first protocol type sent by the device is sent and controlled.
  • the first protocol type and the second protocol type are different protocol types.
  • the device in this embodiment is used to perform the technical solution of the first embodiment of the method shown in FIG. 2, and the implementation principle and technical effects are similar, and details are not described herein again.
  • the processor 1 110 is configured to update the available space information of the receiving channel;
  • the transmitter 1120 is further configured to send a spatial update message to the fourth file sending processing device, where the space update message includes the updated available space information of the receiving channel or the newly added available space information of the receiving channel.
  • the processor 1110 may be specifically configured to obtain a credit value of a receiving channel corresponding to each packet of the first protocol type in the receiving device, and a credit value report of the second protocol type of the transmitter. Text, so that the message transmission processing device according to the letter of each receiving channel The value of the first protocol type packet sent by the sending device is sent and controlled.
  • the packet sending control device 1100 provided in this embodiment includes a core component for processing a service, and is not related to the specific purpose of the embodiment, and details are not described herein.
  • the working processes of the processor 1 110 and the transmitter 1120 in the message transmission control device 1 100 are similar to those of the acquisition module 1 and the transmission module 3 of the message transmission control device in FIG. 6, and will not be described again.
  • FIG. 12 is a schematic structural diagram of Embodiment 3 of a packet sending and processing apparatus according to the present invention.
  • the message transmission control device 1200 includes: at least one CPU 1201, at least one network interface 1204 or other user interface 1203, a memory 1205, and at least one communication bus 1202. Communication bus 1202 is used to implement connection communication between devices.
  • the message transmission control device 1200 optionally includes a user interface 1203, including a display, a keyboard or a pointing device.
  • the memory 1205 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
  • the memory 1205 can optionally include at least one storage device located remotely from the aforementioned CPU 1201. In some embodiments, the memory 1205 stores the following elements, codes, modules or data structures, or a subset thereof, or their extended set, an operating system 1206, including various programs for implementing various basic services and Handle hardware-based tasks.
  • the receiver 1210 is configured to receive the indication message of the second protocol type sent by the packet sending control device, where the indication packet includes the available space information of the receiving channel corresponding to each packet of the first protocol type in the receiving device.
  • the controller 1220 is configured to send, according to the available space information of each receiving channel, a packet of a first protocol type sent by the sending end device.
  • the first protocol type and the second protocol type are different protocol types.
  • the receiver 1210 is further configured to receive a second protocol type space update message that is sent by the packet sending control device and includes the updated space information after receiving the channel update.
  • the controller 1220 is further configured to update the received channel according to the received channel.
  • the available space information is used to control the sending of the first protocol type packet corresponding to the receiving channel sent by the sending end device.
  • the receiver 1210 is further configured to receive a space update message that is sent by the packet sending control device and includes the available space information added by the receiving channel.
  • the controller 1220 is configured to use the newly added available space information with the existing The available space information is accumulated, and according to the accumulated available space information, the packet of the first protocol type corresponding to the receiving channel sent by the sending end device is entered. Line send control.
  • the available space information of the receiving channel corresponding to each packet type sent by the received packet sending control device may be the credit value of the receiving channel corresponding to each packet type in the receiving device.
  • the packet sending and processing device receives the available space information after the update of the receiving channel or the available space information added by the receiving channel, which is sent by the packet sending and controlling device, so that the packet sending and processing device receives the
  • the available space information changes according to the available space information of the receiving channel of each packet type of the receiving device, that is, the packet sending processing device can dynamically obtain the available space information of the receiving channel according to each packet type of the receiving device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种报文发送控制方法、处理方法、设备及***。该方法包括:报文发送控制设备获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息,并将该可用空间信息携带在第二协议类型的指示报文中发送给报文发送处理设备,报文发送处理设备根据该可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制。本发明实施例提供的报文发送控制方法,报文发送处理设备根据该可用空间信息对发送端设备发送的报文进行发送控制,只有在报文的可用空间信息有效时发送该报文,有效防止不同协议间的报文转换时,由于虚通道不匹配而出现死锁的问题。

Description

报文发送控制方法、 处理方法、 设备及*** 技术领域 本发明涉及通信技术, 尤其涉及一种报文发送控制方法、 处理方法、 设备及***。 背景技术 在目前高速的点对点串行连接中, 有 4艮多种协议, 比如高速外设组件 互联标准 ( Peripheral Component Interconnect Express, 以下简称 PCIe )协 议、 高性能外设组件互联标准(Papid lO, 以下简称 RapidlO )协议、 快速 互联通道( Quick Path Interconnect , 以下简称 QPI )协议等。 由于各个协 议的应用场景不同, 需要进行不同协议间的转换以适应不同的场合, 如将 QPI协议与以太网或者无限宽带技术( Infiniband, 以下简称 IB )协议进行 转换。
在报文协议转换过程中, 针对每种协议, 其虚通道个数可能是不一致 的, 而有的协议, 如 QPI协议, 其虚通道之间的 4艮文存在依赖关系。 图 1 为 QPI协议的六种不同报文的依赖关系示意图。 如图 1所示, 实线箭头代 表了数据报文之间真正的依赖关系, 例如非一致性标准报文 (Non Coherence Standard , 以下简称 NCS ) 依赖非数据响应报文 (Non data Response, 以下简称 NDR ) 、 非一致性旁路 4艮文 ( Non Coherence Bypass, 以下简称 NCB ) 、 数据响应 ^艮文(Data Response, 以下简称 DRS ) 、 监 听报文( Snoop, 以下简称 SNP )及本地报文( Home, 以下简称 HOM ) ; 虚线箭头代表了数据报文之间也有依赖关系,但是由于预先给 NDR、 DRS 分配了资源, 依赖关系可以被消除。 所谓依赖关系, 是指如果要处理某个 报文,则必须先处理与其相关的其它报文。如图 1中,若要处理 SNP报文, 则需要先处理与其相关的 HOM、 NDR、 DRS报文。
但是, 发明人发现, 由于不同协议的虚通道数可能不匹配, 现有技术 在对具有依赖关系的报文进行协议转换和报文发送的过程中, 时常出现由 于某种类型的报文堵塞而引起***死锁的问题, 导致报文发送失败。 发明内容 本发明实施例提供一种报文发送控制方法、 处理方法、 设备及***, 以防止不同协议间的 4艮文转换时, 由于不同协议的虚通道不匹配而出现死 锁的问题。
第一方面, 本发明实施例提供一种报文发送控制方法, 包括: 获取接收端设备中第一协议类型的各报文对应的接收通道的可用空 间信息;
在协议层向报文发送处理设备发送包含所述各接收通道的可用空间 信息的第二协议类型的指示报文, 以使所述报文发送处理设备根据所述各 接收通道的可用空间信息对发送端设备发送的所述第一协议类型的各报 文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
在第个一方面的第一种可能的实现方式中, 所述获取接收端设备中第 一协议类型的各报文对应的接收通道的可用空间信息之后, 还包括:
若接收通道中的所述第一协议类型的报文被处理, 则更新所述接收通 道的可用空间信息, 并向所述报文发送处理设备发送所述第二协议类型的 空间更新报文, 所述空间更新报文中包含所述接收通道更新后的可用空间 信息或者所述接收通道新增的可用空间信息。
结合第一个方面或是第一个方面的第一种可能的实现方式, 在第二种 可能的实现方式中, 所述获取接收端设备中第一协议类型的各报文对应的 接收通道的可用空间信息, 包括:
获取接收端设备中第一协议类型的各报文类型对应的接收通道的信 用值;
所述在协议层向报文发送处理设备发送包含所述各接收通道的可用 空间信息的第二协议类型的指示报文, 以使所述报文发送处理设备根据所 述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的 报文进行发送控制, 包括:
向所述报文发送处理设备发送包含所述各接收通道的信用值的所述 第二协议类型的信用值报文, 以使所述报文发送处理设备根据所述各接收 通道的信用值对发送端设备发送的所述第一协议类型的报文进行发送控 制。
第二个方面, 本发明实施例提供一种报文发送处理方法, 包括: 接收报文发送控制设备发送的第二协议类型的指示报文, 所述指示报 文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用空 间信息;
根据所述各接收通道的可用空间信息对发送端设备发送的所述第一 协议类型的报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。 在第二方面的第一种可能的实现方式中, 所述接收报文发送控制设备 发送的第二协议类型的指示报文之后, 还包括:
接收所述报文发送控制设备发送的所述第二协议类型的空间更新报 文, 所述空间更新报文中包含所述接收通道更新后的可用空间信息; 根据所述接收通道更新后的可用空间信息, 对所述发送端设备发送的 与所述接收通道对应的第一协议类型的报文进行发送控制。
在第二个方面的第二种可能的实现方式中, 所述接收报文发送控制设 备发送的第二协议类型的指示报文之后, 还包括:
接收所述报文发送控制设备发送的第一协议类型的空间更新报文, 所 述空间更新报文中包含所述接收通道新增的可用空间信息;
将所述新增的可用空间信息与已有的可用空间信息进行累加; 根据所述累加后的可用空间信息, 对所述发送端设备发送的与所述接 收通道对应的第一协议类型的报文进行发送控制。
结合第二个方面或是第二个方面的第一种可能的实现方式或是第二 个方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述可用 空间信息为所述接收通道的信用值。
第三方面, 本发明实施例提供一种报文发送控制设备, 包括: 获取模块, 获取接收端设备中第一协议类型的各报文对应的接收通道 的可用空间信息;
发送模块, 在协议层向报文发送处理设备发送包含所述各接收通道的 可用空间信息的第二协议类型的指示报文, 以使所述报文发送处理设备根 据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类 型的各报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
在第三个方面的第一种可能的实现方式中, 所述设备还包括: 更新模块, 若接收通道中的所述第一协议类型的报文被处理, 则更新 所述接收通道的可用空间信息;
所述发送模块, 还用于向所述报文发送处理设备发送所述第二协议类 型的空间更新报文, 所述空间更新报文中包含所述接收通道更新后的可用 空间信息或者所述接收通道新增的可用空间信息。
结合第三个方面的第一种可能的实现方式或是第二种可能的实现方 式, 在第三种可能的实现方式中, 所述获取模块, 具体用于获取接收端设 备中第一协议类型的各报文类型对应的接收通道的信用值; 收通道的信用值的所述第二协议类型的信用值报文, 以使所述报文发送处 理设备根据所述各接收通道的信用值对发送端设备发送的所述第一协议 类型的报文进行发送控制。
第四方面, 本发明实施例提供一种报文发送处理设备, 包括: 接收模块, 接收报文发送控制设备发送的第二协议类型的指示报文, 所述指示报文中包含接收端设备中第一协议类型的各报文对应的接收通 道的可用空间信息;
控制模块, 用于根据所述各接收通道的可用空间信息对发送端设备发 送的所述第一协议类型的报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
在第四个方面的第一种可能的实现方式中, 所述接收模块, 还用于接 收所述报文发送控制设备发送的所述第二协议类型的空间更新报文, 所述 空间更新报文中包含所述接收通道更新后的可用空间信息;
所述控制模块, 还用于根据所述接收通道更新后的可用空间信息, 对 所述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行 发送控制。
在第四个方面的第二种可能的实现方式中, 所述接收模块, 还用于接 收所述报文发送控制设备发送的空间更新报文, 所述空间更新报文中包含 所述接收通道新增的可用空间信息;
所述控制模块, 包括:
累加单元, 用于将所述新增的可用空间信息与已有的可用空间信息进 行累加;
处理单元, 用于根据所述累加后的可用空间信息, 对所述发送端设备 发送的与所述接收通道对应的第一协议类型的报文进行发送控制。
结合第四个方面或是第四个方面的第一种可能的实现方式或是第四 个方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述可用 空间信息为所述接收通道的信用值。
第五方面, 本发明实施例提供一种报文处理***, 包括:
接收端设备、 发送端设备、 上述的报文发送控制设备及报文发送处理 设备。
第六个方面, 本发明实施例提供一种报文发送控制设备, 包括: 处理器, 用于获取接收端设备中第一协议类型的各报文对应的接收通 道的可用空间信息;
发送器, 用于在协议层向报文发送处理设备发送包含所述各接收通道 的可用空间信息的第二协议类型的指示报文, 以使所述报文发送处理设备 根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议 类型的各报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。 在第六个方面的第一种可能的实现方式中,
所述处理器, 还用于若接收通道中的所述第一协议类型的报文被处 理, 则更新所述接收通道的可用空间信息;
所述发送器, 还用于向所述报文发送处理设备发送所述第二协议类型 的空间更新报文, 所述空间更新报文中包含所述接收通道更新后的可用空 间信息或者所述接收通道新增的可用空间信息。
结合第六个方面的第一种可能的实现方式或是第二种可能的实现方 式, 在第三种可能的实现方式中,
所述处理器, 具体用于获取接收端设备中第一协议类型的各报文类型 对应的接收通道的信用值; 通道的信用值的所述第二协议类型的信用值报文, 以使所述报文发送处理 设备根据所述各接收通道的信用值对发送端设备发送的所述第一协议类 型的报文进行发送控制。
第七个方面,本发明实施例提供一种报文发送处理设备,其特征在于, 包括:
接收器, 用于接收报文发送控制设备发送的第二协议类型的指示报 文, 所述指示报文中包含接收端设备中第一协议类型的各报文对应的接收 通道的可用空间信息;
控制器, 用于根据所述各接收通道的可用空间信息对发送端设备发送 的所述第一协议类型的报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
在第七个方面的第一种可能的实现方式中,
所述接收器, 还用于接收所述报文发送控制设备发送的所述第二协议 类型的空间更新报文, 所述空间更新报文中包含所述接收通道更新后的可 用空间信息;
所述控制器, 还用于根据所述接收通道更新后的可用空间信息, 对所 述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行发 送控制。
在第七个方面的第二种可能的实现方式中,
所述接收器, 还用于接收所述报文发送控制设备发送所述第二协议类 型的的空间更新报文, 所述空间更新报文中包含所述接收通道新增的可用 空间信息;
所述控制器, 将所述新增的可用空间信息与已有的可用空间信息进行 累加, 根据所述累加后的可用空间信息, 对所述发送端设备发送的与所述 接收通道对应的第一协议类型的报文进行发送控制。
结合第七个方面或是第七个方面的第一种可能的实现方式或是第七 个方面的第二种可能的实现方式, 在第三种可能的实现方式中, 其特征在 于, 所述可用空间信息为接收通道的信用值。 本发明实施例提供的报文发送控制方法、 处理方法、 设备及***, 在 协议转换过程中, 报文发送控制设备获取接收端设备中第一协议类型的各 报文对应的接收通道的可用空间信息, 并将该可用空间信息携带在第二协 议类型的指示报文中发送给报文发送处理设备, 从而使得报文发送处理设 备可以根据该可用空间信息对发送端设备发送的第一协议类型的报文进 行发送控制, 只有在接收端设备中的接收通道的可用空间信息指示接收通 给接收端设备, 有效防止由于某种类型报文的堵塞, 使得其它类型的报文 无法发送至接收端设备, 从而解决***死锁的问题。 附图说明
实施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见 地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员 来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的 附图。
图 1为 QPI协议的六种不同报文的依赖关系示意图;
图 2为本发明报文发送控制方法实施例一的流程示意图;
图 3为本发明报文发送处理方法实施例一的流程示意图;
图 4为本发明报文发送处理方法的应用场景的结构示意图; 图 5为本发明报文发送处理方法中报文发送控制设备和报文发送处理 设备之间的交互示意图;
图 6为本发明报文发送控制设备实施例一的结构示意图;
图 7为本发明报文发送控制设备实施例二的结构示意图;
图 8为本发明报文发送处理设备实施例一的结构示意图;
图 9为本发明报文发送处理设备实施例二的结构示意图;
图 10为本发明报文发送控制***实施例的结构示意图;
图 11为本发明报文发送控制设备实施例三的结构示意图;
图 12为本发明报文发送处理设备实施例三的结构示意图。 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本 发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提 下所获得的所有其他实施例, 都属于本发明保护的范围。
图 2为本发明报文发送控制方法实施例一的流程示意图。如图 2所示, 该报文发送控制方法, 包括下列步骤:
S201: 报文发送控制设备获取接收端设备中第一协议类型的各报文对 应的接收通道的可用空间信息。
在协议转换过程中, 报文发送控制设备获取接收端设备中第一协议类 型的各报文对应的接收通道的可用空间信息。
具体来说, 各个接收通道即接收端设备中与各报文类型对应的先进先 出 (First In First Out, 以下简称 FIFO )虚通道。 以 QPI协议来说, QPI 协议有 6种不同类型的报文, 即如图 1所示的 6种报文类型, 这 6种不同 的报文类型分别对应不同的 FIFO虚通道,每个 FIFO虚通道用于緩存接收 端设备待处理的某一类型的报文。 相应地, 本步骤中, 报文发送控制设备 可以获取 6个 FIFO虚通道的可用空间信息。 举例来说, 针对 NDR报文, 其 FIFO虚通道共可緩存 10个 NDR ^艮文, 如当前该 FIFO虚通道中只緩 存了 6个, 则该 FIFO虚通道的可用空间信息即为用于指示仍能緩存 4个 NDR 4艮文的信息。
S202: 报文发送控制设备在协议层向报文发送处理设备发送包含各接 收通道的可用空间的第二协议类型的指示报文, 以使得报文发送处理设备 根据各接收通道的可用空间信息对发送端设备发送的第一协议类型的报 文进行发送控制。
报文发送控制设备将在 S201 中获取到的接收端设备中第一协议类型 的各报文对应的接收通道的可用空间信息携带在第二协议类型的指示报 文中发送给报文发送处理设备, 报文发送处理设备即可根据该可用空间信 息, 对发送端设备发送的第一协议类型的报文进行发送控制。 也即, 本步 骤中, 只有报文发送处理设备接收到的某种报文的可用空间信息指示某种 报文的 FIFO虚通道仍存在空余时, 报文发送处理设备才可以将发送端设 备发送的该类型的报文发送给接收端设备。
以发送端设备发送 QPI协议域的报文经 PCIe协议转换后发送给接收 端设备的 QPI协议的 4艮文, 亦即, 第一协议为具体为 QPI协议、 第二协议 具体为 PCIe协议为例, 现有的报文发送控制方法中, 假设接收端的 QPI 协议的 NCB报文的 FIFO虚通道的可用空间信息指示能緩存 4个 NCB报 文, 如果发送端设备一直发送 NCB 艮文, 则在发送了 4个 NCB 艮文后, 接收端设备 NCB的 FIFO虚通道被写满。 此时, 倘若再发送一个 NCB报 文, 则该 NCB报文被堵在 PCIe域的 asyn— fifo中。 而 NCB报文的处理依 赖于 NDR报文和 DRS报文,由于之前发送的 NCB报文的堵塞,使得 NDR 报文和 DRS报文被堵在 PCIe域的 asyn— fifo或者发送端设备对应的 FIFO 虚通道中, 无法进入接收端设备从而引起***死锁。 本实施例中, 报文发 送控制设备获取到指示能緩存 4个 NCB报文的可用空间信息后, 将该可 用空间信息封装在 PCIe数据报文中发送给报文发送处理设备。 根据该可 用空间信息, 对发送端设备发送的 QPI协议类型的报文进行控制。 在发送 端设备发送了 4个 NCB 艮文后, ^艮文发送处理设备控制发送端设备不再 发送 NCB报文, 因此 PCIe域的 asyn— fifo不会被 NCB报文堵住, 使得其 他类型的报文可以及时的发送至接收端设备。
需要说明的是, 上述实施例在报文发送过程中, 需要进行协议转换处 理, 其可以釆用现有的协议封装和协议解析的处理过程实现, 此处不再赘 述。
本发明实施例提供的报文发送控制方法, 在协议转换过程中, 报文发 送控制设备获取接收端设备中第一协议类型的各报文对应的接收通道的 可用空间信息, 并在协议层将该可用空间信息携带在第二协议类型的指示 报文中发送给报文发送处理设备, 从而使得报文发送处理设备可以根据该 可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制, 只 有在接收端设备中的接收通道的可用空间信息有效指示接收通道中仍能 设备, 有效防止由于某种类型报文的堵塞, 使得其它类型的报文无法发送 至接收端设备, 从而解决***死锁的问题。 在本发明报文发送控制方法实施例二中, 若接收通道中的第一协议类 型的报文被处理, 则更新该接收通道的可用空间信息, 并向报文发送处理 设备发送第二协议类型的空间更新报文, 空间更新报文中包含该接收通道 更新后的可用空间信息或者该接收通道新增的可用空间信息。
具体来说, 若接收端设备的某个接收通道中的报文被处理掉, 该接收 通道的可用空间被释放出, 则报文发送控制设备更新该接收通道的可用空 间信息, 并向报文发送处理设备发送第二协议类型的空间更新报文。 报文 发送控制设备可以将更新后的可用空间信息发送给报文发送处理设备, 也 可以在接收端设备的接收通道一旦有可用空间时发送该接收通道新增的 可用空间信息给报文发送处理设备。 举例来说, 若接收端设备的某个接收 通道最多容纳 10个报文, 当前已有待处理报文 7个, 当其中的 3个报文 被处理掉, 则报文发送控制设备既可以将更新后的可用空间信息即 6个报 文的可用空间信息发送给报文发送处理设备, 也可以将新增的 3个报文的 可用空间信息发送给报文处理设备。
报文发送控制设备可以在每处理掉一个报文就发送一个新增可用空 间给报文发送处理设备, 也可以在接收端设备的接收通道的可用空间积累 到一定程度时再给报文发送处理设备发送该接收通道更新后的可用空间 信息或者新增的可用空间信息。
本发明上述实施例中, 获取接收端设备中第一协议类型的各报文类型 对应的接收通道的可用空间信息, 可以为获取接收端设备中第一协议类型 的各报文类型对应的接收通道的信用值。 报文发送控制设备向报文发送处 理设备发送包含各接收通道的信用值的信用值第二协议类型报文, 以使报 文发送处理设备根据各接收通道的信用值对发送端设备发送的第一协议 类型的报文进行发送控制。
例如, 以发送端设备发送的 QPI协议域的^艮文经 PCIe协议转换后发 送给接收端设备的 QPI协议的报文, 亦即, 第一协议类型为 QPI协议, 第 二协议类型为 PCIe协议为例, 假设报文发送控制设备获取到的 QPI协议 的 NCB 文的信用值为 4, 也即接收端设备中与 NCB 4艮文对应的 FIFO 虚通道中还可以接收 4个报文, 则报文发送控制设备向报文发送处理设备 发送含有该信用值的 PCIe协议类型的指示报文, 报文发送处理设备接收 该指示报文,并根据该信用值 4对发送端设备发送的 QPI协议类型的 NCB 报文进行发送控制, 即可控制发送端设备最多发送 4个 NCB报文给接收 端设备。若接收端设备的 NCB报文被读出,例如有 2个 NCB报文被读出, 此时报文发送控制设备可以将 NCB的报文的信用值由原来的 4更新为 6, 并向报文发送处理设备发送包含更新后的信用值为 6的 PCIe协议类型的 空间更新报文; 接收端设备也可以在一旦有一个 NCB报文被处理后即发 送新增的信用值给报文发送处理设备, 即处理掉一个 NCB报文, 就发送 包含新增的 1个信用值的空间更新报文给发报发送处理设备, 再处理掉一 个 NCB报文后, 再发送包含新增的 1个信用值的 PCIe协议类型的空间更 新报文给发报发送处理设备, 报文发送处理设备将每次新增的信用值和已 有的信用值累加; 报文发送控制设备还可以在数个 NCB报文被处理后再 发送新增的信用值给报文发送处理设备, 报文发送处理设备将更新的信用 值和已有的信用值向累加,例如将新增的信用值 2和已有的信用值 4累加, 累加后的信用值为 6, 报文发送处理设备根据该累加后的为 6的信用值对 发送端设备发送的 QPI协议类型的报文进行发送控制。
本发明实施例提供的报文发送控制方法, 在协议转换过程中, 通过向 报文发送处理设备发送包含有接收通道更新后的可用空间信息或者接收 通道新增的可用空间信息, 使得报文发送处理设备接收到的第二协议类型 的可用空间信息随着接收端设备各第一协议类型的报文的接收通道的可 用空间信息的变化而变化, 即报文发送处理设备可以动态的根据接收端设 备的各报文类型对应的接收通道的可用空间信息对发送端设备发送的第 一协议类型的报文进行发送控制, 有效防止由于某种类型报文的堵塞, 使 得其它类型的报文无法发送至接收端设备, 从而解决***死锁的问题。
图 3为本发明报文发送处理方法实施例一的流程示意图。如图 3所示, 该报文发送控制方法, 包括下列步骤:
S301 : 接收报文发送控制设备发送的第二协议类型的指示报文, 指示 报文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用 空间信息。
接收端设备是与发送端设备对应的通道之间的报文存在依赖关系的 协议域, 例如 QPI协议。 详细请参见实施例一 S201 , 此处不再赞述。 S302: 根据各接收通道的可用空间信息对发送端设备发送的第一协议 类型的报文进行发送控制。
本步骤中, 只有报文发送处理设备接收到的第一协议类型的某种报文 的可用空间信息有效的情况下, 发送端设备才可以发送该报文。 以第一协 议类型为 QPI协议, 第二协议类型为 PCIe协议、 发送端设备发送的 QPI 协议域的报文经 PCIe协议转换后发送给接收端设备的 QPI协议的报文为 例, 若报文发送处理设备接收到包含有可用空间信息指示为还能緩存 4个 QPI协议类型的 NCB的 PCIe协议的的指示报文, 解析该报文, 并根据该 可用空间信息对发送端设备发送 QPI协议类型的 NCB 4艮文进行控制。 如 果发送端设备发送完 4个 NCB报文后, 此时报文发送处理设备中 NCB报 文的可用空间为 0, 报文发送处理设备控制发送端设备不再发送 NCB报 文, 因此 PCIe域的 asyn— fifo不会被 NCB报文堵住,使得其他类型的报文 可以及时的发送至接收端设备。
需要说明的是, 上述实施例在报文发送过程中, 需要进行协议转换处 理, 其可以釆用现有的协议封装和协议解析的处理过程实现, 此处不再赘 述。
本发明实施例提供的报文发送处理方法, 报文发送处理设备接收报文 发送控制设备发送的第一协议类型的各报文对应的接收通道的可用空间 信息的第二协议类型的指示报文, 并根据该可用空间信息对发送端设备发 送的第一协议类型的报文进行发送控制, 只有在报文发送处理设备接收到 的可用空间信息有效, 即可用空间信息指示为仍能緩存 N ( N > 1 , N为整 数)个报文时, 根据该可用空间信息, 报文发送处理设备才控制发送端设 备将第一协议类型的报文发送给接收端设备, 有效防止由于某种类型报文 的堵塞, 使得其他类型的报文无法发送至接收端设备, 从而有效防止不同 协议间的 4艮文转换过程中由于虚通道不匹配而出现死锁的问题。
在本发明报文发送处理方法实施例四中, 在接收报文发送控制设备发 送的第二协议类型的指示报文后, 报文发送处理设备还可以接收报文发送 控制设备发送的第二协议类型的空间更新报文, 空间更新报文中包含接收 通道更新后的第一协议类型的可用空间信息; 根据该接收通道更新后的可 用空间信息, 对发送端设备发送的与该接收通道对应的第一协议类型的报 文进行发送控制。
具体来说, 报文发送处理设备接收报文发送控制设备发送的包含有第 一协议类型的接收通道更新后的可用空间信息的第二协议类型的空间更 新报文, 对发送端设备发送的与该接收通道对应的第一协议类型的报文进 行发送控制; 接收到的报文发送控制设备发送的第一协议类型的各报文类 型对应的接收通道的可用空间信息, 可以为接收端设备中各第一协议类型 的报文对应的接收通道的信用值。
例如 QPI协议中, 假设报文发送处理设备接收到的 NCB报文的信用 值大小为 4, 则发送端设备最多可以发送 4个 NCB报文给接收端设备,发 送端设备每发送一个 NCB报文, 信用值都要减 1。 若接收端设备的 NCB 才艮文被处理掉一个或数个后, 例如, 处理掉 2个, 且这段时间内发送端设 备没有发送 NCB报文, 则此时报文发送控制设备将 NCB报文的可用空间 有原来的 4更新为 6, 并将该更新的可用空间信息发送给报文发送处理设 备。
在本发明的另一实施例中, 报文发送处理设备接收报文发送控制设备 发送的第二协议类型的空间更新报文, 还可以包含有第一协议类型的接收 通道新增的可用空间信息, 报文发送处理设备将该新增的可用空间信息与 已有的可用空间信息进行累加, 根据累加后的可用空间信息, 对发送端设 备的与该接收端通道对应的报文进行发送控制。 例如 QPI协议中, 假设报 文发送处理设备接收到的 NCB报文的信用值为 4, 若接收端设备的 NCB 报文被处理掉一个或数个后, 例如, 处理掉 2个, 即新增的信用值为 2, 若这段时间内发送端设备没有发送 NCB报文, 则此时报文发送处理设备 将已有的信用值 4和新增的信用值 2进行累加,累加后信用值的大小为 6, 根据该累加后的信用值, 对发送端设备发送的与该接收通道对应的报文进 行控制。 在信用值有效的情况下, 发送端设备可以随时的根据需求发送信 用值有效的数据报文并对处理掉释放出空间的报文的信用值进行更新。
本发明实施例提供的报文发送处理方法, 在协议转换过程中, 报文发 送处理设备通过接收报文发送控制设备发送的包含有接收通道更新后的 可用空间信息或者接收通道新增的可用空间信息, 使得报文发送处理设备 接收到的第二协议类型的可用空间信息随着接收端设备第一协议类型的 各报文类型的接收通道的可用空间信息的变化而变化, 即报文发送处理设 备可以动态的根据接收端设备的各第一协议类型的报文类型对应的接收 通道的可用空间信息对发送端设备发送的报文进行发送控制, 从而有效防 止由于某种类型报文的堵塞, 使得其他类型的报文无法发送至接收端设 备, 导致不同协议间的报文转换过程中由于虚通道不匹配而出现死锁的问 题。
下面釆用一个具体的实施例, 对上述实施例的技术方案进行详细说 明。
图 4为本发明报文发送处理方法的应用场景的结构示意图。 图 5为本 发明报文发送处理方法中报文发送控制设备和报文发送处理设备之间的 交互示意图, 如图 4和 5所示, 本实施例基于 QPI与 PCIe的协议转换为 例进行说明。
图 4中 QPI— A为发送端设备, QPI B为接收端设备, HOM— FIFO、 SNP FIFO, NCB— FIFO、 DRS FIFO, NCS FIFO, NDR— FIFO等为 QPI— A 和 QPI— B 内部不同的报文类型对应的接收通道, Credit— Tx为报文发送控 制设备, Credit— RX为报文发送处理设备, 此外还包括 QPI域报文到 PCIe 域才艮文封装模块( Packet Transform QPI-to-PCIe, 以下简称 PT— Q2P )、 PCIe 域报文到 QPI域报文封装模块(Packet Transform PCIe-to-QPI, 以下简称 PT P2Q ) 、 异步 FIFO ( asyn_fifO ) 、 PCIe传输网的接收端 ( PCIe— Rx ) 及发送端 (PCIe— Tx ) 。
当 QPI— A向 QPI— B 发送报文时, QPI— A的报文转为 PCIe域的报文, 然后经过 PCIe的网络传输后又转为 QPI域的报文。 对于 QPI域, 其是看 不到是否经过 PCIe域的报文转换, 即 PCIe域的转换是透明的。 其中, PT Q2P模块完成 QPI域报文到 PCIe域报文的封装; PT— P2Q模块完成 PCIe 域报文到 QPI域报文的封装; asyn— fifo模块为异步 fifo, 完成跨时钟的报 文传递; QPI— A与 QPI— B端的 FIFO为 QPI域 4艮文的发送 FIFO和接收 FIFO。 本实施例中, 不同协议的报文封装可参见现有技术。 由于 QPI有 6 种不同类型的 4艮文, 这 6种类型 4艮文分别对应不同的 FIFO。 以下以 QPI 报文发送控制***发送报文为例进行详细说明。
以发送 NCB报文和 HOM报文为例, 如图 5所示, 本实施例 QPI报 文发送控制***的 4艮文传递过程如下:
1 ) QPI***开始工作时, QPI— B端的 ^艮文发送控制设备 Credit— Tx获 取 QPI— Α端的各报文类型对应的接收通道的可用空间信息,即各报文类型 对应的接收通道的信用值, 并向 QPI— A端的报文发送处理设备 Credit— Rx 发送含有该信用值的信用值报文; Credit— Rx接收到信用值报文后解析出 对应的信用值, 对信用值有效的报文进行报文转换。
2 ) Credit— Rx可以对接收到的不同的报文的信用值进行累加, 同时每 发送一个此类型的 4艮文, 信用值需要减 1。 如图 5中, AckO个 Ackl分别 发送不同的 NCB和 HOM报文给 Credit— Rx 。例如发送 PacketO之前, NCB 的信用值为 4, HOM的信用值为 6。
3 )在发送 Packet0-Packet5的过程中, 由于 QPI— A端的 NCB和 HOM 的信用值都有效, 所以交替发送 HOM和 NCB (封装在 PCIe中, 具体的 请参见现有技术, 此处不再赘述, 以下类似)。 发送完 Packet5时, QPI— A 端的 Credit— Rx 的 NCB 文的信用值为 0, HOM 的信用值为 4, 此时 Credit— Rx根据该信用值控制 QPI— A端无法发送 NCB报文;
4 ) 在发送 Packet6-Packet9的过程中, 由于 QPI— A端的 Credit— Rx中 只有 HOM的信用值有效, 因此其控制 QPI— A端只发送 HOM报文。 在发 送完 Packet9时, Credit— Rx中 HOM 文的信用值为 0, 此时无法发送任 何报文。
5 ) QPI B端一旦从 FIFO中读出某种类型的报文, 即认为该 FIFO释 放出空间可以接收新的报文, 此时 QPI— B端的 Credit— Rx该新增的信用值 发给报文发送处理设备 Credit— Rx, 也可以累积到一定数量的信用值之后 再将新增的信用值发送给 Credit— Rx。 如图 5中的 Ack2和 Ack3中分别累 积了 3个 NCB和 4个 HOM的信用值发送给 Credit— Rx。 Credit— Rx将该新 增的信用值和已有的信用值进行累加 ,并根据累加后的信用值对 QPI— A端 发送的报文进行控制。
本发明的另一实施例中, 也可以在 QPI— B端一旦从 FIFO中读出某种 类型的报文, 即认为该 FIFO 有空间接收新的报文, 此时 QPI— B 端的 Credit— Rx将更新该报文信用值, 并将更新后的信用值发送给 Credit— Rx。 例如, 假设在发送 Packet4之后, QPI— B端处理掉 2个 NCB报文, 则此时 Credit— Rx将更新 NCB 文的信用值, 即有原来的 4更新为 6 , Credit— Rx 将更新后的 ACK值为 6的信用报文发送给 Credit— Rx。
含有信用值的指示报文可以在发送有效报文时***到某个字段中(在 有效字段的固定字段) , 也可以在没有有效报文发送时, 主动发送单独的 信用报文。
本发明实施提供的报文发送控制方法、 设备及***, 在协议转换过程 中, 报文发送控制设备获取接收端设备中第一协议类型的各报文类型对应 的接收通道的可用空间信息, 并将该可用空间信息用第二协议类型发送给 报文发送处理设备, 从而使得报文发送处理设备可以根据该可用空间信息 对发送端设备发送的第一协议类型的报文进行发送控制, 只有在接收端设 备中的接收通道的可用空间信息指示接收通道中仍能緩存报文时, 报文发 报文发送处理设备发送包含有接收通道更新后的可用空间信息或者接收 通道新增的可用空间信息, 使得报文发送处理设备接收到的可用空间信息 随着接收端设备各第一协议类型的报文的接收通道的可用空间信息的变 化而变化, 即报文发送处理设备可以动态的根据接收端设备的各报文类型 对应的接收通道的可用空间信息对发送端设备发送的第一协议类型的报 文进行发送控制, 有效防止由于某种类型报文的堵塞, 使得其它类型的报 文无法发送至接收端设备, 从而解决***死锁的问题。
图 6为本发明报文发送控制设备实施例一的结构示意图。如图 6所示, 该报文发送控制设备包括: 获取模块 1和发送模块 3。
获取模块 1 , 用于获取协议转换过程中接收端设备中第一协议类型的 各报文类型对应的接收通道的可用空间信息。
发送模块 3 , 用于在协议层向报文发送处理设备发送包含各接收通道 的可用空间信息的第二协议类型的指示报文, 以使报文发送处理设备根据 各接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进 行发送控制, 第一协议类型与第二协议类型为不同的协议类型。
本实施例的设备用于执行上述图 2所示方法实施例一的技术方案, 其 实现原理和技术效果类似, 此处不再赘述。
图 7为本发明报文发送控制设备实施例二的结构示意图。如图 7所示, 该报文发送控制设备在图 6所示结构的基础上, 进一步地还包括: 更新模块 2 , 用于若接收通道中的第一协议类型的报文被处理, 则更 新该接收通道的可用空间信息;
该发送模块 3 , 还用于向报文发送处理设备发送第二协议类型的空间 更新报文, 空间更新报文中包含该接收通道更新后的可用空间信息或者该 接收通道新增的可用空间信息。
在上述报文发送控制设备实施例中, 获取模块 1 , 可以具体用于获取 接收端设备中第一协议类型的各报文类型对应的接收通道的信用值; 发送 模块 2 , 可以具体用于在协议层向报文发送处理设备发送包含各接收通道 的信用值的第二协议类型的信用值报文, 以使报文发送处理设备根据各接 收通道的信用值对发送端设备发送的第一协议类型的报文进行发送控制。
本实施例的设备用于执行上述方法实施例二的技术方案, 其实现原理 和技术效果类似, 此处不再赘述。
图 8为本发明报文发送处理设备实施例一的结构示意图。如图 8所示, 该报文发送处理设备包括: 接收模块 4、 控制模块 5。
接收模块 4 , 用于接收报文发送控制设备发送的第二协议类型的指示 报文, 指示报文中包含接收端设备中第一协议类型的各报文对应的接收通 道的可用空间信息。
控制模块 5 , 用于根据各接收通道的可用空间信息对发送端设备发送 的第一协议类型的报文进行发送控制。
第一协议类型与第二协议类型为不同的协议类型。
本实施例的设备用于执行上述图 3所示方法实施例一的技术方案, 其 实现原理和技术效果类似, 此处不再赘述。
在本发明另一实施例中, 接收模块 4还用于接收报文发送控制设备发 送的包含接收通道更新后的可用空间信息的第二协议类型的空间更新报 文; 控制模块 5还用于根据该接收通道更新后的可用空间信息, 对发送端 设备发送的与该接收通道对应的第一协议类型的报文进行发送控制。
图 9为本发明报文发送处理设备实施例二的结构示意图。如图 9所示, 在本实施例在图 8所示结构的基础上, 进一步地, 接收模块 4还用于接收 报文发送控制设备发送的包含有接收通道新增的可用空间信息的第二协 议类型的空间更新报文; 控制模块 5还包括: 累加单元 51 , 用于将该新增 的可用空间信息与已有的可用空间信息进行累加; 处理单元 52, 用于根据 累加后的可用空间信息, 对发送端设备发送的与该接收通道对应的第一协 议类型的报文进行发送控制。 接收到的报文发送控制设备发送的第一协议 类型的各报文类型对应的接收通道的可用空间信息, 可以为接收端设备中 各报文类型对应的接收通道的信用值。
例如 QPI协议中, 获取到 NCB的初始信用值为 4 , 若 NCB报文被处 理掉一个或数个后, 例如, 处理掉 2个, 即新增的可用空间大小为 2 , 若 这段时间内发送端设备没有发送 NCB报文, 则此时接收模块 4接收报文 发送控制设备发送的含有 2个新增信用值的空间更新报文, 控制模块 5的 累加单元 51将已有的信用值 4和新增的信用值 2进行累加, 累加后的信 用值为 6, 控制模块 5的处理单元 52根据该累加后的可用空间信息, 对发 送端设备发送的与该接收通道对应的报文进行控制。 在可用空间信息有效 的情况下, 发送端设备可以随时的根据需求发送空间信息有效的数据报文 并对处理掉释放出空间的报文的可用空间信息进行更新。
本发明实施例提供的报文发送处理设备, 在协议转换过程中, 通过接 收报文发送控制设备发送的包含有接收通道更新后的可用空间信息或者 接收通道新增的可用空间信息的第二协议类型消息, 使得报文发送处理设 备接收到的可用空间信息随着接收端设备的第一协议类型消息的各报文 类型的接收通道的可用空间信息的变化而变化, 即报文发送处理设备可以 动态的根据接收端设备的各报文类型对应的接收通道的可用空间信息对 发送端设备发送的第一协议类型的报文进行发送控制, 有效防止由于某种 类型报文的堵塞, 使得其它类型的报文无法发送至接收端设备, 从而解决 ***死锁的问题。
图 10为本发明 4艮文发送控制***实施例的结构示意图。如图 10所示, 该报文发送控制***包括: 接收端设备 6、 报文发送控制设备 7、 报文发 送处理设备 8和发送端设备 9。
本实施例中的 4艮文发送控制设备 7以及 4艮文发送处理设备 8可以对应 的釆用前述各设备的实施例; 接收端设备 6、 报文发送控制设备 7、 报文 发送处理设备 8和发送端设备 9的具体交互过程以及网络架构可以釆用图 4和图 5所示内容实现, 此处不再赘述。
图 11为本发明报文发送控制设备实施例三的结构示意图。 如图 11所 示, 该 ^艮文发送控制设备 1100包括: 至少一个 CPU1101 , 至少一个网络 接口 1104或者其他用户接口 1103 ,存储器 1105 ,和至少一通信总线 1 102。 通信总线 1 102 用于实现各装置之间的连接通信。 该报文发送控制设备 1 100可选的包含用户接口 1103 , 包括显示器, 键盘或者点击设备。 存储 器 1 105 可能包含高速 RAM 存储器, 也可能还包括非不稳定的存储器 ( non- volatile memory ) , 例如至少一个磁盘存储器。 存储器 1105可选的 可以包含至少一个位于远离前述 CPU1101 的存储装置。 在一些实施方式 中, 存储器 1105存储了如下的元素, 编码, 模块或者数据结构, 或者他 们的子集, 或者他们的扩展集, 操作*** 1106 , 包含各种程序, 用于实现 各种基础业务以及处理基于硬件的任务。
处理器 1 110 ,用于获取接收端设备中第一协议类型的各报文对应的接 收通道的可用空间信息。
发送器 1 120,用于向报文发送处理设备发送包含各接收通道的可用空 间信息的第二协议类型的指示报文, 以使报文发送处理设备根据各接收通 道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控 制。
其中, 第一协议类型与第二协议类型为不同协议类型。
本实施例的设备用于执行上述图 2所示方法实施例一的技术方案, 其 实现原理和技术效果类似, 此处不再赘述。
进一步地,若接收通道中的第一协议类型的报文被处理,处理器 1 110 , 则用于更新该接收通道的可用空间信息;
发送器 1 120,还用于向 4艮文发送处理设备发送空间更新 4艮文, 空间更 新报文中包含该接收通道更新后的可用空间信息或者该接收通道新增的 可用空间信息。
在上述报文发送控制设备实施例中, 处理器 1110, 可以具体用于获取 接收端设备中第一协议类型的各报文对应的接收通道的信用值; 发送器 第二协议类型的信用值报文, 以使报文发送处理设备根据各接收通道的信 用值对发送端设备发送的第一协议类型的报文进行发送控制。
本实施例提供的报文发送控制设备 1100 包括用于处理业务的核心部 件,由于和实施方式具体目的不相关,在此不赘述。报文发送控制设备 1 100 中的处理器 1 110、 发送器 1120的工作过程分别与图 6中报文发送控制设 备的获取模块 1及发送模块 3的工作过程近似, 不再赘述。
图 12为本发明报文发送处理设备实施例三的结构示意图。 如图 12所 示, 该 ^艮文发送控制设备 1200包括: 至少一个 CPU1201 , 至少一个网络 接口 1204或者其他用户接口 1203 ,存储器 1205 ,和至少一通信总线 1202。 通信总线 1202 用于实现各装置之间的连接通信。 该报文发送控制设备 1200可选的包含用户接口 1203 , 包括显示器, 键盘或者点击设备。 存储 器 1205 可能包含高速 RAM 存储器, 也可能还包括非不稳定的存储器 ( non- volatile memory ) , 例如至少一个磁盘存储器。 存储器 1205可选的 可以包含至少一个位于远离前述 CPU1201 的存储装置。 在一些实施方式 中, 存储器 1205存储了如下的元素, 编码, 模块或者数据结构, 或者他 们的子集, 或者他们的扩展集, 操作*** 1206 , 包含各种程序, 用于实现 各种基础业务以及处理基于硬件的任务。
接收器 1210,用于接收报文发送控制设备发送的第二协议类型的指示 报文, 指示报文中包含接收端设备中第一协议类型的各报文对应的接收通 道的可用空间信息。
控制器 1220,用于根据各接收通道的可用空间信息对发送端设备发送 的第一协议类型的报文进行发送控制。
其中, 第一协议类型与第二协议类型为不同协议类型。
进一步的, 接收器 1210还用于接收报文发送控制设备发送的包含接 收通道更新后的可用空间信息的第二协议类型的空间更新报文; 控制器 1220还用于根据该接收通道更新后的可用空间信息,对发送端设备发送的 与该接收通道对应的第一协议类型的报文进行发送控制。
进一步地, 接收器 1210还用于接收报文发送控制设备发送的包含有 接收通道新增的可用空间信息的空间更新报文; 控制器 1220用于将该新 增的可用空间信息与已有的可用空间信息进行累加, 根据累加后的可用空 间信息, 对发送端设备发送的与该接收通道对应的第一协议类型的报文进 行发送控制。 上述实施例中, 接收到的报文发送控制设备发送的各报文类 型对应的接收通道的可用空间信息, 可以为接收端设备中各报文类型对应 的接收通道的信用值。
本发明实施例提供的报文发送处理设备, 通过接收报文发送控制设备 发送的包含有接收通道更新后的可用空间信息或者接收通道新增的可用 空间信息, 使得报文发送处理设备接收到的可用空间信息随着接收端设备 各报文类型的接收通道的可用空间信息的变化而变化, 即报文发送处理设 备可以动态的根据接收端设备的各报文类型对应的接收通道的可用空间 信息对发送端设备发送的报文进行发送控制, 有效防止由于某种类型报文 的堵塞, 使得其它类型的报文无法发送至接收端设备, 从而解决***死锁 的问题。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非 对其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的 普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进 行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或 者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的范 围。

Claims

权 利 要 求 书
1、 一种报文发送控制方法, 其特征在于, 包括:
获取接收端设备中第一协议类型的各报文对应的接收通道的可用空 间信息;
在协议层向报文发送处理设备发送包含所述各接收通道的可用空间 信息的第二协议类型的指示报文, 以使所述报文发送处理设备根据所述各 接收通道的可用空间信息对发送端设备发送的所述第一协议类型的报文 进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
2、 根据权利要求 1 所述的方法, 其特征在于, 所述获取接收端设备 中第一协议类型的各报文对应的接收通道的可用空间信息之后, 还包括: 若接收通道中的所述第一协议类型的报文被处理, 则更新所述接收通 道的可用空间信息, 并向所述报文发送处理设备发送所述第二协议类型的 空间更新报文, 所述空间更新报文中包含所述接收通道更新后的可用空间 信息或者所述接收通道新增的可用空间信息。
3、 根据权利要求 1或 2所述的方法, 其特征在于, 所述获取接收端 设备中第一协议类型的各报文对应的接收通道的可用空间信息, 包括: 获取所述接收端设备中所述第一协议类型的各报文类型对应的所述 接收通道的信用值;
所述在协议层向报文发送处理设备发送包含所述各接收通道的可用 空间信息的第二协议类型的指示报文, 以使所述报文发送处理设备根据所 述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的 报文进行发送控制, 包括:
向所述报文发送处理设备发送包含所述各接收通道的信用值的所述 第二协议类型的信用值报文, 以使所述报文发送处理设备根据所述各接收 通道的信用值对发送端设备发送的所述第一协议类型的报文进行发送控 制。
4、 一种报文发送处理方法, 其特征在于, 包括:
接收报文发送控制设备发送的第二协议类型的指示报文, 所述指示报 文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用空 间信息;
根据所述各接收通道的可用空间信息对发送端设备发送的所述第一 协议类型的报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
5、 根据权利要求 4所述的方法, 其特征在于, 所述接收报文发送控 制设备发送的第二协议类型的指示报文之后, 还包括:
接收所述报文发送控制设备发送的所述第二协议类型的空间更新报 文, 所述空间更新报文中包含所述接收通道更新后的可用空间信息; 根据所述接收通道更新后的可用空间信息, 对所述发送端设备发送的 与所述接收通道对应的第一协议类型的报文进行发送控制。
6、 根据权利要求 4所述的方法, 其特征在于, 所述接收报文发送控 制设备发送的第二协议类型的指示报文之后, 还包括:
接收所述报文发送控制设备发送的所述第二协议类型的空间更新报 文, 所述空间更新报文中包含所述接收通道新增的可用空间信息;
将所述新增的可用空间信息与已有的可用空间信息进行累加; 根据所述累加后的可用空间信息, 对所述发送端设备发送的与所述接 收通道对应的第一协议类型的报文进行发送控制。
7、 根据权利要求 4〜6 中任一项所述的方法, 其特征在于, 所述可用 空间信息为所述接收通道的信用值。
8、 一种报文发送控制设备, 其特征在于, 包括:
获取模块, 获取接收端设备中第一协议类型的各报文对应的接收通道 的可用空间信息;
发送模块, 在协议层向报文发送处理设备发送包含所述各接收通道的 可用空间信息的第二协议类型的指示报文, 以使所述报文发送处理设备根 据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类 型的各报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
9、 根据权利要求 8所述的设备, 其特征在于, 还包括:
更新模块, 若接收通道中的所述第一协议类型的报文被处理, 则更新 所述接收通道的可用空间信息; 所述发送模块, 还用于向所述报文发送处理设备发送所述第二协议类 型的空间更新报文, 所述空间更新报文中包含所述接收通道更新后的可用 空间信息或者所述接收通道新增的可用空间信息。
10、 根据权利要求 8或 9所述的设备, 其特征在于,
所述获取模块, 具体用于获取所述接收端设备中所述第一协议类型的 各报文类型对应的所述接收通道的信用值; 收通道的信用值的所述第二协议类型的信用值报文, 以使所述报文发送处 理设备根据所述各接收通道的信用值对发送端设备发送的所述第一协议 类型的报文进行发送控制。
1 1、 一种报文发送处理设备, 其特征在于, 包括:
接收模块, 接收报文发送控制设备发送的第二协议类型的指示报文, 所述指示报文中包含接收端设备中第一协议类型的各报文对应的接收通 道的可用空间信息;
控制模块, 用于根据所述各接收通道的可用空间信息对发送端设备发 送的所述第一协议类型的报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
12、 根据权利要求 1 1所述的设备, 其特征在于,
所述接收模块, 还用于接收所述报文发送控制设备发送的所述第二协 议类型的空间更新报文, 所述空间更新报文中包含所述接收通道更新后的 可用空间信息;
所述控制模块, 还用于根据所述接收通道更新后的可用空间信息, 对 所述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行 发送控制。
13、 根据权利要求 1 1所述的设备, 其特征在于,
所述接收模块, 还用于接收所述报文发送控制设备发送的空间更新报 文, 所述空间更新报文中包含所述接收通道新增的可用空间信息;
所述控制模块, 包括:
累加单元, 用于将所述新增的可用空间信息与已有的可用空间信息进 行累加; 处理单元, 用于根据所述累加后的可用空间信息, 对所述发送端设备 发送的与所述接收通道对应的第一协议类型的报文进行发送控制。
14、 根据权利要求 1 1〜13中任一项所述的设备, 其特征在于, 所述可 用空间信息为所述接收通道的信用值。
15、 一种报文处理***, 其特征在于, 包括: 接收端设备、 报文发送 控制设备、 发送端设备和报文发送处理设备, 其中, 所述报文发送控制设 备釆用权利要求 8〜10 中任一项所述的设备, 所述报文发送处理设备釆用 权利要求 11〜14中任一项所述的设备。
16、 一种报文发送控制设备, 其特征在于, 包括:
处理器, 用于获取接收端设备中第一协议类型的各报文对应的接收通 道的可用空间信息;
发送器, 用于在协议层向报文发送处理设备发送包含所述各接收通道 的可用空间信息的第二协议类型的指示报文, 以使所述报文发送处理设备 根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议 类型的各报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
17、 根据权利要求 16所述的设备, 其特征在于,
所述处理器, 还用于若接收通道中的所述第一协议类型的报文被处 理, 则更新所述接收通道的可用空间信息;
所述发送器, 还用于向所述报文发送处理设备发送所述第二协议类型 的空间更新报文, 所述空间更新报文中包含所述接收通道更新后的可用空 间信息或者所述接收通道新增的可用空间信息。
18、 根据权利要求 16或 17所述的设备, 其特征在于,
所述处理器, 具体用于获取接收端设备中第一协议类型的各报文类型 对应的接收通道的信用值; 通道的信用值的所述第二协议类型的信用值报文, 以使所述报文发送处理 设备根据所述各接收通道的信用值对发送端设备发送的所述第一协议类 型的报文进行发送控制。
19、 一种报文发送处理设备, 其特征在于, 包括: 接收器, 用于接收报文发送控制设备发送的第二协议类型的指示报 文, 所述指示报文中包含接收端设备中第一协议类型的各报文对应的接收 通道的可用空间信息;
控制器, 用于根据所述各接收通道的可用空间信息对发送端设备发送 的所述第一协议类型的报文进行发送控制;
其中, 所述第一协议类型与所述第二协议类型为不同协议类型。
20、 根据权利要求 19所述的设备, 其特征在于,
所述接收器, 还用于接收所述报文发送控制设备发送的所述第二协议 类型的空间更新报文, 所述空间更新报文中包含所述接收通道更新后的可 用空间信息;
所述控制器, 还用于根据所述接收通道更新后的可用空间信息, 对所 述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行发 送控制。
21、 根据权利要求 19所述的设备, 其特征在于,
所述接收器, 还用于接收所述报文发送控制设备发送的第二协议类型 的空间更新报文, 所述空间更新报文中包含所述接收通道新增的可用空间 信息;
所述控制器, 将所述新增的可用空间信息与已有的可用空间信息进行 累加, 根据所述累加后的可用空间信息, 对所述发送端设备发送的与所述 接收通道对应的第一协议类型的报文进行发送控制。
22、 根据权利要求 19〜21任一所述的设备, 其特征在于,
所述可用空间信息为所述接收通道的信用值。
PCT/CN2012/082378 2012-09-28 2012-09-28 报文发送控制方法、处理方法、设备及*** WO2014047900A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2012/082378 WO2014047900A1 (zh) 2012-09-28 2012-09-28 报文发送控制方法、处理方法、设备及***
CN201280002093.0A CN103890746B (zh) 2012-09-28 2012-09-28 报文发送控制方法、处理方法、设备及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/082378 WO2014047900A1 (zh) 2012-09-28 2012-09-28 报文发送控制方法、处理方法、设备及***

Publications (1)

Publication Number Publication Date
WO2014047900A1 true WO2014047900A1 (zh) 2014-04-03

Family

ID=50386872

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/082378 WO2014047900A1 (zh) 2012-09-28 2012-09-28 报文发送控制方法、处理方法、设备及***

Country Status (2)

Country Link
CN (1) CN103890746B (zh)
WO (1) WO2014047900A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105429896B (zh) * 2015-12-03 2018-10-02 浪潮(北京)电子信息产业有限公司 一种耦合报文信用释放方法及***
CN110580202A (zh) * 2019-06-04 2019-12-17 阿里巴巴集团控股有限公司 服务器***内消息的处理方法、装置及***
CN115168081B (zh) * 2022-09-08 2022-11-15 井芯微电子技术(天津)有限公司 转换电路和报文转换方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494003A (zh) * 2002-10-30 2004-05-05 华为技术有限公司 一种实现接口转换的装置及方法
CN101131624A (zh) * 2007-08-17 2008-02-27 杭州华三通信技术有限公司 存储控制***及其处理节点
CN101593167A (zh) * 2008-05-26 2009-12-02 联想(北京)有限公司 片上***的桥接装置及方法
US20100030918A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Transport control channel program chain linked branching

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697448A (zh) * 2005-04-21 2005-11-16 上海大学 MODBUS/TCP 工业以太网与设备网现场总线和Profibus DP现场总线间的多协议转换方法和装置
CN101056312A (zh) * 2007-05-09 2007-10-17 北京中星微电子有限公司 一种设备间通信的方法及***
CN101374154A (zh) * 2008-10-22 2009-02-25 成都市华为赛门铁克科技有限公司 一种远程过程调用请求的处理方法和装置
CN101924738A (zh) * 2009-06-11 2010-12-22 华为技术有限公司 实现多点到多点业务的方法、***和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494003A (zh) * 2002-10-30 2004-05-05 华为技术有限公司 一种实现接口转换的装置及方法
CN101131624A (zh) * 2007-08-17 2008-02-27 杭州华三通信技术有限公司 存储控制***及其处理节点
CN101593167A (zh) * 2008-05-26 2009-12-02 联想(北京)有限公司 片上***的桥接装置及方法
US20100030918A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Transport control channel program chain linked branching

Also Published As

Publication number Publication date
CN103890746B (zh) 2016-12-28
CN103890746A (zh) 2014-06-25

Similar Documents

Publication Publication Date Title
US10868767B2 (en) Data transmission method and apparatus in optoelectronic hybrid network
WO2018210117A1 (zh) 一种拥塞控制方法、网络设备及其网络接口控制器
KR101453182B1 (ko) 프레임 전송의 적어도 부분적인 중단
US9692560B1 (en) Methods and systems for reliable network communication
US9577791B2 (en) Notification by network element of packet drops
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
CN110505123B (zh) 丢包率的计算方法、服务器及计算机可读存储介质
US20150215224A1 (en) Positive feedback ethernet link flow control for promoting lossless ethernet
WO2014092779A1 (en) Notification by network element of packet drops
WO2019105317A1 (zh) 一种业务报文发送的方法、网络设备和***
WO2017097201A1 (zh) 一种数据传输方法、发送装置及接收装置
US9075926B2 (en) Distributed interconnect bus apparatus
WO2017114231A1 (zh) 一种报文发送方法、tcp代理以及tcp客户端
WO2013097642A1 (zh) 快速通道互联***中数据包重传方法、节点
WO2014047900A1 (zh) 报文发送控制方法、处理方法、设备及***
WO2022169602A1 (en) Dynamic network receiver-driven data scheduling over a datacenter network for managing endpoint resources and congestion mitigation
US9641427B2 (en) Transmission device and pause frame conversion method
JP2014236453A (ja) 情報処理装置、情報処理システム及び情報処理システムの制御方法
EP2383647A1 (en) Networking system call data division for zero copy operations
US20120044797A1 (en) Method and Equipment for Sending Radio Link Layer Status Package
CN109586931B (zh) 组播方法及终端设备
JP6234236B2 (ja) 通信装置
JP2011182115A (ja) 通信方法、通信システム及びサーバ
CN111274195B (zh) Rdma网络流控方法、装置及计算机可读存储介质
CN111917525B (zh) 一种数据传输方法、装置、设备和可读存储介质

Legal Events

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

Ref document number: 12885363

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12885363

Country of ref document: EP

Kind code of ref document: A1