Serial Buffer Packet Loss Prevention via Zero Insertion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional serial buffers with sRIO interfaces face data loss issues due to packet errors during transfer, which can be critical for real-time applications where data must be sampled at constant intervals.
Innovation Solution
A serial buffer that checks the memory address of incoming packets for sequentiality, inserting a zero packet when a missing packet is detected to maintain a constant data stream, and logs severe errors for system software to handle error recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If packets are transferred through the sRIO interface to the serial buffer, then data offload function is provided, but packet loss may occur due to transfer errors
Solution Approach 1:
The serial buffer performs preliminary actions by checking memory address sequentiality before packet processing is complete. When a missing packet is detected through address gap analysis, the system proactively inserts a zero packet into the data stream before the real-time application processes the data, preventing data loss without requiring retransmission
Solution Approach 2:
The serial buffer acts as an intermediary between the sRIO interface and the real-time application. It monitors packet integrity by checking memory addresses, detects missing packets, and inserts compensatory zero packets into the data stream, thereby mediating the transfer and ensuring continuous reliable data flow without affecting the real-time application
2Productivity
If data is sampled at constant intervals to prevent data loss, then real-time application requirements are met, but packet loss occurs when transfer errors happen
Solution Approach 1:
The serial buffer implements feedback by continuously monitoring memory address sequentiality of incoming packets. When a non-sequential address indicates a missing packet, the system responds by inserting a zero packet to maintain the constant data sampling rate required by real-time applications, thereby feedback-looping to ensure both productivity and reliability
3Reliability
If retransmission is used to recover packet errors, then packet loss can be recovered, but real-time data sampling interval cannot be maintained
Solution Approach 1:
Instead of using expensive and time-consuming retransmission protocols, the system employs cheap short-living zero packets as disposable placeholders. These zero packets immediately fill gaps in the data stream caused by missing packets, maintaining constant sampling intervals without requiring retransmission, thus sacrificing minimal information (zero data) to preserve real-time performance
Data Source
AI summary
A serial buffer monitors an incoming stream of packets to identify single missing packets and multiple consecutive missing packets. Upon detecting multiple consecutive missing packets, an interrupt is generated, thereby stopping the data transfer. Upon detecting a single missing packet, a single missing packet identifier is inserted into the packet header of the packet that resulted in identification of the single missing packet. The incoming packets, including any inserted single missing packet identifiers, are written to a queue. When the water level reaches the water mark of the queue, the stored packets are read to create an outgoing packet stream. When a packet read from the queue includes an inserted single missing packet identifier, a dummy packet (e.g., a packet having a data payload of all zeros) is inserted into the outgoing packet stream. As a result, real-time applications are capable of processing the outgoing packet stream in a constant fashion.


