Multi-Stage MMU Address Translation Cache Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management units (MMUs) face inefficiencies in address translation processes, particularly in multiple stage translations, which can lead to increased processing time and power consumption, especially when handling multiple operating systems on virtual machines.

Innovation Solution

A multiple stage MMU configuration that includes a first stage translating virtual memory addresses to intermediate memory addresses and a second stage translating these to physical memory addresses, with an address translation cache storing information to optimize translations and reduce unnecessary stage 2 translations by reusing data from adjacent addresses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple stage translation is used for security in virtual machines, then information security is improved, but processing time and power consumption increase

Engineering Contradiction:
Improveinformation securityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a buffer that stores intermediate physical addresses (IPAs) obtained from previous stage 2 translations. When the first MMU stage generates a set of IPAs, the system checks the buffer to see if translations for these IPAs are already available from prior operations. This preliminary storage and reuse of translation data eliminates the need to perform stage 2 translations repeatedly for the same IPAs, significantly reducing processing time while maintaining the secure two-stage translation architecture.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple stage translation is used for security in virtual machines, then information security is improved, but power consumption increases

Engineering Contradiction:
Improveinformation securityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The buffer stores translation results from stage 2 MMU operations, allowing the system to retrieve previously translated IPAs without re-executing the power-intensive stage 2 translation process. By performing the translation work once and storing the results for future use, the system dramatically reduces cumulative power consumption while maintaining security through the preserved two-stage translation mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of translation results and stores them in the buffer for future reference. Instead of repeatedly performing expensive stage 2 translations, the system copies and reuses the translation data from the buffer, reducing power consumption associated with repeated computational operations while maintaining data integrity and security.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If stage 2 translation is performed for all generated intermediate physical addresses, then translation completeness is improved, but unnecessary translations increase processing overhead

Engineering Contradiction:
Improvetranslation completenessVSAvoidprocessing efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system extracts only the necessary IPAs from the set generated by the first MMU stage and submits them for stage 2 translation. By using the buffer to identify which IPAs have already been translated, the system removes redundant translation requests, ensuring that only unique, necessary translations are performed. This maintains translation completeness for all required addresses while eliminating wasteful processing overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing complete stage 2 translation for all generated IPAs regardless of redundancy, the system performs partial translation only for unique IPAs that are not already present in the buffer. This selective approach avoids excessive translation actions while ensuring all necessary translations are completed, optimizing the balance between completeness and efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9996474B2Multiple stage memory management
Publication Date: 2018.06.12 ARM LTD
  • US9996474B2 patent drawing
  • US9996474B2 patent drawing
  • US9996474B2 patent drawing

AI summary

A multiple stage memory management unit (MMU) comprises a first MMU stage configured to translate an input virtual memory address to a corresponding intermediate memory address, the first MMU stage generating a set of two or more intermediate memory addresses including the corresponding intermediate memory address; and a second MMU stage configured to translate an intermediate memory address provided by the first MMU stage to a physical memory address, the second MMU stage providing, in response to an intermediate memory address received from the first MMU stage, a set of two or more physical memory addresses including the physical memory address corresponding to the intermediate memory address received from the first MMU stage; the first MMU stage being configured to provide to the second MMU stage for translation, intermediate memory addresses in the set other than any intermediate memory addresses in the set for which the second MMU stage will provide a physical memory address as a response to translation of one of the other intermediate memory addresses in the set.