WO2014135038A1 - 基于pcie总线的报文传输方法与装置 - Google Patents

基于pcie总线的报文传输方法与装置 Download PDF

Info

Publication number
WO2014135038A1
WO2014135038A1 PCT/CN2014/072775 CN2014072775W WO2014135038A1 WO 2014135038 A1 WO2014135038 A1 WO 2014135038A1 CN 2014072775 W CN2014072775 W CN 2014072775W WO 2014135038 A1 WO2014135038 A1 WO 2014135038A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction layer
data
layer data
message
data message
Prior art date
Application number
PCT/CN2014/072775
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 华为技术有限公司
Publication of WO2014135038A1 publication Critical patent/WO2014135038A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Definitions

  • the present invention relates to communication technologies, and in particular, to a packet transmission method and apparatus based on a PCIE bus.
  • PCIE bus is a high-speed differential bus with end-to-end connection. It has three levels: physical layer, data link layer and transaction layer. The layer is the highest layer of all levels. PCIE has a variety of bus transactions, including: memory read request bus transactions, memory write request bus transactions, input/output read and write request bus transactions, and configuration read and write request bus transactions.
  • the transaction layer the data to be transmitted is encapsulated into at least one TLP in a format of a Transaction Lay Packet (TLP), and then passed through PCIE. Multiple levels of the bus are sent out.
  • TLP Transaction Lay Packet
  • a piece of data is cut into multiple pieces of data according to a certain length of the length, and the plurality of pieces of data are respectively encapsulated into TLPs, and usually multiple TLPs corresponding to one piece of data will have a continuous address space. Read or write.
  • each TLP includes, in addition to the necessary data information, the length information of the TLP, the type information of the TLP, and the identifier of each TLP. Additional information such as various characteristics of the TLP at the time of transmission and information on supported transmission functions, address field information, and reserved fields without certain meaning.
  • device A receives another operation such as performing write or read, when all the TLPs corresponding to one piece of data arrive at device A, the data transfer is completed.
  • the TLP contains unnecessary redundant information, and the extra redundant information occupies valuable data channel resources, and in multiple TLPs corresponding to one piece of data, each Each TLP contains the same or similar additional redundant information as other TLPs, so there is a large amount of redundant information in the process of data transmission, and the transmission of redundant information is a great waste of valuable data channel resources. .
  • the invention provides a packet transmission method and device based on PCIE bus, which can save data channel resources and improve data transmission efficiency.
  • an embodiment of the present invention provides a packet transmission method based on a PCIE bus, where the method includes:
  • the data to be transmitted is encapsulated in at least two data packets, where the first data packet of the at least two data packets is a full transaction layer data packet and the at least At least one of the other data packets of the two data packets is a compressed transaction layer data packet, and each of the data packets is configured to identify the data packet as a full transaction layer data packet or a compressed transaction layer data packet.
  • the information of the text is compared with the full transaction layer data message, the compressed transaction layer data message lacks at least one field or at least one field of the compressed transaction layer data message, and the compression information is configured;
  • the data identifiers of the two data messages are set to the same value;
  • the receiving a data transmission request, and determining, according to the data transmission request, whether the data to be transmitted has a compression condition includes:
  • the type of the data transmission request is a set compressible request, and if so, the data to be transmitted has a compression condition.
  • the determining whether the type of the data transmission request is a set compressible request, and if yes, compressing the data to be transmitted Conditions include: Determining whether the type of the data transmission request is a D MA data read/write request;
  • the compressed transaction layer datagram At least one field missing from the header of the text includes: a data message length field and a byte enable field.
  • the compressed transaction layer datagram The field of the configuration compression information includes a target address field, and the compression information configured in the field is an address offset; the address offset is a target address of the compressed transaction layer data message relative to a full transaction layer data message. The address offset of the destination address.
  • Encapsulating the to-be-transmitted data in the at least two data packets includes:
  • the data to be transmitted is encapsulated in at least two transaction layer data packets; the lengths of the packets in the at least two transaction layer data packets are equal.
  • Encapsulating the to-be-transmitted data in the at least two data packets includes:
  • the data to be transmitted is encapsulated in a header transaction layer data message, at least one intermediate transaction layer data message, and a tail transaction layer data message, wherein the header transaction layer data message
  • the tail transaction layer data message is a full transaction layer data message
  • the intermediate transaction layer data message is a compressed transaction layer data message.
  • an embodiment of the present invention provides a message transmission method based on a peripheral component interconnect express PCIE bus, where the method includes: receiving a transaction layer data message transmitted by a peer device through a PCIE bus and identifying the same;
  • the transaction layer data message When the transaction layer data message is identified as a full transaction layer data message, complete information is obtained from each field of the full transaction layer data message; When the transaction layer data message is identified as a compressed transaction layer data message, the complete information in the full transaction layer data message belonging to the same data to be transmitted is restored according to the data identifier to the compressed transaction layer data packet.
  • the field that is missing in the text or the field that configures the compression information obtains a compressed transaction layer data message;
  • the data packets of each transaction layer are spliced to obtain data to be transmitted sent by the peer device data.
  • the receiving, by the peer device, the transaction layer data packet that is transmitted based on the PC I E bus and the identification includes:
  • the transaction layer data packet is a full transaction layer data packet
  • the transaction layer data message is a compressed transaction layer data message.
  • the complete transaction layer data that belongs to the same data to be transmitted according to the data identifier recovers the missing field in the compressed transaction layer data packet or the field in which the compressed information is configured, and obtains the compressed transaction layer data packet, including:
  • an embodiment of the present invention provides a message transmission apparatus based on a peripheral component interconnect express PCIE bus, where the apparatus includes: a receiving determining module, configured to receive a data transmission request, and determine, according to the data transmission request, the Whether the data to be transmitted requested by the data transmission request has a compression condition;
  • the encapsulating module is configured to encapsulate the to-be-transmitted data in at least two data packets if the compression condition is provided, where the first data packet of the at least two data packets is a full transaction layer datagram At least one of the text and the other data packets of the at least two data packets is a compressed transaction layer data packet, and each of the data packets is configured to identify the data packet as a full transaction layer data message or Compressing information of a transaction layer data message; compared to the full transaction layer data message, Compressing the transaction layer data message lacking at least one field or configuring compression information in at least one field of the compressed transaction layer data message; setting a data identifier of the at least two data messages to the same value; Transmitting the at least two data packets to the peer device through the PCIE bus.
  • the receiving module includes: a first receiving unit, configured to receive a data transmission request;
  • the determining unit is configured to determine whether the type of the data transmission request is a set compressible request, and if yes, the data to be transmitted has a compression condition.
  • the determining unit is specifically configured to:
  • the encapsulating module includes:
  • the equal-length encapsulation unit is configured to encapsulate the to-be-transmitted data in at least two transaction layer data packets if the compression condition is provided; and the packet lengths in the at least two transaction layer data packets are equal.
  • the encapsulating module For: if the compression condition is met, the data to be transmitted is encapsulated in a header transaction layer data message, at least one intermediate transaction layer data message, and a tail transaction layer data message, where the header transaction The layer data message and the tail transaction layer data message are complete transaction layer data messages, and the intermediate transaction layer data message is compressed transaction layer data message.
  • an embodiment of the present invention provides a message transmission apparatus based on a peripheral component interconnecting a PCIE bus, where the apparatus includes: a receiving and identifying module, configured to receive a transaction layer data packet transmitted by a peer device through a PCIE bus; Identify
  • An obtaining module configured to obtain complete information from each field of the full transaction layer data packet when the transaction layer data message is identified as a full transaction layer data message;
  • a repairing module configured to: when the transaction layer data message is identified as a compressed transaction layer data message, recover the complete information in the full transaction layer data message belonging to the same data to be transmitted according to the data identifier Compressing a field in the transaction layer data packet or a field configuring the compression information to obtain a compressed transaction layer data packet;
  • the splicing module is configured to splicing data layers of each transaction layer to obtain data to be transmitted sent by the peer device.
  • the receiving and identifying module includes: a second receiving unit, configured to receive a transaction layer data packet that is transmitted by the peer device according to the PCIE bus; and an identifier analyzing unit, configured to And the identifier of the set field is parsed in the transaction layer data packet; the complete message identifying unit is configured to: when the identifier is completely identified, the transaction layer data packet is a full transaction layer data packet;
  • a compressed message identifying unit configured to: when the identifier is a compressed identifier, the transaction layer data packet is a compressed transaction layer data packet.
  • the repair module is specifically configured to:
  • the address offset is added to the base address to obtain the target address information of the compressed data layer message.
  • the PCIE bus-based message transmission method and apparatus provided by the embodiment of the present invention, if the data to be transmitted has a compression condition, encapsulates the data to be transmitted into a complete transaction layer datagram configured with the complete transaction layer data packet identification information. And at least one compressed transaction layer data message, wherein at least one field is missing in the compressed transaction layer data message or compressed information is configured in at least one field, so that the compressed transaction layer data message is transmitted relative to the full transaction layer data message The information is less, and the compressed transaction layer data message is recovered at the receiving end.
  • the compressed data message removes part of the information, and saves channel resources during the transmission process.
  • FIG. 1 is a flowchart of Embodiment 1 of a packet transmission method based on a PCIE bus according to the present invention
  • FIG. 2 is a flowchart of Embodiment 2 of a packet transmission method based on a PCIE bus according to the present invention
  • FIG. 3 is a DMA data according to an embodiment of the present invention
  • 4a is a schematic diagram of a format of a header transaction layer data packet header in a transaction layer data packet of a DMA data write request in an embodiment of the present invention
  • 4b is a schematic diagram of a format of an intermediate transaction layer data packet header in a transaction layer data packet of a data write request according to an embodiment of the present invention
  • 4c is a schematic diagram of a format of a packet header of a tail transaction layer data packet in a transaction layer data packet of a data write request according to an embodiment of the present invention
  • FIG. 5 is a flow chart of the DMA receiving end adding control logic in the embodiment of the present invention
  • FIG. 6 is a schematic structural diagram of Embodiment 1 of the PCIE bus based message transmitting apparatus according to the present invention
  • FIG. 7 is a PCIE bus based message according to the present invention
  • FIG. 8 is a schematic structural diagram of a device for transmitting a message transmission end based on a PCIE bus according to the present invention
  • FIG. 9 is a schematic structural diagram of a device for receiving and transmitting a message based on a PCIE bus according to the present invention.
  • the PCIE bus-based message transmission method includes: Step 101: Receive a data transmission request, and determine a data transmission request according to the data transmission request. Whether the requested data to be transmitted has compression conditions.
  • the device based on the PCIE bus interaction receives the data transmission request, and the data transmission request may be a data write request or a data read request, and the device based on the PCIE bus interaction may determine whether the data transmission request has the data transmission request according to the type of the data transmission request. Compression conditions.
  • Step 102 If the compression condition is met, the data to be transmitted is encapsulated in at least two data packets, where the first data packet of the at least two data packets is a full transaction layer data packet and at least two data. At least one of the other data packets of the packet is a compressed transaction layer data packet, and each data packet is configured with information that identifies the data packet as a full transaction layer data packet or a compressed transaction layer data packet;
  • the transaction layer data message lacks at least one field or at least one field of the compressed transaction layer data message to configure compression information; and the data identifiers of the at least two data messages are set to the same value.
  • the field for configuring the compressed information is usually a field with some regular changes in the transaction layer data message. The characteristic is that most of the information is the same and a small part of the information is different, or the information in the field changes according to the setting rule.
  • the data identifiers of the data packets that belong to the same data to be transmitted are set to the same value, so that the data packets of the current data to be transmitted are distinguished from the data packets of the other data to be transmitted.
  • the data to be transmitted specified by the data transmission request is cut into sub-data according to a certain number of bytes, and then encapsulated and then transmitted.
  • the data to be transmitted is encapsulated in a header transaction layer data message, at least one intermediate transaction layer data message, and a tail transaction layer data message, where the header transaction layer data is The message and tail transaction layer data messages are full transaction layer data messages, and the intermediate transaction layer data messages are compressed transaction layer data messages.
  • the intermediate transaction layer data message is a compressed transaction layer data message
  • the same field as the full transaction layer data message is deleted in the intermediate transaction layer data message, and the same field as the full transaction layer data message may be specific to the data.
  • the message length field and the byte enable field configuration information, because even without these fields, the peer device can obtain the compressed transaction layer data message according to the information in the full transaction layer data message and the compressed transaction layer data message. Data and read address or storage address.
  • the corresponding identifier bit needs to be configured for the full transaction layer data packet and the compressed transaction layer data packet, so that the peer device can recognize whether the received data message is a full transaction layer data message or a compressed transaction layer data message.
  • Complete information is configured in each field of the first transaction layer data message, where the complete information refers to the header information of the full transaction layer data message, including all fields and their field information, and the header of the full transaction layer data message
  • the reserved field in the information is configured to be fully identified to use the transaction layer data message as a full transaction layer data message; the compression information is configured in a field of the remaining transaction layer data message and the full transaction layer data message, or In the compressed transaction layer data packet, the same field as the full transaction layer data packet is deleted, and the deleted same field may be a data packet length field and a byte enable field, and is in the header information of the compressed transaction layer data office message.
  • the reserved field configures a compression identifier to use the transaction layer data message as a compressed transaction layer data message.
  • the data to be transmitted is encapsulated into at least two data packets, and the same data identifier is set in the two data packets, where the data identifier is used to indicate that the data packet belongs to a data to be transmitted, so that the current data is to be sent.
  • the data packet for transmitting data is different from the data packet for other secondary data to be transmitted.
  • the peer device receives the data packet, it can distinguish the data packets that belong to different transmissions, avoid the problem of out-of-order, and ensure the accuracy of the received data.
  • Step 103 Transmit at least two data packets to the peer device through the PCIE bus.
  • the device based on the PCIE bus interaction transmits the encapsulated full transaction layer data message and the compressed transaction layer data message to the peer device according to the protocol of the PCIE bus.
  • the peer device can be a PCIE device.
  • the method for transmitting a message based on the PCIE bus provided by the embodiment of the present invention determines whether the data to be transmitted by the data transmission request has a compression condition, and if the compression condition is provided, the data to be transmitted is encapsulated into a configuration. At least one compressed transaction layer data message of the full transaction layer data message identification information and at least one compressed transaction layer data message configuring the compression transaction layer data message identification information, wherein the compressed transaction layer data message is missing and complete transaction
  • the compression information is configured in the same field of the layer data message or the compressed transaction layer data message and the full transaction layer data message field, so that the compressed transaction layer data message has less information than the full transaction layer data message.
  • the data to be transmitted is encapsulated in at least two data packets, the data identifiers of the same value are set in the at least two data packets, and the encapsulated data to be transmitted is transmitted to the peer device through the PCIE bus, so that the peer end
  • the device may receive at least two datagrams belonging to one data to be transmitted according to the data identifier. , To ensure that in the case where the transmission data without errors, data compression removes some of the information packet, channel resources savings during transmission.
  • step 101 may be specifically: receiving a data transmission request; determining whether the data transmission request is a set compressible request, and if yes, the data to be transmitted has a compression condition; otherwise, the data to be transmitted is not available. Compression conditions. It is possible to distinguish between different types of data transmission requests to determine whether they are compressible. For example, in a data write request or a data read request, since the data to be transmitted is encapsulated into a plurality of transaction layer data messages, most of the fields are the same, and thus can be used as a compressible request.
  • the PCIE bus-based message transmission method divides the transaction layer data packet into two types: carrying the complete information and the compressed information, thereby reducing the complete transaction layer data message in the compressed transaction layer data message. Repeated information, saving channel resources during transmission.
  • the target address field only changes sequentially and regularly, and can also be compressed without carrying the complete address information, but only carrying the address offset. Therefore, the steps of the above judgment may specifically be:
  • the manner of distinguishing between the full transaction layer data packet and the compressed transaction layer data packet may be implemented by using an identifier, preferably by using a reserved field in the transaction layer data packet to carry the complete identifier or the compressed identifier to distinguish the transaction layer datagram. Text.
  • the same field of the compressed transaction layer data packet and the complete transaction layer data packet includes at least: a data packet length field and a byte enable field.
  • the missing fields in the compressed transaction layer data packet include: a data packet length field and a byte enable field, and the two fields are missing from the full transaction layer data packet in the compressed transaction layer data packet, saving
  • the channel resources in the process of transmitting compressed transaction layer data messages also improve the utilization of channel resources.
  • the field for compressing the transaction layer data packet configuration compression information includes a target address field, and the compression information configured in the field is an address offset; the address offset is The address offset of the target address of the compressed transaction layer data message relative to the destination address of the full transaction layer data message.
  • the target address field occupies 8 bytes in the data packet, and if the target address field in the compressed transaction layer data packet is configured as an address offset, the address offset occupies the data packet.
  • the 4 bytes, the address offset is the address offset of the target address of the compressed transaction layer data message relative to the destination address of the full transaction layer data message. Therefore, by configuring the target address field of the compressed transaction layer data message as the address offset, the channel resources occupied by the compressed transaction layer data message during the transmission process are reduced.
  • the PCIE bus-based message transmission method provided by the embodiment of the present invention is configured to complete the information in the complete transaction layer data packet, and the information of the compression transaction layer data packet configuration is incomplete, and the compressed transaction layer data message is missing.
  • the same data message length field and byte enable field as the full transaction layer data message or the target address information in the compressed transaction layer data message is configured as an address offset, so that it can be effective during data transmission. Save channel resources.
  • the full transaction layer data packet and the compressed transaction layer data packet can be distinguished by using the reserved field carrying identifier in the transaction layer data packet.
  • the data packet may be divided into non-equal lengths, but is preferably equal-length partitioning, that is, if the compression condition is provided, the data to be transmitted is encapsulated in at least one full transaction layer data packet and at least one compressed transaction layer data.
  • the message can include:
  • the data to be transmitted is encapsulated in at least two transaction layer data packets; the lengths of the packets in the at least two transaction layer data packets are equal.
  • the non-equal length or equal-length division manner is: if the compression condition is provided, the data to be transmitted is encapsulated in a header transaction layer data message, at least one intermediate transaction layer data message, and a tail transaction layer data message.
  • the first transaction layer data message and the tail transaction layer data message are full transaction layer data messages, and the intermediate transaction layer data message is a compressed transaction layer data message.
  • This method is applicable to the non-equal length division mode.
  • the packet length of the tail transaction layer data packet can be different from the packet length of the header and intermediate transaction layer data packets.
  • one piece of data is cut into a plurality of sub-data, and in the process of encapsulating a plurality of sub-data into a plurality of transaction layer data messages, after determining that the current data write address is consecutive, the cut sub-data is Encapsulating in at least two transaction layer data messages of equal length, and configuring complete information in each field of the transaction layer data message of the first sub-data encapsulation belonging to the same data, and at the first The reserved field configuration of the transaction layer message of the sub-data is completely identified, indicating that the transaction layer data message contains complete data message information.
  • And compressing information is configured in the same field of the remaining transaction layer message and the full transaction layer data message, and the compression flag is configured in the reserved field, indicating that the remaining transaction layer data message belongs to other sub-data encapsulation in the current data.
  • Transaction layer data message is configured in the same field of the remaining transaction layer message and the full transaction layer data message, and the compression flag is configured in the reserved field, indicating that the remaining transaction layer data message belongs to other sub-data encapsulation in the current data.
  • the data to be transmitted is encapsulated in a header transaction layer data message, at least one intermediate transaction layer data message, and a tail transaction layer data message, where the header transaction layer
  • the data packet is the first sub-data transaction layer data message of the current data, and contains complete information, belonging to the complete transaction layer data message.
  • the intermediate transaction layer data message does not need to contain complete information, and belongs to the compressed transaction layer datagram. Therefore, since the tail transaction layer data message is not equal in length to other transaction layer data messages, it also needs to contain complete information, which is a complete transaction layer data message.
  • the PCIE bus-based message transmission method includes: Step 201: Receive a transaction layer data packet transmitted by a peer device through a PCIE bus and identify the packet.
  • the transaction layer data packet After receiving the transaction layer data packet based on the PCIE bus transmission, identifying the information of the reserved field in the transaction layer data packet, and determining whether the received transaction layer data packet is a full transaction layer data packet or a compression Transaction layer data message.
  • Step 202 When the transaction layer data message is identified as a full transaction layer data message, complete information is obtained from each field of the full transaction layer data message.
  • complete information is obtained in the complete transaction layer data message, and the complete information may include: a target address field, a data message length field, and the like, and the target address field is used as a base address. , and the compressed data message length field is used as the offset of the address increment.
  • Step 203 When the transaction layer data packet is identified as a compressed transaction layer data packet, the complete information in the complete transaction layer data packet belonging to the same data to be transmitted is recovered according to the data identifier, and the compressed transaction layer data packet is missing. Field or configuration field that compresses information, gets compressed transaction layer data Message.
  • step 203 may be: when the transaction layer data message is identified as a compressed transaction layer data message, obtaining an address offset from a target address field of the compressed transaction layer data message; and compressing the transaction layer datagram
  • the data identifier identifies the base address in the target address field in the same full transaction layer data message; the address offset is added to the base address to obtain the target address information of the compressed data layer message.
  • the data identification is extracted from the compressed transaction layer data message, which may be a DMAJD field.
  • the DMAJD field it can be determined which data read request or data write request the currently received transaction layer data message belongs to, does not generate out-of-order, and is complete according to the complete transaction layer data message belonging to the same data to be transmitted.
  • Information Recovery Compresses fields that are missing from the transaction layer data message or fields that configure compression information.
  • the field that is missing in the compressed transaction layer data packet it can be obtained from the complete transaction layer data packet belonging to the current secondary data to be transmitted, and the field for configuring the compression information in the compressed transaction layer data packet can be from the compressed transaction layer.
  • the address offset is obtained in the destination address field of the data message; the base address is obtained from the target address field in the full transaction layer data message with the same data identifier as the compressed transaction layer data message; the address offset and the base are The addresses are added together to obtain the target address information of the compressed data layer message.
  • Step 204 Splicing data layers of each transaction layer to obtain data to be transmitted of the data transmission request of the peer device.
  • the complete data to be transmitted can be spliced according to each transaction layer data message.
  • the packet transmission method of the PCIE bus receives the transaction layer data packet sent by the peer device, and analyzes and identifies the packet, and determines that the transaction layer data packet is a complete transaction layer data packet. Or compressing the transaction layer data message, extracting the complete information in the complete transaction layer message, obtaining the compression information in the compressed transaction layer data message, and finally splicing the received transaction layer data message to obtain a complete transmission to be transmitted. data.
  • the foregoing step 201 may specifically include:
  • the transaction layer data message is a full transaction layer Data message
  • the transaction layer data message is a compressed transaction layer data message.
  • the transaction layer data packet by parsing the set field identifier in the transaction layer data packet, it can be determined whether the currently received transaction layer data packet is a full transaction layer data packet or a compressed transaction layer data packet, specifically, a field.
  • the identifier can be set in the transaction layer data message to retain the field, so as to successfully receive and parse the data to be transmitted.
  • the data packet length field and the byte enable field are deleted, or the compressed information configured by the target address field is an address offset.
  • all the compressed transaction layer data packets have the same length, so that the length of the data packet length field configured by the data packet length field can be deleted, and the peer device can receive the transaction layer data packet to be compressed according to the complete transaction layer data.
  • the packet information is used to obtain the packet length information of the compressed transaction layer data packet, and for the peer device, the byte enable field in the compressed transaction layer data packet can also be deleted to save the channel during data transmission. Resources.
  • the peer device can also calculate the write or read address of the compressed transaction layer data packet according to the address offset configured in the address field.
  • the PCIE bus-based message transmission process provided by the embodiment of the present invention is different from the prior art transaction layer data message in that the present invention assigns the original reserved field in the transaction layer data message.
  • the new meaning can be the same as the prior art, and the reserved field in the embodiment of the present invention is the same as the reserved field in the prior art.
  • the reserved field includes three bits, which are located in the 7th bit in the second byte, the 3rd bit in the second byte, and the 1st bit in the second byte.
  • the transaction can be distinguished by keeping the contents of the field different.
  • the type of the layer data packet that is, the transaction layer data message is a normal transaction layer data message or a full transaction layer data message or a compressed transaction layer data message with compression conditions.
  • the currently sent transaction layer data message is a header transaction layer data message, an intermediate transaction layer data message or a tail transaction layer data message
  • the present invention uses three reserved fields.
  • the bit distinguishes the transaction layer data packet. Specifically, if the three bits are 000, it indicates that the current transaction layer data message is a normal transaction layer data message; if the three bits are not 000, it indicates that the current bit
  • the transaction layer data message is a full transaction layer data message or a transaction layer data message with compression conditions.
  • the following is a transaction layer data message with a compression condition for the current transaction layer data message. Further, the above embodiment can be provided by a DMA data write request and a DMA data read request.
  • the PCIE bus-based message transmission method is described in further detail.
  • the transfer process of the DMA data write request involves the DMA data write request originating end and the DMA data write request receiving end.
  • FIG. 3 is a flow chart of the DMA data read/write request initiating end adding control logic in the embodiment of the present invention. As shown in FIG. 3, the method includes the following steps:
  • Step 301 The DMA initiator determines whether the read/write address of the DMA data read/write request is continuous. If yes, step 302 and step 303 are performed. If not, step 304 is performed;
  • Step 302 The data to be transmitted is cut according to a certain length of bytes and encapsulated into a plurality of transaction layer data packets.
  • Step 303 Perform a transaction layer data packet transmission by using a TLP packet transmission mode with a compression condition.
  • Step 304 Transmit the DMA data read/write request according to the existing normal mode.
  • the first transaction layer data message is a full transaction layer data message, and the fields in the transaction layer data message are configured with complete information, and during the data transmission process, the "generate current message" is included.
  • the Requester ID field of the bus number, device number, and function number of the originating device is changed to the DMAJD field.
  • the Requester ID field has no practical meaning for the write request message, so it can be changed because During the process of transmitting data on the PCIE bus, the transaction layer data message of the latter memory exceeds the transaction layer data message of the previous memory in advance, so that the DMAJD field needs to be used to identify the multiple DMA data read and write processes.
  • the DMAJD fields in the transaction layer data messages of different DMA read and write requests are different, thereby distinguishing the current DMA data transfer process from other DMA data transfer processes on the PCIE bus. The receiving end can distinguish which DMA data transmission process the current compressed transaction layer data message belongs to according to the DMAJD field.
  • the full transaction layer data message may be the first transaction layer data message and/or the last transaction layer data message in the DMA data transmission process, that is, a header transaction layer data message and/or Or a tail transaction layer data message.
  • each field configured with complete information may have a data message length field, a byte enable field, a feature field, a transfer function field, and a target address field. These fields are usually the same in each transaction layer data message, or are changed according to the law.
  • the compressed transaction layer data message the data is deleted.
  • a message length field, a byte enable field, a feature field, a transfer function field, and the compressed information configured by the target address field is a write address offset.
  • FIG. 4a is a schematic diagram of a format of a header transaction layer data packet header in a transaction layer data packet of a data write request according to an embodiment of the present invention
  • FIG. 4b is an intermediate transaction layer in a transaction layer data packet of a data write request according to an embodiment of the present invention
  • FIG. 4c is a schematic diagram of a format of a packet header of a data layer of a transaction layer in a transaction layer data packet of a data write request according to an embodiment of the present invention.
  • the length of a packet header of a header transaction layer data packet It is 4 double words
  • the length of an intermediate transaction layer data packet header is 1 double word.
  • the length of a tail transaction layer data packet header is 4 double words. .
  • FIG. 5 is a flowchart of the DMA receiving end adding control logic in the embodiment of the present invention, as shown in FIG. 5. Shown as follows:
  • Step 501 Receive a transaction layer data packet transmitted by the initiator based on the PCIE bus and identify the same.
  • Step 502 If the three bytes of the reserved field of the transaction layer data packet are identified as 000, the transaction is identified as being transmitted in the normal mode. Layer data packets are received according to ordinary transaction layer data messages;
  • Step 502b if the three bytes of the reserved field in the corresponding transaction layer data message are identified as
  • step 503b
  • Step 503b extract the data packet length field information in the header transaction layer data message, and save the target address field of the header transaction layer data message as the base address of the current DMA write data transmission, and finally perform step 504b;
  • Step 504b saving a DMAJD field of the header transaction layer data message to determine a sequence number of the current DMA write data transmission
  • Step 502c If it is identified that the three bytes of the reserved field in the corresponding transaction layer data message are
  • Step 503c Extract DMAJD field information in the packet header to match the transaction layer data packet before receiving the transaction layer data packet, to determine which DMA write data transmission the current intermediate transaction layer data message belongs to. Process, finally step 504c;
  • Step 504c calculating an offset and a write address of a current transaction layer data message; Step 502d, if it is identified that the three bytes of the reserved field in the corresponding transaction layer data message is 110, then identified as the tail transaction layer data message, and then step 503d;
  • Step 503d Extract length field information and target address information in the tail transaction layer data packet, and perform normal transmission.
  • the DMA receiving end further includes a DMA state table for storing the corresponding DMAJD, base address information and address increment in each DMA write data transmission, in the information carried in the header transaction layer data message.
  • the DMAJD and base address information corresponding to the current DMA write data transmission process may be obtained, and the initial value of the address increment field is 0, and the size of the address increment increases with the number of transaction layer data packets received by the DMA receiving end.
  • the DMAJD field in each embodiment of the present invention belongs to a data identifier.
  • the DMA receiving end and the DMA transmitting end cooperate to complete the complete process of DMA write data transmission.
  • Another embodiment of the present invention will further explain the DMA read data request process.
  • the identification field of the reserved field is different, and the DMA data write request is different.
  • the difference is that the data payload field in the transaction layer data message inclusion during the DMA data read request is the data to be written, and the transaction layer data message in the DMA data read request process does not have the payload field.
  • Others are similar to the DMA data write request process and will not be described here.
  • FIG. 6 is a schematic structural diagram of Embodiment 1 of a packet transmission apparatus based on a PCIE bus according to the present invention.
  • the PCIE bus-based message transmission apparatus includes: a receiving determination module 11 and a packaging module 12 And a transmission module 13, wherein the receiving judging module 1 1 is configured to receive a data transmission request, and determine, according to the data transmission request, whether the data to be transmitted requested by the data transmission request has a compression condition; and the encapsulating module 12 is configured to If the compression condition is met, the data to be transmitted is encapsulated in at least two data packets, where the first data packet of the at least two data packets is a full transaction layer data packet and the at least At least one of the other data packets of the two data packets is a compressed transaction layer data packet, and each of the data packets is configured to identify the data packet as a full transaction layer data packet or a compressed transaction layer data packet.
  • the transmission module 13 is configured to transmit the at least two data packets to the peer device by using the PCIE bus, so that the data packet of the current data to be transmitted is different from the data packet of the other data to be transmitted.
  • the receiving determining module 11 includes: a first receiving unit 111 and a determining unit 1 12, wherein the first receiving unit 111 is configured to receive a data transmission request; and the determining unit 112 is configured to determine the Whether the type of the data transmission request is a set compressible request, and if so, the data to be transmitted has a compression condition.
  • the determining unit 112 is specifically configured to: determine whether the type of the data transmission request is a DMA data read/write request, and if it is a DMA data read/write request, determine whether the read/write address of the DMA data read/write request is continuous, if the read/write address is Continuously, the data to be transmitted of the DMA data read/write request has a compression condition.
  • the package module 12 may further include: an isometric package unit, wherein the equal-length package unit is configured to encapsulate the data to be transmitted in at least two transaction layers if a compression condition is provided.
  • the lengths of the packets in the at least two transaction layer data packets are equal.
  • the encapsulating module 12 is further configured to, if the compression condition is met, encapsulate the to-be-transmitted data in a header transaction layer data packet, at least one intermediate transaction layer data packet, and a tail transaction layer data packet.
  • the first transaction layer data message and the tail transaction layer data message are full transaction layer data messages, and the intermediate transaction layer data message is a compressed transaction layer data message.
  • the PCIE bus-based packet transmission apparatus of this embodiment may be used to implement the technical solution of the method embodiment shown in FIG. 1.
  • the implementation principle is similar, and details are not described herein again.
  • the PCIE bus-based message transmission apparatus generally reads or writes a continuous address of the target device memory during the data transmission process, and determines whether the data transmission request has a compression condition by the receiving determination module 11 if With the compression condition, the data to be transmitted is encapsulated into at least one full transaction layer data message containing complete information and at least one compressed transaction layer data message by using the encapsulation module 12, and the encapsulated data to be transmitted is transmitted through the transmission module 13. It is transmitted to the peer device through the PC IE bus. When the transmission data is guaranteed to be error-free, the compressed data message reduces part of the field information, and saves channel resources during the transmission process.
  • FIG. 7 is a schematic structural diagram of Embodiment 2 of a message transmission apparatus based on a PCIE bus according to the present invention
  • the device includes: a receiving and identifying module 21, an obtaining module 22, a repairing module 23, and a splicing module 24, wherein the receiving and identifying module 21 is configured to receive The transaction layer data message transmitted by the peer device through the PCIE bus is identified;
  • the obtaining module 22 is configured to: when the transaction layer data message is identified as a full transaction layer data message, from the complete transaction layer datagram Obtaining complete information in each field of the text;
  • the repairing module 23, configured to: when the transaction layer data message is identified as a compressed transaction layer data message, according to the data identifier, the complete transaction layer that belongs to the same data to be transmitted
  • the complete information in the data packet recovers the missing field in the compressed transaction layer data packet or the field in which the compressed information is configured, and obtains the compressed transaction layer data packet.
  • the splicing configured to: when the transaction layer data message is identified
  • the receiving and identifying module 21 specifically includes: a second receiving unit 211, an identifier analyzing unit 212, a complete message identifying unit 213, and a compressed message identifying unit 214, wherein the second receiving unit 211 is configured to receive the opposite end
  • the device is based on the transaction layer data packet transmitted by the PCIE bus;
  • the identifier parsing unit 212 is configured to parse the identifier of the setting field from the transaction layer data packet;
  • the complete message identifying unit 213 is configured to identify the identifier
  • the transaction layer data message is a full transaction layer data message, and the compressed message identification unit 214 is configured to: when the identifier is a compressed identifier, the transaction layer data message is Compress transaction layer data packets.
  • the repair module 23 is specifically configured to: obtain an address offset from a target address field of the compressed transaction layer data packet; and complete from the same data identifier as the compressed transaction layer data packet The base address is obtained in the target address field in the transaction layer data packet; the address offset is added to the base address to obtain the target address information of the compressed data layer packet.
  • the PCIE bus-based packet transmission apparatus provided in this embodiment may be used to implement the technical solution of the method shown in FIG. 2, and the implementation principle and technical effects are similar, and details are not described herein again.
  • FIG. 8 is a schematic structural diagram of a PCIE bus-based message transmission initiator device according to the present invention.
  • the PCIE bus-based message transmission initiator device 600 includes a bus 610; and is connected to the bus. a processor 620 and a memory 630, wherein the memory 630 is configured to store an instruction, the processor 620 is configured to execute the instruction for receiving a data transmission request, and determine, according to the data transmission request, the requested data transmission request Whether the data to be transmitted has a compression condition; the processor 620 is configured to: if the compression condition is met, the data to be transmitted is encapsulated in at least two data messages; wherein, the at least two data messages are First data message At least one of the full transaction layer data packet and the other data packet of the at least two data packets is a compressed transaction layer data packet, where each data packet is configured to identify the data packet as complete.
  • the compressed transaction layer data message is configured to be compressed in a field with a full transaction layer data message or at least one field of the compressed transaction layer data message
  • the data identifier of the data packet belonging to the same data to be transmitted is set to the same value, so that the data packet of the current secondary data to be transmitted is distinguished from the data packet of the other secondary data to be transmitted; the processor 620 executes the instruction.
  • the method is further configured to transmit the at least two data packets to the peer device by using a PCIE bus.
  • FIG. 9 is a schematic structural diagram of a packet transmission and receiving device based on a PCIE bus according to the present invention.
  • the PCIE bus-based packet transmission receiving device 700 includes a bus 710; and is connected to the bus. a processor 720 and a memory 730, wherein the memory 730 is configured to store an instruction, where the processor 720 is configured to receive and identify a transaction layer data message transmitted by the peer device through the PCIE bus;
  • the 720 executing the instruction is further configured to: when the transaction layer data message is identified as a full transaction layer data message, obtain complete information from each field of the full transaction layer data message; the processor 720 executes the instruction And when, when the transaction layer data message is identified as a compressed transaction layer data message, the complete information in the full transaction layer data message belonging to the same data to be transmitted is restored to the compressed transaction according to the data identifier.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

