Credit Counter Flow Control for FIFO Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a credit counter is used to prevent FIFO overflow, then data integrity is maintained, but the system complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidflow control mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata rate adaptabilityVSAvoidflow control mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7380080B2Calculating unneeded data storage credits for a data transmission to a pair of storage devices
Publication Date: 2008.05.27 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7380080B2 patent drawing
  • US7380080B2 patent drawing
  • US7380080B2 patent drawing

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.