Non-retransmission control method and device, communication system and readable storage medium
By setting a non-retransmission function control register in the RapidIO receiver device, and selectively returning the control character PA according to the error type, the link congestion problem on the VCO channel is solved, achieving efficient data transmission and system stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-16
- Publication Date
- 2026-03-13
AI Technical Summary
The existing RapidIO protocol lacks a selective non-retransmission control mechanism on the VCO channel, which makes it difficult to balance link congestion and data integrity in high-traffic scenarios, thus failing to effectively reduce link congestion and affecting system reliability.
In the RapidIO receiver device, a non-retransmission function control register is set. By caching the non-retransmission enable flag and the CRC non-retransmission enable flag, the control character PA is selectively returned according to the error type, replacing PR or PNA, to avoid retransmission. The target message is discarded at the receiver to maintain the normal state of the receiver port.
Reduce unnecessary retransmissions of link bandwidth, lower the risk of link congestion, improve system stability and data reliability, adapt to the transmission needs of different service types, and balance link efficiency and reliability.
Smart Images

Figure CN121664756A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of serial communication protocols, and in particular relates to a non-retransmission control method, apparatus, communication system, and readable storage medium. Background Technology
[0002] RapidIO, a high-speed interconnect protocol for embedded systems, data centers, and high-performance computing environments, typically transmits control and service messages between switching devices and endpoint devices via serial or parallel RapidIO links. To ensure data reliability, existing RapidIO protocols, when the receiving end detects an insufficient receive buffer error or a CRC (Cyclic Redundancy Check) error, usually trigger the sending end to retransmit the corresponding message by returning control characters such as PR (Packet-Retry) or PNA (Packet-Not-Accepted). If necessary, the receiving port enters a retransmission stop state or an error stop state to wait for error recovery.
[0003] In high-traffic scenarios or multi-node cascaded networking scenarios, the message arrival rate on RapidIO links is high, while the receiver's buffer resources are limited. When some messages arrive and the receiver buffer is insufficient, the receiver will frequently return PR control characters to request retransmission. If the message also contains a CRC error, it will trigger PNA control characters and the corresponding error handling process. For these problematic messages, the sender will attempt to retransmit the same message multiple times according to the protocol, repeatedly occupying link bandwidth and receiver buffers, further congesting the already strained link, and even causing the receiver port to be in a retransmission stop state or error stop state for a long time. Upstream devices are continuously subjected to back pressure, which in severe cases can affect the normal business processing of DSP, CPU and other processing boards.
[0004] To alleviate the problem of repeated retransmissions, existing protocols have introduced CT (continuous traffic) mode on some virtual channels. This mode relaxes retransmission control to avoid multiple retransmissions of certain packets. However, this mode typically requires both connected devices to support multiple virtual channels and only works on specific virtual channels such as VC1 to VC8, not on the default VC0 channel. In many practical systems, control messages or important service messages are still mainly transmitted through the VC0 channel, and existing CT-based solutions cannot be directly applied to the VC0 channel. In addition, existing RapidIO devices generally lack the ability to differentiate between "single error scenarios" and "multiple error scenarios," and cannot flexibly choose whether to skip retransmissions for different error types such as insufficient receive buffer errors and CRC errors. They also lack mechanisms for fine-grained configuration of non-retransmission policies by port or channel, making it difficult to effectively reduce link congestion while simultaneously ensuring data integrity and system reliability.
[0005] In summary, existing RapidIO receivers still primarily rely on the standard PR / PNA retransmission mechanism on the VCO channel. There is a lack of a technical solution that allows for selective non-retransmission control of specific error messages through receiver logic modifications without altering the sender's protocol behavior and physical layer. Summary of the Invention
[0006] In view of this, the present invention aims to provide a non-retransmission control method, apparatus, communication system, and readable storage medium to at least solve one of the problems in the background art.
[0007] To achieve the above objectives, the technical solution of the present invention is implemented as follows: Firstly, this solution discloses a non-retransmission control method, which is executed at the receive port of the RapidIO receiving device, including: A non-retransmission function control register is set in the receiving device. The non-retransmission function control register includes: a buffer non-retransmission enable flag for indicating whether non-retransmission processing is used when the receiving buffer is insufficient, and a CRC non-retransmission enable flag for indicating whether non-retransmission processing is used when a CRC error is detected, wherein CRC is Cyclic Redundancy Check. When a target message is received from the RapidIO sending device via the VC0 channel, the following is executed in the receiving device: When the judgment result is that there is only a receive buffer shortage error, and the buffer non-retransmission enable flag is enabled, and there are no other errors besides the receive buffer shortage error, the control character processing unit sends the message receive acknowledgment control character PA defined in the RapidIO protocol to the sending device, replacing the control character PR used to request retransmission. The receiving end discards the target message and keeps the receiving port from entering the retransmission stop state caused by insufficient buffer. When the judgment result is that only a CRC error exists, and the CRC non-retransmission enable flag is enabled, and there are no other errors besides the CRC error, the control character processing unit sends the control character PA to the sending device to replace the control character PNA used to request retransmission. The receiving end discards the target message and keeps the receiving port from entering the error stop state caused by the CRC error. In the sending device, according to the standard sending logic specified by the RapidIO protocol, the acknowledgment identifier ackID corresponding to the target message is processed based on the control character PA returned by the receiving end, the ackID is incremented, and subsequent messages are sent based on the incremented ackID.
[0008] Furthermore, the cache management module is used to detect the cache status at the receiving end to determine whether there is an insufficient receiving cache error; The target message is subjected to CRC verification using a CRC check module to determine whether a CRC error exists. When the target message contains both an insufficient receive buffer error and a CRC error: When the buffer non-retransmission enable flag is enabled and the CRC non-retransmission enable flag is disabled, the control character processing unit sends a control character PNA to the sending device to request the retransmission of the target packet and performs error handling according to the standard RapidIO protocol process. When the buffer non-retransmission enable flag is off and the CRC non-retransmission enable flag is enabled, the control character processing unit sends a control character PR or PNA to the sending device to request the retransmission of the target packet.
[0009] Furthermore, when the target message has both a receive buffer shortage error and a CRC error, and both the buffer non-retransmission enable flag and the CRC non-retransmission enable flag are enabled, the control character processing unit only sends the control character PA to the sending device once, without sending the control character PR or PNA. The target message is discarded at the receiving end, and the receiving port is kept from entering the retransmission stop state and the error stop state.
[0010] Furthermore, error detection logic is used to determine whether there is at least one other error among the following: acknowledgment ID error, message length error, port not enabled state; When the error detection logic detects at least one of the following errors: acknowledgment ID error, message length error, or port not enabled, the non-retransmission function is ineffective. The control character processing unit sends a control character PR or PNA to the sending device according to the specific error type, and performs retransmission control and receive port state switching on the target message according to the standard RapidIO protocol procedure.
[0011] Furthermore, the non-retransmission function control register is configured according to the receiving port or the VCO channel. The buffer non-retransmission enable flag and the CRC non-retransmission enable flag are written to the management processor or software driver to establish the non-retransmission working mode on different ports or different VCO channels.
[0012] Furthermore, the receiving device maintains a message retry threshold counter. When the control character processing unit sends the control character PR or PNA, it counts the retry count of the corresponding message. When the retry count of a message reaches a preset threshold, port protection processing or alarm processing is triggered. When the control character processing unit sends the control character PA and discards the target message, it does not count the retry count of the target message.
[0013] Furthermore, the VCO channel is a serial RapidIO link or a parallel RapidIO link, and the method only modifies the receiving end logic, without modifying the transmitting end logic and physical coding layer of the RapidIO protocol.
[0014] Furthermore, a non-retransmission function control register is enabled on the link between the RapidIO switching device and the RapidIO endpoint or bridge chip on the data target board. When the switching device acts as a receiving device, it sends a control character PA and discards the corresponding message when it detects an insufficient receive buffer error or CRC error that meets the non-retransmission condition. This avoids the switching device being in a continuous backpressure state due to the target board continuously returning control characters PR or PNA.
[0015] Secondly, this solution discloses a retransmission control device applicable to the VCO channel of both serial RapidIO and parallel RapidIO protocol devices, which is installed in the RapidIO receiving device and includes: The non-retransmission function control register module is used to store the cache non-retransmission enable flag and the CRC non-retransmission enable flag. The cache management module is used to detect the cache status of the receiving end and output the detection result indicating whether there is an insufficient receiving cache error; The CRC check module is used to perform CRC checks on target messages received through the VCO channel and output the detection result indicating whether a CRC error exists. The error detection module is used to detect errors in the acknowledgment ID (ackID), message length errors, and port disable states, and output the corresponding error detection results. The control character processing unit is used to generate and send control characters PA, PR or PNA based on the detection results of the cache management module, the detection results of the CRC check module, the detection results of the error detection module, and the cache non-retransmission enable flag and CRC non-retransmission enable flag in the non-retransmission function control register module, and to control whether to discard the target packet at the receiving end and whether to switch the error handling state of the receiving port. The control character processing unit is configured as follows: When only a receive buffer shortage error is detected, and the buffer non-retransmission enable flag is enabled, and no other errors are detected, control character PA is generated to replace control character PR and the target message is discarded, while the receive port remains in normal receiving state. When only a CRC error is detected, and the CRC non-retransmission enable flag is enabled, and no other errors are detected, a control character PA is generated to replace the control character PNA, and the target message is discarded, while the receiving port remains in normal receiving state.
[0016] Furthermore, when both the cache management module and the CRC check module output detection results indicating an insufficient receive cache error and a CRC error: When the only buffer non-retransmission enable flag is enabled, the control character processing unit generates the control character PNA; When only the CRC non-retransmission enable flag is enabled, the control character processing unit generates control characters PR or PNA. When both the buffer non-retransmission enable flag and the CRC non-retransmission enable flag are enabled, the control character processing unit generates a control character PA and discards the target message.
[0017] Furthermore, the non-retransmission function control register module supports independent configuration of the buffer non-retransmission enable flag and the CRC non-retransmission enable flag by receiver port or by VCO channel; the device is applicable to RapidIO switching devices or RapidIO endpoint devices, and the VCO channel can be a serial RapidIO link or a parallel RapidIO link.
[0018] Thirdly, this solution discloses a RapidIO communication system, including at least one RapidIO transmitting device and at least one RapidIO receiving device. The RapidIO receiving device includes a retransmission control device. The RapidIO transmitting device performs acknowledgment identifier ackID update and message retransmission control according to the transmission logic specified by the RapidIO protocol and the control symbol PA, PR or PNA returned by the RapidIO receiving device.
[0019] Fourthly, this solution discloses a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the processor performs the steps of the method described thereon.
[0020] Compared with existing technologies, the non-retransmission control method described in this invention has the following advantages: (1) In this invention, a buffer non-retransmission enable flag and a CRC non-retransmission enable flag are set at the receiving end. When only a receive buffer insufficient error or only a CRC error exists, and the corresponding non-retransmission function is enabled and there are no other errors, the control character processing unit returns a message reception acknowledgment control character PA, replacing the original PR or PNA control character, and the target message is discarded at the receiving end. The sending end treats the message as acknowledged according to the standard RapidIO sending logic, increments the acknowledgment flag ackID, and continues to send subsequent messages. In this way, repeated retransmission of problematic messages is avoided in a single error scenario, reducing the number of round trips of the same message on the link, thereby reducing the proportion of link bandwidth occupied by invalid retransmissions; (2) When performing non-retransmission processing, this invention explicitly prevents the receiving port from entering a retransmission stop state due to insufficient buffer or an error stop state due to CRC error. The receiving end simply discards the target packet locally and continues to receive subsequent packets. This avoids the receiving port from stopping receiving for a long time due to a single or a small number of problematic packets, causing continuous back pressure on upstream devices, reducing the risk of congestion spreading from downstream links to upstream links, and helping to maintain the continuous transmission capability of the overall link, thereby improving the stability of the system in high-traffic scenarios. (3) This invention uses an error detection module to detect other errors such as ackID errors, message length errors, and port disable states. The control logic limits the non-retransmission function to only take effect when a message triggers either an insufficient receive buffer error or a CRC error, and no other errors are detected. When the same message triggers both an insufficient receive buffer and a CRC error, or is accompanied by other errors such as ackID errors, message length errors, and port disable states, the receiving end returns a PR or PNA control character according to the configuration and fully complies with the retransmission and state machine processing flow of the standard RapidIO protocol. By differentiating between single error scenarios and multiple error scenarios, this invention reduces unnecessary retransmissions while maintaining a strict retransmission and error handling mechanism for complex or serious errors, thus balancing link efficiency and data reliability. (4) The non-retransmission function control register of the present invention supports configuring the buffer non-retransmission enable flag and the CRC non-retransmission enable flag at the granularity of the receiving port or VCO channel respectively. The system can enable the non-retransmission function on some ports or some VCO channels according to the service type and latency requirements carried by different ports, and maintain the standard retransmission mechanism on other ports or channels, thereby realizing a more granular policy deployment and adapting to various application scenarios such as control messages, real-time service messages and messages with high reliability requirements; (5) The present invention maintains a message retry threshold counter at the receiving end. The retry count for the corresponding message is only counted when the receiving end sends the control character PR or PNA. For messages that send the PA control character through non-retransmission logic and are then discarded, the retry count is not counted. This design makes the retry threshold more useful for reflecting abnormal message situations that truly need to be retransmitted, avoiding the use of retry count budget for messages with low timeliness and no need for retransmission, thereby improving the accuracy of the threshold counting mechanism in indicating link anomalies and the effectiveness of protection actions. (6) The non-retransmission control method and apparatus of the present invention only extend the receive port control logic of the RapidIO receiver device, adding a non-retransmission function control register module and related detection and processing logic. The sender maintains the standard RapidIO protocol line, and the processing logic for control characters PA, PR, PNA and ackID does not need to be modified. The physical coding layer also does not need to be adjusted. Furthermore, the solution of the present invention is applicable to both serial RapidIO links and parallel RapidIO links, so it can be easily deployed in existing RapidIO switching equipment and endpoint devices, and has good protocol compatibility and engineering feasibility. Attached Figure Description
[0021] The accompanying drawings, which form part of this invention, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an undue limitation of the invention. In the drawings: Figure 1 This is a logic diagram illustrating an embodiment of the present invention; Figure 2 This is a schematic diagram of an application scenario of the non-retransmission function described in an embodiment of the present invention; Figure 3 This is a schematic diagram of the second application scenario of the non-retransmission function described in this embodiment of the invention; Figure 4 This is a schematic diagram illustrating the retry non-retransmission enabled on the receiving side according to an embodiment of the present invention; Figure 5 This is a schematic diagram illustrating the enabling of Bad CRC non-retransmission on the receiving side according to an embodiment of the present invention. Detailed Implementation
[0022] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.
[0023] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Furthermore, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of this invention, unless otherwise stated, "a plurality of" means two or more.
[0024] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art will understand the specific meaning of the above terms in this invention based on the specific circumstances.
[0025] It should be noted that the embodiments of the present invention are not limited to the examples below. For those skilled in the art, several substitutions and improvements can be made without departing from the concept of the present invention, and all of these should fall within the protection scope of the present invention.
[0026] Example 1: Overall Architecture of Non-Retransmission Control Method This embodiment provides a non-retransmission control method applicable to the field of high-speed serial communication protocols, especially suitable for devices using RapidIO interconnect architecture in embedded systems, data centers, and high-performance computing environments, for implementing non-retransmission processing of specific error messages on the VCO channel.
[0027] In typical application scenarios, RapidIO switching devices (e.g., using switching chips from certain vendors) are connected to RapidIO endpoints or bridge chips on the data target board via serial RapidIO or parallel RapidIO links. The receive ports of the switching devices or endpoint devices typically support multiple virtual channels VC0 to VCn, where VC0 is the default control and service channel.
[0028] The existing RapidIO protocol supports CT (continuous traffic) mode in VC1 to VC8 to avoid repeatedly retransmitting the same message in specific scenarios. However, this requires both connected devices to support multiple virtual channels, and this mode cannot be applied to VC0 channels. In actual networks, a large number of control messages or critical business messages are still transmitted through VC0 channels. In high-traffic scenarios, retransmission mechanisms triggered by insufficient receive buffers or CRC (Cyclic Redundancy Check) errors (e.g., through control characters PR (Packet-Retry) or PNA (Packet-Not-Accepted)) can easily cause link congestion, increased latency, or even congestion propagation.
[0029] To address the aforementioned issues, this embodiment introduces non-retransmission control logic at the receive port of the RapidIO receiver device. Without modifying the sender logic and physical layer encoding, it enables selective non-retransmission processing of specific error messages in the VCO channel, thereby achieving an effect similar to CT mode in VCO.
[0030] Example 2: Non-retransmission function control register and basic data path In the RapidIO receiver device, a non-retransmission function control register is configured. This register can be configured by receiver port or by VCO channel, and preferably includes the following fields: Non-retransmission flag: Used to indicate whether non-retransmission processing is used when an insufficient receive buffer error is detected; CRC Non-Retransmission Enable Flag: Used to indicate whether non-retransmission processing is used when a CRC error is detected.
[0031] The aforementioned registers can be configured by the management processor or software driver through register write operations, allowing for the selection of enabling or disabling of the corresponding non-retransmission function for different ports, different VCO channels, or different business scenarios.
[0032] Regarding the data plane, this embodiment includes the following modules in the receiving device: 1. Cache Management Module: Used to monitor the occupancy of the receiving end's buffer and output the detection results of whether there is an insufficient receiving buffer error; 2. CRC check module: Used to perform CRC check on the target message received through the VCO channel and output the detection result of whether there is a CRC error; 3. Error Detection Module: Used to detect errors such as incorrect acknowledgment ID (ackID), incorrect message length, and port not enabled, and output the corresponding error detection results; 4. Control character processing unit: It integrates the outputs of the buffer management module, CRC check module, error detection module and non-retransmission function control register, generates and sends the control characters PA, PR or PNA defined in the RapidIO protocol, controls whether to discard the target message at the receiving end and whether to switch the error handling state of the receiving port.
[0033] The sending device maintains the standard RapidIO protocol behavior without requiring additional logic. After the sending end completes the acknowledgment processing based on the control character PA returned by the receiving end, it treats the acknowledgment identifier ackID corresponding to the target message as acknowledged, increments the ackID internally, and sends subsequent messages with the incremented ackID.
[0034] Example 3: Non-retransmission processing flow under a single error scenario This embodiment describes a non-retransmission processing procedure under a single error scenario. The specific method includes the following steps: Step S101: Register Configuration During system initialization or service switching, the management processor configures the non-retransmission function control register, setting the enabling status of the buffer non-retransmission enable flag and the CRC non-retransmission enable flag respectively. For example, for services with high timeliness requirements, buffer non-retransmission and CRC non-retransmission can be enabled; for services that need to ensure data integrity, the corresponding flags can be disabled.
[0035] Step S102: Receive target message When a target message is received from the RapidIO sending device through the VC0 channel, the receiving end first sends the message to the buffer management module and the CRC check module for detection.
[0036] Step S103: Detection of insufficient cache error The cache management module detects the remaining space in the current receive cache. When it determines that there is not enough cache resources to allocate for the target message, it outputs an error indication that the receive cache is insufficient.
[0037] Step S104: CRC Error Detection The CRC check module performs CRC checks on the target message. When the check result does not meet expectations, it outputs a CRC error indication.
[0038] Step S105: Other error detection The error detection module checks the acknowledgment ID (ackID), message length, and port status of the target message. If it finds that the ackID is not within the expected range, the message length is invalid, or the port is in an disabled state, it outputs other corresponding error indicators.
[0039] Step S106: Non-retransmission processing for only cases of insufficient buffer error When the determination result is that there is only a receive buffer shortage error, the buffer non-retransmission enable flag is enabled, and there are no other errors besides the receive buffer shortage error, the control character processing unit performs the following operations: 1) Send a message reception acknowledgment control character PA to the sending device, replacing the control character PR originally used to request retransmission; 2) The target message is discarded at the receiving end, and is not written into the buffer or sent to the upper-layer processing unit; 3) Keep the receiving port from entering the retransmission stop state due to insufficient buffer and continue to be in normal receiving state.
[0040] Step S107: Non-retransmission processing for only CRC errors When the determination result is that only a CRC error exists, the CRC non-retransmission enable flag is enabled, and there are no other errors besides the CRC error, the control character processing unit performs the following operations: 1) Send the control character PA to the sending device, replacing the control character PNA originally used to request retransmission; 2) The target message is discarded at the receiving end and is not submitted to the upper-layer protocol stack; 3) Keep the receiving port from entering the error stop state caused by CRC error and continue to be in normal receiving state.
[0041] Step S108: ACKID processing at the sending end The sending device follows the standard sending logic specified by the RapidIO protocol. Based on the control character PA returned by the receiving end, it performs acknowledgment processing on the acknowledgment identifier ackID corresponding to the target message, marks the ackID as acknowledged, increments the ackID to the next value, and then sends subsequent messages based on the incremented ackID.
[0042] For example, in a scenario of insufficient buffer, the sender sequentially sends message A (ackID=1), message B (ackID=2), and message C (ackID=3). If the receiver detects insufficient buffer when receiving message B and has enabled the buffered non-retransmission function, it returns a PA control character and discards message B. The sender then considers the message with ackID=2 to have been successfully acknowledged and continues to send message C (ackID=3), without initiating a retransmission of message B.
[0043] Through the above steps, in a single error scenario, the receiving end can achieve non-retransmission processing of the packet by returning the PA control symbol and silently discarding the problematic packet.
[0044] Example 4: Combined processing logic for multiple error scenarios This embodiment describes the combination of non-retransmission control and standard retransmission control in response to multiple error scenarios.
[0045] In a real-world data link, the target packet may simultaneously trigger both a receive buffer shortage error and a CRC error. To ensure the controllability of the non-retransmission function, this embodiment only enables the non-retransmission function in scenarios with a "single error cause," and falls back to the standard RapidIO protocol process when multiple errors overlap.
[0046] When the target packet contains both a receive buffer shortage error and a CRC error, the control character processing unit executes the following strategy based on the combined state of the buffer non-retransmission enable flag and the CRC non-retransmission enable flag: 1. When the buffer non-retransmission enable flag is enabled and the CRC non-retransmission enable flag is disabled, the control character processing unit sends a control character PNA to the sending device to request the retransmission of the packet and performs subsequent processing according to the error handling process of the standard RapidIO protocol. 2. When the buffer non-retransmission enable flag is off and the CRC non-retransmission enable flag is on, the control character processing unit sends a control character PR or PNA to the sending device to request the retransmission of the packet. 3. When both the buffer non-retransmission enable flag and the CRC non-retransmission enable flag are enabled, the control character processing unit sends the control character PA only once to the sending device, without sending the control characters PR or PNA. The target message is discarded at the receiving end, and the receiving port is kept from entering the retransmission stop state and the error stop state.
[0047] In addition, when the error detection module detects at least one of the following errors: acknowledgment ID error, message length error, or port not enabled, the non-retransmission function is not effective. The control character processing unit sends the control character PR or PNA to the sending device according to the specific error type, and performs retransmission control and receive port state switching on the message according to the standard RapidIO protocol process to ensure that such anomalies are still strictly handled according to the protocol.
[0048] Through the above combination logic, this embodiment ensures that the non-retransmission function only applies to the error types expected to be controlled, and that retransmission and state machine behavior still follow the standard protocol in complex error scenarios.
[0049] Example 5: Threshold Counting Control for Message Retry Counts This embodiment describes how the message retry threshold counter works when the non-retransmission function is enabled.
[0050] A message retry threshold counter is set in the receiving device to count the number of message retries triggered by the control character PR or PNA. When the receiving end sends the control character PR or PNA to the sending end, the retry count of the corresponding message is incremented in this counter. When the retry count of a message reaches the preset threshold, the receiving end can trigger port protection processing or alarm processing, such as restricting new message access, triggering link detection, or reporting alarm information to the management unit.
[0051] When the receiving end sends the control character PA according to the non-retransmission control logic of this invention and discards the target message, it does not count the number of retries for that target message. In other words, messages processed using non-retransmission do not occupy the retry threshold, thus avoiding false protection or false alarms caused by repeated retransmission of a large number of messages with low timeliness.
[0052] Example 6: Implementation of Non-Retransmission Control Device This embodiment provides a specific implementation of the non-retransmission control device, which is located in the RapidIO receiver device and includes: 1. Non-retransmission function control register module: used to store the buffer non-retransmission enable flag and CRC non-retransmission enable flag, and supports independent configuration of the enable flag by receiver port or by VCO channel.
[0053] 2. Buffer Management Module: Used to detect the buffer status of the receiving end and output the detection result indicating whether there is a receiving buffer shortage error, such as a binary signal or a multi-value status indicating normal buffer, slightly strained, or severely insufficient buffer.
[0054] 3. CRC check module: Used to perform CRC check on the target message received through the VCO channel and output the detection result indicating whether the CRC is correct.
[0055] 4. Error Detection Module: Used to detect errors in the acknowledgment ID (ackID), message length errors, and port disable states, and outputs the corresponding error detection result signals.
[0056] 5. Control character processing unit: It is used to generate and send control characters PA, PR or PNA based on the detection results of the buffer management module, the detection results of the CRC check module, the detection results of the error detection module and the configuration in the non-retransmission function control register module, and to control whether to discard the target message at the receiving end and whether to switch the error handling state of the receiving port.
[0057] The control character processing unit can be implemented using a state machine or combinational logic. When only a receive buffer shortage error is detected, the buffer non-retransmission enable flag is enabled, and no other errors are detected, control character PA is generated to replace control character PR, and the target packet is discarded, while the receiving port remains in normal receiving state. When only a CRC error is detected, the CRC non-retransmission enable flag is enabled, and no other errors are detected, control character PA is generated to replace control character PNA, and the target packet is discarded, while the receiving port also remains in normal receiving state. When the buffer management module and the CRC check module simultaneously output detection results for both receive buffer shortage and CRC error, the control character processing unit generates control characters PNA, PR, or PA based on different combinations of the buffer non-retransmission enable flag and the CRC non-retransmission enable flag, as detailed in the strategy in Example 4.
[0058] The above-mentioned device can be integrated into the receive port logic of RapidIO switching devices or RapidIO endpoint devices, and is suitable for serial RapidIO links and parallel RapidIO links.
[0059] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A non-retransmission control method, wherein the method is executed at the receive port of a RapidIO receiving device, characterized in that, include: A non-retransmission function control register is set in the receiving device. The non-retransmission function control register includes: a buffer non-retransmission enable flag for indicating whether non-retransmission processing is used when the receiving buffer is insufficient, and a CRC non-retransmission enable flag for indicating whether non-retransmission processing is used when a CRC error is detected, wherein CRC is Cyclic Redundancy Check. When a target message is received from the RapidIO sending device via the VC0 channel, the following is executed in the receiving device: The cache management module is used to detect the cache status of the receiving end to determine if there is an insufficient receiving cache error; the CRC check module is used to perform CRC check on the target message to determine if there is a CRC error. In the sending device, according to the standard sending logic specified by the RapidIO protocol, the acknowledgment identifier ackID corresponding to the target message is processed based on the control character PA returned by the receiving end, the ackID is incremented, and subsequent messages are sent based on the incremented ackID.
2. The method according to claim 1, characterized in that, When the judgment result is that there is only a receive buffer shortage error, and the buffer non-retransmission enable flag is enabled, and there are no other errors besides the receive buffer shortage error, the control character processing unit sends the message receive acknowledgment control character PA defined in the RapidIO protocol to the sending device, replacing the control character PR used to request retransmission. The receiving end discards the target message and keeps the receiving port from entering the retransmission stop state caused by insufficient buffer. When the determination result is that only a CRC error exists, and the CRC non-retransmission enable flag is enabled, and there are no other errors besides the CRC error, the control character processing unit sends a control character PA to the sending device to replace the control character PNA used to request retransmission. The receiving end discards the target message and keeps the receiving port from entering the error stop state caused by the CRC error.
3. The method according to claim 1, characterized in that, When the target message contains both an insufficient receive buffer error and a CRC error: When the buffer non-retransmission enable flag is enabled and the CRC non-retransmission enable flag is disabled, the control character processing unit sends a control character PNA to the sending device to request the retransmission of the target packet and performs error handling according to the standard RapidIO protocol process. When the buffer non-retransmission enable flag is off and the CRC non-retransmission enable flag is enabled, the control character processing unit sends a control character PR or PNA to the sending device to request the retransmission of the target packet.
4. The method according to claim 1, characterized in that, When the target message has both a receive buffer insufficient error and a CRC error, and both the buffer non-retransmission enable flag and the CRC non-retransmission enable flag are enabled, the control character processing unit sends the control character PA only once to the sending device, without sending the control character PR or PNA. The target message is discarded at the receiving end, and the receiving port is kept from entering the retransmission stop state and the error stop state.
5. The method according to claim 1, characterized in that, The error detection logic is used to determine whether there is at least one other error among the following: acknowledgment ID error, message length error, port not enabled state; When the error detection logic detects at least one of the following errors: acknowledgment ID error, message length error, or port not enabled, the non-retransmission function is ineffective. The control character processing unit sends a control character PR or PNA to the sending device according to the specific error type, and performs retransmission control and receive port state switching on the target message according to the standard RapidIO protocol procedure.
6. The method according to claim 1, characterized in that, The non-retransmission function control register is configured according to the receiving port or the VCO channel. The non-retransmission enable flag and the CRC non-retransmission enable flag are written to the management processor or software driver to establish the non-retransmission working mode on different ports or different VCO channels. The receiving device maintains a message retry threshold counter. When the control character processing unit sends the control character PR or PNA, it counts the retry count of the corresponding message. When the retry count of a message reaches a preset threshold, port protection processing or alarm processing is triggered. When the control character processing unit sends the control character PA and discards the target message, it does not count the retry count of the target message.
7. A non-retransmission control device, installed in a RapidIO receiving device, characterized in that, include: The non-retransmission function control register module is used to store the cache non-retransmission enable flag and the CRC non-retransmission enable flag. The cache management module is used to detect the cache status of the receiving end and output the detection result indicating whether there is an insufficient receiving cache error; The CRC check module is used to perform CRC checks on target messages received through the VCO channel and output the detection result indicating whether a CRC error exists. The error detection module is used to detect errors in the acknowledgment ID (ackID), message length errors, and port disable states, and output the corresponding error detection results. The control character processing unit is used to generate and send control characters PA, PR, or PNA based on the detection results of the cache management module, the detection results of the CRC check module, the detection results of the error detection module, and the cache non-retransmission enable flag and CRC non-retransmission enable flag in the non-retransmission function control register module, and to control whether to discard the target message at the receiving end and whether to switch the error handling state of the receiving port.
8. The apparatus according to claim 7, characterized in that, The control character processing unit is configured to: When only a receive buffer shortage error is detected, and the buffer non-retransmission enable flag is enabled, and no other errors are detected, control character PA is generated to replace control character PR and the target message is discarded, while the receive port remains in normal receiving state. When only a CRC error is detected, and the CRC non-retransmission enable flag is enabled, and no other errors are detected, control character PA is generated to replace control character PNA and the target message is discarded, while the receiving port remains in normal receiving state. Specifically, when both the cache management module and the CRC check module output detection results indicating insufficient receive cache and CRC error: When the only buffer non-retransmission enable flag is enabled, the control character processing unit generates the control character PNA; When only the CRC non-retransmission enable flag is enabled, the control character processing unit generates control characters PR or PNA. When both the buffer non-retransmission enable flag and the CRC non-retransmission enable flag are enabled, the control character processing unit generates a control character PA and discards the target packet. The non-retransmission function control register module supports independent configuration of the buffer non-retransmission enable flag and the CRC non-retransmission enable flag by receiver port or by VCO channel; the device is applicable to RapidIO switching devices or RapidIO endpoint devices, and the VCO channel can be a serial RapidIO link or a parallel RapidIO link.
9. A RapidIO communication system, characterized in that, It includes at least one RapidIO transmitting device and at least one RapidIO receiving device. The RapidIO receiving device includes the apparatus as described in claim 7. The RapidIO transmitting device performs acknowledgment identifier ackID update and message retransmission control according to the transmission logic specified by the RapidIO protocol and the control symbol PA, PR or PNA returned by the RapidIO receiving device.
10. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, causes the processor to perform the steps of the method as claimed in any one of claims 1 to 7.