Shared Flow Control Credits for Interconnect Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current interconnect architectures in computing systems face challenges in efficiently managing bandwidth and power consumption as the demand for higher processing power and complex communication between components increases, particularly in servers and mobile devices, where traditional credit-based flow control solutions lead to inefficiencies due to unused buffer resources and intermittent traffic suspension.

Innovation Solution

Implementing a credit-based flow control scheme that reserves resources for specific queues while maintaining a shared credit pool to guarantee a minimum service level and provide extra credits when dedicated credits are exhausted, allowing for flexible allocation across multiple channels and request types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional credit-based flow control is used with dedicated credits per queue, then bandwidth is reserved for each channel, but buffer resources are wasted when credits are not fully utilized and traffic is suspended when credits are exhausted

Engineering Contradiction:
Improveservice level guaranteeVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent merges dedicated queue credits with a shared credit pool into a unified flow control mechanism. Each queue maintains its dedicated credits for guaranteed service, while also having access to a shared pool of credits that can be dynamically allocated. This combination eliminates the waste of dedicated buffers when credits are unused, as other queues can utilize the shared pool, while still maintaining service guarantees through dedicated credits.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The flow control system transitions from static dedicated credit allocation to dynamic credit management. The shared credit pool allows credits to be dynamically allocated and released based on actual traffic demands and buffer availability. When a queue exhausts its dedicated credits, it can temporarily borrow from the shared pool, and when buffer space becomes available, credits are dynamically returned to the pool for reuse by other queues.

Inventive Principle:
Principle #15Dynamics

2Reliability

If dedicated flow control credits are allocated to each queue, then minimum service level is guaranteed, but bandwidth utilization decreases due to unused buffer resources

Engineering Contradiction:
Improveminimum service levelVSAvoidbandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines dedicated queue credits with a shared credit pool to create a hybrid flow control system. Each queue retains its dedicated credits that guarantee minimum service levels, while the shared pool aggregates unused buffer resources from all queues. This merging allows high-bandwidth utilization through the shared pool while maintaining reliability through dedicated credits, resolving the contradiction between service guarantee and resource efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared credit pool serves multiple functions simultaneously: it acts as a supplemental credit source for queues that exhaust their dedicated credits, provides a mechanism for dynamic resource allocation, and enables cross-queue resource sharing. This multi-functionality allows the system to maintain service guarantees while maximizing bandwidth utilization across all channels.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If buffer resources are reserved for specific queues, then service reliability is improved, but system efficiency decreases due to intermittent traffic suspension

Engineering Contradiction:
Improveservice continuityVSAvoidtraffic suspension time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary allocation of dedicated credits to each queue to guarantee minimum service levels before traffic arrives. The shared credit pool is pre-configured as a supplemental resource that can be immediately accessed when dedicated credits are exhausted. This preliminary setup eliminates the need for complex runtime negotiations and reduces traffic suspension time by having credits readily available from the shared pool.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The shared credit pool acts as an intermediary resource between dedicated queue credits and actual buffer space. When a queue exhausts its dedicated credits, the shared pool provides an intermediate credit source that prevents immediate traffic suspension. This intermediary mechanism smooths out temporary buffer shortages and reduces service interruptions while maintaining overall system reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9954792B2Shared flow control credits
Publication Date: 2018.04.24 INTEL CORP
  • US9954792B2 patent drawing
  • US9954792B2 patent drawing
  • US9954792B2 patent drawing

AI summary

Traffic control logic is provided to support a plurality of channels on a link. A plurality of reserved credit counters is provided to each identify reserved flow control credits for a corresponding one of the plurality of channels. Further, a shared credit counter is provided to identify shared flow control credits to be shared between two or more of the plurality of virtual channels.