Credit Management Unit for Flow-Controlled Interfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Credit-based flow control mechanisms in digital systems face inefficiencies due to memory allocation granularity issues, leading to suboptimal bandwidth utilization as the number of credits advertised is less than what is possible, resulting in reduced achievable bandwidth.

Innovation Solution

A credit management unit dynamically adjusts buffer memory allocation and credits based on packet data size, allowing for early freeing of credits when packets incur fewer unused data credits, and adaptively managing header and data credits to match traffic patterns, thereby optimizing memory usage and bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If buffer memory is allocated in fixed granules larger than data credit size, then memory allocation is simplified, but bandwidth utilization deteriorates due to unused buffer space

Engineering Contradiction:
Improvememory allocation complexityVSAvoidbandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The buffer memory is segmented into multiple buffer granules, each capable of storing one or more data credits. The credit management unit tracks and manages credits at the fine-grained data credit level rather than the coarse buffer granule level, allowing precise allocation and freeing of credits based on actual packet sizes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the number of available credits based on actual buffer usage and packet sizes. When packets are received and processed, credits are freed dynamically rather than being locked in fixed buffer allocations, allowing the system to adapt to varying traffic patterns and maximize bandwidth utilization.

Inventive Principle:
Principle #15Dynamics

2Reliability

If full memory granule is allocated for each transmission, then buffer overrun is prevented, but credit availability deteriorates reducing achievable bandwidth

Engineering Contradiction:
Improvebuffer overrun preventionVSAvoidachievable bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of allocating a full buffer granule for every possible transmission, the system allocates buffer space partially based on the actual size of incoming packets. The credit management unit calculates the precise number of credits needed for each packet and allocates only that amount of buffer space, avoiding the waste of allocating full granules for small packets.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the parameter of buffer allocation from fixed granule-based to variable size-based on actual packet data. This allows the buffer allocation to match the actual transmission size, preventing buffer overruns while maximizing the number of available credits for concurrent transmissions.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If credits are freed only after packet consumption, then data integrity is ensured, but credit availability deteriorates causing transmission delays

Engineering Contradiction:
Improvedata integrityVSAvoidtransmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The credit management unit performs preliminary actions by freeing credits earlier in the process, specifically when the packet is fully received and stored in buffer memory, rather than waiting until the packet is completely consumed by the receiver. This preliminary freeing of credits allows subsequent packets to be transmitted without delay while data integrity is maintained through proper buffer management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8045472B2Credit management when resource granularity is larger than credit granularity
Publication Date: 2011.10.25 APPLE INC
  • US8045472B2 patent drawing
  • US8045472B2 patent drawing
  • US8045472B2 patent drawing

AI summary

In one embodiment, a receiver on a credit-based flow-controlled interface is configured to free one or more data credits early when a data payload is received that incurs fewer unused data credits within a buffer memory that is allocated at a coarser granularity than the data credits. In another embodiment, header credits and data credits are dynamically adjusted based on actual packet data payload sizes.