NoC Virtual Channel Routing With Credit Limits for Deadlock Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data routing techniques in Systems on a Chip (SoCs) face challenges in efficient resource utilization and preventing deadlocks due to inefficient resource allocation and changing data traffic patterns, leading to increased latency and wire count.
Innovation Solution
Implementing virtual channels and a credit-based mechanism for data routing that dynamically allocate resources based on network conditions and traffic patterns, ensuring efficient routing of high-priority data while preventing deadlocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional data routing techniques are used in SoCs, then resource allocation is simple, but resource utilization efficiency deteriorates due to inefficient allocation and changing traffic patterns
Solution Approach 1:
The patent segments the physical network channel into multiple virtual channels (VC0, VC1, VC2, VC3) to handle different data traffic types simultaneously. Each virtual channel is assigned specific traffic priorities (e.g., VC0 for high-priority traffic, VC3 for low-priority traffic), enabling efficient resource utilization by dedicating specific virtual channels to specific traffic patterns while sharing the same physical infrastructure.
Solution Approach 2:
The patent implements dynamic resource allocation through a credit-based mechanism where credits are allocated to virtual channels based on current network conditions and traffic patterns. The system dynamically adjusts credit distribution and routing decisions in real-time, allowing the network to adapt to changing traffic demands and optimize resource utilization dynamically rather than using static allocation.
2Productivity
If more physical channels are added to handle different traffic patterns, then data routing efficiency improves, but wire count and hardware costs increase
Solution Approach 1:
The patent makes the physical network channel universal by allowing it to carry multiple types of data traffic simultaneously through virtual channel multiplexing. A single physical channel can handle high-priority traffic, low-priority traffic, and different data types concurrently by switching between virtual channels, eliminating the need for separate dedicated physical channels for each traffic type and reducing wire count.
Solution Approach 2:
The patent introduces a virtual dimension overlaying the physical network infrastructure. By adding the virtual channel layer with its own addressing and routing dimensions, the system can differentiate and manage multiple traffic types without requiring additional physical dimensions (separate wires). This dimensional abstraction allows efficient routing of diverse traffic patterns over shared physical medium.
3Reliability
If credit restrictions are enforced for each virtual channel, then deadlock prevention improves, but control mechanism complexity increases
Solution Approach 1:
The patent implements a credit-based feedback mechanism where receiving nodes send credit signals back to transmitting nodes indicating available buffer space. When a virtual channel has available capacity, it returns credits to the source; when full, it withholds credits. This feedback loop automatically prevents deadlock by ensuring that data transmission only proceeds when receiving buffers have capacity, creating a self-regulating flow control system.
Solution Approach 2:
The system performs preliminary credit allocation and buffer reservation before actual data transmission. By pre-allocating buffer credits to virtual channels and checking credit availability before allowing data to enter the network, the system prevents deadlock conditions from arising in the first place, rather than dealing with them after they occur.
Data Source
AI summary
This disclosure provides systems, methods, and devices for enhancing data communication and computation efficiency in Systems on a Chip (SoC). In one aspect, a system is provided that uses a network on a chip (NOC) to route communications between chip components using a plurality of network interfaces linked by shared data connections. The system may be configured to route communications via multiple virtual channels along the shared connections, with credit restrictions for the channels. Additionally, the system may support mechanisms for maintaining both private and shared credit balances for these virtual channels. Additional aspects are also discussed.


