Page Table Entry Cache with Variable Tag Lengths for IOMMU Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current address translation systems in IOMMUs face inefficiencies in handling multi-stage address translations for virtual machines, leading to increased cache sizes and reduced performance due to the lack of effective tagging mechanisms for privilege levels, virtualization modes, and translation modes.

Innovation Solution

Implementing an address translation engine with a page table entry cache that uses translation tags indicating privilege levels, virtualization modes, and translation modes to efficiently manage and accelerate address translations by differentiating between various translation types and optimizing cache usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a traditional MMU handles multi-stage address translations for virtual machines, then address translation functionality is provided, but cache size increases and performance decreases due to lack of effective tagging mechanisms

Engineering Contradiction:
Improveaddress translation functionalityVSAvoidcache size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the address translation cache into multiple subsets, where each subset handles a specific stage of address translation (e.g., first-stage and second-stage translations). This segmentation allows the cache to manage different translation types separately, reducing the overall cache size needed while maintaining support for multi-stage translations for virtual machines.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different tagging mechanisms to different subsets of the cache based on their specific functions. Each subset uses customized tag fields tailored to its translation stage requirements, optimizing the cache structure for local needs rather than using a uniform approach throughout the entire cache.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If a traditional MMU handles multi-stage address translations, then translation functionality is provided, but translation speed decreases due to lack of effective tagging mechanisms

Engineering Contradiction:
Improvemulti-stage translation supportVSAvoidtranslation speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

By dividing the translation cache into multiple subsets for different translation stages, the patent enables parallel processing of translation operations. Each subset can independently handle its specific stage without blocking others, thereby increasing overall translation throughput and speed while maintaining multi-stage translation capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent optimizes each cache subset with locally-appropriate tagging mechanisms that are specifically designed for its translation stage. This localized optimization reduces tag comparison time and improves hit rates for each stage, thereby accelerating the overall translation process.

Inventive Principle:
Principle #3Local quality

3Reliability

If cache size is increased to handle all translation types, then translation completeness is improved, but address translation performance decreases

Engineering Contradiction:
Improvetranslation completenessVSAvoidtranslation performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the cache into multiple specialized subsets, each handling a specific translation stage or type. This allows the system to maintain comprehensive translation coverage (reliability) while keeping each individual cache subset smaller and faster, thereby improving overall translation performance (productivity).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each cache subset is optimized with locally-appropriate parameters and tagging mechanisms tailored to its specific function. This localized optimization ensures that each subset operates at high speed for its designated translation tasks while collectively providing complete translation support across all stages.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240338320A1Page table entry caches with multiple tag lengths
Publication Date: 2024.10.10 SIFIVE INC
  • US20240338320A1 patent drawing
  • US20240338320A1 patent drawing
  • US20240338320A1 patent drawing

AI summary

Systems and methods are disclosed for page table entry caches with multiple tag lengths. For example, an integrated circuit (e.g., a processor) includes a page table walk circuitry including a page table entry cache, in which the page table walk circuitry is configured to access a multi-level page table, and in which a first entry of the page table entry cache combines a first number of multiple levels and a second entry of the page table entry cache combines a second number of multiple levels that is different from the first number of multiple levels.