本发明提供一种基于PCIE总线的报文传输方法与装置,该方法包括:接收数据传输请求,并根据数据传输请求判断数据传输请求所请求的待传输数据是否具备压缩条件;若具备压缩条件,则将待传输数据封装在至少两个数据报文中;其中,所述压缩事务层数据报文缺少至少一个字段或所述压缩事务层数据报文的至少一个字段中配置压缩信息;将所述至少两个数据报文的数据标识设置为相同值;将至少两个数据报文通过PCIE总线传输给对端设备。本发明实施例提供的基于PCIE总线的报文传输方法与装置,在传输过程中实现节约信道资源。

Description

基于 PCIE总线的推丈传输方法与装置 本申请要求于 2013 年 3 月 4 日提交中国专利局、 申请号为 201310068224.1、 发明名称为 "基于 PCIE总线的报文传输方法与装置" 的中 国专利申请的优先权, 上述专利申请的全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术,尤其涉及一种基于 PCIE总线的报文传输方法与装 置。
背景技术
夕卜围组件互连快递( Peripheral Component Interconnect Express,筒称 PCIE ) 总线是一种采用端对端的连接方式的高速差分总线, 具有三个层次: 物理层、 数据链路层和事务层, 其中事务层是所有层次中的最高层。 PCIE具有多种总 线事务, 包括: 存储器读请求总线事务、 存储器写请求总线事务、 输入 /输出 读和写请求总线事务以及配置读和写请求总线事务等。在使用 PCIE总线进行 数据传输时,在事务层中,需要将待传输数据采用事务层数据报文 (Transaction Lay Packet, 筒称 TLP)的格式将所要传输的数据封装成至少一个 TLP, 再通 过 PCIE总线的多个层次发送出去。 在实际传输数据过程中, 将一份数据按照 一定字节长度切割成多份数据, 并对上述多份数据分别封装成 TLP, 通常属 于一份数据对应的多个 TLP都会对一段连续的地址空间进行读或写。
现有技术中, 在将所传输的数据封装为多个 TLP后, 每一个 TLP中, 除 了必要的数据信息外, 每个 TLP的包头中都包含 TLP的长度信息、 TLP的类 型信息、 标识该 TLP在传输时的各种特性与支持的传输功能的信息、 地址字 段信息、 以及没有确定含义的保留字段等额外信息。 当设备 A接到另一个设 执行写入或读取等操作, 当对应一份数据的多个 TLP全部到达设备 A时, 即 完成一次数据的传输。 在现有技术的使用 PCIE总线传输数据的过程中, TLP中包含不必要的冗 余信息, 额外的冗余信息占用了宝贵的数据信道资源, 并且在对应一份数据 的多个 TLP中,每个 TLP中都包含与其他 TLP相同或相近的额外的冗余信息, 因此在数据传输的过程中, 会存在大量的冗余信息, 并且传输冗余信息对宝 贵的数据信道资源造成很大的浪费。
发明内容
本发明提供一种基于 PCIE总线的报文传输方法与装置, 用以节约数据信 道资源, 进而提高数据的传输效率。
第一方面, 本发明实施例提供一种基于 PCIE总线的报文传输方法, 该方 法包括:
接收数据传输请求, 并根据所述数据传输请求判断所述数据传输请求所 请求的待传输数据是否具备压缩条件;
若具备压缩条件, 则将所述待传输数据封装在至少两个数据报文中; 其 中, 所述至少两个数据报文的第一个数据报文为完全事务层数据报文和所述 至少两个数据报文的其他数据报文中的至少一个为压缩事务层数据报文, 各 所述数据报文中配置有标识所述数据报文为完全事务层数据报文或压缩事务 层数据报文的信息; 与所述完全事务层数据报文相比, 所述压缩事务层数据 报文缺少至少一个字段或所述压缩事务层数据报文的至少一个字段中配置压 缩信息; 将所述至少两个数据报文的数据标识设置为相同值;
将所述至少两个数据报文通过 PCIE总线传输给对端设备。
在第一方面的第一种可能的实现方式中, 所述接收数据传输请求, 并根 据所述数据传输请求判断待传输数据是否具备压缩条件包括:
接收数据传输请求;
判断所述数据传输请求的类型是否为设定的可压缩请求, 若是, 则待传 输数据具备压缩条件。
根据第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述判断所述数据传输请求的类型是否为设定的可压缩请求, 若是, 则待传 输数据具备压缩条件包括: 判断所述数据传输请求的类型是否为 D MA数据读写请求;
若是 DMA数据读写请求, 则判断所述 DMA数据读写请求的读写地址是否 连续;
若读写地址连续,则所述 DMA数据读写请求的待传输数据具备压缩条件。 结合第一方面、 第一方面的第一种可能的实现方式或第二种可能的实现 方式中任一种可能的实现方式, 在第三种可能的实现方式中, 所述压缩事务 层数据报文的包头缺少的至少一个字段包括: 数据报文长度字段和字节使能 字段。
结合第一方面、 第一方面的第一种可能的实现方式或第二种可能的实现 方式中任一种可能的实现方式, 在第四种可能的实现方式中, 所述压缩事务 层数据报文配置压缩信息的字段包括目标地址字段, 在该字段配置的压缩信 息为地址偏移量; 所述地址偏移量为所述压缩事务层数据报文的目标地址相 对于完全事务层数据报文的目标地址的地址偏移量。
结合第一方面、 第一方面的第一种可能的实现方式或第二种可能的实现 方式中任一种可能的实现方式, 在第五种可能的实现方式中, 所述若具备压 缩条件, 则将所述待传输数据封装在至少两个数据报文包括:
若具备压缩条件, 则将所述待传输数据封装在至少两个事务层数据报文 中; 所述至少两个事务层数据报文中的报文长度相等。
结合第一方面、 第一方面的第一种可能的实现方式或第二种可能的实现 方式中任一种可能的实现方式, 在第六种可能的实现方式中, 所述若具备压 缩条件, 则将所述待传输数据封装在至少两个数据报文包括:
若具备压缩条件, 则将所述待传输数据封装在一个头事务层数据报文、 至少一个中间事务层数据报文和一个尾事务层数据报文中, 其中, 所述头事 务层数据报文和尾事务层数据报文为完全事务层数据报文, 中间事务层数据 报文为压缩事务层数据报文。
第二方面, 本发明实施例提供一种基于外围组件互连快递 PCIE总线的报 文传输方法, 该方法包括: 接收对端设备通过 PCIE总线传输的事务层数据报 文并进行识别;
当识别到所述事务层数据报文为完全事务层数据报文时, 从所述完全事 务层数据报文的各字段中获取完整信息; 当识别到所述事务层数据报文为压缩事务层数据报文时, 根据数据标识 将属于同一次待传输数据的所述完全事务层数据报文中的完整信息恢复所述 压缩事务层数据报文中缺少的字段或配置压缩信息的字段, 获得压缩事务层 数据报文;
拼接各事务层数据报文以获取对端设备数据发送的待传输数据。
在第二方面的第一种可能的实现方式中, 所述接收对端设备基于 PC I E总 线传输的事务层数据报文并进行识别包括:
接收对端设备基于 PC I E总线传输的事务层数据报文;
从所述事务层数据报文中解析设定字段的标识;
当识别到所述标识为完全标识时, 则所述事务层数据报文为完全事务层 数据报文;
当识别到所述标识为压缩标识时, 则所述事务层数据报文为压缩事务层 数据报文。
结合第二方面或第二方面的第一种可能的实现方式, 在第二方面的第二 种可能的实现方式中, 所述根据数据标识将属于同一次待传输数据的所述完 全事务层数据报文中的完整信息恢复所述压缩事务层数据报文中缺少的字段 或配置压缩信息的字段, 获得压缩事务层数据报文, 包括:
从所述压缩事务层数据报文的目标地址字段中获得地址偏移量; 从与所述压缩事务层数据报文的数据标识相同的完全事务层数据报文中 的目标地址字段中获得基地址;
将地址偏移量与基地址相加, 得到所述压缩数据层报文的目标地址信息。 第三方面, 本发明实施例提供一种基于外围组件互连快递 PCIE总线的报 文传输装置, 该装置包括: 接收判断模块, 用于接收数据传输请求, 并根据 所述数据传输请求判断所述数据传输请求所请求的待传输数据是否具备压缩 条件;
封装模块, 用于若具备压缩条件, 则将所述待传输数据封装在至少两个 数据报文中; 其中, 所述至少两个数据报文的第一个数据报文为完全事务层 数据报文和所述至少两个数据报文的其他数据报文中的至少一个为压缩事务 层数据报文, 各所述数据报文中配置有标识所述数据报文为完全事务层数据 报文或压缩事务层数据报文的信息; 与所述完全事务层数据报文相比, 所述 压缩事务层数据报文缺少至少一个字段或所述压缩事务层数据报文的至少一 个字段中配置压缩信息; 将所述至少两个数据报文的数据标识设置为相同值; 传输模块,用于将所述至少两个数据报文通过 PCIE总线传输给对端设备。 在第三方面的第一种可能的实现方式中, 所述接收模块, 包括: 第一接收单元, 用于接收数据传输请求;
判断单元, 用于判断所述数据传输请求的类型是否为设定的可压缩请求, 若是, 则待传输数据具备压缩条件。
根据第三方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述判断单元具体用于:
判断所述数据传输请求的类型是否为直接内存存取 DMA数据读写请求, 所述 DMA数据读写请求包含 DMA数据写请求和 DMA数据读请求;
若是 DMA数据读写请求, 则判断所述 DMA数据读写请求的读写地址是否 连续;
若读写地址连续,则所述 DMA数据读写请求的待传输数据具备压缩条件。 结合第三方面、 第三方面的第一种可能的实现方式及第二种可能的实现 方式中任一种可能的实现方式, 在第三种可能的实现方式中, 所述封装模块, 包括:
等长封装单元, 用于若具备压缩条件, 则将所述待传输数据封装在至少 两个事务层数据报文中; 所述至少两个事务层数据报文中的报文长度相等。
结合本发明的第三方面、 第三方面的第一种可能的实现方式及第二种可 能的实现方式中任一种可能的实现方式, 在第四种可能的实现方式中, 所述 封装模块, 用于: 若具备压缩条件, 则将所述待传输数据封装在一个头事务 层数据报文、 至少一个中间事务层数据报文和一个尾事务层数据报文中, 其 中, 所述头事务层数据报文和尾事务层数据报文为完全事务层数据报文, 中 间事务层数据报文为压缩事务层数据报文。
第四方面, 本发明实施例提供一种基于外围组件互连快递 PCIE总线的报 文传输装置, 该装置包括: 接收识别模块, 用于接收对端设备通过 PCIE总线 传输的事务层数据报文并进行识别;
获取模块, 用于当识别到所述事务层数据报文为完全事务层数据报文时, 从所述完全事务层数据报文的各字段中获取完整信息; 修复模块, 用于当识别到所述事务层数据报文为压缩事务层数据报文时 , 根据数据标识将属于同一次待传输数据的所述完全事务层数据报文中的完整 信息恢复所述压缩事务层数据报文中缺少的字段或配置压缩信息的字段, 获 得压缩事务层数据报文;
拼接模块, 用于拼接各事务层数据报文以获取对端设备数据发送的待传 输数据。
在第四方面的第一种可能的实现方式中, 所述接收识别模块包括: 第二接收单元,用于接收对端设备基于 PCIE总线传输的事务层数据报文; 标识解析单元, 用于从所述事务层数据报文中解析设定字段的标识; 完全报文识别单元, 用于当识别到所述标识为完全标识时, 则所述事务 层数据报文为完全事务层数据报文;
压缩报文识别单元, 用于当识别到所述标识为压缩标识时, 则所述事务 层数据报文为压缩事务层数据报文。
结合第四方面或第四方面的第一种可能的实现方式, 在第二种可能的实 现方式中, 所述修复模块具体用于:
从所述压缩事务层数据报文的目标地址字段中获得地址偏移量; 从与所述压缩事务层数据报文的数据标识相同的完全事务层数据报文中 的目标地址字段中获得基地址;
将地址偏移量与基地址相加, 得到所述压缩数据层报文的目标地址信息。 本发明实施例提供的基于 PCIE总线的报文传输方法与装置,如果待传输 数据具备压缩条件, 则将待传输的数据封装成配置有完全事务层数据报文标 识信息的一个完全事务层数据报文和至少一个压缩事务层数据报文, 其中, 压缩事务层数据报文中缺少至少一个字段或者在至少一个字段配置了压缩信 息, 使得压缩事务层数据报文相对于完全事务层数据报文传输的信息少, 在 接收端对压缩事务层数据报文进行恢复, 在保证传输数据不出错的情况下, 压缩后的数据报文去除了部分信息, 在传输过程中实现节约信道资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作筒单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。 图 1是本发明基于 PCIE总线的报文传输方法实施例一的流程图; 图 2是本发明基于 PCIE总线的报文传输方法实施例二的流程图; 图 3是本发明实施例中 DMA数据读写请求发起端增加控制逻辑之后的流 程图;
图 4a是本发明实施例中 DMA数据写请求的事务层数据报文中的头事务层 数据报文包头格式示意图;
图 4b是本发明实施例中数据写请求的事务层数据报文中中间事务层数据 报文包头格式示意图;
图 4c是本发明实施例中数据写请求的事务层数据报文中尾事务层数据报 文包头格式示意图;
图 5是本发明实施例中 DMA接收端增加控制逻辑之后的流程图; 图 6是本发明基于 PCIE总线的报文传输装置实施例一的结构示意图; 图 7是本发明基于 PCIE总线的报文传输装置实施例二的结构示意图; 图 8是本发明基于 PCIE总线的报文传输发起端设备的结构示意图; 图 9是本发明基于 PCIE总线的报文传输接收端设备的结构示意图。
具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例, 都属于本发明保护的范围。
图 1是本发明基于 PCIE总线的报文传输方法实施例一的流程图,本发明实 施例可适用于任意基于 PCIE总线交互的设备中, 由该设备中的报文传输装置 来执行。 如图 1所示, 本实施例提供的基于 PCIE总线的报文传输方法包括: 步骤 101、接收数据传输请求, 并根据数据传输请求判断数据传输请求所 请求的待传输数据是否具备压缩条件。
具体地, 基于 PCIE总线交互的设备接收数据传输请求, 该数据传输请求 可以是数据写请求, 也可以是数据读请求, 基于 PCIE总线交互的设备可以根 据数据传输请求的类型判断数据传输请求是否具备压缩条件。
步骤 102、若具备压缩条件,则将待传输数据封装在至少两个数据报文中; 其中, 至少两个数据报文的第一个数据报文为完全事务层数据报文和至少两 个数据报文的其他数据报文中的至少一个为压缩事务层数据报文, 各数据报 文中配置有标识数据报文为完全事务层数据报文或压缩事务层数据报文的信 息; 所述压缩事务层数据报文缺少至少一个字段或所述压缩事务层数据报文 的至少一个字段中配置压缩信息; 将所述至少两个数据报文的数据标识设置 为相同值。 配置压缩信息的字段通常是事务层数据报文中具有某些规律变化 的字段, 其特点是大部分信息相同而少部分信息不同, 或者是字段内信息按 照设定规律变化。
属于同一次待传输数据的数据报文的数据标识设置为相同值, 以使当前 次待传输数据的数据报文区别于其他次待传输数据的数据报文。
在实际应用中, 如果确定该数据传输请求具备压缩条件, 则将该数据传 输请求所指定的待传输的数据按照一定字节数切割成子数据后, 将其进行封 装后再进行传输。 例如, 若具备压缩条件, 则将所述待传输数据封装在一个 头事务层数据报文、 至少一个中间事务层数据报文和一个尾事务层数据报文 中, 其中, 所述头事务层数据报文和尾事务层数据报文为完全事务层数据报 文, 中间事务层数据报文为压缩事务层数据报文。 并且由于中间事务层数据 报文为压缩事务层数据报文, 因此在中间事务层数据报文中删除与完全事务 层数据报文相同字段, 该与完全事务层数据报文相同字段可以具体为数据报 文长度字段和字节使能字段配置的信息, 因为即使没有这些字段, 对端设备 也可以根据完全事务层数据报文和压缩事务层数据报文中的信息获取压缩事 务层数据报文的数据以及读取地址或储存地址。 另外需要为完全事务层数据 报文和压缩事务层数据报文配置相应的标识位, 以使对端设备能够识别接收 到的数据报文是完全事务层数据报文还是压缩事务层数据报文。 在第一个事 务层数据报文的各字段配置完整信息, 该完整信息是指完全事务层数据报文 的包头信息中包含全部字段及其字段信息, 且在完全事务层数据报文的包头 信息中的保留字段配置完全标识, 以将所述事务层数据报文作为完全事务层 数据报文; 在剩余事务层数据报文与完全事务层数据报文的相近字段中配置 压缩信息, 或将压缩事务层数据报文中的与完全事务层数据报文相同字段删 除, 删除的相同字段可以是数据报文长度字段和字节使能字段, 且在压缩事 务层数据局报文的包头信息中的保留字段配置压缩标识, 以将所述事务层数 据报文作为压缩事务层数据报文。 将待传输数据封装成至少两个数据报文中, 在该两个数据报文中都设置有相同的数据标识, 该数据标识用于表示数据报 文属于一个待传输数据, 以使当前次待传输数据的数据报文区别于其他次待 传输数据的数据报文。 在对端设备接收到数据报文时, 可以区分属于不同次 传输的数据报文, 避免产生乱序的问题, 保证接收数据的准确性。
步骤 103、 将至少两个数据报文通过 PCIE总线传输给对端设备。
具体地, 基于 PCIE总线交互的设备将封装的完全事务层数据报文和压缩 事务层数据报文根据 PCIE总线的协议传输对端设备。该对端设备可以是 PCIE 设备。
本发明实施例提供的基于 PCIE总线的报文传输方法,在数据传输过程中, 通过判断数据传输请求的待传输数据是否具备压缩条件, 如果具备压缩条件, 则将待传输的数据封装成配置有完全事务层数据报文标识信息的一个完全事 务层数据报文和配置压缩事务层数据报文的标识信息的至少一个压缩事务层 数据报文, 其中, 压缩事务层数据报文中缺少与完全事务层数据报文的相同 字段或压缩事务层数据报文与完全事务层数据报文相近字段中配置了压缩信 息, 以使压缩事务层数据报文相对与完全事务层数据报文传输的信息少, 待 传输数据封装在至少两个数据报文中, 该至少两个数据报文中设置了相同值 的数据标识, 并将封装后的待传输数据通过 PCIE总线传输给对端设备, 以使 对端设备可以根据数据标识接收属于一次待传输数据的至少两个数据报文, 在保证传输数据不出错的情况下, 压缩后的数据报文去除了部分信息, 在传 输过程中实现节约信道资源。
在上述实施例的基础上, 步骤 101可以具体为: 接收数据传输请求; 判断 数据传输请求的是否为设定的可压缩请求, 若是, 则待传输数据具备压缩条 件, 否则, 待传输数据不具备压缩条件。 即可区分不同类型的数据传输请求 来判定其是否可压缩。 例如, 在数据写请求或数据读请求中, 由于待传输数据在封装为多个事 务层数据报文之后, 大部分字段都相同, 所以可作为可压缩请求。
本发明实施例提供的基于 PCIE总线的报文传输方法, 将事务层数据报文 区分为携带完整信息和压缩信息两种, 因而在压缩事务层数据报文中减少了 与完全事务层数据报文的重复信息, 在传输过程中实现节约信道资源。
进一步的, 当写地址或读地址连续时, 则目标地址字段只会发生顺序且 有规律的变化, 也可以进行压缩, 不用携带完整的地址信息, 而仅携带地址 偏移量。 所以, 上述判断的步骤又可以具体是:
判断所述数据传输请求的类型是否为 D MA数据写请求;
若是 DMA数据写请求, 则判断所述 DMA数据写请求的写地址是否连续; 若写地址连续, 则所述 DMA数据写请求的待传输数据具备压缩条件。 或者是:
判断所述数据传输请求的类型是否为 D MA数据读请求;
若是 DMA数据读请求, 则判断所述 DMA数据读请求的读地址是否连续; 若读地址连续, 则所述 DMA数据读请求的待传输数据具备压缩条件。 更进一步地, 区分完全事务层数据报文和压缩事务层数据报文的方式可 以通过标识来实现, 优选是以事务层数据报文中的保留字段携带完全标识或 压缩标识来区分事务层数据报文。
在本发明实施例中, 通过判断 DMA数据的写请求的写地址是否连续或读 请求的读地址是否连续, 并且如果写地址或读地址连续, 则表示具备压缩条 件, 并将具备压缩条件的中间事务层数据报文, 删除重复字段, 以及减少部 分字段的信息后进行传输。
在上述实施例中, 作为一种可选的实施方式, 压缩事务层数据报文与完 全事务层数据报文的相同字段至少包括: 数据报文长度字段和字节使能字段。
具体地, 在压缩事务层数据报文中缺少的字段包括:数据报文长度字段和 字节使能字段,由于压缩事务层数据报文中相对于完全事务层数据报文缺少两 个字段, 节约了在传输压缩事务层数据报文过程中的信道资源, 同时也提高 了信道资源的利用率。
作为另一种可选的实施方式, 压缩事务层数据报文配置压缩信息的字段 包括目标地址字段, 在该字段配置的压缩信息为地址偏移量; 地址偏移量为 压缩事务层数据报文的目标地址相对于完全事务层数据报文的目标地址的地 址偏移量。
在实际应用中, 目标地址字段占用数据报文中的 8个字节, 而如果将压缩 事务层数据报文中的目标地址字段配置为地址偏移量, 该地址偏移量占用数 据报文中的 4个字节, 地址偏移量为压缩事务层数据报文的目标地址相对于完 全事务层数据报文的目标地址的地址偏移量。 因此通过将压缩事务层数据报 文的目标地址字段配置为地址偏移量, 减少了压缩事务层数据报文在传输过 程中占用的信道资源。
本发明实施例提供的基于 PCIE总线的报文传输方法, 通过在完全事务层 数据报文配置完整的信息, 而压缩事务层数据报文配置的信息并不完整, 压 缩事务层数据报文中缺少与完全事务层数据报文的相同的数据报文长度字段 和字节使能字段或将压缩事务层数据报文中的目标地址信息配置为地址偏移 量, 从而在数据传输过程中, 可以有效节约信道资源。
在上述实施例的基础上, 可以采用事务层数据报文中的保留字段携带标 识的方式来区别完全事务层数据报文和压缩事务层数据报文。 此外, 数据报 文可以非等长划分, 但优选是等长划分, 即所述若具备压缩条件, 则将所述 待传输数据封装在至少一个完全事务层数据报文和至少一个压缩事务层数据 报文可包括:
若具备压缩条件, 则将所述待传输数据封装在至少两个事务层数据报文 中; 所述至少两个事务层数据报文中的报文长度相等。
此外的非等长或等长划分方式为, 若具备压缩条件, 则将所述待传输数 据封装在一个头事务层数据报文、 至少一个中间事务层数据报文和一个尾事 务层数据报文中, 其中, 所述头事务层数据报文和尾事务层数据报文为完全 事务层数据报文, 中间事务层数据报文为压缩事务层数据报文。 此方式适用 于非等长划分方式, 尾事务层数据报文的报文长度可以与头、 中间事务层数 据报文的报文长度不等。
具体地, 一份数据切割成多个子数据, 在对多个子数据封装成多个事务 层数据报文的过程中, 在判断当前的一份数据写入地址连续后, 将其切割后 的子数据封装在等长的至少两个事务层数据报文中, 并且在属于同一份数据 的第一个子数据封装的事务层数据报文的各字段配置完整信息, 并且在第一 个子数据的事务层报文的保留字段配置完全标识, 表示该事务层数据报文中 包含完整的数据报文信息。 并在剩余的事务层报文与完全事务层数据报文的 相同字段配置压缩信息, 且在保留字段配置压缩标识, 表示剩余的事务层数 据报文属于当前一份数据中的其他子数据封装的事务层数据报文。
进一步地, 实际应用中还存在一种情况, 就是当前的一份数据不能切割 成等分的多个子数据, 在按照一定字节切割的过程中, 可能尾事务层数据的 长度与其他子数据的长度不一致, 因此, 在封装的过程中, 就将待传输的数 据封装在一个头事务层数据报文、 至少一个中间事务层数据报文和一个尾事 务层数据报文中, 其中, 头事务层数据报文作为当前数据的第一个子数据事 务层数据报文, 包含完整的信息, 属于完全事务层数据报文, 中间事务层数 据报文不需要包含完整的信息, 属于压缩事务层数据报文, 由于尾事务层数 据报文与其他事务层数据报文不等长, 因此也需要包含完整的信息, 属于完 全事务层数据报文。
图 2是本发明基于 PCIE总线的报文传输方法实施例二的流程图,本发明实 施例可适用于任意基于 PCIE总线交互的设备中, 由该设备中的报文传输装置 来执行。如图 2所示,本发明实施例提供的基于 PCIE总线的报文传输方法包括: 步骤 201、 接收对端设备通过 PCIE总线传输的事务层数据报文并进行识 别。
具体地, 在接收到基于 PCIE总线传输的事务层数据报文后, 对事务层数 据报文中保留字段的信息进行识别, 判断接收到的事务层数据报文是完全事 务层数据报文还是压缩事务层数据报文。
步骤 202、 当识别到事务层数据报文为完全事务层数据报文时, 从完全事 务层数据报文的各字段中获取完整信息。
具体地, 如果识别为完全事务层数据报文, 则将完全事务层数据报文中 获取完整信息, 该完整信息可包括: 目标地址字段和数据报文长度字段等, 并且目标地址字段作为基地址, 而压缩数据报文长度字段作为地址增量的偏 移量。
步骤 203、 当识别到事务层数据报文为压缩事务层数据报文时, 根据数据 标识将属于同一次待传输数据的完全事务层数据报文中的完整信息恢复压缩 事务层数据报文中缺少的字段或配置压缩信息的字段, 获得压缩事务层数据 报文。
具体地, 步骤 203可以为: 当识别到事务层数据报文为压缩事务层数据报 文时, 从压缩事务层数据报文的目标地址字段中获得地址偏移量; 从与压缩 事务层数据报文的数据标识相同的完全事务层数据报文中的目标地址字段中 获得基地址; 将地址偏移量与基地址相加, 得到压缩数据层报文的目标地址 信息。
如果识别为压缩事务层数据报文, 则从压缩事务层数据报文中提取数据 标识, 该数据标识可以是 DMAJD字段。 根据 DMAJD字段就可以判断当前接 收到的事务层数据报文属于哪一次数据读请求或数据写请求, 不会产生乱序, 并且根据属于同一次待传输数据的完全事物层数据报文中的完整信息恢复压 缩事务层数据报文中缺少的字段或配置压缩信息的字段。
对于压缩事务层数据报文中缺少的字段, 可以从属于当前次待传输数据 的完全事务层数据报文中获取, 而对于压缩事务层数据报文中配置压缩信息 的字段, 可以从压缩事务层数据报文的目标地址字段中获得地址偏移量; 从 与压缩事务层数据报文的数据标识相同的完全事务层数据报文中的目标地址 字段中获得基地址; 将地址偏移量与基地址相加, 得到压缩数据层报文的目 标地址信息。
步骤 204、拼接各事务层数据报文以获取对端设备数据传输请求的待传输 数据。
当接收到所有子数据的事务层数据报文后, 可以根据各事务层数据报文 拼接出完整的待传输数据。
本发明实施例提供的 PCIE总线的报文传输方法, 通过接收对端设备发送 的事务层数据报文, 并对其进行解析识别, 判断接收的是事务层数据报文是 完全事务层数据报文还是压缩事务层数据报文, 在完全事务层报文中提取完 整的信息, 在压缩事务层数据报文中获取压缩信息, 最后就可以将收到的事 务层数据报文拼接得到完整的待传输数据。
在上述实施例二的基础上, 上述步骤 201具体可以包括:
接收对端设备基于 PC I E总线传输的事务层数据报文;
从所述事务层数据报文中解析设定字段的标识;
当识别到所述标识为完全标识时, 则所述事务层数据报文为完全事务层 数据报文;
当识别到所述标识为压缩标识时, 则所述事务层数据报文为压缩事务层 数据报文。
本实施例通过对事务层数据报文中的设定的字段标识进行解析, 可以判 断当前收到的事务层数据报文为完全事务层数据报文还是压缩事务层数据报 文, 具体地, 字段标识可以设置在事务层数据报文中保留字段, 从而顺利接 收并解析得到待传输数据。
在上述实施例的基础上, 压缩事务层数据报文中, 删除所述数据报文长 度字段和字节使能字段, 或将目标地址字段配置的压缩信息为地址偏移量。
具体地, 所有的压缩事务层数据报文长度相同, 因此可以删除数据报文 长度字段配置的表征数据报文长度的信息, 对端设备接收待压缩事务层数据 报文时可以根据完全事务层数据报文的信息获取压缩事务层数据报文的报文 长度信息, 而对于对端设备而言, 压缩事务层数据报文中的字节使能字段也 可以删除, 以节约数据传输过程中的信道资源。 对端设备还可以根据地址字 段配置的地址偏移量计算得到压缩事务层数据报文写入或读取地址。
在实际应用中, 本发明实施例提供的基于 PCIE总线的报文传输过程中, 和现有技术中的事务层数据报文不同的是, 本发明将事务层数据报文中原有 的保留字段赋予了新的意义, 可以和现有技术相同的是, 本发明实施例中的 保留字段与现有技术中的保留字段位置相同。 例如, 保留字段包括的三个比 特位分别位于第二字节中的第 7位、 第二字节中的第 3位以及第字节中的第 1 位, 通过保留字段内容的不同可以区分事务层数据报文的类型, 即事务层数 据报文是属于普通事务层数据报文还是完全事务层数据报文或具备压缩条件 的压缩事务层数据报文。 更进一步地, 可以根据保留字段的信息判断当前发 送的事务层数据报文是头事务层数据报文、 中间事务层数据报文或尾事务层 数据报文, 本发明通过使用保留字段的三个比特位对事务层数据报文进行区 分, 具体地, 如果三个比特位为 000, 则表示当前的事务层数据报文为普通事 务层数据报文; 如果三个比特位不是 000 , 则表示当前的事务层数据报文是完 全事务层数据报文或具备压缩条件的事务层数据报文。
下面将针对当前的事务层数据报文是具备压缩条件的事务层数据报文, 更进一步地, 可以通过 DMA数据写请求和 DMA数据读请求对上述实施例提供 的基于 PCIE总线的报文传输方法做进一步详细地说明。
本实施例将以 DMA数据写请求为例进行说明, 首先 DMA数据写请求的传 输过程涉及 DMA数据写请求发起端和 DMA数据写请求接收端。
图 3是本发明实施例中 DMA数据读写请求发起端增加控制逻辑之后的流 程图, 如图 3所示, 该方法包括如下步骤:
步骤 301、 DMA发起端判断 DMA数据读写请求的读写地址是否连续, 如 果是, 执行步骤 302和步骤 303, 若否, 则执行步骤 304;
步骤 302、将待传输的数据按照一定字节长度进行切割后封装成多个事务 层数据报文;
步骤 303、 使用具备压缩条件的 TLP报文传输模式进行事务层数据报文的 传送;
步骤 304、 按照已有的普通模式传送该 DMA数据读写请求。
步骤 303中, 第一个事务层数据报文为完全事务层数据报文, 在此事务层 数据报文中的各字段配置完整信息, 并且在数据传输过程中, 将包含 "生成 当前报文"的发起端设备的总线号、设备号和功能号的 Requester ID字段更改 为 DMAJD字段。对于数据写请求报文, 由于接收端收到发起端的事务层数据 报文后, 不需要对发起端做应答, 因此 Requester ID字段对于写请求报文没有 实际意义, 因此可以将其更改, 因为在 PCIE总线上传输数据的过程中, 存在 后一个存储器的事务层数据报文超越前一个存储器的事务层数据报文提前执 行, 这样就需要采用 DMAJD字段来对多次 DMA数据读写过程进行标识, 不 同次的 DMA读写请求的事务层数据报文中的 DMAJD字段是不同的, 从而将 当前的 DMA数据传输过程与 PCIE总线上其他的 DMA数据传输过程区别开来。 接收端根据 DMAJD字段可以区分当前的压缩后的事务层数据报文属于哪一 次 DMA数据传输过程。
在实际应用过程中, 完全事务层数据报文可以是 DMA数据传输过程中的 第一个事务层数据报文和 /或最后一个事务层数据报文, 也就是一个头事务层 数据报文和 /或一个尾事务层数据报文, 在完全事务层数据报文中, 配置了完 整信息的各字段可以有数据报文长度字段、 字节使能字段、 特性字段、 传输 功能字段及目标地址字段等, 这些字段通常情况下在各事务层数据报文中内 容相同, 或者是按照规律变化的, 在压缩事务层数据报文中, 删除所述数据 报文长度字段、 字节使能字段、 特性字段、 传输功能字段, 且所述目标地址 字段配置的压缩信息为写地址偏移量。
图 4a是本发明实施例中数据写请求的事务层数据报文中的头事务层数据 报文包头格式示意图、 图 4b是本发明实施例中数据写请求的事务层数据报文 中中间事务层数据报文包头格式示意图、 图 4c是本发明实施例中数据写请求 的事务层数据报文中尾事务层数据报文包头格式示意图, 如图 4a所示, 一个 头事务层数据报文包头的长度为 4个双字, 而如图 4b所示, 一个中间事务层数 据报文包头的长度为 1个双字, 如图 4c所示, 一个尾事务层数据报文包头的长 度为 4个双字。
在 DMA接收端,与 DMA发起端配合完成一次 DMA写数据传输过程。 DMA 接收端接收到一个事务层数据报文后, 对事务层数据报文的类型标识位进行 解析和判断, 图 5是本发明实施例中 DMA接收端增加控制逻辑之后的流程图, 如图 5所示:
步骤 501、 接收发起端基于 PCIE总线传输的事务层数据报文并进行识别; 步骤 502a、如果识别事务层数据报文的保留字段的三个字节为 000,则识 别为按照普通模式传输的事务层数据报文, 按照普通的事务层数据报文进行 接收;
步骤 502b、 如果识别相应地事务层数据报文中保留字段的三个字节为
100, 则识别为头事务层数据报文, 然后执行步骤 503b;
步骤 503b、 提取该头事务层数据报文中数据报文长度字段信息, 并保存 该头事务层数据报文的目标地址字段, 作为当前此次 DMA写数据传输的基地 址, 最后执行步骤 504b;
步骤 504b、 保存该头事务层数据报文的 DMAJD字段, 以确定当前此次 DMA写数据传输的序号;
步骤 502c、 如果识别相应地事务层数据报文中保留字段的三个字节为
101 , 则识别为中间事务层数据报文, 然后执行步骤 503c;
步骤 503c、 提取报文包头中的 DMAJD字段信息, 以与接收到此事务层 数据报文之前的事务层数据报文进行匹配, 以确定当前的中间事务层数据报 文属于哪一次 DMA写数据传输过程, 最后执行步骤 504c;
步骤 504c、 计算偏移量及当前事务层数据报文的写入地址; 步骤 502d、 如果识别相应地事务层数据报文中保留字段的三个字节为 110, 则识别为尾事务层数据报文, 然后执行步骤 503d;
步骤 503d、 提取尾事务层数据报文中长度字段信息及目标地址信息, 进 行正常的传输。
另外, 在 DMA接收端, 还包括一个 DMA状态表, 用来保存每一次 DMA写 数据传输过程中对应的 DMAJD、基地址信息及地址增量, 在头事务层数据报 文所携带的信息中就可以获取当前此次 D M A写数据传输过程对应的 DMAJD、 基地址信息, 对于地址增量字段初始值为 0, 地址增量的大小随着 DMA接收端接收到的事务层数据报文个数的增加而增加, 本发明各实施例中 的 DMAJD字段属于数据标识。
通过上述过程, DMA接收端和 DMA发送端配合完成 DMA写数据传输的完 整过程, 在上述报文处理过程中, 既存在按照正常模式进行传输的数据报文, 还包括按照压缩模式进行传输的数据报文, 在使用压缩模式进行传输的过程 中, 由于中间事务层数据报文删除了原有的冗余信息, 使得信道资源占用比 例大大减少, 节约了信道资源。
本发明的另一实施例将对 D M A读数据请求过程做进一步地说明, 在本实 施例中, 与 DMA数据写请求过程不同的是保留字段的标识字段是不同的, 另 外, 和 DMA数据写请求过程不同的是, 在 DMA数据读请求过程中事务层数据 报文包含中的数据载荷字段是要写入的数据, 而 DMA数据读请求过程中事务 层数据报文是不存在载荷字段的。 其他的与 DMA数据写请求过程类似, 在此 不再赘述。
图 6是本发明基于 PCIE总线的报文传输装置实施例一的结构示意图,如图 6所示,本发明实施例提供的基于 PCIE总线的报文传输装置包括:接收判断模 块 11、 封装模块 12和传输模块 13, 其中, 接收判断模块 1 1 , 用于接收数据传 输请求, 并根据所述数据传输请求判断所述数据传输请求所请求的待传输数 据是否具备压缩条件; 封装模块 12, 用于若具备压缩条件, 则将所述待传输 数据封装在至少两个数据报文中; 其中, 所述至少两个数据报文的第一个数 据报文为完全事务层数据报文和所述至少两个数据报文的其他数据报文中的 至少一个为压缩事务层数据报文, 各所述数据报文中配置有标识所述数据报 文为完全事务层数据报文或压缩事务层数据报文的信息; 所述压缩事务层数 据报文缺少与完全事务层数据报文的字段或所述压缩事务层数据报文的至少 一个字段中配置为压缩信息; 属于同一次待传输数据的数据报文的数据标识 设置为相同值, 以使当前次待传输数据的数据报文区别于其他次待传输数据 的数据报文; 传输模块 13, 用于将所述至少两个数据报文通过 PCIE总线传输 给对端设备。
在上述装置实施例一的基础上, 接收判断模块 11 , 包括: 第一接收单元 111和判断单元 1 12, 其中第一接收单元 111用于接收数据传输请求; 判断单 元 112, 用于判断所述数据传输请求的类型是否为设定的可压缩请求, 若是, 则待传输数据具备压缩条件。 判断单元 112具体用于: 判断所述数据传输请求 的类型是否为 DMA数据读写请求, 若是 DMA数据读写请求, 则判断所述 DMA 数据读写请求的读写地址是否连续, 若读写地址连续, 则所述 DMA数据读写 请求的待传输数据具备压缩条件。
在上述实施例的基础上, 优选地, 封装模块 12还可以包括: 等长封装单 元, 其中, 等长封装单元用于若具备压缩条件, 则将所述待传输数据封装在 至少两个事务层数据报文中; 所述至少两个事务层数据报文中的报文长度相 等。
更进一步地, 封装模块 12 , 还可以用于若具备压缩条件, 则将所述待传 输数据封装在一个头事务层数据报文、 至少一个中间事务层数据报文和一个 尾事务层数据报文中, 其中, 所述头事务层数据报文和尾事务层数据报文为 完全事务层数据报文, 中间事务层数据报文为压缩事务层数据报文。
本实施例的基于 PCIE总线的报文传输装置,可以用于执行图 1所示方法实 施例的技术方案, 其实现原理类似, 此处不再赘述。
本发明实施例提供的基于 PCIE总线的报文传输装置,在数据传输过程中, 通常是对目标设备存储器的连续地址进行读或写, 通过接收判断模块 11判断 数据传输请求是否具备压缩条件, 如果具备压缩条件, 则利用封装模块 12将 待传输的数据封装成至少一个包含完整信息的完全事务层数据报文和至少一 个压缩事务层数据报文, 并通过传输模块 13将封装后的待传输数据通过 PC I E 总线传输给对端设备, 在保证传输数据不出错的情况下, 压缩后的数据报文 减少了部分字段信息, 在传输过程中实现节约信道资源。
图 7是本发明基于 PCIE总线的报文传输装置实施例二的结构示意图,如图 7所示, 本发明提供的一种基于 PCIE总线的报文传输装置, 该装置包括: 接收 识别模块 21、 获取模块 22、 修复模块 23和拼接模块 24, 其中, 接收识别模块 21 , 用于接收对端设备通过 PCIE总线传输的事务层数据报文并进行识别; 获 取模块 22, 用于当识别到所述事务层数据报文为完全事务层数据报文时, 从 所述完全事务层数据报文的各字段中获取完整信息; 修复模块 23, 用于当识 别到所述事务层数据报文为压缩事务层数据报文时, 根据数据标识将属于同 一次待传输数据的所述完全事务层数据报文中的完整信息恢复所述压缩事务 层数据报文中缺少的字段或配置压缩信息的字段, 获得压缩事务层数据报文; 拼接模块 24, 用于拼接各事务层数据报文获取对端设备数据发送的待传输数 据。
优选地, 所述接收识别模块 21具体包括: 第二接收单元 211、 标识解析单 元 212、 完全报文识别单元 213和压缩报文识别单元 214, 其中, 第二接收单 元 211 , 用于接收对端设备基于 PCIE总线传输的事务层数据报文; 标识解析 单元 212, 用于从所述事务层数据报文中解析设定字段的标识; 完全报文识别 单元 213, 用于当识别到所述标识为完全标识时, 则所述事务层数据报文为完 全事务层数据报文; 压缩报文识别单元 214 , 用于当识别到所述标识为压缩标 识时, 则所述事务层数据报文为压缩事务层数据报文。
更为优选地, 所述修复模块 23具体用于: 从所述压缩事务层数据报文的 目标地址字段中获得地址偏移量; 从与所述压缩事务层数据报文的数据标识 相同的完全事务层数据报文中的目标地址字段中获得基地址; 将地址偏移量 与基地址相加, 得到所述压缩数据层报文的目标地址信息。
本实施例提供的基于 PCIE总线的报文传输装置,可以用于执行图 2所示方 法实施例的技术方案, 其实现原理和技术效果类似, 此处不再赘述。
图 8是本发明基于 PCIE总线的报文传输发起端设备的结构示意图, 如图 8 所示, 本发明实施例提供的基于 PCIE总线的报文传输发起端设备 600包括总 线 610; 以及连接到总线 610的处理器 620和存储器 630, 其中该存储器 630用 于存储指令, 该处理器 620用于执行该指令用于接收数据传输请求, 并根据所 述数据传输请求判断所述数据传输请求所请求的待传输数据是否具备压缩条 件; 该处理器 620执行该指令还用于若具备压缩条件, 则将所述待传输数据封 装在至少两个数据报文中; 其中, 所述至少两个数据报文的第一个数据报文 为完全事务层数据报文和所述至少两个数据报文的其他数据报文中的至少一 个为压缩事务层数据报文, 各所述数据报文中配置有标识所述数据报文为完 全事务层数据报文或压缩事务层数据报文的信息; 所述压缩事务层数据报文 缺少与完全事务层数据报文的字段或所述压缩事务层数据报文的至少一个字 段中配置为压缩信息; 属于同一次待传输数据的数据报文的数据标识设置为 相同值, 以使当前次待传输数据的数据报文区别于其他次待传输数据的数据 报文; 该处理器 620执行该指令还用于将所述至少两个数据报文通过 PCIE总 线传输给对端设备。
图 9是本发明基于 PCIE总线的报文传输接收端设备的结构示意图, 如图 9 所示, 本发明实施例提供的基于 PCIE总线的报文传输接收端设备 700包括总 线 710; 以及连接到总线 710的处理器 720和存储器 730, 其中该存储器 730用 于存储指令, 该处理器 720用于执行该指令用于接收对端设备通过 PCIE总线 传输的事务层数据报文并进行识别;该处理器 720执行该指令还用于当识别到 所述事务层数据报文为完全事务层数据报文时, 从所述完全事务层数据报文 的各字段中获取完整信息;该处理器 720执行该指令还用于当识别到所述事务 层数据报文为压缩事务层数据报文时, 根据数据标识将属于同一次待传输数 据的所述完全事务层数据报文中的完整信息恢复所述压缩事务层数据报文中 缺少的字段或配置压缩信息的字段, 获得压缩事务层数据报文; 该处理器 720 执行该指令还用于拼接各事务层数据报文以获取对端设备数据发送的待传输 数据。
本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算机可 读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的步骤; 而 前述的存储介质包括: ROM、 RAM , 磁碟或者光盘等各种可以存储程序代码 的介质。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims

