Transaction ID Allocation via Valid Bits in Network on Chip

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network on a chip (NoC) systems face inefficient system bandwidth utilization due to limited transaction IDs, leading to inferior system performance as requests with the same ID are completed in order, resulting in idle cycles and suboptimal processing.

Innovation Solution

Each processing module is assigned an address space, with a subset of the address space designated as Valid Bits, which are associated with unique transaction IDs, allowing for differentiated processing and prioritization of transactions across modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If limited transaction IDs are used in AXI system, then device complexity is reduced, but system bandwidth utilization deteriorates

Engineering Contradiction:
Improvetransaction ID allocation complexityVSAvoidsystem bandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The address space is segmented into multiple portions, with each portion assigned to a different processing module. Within each portion, valid bits are selected to generate unique transaction IDs. This segmentation allows multiple processing modules to have dedicated address spaces while maintaining unique transaction IDs, thereby increasing system bandwidth utilization without proportionally increasing overall system complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processing module is assigned a specific portion of the address space with locally selected valid bits. This local quality approach ensures that each module has customized transaction ID allocation based on its specific address space requirements, enabling efficient bandwidth utilization for each module while maintaining system-wide coordination

Inventive Principle:
Principle #3Local quality

2Device complexity

If same transaction ID is used for multiple requests, then device complexity is reduced, but system performance deteriorates due to idle cycles

Engineering Contradiction:
Improvetransaction ID management complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The transaction ID allocation is made dynamic by selecting valid bits from different portions of address spaces for different processing modules. This dynamic allocation ensures that each module can have unique transaction IDs when needed, eliminating idle cycles caused by sequential processing of same-ID requests, while maintaining manageable complexity through systematic bit selection

Inventive Principle:
Principle #15Dynamics

3Productivity

If out-of-order transaction completion is enabled, then system performance is improved, but device complexity increases

Engineering Contradiction:
Improvesystem performanceVSAvoidtransaction processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention changes the parameter of transaction ID generation by selecting valid bits from different address space portions for different processing modules. This parameter change enables out-of-order transaction completion by ensuring unique transaction IDs for concurrent requests, thereby improving system performance while managing complexity through systematic parameter assignment rather than complex processing logic

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8533377B2System and method for allocating transaction ID in a system with a plurality of processing modules
Publication Date: 2013.09.10 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8533377B2 patent drawing
  • US8533377B2 patent drawing
  • US8533377B2 patent drawing

AI summary

A system and method for allocating transaction ID in a system with a plurality of processing modules is disclosed. In one embodiment, a method for assigning transaction ID to a processing module in a network on a chip system (NOCS) with a plurality of processing modules is disclosed. An address space is provided to each of the processing modules. A portion of the address space is selected. A subset of the selected portion of the address space for each of the processing module is selected as Valid Bits. The Valid Bits of the processing module is associated to a transaction ID.