Network-on-Chip Flow Control via Router Credit Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Network-on-Chip (NoC) designs face challenges in achieving deadlock-free operations, particularly with message-dependent deadlocks that can block the network indefinitely, despite efforts to avoid them through buffer sizing, end-to-end flow control, strict ordering, and virtual circuits, which often result in area penalties and suboptimal resource utilization.

Innovation Solution

The system employs a flow control process where each node has emitter and receiver memories, with a request and acknowledgement mechanism to ensure data transmission only when memory space is available, using a message passing paradigm to distinguish between request and data messages, and utilizing a packetization and de-packetization block to manage data transfer effectively, ensuring no data is injected into the network without sufficient processing capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If end-to-end flow control with dedicated buffers is implemented at network endpoints, then message-dependent deadlocks are avoided, but area cost increases due to multiple dedicated buffers required for multiple emitter nodes addressing data to the same receiver node

Engineering Contradiction:
Improvedeadlock-free operationVSAvoidbuffer area at network endpoints
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent merges the flow control mechanism into the network infrastructure itself (routers) rather than relying solely on endpoint buffers. Each router maintains a credit counter for each destination node, consolidating the flow control state across multiple nodes. This allows multiple emitter nodes to share the same receiver node's buffer resource without requiring separate dedicated buffers for each emitter-receiver pair, thereby reducing total buffer area while maintaining deadlock-free operation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The router acts as an intermediary between emitter nodes and receiver nodes, implementing flow control through credit-based mechanisms. The router's credit counter serves as a mediator that tracks available buffer space at the receiver and controls data transmission accordingly. This intermediary approach eliminates the need for emitter nodes to maintain large local buffers, reducing area cost while ensuring reliable data transmission.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If virtual circuits are used to provide dedicated logical networks for each connection, then message-dependent deadlocks are avoided, but area penalty increases and resource utilization becomes suboptimum

Engineering Contradiction:
Improvedeadlock-free operationVSAvoidnetwork infrastructure area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent implements dynamic flow control where the credit counter at each router is updated based on actual buffer availability at receiver nodes. This dynamic mechanism allows the network to adapt to varying traffic conditions and buffer states, eliminating the need for static virtual circuits with fixed dedicated resources. The dynamic credit-based approach provides deadlock-free operation while optimizing resource sharing and reducing infrastructure area requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of flow control from static dedicated buffer allocation to dynamic credit-based control. By using credit counters that can vary based on buffer availability, the system achieves flexible resource management. This parameter change allows multiple connections to share physical infrastructure more efficiently, reducing the area penalty associated with dedicated virtual circuits while maintaining deadlock-free operation.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If strict ordering with separate virtual networks for request and response messages is implemented, then message-dependent deadlocks are avoided, but network design complexity increases due to unknown total number of virtual channels needed

Engineering Contradiction:
Improvedeadlock-free operationVSAvoidnetwork design complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the flow control function across multiple routers rather than requiring a centralized coordination mechanism. Each router independently maintains credit counters for its outgoing links to different destination nodes, distributing the complexity of flow control management. This segmentation allows the network to handle multiple message types and directions without requiring a complete global view of all virtual channels, reducing design complexity while maintaining deadlock-free operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The flow control mechanism is self-regulating through local credit counters at each router. Each router automatically adjusts data transmission based on its own buffer availability information, without requiring centralized control or complex global coordination. This self-service approach simplifies network design by eliminating the need for a central manager to track all virtual channels, while still ensuring deadlock-free operation through localized credit-based control.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7940788B2System for transmitting data within a network between nodes of the network and flow control process for transmitting the data
Publication Date: 2011.05.10 STMICROELECTRONICS FRANCE
  • US7940788B2 patent drawing
  • US7940788B2 patent drawing
  • US7940788B2 patent drawing

AI summary

A system is for transmitting data in a network and includes emitter nodes, each including a transmitter for transmitting requests for data transmission. The system may also include a receiver node receiving the data transmission from the emitter nodes and including a first memory for storing data transmitted by each emitter node, a second memory for storing the requests, and a transmitter. The data may be transmitted from the emitter nodes to the receiver node when memory space is available in the first memory to receive data. The transmitter of the receiver node may transmit to each emitter node an acknowledgement message when memory space is available in the first memory to receive at least a portion of the data transmitted. Each emitter node may establish a communication link with the receiver node and transmits the data based upon the acknowledgement message. The communication link may be locked until all data is transmitted.