Network-on-Chip Router Buffer Management via Destination Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network-on-chip routers face challenges in improving transmission performance due to overhead and limited buffer resources, especially when there is only one virtual channel per input port, leading to deteriorated transmission efficiency.

Innovation Solution

A router design with multiple input and output ports, input and output buffers, and a switch connected by a controller that compares packet destinations and buffer availability to determine proper packet transfer, allowing for efficient routing regardless of buffer count.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple virtual channels are implemented to improve transmission performance, then packet transmission efficiency is improved, but router area and device complexity increase

Engineering Contradiction:
Improvetransmission performanceVSAvoidrouter area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent segments the output buffer into multiple virtual channels (first virtual channel and second virtual channel) with different functions. The first virtual channel handles packets to the same destination as the previously transmitted packet, while the second virtual channel handles packets to different destinations. This segmentation allows the router to maintain multiple buffer regions without physically increasing the overall router area, as the virtual channels share the same physical buffer infrastructure.

Inventive Principle:
Principle #1Segmentation

2Productivity

If destination comparison processing is added to prevent same-destination packet congestion, then transmission performance is improved, but device complexity increases

Engineering Contradiction:
Improvetransmission performanceVSAvoidrouter complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by storing the destination address of the previously transmitted packet in advance and using this stored information for comparison before new packet transmission decisions are made. The destination comparing section compares the destination of the current packet with the stored destination of the previously transmitted packet to determine whether to use the first or second virtual channel. This preliminary storage and comparison mechanism prevents same-destination packet congestion without requiring complex real-time analysis, thus improving transmission performance while limiting the increase in device complexity.

Inventive Principle:
Principle #10Preliminary action

3Area of stationary object

If buffer capacity is reduced to minimize router area, then router area is reduced, but transmission performance deteriorates

Engineering Contradiction:
Improverouter areaVSAvoidtransmission performance
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

The patent introduces dynamic buffer allocation by enabling the router to switch between first and second virtual channels based on real-time packet destination information. When packets to the same destination are detected, the system dynamically transitions to using the second virtual channel, preventing buffer occupancy by same-destination packets. This dynamic adaptation allows the router to maintain effective transmission performance with reduced buffer capacity, as the virtual channel switching mechanism prevents congestion without requiring large static buffer allocations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10601736B2Repeater transmission performance improvement regardless of number of buffers
Publication Date: 2020.03.24 NEC CORP
  • US10601736B2 patent drawing
  • US10601736B2 patent drawing
  • US10601736B2 patent drawing

AI summary

A repeater includes input ports for inputting packets from modules, input buffers configured to store the input packets, output ports for outputting packets to modules, output buffers configured to store the packets before output, a switch connected between the input buffers and the output buffers, and a controller. The controller selects any of the input buffers, acquires any of the packets from the selected input buffer, and based on a result of comparison between a destination of a packet previously transferred to the output buffer corresponding to the destination of the acquired packet and the destination of the acquired packet and on the availability of the output buffer, determines propriety of transfer of the acquired packet. The controller controls the switch to transfer the packet determined to be transferable, from the input buffer to the output buffer.