Memory Management Unit Master Device Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems with multiple master devices, the shared memory management unit (MMU) and translation lookaside buffer (TLB) can lead to performance limitations due to thrashing, where activities of one master device affect others, and existing solutions like adding an extra bit to TLB entries increase size without fully addressing the issue.

Innovation Solution

A memory management unit that selects entries based on both the virtual address and the identifier of the requesting master device, using an index generation unit to generate an index for the internal storage unit, allowing for unique allocation of entries to each master device, potentially using hash functions and arbiter units to prioritize and optimize memory access requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If a shared MMU/TLB is used to occupy limited area on SoC device, then area is reduced, but performance deteriorates due to thrashing between multiple master devices

Engineering Contradiction:
Improvearea of MMU on SoCVSAvoidmemory access performance
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

The patent segments the single shared TLB into multiple master device-specific TLB structures by incorporating master device identifiers into the indexing mechanism. Each master device has its own set of TLB entries that can be independently accessed, preventing thrashing while maintaining a compact implementation suitable for SoC area constraints.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If an extra bit is added to each TLB entry to indicate master association, then master tracking is enabled, but TLB entry size increases

Engineering Contradiction:
Improvemaster device tracking capabilityVSAvoidTLB entry size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges the master device identifier with the virtual address to form a composite index key. Instead of adding separate storage for master identification, the master ID is integrated into the indexing structure itself, allowing the same TLB entry to be selectively accessed by different master devices without increasing entry size.

Inventive Principle:
Principle #5Merging (Combining)

3Area of stationary object

If a single TLB is shared among multiple master devices, then area is reduced, but thrashing occurs when multiple masters use the same TLB entry

Engineering Contradiction:
ImproveTLB areaVSAvoidtime due to thrashing
Core Design Contradiction:
Area of stationary objectVSLoss of time

Solution Approach 1:

The patent introduces master device identifiers as an intermediary element in the TLB indexing process. This intermediary allows the system to distinguish between different master devices accessing the same virtual address, preventing unwanted overwriting of TLB entries and eliminating thrashing while maintaining a compact TLB structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9213650B2Memory management unit
Publication Date: 2015.12.15 ARM LTD
  • US9213650B2 patent drawing
  • US9213650B2 patent drawing
  • US9213650B2 patent drawing

AI summary

A data processing apparatus is provided comprising a plurality of master devices configured to issue memory access requests including virtual addresses. A memory management unit is configured to receive memory access requests and to translate a virtual address included in a memory access request from a requesting master device into a physical address indicating a storage location in memory. The memory management unit has an internal storage unit having a plurality of entries wherein indications of corresponding virtual address portions and physical address portions are stored. The memory management unit is configured to select an entry of the internal storage unit in dependence on the virtual address and an identifier of the requesting master device. Conflict between the master devices in their usage of the internal storage unit is thus avoided.