Infinite bandwidth network communication system and method
By introducing the Retry_credit compatibility mechanism in the IB network link layer, monitoring the link status machine and re -transmission process, the FCTBS update ABR flow control mechanism and ACK/NAK are not compatible with the incomparable of ACK/NAK in the unlimited bandwidth communication network. The compatibility and efficiency of link flow control and re -transmission mechanism.
Patent Information
- Application Number
- CN202411458752.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-17
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2044-10-17
AI Technical Summary
The flow control mechanism of FCTBS updating ABR in an unlimited bandwidth communication network may be incompatible with ACK/NAK, resulting in flow control FCTBS credit abnormalities and flow control abnormalities caused by retransmission on the IB network link.
In the IB network link layer, the Retry_Credit compatibility mechanism is introduced, and the link state machine and retransmission process are monitored through the retransmission flow control circuits on the sending and receiving sides, and the masking mechanism of the flow control packet is turned on or off to ensure Compatibility of flow control mechanism and retransmission mechanism.
It solves the problem of flow control FCTBS credit anomaly and flow control anomaly caused by retransmission on the IB network link. It is compatible with the credit limit-based flow control mechanism and ACK/NAK retransmission mechanism of the IB network link, reducing the flow control packet pairing on the chain. Occupation of road bandwidth.
Smart Images

