Credit-Based Data Transfer Regulation for Buffer Overflow Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems, frequent data movements and high bandwidth connections can lead to issues such as data stalls, buffer overruns, and errors due to insufficient storage space at target devices, especially in systems with shared communication links, where one data stream can adversely impact another.
Innovation Solution
A method and system for regulating data transfer between devices by using transfer credits to determine if the receiving device has sufficient capacity before sending data, ensuring that data is only sent when the accumulated credit value meets a send threshold, and modifying the credit value based on the quantity of data sent.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is transferred as fast as possible between devices, then productivity is improved, but reliability deteriorates due to buffer overruns and data stalls
Solution Approach 1:
The patent implements a credit-based feedback mechanism where the receiving device sends credit signals to the sending device to indicate available buffer space. The sending device uses these credits to regulate its transmission rate, ensuring it does not exceed the receiving device's processing capacity. This feedback loop prevents buffer overruns while maintaining high data transfer speeds by optimizing the transmission rate based on real-time buffer status.
Solution Approach 2:
The receiving device performs preliminary actions by pre-allocating buffer space and issuing credits to the sending device before data arrives. This allows the sending device to know in advance how much data it can transmit without causing overruns, enabling proactive rate adjustment rather than reactive error handling.
2Device complexity
If multiple data streams share a common communication link, then device complexity is reduced, but reliability deteriorates due to adverse impacts between streams
Solution Approach 1:
The patent segments the shared communication link into multiple virtual channels, each handling a separate data stream. By assigning dedicated credit mechanisms to each stream, the system maintains simple physical infrastructure while providing isolated control for each data flow, preventing one stream from adversely impacting others.
Solution Approach 2:
The patent introduces credit signals as intermediaries that mediate between multiple data streams sharing a common link. These credits act as tokens that regulate access to the shared resource, ensuring fair and controlled allocation of bandwidth to each stream without requiring complex arbitration logic.
Data Source
AI summary
Provided is a method of streaming transfer of data between a plurality of devices of a computer system. The method includes providing data to be sent from a source device to a target device and includes receiving, at the source device, one or more transfer credits from the target device. A transfer credit may be indicative of an amount of data that the target device is authorizing to be sent to the target device. The method also includes determining whether or not an accumulated transfer credit value satisfies a threshold value. If the accumulated transfer credit value satisfies the threshold value, the source device sends data to the target device and modifies the accumulated transfer credit value based on a quantity of data sent. If the accumulated transfer credit value does not satisfy the threshold value the source device does not send data to the target device.


