QoS Buffer Allocation in Network on Chip Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Network on Chip (NoC) systems, optimizing endpoint bandwidth allocation among multiple agents is challenging due to scalability limitations and varying bandwidth demands, leading to potential bottlenecks and traffic congestion.

Innovation Solution

Implementing Quality of Service (QoS) policies and handshake protocols that utilize credits for buffer allocation, prioritizing messages, and dynamically managing buffer allocation based on availability and priority, ensuring efficient data transmission and congestion reduction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional bus or crossbar interconnects are used, then simple architecture is maintained, but scalability is limited and bandwidth allocation cannot meet varying demands

Engineering Contradiction:
Improvebandwidth allocation adaptabilityVSAvoidinterconnect architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The interconnect is segmented into multiple virtual channels (VCs) that operate independently, allowing different traffic types to be routed through different VCs. This segmentation enables fine-grained bandwidth allocation and QoS management without requiring complete architectural redesign, thus improving adaptability while controlling complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically allocates buffer credits to different agents based on their bandwidth demands and priority levels. Buffer allocation is not static but adapts in real-time to traffic conditions, allowing the system to meet varying bandwidth demands while maintaining a relatively simple underlying interconnect structure.

Inventive Principle:
Principle #15Dynamics

2Productivity

If buffer credits are allocated to all agents, then bandwidth demand is met, but buffer starvation occurs and congestion increases

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidbuffer allocation reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system changes the parameter of buffer credit allocation from uniform to differentiated based on agent priority and traffic type. High-priority agents receive more credits while low-priority agents receive fewer, preventing buffer starvation for critical traffic while avoiding over-allocation that would cause congestion. This parameter change enables both high bandwidth utilization and reliable buffer management.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If manual buffer management is used, then fine control is achieved, but system complexity increases and automation is reduced

Engineering Contradiction:
Improvebuffer management easeVSAvoidcontrol mechanism complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

Agents autonomously manage their own buffer credits by requesting and receiving credits based on their bandwidth needs and priority levels. The system automatically arbitrates between competing agents and allocates credits without requiring manual intervention or complex centralized control, thus improving ease of operation while keeping the control mechanism relatively simple through decentralized decision-making.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10110499B2QoS in a system with end-to-end flow control and QoS aware buffer allocation
Publication Date: 2018.10.23 INTEL CORP
  • US10110499B2 patent drawing
  • US10110499B2 patent drawing
  • US10110499B2 patent drawing

AI summary

The present disclosure is directed to Quality of Service (QoS) and handshake protocols to facilitate endpoint bandwidth allocation among one or more agents in a Network on Chip (NoC) for an endpoint agent. The QoS policy and handshake protocols may involve the use of credits for buffer allocation which are sent to agents in the NoC to compel the acceptance of data and the allocation of an appropriate buffer. Messages sent to the agent may also have a priority associated with the message, wherein higher priority messages have automatic bandwidth allocation and lower priority messages are processed using a handshake protocol.