Link Interface Unit Flow Control Using Credits and Tokens

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In system-on-a-chip (SoC) designs, managing communication traffic between functional blocks operating at different clock frequencies is challenging, leading to potential stall situations and oversubscription issues due to the lack of effective flow control mechanisms.

Innovation Solution

The implementation of a link interface unit with a transmit unit and a receive unit that utilize credits and tokens to manage communication flow, where credits represent available packet spaces and tokens represent free entries in asynchronous FIFO buffers, allowing for independent flow control and preventing oversubscription across virtual channels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple functional blocks operate at different clock frequencies, then operational flexibility and power efficiency are improved, but communication flow control becomes complex leading to stall situations

Engineering Contradiction:
Improveclock frequency flexibilityVSAvoidflow control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The flow control mechanism is segmented into two independent components: credits for packet-level flow control and tokens for channel-level flow control. This segmentation allows each component to manage a specific aspect of communication, reducing the complexity of coordinating multiple clock domains while maintaining operational flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Credits and tokens act as intermediary signaling mechanisms between functional blocks operating at different clock frequencies. These intermediaries carry flow control information across clock domain boundaries, enabling coordinated communication without direct complex interlocking between clock domains.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If credit-based flow control is used, then packet transmission control is improved, but oversubscription issues occur when multiple sources compete for limited credits

Engineering Contradiction:
Improvepacket transmission controlVSAvoidoversubscription prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The flow control system is divided into two layers: credits manage packet transmission at the data link layer, while tokens manage virtual channel allocation at the network layer. This segmentation prevents oversubscription by ensuring that token availability controls the number of active virtual channels, while credit availability controls packet flow within those channels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Tokens are allocated to virtual channels in advance before packet transmission begins. This preliminary allocation ensures that the total number of packets across all virtual channels will not exceed the buffer capacity, preventing oversubscription before it can occur during runtime.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If asynchronous FIFO buffers are used to handle different clock frequencies, then data transfer between clock domains is improved, but buffer management complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Tokens serve as intermediary signals that coordinate buffer usage across clock domains. Rather than directly managing complex buffer pointers and synchronization between different clock frequencies, the token mechanism provides a simplified signaling interface that indicates buffer availability and controls data flow into asynchronous FIFO buffers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9082118B2Transaction flow control using credit and token management
Publication Date: 2015.07.14 APPLE INC
  • US9082118B2 patent drawing
  • US9082118B2 patent drawing
  • US9082118B2 patent drawing

AI summary

Embodiments of a local interface unit are disclosed that may allow for managing credits and tokens as part of flow control method. The local interface unit may include a transmit unit and a receive unit. The transmit unit may be configured to receive credits and tokens, determine an available number of credits based on the number received tokens, determine an available number of tokens based on the number of received tokens, and send the available credits to an arbitration unit. The available credits may then be updated, by the transmit unit in response to receiving a selected transaction from the arbitration, and the transmit unit may then transmit the selected transaction, and update the available credits and the available tokens once the transaction has been sent. The receive unit may be configured to send credits and tokens to a transmit unit, and receive a transaction sent by a transmit unit.