权利要求 书
1、 一种基于外围组件互连快递 PCIE总线的报文传输方法, 其特征在于, 包 括:
接收数据传输请求, 并根据所述数据传输请求判断所述数据传输请求所请 求的待传输数据是否具备压缩条件;
若具备压缩条件, 则将所述待传输数据封装在至少两个数据报文中; 其中, 所述至少两个数据报文的第一个数据报文为完全事务层数据报文和所述至少两 个数据报文的其他数据报文中的至少一个为压缩事务层数据报文, 各所述数据 报文中配置有标识所述数据报文为完全事务层数据报文或压缩事务层数据报文 的信息; 与所述完全事务层数据报文相比, 所述压缩事务层数据报文缺少至少 一个字段或所述压缩事务层数据报文的至少一个字段中配置压缩信息; 将所述 至少两个数据报文的数据标识设置为相同值;
将所述至少两个数据报文通过 PCIE总线传输给对端设备。
2、 根据权利要求 1所述的方法, 其特征在于, 所述接收数据传输请求, 并 根据所述数据传输请求判断待传输数据是否具备压缩条件包括:
接收数据传输请求;
判断所述数据传输请求的类型是否为设定的可压缩请求, 若是, 则待传输 数据具备压缩条件。
3、 根据权利要求 2所述的方法, 其特征在于, 所述判断所述数据传输请求 的类型是否为设定的可压缩请求, 若是, 则待传输数据具备压缩条件包括: 判断所述数据传输请求的类型是否为直接内存存取 DMA数据读写请求, 所 述 DMA数据读写请求包含 DMA数据写请求和 DMA数据读请求;
若是 DMA数据读写请求, 则判断所述 DMA数据读写请求的读写地址是否连 续;
若读写地址连续, 则所述 DMA数据读写请求的待传输数据具备压缩条件。
4、 根据权利要求 1 -3任一所述的方法, 其特征在于, 所述压缩事务层数据 报文的包头缺少的至少一个字段包括: 数据报文长度字段和字节使能字段。
5、 根据权利要求 1 -3任一所述的方法, 其特征在于, 所述压缩事务层数据 报文配置压缩信息的字段包括目标地址字段, 在该字段配置的压缩信息为地址 偏移量; 所述地址偏移量为所述压缩事务层数据报文的目标地址相对于完全事 务层数据报文的目标地址的地址偏移量。
6、 根据权利要求 1-3任一所述的方法, 其特征在于, 所述若具备压缩条件, 则将所述待传输数据封装在至少两个数据报文中包括:
若具备压缩条件, 则将所述待传输数据封装在至少两个事务层数据报文中; 所述至少两个事务层数据报文中的报文长度相等。
7、 根据权利要求 1-3任一所述的方法, 其特征在于, 所述若具备压缩条件, 则将所述待传输数据封装在至少两个数据报文中包括:
若具备压缩条件, 则将所述待传输数据封装在一个头事务层数据报文、 至 少一个中间事务层数据报文和一个尾事务层数据报文中, 其中, 所述头事务层 数据报文和尾事务层数据报文为完全事务层数据报文, 中间事务层数据报文为 压缩事务层数据报文。
8、 一种基于外围组件互连快递 PCIE总线的报文传输方法, 其特征在于, 包 括:
接收对端设备通过 PCIE总线传输的事务层数据报文并进行识别;
当识别到所述事务层数据报文为完全事务层数据报文时, 从所述完全事务 层数据报文的各字段中获取完整信息;
当识别到所述事务层数据报文为压缩事务层数据报文时, 根据数据标识将 属于同一次待传输数据的所述完全事务层数据报文中的完整信息恢复所述压缩 事务层数据报文中缺少的字段或配置压缩信息的字段, 获得压缩事务层数据报 文;
拼接各事务层数据报文以获取对端设备数据发送的待传输数据。
9、 根据权利要求 8所述的方法, 其特征在于, 所述接收对端设备基于 PCIE 总线传输的事务层数据报文并进行识别包括:
接收对端设备基于 PC I E总线传输的事务层数据报文;
从所述事务层数据报文中解析设定字段的标识;
当识别到所述标识为完全标识时, 则所述事务层数据报文为完全事务层数 据报文;
当识别到所述标识为压缩标识时, 则所述事务层数据报文为压缩事务层数 据报文。
10、 根据权利要求 8或 9所述的方法, 其特征在于, 所述根据数据标识将属 于同一次待传输数据的所述完全事务层数据报文中的完整信息恢复所述压缩事 务层数据报文中缺少的字段或配置压缩信息的字段, 获得压缩事务层数据报文, 包括:
从所述压缩事务层数据报文的目标地址字段中获得地址偏移量;
从与所述压缩事务层数据报文的数据标识相同的完全事务层数据报文中的 目标地址字段中获得基地址;
将地址偏移量与基地址相加, 得到所述压缩数据层报文的目标地址信息。
11、 一种基于外围组件互连快递 PCIE总线的报文传输装置, 其特征在于, 包括:
接收判断模块, 用于接收数据传输请求, 并根据所述数据传输请求判断所 述数据传输请求所请求的待传输数据是否具备压缩条件;
封装模块, 用于若具备压缩条件, 则将所述待传输数据封装在至少两个数 据报文中; 其中, 所述至少两个数据报文的第一个数据报文为完全事务层数据 报文和所述至少两个数据报文的其他数据报文中的至少一个为压缩事务层数据 报文, 各所述数据报文中配置有标识所述数据报文为完全事务层数据报文或压 缩事务层数据报文的信息; 与所述完全事务层数据报文相比, 所述压缩事务层 数据报文缺少至少一个字段或所述压缩事务层数据报文的至少一个字段中配置 压缩信息; 将所述至少两个数据报文的数据标识设置为相同值;
传输模块, 用于将所述至少两个数据报文通过 PCIE总线传输给对端设备。
12、 根据权利要求 11所述的装置, 其特征在于, 所述接收模块, 包括: 第一接收单元, 用于接收数据传输请求;
判断单元, 用于判断所述数据传输请求的类型是否为设定的可压缩请求, 若是, 则待传输数据具备压缩条件。
13、 根据权利要求 12所述的装置, 其特征在于, 所述判断单元具体用于: 判断所述数据传输请求的类型是否为直接内存存取 DMA数据读写请求, 所 述 DMA数据读写请求包含 DMA数据写请求和 DMA数据读请求;
若是 DMA数据读写请求, 则判断所述 DMA数据读写请求的读写地址是否连 续;
若读写地址连续, 则所述 DMA数据读写请求的待传输数据具备压缩条件。
14、根据权利要求 11 -13任一所述的装置,其特征在于,所述封装模块包括: 等长封装单元, 用于若具备压缩条件, 则将所述待传输数据封装在至少两 个事务层数据报文中; 所述至少两个事务层数据报文中的报文长度相等。
15、 根据权利要求 11 -13任一项所述的装置, 其特征在于, 所述封装模块具 体用于: 若具备压缩条件, 则将所述待传输数据封装在一个头事务层数据报文、 至少一个中间事务层数据报文和一个尾事务层数据报文中, 其中, 所述头事务 层数据报文和尾事务层数据报文为完全事务层数据报文, 中间事务层数据报文 为压缩事务层数据报文。
16、 一种基于外围组件互连快递 PCIE总线的报文传输装置, 其特征在于, 包括:
接收识别模块, 用于接收对端设备通过 PCIE总线传输的事务层数据报文并 进行识别;
获取模块, 用于当识别到所述事务层数据报文为完全事务层数据报文时, 从所述完全事务层数据报文的各字段中获取完整信息;
修复模块, 用于当识别到所述事务层数据报文为压缩事务层数据报文时, 根据数据标识将属于同一次待传输数据的所述完全事务层数据报文中的完整信 息恢复所述压缩事务层数据报文中缺少的字段或配置压缩信息的字段, 获得压 缩事务层数据报文;
拼接模块, 用于拼接各事务层数据报文以获取对端设备数据发送的待传输 数据。
17、 根据权利要求 16所述的装置, 其特征在于, 所述接收识别模块包括: 第二接收单元, 用于接收对端设备基于 PCIE总线传输的事务层数据报文; 标识解析单元, 用于从所述事务层数据报文中解析设定字段的标识; 完全报文识别单元, 用于当识别到所述标识为完全标识时, 则所述事务层 数据报文为完全事务层数据报文;
压缩报文识别单元, 用于当识别到所述标识为压缩标识时, 则所述事务层 数据报文为压缩事务层数据报文。
18、 根据权利要求 16或 17所述的装置, 其特征在于, 所述修复模块具体 用于: 从所述压缩事务层数据报文的目标地址字段中获得地址偏移量; 从与所 述压缩事务层数据报文的数据标识相同的完全事务层数据报文中的目标地址字 段中获得基地址; 将地址偏移量与基地址相加, 得到所述压缩数据层报文的目 标地址信息。
PCT/CN2014/072775 2013-03-04 2014-03-03 基于pcie总线的报文传输方法与装置 WO2014135038A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310068224.1A CN104038450B (zh) 2013-03-04 2013-03-04 基于pcie总线的报文传输方法与装置
CN201310068224.1 2013-03-04

