Bidirectional flow control method and device based on reliable transmission
By updating the cumulative received data packet values of the receiving side devices in a high-speed switching network, the flow control abnormalities and message loss caused by inconsistency in the sending and receiving side messages in two-way flow control are solved, and the robustness of the flow control mechanism is improved.
Patent Information
- Application Number
- CN202411102815.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-12
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2044-08-12
AI Technical Summary
In high-speed switching networks, inconsistent sending and receiving side messages in bidirectional flow control leads to abnormal flow control and loss of potential messages.
While sending data packets to receiving device, the cumulative transmitted data packet values are calculated and updated, and after the receiving device performs reliable transmission verification, the cumulative transmitted data packet values are based on the filtered cumulative transmitted data packet values. Update the cumulative received data packet value of the receiving side device, and generate a receiving side flow control packet containing the flow control credit value and feedback to the sending side device.
It effectively solves the problems of flow control abnormalities caused by mismatch between data packets and flow control packets and loss of cache overflow packets on the receiving side in the bidirectional flow control scheme, and at the same time, it increases the synchronization mechanism of cumulative sending and receiving packet values between the transmitting and receiving devices. Improve the robustness of the flow control mechanism.
Smart Images

Figure CN119135310A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network transmission, and in particular to a bidirectional flow control method and device based on reliable transmission. Background Art
[0002] In high-speed switching network transmission, message errors or loss are inevitable, and reliable data transmission between switching nodes is one of the basic requirements of the switching network. Reliable transmission is the process of ensuring that data is accurately transmitted from the sending device to the receiving device in the switching network. In a typical switching network, a cyclic redundancy check (CRC) is used to ensure the integrity of message data, and a message sequence number (PSN) check is used to ensure that data is transmitted in order and without loss. When the message CRC / PSN check is abnormal, the receiving side device sends a NAK (Negative Acknowledgement) message carrying the check abnormal message sequence number (PSN) to the sending side device, triggering the sending side to retransmit (Retry) the incorrectly received data message, thereby realizing reliable transmission of data messages in the switching network.
[0003] In high-speed switching protocols, a credit-based flow control mechanism is usually used to achieve data transmission between upstream and downstream devices. The receiving device feeds back the credit value reflecting the remaining buffer space information on this side to the sending device. When the sending device determines that the remaining buffer space downstream is sufficient, it initiates message transmission. Based on the above credit mechanism, data transmission between upstream and downstream devices can be completed efficiently. Summary of the invention
[0004] The purpose of the present application is to provide a bidirectional flow control method and device based on reliable transmission, aiming to solve the problem of flow control anomalies and potential message loss caused by inconsistent messages on the sending and receiving sides in bidirectional flow control.
[0005] According to a first aspect of the present application, a bidirectional flow control method based on reliable transmission is provided, comprising:
[0006] When the sending side device sends a data message to the receiving side device, the sending side device calculates a cumulative value of the data messages sent by the sending side device, and sends the cumulative value of the data messages sent to the receiving side device;
[0007] When the data message passes the reliable transmission check of the receiving side device, it is counted into the cumulative received data message value of the receiving side device; according to the receiving status of the data message, the cumulative sent data message value from the sending side device is filtered, and the cumulative received data message value of the receiving side device is updated based on the filtered cumulative sent data message value;
[0008] The flow control credit value of the receiving side device is determined according to the accumulated received data message value and the remaining buffer space of the receiving side device, and a receiving side flow control message including the flow control credit value is generated and fed back to the sending side device.
[0009] In an optional implementation manner, the sending the accumulated sent data message value to the receiving side device further includes:
[0010] When the sending device sends a data message to the receiving device, the length of the data message is included in the accumulated sent data message value of the virtual channel according to the virtual channel used for message transmission; the accumulated sent data message value is sent to the receiving device simultaneously with the data message.
[0011] In an optional implementation manner, sending the accumulated sent data message value along with the data message to the receiving side device simultaneously further includes:
[0012] A flow control message of the same virtual channel as the data message is spliced at the end of the data message and sent in the same clock cycle; the accumulated sent data message value carried in the flow control message corresponds to the data message currently sent by the virtual channel.
[0013] In an optional implementation manner, after the data message passes the reliable transmission check of the receiving side device, it is counted into the cumulative received data message value of the receiving side device, further comprising:
[0014] The receiving side device receives the data message from the sending side device, and after the data message passes the reliable transmission and retransmission check, the length of the data message is included in the accumulated data message value sent by the virtual channel according to the virtual channel used for data message transmission; the reliable transmission and retransmission check of the receiving side device includes the message sequence and data integrity check performed by the receiving side device on the received data.
[0015] In an optional implementation, filtering the accumulated sent data message value from the sending side device according to the receiving status of the data message, and updating the accumulated received data message value of the receiving side device based on the filtered accumulated sent data message value, further includes:
[0016] When the accumulated sent data message value in the flow control message from the sending side device corresponds to the data message that has passed the reliable transmission retransmission check and is correctly received on the receiving side, the accumulated sent data message value in the flow control message is used to update the accumulated received data message value of the receiving side device.
[0017] In an optional implementation manner, filtering the accumulated sent data message value from the sending side device according to the reception status of the data message further includes:
[0018] The receiving device performs reliable transmission and retransmission verification on the data message from the sending device based on the message sequence and data integrity.
[0019] Discard the data message from the sending side that fails the reliable transmission retransmission check, and at the same time discard the accumulated sent data message value in the sending side flow control message at the end of the data message;
[0020] Discard the accumulated sent data message value in the sending side flow control message that is located at the end of the data message that has passed the reliable transmission retransmission check but is not in the same virtual channel as the data message that has passed the check;
[0021] The cumulative value of sent data packets in the sending side flow control message that is not located at the end of the data packet is discarded.
[0022] According to a second aspect of the present application, a bidirectional flow control device based on reliable transmission is provided, comprising:
[0023] A packet sending unit, configured to calculate a cumulative value of data messages sent by the sending side device while the sending side device sends a data message to the receiving side device, and send the cumulative value of data messages sent to the receiving side device;
[0024] a filtering unit, configured to filter the accumulated sent data message value from the sending side according to the receiving state of the data message when the receiving side device receives the data message, and update the accumulated received data message value of the receiving side device based on the filtered accumulated sent data message value;
[0025] A feedback unit is used to determine the flow control credit value of the receiving side device according to the accumulated received data message value and the remaining cache space of the receiving side device, generate a receiving side flow control message containing the flow control credit value and feed it back to the sending side device.
[0026] Compared with the related art, the technical solution of this application has the following advantages:
[0027] It has the advantages of both the bidirectional FCTBS / FCCL flow control mechanism on the sending and receiving sides and the unidirectional FCCL flow control mechanism on the receiving side, effectively solving the problems of flow control anomalies and potential message loss caused by buffer overflow on the receiving side due to mismatch between data messages and flow control messages in the bidirectional flow control scheme. At the same time, it supports the updated cumulative received data message value ABR on the receiving side with the filtered reliable and trustworthy cumulative sent data message value FCTBS on the sending side, adds a synchronization mechanism for the cumulative sent and received message values FCTBS / ABR between the sending and receiving side devices, and improves the robustness of the flow control mechanism.
[0028] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained through the structures and processes indicated in the description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. It is obvious that the drawings described below are certain embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0030] Figure 1 It is an IB network unreliable transmission FCTBS / FCCL flow control mechanism based on related technologies.
[0031] Figure 2 It is a schematic diagram of an abnormal state of reliable transmission flow control under a bidirectional flow control mechanism according to related technologies.
[0032] Figure 3 It is a flowchart of a bidirectional flow control method based on reliable transmission according to an exemplary embodiment of the present application.
[0033] Figure 4 It is a schematic diagram of a reliable transmission FCTBS / FCCL flow control mechanism according to an exemplary embodiment of the present application.
[0034] Figure 5 A schematic diagram showing a process of updating an ABR using a reliable and credible flow control message FCTBS and a process of updating an ABR using a corresponding FCTBS transmitted with a data message.
[0035] Figure 6 It is a schematic diagram of an unreliable and trusted FCTBS according to an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0037] Different retransmission and flow control mechanisms are defined in the existing mainstream exchange protocols, such as InfiniBand and PCIE. In the InfiniBand (IB) network, a credit-based flow control mechanism is used between point-to-point upstream and downstream devices to ensure efficient data transmission between upstream and downstream devices without the risk of buffer overflow. However, in the IB network, reliable transmission is guaranteed by the retransmission mechanism between end-to-end devices, and there is no retransmission mechanism between point-to-point devices, that is, there is message loss in point-to-point transmission, and data integrity is guaranteed in end-to-end retransmission.
[0038] like Figure 1 In the IB network, a bidirectional flow control mechanism based on FCTBS / FCCL is used on the receiving and sending sides. The receiving side device uses a flow control message (FCP) to feedback the flow control credit FCCL (Flow Control Credit Limit) reflecting the remaining buffer space FS (Free Space) information on this side to the sending side device. The sending side device uses FCP to feedback the cumulative value of the data message sent on this side FCTBS (Flow Control Total Block Sent) to the receiving side device; the sending side sends FCP and data messages (DP) independently through different message formats. The FCTBS in the FCP is the cumulative flow control unit value (FCB) corresponding to the data message DP sent before the flow control message.
[0039] Based on the credit FCCL value fed back by the downstream device and the cumulative sent data message value FCTBS maintained on this side, the sending side device can use the predetermined remaining buffer space on the downstream receiving side to efficiently initiate data message transmission when it determines that the remaining buffer space on the downstream receiving side device is sufficient. In response to the scenario where there is message loss and packet loss after active message verification in point-to-point unreliable transmission of the link, the IB network has established a mechanism for the sending side device to update the receiving side device's cumulative received data message value ABR (Adjusted Blocks Received) with the sent data message value FCTBS, which can achieve synchronization of the flow control values of the sent and received messages between the upstream and downstream devices and correct the credit deviation. The IB network adopts the above-mentioned bidirectional FCTBS / FCCL credit mechanism to realize data transmission between upstream and downstream devices in point-to-point unreliable transmission.
[0040] The above-mentioned bidirectional FCCL / FCTBS flow control mechanism plays an important role in upstream and downstream credit synchronization in the point-to-point unreliable transmission of the IB network. It can achieve synchronization and credit recovery of inconsistent upstream and downstream credit maintenance when data packets are lost or discarded. However, in point-to-point reliable transmission, this flow control mechanism will retransmit the data packet when it is lost, resulting in the inapplicability of this bidirectional flow control mechanism. Because when a data packet is sent for the first time, the corresponding message length is accumulated into FCTBS and credit is deducted, and subsequent retransmissions no longer deduct credit and accumulate into FCTBS; the flow control message FCP and the data message DP are transmitted independently, and there is a mismatch between the FCTBS value in the flow control message FCP correctly received by the receiving side and the retransmitted data message DP. The use of the IB flow control mechanism to use FCTBS in the flow control message to correct the ABR on the downstream receiving side will cause problems such as abnormal ABR calculation and abnormal credit feedback.
[0041] as follows Figure 2 In the example, the sending side device transmits the data packet DP2 in the sending buffer (TX Buffer) to the downstream, accumulates the packet length of the data packet DP2 to the FCTBS on this side, and then sends the flow control message FCP2 containing the current FCTBS value fctbs2 information to the receiving side; when a data error occurs in the data packet DP2 during transmission, the downstream receiving side device responds with a NAK2 message after verification fails, triggering the retransmission of the data packet DP2. However, the corresponding FCP2 message is correctly received by the downstream device. According to the FCTBS / FCCL flow control mechanism, the fctbs2 in FCP2 will update the receiving side ABR; the upstream sending side device uses the message DP2 data stored in the retransmission buffer (RetryBuffer) to send it again, no longer accumulates FCTBS, and no longer deducts additional credits. When the retransmitted DP2 message is correctly received by the receiving side, the receiving side will accumulate it again into the receiving side ABR according to the message length of the data packet DP2. That is, the sending side adds FCTBS to the DP2 message once and deducts the corresponding credit once; but on the receiving side, ABR is accumulated twice for the data message DP2, including once updating the fctbs2 value in the flow control message FCP2, and once using the DP2 message length information when the retransmitted data message DP2 is correctly received. This causes the credit value FCCL calculated and fed back by the downstream receiving side based on ABR plus the remaining buffer space of the virtual channel to be abnormally large, and the calculation of the downstream remaining space by the upstream sending side to be abnormally large, which ultimately leads to the risk of abnormal flow control, downstream buffer overflow, and message loss.
[0042] Taking PCIE as an example, in high-speed communication protocols based on point-to-point reliable transmission, a unidirectional flow control mechanism is usually adopted in which only the receiving side feeds back the accumulated credit FCCL. This solution ensures the consistency of the data messages sent and received in the upstream and downstream devices and the complete consistency of the FCTBS / ABR credit maintenance of the upstream and downstream devices through the retransmission mechanism of reliable transmission. The general retransmission mechanism usually uses the data message sequence number PSN and CRC check to ensure the correctness of the data message and retransmission mechanism. There is a risk of low-probability CRC collision, design logic function abnormality, etc. that the message error detection cannot be completed normally. However, in the missed detection scenario, there is also the risk of flow control abnormality due to inconsistent credit maintenance on the sending and receiving sides, and there is no upstream and downstream credit correction and synchronization mechanism under this unidirectional flow control mechanism. Once the credit abnormality occurs, it cannot be recovered, and the robustness of the solution is poor.
[0043] In view of the existing IB / PCIE scheme, similar to the IB protocol FCTBS / FCCL bidirectional flow control mechanism, in point-to-point reliable transmission, data packets and flow control packets are transmitted independently, and the flow control packet FCTBS and data packets do not correspond, resulting in flow control anomalies, receiving side buffer overflow, and packet loss; similar to the PCIE protocol FCCL unidirectional flow control mechanism, when the design logic function is abnormal or the CRC collision causes the reliable transmission check to fail, there is inconsistency in upstream and downstream credit maintenance, and the anomaly cannot be recovered. The present application proposes a bidirectional flow control method and device based on reliable transmission, which adopts a flow control mechanism that has the advantages of both bidirectional flow control and unidirectional flow control mechanisms to achieve point-to-point reliable transmission, prevent the mismatch between data packets and flow control packets in the bidirectional flow control scheme, causing flow control anomalies and receiving side buffer overflow packet loss, and at the same time, compared with the unidirectional flow control mechanism, support a reliable and trusted sender side FCTBS to update the credit synchronization mechanism of the receiving side ABR, increase the upstream and downstream credit synchronization mechanism, and improve the robustness of the flow control mechanism.
[0044] See also Figure 3 The bidirectional flow control method based on reliable transmission provided in this application includes:
[0045] Step 301: while a sending side device sends a data message to a receiving side device, the cumulative value of the data messages sent by the sending side device is calculated, and the cumulative value of the data messages sent is sent to the receiving side device.
[0046] Exemplarily, the sending side device includes the length of the data message into the cumulative sent data message value of the virtual channel according to the virtual channel used for the transmission of the sent data message. The sending side device uses the flow control message FCP to feed back the cumulative sent data message value FCTBS information of each virtual channel on this side to the receiving side device. As described above, the sending side independently sends FCP and data message DP in different message formats. The FCTBS in the flow control message FCP of each virtual channel is the cumulative flow control unit value corresponding to the data message DP sent by the virtual channel before the flow control message.
[0047] In another optional embodiment, when sending a data message, the sending device carries FCTBS information of the accumulated sent data message value of the current corresponding virtual channel in the data message to the receiving device.
[0048] Step 302: After the data message passes the reliable transmission check of the receiving side device, it is included in the cumulative received data message value of the receiving side device; according to the reception status of the data message, the cumulative sent data message value from the sending side device is filtered, and the cumulative received data message value of the receiving side device is updated based on the filtered cumulative sent data message value.
[0049] For example, Figure 4 As shown, in the specific embodiment of the present application, based on the bidirectional FCTBS / FCCL flow control mechanism of reliable transmission, the receiving side adds a flow control message FCP FCTBS filtering mechanism, which is used to filter the reliable and trusted FCTBS in the flow control message from the sending side, and the filtered reliable and trusted FCTBS is used to update the local ABR of the receiving side. Among them, the reliable and trusted flow control message means that the FCTBS in the flow control message corresponds to the data message that has passed the reliable transmission retransmission check and is correctly received on the receiving side, and can be used to update the receiving side device ABR when the credit is abnormal.
[0050] Step 303: Determine the flow control credit value of the receiving side device according to the accumulated received data message value and the remaining buffer space of the receiving side device, generate a receiving side flow control message containing the flow control credit value and feed it back to the sending side device.
[0051] It can be understood that the receiving side device uses a flow control message (FCP) to feed back a flow control credit FCCL reflecting information about the remaining buffer space FS of each virtual channel on the receiving side to the sending side device.
[0052] Please refer to Figure 5 , in a specific embodiment, Figure 5 a shows the FCTBS in a reliable and credible flow control message, which can be used to update the ABR.
[0053] When the receiving side device receives a data message that has passed the reliable transmission check, it counts the length of the message (Packet Length) into the corresponding virtual channel cumulative sent data message value ABR according to the virtual channel used for the data message transmission; and uses the cumulative sent data message value FCTBS in the filtered reliable and trustworthy flow control message to update the cumulative received data message value ABR of the receiving side device.
[0054] In a preferred embodiment, the filtering rule is to retransmit the flow control message on the same virtual channel as the data message, which is spliced at the end of the data message that has passed the verification.
[0055] In a typical message sending design, a flow control message is spliced and sent at the end of the data message with the useless data field to ensure full utilization of the transmission bandwidth. When the sending side sends a data message, the packet length (Packet Length) is accumulated into the FCTBS of the virtual channel used for message transmission. When the sending side sends a flow control message, it is preferred to splice the flow control message of the same virtual channel as the message at the end of the data message. The FCTBS field in the flow control message corresponds to the data message currently being sent.
[0056] Figure 5 b shows the FCTBS corresponding to the data message transmission, which can be used to update the ABR.
[0057] When the sending side sends a data message, according to the virtual channel used for message transmission, the packet length in the message is accumulated into the FCTBS of the virtual channel, and the FCTBS of the virtual channel corresponding to the current data message is carried in the data message. Preferably, the FCTBS is transmitted using the message reserve field.
[0058] As described above, when the receiving side device receives a data message that has passed the reliable transmission verification, it counts the length of the message (Packet Length) into the corresponding virtual channel ABR according to the virtual channel used for the data message transmission; and uses the FCTBS carried in the verified data message to update the ABR of the receiving side device.
[0059] Since the filtering rule of the reliable and trusted FCTBS is to retransmit the flow control message of the same virtual channel as the data message spliced at the end of the data message that has passed the verification, Figure 6 As shown, the following FCTBS will be filtered out:
[0060] 1) For data packets that fail the retransmission check, the data packets will be discarded, and the FCTBS in the flow control message at the end of the packet will be discarded;
[0061] 2) For the message that has passed the retransmission check, filter out the FCTBS in the flow control message of the non-same virtual channel spliced at the end of the data message;
[0062] 3) Filter out the FCTBS in the flow control message at the end of the non-data message.
[0063] In the above embodiment, the parameters maintained by the upstream and downstream transceiver sides include:
[0064] 1) The downstream receiving device feeds back the credit value FCCL indicating the remaining buffer space information of the virtual channel on this side to the sending side; the main parameters of the receiving side and the calculation method of the credit FCCL are shown in Table 1:
[0065] Table 1
[0066]
[0067]
[0068] 2) The upstream sending device calculates the remaining buffer space size of the downstream receiving device based on the credit FCCL fed back by the downstream receiving device, and initiates message transmission when the downstream buffer space is sufficient; the main parameters of the sending side and the calculation method of the remaining space FS are shown in Table 2:
[0069] Table 2
[0070]
[0071] The sender-receiver credit maintenance mechanism based on the above parameters supports reliable and credible FCTBS / ABR synchronization on the sender-receiver side after filtering, which effectively solves the problem of mismatch between the flow control message FCTBS and the correctly received data message in the two-way flow control mechanism, and the problem that the sender-receiver credit anomaly cannot be recovered under the unidirectional flow control mechanism.
[0072] It can be seen that the bidirectional flow control method based on reliable transmission proposed in the present application has the following advantages compared with the related technologies: it has the advantages of both the bidirectional FCTBS / FCCL flow control mechanism and the unidirectional FCCL flow control mechanism, and effectively solves the problem of flow control anomalies and loss of receiving side buffer overflow messages caused by mismatch between data packets and flow control packets in the bidirectional flow control scheme, while retaining the reliable and trustworthy credit synchronization mechanism of the sending side FCTBS updating the receiving side ABR, adding upstream and downstream credit synchronization mechanisms, and improving the robustness of the flow control mechanism.
[0073] Accordingly, illustratively, the present application provides a bidirectional flow control device based on reliable transmission in a second aspect, comprising:
[0074] A packet sending unit, configured to calculate a cumulative value of data messages sent by the sending side device while the sending side device sends a data message to the receiving side device, and send the cumulative value of data messages sent to the receiving side device;
[0075] a filtering unit, configured to filter the accumulated sent data message value from the sending side according to the receiving state of the data message when the receiving side device receives the data message, and update the accumulated received data message value of the receiving side device based on the filtered accumulated sent data message value;
[0076] A feedback unit is used to determine the flow control credit value of the receiving side device according to the accumulated received data message value and the remaining cache space of the receiving side device, generate a receiving side flow control message containing the flow control credit value and feed it back to the sending side device.
[0077] The above-mentioned device can be implemented by the bidirectional flow control method based on reliable transmission provided by the embodiment of the first aspect above. The specific implementation method can be found in the description of the embodiment of the first aspect, and will not be repeated here.
[0078] It is understood that the circuit structures, names and parameters described in the above embodiments are only examples. Those skilled in the art can also easily combine and adjust the structural features of the above embodiments according to the use requirements, and should not limit the concept of the present application to the specific details of the above examples.
[0079] Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that he or she may still modify the technical solutions described in the aforementioned embodiments, or make equivalent substitutions for some of the technical features therein; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A bidirectional flow control method based on reliable transmission, characterized in that: include: When the sending side device sends a data message to the receiving side device, the sending side device calculates a cumulative value of the data messages sent by the sending side device, and sends the cumulative value of the data messages sent to the receiving side device; When the data message passes the reliable transmission check of the receiving side device, it is counted into the cumulative received data message value of the receiving side device; Filtering the accumulated sent data message value from the sending side device according to the receiving state of the data message, and updating the accumulated received data message value of the receiving side device based on the filtered accumulated sent data message value; The flow control credit value of the receiving side device is determined according to the accumulated received data message value and the remaining buffer space of the receiving side device, and a receiving side flow control message including the flow control credit value is generated and fed back to the sending side device.
2. The bidirectional flow control method based on reliable transmission according to claim 1, characterized in that: The calculating the cumulative sent data message value of the sending side device and sending the cumulative sent data message value to the receiving side device further includes: When the sending device sends a data message to the receiving device, the length of the data message is included in the accumulated sent data message value of the virtual channel according to the virtual channel used for message transmission; the accumulated sent data message value is sent to the receiving device simultaneously with the data message.
3. The bidirectional flow control method based on reliable transmission according to claim 2 is characterized in that: The step of sending the accumulated sent data message value along with the data message to the receiving side device further includes: A flow control message of the same virtual channel as the data message is spliced at the end of the data message and sent in the same clock cycle; the accumulated sent data message value carried in the flow control message corresponds to the data message currently sent by the virtual channel.
4. The bidirectional flow control method based on reliable transmission according to claim 1, characterized in that: When the data message passes the reliable transmission check of the receiving side device, the data message is counted into the accumulated received data message value of the receiving side device, further comprising: After the receiving side device receives the data message from the sending side device and passes the reliable transmission retransmission check on the data message, the length of the data message is counted into the accumulated sent data message value of the virtual channel according to the virtual channel used for data message transmission; The reliable transmission retransmission check includes a message sequence and data integrity check performed by the receiving side device on the received data.
5. The bidirectional flow control method based on reliable transmission according to claim 1, characterized in that: The filtering of the accumulated sent data message value from the sending side device according to the receiving state of the data message, and updating the accumulated received data message value of the receiving side device based on the filtered accumulated sent data message value, further comprises: When the accumulated sent data message value in the flow control message from the sending side device corresponds to the data message that has passed the reliable transmission retransmission check and is correctly received on the receiving side, the accumulated sent data message value in the flow control message is used to update the accumulated received data message value of the receiving side device.
6. The bidirectional flow control method based on reliable transmission according to claim 5, characterized in that: The filtering of the accumulated sent data message value from the sending side device according to the receiving state of the data message further includes: The receiving device performs reliable transmission and retransmission verification on the data message from the sending device based on the message sequence and data integrity; Discard the data message from the sending side that fails the reliable transmission retransmission check, and at the same time discard the accumulated sent data message value in the sending side flow control message at the end of the data message; Discard the accumulated sent data message value in the sending side flow control message that is located at the end of the data message that has passed the reliable transmission retransmission check but is not in the same virtual channel as the data message that has passed the check; The cumulative value of sent data packets in the sending side flow control message that is not located at the end of the data packet is discarded.
7. A bidirectional flow control device based on reliable transmission, characterized in that: include: A packet sending unit, configured to calculate a cumulative value of data messages sent by the sending device when the sending device sends a data message to the receiving device, and send the cumulative value of data messages sent to the receiving device; a filtering unit, configured to filter the accumulated sent data message value from the sending side according to the receiving state of the data message when the receiving side device receives the data message, and update the accumulated received data message value of the receiving side device based on the filtered accumulated sent data message value; A feedback unit is used to determine the flow control credit value of the receiving side device according to the accumulated received data message value and the remaining cache space of the receiving side device, generate a receiving side flow control message containing the flow control credit value and feed it back to the sending side device.
8. The bidirectional flow control device based on reliable transmission according to claim 7, characterized in that: The contract issuing unit is further used for: When the sending device sends a data message to the receiving device, the length of the data message is included in the accumulated sent data message value of the virtual channel according to the virtual channel used for message transmission; the accumulated sent data message value is sent to the receiving device simultaneously with the data message.
9. The bidirectional flow control device based on reliable transmission according to claim 7, characterized in that: The contract issuing unit is further used for: A flow control message of the same virtual channel as the data message is spliced at the end of the data message to achieve sending in the same clock cycle; the accumulated sent data message value carried in the flow control message corresponds to the data message currently sent by the virtual channel.
10. The bidirectional flow control device based on reliable transmission according to claim 7, characterized in that: The filtering unit is further used for: When the accumulated sent data message value in the flow control message from the sending side device corresponds to the data message that has passed the reliable transmission retransmission check and is correctly received on the receiving side, the accumulated sent data message value in the flow control message is used to update the accumulated received data message value of the receiving side device.
11. The bidirectional flow control device based on reliable transmission according to claim 10, characterized in that: The filtering unit is further used for: Discard the data message from the sending side that fails the reliable transmission retransmission check, and at the same time discard the accumulated sent data message value in the sending side flow control message at the end of the data message; Discard the accumulated sent data message value in the sending side flow control message that is located at the end of the data message that has passed the reliable transmission retransmission check but is not in the same virtual channel as the data message that has passed the check; The cumulative value of sent data packets in the sending side flow control message that is not located at the end of the data packet is discarded.
Citation Information
Patent Citations
Congestion detection method and system for loss-free network
CN113572655A
Message retransmission method and device of IB network link layer
CN117792571A
Shared cache release method and device based on credit back pressure
CN118101597A
Combined pause-resume and credit-based flow-control
US20180278536A1
Cited By
Bus link layer, on-chip bus and chip
CN121029677A
