A data transmission method and a data transmission system
By calculating credit consumption values and monitoring packet loss at both the sending and receiving ends, the problem of low bandwidth utilization caused by credit granularity is solved, achieving more efficient data packet transmission, which is suitable for high-speed interfaces and core-to-core interconnect technologies.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- STRANGE MOORE SHANGHAI INTEGRATED CIRCUIT DESIGN CO LTD
- Filing Date
- 2026-02-11
- Publication Date
- 2026-06-05
AI Technical Summary
In existing high-speed interconnect technologies, the determination of credit granularity leads to low bandwidth utilization. Furthermore, excessive credit consumption in large-size transaction layer data packets results in frequent waiting, while buffer utilization is low in small-size transaction layer data packets, and there is a lack of suitable flow control scheduling mechanisms.
The data transmission method calculates credit consumption values at both the sending and receiving ends, and sets up a packet loss monitoring module at the receiving end. The accuracy of data transmission is determined by comparing the credit consumption values. It supports independent credit value maintenance for multiple channels, adapts to more complex transmission scenarios, especially the write data channel, and improves bandwidth utilization and efficiency.
It achieves more flexible and balanced credit granularity management, improves flow control efficiency and bandwidth utilization in data packet transmission between chips, and is suitable for high-speed interface technology, on-chip interconnect technology and chip interconnect technology.
Smart Images

