Credit Counter Flow Control for FIFO Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
First-in-first-out (FIFO) memory systems can overflow and lose data if they continue to receive data after becoming full before any data is read, leading to potential data loss due to the lack of efficient flow control mechanisms.
Innovation Solution
A method and apparatus that utilize a credit counter to manage the flow of data to a pair of storage devices, ensuring that data is only stored if sufficient 'credits' (representing empty spaces) are available, thereby preventing overflow by initializing the credit counter with the available space of the smaller storage device and adjusting for catch-up and redundant entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data continues to be written to a FIFO memory after it becomes full, then the storage capacity is maximized utilized, but data overflow and loss occurs
Solution Approach 1:
The patent implements a credit-based flow control mechanism where the writer monitors the FIFO's credit counter (which reflects available space) and adjusts its writing rate accordingly. When credits are depleted, the writer pauses until credits are replenished, creating a feedback loop that prevents overflow while maximizing storage utilization.
Solution Approach 2:
The system performs preliminary actions by pre-allocating credits to the writer before data transfer begins. The credit counter is initialized to reflect the total FIFO depth, allowing the writer to proceed without immediate checks. This preliminary credit allocation enables efficient bulk transfers while still preventing overflow through the credit constraint.
2Reliability
If a credit counter is used to prevent FIFO overflow, then data integrity is maintained, but the system complexity increases
Solution Approach 1:
The patent extracts the flow control logic into separate, dedicated components: a credit counter register, a credit update mechanism in the FIFO controller, and a credit check in the writer. This separation isolates the complexity into manageable, modular elements that can be independently implemented and verified, reducing overall system complexity.
Solution Approach 2:
The credit counter serves as an intermediary between the FIFO memory and the writer. Instead of the writer directly querying FIFO status or the FIFO directly controlling the writer, the credit counter mediates by providing a simplified numerical representation of available space that the writer can easily monitor and respond to.
3Adaptability or versatility
If the FIFO memory is designed to handle different data rates between writer and reader, then adaptability is improved, but the flow control mechanism becomes more complex
Solution Approach 1:
The credit-based system dynamically adapts to varying data rates between writer and reader. When the reader consumes data faster than the writer produces it, credits are replenished and the writer can increase its rate. When the reader lags, credits are depleted and the writer automatically slows down. This dynamic adjustment handles rate mismatches without complex preprocessing or configuration.
Data Source
AI summary
A method for controlling data flow to a pair of storage devices includes receiving at least one new entry to store in a first storage device or a second storage device in the pair of storage devices and determining a number of entries made to the first and second storage devices out of the at least one new entry. The method also includes calculating a difference between available space in the first storage device and the second storage device, and calculating a number of credits used by the at least one new entry based on the numbers of entries to the first and second storage devices and on the difference in available space.


