An unlimited bandwidth network communication system and method
By introducing the Retry_Credit compatibility mechanism, the incompatibility between flow control and retransmission mechanisms in unlimited bandwidth communication networks is resolved, enabling efficient data transmission in IB networks and ensuring the reliability and stability of transmission.
Patent Information
- Application Number
- CN202411458752.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-17
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2044-10-17
AI Technical Summary
In existing unlimited bandwidth communication networks, the flow control mechanism of FCTBS updating ABR is incompatible with the ACK/NAK retransmission mechanism, resulting in flow control anomalies and packet loss.
A Retry_Credit compatibility mechanism is introduced, which uses retransmission flow control control circuits on both the sending and receiving sides to detect the link status and control the flow control credit masking mechanism during retransmission, thereby ensuring the effective sending and receiving of flow control packets.
It is compatible with the credit limit flow control mechanism and ACK/NAK retransmission mechanism of IB network links, which solves the problems of flow control anomalies and packet loss, reduces the bandwidth occupation of flow control packets, and improves the reliability and stability of transmission.
Smart Images

Figure CN119341917B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of communication technology, and specifically relates to an unlimited bandwidth network communication system and method. Background Technology
[0002] With the advancement of big data and high-performance computing technologies, the demand for high-performance computing in high-speed networks is constantly growing. To meet this demand, the IB (InfiniBand) network platform needs to satisfy the characteristics of high bandwidth, low latency, and lossless operation.
[0003] In contrast, IB networks in related technologies only use secure retransmission protection for reliable transmission services at the transport layer. To ensure high bandwidth, low latency, and lossless transmission in IB high-speed networks, the IB network link layer needs to introduce an ACK / NAK retransmission mechanism to ensure low latency and lossless transmission of IB links. Summary of the Invention
[0004] The purpose of this application is to provide an unlimited bandwidth network communication system and method, which aims to solve the technical problem that the flow control mechanism of FCTBS updating ABR may be incompatible with ACK / NAK in unlimited bandwidth communication networks.
[0005] According to a first aspect of this application, an unlimited bandwidth network communication system is provided, comprising: a transmit-side retransmission flow control circuit; the transmit-side retransmission flow control circuit includes a transmit link state machine monitoring module, a transmit-side retransmission monitoring module, and a transmit-side flow control module; wherein...
[0006] The transmitting link state machine monitoring module is used to generate a trigger signal for the start of retransmission of the transmitting physical link after monitoring that the transmitting physical link has recovered from a non-working state to a normal working state.
[0007] The sending-side retransmission monitoring module is used to send a first notification signal to the sending-side flow control module to prevent the generation of flow control packets destined for the sending-side physical link after monitoring the retransmission start signal of the sending-side physical link.
[0008] After receiving the first notification signal, the sending-side flow control module activates the masking mechanism for flow control packets on the sending-side physical link to stop generating and sending flow control packets.
[0009] In an optional implementation, the retransmission start signal of the transmitting physical link is generated based on the retransmission start trigger signal generated by the transmitting link state machine monitoring module or the retransmission request received from the receiving end.
[0010] In an optional implementation, the sending-side retransmission monitoring module is further configured to send a second notification signal to the sending-side flow control module, allowing the generation of flow control packets destined for the sending-side physical link, after monitoring the retransmission end signal of the sending-side physical link.
[0011] After receiving the second notification signal, the sending-side flow control module disables the masking mechanism for flow control packets on the sending-side physical link.
[0012] In an optional implementation, it further includes: a receive-side retransmission flow control circuit; the receive-side retransmission flow control circuit includes a receive link state machine monitoring module, a receive-side retransmission monitoring module, and a receive-side flow control module; wherein,
[0013] The receiving link state machine monitoring module is used to generate a trigger signal to start retransmission of the receiving physical link after detecting an anomaly in the received data packet, and to send a third notification signal to the receiving flow control module to prevent the receiving physical link from receiving the flow control packet if the flow control packet arrives before the data packet after the receiving physical link enters the normal working state from the non-working state.
[0014] The receiving-side retransmission monitoring module is used to send a third notification signal to the receiving-side flow control module to prevent the receiving of flow control packets from the receiving-side physical link after monitoring the retransmission start signal of the receiving-side physical link.
[0015] After receiving the third notification signal, the receiving-side flow control module activates the flow control packet masking mechanism on the receiving-side physical link to discard flow control packets received from the receiving-side physical link.
[0016] In an optional implementation, the receiving link state machine monitoring module is used to determine that the received data packet is abnormal when it detects that the detection code and / or sequence number of the received data packet is incorrect, thereby generating a trigger signal to start the retransmission of the physical link on the receiving side.
[0017] In an optional implementation, the retransmission start signal of the receiving physical link is generated based on the retransmission start trigger signal generated by the receiving link state machine monitoring module.
[0018] In an optional implementation, the receiving-side retransmission monitoring module is further configured to send a fourth notification signal to the receiving-side flow control module, allowing the receiving of flow control packets from the receiving-side physical link, after monitoring the retransmission end signal of the receiving-side physical link.
[0019] After receiving the fourth notification signal, the receiving-side flow control module disables the masking mechanism for flow control packets on the receiving-side physical link.
[0020] According to a second aspect of this application, an unlimited bandwidth network communication method is provided, comprising:
[0021] After the transmitting link state machine monitoring module detects that the transmitting side physical link has recovered from a non-working state to a normal working state, it generates a trigger signal for the retransmission of the transmitting side physical link.
[0022] After the retransmission monitoring module detects the retransmission start signal of the physical link on the sending side, it sends a first notification signal to the flow control module on the sending side to prevent the generation of flow control packets to the physical link on the sending side.
[0023] After receiving the first notification signal, the sending-side flow control module enables the masking mechanism of flow control packets on the sending-side physical link to stop generating and sending flow control packets.
[0024] In an optional implementation, the method further includes:
[0025] In response to the retransmission start trigger signal generated by the transmitting link state machine monitoring module or the retransmission request received from the receiving end, a retransmission start signal for the transmitting side physical link is generated.
[0026] In an optional implementation, the method further includes:
[0027] After monitoring the retransmission end signal of the sending side physical link, the sending side retransmission monitoring module also sends a second notification signal to the sending side flow control module, allowing the generation of flow control packets to be sent to the sending side physical link.
[0028] After receiving the second notification signal, the sending-side flow control module disables the masking mechanism for flow control packets on the sending-side physical link.
[0029] In an optional implementation, the method further includes:
[0030] After the receiving link state machine monitoring module detects an anomaly in the received data packet, it generates a trigger signal to start the retransmission of the receiving physical link. After the receiving physical link enters the normal working state from the non-working state, if the flow control packet arrives before the data packet, it sends a third notification signal to the receiving flow control module to prevent the receiving physical link from receiving the flow control packet.
[0031] After the receiving-side retransmission monitoring module detects the retransmission start signal of the receiving-side physical link, it sends a third notification signal to the receiving-side flow control module to prevent the receiving of flow control packets from the receiving-side physical link.
[0032] After receiving the third notification signal, the receiving-side flow control module activates the flow control packet masking mechanism on the receiving-side physical link to discard flow control packets received from the receiving-side physical link.
[0033] In an optional implementation, the receiving link state machine monitoring module generates a trigger signal to initiate retransmission of the receiving physical link after detecting an anomaly in the received data packet, including:
[0034] When the receiving link state machine monitoring module detects an error in the detection code and / or sequence number of the received data packet, it determines that the received data packet is abnormal, thereby generating a trigger signal to start the retransmission of the physical link on the receiving side.
[0035] In an optional implementation, the method further includes:
[0036] In response to the retransmission start trigger signal generated by the receiving link state machine monitoring module, a retransmission start signal for the receiving side physical link is generated.
[0037] In an optional implementation, the method further includes:
[0038] After the receiving-side retransmission monitoring module detects the retransmission end signal of the receiving-side physical link, it sends a fourth notification signal to the receiving-side flow control module, allowing the receiving of flow control packets from the receiving-side physical link.
[0039] After receiving the fourth notification signal, the receiving-side flow control module disables the masking mechanism for flow control packets on the receiving-side physical link.
[0040] Compared with related technologies, the technical solution of this application has the following advantages:
[0041] 1. Compatible with IB network links and credit-based flow control mechanism.
[0042] 2. Compatible with the ACK / NAK retransmission mechanism of IB network links.
[0043] 3. Resolved the scenario where packet loss occurred due to abnormal FCTBS credit caused by retransmission on the IB network link.
[0044] 4. Resolved the flow control anomaly issue that occurred on IB network links when entering link_actdefer due to physical link abnormalities and then returning to link_active.
[0045] 5. The Retry_Credit compatibility solution also supports flow control and retransmission mechanisms for single or multiple virtual channels.
[0046] 6. The retransmission process stops the generation of invalid flow control packets, reducing the bandwidth consumption of flow control packets on the link.
[0047] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures and processes shown in the description and the accompanying drawings. Attached Figure Description
[0048] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0049] Figure 1 This is a logical architecture diagram of the overall scheme according to an exemplary embodiment of this application.
[0050] Figure 2 This is a structural block diagram of an unlimited bandwidth network communication system according to an exemplary embodiment of this application.
[0051] Figure 3 This is a flowchart illustrating the implementation of a transmission-oriented flow control mechanism in an unlimited bandwidth network communication system according to an exemplary embodiment of this application.
[0052] Figure 4 This is a flowchart illustrating the implementation of the receiver-side retransmission flow control mechanism in an unlimited bandwidth network communication system according to an exemplary embodiment of this application. Detailed Implementation
[0053] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0054] In the IB network link layer, after introducing the ACK / NAK reliable transmission mechanism, when a packet is lost and a link retransmission is triggered, the synchronization mechanism of FCTBS (Flow Control total Blocks Send, the total number of packets sent since flow control initialization) / FCCL (Flow Control Credit Limit, the link flow control credit limit) will bring the following problems:
[0055] Firstly, the periodic transmission of FCP (Flow Control Packets) leads to bandwidth waste due to the mismatch between the actual transmission cost of FCP, FCTBS, and retransmission mechanisms. Simultaneously, link anomalies cause packet errors, which in turn trigger link retransmissions. Periodic updates of FCP (including FCTBS of the link) can cause abnormal flow control in the receiving direction and excessive credit feedback, resulting in RX Buffer overflow and packet loss.
[0056] Secondly, if the link malfunctions or transitions to a non-working state, and then transitions back to a working state, if a data packet is dropped but the corresponding flow control packet is not dropped, then using IB's FCBTS to update the ABR (Adjusted Blocks Received) mechanism will cause flow control abnormalities and excessive credit feedback in the buffer storing data packets in the VL (Virtual Lane) of the receiving direction, resulting in RX Buffer overflow and packet loss.
[0057] To address the incompatibility between the flow control mechanism and ACK / NAK in the FCTBS update ABR of the IB network, this application proposes a compatible solution based on two independent mechanisms: ACK / NAK and IB link flow control. This solution is applied simultaneously with the retransmission mechanism and the flow control mechanism, resolving the coupling problem between flow control and retransmission in the IB network and ensuring the reliability and stability of IB network transmission.
[0058] In an IB network, the credit-based flow control mechanism is responsible for updating credits at both ends, and the control circuitry for this mechanism is designed upstream of the retransmission mechanism. The ACK / NAK retransmission mechanism ensures the order, correctness, and retransmission of network data packets sent after obtaining credit limits. The retransmission circuitry for this mechanism is designed downstream of the flow control mechanism.
[0059] This application proposes a Retry_Credit compatibility mechanism between the flow control mechanism and the retransmission mechanism. In this mechanism, the sending side detects the sending link state machine and the start and end of retransmission, and manages the flow control credits on the sending side. The receiving side initiates and completes flow control credit management in the receiving direction when initiating and completing retransmission. If the receiving side detects an anomaly in the receiving link state machine, or a data packet received with incorrect CRC or LPSN (Link Packet Sequence Number), it initiates a retransmission and uniformly discards the FCTBS of subsequent flow control packets until the retransmission ends.
[0060] For example, such as Figure 1As shown, the principle of the compatibility mechanism of the entire physical link in an unlimited bandwidth network communication system is described as follows:
[0061] A Retry_Credit compatibility mechanism is added between the flow control mechanism and the retransmission mechanism.
[0062] The Retry_Credit compatibility mechanism detects the sending link state machine and retransmissions: When the sending link state machine is detected to transition from `link_actdefer` (non-working state) to `link_active` (normal working state) or a retransmission request is received from the receiving side, the sending side stops generating and sending flow control packets until the retransmission is detected to be complete, and then resumes the generation and sending of flow control packets. The Retry_Credit compatibility mechanism also detects the receiving link state machine and retransmissions: When the receiving link state machine is detected to transition from `link_actdefer` to `link_active`, or a CRC error or LPSN error is detected in the received data packet, the receiving side stops receiving flow control packets and updating the FCTBS, and simultaneously initiates a retransmission request until the retransmission is detected to be complete, and then resumes receiving flow control packets and updating the FCTBS. Based on the above analysis, this application exemplarily proposes an unlimited bandwidth network communication system, including: a transmit-side retransmission flow control circuit; the transmit-side retransmission flow control circuit includes a transmit link state machine monitoring module, a transmit-side retransmission monitoring module, and a transmit-side flow control module; wherein, the transmit link state machine monitoring module is used to generate a trigger signal for the start of retransmission of the transmit-side physical link after monitoring that the transmit-side physical link has recovered from a non-working state to a normal working state; the transmit-side retransmission monitoring module is used to send a first notification signal to the transmit-side flow control module to prevent the generation of flow control packets destined for the transmit-side physical link after monitoring the retransmission start signal of the transmit-side physical link; after receiving the first notification signal, the transmit-side flow control module enables the masking mechanism of flow control packets on the transmit-side physical link to stop the generation and transmission of flow control packets. Figure 2As shown, exemplarily, the Retry_Credit compatibility mechanism of this application can be implemented by two main parts: a sender-side retransmission flow control circuit and / or a receiver-side retransmission flow control circuit. Therefore, the sender in this unlimited bandwidth network communication system can send data packets to the receiver, and the sender can include a sender-side retransmission flow control circuit to implement sender-side retransmission flow control. For example, the sender-side retransmission monitoring module parses the sequence number LSPN of the flow control packet to monitor the start and end of retransmission. After monitoring the retransmission start signal, it sends a first notification signal to the sender-side flow control module, causing the sender-side flow control module to prevent the generation of flow control packets destined for the sender-side physical link. The sender-side flow control module uses a masking mechanism to prevent the generation of flow control packets destined for the sender-side physical link. When the sender-side physical link includes multiple virtual channels, the masking mechanism can support the locking and unlocking of one or more virtual channels, that is, it can prevent the generation and transmission of flow control packets for one or more virtual channels. This masking mechanism can be implemented as a circuit to prevent flow control packets from being sent to the physical link on the sending side. Enabling this masking mechanism can be understood as generating control signals to control the operation of this circuit.
[0063] In some alternative implementations, the retransmission start signal of the transmitting physical link is generated based on the retransmission start trigger signal generated by the transmitting link state machine monitoring module or the retransmission request received from the receiving end.
[0064] For example, the retransmission start signal of the transmitting side physical link can be triggered by receiving a retransmission request from the receiving end, or by a retransmission start trigger signal generated by the transmitting link state machine monitoring module in the transmitting side retransmission flow control circuit. If the data packet received by the receiving end from the transmitting end is abnormal, such as a CRC error or LSPN error, it will initiate a retransmission request to the transmitting end. If the transmitting link state machine monitoring module detects that the transmitting side physical link has entered the working state from the non-working state, it will generate a retransmission start trigger signal. After receiving the retransmission request from the receiving end or the retransmission start trigger signal generated by the transmitting link state machine monitoring module, the relevant circuits at the transmitting end will initiate the data packet retransmission process and generate a retransmission start signal.
[0065] In some embodiments, the sending-side retransmission monitoring module is further configured to send a second notification signal to the sending-side flow control module after monitoring the retransmission end signal of the sending-side physical link, allowing the generation of flow control packets to be sent to the sending-side physical link.
[0066] After receiving the second notification signal, the sending-side flow control module disables the masking mechanism for flow control packets on the sending-side physical link.
[0067] For example, after the sending end completes the retransmission of the data packet, the relevant circuit will trigger a retransmission end signal. After the sending-side retransmission monitoring module captures the retransmission end signal, it sends a second notification signal to the sending-side flow control module so that the sending-side flow control module allows the flow control packet to be sent from the sending-side physical link. The sending-side flow control module then disables the previously enabled masking mechanism.
[0068] The following is through Figure 3 The following is a detailed description of the retransmission flow control mechanism during the data packet transmission process at the sending end:
[0069] 1. Monitoring the transmission link state machine process:
[0070] The system checks whether the physical link on the sending side is abnormal and enters the link_actdefer function.
[0071] Check whether the physical link on the sending side has moved from link_actdefer to link_active.
[0072] If you enter link_active from link_actdefer, you actively trigger the NAK signal to start retransmission.
[0073] 2. Retransmission process on the sending side:
[0074] The sending side triggers the retransmission start signal NAK;
[0075] If NAK is detected, the sending end link_tx initiates a retransmission of the retry_buffer (i.e., initiates a retransmission of the data packets in the retransmission buffer), records the retry_lpsn (i.e., the sequence number of the data packet to be retransmitted), and sets the virtual channel signal corresponding to the retransmission start signal retry_stop_fce_send to a high level (i.e., generates a retransmission start signal). When the flow control module on the sending side detects this high-level signal, it prevents the virtual channel corresponding to the high-level signal from generating flow control packets and sending flow control credits, while the virtual channel corresponding to the non-high-level signal can generate flow control packets and send flow control credits.
[0076] The sending side also parses the sequence number `retry_NTS` of the data packets at the egress point and increments it by one to `NTSDLY`, which is the sequence number of the previous data packet plus 1. `retry_NTS` is the sequence number of the data packet the sending side is currently sending. If the sequence number of the retransmission request data packet received by the sending side is `retry_lpsn`, then the sending side will retransmit the data packet with sequence number `retry_lpsn`. The sequence number of the retransmitted data packet is `LSPN`. For example: Suppose the sequence numbers `LPSN` of the data packets sent by the sending side are 1, 2, 3, 4, 5...10, and when sending the data packet with `LPSN=5`, the other end reports a problem with data packet 1 and requests a retransmission, i.e., a retransmission request for data packet 1 is received. At this time, `retry_lpsn` = 1, and `retry_NTS` = 5. Retransmission begins, and the corresponding virtual channel (VL) is locked. After retransmission begins, the sequence number (LPSN) of the retransmitted data packet is 1, 2, 3, 4, 5...10, retry_lpsn = 1, and retry_NTS changes sequentially to 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7...10. If retry_NTS equals the sequence number (retry_lpsn) of the data packet initiating the retransmission, then the following three branches (ac) are entered:
[0077] a. The retransmission counter is started. If all virtual channels are unlocked, the counter is cleared to zero. If the counter times out, an interrupt is reported and the software unlocks the channel. Then, proceed to step d.
[0078] b. The sending side starts retransmission and parses the sequence number LSPN and virtual channel VL[n] of the retransmitted data packet at the exit. At the same time, retry_stop_fce_send[n] is set to low level to unlock the corresponding virtual channel VL[n], that is, to turn off the masking mechanism corresponding to the virtual channel.
[0079] c. The sender modulo operation determines whether to select the larger value between NTS_DLY and retry_lpsn as retry_lpsn_lock: if (NTSDLY-retry_lpsn)mod 4096<=2048, then retry_lpsn_lock takes NTS_DLY; otherwise, retry_lpsn_lock takes retry_lpsn.
[0080] After steps b and c are completed, check if retry_NTS is equal to retry_lpsn_lock. If so, proceed to step d.
[0081] d. After the retransmission ends and retry_stop_fce_send is set to low (i.e., a retransmission end signal is generated), unlock all locked virtual channels.
[0082] In some optional implementations, the receiver in this unlimited bandwidth network communication system is used to receive data packets from the sender. Therefore, to implement the receiver's function, the unlimited bandwidth network communication system further includes: a receiver-side retransmission flow control circuit; the receiver-side retransmission flow control circuit includes a receiver link state machine monitoring module, a receiver-side retransmission monitoring module, and a receiver-side flow control module; wherein,
[0083] The receiving link state machine monitoring module is used to generate a trigger signal to start retransmission of the receiving physical link after detecting an anomaly in the received data packet, and to send a third notification signal to the receiving flow control module to prevent the receiving physical link from receiving the flow control packet if the flow control packet arrives before the data packet after the receiving physical link enters the normal working state from the non-working state.
[0084] The receiving-side retransmission monitoring module is used to send a third notification signal to the receiving-side flow control module to prevent the receiving of flow control packets from the receiving-side physical link after monitoring the retransmission start signal of the receiving-side physical link.
[0085] After receiving the third notification signal, the receiving-side flow control module activates the flow control packet masking mechanism on the receiving-side physical link to discard flow control packets received from the receiving-side physical link.
[0086] For example, the transmit-side emphasis transmission flow control circuit and the receive-side emphasis transmission flow control circuit can be located in the same device in a wireless bandwidth network communication system, or they can be located in different devices. Simultaneously setting both the transmit-side and receive-side emphasis transmission flow control circuits on the same device allows the device to function as both a transmitter and a receiver. If the device only has the transmit-side emphasis transmission flow control circuit, it only functions as a transmitter; if it only has the receive-side emphasis transmission flow control circuit, it only functions as a receiver. This disclosure does not impose specific limitations in this regard, and the configuration can be tailored to actual needs. In a wireless bandwidth communication network system, two devices, each equipped with a transmit-side and a receive-side emphasis transmission flow control circuit, can respectively function as a transmitter and a receiver for data communication.
[0087] For example, after the receiving-side retransmission monitoring module detects the retransmission start signal, it sends a third notification signal to the receiving-side flow control module. Similarly, after the receiving-side physical link detects that the receiving-side physical link has entered a normal working state from a non-working state, if the flow control packet arrives before the data packet, it also sends a third notification signal to the receiving-side flow control module, so that the receiving-side flow control module can prevent the receiving-side physical link from receiving flow control packets. The receiving-side flow control module also prevents the receiving of flow control packets through a masking mechanism. The receiving-side flow control module can support the opening and closing of one or more virtual channels on the receiving-side physical link through the masking mechanism. If the mask for one or more virtual channels is opened, the receiving-side flow control packet can be dropped by that virtual channel. If the mask is closed, the receiving-side flow control packet can be received by that virtual channel.
[0088] In some optional implementations, the receiving link state machine monitoring module is used to determine that the received data packet is abnormal when it detects an error in the detection code and / or sequence number of the received data packet, thereby generating a trigger signal to start the retransmission of the physical link on the receiving side.
[0089] For example, after receiving a data packet from the receiving physical link, the receiving end verifies the CRC checksum and LSPN sequence number of the received data packet. If at least one of the checksum and sequence number is incorrect, it indicates that the received data packet is abnormal. Therefore, a retransmission start trigger signal is generated on the receiving physical link to trigger the receiving physical link to re-receive the abnormal received data packet. This trigger signal causes the relevant circuits at the receiving end to send a retransmission request to the sending end. At the same time, the relevant circuits at the receiving end generate a retransmission start signal. After the retransmission start signal is captured by the receiving retransmission monitoring module, a third notification signal is sent to the receiving flow control module.
[0090] In some alternative implementations, the retransmission start signal of the receiving physical link is generated based on the retransmission start trigger signal generated by the receiving link state machine monitoring module.
[0091] For example, the retransmission start signal of the physical link on the receiving side is triggered by the retransmission start trigger signal generated by the receiving link state machine monitoring module in the retransmission flow control circuit on the receiving side. If the data packet received by the receiving end from the sending end is abnormal, such as a CRC error or LSPN error, it will initiate a retransmission request to the sending end, and at the same time, it will trigger the relevant circuits on the receiving end to generate a retransmission start signal.
[0092] In some optional implementations, the receiving-side retransmission monitoring module is further configured to send a fourth notification signal to the receiving-side flow control module, allowing the receiving of flow control packets from the receiving-side physical link, after monitoring the retransmission end signal of the receiving-side physical link.
[0093] After receiving the fourth notification signal, the receiving-side flow control module disables the masking mechanism for flow control packets on the receiving-side physical link.
[0094] For example, after the sending end completes the retransmission of the data packet, it will trigger the relevant circuit of the receiving end to generate a retransmission end signal. After the receiving side retransmission monitoring module captures the retransmission end signal, it sends a fourth notification signal to the receiving side flow control module so that the receiving side flow control module can allow the receiving side physical link to receive subsequent flow control packets. The receiving side flow control module then turns off the previously enabled masking mechanism.
[0095] The following is through Figure 4 Here is a detailed description of the retransmission flow control mechanism during the data packet reception process at the receiving end:
[0096] 1. Monitoring the state machine process of the physical link on the receiving side:
[0097] The function checks whether the physical link on the receiving side is abnormal and enters the link_actdefer function.
[0098] Check whether the physical link on the receiving side has moved from link_actdefer to link_active.
[0099] If the process moves from link_actdefer to link_active, then a flow control packet that arrives before the current packet will be discarded.
[0100] 2. The process of retransmitting data packets at the receiving end:
[0101] The receiving end detects whether the physical link on the receiving side receives bad packets with CRC or LPSN errors;
[0102] If a bad packet with a CRC or LPSN error is received, a retransmission start trigger signal NAK is generated to request a retransmission. The sequence number of the data packet initiating the retransmission, retry_lpsn, is recorded, and the corresponding level of the virtual channel in retry_stop_fcp_receive is set to high (i.e., a retransmission start signal is generated). Simultaneously, upon detecting the high-level signal in retry_stop_fcp_receive, the receiving-side retransmission flow control circuit prevents the corresponding virtual channel from receiving flow control packets and updating the FCTBS; conversely, for virtual channels where retry_stop_fcp_receive remains low, flow control packets and FCTBS updates are allowed.
[0103] The receiving side also parses the sequence number retry_NTS of the data packet at the ingress point and sets it to NTS_DLY.
[0104] If retry_NTS is not equal to retry_lpsn, return to the previous step; if retry_NTS is equal to retry_lpsn, proceed to the following three branches:
[0105] a. The retransmission counter is started. If all virtual channels are unlocked, the counter is cleared to zero. If the counter times out, an interrupt is reported and the software unlocks the channel. Then, proceed to step d.
[0106] b. The receiving side starts retransmission: parse the sequence number LSPN and virtual channel number VL[n] of the current data packet at the ingress point, and set retry_stop_fce_receive[n] to low level (indicating that the retransmission of the data packet of the virtual channel VL[n] has ended) to unlock the corresponding VL[n] virtual channel, that is, to turn off the masking mechanism corresponding to the virtual channel.
[0107] c. The receiving side uses modulo to determine the larger value between NTS_DLY and retry_lpsn as retry_lpsn_lock: if (NTSDLY-retry_lpsn)mod 4096<=2048, then retry_lpsn_lock takes NTS_DLY; otherwise, retry_lpsn_lock takes retry_lpsn.
[0108] After steps b and c are completed, check if retry_lpsn_lock is equal to the sequence number retry_NTS of the data packet to be sent at the data exit point. If so, proceed to step d. Otherwise, return to step b and continue retransmitting the next data packet.
[0109] d. After the retransmission ends and retry_stop_fce_receive is set to low, unlock all locked virtual channels.
[0110] The unlimited bandwidth network communication system proposed in this application has the following advantages:
[0111] 1. Compatible with IB network links and credit-based flow control mechanism.
[0112] 2. Compatible with the ACK / NAK retransmission mechanism of IB network links.
[0113] 3. It solves the scenario where retransmission on the IB network link causes abnormal FCTBS credit, resulting in secondary packet loss.
[0114] 4. Resolved the flow control anomaly issue that occurred on IB network links when entering link_actdefer due to physical link abnormalities and then returning to link_active.
[0115] 5. The Retry_Credit compatibility solution also supports flow control and retransmission mechanisms for single or multiple virtual channels.
[0116] 6. The retransmission process stops the generation of invalid flow control packets, reducing the bandwidth consumption of flow control packets on the link.
[0117] Accordingly, this application also provides an exemplary method for communication over an unlimited bandwidth network, comprising:
[0118] After the transmitting link state machine monitoring module detects that the transmitting side physical link has recovered from a non-working state to a normal working state, it generates a trigger signal for the retransmission of the transmitting side physical link.
[0119] After the retransmission monitoring module detects the retransmission start signal of the physical link on the sending side, it sends a first notification signal to the flow control module on the sending side to prevent the generation of flow control packets to the physical link on the sending side.
[0120] After receiving the first notification signal, the sending-side flow control module enables the masking mechanism of flow control packets on the sending-side physical link to stop generating and sending flow control packets.
[0121] In some alternative implementations, the method further includes:
[0122] In response to the retransmission start trigger signal generated by the transmitting link state machine monitoring module or the retransmission request received from the receiving end, a retransmission start signal for the transmitting side physical link is generated.
[0123] In some alternative implementations, the method further includes:
[0124] After monitoring the retransmission end signal of the sending side physical link, the sending side retransmission monitoring module also sends a second notification signal to the sending side flow control module, allowing the generation of flow control packets to be sent to the sending side physical link.
[0125] After receiving the second notification signal, the sending-side flow control module disables the masking mechanism for flow control packets on the sending-side physical link.
[0126] In some alternative implementations, the method further includes:
[0127] After detecting an anomaly in the received data packet, the receiving link state machine monitoring module generates a trigger signal to start retransmission of the receiving physical link. After monitoring that the receiving physical link has entered a normal working state from a non-working state, if the flow control packet arrives before the data packet, it sends a third notification signal to the receiving flow control module to prevent the receiving physical link from receiving the flow control packet.
[0128] After the receiving-side retransmission monitoring module detects the retransmission start signal of the receiving-side physical link, it sends a third notification signal to the receiving-side flow control module to prevent the receiving of flow control packets from the receiving-side physical link.
[0129] After receiving the third notification signal, the receiving-side flow control module activates the flow control packet masking mechanism on the receiving-side physical link to discard flow control packets received from the receiving-side physical link.
[0130] In some optional implementations, the receiving link state machine monitoring module generates a trigger signal to initiate retransmission of the receiving physical link after detecting an anomaly in the received data packet, including:
[0131] When the receiving link state machine monitoring module detects an error in the detection code and / or sequence number of the received data packet, it determines that the received data packet is abnormal, thereby generating a trigger signal to start the retransmission of the physical link on the receiving side.
[0132] In some alternative implementations, the method further includes:
[0133] In response to the retransmission start trigger signal generated by the receiving link state machine monitoring module, a retransmission start signal for the receiving side physical link is generated.
[0134] In some alternative implementations, the method further includes:
[0135] The receiving-side retransmission monitoring module is also used to send a fourth notification signal to the receiving-side flow control module after monitoring the retransmission end signal of the receiving-side physical link, allowing the receiving of flow control packets from the receiving-side physical link.
[0136] After receiving the fourth notification signal, the receiving-side flow control module disables the masking mechanism for flow control packets on the receiving-side physical link.
[0137] The above method can be implemented by the unlimited bandwidth network communication system described in the corresponding embodiments above. For details, please refer to the description of the relevant embodiments of the unlimited bandwidth network communication system above, which will not be repeated here.
[0138] It is understood that the circuit structures, names, and parameters described in the above embodiments are merely examples. Those skilled in the art can also make readily conceived combinations and adjustments to the structural features of the above embodiments according to their needs, and the concept of this application should not be limited to the specific details of the above examples.
[0139] Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; 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 this application.
Claims
1. An unlimited bandwidth network communication system, characterized in that, include: A transmit-side retransmission flow control circuit; the transmit-side retransmission flow control circuit includes a transmit link state machine monitoring module, a transmit-side retransmission monitoring module, and a transmit-side flow control module; wherein... The transmitting link state machine monitoring module is used to generate a trigger signal for the start of retransmission of the transmitting physical link after monitoring that the transmitting side physical link has recovered from a non-working state to a normal working state. The sending-side retransmission monitoring module is used to send a first notification signal to the sending-side flow control module to prevent the generation of flow control packets destined for the sending-side physical link after monitoring the retransmission start signal of the sending-side physical link. After receiving the first notification signal, the sending-side flow control module activates the masking mechanism for flow control packets on the sending-side physical link to stop generating and sending flow control packets.
2. The unlimited bandwidth network communication system according to claim 1, characterized in that, The retransmission start signal of the transmitting side physical link is generated based on the retransmission start trigger signal generated by the transmitting link state machine monitoring module or the retransmission request received from the receiving end.
3. The unlimited bandwidth network communication system according to claim 1, characterized in that, The sending-side retransmission monitoring module is also used to send a second notification signal to the sending-side flow control module after monitoring the retransmission end signal of the sending-side physical link, allowing the generation of flow control packets to be sent to the sending-side physical link. After receiving the second notification signal, the sending-side flow control module disables the masking mechanism for flow control packets on the sending-side physical link.
4. The unlimited bandwidth network communication system according to any one of claims 1-3, characterized in that, Also includes: A receiver-side retransmission flow control circuit; the receiver-side retransmission flow control circuit includes a receiver link state machine monitoring module, a receiver-side retransmission monitoring module, and a receiver-side flow control module; wherein... The receiving link state machine monitoring module is used to generate a trigger signal to start retransmission of the receiving physical link after detecting an anomaly in the received data packet, and to send a third notification signal to the receiving flow control module to prevent the receiving physical link from receiving the flow control packet if the flow control packet arrives before the data packet after the receiving physical link enters the normal working state from the non-working state. The receiving-side retransmission monitoring module is used to send a third notification signal to the receiving-side flow control module to prevent the receiving of flow control packets from the receiving-side physical link after monitoring the retransmission start signal of the receiving-side physical link. After receiving the third notification signal, the receiving-side flow control module activates the flow control packet masking mechanism on the receiving-side physical link to discard flow control packets received from the receiving-side physical link.
5. The unlimited bandwidth network communication system according to claim 4, characterized in that, The receiving link state machine monitoring module is used to determine that the received data packet is abnormal when it detects that the detection code and / or sequence number of the received data packet is incorrect, thereby generating a trigger signal to start the retransmission of the physical link on the receiving side.
6. The unlimited bandwidth network communication system according to claim 4, characterized in that, The retransmission start signal of the receiving physical link is generated based on the retransmission start trigger signal generated by the receiving link state machine monitoring module.
7. The unlimited bandwidth network communication system according to claim 4, characterized in that, The receiving-side retransmission monitoring module is also used to send a fourth notification signal to the receiving-side flow control module after monitoring the retransmission end signal of the receiving-side physical link, allowing the receiving of flow control packets from the receiving-side physical link. After receiving the fourth notification signal, the receiving-side flow control module disables the masking mechanism for flow control packets on the receiving-side physical link.
8. A method for communication over an unlimited bandwidth network, characterized in that, include: After the transmitting link state machine monitoring module detects that the transmitting side physical link has recovered from a non-working state to a normal working state, it generates a trigger signal for the retransmission of the transmitting side physical link. After the retransmission monitoring module detects the retransmission start signal of the physical link on the sending side, it sends a first notification signal to the flow control module on the sending side to prevent the generation of flow control packets destined for the physical link on the sending side. After receiving the first notification signal, the sending-side flow control module enables the masking mechanism of flow control packets on the sending-side physical link to stop generating and sending flow control packets.
9. The unlimited bandwidth network communication method according to claim 8, characterized in that, The method further includes: In response to the retransmission start trigger signal generated by the transmitting link state machine monitoring module or the retransmission request received from the receiving end, a retransmission start signal for the transmitting side physical link is generated.
10. The unlimited bandwidth network communication method according to claim 8, characterized in that, The method further includes: After monitoring the retransmission end signal of the sending side physical link, the sending side retransmission monitoring module also sends a second notification signal to the sending side flow control module, allowing the generation of flow control packets to be sent to the sending side physical link. After receiving the second notification signal, the sending-side flow control module disables the masking mechanism for flow control packets on the sending-side physical link.
11. The unlimited bandwidth network communication method according to any one of claims 8-10, characterized in that, The method further includes: After the receiving link state machine monitoring module detects an anomaly in the received data packet, it generates a trigger signal to start the retransmission of the receiving physical link. After the receiving physical link enters the normal working state from the non-working state, if the flow control packet arrives before the data packet, it sends a third notification signal to the receiving flow control module to prevent the receiving physical link from receiving the flow control packet. After the receiving-side retransmission monitoring module detects the retransmission start signal of the receiving-side physical link, it sends a third notification signal to the receiving-side flow control module to prevent the receiving of flow control packets from the receiving-side physical link. After receiving the third notification signal, the receiving-side flow control module activates the flow control packet masking mechanism on the receiving-side physical link to discard flow control packets received from the receiving-side physical link.
12. The unlimited bandwidth network communication method according to claim 11, characterized in that, After detecting an anomaly in the received data packet, the receiving link state machine monitoring module generates a trigger signal to initiate retransmission of the physical link on the receiving side, including: When the receiving link state machine monitoring module detects an error in the detection code and / or sequence number of the received data packet, it determines that the received data packet is abnormal, thereby generating a trigger signal to start the retransmission of the physical link on the receiving side.
13. The unlimited bandwidth network communication method according to claim 11, characterized in that, The method further includes: In response to the retransmission start trigger signal generated by the receiving link state machine monitoring module, a retransmission start signal for the receiving side physical link is generated.
14. The unlimited bandwidth network communication method according to claim 11, characterized in that, The method further includes: After the receiving-side retransmission monitoring module detects the retransmission end signal of the receiving-side physical link, it sends a fourth notification signal to the receiving-side flow control module, allowing the receiving of flow control packets from the receiving-side physical link. After receiving the fourth notification signal, the receiving-side flow control module disables the masking mechanism for flow control packets on the receiving-side physical link.
Citation Information
Patent Citations
Flow control with reduced buffer usage for network devices
CN104243346A
Lossless and efficient RDMA (Remote Direct Memory Access) transmission method
CN114866476A