Soft Lock Mechanism for NoC Virtual Channel Deadlock Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network-on-chip (NoC) systems face performance degradation due to unnecessary waiting for complete packets and potential deadlocks when virtual channels are used, as destinations wait for packet parts from multiple channels without having a complete packet, and locking onto a network port can lead to system deadlock if packet parts are not available.
Innovation Solution
Implementing a 'soft lock' mechanism that allows a network port to transmit packet parts from one port until it has available parts that can make forward progress, switching to another port if necessary, and releasing the lock once the packet is complete, with arbitration schemes like priority or first-in-first-out determining which port to lock onto.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a NoC locks onto a network port to transmit all packet parts, then packet transmission completeness is ensured, but system deadlock occurs when packet parts are not available
Solution Approach 1:
The patent implements a dynamic locking mechanism where the lock on a network port is not absolute but conditional. The system can release the lock and switch to another port when packet parts are unavailable, making the locking behavior adaptive to real-time network conditions rather than rigid and static.
Solution Approach 2:
The patent changes the state parameter of the lock from a fixed binary state (locked/unlocked) to a dynamic state that can transition between different ports. The arbiter tracks which port was originally locked and can switch to alternative ports while maintaining progress toward transmitting the original packet's parts.
2Productivity
If virtual channels are used to allow multiple sources to share the same physical medium, then channel utilization is improved, but destination waiting time increases when packet parts from multiple channels are not complete
Solution Approach 1:
The arbiter continuously monitors the availability of packet parts across different virtual channels and uses this feedback information to make intelligent switching decisions. When packet parts become available on originally locked ports, the arbiter switches back to transmit them, ensuring the destination receives complete packets as quickly as possible.
Solution Approach 2:
The system maintains continuous useful action by preventing idle periods at the destination. While the arbiter switches to other virtual channels when packet parts are unavailable, the network infrastructure remains active and productive, transmitting other packet parts that can make forward progress rather than waiting passively.
3Productivity
If a soft lock is assigned to a network port and transmitted until packet parts are available, then forward progress is enabled, but port switching complexity increases
Solution Approach 1:
The arbiter performs self-service by automatically tracking which port was originally locked and managing the switching logic without external intervention. The system monitors its own state and makes autonomous decisions about when to switch ports and when to return to the original locked port based on packet part availability.
Data Source
AI summary
A system and method for soft locking for a networking device in a network, such as a network-on-chip (NoC). Once a soft lock is established, the port and packet are given transmitting priority so long has the port has an available packet or packet parts that can make forward progress in the network. When the soft lock port's packet parts are not available, the networking device may choose another port and/or another packet. Any arbitration scheme may be used. Once the packet (or all the packet parts) has completed transmission, the soft lock is released.