Publications (1)

Publication Number Publication Date
WO2014135038A1 true WO2014135038A1 (zh) 2014-09-12

Family

ID=51469042

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/072775 WO2014135038A1 (zh) 2013-03-04 2014-03-03 基于pcie总线的报文传输方法与装置

Country Status (2)

Country Link
CN (1) CN104038450B (zh)
WO (1) WO2014135038A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334086A (zh) * 2019-05-30 2019-10-15 平安科技(深圳)有限公司 数据去重方法、装置、计算机设备以及存储介质
CN113890897A (zh) * 2021-11-04 2022-01-04 中国互联网络信息中心 一种报文处理方法和相关装置
CN115514682A (zh) * 2022-09-23 2022-12-23 浪潮商用机器有限公司 一种数据传输方法、装置、设备及存储介质
CN115834259A (zh) * 2023-02-21 2023-03-21 广东广宇科技发展有限公司 一种高危通信线路数据安全传输方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294225A (zh) * 2015-06-29 2017-01-04 深圳市中兴微电子技术有限公司 一种数据读取方法、对端设备及控制器
CN106027349B (zh) * 2016-04-29 2019-01-18 重庆爱思网安信息技术有限公司 一种pci-e总线接口传输卡及基于该传输卡的数据传输方法
CN111884796B (zh) * 2020-06-17 2022-03-18 中国电子科技集团公司第三十研究所 一种基于随机数字段携带信息的方法和系统
CN114125940A (zh) * 2020-08-31 2022-03-01 Oppo广东移动通信有限公司 数据报文发送方法、处理方法、装置、设备及数据报文
CN114579490A (zh) * 2020-11-30 2022-06-03 深圳市中兴微电子技术有限公司 一种数据传输方法、装置、电子设备和存储介质
CN115632976A (zh) * 2022-10-25 2023-01-20 深圳市楠菲微电子有限公司 一种pcie事务层报文生成方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070147426A1 (en) * 2005-12-28 2007-06-28 Sharma Debendra D PCI-Express™ transaction layer packet compression
CN101146025A (zh) * 2006-09-13 2008-03-19 华为技术有限公司 压缩实时传输协议的报文传输方法和系统以及压缩端单元
CN101930418A (zh) * 2009-06-26 2010-12-29 英特尔公司 用于分组信息的多种压缩技术

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070147426A1 (en) * 2005-12-28 2007-06-28 Sharma Debendra D PCI-Express™ transaction layer packet compression
CN101146025A (zh) * 2006-09-13 2008-03-19 华为技术有限公司 压缩实时传输协议的报文传输方法和系统以及压缩端单元
CN101930418A (zh) * 2009-06-26 2010-12-29 英特尔公司 用于分组信息的多种压缩技术

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334086A (zh) * 2019-05-30 2019-10-15 平安科技(深圳)有限公司 数据去重方法、装置、计算机设备以及存储介质
CN113890897A (zh) * 2021-11-04 2022-01-04 中国互联网络信息中心 一种报文处理方法和相关装置
CN113890897B (zh) * 2021-11-04 2023-11-17 中国互联网络信息中心 一种报文处理方法和相关装置
CN115514682A (zh) * 2022-09-23 2022-12-23 浪潮商用机器有限公司 一种数据传输方法、装置、设备及存储介质
CN115514682B (zh) * 2022-09-23 2024-03-22 浪潮商用机器有限公司 一种数据传输方法、装置、设备及存储介质
CN115834259A (zh) * 2023-02-21 2023-03-21 广东广宇科技发展有限公司 一种高危通信线路数据安全传输方法
CN115834259B (zh) * 2023-02-21 2023-04-18 广东广宇科技发展有限公司 一种高危通信线路数据安全传输方法