Figure CN119341917A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of communication technology, and in particular, relates to an infinite bandwidth network communication system and method. Background Art
[0002] With the advancement of big data and high-performance computing technology, the demand for high-performance computing in high-speed networks continues to grow. In order to meet this demand, the IB (InfiniBand) network platform needs to meet the characteristics of high bandwidth, low latency, and losslessness.
[0003] The IB network in the related art only uses secure retransmission protection for reliable transmission services in the transport layer. In order to ensure high bandwidth, low latency and losslessness in IB high-speed network transmission, the IB network link layer needs to introduce an ACK / NAK retransmission mechanism to ensure low latency and losslessness of the IB link. Summary of the invention
[0004] The purpose of the present application is to provide an infinite bandwidth network communication system and method, aiming to solve the technical problem that the flow control mechanism of FCTBS updating ABR and ACK / NAK may be incompatible in the infinite bandwidth communication network.
[0005] According to the first aspect of the present application, an infinite bandwidth network communication system is provided, comprising: a transmission side retransmission flow control circuit; the transmission side retransmission flow control circuit comprises a transmission link state machine monitoring module, a transmission side retransmission monitoring module and a transmission side flow control module; wherein,
[0006] The transmission link state machine monitoring module is used to generate a trigger signal for starting retransmission of the transmission side physical link after monitoring that the transmission side physical link recovers 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 a flow control packet sent to 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 flow control module on the sending side starts the mask mechanism of the flow control packet on the physical link on the sending side to stop generating and sending the flow control packet.
[0009] In an optional implementation, the retransmission start signal of the sending side physical link is generated based on a retransmission start trigger signal generated by the sending link state machine monitoring module or a retransmission request received from the receiving end.
[0010] In an optional implementation manner, the sending side retransmission monitoring module is further used to send a second notification signal to the sending side flow control module to allow generation of a flow control packet sent to the sending side physical link after monitoring a retransmission end signal of the sending side physical link;
[0011] After receiving the second notification signal, the sending side flow control module turns off the mask mechanism of the flow control packet on the sending side physical link.
[0012] In an optional implementation, it further includes: a receiving side retransmission flow control circuit; the receiving side retransmission flow control circuit includes a receiving link state machine monitoring module, a receiving side retransmission monitoring module and a receiving side flow control module; wherein,
[0013] The receiving link state machine monitoring module is used to generate a trigger signal for starting retransmission of the receiving side physical link after monitoring that a received data packet is abnormal, and after monitoring that the receiving side physical link enters a normal working state from a non-working state, if a flow control packet arrives before a data packet, send a third notification signal to the receiving side flow control control module to prevent the flow control packet from being received from the receiving side physical link;
[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 flow control packet from being received 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 starts the mask mechanism of the flow control packet on the receiving-side physical link to discard the flow control packet received from the receiving-side physical link.
[0016] In an optional embodiment, the receiving link state machine monitoring module is used to determine that there is an abnormality in the received data packet when the detection code and / or sequence number of the received data packet is monitored to be incorrect, thereby generating a trigger signal for starting retransmission of the receiving side physical link.
[0017] In an optional implementation, the retransmission start signal of the receiving side physical link is generated based on a 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 to allow receiving 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 turns off the mask mechanism of the flow control packet on the receiving-side physical link.
[0020] According to a second aspect of the present application, there is provided an infinite bandwidth network communication method, comprising:
[0021] The transmission link state machine monitoring module generates a trigger signal for starting retransmission of the transmission side physical link after monitoring that the transmission side physical link recovers from the non-working state to the normal working state;
[0022] After the retransmission monitoring module on the sending side monitors the retransmission start signal of the physical link on the sending side, the retransmission monitoring module on the sending side sends a first notification signal to prevent the generation of a flow control packet sent to the physical link on the sending side to the flow control module on the sending side;
[0023] After receiving the first notification signal, the flow control module on the sending side starts the mask mechanism of the flow control packet on the physical link on the sending side to stop generating and sending the flow control packet.
[0024] In an optional embodiment, the method further comprises:
[0025] In response to the retransmission start trigger signal generated by the transmission link state machine monitoring module or the retransmission request received from the receiving end, a retransmission start signal of the transmission side physical link is generated.
[0026] In an optional embodiment, the method further comprises:
[0027] The sending-side retransmission monitoring module also sends a second notification signal to the sending-side flow control module to allow generation of a flow control packet to the sending-side physical link after monitoring the retransmission end signal of the sending-side physical link;
[0028] After receiving the second notification signal, the sending side flow control module turns off the mask mechanism of the flow control packet on the sending side physical link.
[0029] In an optional embodiment, the method further comprises:
[0030] The receiving link state machine monitoring module generates a trigger signal for starting retransmission of the receiving side physical link after monitoring that the received data packet is abnormal, and after monitoring that the receiving side physical link enters a normal working state from a non-working state, if the flow control packet arrives before the data packet, sends a third notification signal to the receiving side flow control control module to prevent the flow control packet from being received from the receiving side physical link;
[0031] After monitoring the retransmission start signal of the receiving side physical link, the receiving side retransmission monitoring module sends a third notification signal to the receiving side flow control control module to prevent the flow control packet from being received from the receiving side physical link;
[0032] After receiving the third notification signal, the receiving-side flow control module starts the mask mechanism of the flow control packet on the receiving-side physical link to discard the flow control packet received from the receiving-side physical link.
[0033] In an optional implementation manner, the receiving link state machine monitoring module generates a trigger signal for starting retransmission of the receiving side physical link after monitoring that the received data packet is abnormal, including:
[0034] When the receiving link state machine monitoring module monitors that the detection code and / or sequence number of the received data packet is wrong, it determines that the received data packet is abnormal, thereby generating a trigger signal for starting retransmission of the receiving side physical link.
[0035] In an optional embodiment, the method further comprises:
[0036] In response to the retransmission start trigger signal generated by the receiving link state machine monitoring module, a retransmission start signal of the receiving side physical link is generated.
[0037] In an optional embodiment, the method further comprises:
[0038] The receiving-side retransmission monitoring module also sends a fourth notification signal to the receiving-side flow control module to allow receiving flow control packets from the receiving-side physical link after monitoring the retransmission end signal of the receiving-side physical link;
[0039] After receiving the fourth notification signal, the receiving-side flow control module turns off the mask mechanism of the flow control packet on the receiving-side physical link.
[0040] Compared with the related art, the technical solution of this application has the following advantages:
[0041] 1. Compatible with the credit limit-based flow control mechanism of the IB network link.
[0042] 2. Compatible with the ACK / NAK retransmission mechanism of the IB network link.
[0043] 3. Solved the scenario where packet loss occurred due to flow control FCTBS credit anomaly caused by retransmission on the IB network link.
[0044] 4. Solved the problem of abnormal flow control on the IB network link, which occurred after the physical link abnormally entered link_actdefer and then returned to link_active.
[0045] 5. The Retry_Credit compatible solution also supports the processing of flow control and retransmission mechanisms for single or multiple virtual channels.
[0046] 6. The retransmission process stops the invalid generation of flow control packets, reducing the link bandwidth occupied by flow control packets.
[0047] 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
[0048] 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.
[0049] Figure 1 It is a logical architecture diagram of the overall solution according to the exemplary embodiment of the present application.
[0050] Figure 2 is a structural block diagram of an infinite bandwidth network communication system according to an exemplary embodiment of the present application.
[0051] Figure 3 It is a flow chart of implementing a transmission-focused flow control mechanism of an infinite bandwidth network communication system according to an exemplary embodiment of the present application.
[0052] Figure 4 It is a flow chart of implementing a reception-focused transmission flow control mechanism of an infinite bandwidth network communication system according to an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0053] 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.
[0054] In the IB network link layer, after the introduction of the ACK / NAK reliable transmission mechanism, when the message is lost and the link is retransmitted, the FCTBS (Flow Control total Blocks Send, the total number of blocks sent since the flow control was initialized) / FCCL (Flow Control Credit Limit, link flow control credit limit) flow control correction synchronization mechanism will cause the following problems:
[0055] First, the specific periodic sending of FCP (Flow Control Packets) results in a bandwidth waste problem due to the mismatch between the actual sending cost of data packets by FCP, FCTBS and the retransmission mechanism. At the same time, link abnormalities lead to packet errors, which in turn cause link retransmissions. The regular update of FCP (including the link's FCTBS) will lead to abnormal flow control in the receiving direction and excessive credit feedback, causing the RX Buffer to overflow and packet loss.
[0056] Secondly, if the link is abnormal or the state jumps to a non-working state, and then when the link jumps from the non-working state back to the normal working state, if the data packet is discarded but the corresponding flow control packet is not discarded, then when the IB's FCBTS is used to update the ABR (Adjusted Blocks Received, total number of received blocks) mechanism, it will cause the VL (Virtual Lane) in the receiving direction to store data packets. The buffer flow control is abnormal and the credit feedback is too large, resulting in RX Buffer overflow and packet loss.
[0057] In order to solve the incompatibility problem between the flow control mechanism of FCTBS updating ABR in the IB network and ACK / NAK, the present application proposes a compatible solution based on two independent mechanisms, ACK / NAK and IB link flow control, and simultaneously applies the retransmission mechanism and the flow control mechanism to solve the coupling problem of the above-mentioned IB network flow control and retransmission, and ensure the reliability and stability of the IB network transmission.
[0058] In the IB network, the credit-based flow control mechanism is responsible for completing the credit update at both ends. The control circuit that implements the flow control mechanism is designed upstream of the retransmission mechanism. The ACK / NAK retransmission mechanism ensures the transmission order, correctness, and retransmission of network data packets sent to obtain credit. The retransmission circuit that implements the retransmission mechanism is designed downstream of the flow control mechanism.
[0059] The solution of the present application is to add a Retry_Credit compatibility mechanism between the flow control mechanism and the retransmission mechanism. In this solution, the sending side detects the sending link state machine and the start and end of retransmission, and completes the management and control of the flow control credit on the sending side. The receiving side initiates and completes the flow control credit management and control in the receiving direction when retransmission is completed. When the receiving side detects an abnormality in the receiving link state machine, or an erroneous CRC or LPSN (Linkpackets sequence number) of a received data packet, a retransmission is initiated, and the FCTBS of the subsequent flow control packets are uniformly discarded until the retransmission is completed.
[0060] For example, Figure 1As shown, the compatibility mechanism principle of the entire physical link of the infinite bandwidth network communication system is described as follows:
[0061] Add a Retry_Credit compatibility mechanism between the flow control mechanism and the retransmission mechanism.
[0062] The Retry_Credit compatible mechanism detects the sending link state machine and retransmission: when it is detected that the sending link state machine enters link_active (normal working state) from link_actdefer (non-working state) or a retransmission request from the receiving side is received, the sending side stops the generation and transmission of flow control packets until the end of retransmission is detected, and then resumes the generation and transmission of flow control packets. The Retry_Credit compatible mechanism detects the receiving link state machine and retransmission: when it is detected that the receiving link state machine enters link_active from link_actdefer, or the CRC error or LPSN error of the received data packet is detected, the receiving side stops the reception of flow control packets and the update of FCTBS, and initiates a retransmission request at the same time, until the end of retransmission is detected, and then resumes the reception of flow control packets and the update of FCTBS. Based on the above analysis, the present application exemplarily proposes an infinite bandwidth network communication system, including: a sending side retransmission flow control circuit; the sending side retransmission flow control circuit includes a sending link state machine monitoring module, a sending side retransmission monitoring module and a sending side flow control module; wherein the sending link state machine monitoring module is used to generate a trigger signal for the start of retransmission of the sending side physical link after monitoring that the sending side physical link recovers 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 sent to 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 turns on the mask mechanism of the flow control packets on the sending side physical link to stop generating and sending flow control packets. Figure 2As shown, exemplarily, the Retry_Credit compatible mechanism of the present application can be implemented by two major parts: a sending-side retransmission flow control circuit and / or a receiving-side retransmission flow control circuit. Therefore, the sending end in the infinite bandwidth network communication system can send a data packet to the receiving end, and the sending end can include a sending-side retransmission flow control circuit in order to implement the sending-side retransmission flow control. Exemplarily, the sending-side retransmission monitoring module parses the sequence number LSPN of the flow control packet to monitor the start and end of the retransmission. After monitoring the retransmission start signal, a first notification signal is sent to the sending-side flow control module, so that the sending-side flow control module prevents the generation of flow control packets sent to the sending-side physical link. The sending-side flow control module uses a mask mechanism to prevent the generation of flow control packets sent to the sending-side physical link. When the sending-side physical link includes multiple virtual channels, the mask mechanism can support the locking and unlocking of a single or multiple virtual channels, that is, the generation and sending of flow control packets can be prevented for one or more of the virtual channels. The mask mechanism can be implemented as a circuit that blocks flow control packets from being sent to the physical link on the sending side. Turning on the mask mechanism can be understood as generating a control signal that controls the operation of the circuit.
[0063] In some optional implementations, the retransmission start signal of the sending side physical link is generated based on a retransmission start trigger signal generated by the sending link state machine monitoring module or a retransmission request received from the receiving end.
[0064] Exemplarily, the retransmission start signal of the physical link on the sending side can be triggered after receiving the retransmission request from the receiving end, or after being triggered by the retransmission start trigger signal generated by the sending link state machine monitoring module in the retransmission flow control circuit on the sending side. If the receiving end has an abnormality in the data packet received from the sending end, such as a CRC error or an LSPN error, it will initiate a retransmission request to the sending end, and if the sending link state machine monitoring module detects that the physical link on the sending side enters 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 sending link state machine monitoring module, the relevant circuit of the sending end will initiate the retransmission process of the data packet and generate a retransmission start signal.
[0065] In some embodiments, the sending side retransmission monitoring module is further used to send a second notification signal to the sending side flow control module to allow the generation of a flow control packet sent to the sending side physical link after monitoring the retransmission end signal of the sending side physical link;
[0066] After receiving the second notification signal, the sending-side flow control module turns off the mask mechanism of the flow control packet on the sending-side physical link.
[0067] Exemplarily, 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, and the sending side flow control module closes the mask mechanism that was previously turned on.
[0068] Below through Figure 3 The detailed process of the retransmission flow control mechanism in the process of sending data packets by the sender is described as follows:
[0069] 1. Monitor the process of sending link state machine:
[0070] Check whether the physical link on the sending side is abnormal and enter link_actdefer.
[0071] Check whether the physical link on the sending side enters link_active from link_actdefer.
[0072] If link_actdefer enters link_active, the trigger signal NAK for the start of retransmission is actively triggered.
[0073] 2. Retransmission process on the sending side:
[0074] The sending side detects the trigger signal NAK for the start of retransmission;
[0075] If NAK is detected, the sending end link_tx initiates retransmission of the retry_buffer (that is, initiates retransmission of the data packet in the retransmission buffer), records the retry_lpsn that initiates the retransmission (that is, the sequence number of the data packet to be retransmitted), and sets the signal of the virtual channel corresponding to the retransmission start in the retransmission start signal retry_stop_fce_send to a high level (that is, generates a retransmission start signal). After the sending side flow control module detects the 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 packet at the exit, and beats it to NTSDLY, that is, the sequence number of the previous data packet plus 1. retry_NTS is the sequence number of the data packet that the sending side is currently sending. If the sequence number of the data packet of the retransmission request received by the sending side is retry_lpsn, the sending side will resend from the data packet with the sequence number retry_lpsn. The sequence number of the resent data packet is LSPN. For example: If the sequence number LPSN of the data packet sent by the sending side is 1, 2, 3, 4, 5...10, and when sending a data packet with LPSN=5, the other end feedbacks that there is a problem with data packet 1 and needs to be retransmitted, that is, it receives a retransmission request for data packet 1, at this time retry_lpsn=1, retry_NTS=5. At this time, retransmission starts, and the corresponding virtual channel VL is locked. After the retransmission starts, the sequence number LPSN of the data packet retransmitted by the sending side is 1, 2, 3, 4, 5...10, retry_lpsn = 1, and retry_NTS changes to 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7...10. If retry_NTS is equal to the sequence number retry_lpsn of the data packet that initiated the retransmission, the following three branches ac are entered:
[0077] a. The retransmission counter is started. If all virtual channels are unlocked, the counter is cleared. If the counter times out, an interrupt is reported and unlocked by software, and then step d is entered;
[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 egress. At the same time, retry_stop_fce_send[n] is set to a low level to unlock the corresponding virtual channel VL[n], that is, to close the mask mechanism corresponding to the virtual channel;
[0079] c. The sending side uses the modulus judgment to select the larger value of NTS_DLY and retry_lpsn as retry_lpsn_lock: if (NTSDLY-retry_lpsn) mod 4096<=2048, retry_lpsn_lock takes NTS_DLY, otherwise retry_lpsn_lock takes retry_lpsn.
[0080] After steps b and c are executed, determine whether retry_NTS is equal to retry_lpsn_lock. If so, go to step d.
[0081] d. After the retransmission is completed and retry_stop_fce_send is set to a low level (i.e., a retransmission end signal is generated), all unlocked virtual channels are unlocked.
[0082] In some optional implementations, the receiving end in the infinite bandwidth network communication system is used to receive data packets from the transmitting end. Therefore, in order to realize the function of the receiving end, the infinite bandwidth network communication system also includes: a receiving side retransmission flow control circuit; the receiving side retransmission flow control circuit includes a receiving link state machine monitoring module, a receiving side retransmission monitoring module and a receiving side flow control module; wherein,
[0083] The receiving link state machine monitoring module is used to generate a trigger signal for starting retransmission of the receiving side physical link after monitoring that a received data packet is abnormal, and after monitoring that the receiving side physical link enters a normal working state from a non-working state, if a flow control packet arrives before a data packet, send a third notification signal to the receiving side flow control control module to prevent the flow control packet from being received from the receiving side physical link;
[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 flow control packet from being received 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 starts the mask mechanism of the flow control packet on the receiving-side physical link to discard the flow control packet received from the receiving-side physical link.
[0086] Exemplarily, the transmission-side retransmission flow control circuit and the reception-side retransmission flow control circuit can be set on the same device of the infinite bandwidth network communication system, or on different devices. By setting the transmission-side retransmission flow control circuit and the reception-side retransmission flow control circuit on the same device at the same time, the device can have both the function of a transmitter and the function of a receiver. If the device only sets the transmission-side retransmission flow control circuit, the device only has the function of a transmitter. If the device only sets the reception-side retransmission flow control circuit, the device only has the function of a receiver. In this regard, the present disclosure does not make specific restrictions, and it can be set according to actual needs. In the wireless bandwidth communication network system, two devices respectively set with a transmission-side retransmission flow control circuit and a reception-side retransmission flow control circuit can be used as a transmitter and a receiver for data communication respectively.
[0087] Exemplarily, after the retransmission monitoring module on the receiving side monitors the retransmission start signal, it sends a third notification signal to the flow control module on the receiving side. After the receiving link state machine monitoring module monitors that the physical link on the receiving side enters 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 flow control module on the receiving side, so that the flow control module on the receiving side prevents the flow control packet from being received from the physical link on the receiving side. The flow control module on the receiving side also prevents the flow control packet from being received through a mask mechanism. The flow control module on the receiving side can support the opening and closing of a single or multiple virtual channels on the physical link on the receiving side through a mask mechanism. If the mask for one or some virtual channels is turned on, the virtual channel can be controlled to discard the received flow control packets. If the mask is turned off, the virtual channel can be controlled to receive the flow control packets.
[0088] In some optional implementations, the receiving link state machine monitoring module is used to determine that there is an abnormality in the received data packet when it monitors that the detection code and / or sequence number of the received data packet is wrong, thereby generating a trigger signal for starting retransmission of the receiving side physical link.
[0089] Exemplarily, after receiving a data packet from the receiving side physical link, the receiving end verifies the CRC detection code and LSPN sequence number of the received data packet. If at least one of the detection code and the sequence number is wrong, it means that the received data packet is abnormal, so a trigger signal for the retransmission start of the receiving side physical link is generated to trigger the receiving side physical link to re-receive the abnormal received data packet. The trigger signal causes the relevant circuit of the receiving end to send a retransmission request to the sending end, and the relevant circuit of the receiving end generates a retransmission start signal. After the retransmission start signal is captured by the receiving side retransmission monitoring module, a third notification signal is sent to the receiving side flow control module.
[0090] In some optional implementations, the retransmission start signal of the receiving side physical link is generated based on a retransmission start trigger signal generated by the receiving link state machine monitoring module.
[0091] Exemplarily, 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 receiving end receives an abnormal data packet from the sending end, such as a CRC error or an LSPN error, it will initiate a retransmission request to the sending end, and will also 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, after monitoring a retransmission end signal of the receiving-side physical link, send a fourth notification signal to the receiving-side flow control module to allow receiving a flow control packet from the receiving-side physical link;
[0093] After receiving the fourth notification signal, the receiving-side flow control module turns off the mask mechanism of the flow control packet on the receiving-side physical link.
[0094] Exemplarily, after the sending end completes the retransmission of the data packet, it triggers the relevant circuit of the receiving end to generate a retransmission end signal. After the retransmission monitoring module on the receiving side captures the retransmission end signal, it sends a fourth notification signal to the flow control module on the receiving side, so that the flow control module on the receiving side allows the subsequent flow control packets to be received from the physical link on the receiving side, and the flow control module on the receiving side then turns off the mask mechanism that was previously turned on.
[0095] Below through Figure 4 The following is an example of the detailed process of the retransmission flow control mechanism during the process of receiving data packets at the receiving end:
[0096] 1. The state machine process of monitoring the physical link on the receiving side:
[0097] Check whether the physical link on the receiving side is abnormal and enter link_actdefer.
[0098] Check whether the physical link on the receiving side enters link_active from link_actdefer.
[0099] If link_active is entered from link_actdefer, the flow control packet that arrives before the data packet is detected and discarded.
[0100] 2. The process of retransmitting data packets at the receiving end:
[0101] The receiving end detects whether the receiving side physical link receives bad packets with CRC or LPSN errors;
[0102] If a bad packet with CRC or LPSN error is received, a retransmission start trigger signal NAK is generated to request retransmission, and the sequence number retry_lpsn of the packet initiating retransmission is recorded, and the level corresponding to the corresponding virtual channel in retry_stop_fcp_receive is set to a high level (i.e., a retransmission start signal is generated). At the same time, after the receiving side retransmission flow control circuit detects the high level signal in retry_stop_fcp_receive, it blocks the corresponding virtual channel from receiving flow control packets and updating FCTBS; while for the virtual channel corresponding to the low level in retry_stop_fcp_receive, it is allowed to receive flow control packets and update FCTBS.
[0103] The receiving side also parses the sequence number retry_NTS of the data packet at the ingress and beats 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, enter the following three branches ac:
[0105] a. The retransmission counter is started. If all virtual channels are unlocked, the counter is cleared. If the counter times out, an interrupt is reported and unlocked by software, and then step d is entered;
[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, and set retry_stop_fce_receive[n] to a low level (indicating that the data packet retransmission of the virtual channel VL[n] has ended) to unlock the corresponding VL[n] virtual channel, that is, to close the mask mechanism corresponding to the virtual channel;
[0107] c. The receiving side uses the modulus judgment to select the larger value of NTS_DLY and retry_lpsn as retry_lpsn_lock: if (NTSDLY-retry_lpsn) mod 4096≤2048, retry_lpsn_lock takes NTS_DLY, otherwise retry_lpsn_lock takes retry_lpsn.
[0108] After steps b and c are executed, it is determined whether retry_lpsn_lock is equal to the sequence number retry_NTS of the data packet currently to be sent at the data exit. If yes, it goes to step d. Otherwise, it returns to step b and continues to retransmit the next data packet.
[0109] d. After the retransmission is completed and retry_stop_fce_receive is set to a low level, all unlocked virtual channels are unlocked.
[0110] The above-mentioned infinite bandwidth network communication system proposed in this application has the following advantages:
[0111] 1. Compatible with the credit limit-based flow control mechanism of the IB network link.
[0112] 2. Compatible with the ACK / NAK retransmission mechanism of the IB network link.
[0113] 3. Solved the scenario where the flow control FCTBS credit was abnormal due to retransmission on the IB network link, resulting in secondary packet loss.
[0114] 4. Solved the problem of abnormal flow control on the IB network link, which occurred after the physical link abnormally entered link_actdefer and then returned to link_active.
[0115] 5. The Retry_Credit compatible solution also supports the processing of flow control and retransmission mechanisms for single or multiple virtual channels.
[0116] 6. The retransmission process stops the invalid generation of flow control packets, reducing the link bandwidth occupied by flow control packets.
[0117] Accordingly, the present application also exemplarily provides an infinite bandwidth network communication method, including:
[0118] The transmission link state machine monitoring module generates a trigger signal for starting retransmission of the transmission side physical link after monitoring that the transmission side physical link recovers from the non-working state to the normal working state;
[0119] After the retransmission monitoring module on the sending side monitors the retransmission start signal of the physical link on the sending side, the retransmission monitoring module on the sending side sends a first notification signal to prevent the generation of a flow control packet sent to the physical link on the sending side to the flow control module on the sending side;
[0120] After receiving the first notification signal, the flow control module on the sending side starts the mask mechanism of the flow control packet on the physical link on the sending side to stop generating and sending the flow control packet.
[0121] In some optional implementations, the method further includes:
[0122] In response to the retransmission start trigger signal generated by the transmission link state machine monitoring module or the retransmission request received from the receiving end, a retransmission start signal of the transmission side physical link is generated.
[0123] In some optional implementations, the method further includes:
[0124] The sending-side retransmission monitoring module also sends a second notification signal to the sending-side flow control module to allow generation of a flow control packet to the sending-side physical link after monitoring the retransmission end signal of the sending-side physical link;
[0125] After receiving the second notification signal, the sending side flow control module turns off the mask mechanism of the flow control packet on the sending side physical link.
[0126] In some optional implementations, the method further includes:
[0127] After monitoring that there is an abnormality in the received data packet, the receiving link state machine monitoring module generates a trigger signal for starting retransmission of the physical link on the receiving side. After monitoring that the physical link on the receiving side enters a normal working state from a non-working state, if the flow control packet arrives before the data packet, a third notification signal is sent to the flow control control module on the receiving side to prevent the flow control packet from being received from the physical link on the receiving side.
[0128] After monitoring the retransmission start signal of the receiving side physical link, the receiving side retransmission monitoring module sends a third notification signal to the receiving side flow control control module to prevent the flow control packet from being received from the receiving side physical link;
[0129] After receiving the third notification signal, the receiving-side flow control module starts the mask mechanism of the flow control packet on the receiving-side physical link to discard the flow control packet received from the receiving-side physical link.
[0130] In some optional implementations, the receiving link state machine monitoring module generates a trigger signal for starting retransmission of the receiving side physical link after monitoring that the received data packet is abnormal, including:
[0131] When the receiving link state machine monitoring module monitors that the detection code and / or sequence number of the received data packet is wrong, it determines that the received data packet is abnormal, thereby generating a trigger signal for starting retransmission of the receiving side physical link.
[0132] In some optional 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 of the receiving side physical link is generated.
[0134] In some optional implementations, the method further includes:
[0135] The receiving-side retransmission monitoring module is further configured to, after monitoring a retransmission end signal of the receiving-side physical link, send a fourth notification signal to the receiving-side flow control module to allow receiving a flow control packet from the receiving-side physical link;
[0136] After receiving the fourth notification signal, the receiving-side flow control module turns off the mask mechanism of the flow control packet on the receiving-side physical link.
[0137] The above method can be implemented by the infinite bandwidth network communication system described in the corresponding embodiments above. For specific details, please refer to the description of the relevant embodiments of the infinite 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 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.
[0139] 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. An infinite bandwidth network communication system, characterized in that: include: The sending side retransmission flow control circuit comprises a sending link state machine monitoring module, a sending side retransmission monitoring module and a sending side flow control module; wherein, The transmission link state machine monitoring module is used to generate a trigger signal for starting retransmission of the transmission side physical link after monitoring that the transmission side physical link recovers 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 a flow control packet sent to the sending-side physical link after monitoring the retransmission start signal of the sending-side physical link; After receiving the first notification signal, the flow control module on the sending side starts the mask mechanism of the flow control packet on the physical link on the sending side to stop generating and sending the flow control packet.
2. The infinite bandwidth network communication system according to claim 1, characterized in that: The retransmission start signal of the sending side physical link is generated based on the retransmission start trigger signal generated by the sending link state machine monitoring module or the retransmission request received from the receiving end.
3. The infinite bandwidth network communication system according to claim 1, characterized in that: The sending-side retransmission monitoring module is further configured to, after monitoring a retransmission end signal of the sending-side physical link, send a second notification signal to the sending-side flow control module to allow generation of a flow control packet to the sending-side physical link; After receiving the second notification signal, the sending side flow control module turns off the mask mechanism of the flow control packet on the sending side physical link.
4. The infinite bandwidth network communication system according to any one of claims 1 to 3, characterized in that: Also includes: The receiving side retransmission flow control circuit comprises a receiving link state machine monitoring module, a receiving side retransmission monitoring module and a receiving side flow control module; wherein, The receiving link state machine monitoring module is used to generate a trigger signal for starting retransmission of the receiving side physical link after monitoring that a received data packet is abnormal, and after monitoring that the receiving side physical link enters a normal working state from a non-working state, if a flow control packet arrives before a data packet, send a third notification signal to the receiving side flow control control module to prevent the flow control packet from being received from the receiving side physical link; The receiving-side retransmission monitoring module is used to send a third notification signal to the receiving-side flow control module to prevent the flow control packet from being received 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 starts the mask mechanism of the flow control packet on the receiving-side physical link to discard the flow control packet received from the receiving-side physical link.
5. The infinite 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 the detection code and / or sequence number of the received data packet is monitored to be wrong, thereby generating a trigger signal for starting retransmission of the receiving side physical link.
6. The infinite bandwidth network communication system according to claim 4, characterized in that: The retransmission start signal of the receiving side physical link is generated based on the retransmission start trigger signal generated by the receiving link state machine monitoring module.
7. The infinite bandwidth network communication system according to claim 4, characterized in that: The receiving-side retransmission monitoring module is further configured to, after monitoring a retransmission end signal of the receiving-side physical link, send a fourth notification signal to the receiving-side flow control module to allow receiving a flow control packet from the receiving-side physical link; After receiving the fourth notification signal, the receiving-side flow control module turns off the mask mechanism of the flow control packet on the receiving-side physical link.
8. A method for communicating over an unlimited bandwidth network, characterized in that: include: The transmission link state machine monitoring module generates a trigger signal for starting retransmission of the transmission side physical link after monitoring that the transmission side physical link recovers from the non-working state to the normal working state; After the retransmission monitoring module on the sending side monitors the retransmission start signal of the physical link on the sending side, the retransmission monitoring module on the sending side sends a first notification signal to prevent the generation of a flow control packet sent to the physical link on the sending side to the flow control module on the sending side; After receiving the first notification signal, the flow control module on the sending side starts the mask mechanism of the flow control packet on the physical link on the sending side to stop generating and sending the flow control packet.
9. The infinite bandwidth network communication method according to claim 8, characterized in that: The method further comprises: In response to the retransmission start trigger signal generated by the transmission link state machine monitoring module or the retransmission request received from the receiving end, a retransmission start signal of the transmission side physical link is generated.
10. The infinite bandwidth network communication method according to claim 8, characterized in that: The method further comprises: The sending-side retransmission monitoring module also sends a second notification signal to the sending-side flow control module to allow generation of a flow control packet to the sending-side physical link after monitoring the retransmission end signal of the sending-side physical link; After receiving the second notification signal, the sending side flow control module turns off the mask mechanism of the flow control packet on the sending side physical link.
11. The infinite bandwidth network communication method according to any one of claims 8 to 10, characterized in that: The method further comprises: The receiving link state machine monitoring module generates a trigger signal for starting retransmission of the receiving side physical link after monitoring that the received data packet is abnormal, and after monitoring that the receiving side physical link enters a normal working state from a non-working state, if the flow control packet arrives before the data packet, sends a third notification signal to the receiving side flow control control module to prevent the flow control packet from being received from the receiving side physical link; After monitoring the retransmission start signal of the receiving side physical link, the receiving side retransmission monitoring module sends a third notification signal to the receiving side flow control control module to prevent the flow control packet from being received from the receiving side physical link; After receiving the third notification signal, the receiving-side flow control module starts the mask mechanism of the flow control packet on the receiving-side physical link to discard the flow control packet received from the receiving-side physical link.
12. The infinite bandwidth network communication method according to claim 11, characterized in that: The receiving link state machine monitoring module generates a trigger signal for starting retransmission of the receiving side physical link after monitoring that the received data packet is abnormal, including: When the receiving link state machine monitoring module monitors that the detection code and / or sequence number of the received data packet is wrong, it determines that the received data packet is abnormal, thereby generating a trigger signal for starting retransmission of the receiving side physical link.
13. The infinite bandwidth network communication method according to claim 11, characterized in that: The method further comprises: In response to the retransmission start trigger signal generated by the receiving link state machine monitoring module, a retransmission start signal of the receiving side physical link is generated.
14. The infinite bandwidth network communication method according to claim 11, characterized in that: The method further comprises: The receiving-side retransmission monitoring module also sends a fourth notification signal to the receiving-side flow control module to allow receiving flow control packets from the receiving-side physical link after monitoring the retransmission end signal of the receiving-side physical link; After receiving the fourth notification signal, the receiving-side flow control module turns off the mask mechanism of the flow control packet on the receiving-side physical link.
Citation Information
Patent Citations
A traffic control method and communication device
CN101018205A
Flow control with reduced buffer usage for network devices
CN104243346A
Lossless and efficient RDMA (Remote Direct Memory Access) transmission method
CN114866476A
Ethernet link control device and storage medium
CN116032421A
Remote direct memory access network congestion identification and control method and device
CN118118421A