Figure CN122160318A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of data processing technology, and specifically relates to a data transmission method and data transmission system. Background Technology
[0002] Credit-based flow control technology is widely used in high-speed transmission scenarios, such as peripheral component interconnect express (PCIe) devices sending stop signals by sending credit value packets, and processor resource allocation based on predictive scheduling using credit values, among other complex and high-speed transmission scenarios. However, for high-speed interconnect technologies between chips, there is a lack of widely applicable flow control scheduling mechanisms.
[0003] For determining credit granularity, high-speed interconnect technologies typically use either the "number of Transaction Layer Packets (TLPs)" or a "fixed number of bytes" as the unit, resulting in lower bandwidth utilization in certain transmission scenarios. For large TLPs, excessive credit consumption by a single packet can lead to frequent waiting. For small TLPs, coarse credit granularity can result in low buffer utilization. Summary of the Invention
[0004] The purpose of this invention is to provide a data transmission method and system that can solve the problem of the inability to balance credit granularity and efficiency.
[0005] To achieve the above objectives, the present invention provides a data transmission method, comprising at least the following steps:
[0006] The sending end encapsulates multiple data information into multiple data packets according to the protocol format, uses the number of data information sent as the first credit consumption value of the sending direction, and sends the data packets and the first credit consumption value to the receiving end; The receiving end receives and unpacks the data packet, and uses the amount of data obtained from the unpacking as the second credit consumption value in the receiving direction; and By comparing the first credit consumption value and the second credit consumption value, if the first credit consumption value is equal to the second credit consumption value, the data information is transmitted accurately; if the first credit consumption value is greater than the second credit consumption value, data packets are lost during data information transmission.
[0007] In one embodiment of the present invention, when the downstream of the receiving end completes the reception of data information, the credit release count value in the receiving direction is incremented by one, and the credit release count value is updated cyclically.
[0008] In one embodiment of the present invention, when a preset time interval is reached, the receiving end sends the credit release count value to the sending end.
[0009] In one embodiment of the present invention, the sending end records a credit usage count value in the sending direction; When the sending end sends a piece of data, the credit usage count value is incremented by one; and When the sending end receives the credit release count value, it adds the difference between the received credit release count value and the historical credit release count value to the credit usage count value, as the updated credit usage count value; and The historical credit release count value is updated with the credit release count value received this time.
[0010] In one embodiment of the present invention, the sending end records an upper limit value of the credit usage count value. When the credit usage count value is greater than the upper limit value of the credit usage count value, the reporting is interrupted.
[0011] In one embodiment of the present invention, for a command channel, a set of control information is a data information; for a data channel, a piece of data is a data information; and a data information is a credit granularity.
[0012] In one embodiment of the present invention, a data information is encapsulated in at least one data packet.
[0013] In one embodiment of the present invention, a first valid data transmission basic unit indication signal is set in the command channel. The first valid data transmission basic unit indication signal is used to indicate the valid data transmission basic unit in the command channel. The number of data information sent and received in the command channel is obtained based on the first valid data transmission basic unit indication signal.
[0014] In one embodiment of the present invention, a second valid data transmission basic unit indication signal is set in the read data channel. The second valid data transmission basic unit indication signal is used to indicate the valid data transmission basic unit in the data channel. The number of data information sent and received in the read data channel is obtained according to the second valid data transmission basic unit indication signal.
[0015] In one embodiment of the present invention, a second valid data transmission basic unit indication signal, an unaligned and narrow transmission data information indication signal, and a special valid data transmission basic unit indication signal are provided in the write data channel. The second valid data transmission basic unit indication signal is used to indicate the valid data transmission basic unit in the write data channel. The unaligned and narrow transmission data information indication signal is used to indicate the special valid data transmission basic unit of unaligned and narrow transmission. The special valid data transmission basic unit indication signal is used to mark the special valid data transmission basic unit and to distinguish between the valid data transmission basic unit and the special valid data transmission basic unit. Based on the second valid data transmission basic unit indication signal, the unaligned and narrow transmission data information indication signal, and the special valid data transmission basic unit indication signal, the amount of data information sent and received by the write data channel is obtained.
[0016] The present invention also provides a data transmission system, comprising at least: The sending end encapsulates multiple data information into multiple data packets according to the protocol format, uses the number of data information sent as the first credit consumption value in the sending direction, and sends the data packets and the first credit consumption value to the receiving end; The receiving end receives and unpacks the data packet, and uses the amount of data obtained from the unpacking as the second credit consumption value in the receiving direction; and A packet loss monitoring module is installed at the receiving end. The packet loss module compares the first credit consumption value and the second credit consumption value. If the first credit consumption value is equal to the second credit consumption value, the data information is transmitted accurately. If the first credit consumption value is greater than the second credit consumption value, the data packet is lost during the data information transmission.
[0017] In summary, the data transmission method and system provided by this invention support independent maintenance of credit values for multiple channels, adapting to more complex transmission scenarios. Especially for write data channels, it supports more complex, efficient, and high-bandwidth-utilization packet encapsulation and scheduling schemes, significantly improving the bandwidth and efficiency of flow control for inter-chip packet transmission. Furthermore, this invention uses a single data piece of AXI information as the credit granularity; a group of control information for the command channel is treated as one credit value, and a single data piece for the data channel is treated as one credit value. This is more flexible and balanced compared to using bytes or TLP packets as the basic unit of data transmission granularity. This invention calculates credit consumption based on the basic unit of data transmission information after packet unpacking and calculates credit release based on the downstream AXI handshake at the receiving end, highly adapting to the efficient scheduling mechanism of the scheduling module. The data transmission method and system provided by this invention are widely applicable to high-speed interface technology, on-chip interconnect technology, and chip interconnect technology, offering flexible mechanisms and strong practicality. Attached Figure Description
[0018] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a flowchart of a data transmission method in one embodiment of this application.
[0020] Figure 2 This is a structural block diagram of a data transmission system according to an embodiment of this application.
[0021] Label Explanation: 201. Scheduling module; 2011. First credit consumption value acquisition module; 2012. First credit consumption value counter; 2013. Credit usage counter; 202. Demultiplexing module; 2021. Second credit consumption value acquisition module; 2022. Second credit consumption value counter; 2023. Packet loss monitoring module; 2024. Credit release count value acquisition module; 2025. Credit release counter. Detailed Implementation
[0022] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings. Preferred embodiments of this application are shown in the drawings. However, this application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the disclosure of this application.
[0023] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein in the specification of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application.
[0024] In the description of this invention, it should be understood that the terms "center," "upper," "lower," "front," "rear," "left," and "right," etc., indicating orientation or positional relationships, are based on the orientation or positional relationships shown in the accompanying drawings and are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or component referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0025] As the computational power requirements of high-performance computing (HPC) continue to increase, system solutions using single-chip architectures are increasingly unable to meet the performance demands. Simultaneously, the area of single computing chips capable of providing significant computing power is growing, posing a considerable challenge to chip yield. In this context, adopting chip-integrated systems has become an important means of addressing the challenges of HPC. Chip-integrated systems combine small chips of multiple functional modules into a complete system using advanced packaging technology, achieving high-performance, low-cost chip design. In the chip interconnect scheme (Universal Chiplet Interconnect Express, UCIe), Advanced eXtensible Interface (AXI) bus signals at the protocol layer need to be encapsulated into flit packets conforming to the UCIe frame format requirements, and traffic management and scheduling of different channels should be performed based on the buffering capabilities of downstream devices. This invention provides a data transmission method and system that can solve the problems of flit packet encapsulation, scheduling, and traffic control during transmission, ensuring high-bandwidth transmission while avoiding packet loss due to channel congestion.
[0026] Please see Figure 1 As shown, the present invention provides a data transmission method, including steps S110 to S130.
[0027] Step S110: The sending end encapsulates multiple data information into multiple data packets according to the protocol format, uses the number of data information sent as the first credit consumption value of the sending direction, and sends the data packets and the first credit consumption value to the receiving end.
[0028] Step S120: The receiving end receives and unpacks the data packet, and uses the amount of data information obtained from the unpacking as the second credit consumption value in the receiving direction.
[0029] Step S130: Compare the first credit consumption value and the second credit consumption value. If the first credit consumption value is equal to the second credit consumption value, the data information is transmitted accurately. If the first credit consumption value is greater than the second credit consumption value, the data packet is lost during data information transmission.
[0030] Please see Figure 2As shown, the present invention also provides a data transmission system, including a sending end and a receiving end. The sending end encapsulates multiple data messages into multiple data packets according to a protocol format, using the number of data messages sent as a first credit consumption value in the sending direction, and sends the data packets and the first credit consumption value to the receiving end. The receiving end receives and unpacks the data packets, using the number of data messages obtained after unpacking as a second credit consumption value in the receiving direction. The receiving end is also equipped with a packet loss monitoring module 2023. The packet loss module compares the first credit consumption value and the second credit consumption value. If the first credit consumption value equals the second credit consumption value, the data transmission is accurate; if the first credit consumption value is greater than the second credit consumption value, data packets are lost during data transmission.
[0031] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, a scheduling module 201 is provided at the transmitting end. The scheduling module 201 encapsulates multiple data messages into multiple data packets according to the protocol format. Each data message is encapsulated in at least one data packet. Specifically, for the command channel, a set of control information constitutes one data message. For the data channel, a single data item constitutes one data message. For example, for the AXI bus signal at the protocol layer, multiple data messages can be encapsulated into a flit packet conforming to the UCIe frame format requirements. A data message can be encapsulated in one flit packet, or in two or more flit packets.
[0032] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, a first credit consumption value acquisition module 2011 is provided in the scheduling module 201 at the sending end. The first credit consumption value acquisition module 2011 uses the number of data information sent as the first credit consumption value in the sending direction, that is, one data information is one credit granularity. Compared with using the number of bytes or a data transmission basic unit (slot) of a transaction layer data packet as the credit granularity, using one data information as one credit granularity is more flexible and balanced.
[0033] Please see Figure 1 and Figure 2As shown, in one embodiment of the present invention, the first credit consumption value acquisition module 2011 obtains the number of data information sent in the sending direction as the first credit consumption value in the sending direction by unpacking the data packet information through the scheduling module 201. When encapsulating data information, for the command channel, the capacity of a single data transmission basic unit (slot) in the data packet (flit) is, for example, 128 bits, and the lower 8 bits are redundant fields used to fill the header information, so 120 bits is used as the limit. If the length of the payload field of a set of control information in the command channel is less than or equal to 120 bits, then a set of control information is encapsulated in a single data transmission basic unit of a data packet. If the length of the payload field of a set of control information in the command channel is greater than 120 bits, then 120 bits are encapsulated according to each data transmission basic unit, and a set of control information is encapsulated in two or more data transmission basic units. For the data channel, similar to the command channel, a piece of data can be encapsulated in one, two or more data transmission basic units. The first credit consumption value acquisition module 2011 can sense the length of the payload in the command channel and the data channel, and then obtain the number of data information sent as the first credit consumption value.
[0034] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, in the AXI bus, the command channel includes, for example, a read address channel, a write address channel, and a write response channel, and the data channel includes, for example, a read data channel and a write data channel. Each channel has independent credit value calculation logic.
[0035] Please see Figure 1 and Figure 2As shown, in one embodiment of the present invention, during data transmission, a first valid data transmission basic unit indication signal cmd_vld_flit is set in the command channel, and a second valid data transmission basic unit indication signal data_vld_flit is set in the data channel. The first valid data transmission basic unit indication signal cmd_vld_flit indicates the valid data transmission basic unit in the command channel, and the second valid data transmission basic unit indication signal data_vld_flit indicates the valid data transmission basic unit in the data channel. Based on the first valid data transmission basic unit indication signal cmd_vld_flit, the number of valid data transmission basic units in each clock cycle of the command channel is obtained, thereby obtaining the amount of data information sent in the command channel, i.e., the first credit consumption value in the command channel. Based on the second valid data transmission basic unit indication signal data_vld_flit, the number of valid data transmission basic units in each clock cycle of the read data channel is obtained, thereby obtaining the amount of data information sent in the read data channel, i.e., the first credit consumption value in the read data channel.
[0036] Please see Figure 1 and Figure 2As shown, in one embodiment of the present invention, due to the non-alignment and narrow-band transmission of the AXI bus during the transmission of the write data channel, the calculation of effective data information cannot simply rely on the data bit width; otherwise, the calculated number of data information would be smaller than the actual number. To accurately calculate the number of effective data information in the write data channel, a special effective data transmission unit (special slot) is set in the write data channel. That is, for non-alignment and narrow-band transmission, the first and last effective data transmission units are given a special header, and the last effective data transmission unit also includes an end indication signal eob. Therefore, in the write data channel, a second effective data transmission unit indication signal data_vld_flit, a non-alignment and narrow-band transmission data information indication signal data_buf_eob, and a special effective data transmission unit indication signal sp_slot_flag are set. The second effective data transmission unit indication signal data_vld_flit indicates the effective data transmission unit in the write data channel. The non-alignment and narrow-band transmission data information indication signal data_buf_eob indicates the special effective data transmission unit for non-alignment and narrow-band transmission. The special valid data transmission unit indication signal `sp_slot_flag` is used to mark special valid data transmission units, distinguishing them from valid data transmission units. The number of valid data transmission units per clock cycle is obtained based on the second valid data transmission unit indication signal `data_vld_flit`, and the number of special valid data transmission units per clock cycle is obtained based on the unaligned and narrow transmission data information indication signal `data_buf_eob` and the special valid data transmission unit indication signal `sp_slot_flag`. Based on the number of valid data transmission units and the number of special valid data transmission units per clock cycle, the total number of valid data transmission units for full-bandwidth transmission can be calculated, thus obtaining the amount of data sent by the write data channel, i.e., the first credit consumption value in the write data channel.
[0037] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, when the scheduling module 201 of the sending end encapsulates multiple data information into multiple data packets according to the protocol format, and the first credit consumption value acquisition module 2011 uses the number of data information sent as the first credit consumption value of the sending direction, the scheduling module 201 sends the data packets and the first credit consumption value to the receiving end.
[0038] Please see Figure 1 and Figure 2As shown, in one embodiment of the present invention, a first credit consumption value counter 2013 is provided in the scheduling module 201, and the size of the first credit consumption value counter 2013 is, for example, 10 bits. When the scheduling module 201 sends a data message, the first credit consumption value counter 2013 is incremented by one, and the increments are repeated cyclically.
[0039] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, a demultiplexing module 202 is provided at the receiving end. The demultiplexing module 202 receives and unpacks data packets. Furthermore, the demultiplexing module 202 is equipped with a receiving pipeline, which can adapt to timing alignment processing after the sending end adds a pipeline. The demultiplexing module 202 at the receiving end is equipped with a second credit consumption value acquisition module 2021, which uses the amount of data information acquired by the demultiplexing module 202 in the receiving direction as the second credit consumption value.
[0040] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, the demultiplexing module 202 unpacks data packets using the same unpacking logic as the sending end. The second credit consumption value acquisition module 2021 acquires the second credit consumption value using the same method as the first credit consumption value acquisition module 2011 acquires the first credit consumption value. Specifically, the second credit consumption value acquisition module 2021 can acquire the number of valid data transmission basic units in each clock cycle of the command channel based on the first valid data transmission basic unit indication signal cmd_vld_flit, and thus acquire the amount of data information received in the command channel, i.e., the second credit consumption value in the command channel. Similarly, the second valid data transmission basic unit indication signal data_vld_flit can acquire the number of valid data transmission basic units in each clock cycle of the read data channel, and thus acquire the amount of data information received in the read data channel, i.e., the second credit consumption value in the read data channel. The number of valid data transmission basic units in each clock cycle is obtained based on the second valid data transmission basic unit indication signal data_vld_flit. The number of special valid data transmission basic units in each clock cycle is obtained based on the unaligned and narrow transmission data information indication signal data_buf_eob and the special valid data transmission basic unit indication signal sp_slot_flag. Based on the number of valid data transmission basic units and the number of special valid data transmission basic units in each clock cycle, the total number of valid data transmission basic units for full bandwidth transmission can be calculated, thereby obtaining the amount of data received in the write data channel, i.e., the second credit consumption value in the write data channel.
[0041] Please see Figure 1 and Figure 2As shown, in one embodiment of the present invention, a second credit consumption value counter 2022 is provided in the demultiplexing module 202. The size of the second credit consumption value counter 2022 is, for example, 10 bits. When the demultiplexing module 202 receives a data message, the second credit consumption value counter 2022 is incremented by one, and the increments are repeated cyclically.
[0042] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, a packet loss monitoring module 2023 is further provided in the demultiplexing module 202 at the receiving end. The packet loss monitoring module 2023 compares the received first credit consumption value with the acquired second credit consumption value. When the first credit consumption value equals the second credit consumption value, the data information transmission is accurate; when the first credit consumption value is greater than the second credit consumption value, data packets are lost during data information transmission. In this application, when the first credit consumption value is greater than the second credit consumption value, after determining that packet loss has occurred, the second credit consumption value is updated using the first credit consumption value, and the difference between the first credit consumption value and the second credit consumption value is obtained. When a preset time interval is reached, the difference between the first credit consumption value and the second credit consumption value is fed back to the sending end. Specifically, the difference between the first credit consumption value and the second credit consumption value can be sent to the subsequent credit release count value acquisition module 2024 first, and sent to the receiving end synchronously with the credit release count value.
[0043] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, the demultiplexing module 202 at the receiving end is further provided with a credit release count value acquisition module 2024. When the downstream of the receiving end completes the reception of data information, the credit release count value in the receiving direction is incremented by one, and the credit release count value is cyclically accumulated and updated. Specifically, a credit release counter 2025 is provided at the receiving end, and the size of the credit release counter 2025 is, for example, 10 bits. When the downstream AXI interface completes a ready / valid handshake, it signifies that a credit value has been released, and at this time, the count of the credit release counter 2025 is incremented by one. And when a preset time interval is reached, the receiving end sends the credit release count value to the sending end.
[0044] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, when a preset time interval is reached, the credit release count value acquisition module 2024 will repeatedly initiate a request to package the credit release count value. The scheduling module 201 of the sending end will immediately respond to the request, and the credit release count value acquisition module 2024 will package the difference between the credit release count value and the first credit consumption value and the second credit consumption value and feed it back to the sending end.
[0045] Please see Figure 1 and Figure 2As shown, in one embodiment of the present invention, a credit usage counter 2013 is further provided at the transmitting end, and the size of the credit usage counter 2013 is, for example, 10 bits. The credit usage counter 2013 records the credit usage count value in the transmission direction. When the transmitting end sends a piece of data information, the credit usage count value is incremented by one. When the transmitting end receives a credit release count value, it adds the difference between the credit release count value received this time and the historical credit release count value to the credit usage count value as the updated credit usage count value. At the same time, the historical credit release count value is updated with the credit release count value received this time. The transmitting end records an upper limit value for the credit usage count value. When the credit usage count value is greater than the upper limit value, an interrupt is reported. Specifically, when the credit usage count value is greater than the upper limit value, the pending signal of the corresponding channel is activated, and the data in the first-in-first-out stack of the blocking scheduling module 201 is read out.
[0046] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, in the scheduling module 201, when updating the credit usage count, each command channel's sender-side first-in-first-out (TX FIFO) stack corresponds to an AXI read / write control information channel, and each data channel's sender-side first-in-first-out (TX FIFO) stack corresponds to an AXI read / write data channel. The read usage signal schd_vld of the sender-side first-in-first-out (TX FIFO) stack is used as the counting flag for credit usage. That is, each time a high level of the read usage signal schd_vld is received, a piece of data information in the sender-side first-in-first-out (TX FIFO) stack will be captured by the scheduling module 201 and scheduled and packaged. At this time, the credit usage count is incremented by one.
[0047] Please see Figure 1 and Figure 2 As shown, in one embodiment of the present invention, a first fixed time interval is set. When the first fixed time interval is reached, all credit release-related data in all channels are sent to the scheduling module 201 for arbitration. After the scheduling module 201 authorizes the arbitration, it clears the credit release-related data in the arbitrated channel. When the next credit release-related data in a channel is generated, if the credit release-related data in the previous channel has not yet been overwritten, it is directly overwritten.
[0048] Please see Figure 1 and Figure 2As shown, in one embodiment of the present invention, a second fixed time interval is set. When the second fixed time interval is reached, all credit usage-related data in all channels are sent to the scheduling module 201 for arbitration. After the scheduling module 201 authorizes the arbitration, it clears the credit usage-related data in the arbitrated channel. When the next credit usage-related data in a channel is generated, if the credit usage-related data in the previous channel has not yet been overwritten, it is directly overwritten.
[0049] In summary, this invention provides a data transmission method and system. The data transmission method includes the following steps: A sending end encapsulates multiple data messages into multiple data packets according to a protocol format, using the number of data messages sent as a first credit consumption value for the sending direction, and sends the data packets and the first credit consumption value to a receiving end. The receiving end receives and unpacks the data packets, using the number of data messages obtained after unpacking as a second credit consumption value for the receiving direction. The first credit consumption value and the second credit consumption value are compared. If the first credit consumption value equals the second credit consumption value, the data transmission is accurate; if the first credit consumption value is greater than the second credit consumption value, data packets are lost during data transmission.
[0050] The embodiments of the present invention disclosed above are merely illustrative of the invention. The embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the content of this specification. This specification selects and specifically describes these embodiments to better explain the principles and practical applications of the invention, thereby enabling those skilled in the art to better understand and utilize the invention. The invention is limited only by the claims and their full scope and equivalents.
Claims
1. A data transmission method, characterized in that, At least the following steps are included: The sending end encapsulates multiple data information into multiple data packets according to the protocol format, uses the number of data information sent as the first credit consumption value in the sending direction, and sends the data packets and the first credit consumption value to the receiving end; The receiving end receives and unpacks the data packet, and uses the amount of data information obtained from the unpacking as the second credit consumption value in the receiving direction; as well as Comparing the first credit consumption value and the second credit consumption value, if the first credit consumption value is equal to the second credit consumption value, the data information is transmitted accurately; if the first credit consumption value is greater than the second credit consumption value, data packets are lost during data information transmission.
2. The data transmission method according to claim 1, characterized in that, When the downstream end of the receiving end completes the reception of data information, the credit release count value in the receiving direction is incremented by one, and the credit release count value is updated cyclically.
3. The data transmission method according to claim 2, characterized in that, When the preset time interval is reached, the receiving end sends the credit release count value to the sending end.
4. The data transmission method according to claim 3, characterized in that, The sending end records the credit usage count value in the sending direction; When the sending end sends a piece of data, the credit usage count value is incremented by one. as well as When the sending end receives the credit release count value, it adds the difference between the credit release count value received this time and the historical credit release count value to the credit usage count value as the updated credit usage count value. as well as The historical credit release count value is updated with the credit release count value received this time.
5. A data transmission method according to claim 4, characterized in that, The sending end records the upper limit of the credit usage count value. When the credit usage count value is greater than the upper limit of the credit usage count value, the reporting is interrupted.
6. The data transmission method according to claim 1, characterized in that, For the command channel, a set of control information is considered as one piece of data; for the data channel, a single piece of data is considered as one piece of data; and one piece of data represents one credit granularity.
7. The data transmission method according to claim 1, characterized in that, A data message is encapsulated in at least one data packet.
8. The data transmission method according to claim 1, characterized in that, In the command channel, a first valid data transmission basic unit indication signal is set. The first valid data transmission basic unit indication signal is used to indicate the valid data transmission basic unit in the command channel. The number of data information sent and received in the command channel is obtained based on the first valid data transmission basic unit indication signal.
9. A data transmission method according to claim 1, characterized in that, In the read data channel, a second valid data transmission basic unit indication signal is set. The second valid data transmission basic unit indication signal is used to indicate the valid data transmission basic unit in the data channel. The number of data information sent and received in the read data channel is obtained based on the second valid data transmission basic unit indication signal.
10. A data transmission method according to claim 1, characterized in that, In the write data channel, a second valid data transmission basic unit indication signal, an unaligned and narrow transmission data information indication signal, and a special valid data transmission basic unit indication signal are provided. The second valid data transmission basic unit indication signal is used to indicate the valid data transmission basic unit in the write data channel. The unaligned and narrow transmission data information indication signal is used to indicate the special valid data transmission basic unit of unaligned and narrow transmission. The special valid data transmission basic unit indication signal is used to mark the special valid data transmission basic unit and to distinguish between the valid data transmission basic unit and the special valid data transmission basic unit. Based on the second valid data transmission basic unit indication signal, the unaligned and narrow transmission data information indication signal, and the special valid data transmission basic unit indication signal, the amount of data information sent and received by the write data channel is obtained.
11. A data transmission system, characterized in that, At least including: The sending end encapsulates multiple data information into multiple data packets according to the protocol format, uses the number of data information sent as the first credit consumption value in the sending direction, and sends the data packets and the first credit consumption value to the receiving end; The receiving end receives and unpacks the data packet, and uses the amount of data information obtained from the unpacking as the second credit consumption value in the receiving direction; as well as A packet loss monitoring module is installed at the receiving end. The packet loss module compares the first credit consumption value and the second credit consumption value. If the first credit consumption value is equal to the second credit consumption value, the data information is transmitted accurately. If the first credit consumption value is greater than the second credit consumption value, the data packet is lost during the data information transmission.