Memory Access Control via Execution Mode and Layer Identity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems with only privileged and unprivileged modes, virtualization techniques fail to effectively control memory access between different layers, leading to unauthorized access to memory domains by applications executing in the same unprivileged mode as guest operating system kernels.

Innovation Solution

Implementing a method to control memory access by determining the execution mode of each layer element, allowing the processor to set memory accessibility for each page and domain based on whether the element is operating in privileged or unprivileged mode, thereby preventing unauthorized access by ensuring distinct memory access permissions for VMM, VM kernel, and VM user modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtualization is applied in systems with only privileged and unprivileged modes, then multiple operating systems can be executed simultaneously, but applications executing in unprivileged mode can unauthorizedly access guest operating system kernels' memory domains

Engineering Contradiction:
ImproveAbility to execute multiple operating systems simultaneouslyVSAvoidMemory access security between different layers
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments memory access control into two independent dimensions: execution mode (privileged/unprivileged) and layer identity (VMM/VM kernel/VM user). This segmentation allows the system to maintain multiple operating systems simultaneously while preventing unauthorized access by applications to guest OS memory domains, as each layer's memory access permissions are controlled independently through page table attributes associated with both mode and layer identifiers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different memory access permissions to different layers within the same execution mode. Specifically, page table attributes are configured to grant VMM mode full memory access, VM kernel mode access to guest OS memory domains, and VM user mode access restricted to application memory domains only. This localized permission assignment ensures that even though applications and guest OS kernels both execute in unprivileged mode, they cannot access each other's memory domains.

Inventive Principle:
Principle #3Local quality

2Device complexity

If the same unprivileged mode is used for both guest operating system kernels and applications, then system complexity is reduced, but memory domain protection between these layers cannot be ensured

Engineering Contradiction:
ImproveExecution mode structureVSAvoidMemory domain protection
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a new dimension for memory access control by adding layer identity (VMM/VM kernel/VM user) as a second classification criterion alongside execution mode (privileged/unprivileged). This dimensional extension allows the system to maintain a simple two-mode execution structure while achieving fine-grained memory protection through the combination of mode and layer attributes in page table entries, thereby protecting memory domains without increasing execution mode complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If traditional memory access control is used without layer-specific permissions, then ease of operation is maintained, but unauthorized memory access between virtualized layers occurs

Engineering Contradiction:
ImproveMemory access control simplicityVSAvoidUnauthorized memory access by applications
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent introduces page table attributes as an intermediary mechanism that mediates memory access between different layers. These attributes incorporate both execution mode and layer identity information, acting as a mediator that automatically enforces appropriate access permissions without requiring complex software-based control. The intermediary page table structure simplifies operation by handling access control transparently while preventing unauthorized memory access between virtualized layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8943288B2Method of controlling memory access
Publication Date: 2015.01.27 SAMSUNG ELECTRONICS CO LTD
  • US8943288B2 patent drawing
  • US8943288B2 patent drawing
  • US8943288B2 patent drawing

AI summary

Provided is a method of controlling memory access. In a system including a first layer element executed in a privileged mode having a first priority of permission to access the entire region of a memory and second and third layer elements executed in an unprivileged mode having a second priority of permission to access a partial region of the memory, the method of controlling memory access determines whether the memory is accessible for each page that is an address space unit, based on which mode a layer element currently accessing the memory is executed in between the privileged mode and the unprivileged mode; and determines whether the memory is accessible based on which one of the first, second and third layer elements corresponds to a domain currently being attempted to be accessed from among a plurality of domains of the memory. Accordingly, a memory domain allocated to a guest operating system kernel is effectively protected from an application executed in the unprivileged mode in which the guest operating system kernel is executed.