Memory Protection for Virtual Machines via Remap Circuit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management units (MMUs) in hypervisor systems are complex and costly, leading to performance overhead and a need for a low-complexity and low-overhead memory protection scheme for virtual machines.

Innovation Solution

A system with a memory interface controller and a remap circuit that maps addresses in extended physical address regions to a remapped address within the physical address space, using a memory protection unit to grant or deny access based on stored access rights information, reducing the complexity of MMU management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a traditional MMU is used for memory management in virtual machines, then memory protection and address translation are provided, but device complexity and performance overhead increase

Engineering Contradiction:
Improvememory protectionVSAvoidMMU complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the memory protection function from the complex MMU and implements it separately using a memory protection unit (MPU) with permission filters. The MMU handles only address translation while the MPU handles memory protection, separating these functions to reduce overall system complexity while maintaining protection capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the memory protection mechanism into permission filters that are stored in a dedicated filter memory and applied by the MPU. This segmentation allows the protection logic to be independent from the address translation logic, reducing the complexity burden on the MMU while providing effective memory protection.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a traditional MMU is used for memory management in virtual machines, then memory protection and address translation are provided, but performance overhead increases

Engineering Contradiction:
Improvememory protectionVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements permission filters that are pre-configured and stored in filter memory before memory access operations. The MPU quickly checks these pre-prepared filters during memory access, avoiding the need for complex runtime protection decisions that would increase performance overhead.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If extended physical address regions are allocated to VMs, then memory capacity is increased, but address mapping complexity increases

Engineering Contradiction:
Improvememory capacityVSAvoidaddress mapping complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary remap circuit that sits between the extended physical address space and the actual memory. This remap circuit handles the complex mapping of extended addresses to physical addresses, allowing VMs to access extended memory capacity while the complexity of address mapping is isolated to this dedicated intermediary component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12061923B2Memory protection for virtual machines
Publication Date: 2024.08.13 MEDIATEK INC
  • US12061923B2 patent drawing
  • US12061923B2 patent drawing
  • US12061923B2 patent drawing

AI summary

A system includes a memory addressable by addresses within a physical address (PA) space, and one or more processors that perform operations of virtual machines (VMs). The VMs are allocated with extended PA regions outside the PA space. The system further includes a memory interface controller coupled to the memory and the one or more processors. The memory interface controller receives a request for accessing an address in the extended PA regions from a requesting VM, and uses a remap circuit to map the address in the extended PA regions to a remapped address in the PA space. A memory protection unit (MPU) in the memory interface controller grants or denies the request based on stored information indicating whether the remapped address is accessible to the requesting VM.