Also Published As

Publication number Publication date
CN104038450B (zh) 2017-09-19
CN104038450A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
WO2014135038A1 (zh) 基于pcie总线的报文传输方法与装置
WO2022088779A1 (zh) 深度报文处理方法、装置、电子设备及存储介质
CN111352889B (zh) 一种基于mctp协议的设备管理方法、设备、装置和介质
KR102173089B1 (ko) 인터페이스 회로 및 그것의 패킷 전송 방법
CN111010253B (zh) 一种基于hinoc协议的himac拆帧系统、方法
CN107395565B (zh) 一种定长单字节格式报文协议下串口接收预处理方法
US20110145469A1 (en) Apparatus for processing peripheral component interconnect express protocol
WO2014180297A1 (zh) 报文处理方法和装置
US9866639B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
CN101197773B (zh) 基于多链路的报文压缩发送和接收解压缩方法及系统
TW451136B (en) Data transmission control device and electronic machine
CN111181819B (zh) 一种基于链表结构的接收多字节数据帧的串口通讯方法
CN109902055B (zh) 一种适用窄带数据网络的slip编码数据流传输方法
WO2023124098A1 (zh) 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置
CN114422617B (zh) 一种报文处理方法、系统及计算机可读存储介质
WO2008040231A1 (fr) Procédé et dispositif destinés au réassemblage de données fragmentées
WO2022017454A1 (zh) 一种报文处理方法、网络设备以及相关设备
CN107707548B (zh) Tlv报文解析方法、装置、电子设备及存储介质
WO2022111326A9 (zh) 一种数据传输方法、装置、电子设备和存储介质
CN117041370A (zh) 一种通信方法及系统
CN113098780B (zh) 虚拟网络的报文处理方法、电子设备及存储介质
CN110769049B (zh) 一种配电终端及其soe数据上送方法
CN108733598B (zh) 一种数据传输方法和数据传输装置
CN115694772B (zh) 一种基于两级fifo的智能接口设计方法
CN114363428B (zh) 基于socket的数据传递方法

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: 14760559

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: 14760559

Country of ref document: EP

Kind code of ref document: A1