SoC Transaction Reordering for Memory Consistency and Identifier Saturation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current signal processing systems, such as System-on-Chip (SoC) systems, face challenges in ensuring memory consistency and performance due to constraints imposed by protocols like AMBA AXI, particularly when handling multiple memory transactions and address remapping, leading to inefficiencies and saturation issues with transaction identifiers.

Innovation Solution

A reordering arrangement that assigns consistent identifiers to transactions based on target modules and system conditions, using a bit-compression system to avoid identifier saturation, ensuring compliance with memory-consistency protocols like AXI while maintaining high performance in multi-DDR systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware techniques are used to balance memory loads among multiple memories, then memory load balancing is improved, but hardware complexity increases

Engineering Contradiction:
Improvememory load balancingVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a reordering unit as an intermediary component between the processor core and the memory system. This reordering unit handles the complex task of tracking and managing transaction identifiers and target module mappings, effectively mediating between the simple processor core and the complex multi-memory system. The reordering unit absorbs the hardware complexity while presenting a simplified interface to the processor, thus improving memory load balancing without requiring the processor core itself to become more complex.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If transaction identifiers are assigned via network for memory access, then memory access flexibility is improved, but identifier saturation occurs

Engineering Contradiction:
Improvememory access flexibilityVSAvoididentifier saturation
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent dynamically changes the parameters of transaction identifiers by tracking their usage status and target module assignments. When an identifier becomes available (its transaction completes), the system reuses it for new transactions. The reordering unit maintains mapping information that allows flexible reassignment of identifiers to different target modules over time, thus improving memory access flexibility while preventing identifier saturation through efficient reuse.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a mechanism where completed transaction identifiers are discarded from active use and recovered for reuse in new transactions. The reordering unit tracks which identifiers are currently in use and which are available, enabling the system to recover and reuse identifier values rather than continuously allocating new ones. This prevents identifier saturation while maintaining the flexibility needed for dynamic memory access patterns.

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If protocol ordering constraints are enforced for memory transactions, then memory consistency is improved, but system performance deteriorates

Engineering Contradiction:
Improvememory consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory transaction handling into two independent parts: ordering enforcement and target module mapping. The reordering unit separately manages the ordering constraints (tracking identifier usage and completion status) from the actual memory access operations. This segmentation allows the system to enforce protocol ordering requirements without forcing sequential execution of all memory transactions, as multiple identifiers can be tracked and reused in parallel, thus maintaining memory consistency while preserving system performance.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8990436B2Method for handling access transactions and related system
Publication Date: 2015.03.24 STMICROELECTRONICS INT NV
  • US8990436B2 patent drawing
  • US8990436B2 patent drawing
  • US8990436B2 patent drawing

AI summary

In an embodiment, access transactions of at least one module of a system such as a System-on-Chip (SoC) to one of a plurality of target modules, such as memories, are managed by assigning transactions identifiers subjected to a consistency check. If an input identifier to the check has already been issued for the same given target module, to the related identifier/given target module pair the same input identifier is assigned as a consistent output identifier. If, on the contrary, said input identifier to the check has not been already issued or has already been issued for a target module different from the considered one, to the related identifier/given target module pair a new identifier, different from the input identifier, is assigned as a consistent output identifier.