Retry Buffer With Multiple Contexts for Continuous Packet Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional high-speed serial data transmission protocols face limitations in retry buffer space due to pointer exchange-based protocols, leading to interruptions in real-time packet streaming during retry operations, and require additional memory overhead when implementing separate buffers.
Innovation Solution
A single, expanded retry buffer with multiple contexts is implemented, using write, playback, and read pointers to manage packet storage and retransmissions, allowing continuous real-time packet writing and retransmission without suspending the incoming packet stream.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a pointer exchange-based protocol is used to manage retry operations, then the retry operation can be implemented efficiently, but the allowable space in the retry buffer is limited by the pointer size
Solution Approach 1:
The retry buffer is divided into multiple contexts (e.g., context 0, context 1, context 2), each capable of storing a limited number of packets. This segmentation allows the buffer to expand beyond what a single pointer can address while maintaining manageable complexity through modular organization of packet storage regions.
2Reliability
If packets are buffered for retry operation, then reliable transmission can be achieved, but real-time packet streaming must be suspended or packets dropped
Solution Approach 1:
The system dynamically manages multiple contexts in the retry buffer, allowing it to adaptively handle both retry operations and real-time streaming. When packets need retry, the system can allocate appropriate contexts without blocking the entire buffer, enabling continuous operation with improved reliability.
Solution Approach 2:
By introducing multiple contexts as an additional dimension to the retry buffer structure, the system can simultaneously store packets for retry and continue streaming new packets. This dimensional expansion allows retry operations to occur without suspending real-time packet flow, as different contexts handle different packet sets independently.
3Quantity of substance
If two separate buffers are implemented to address retry buffer limitations, then retry buffer space and real-time streaming can coexist, but chip area and overhead are doubled
Solution Approach 1:
Multiple retry contexts are merged into a single buffer structure, allowing the system to achieve expanded retry buffer capacity without requiring separate physical buffers. This consolidation reduces chip area and overhead while maintaining the ability to handle both retry operations and real-time streaming efficiently.
Data Source
AI summary
A method is provided for transmitting packets of a packet stream in real-time. The method includes sequentially writing packets in a retry buffer of a transmitting agent, the retry buffer including multiple contexts; sequentially transmitting the packets written in the retry buffer to a receiving agent, while continuing to sequentially write additional packets the retry buffer; receiving acknowledgements from the receiving agent when the receiving agent has successfully received the transmitted packets, while continuing to sequentially transmit the packets written in the retry buffer to the receive agent; receiving a retry request from the receiving agent when the receiving agent has not successfully received a transmitted packet; and retransmitting packets from the retry buffer to the receiving agent beginning with the transmitted packet not successfully received by the receiving agent, which resulted in the retry request, while continuing to sequentially write additional packets received from the transmitting agent in the retry buffer.


