Host Memory Locking in Virtualized Systems with Overcommit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems with memory overcommit, there is a need to prevent swapping out of secure data from main memory to storage to ensure data security and performance, while maintaining flexible memory allocation.

Innovation Solution

A system and method that allows guest operating systems to lock portions of main memory allocated to virtual machines, subject to defined memory constraints, to prevent swapping out and ensure secure data retention without violating memory allocation limits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If memory overcommit is enabled to maximize system utilization, then memory allocation flexibility is improved, but the risk of secure data being swapped out to storage increases

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoiddata security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies local quality by differentiating memory pages into secured and unsecured categories. The secured attribute is applied locally to specific memory pages that contain sensitive data, while other pages remain unsecured and can be swapped. This allows the system to maintain memory overcommit flexibility while protecting only the necessary portions of memory from being swapped to storage.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments memory management into two distinct pathways: secured memory pages that cannot be swapped out and unsecured pages that can be freely swapped. This segmentation is implemented through separate data structures (secured vs. unsecured page tables) and independent swapping logic, allowing the system to simultaneously achieve high memory utilization through overcommit while ensuring secure data remains in physical memory.

Inventive Principle:
Principle #1Segmentation

2Productivity

If memory locking is prevented to maintain memory overcommit flexibility, then system resource utilization is improved, but secure data may be swapped out to storage

Engineering Contradiction:
Improvesystem resource utilizationVSAvoiddata exposure risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

Instead of requiring full memory locking for all allocated memory, the patent applies security attributes locally to individual memory pages. This allows the system to maintain aggressive memory overcommit policies that maximize resource utilization while only preventing swapping for the specific pages marked as secured, thereby eliminating data exposure risk without sacrificing overall system productivity.

Inventive Principle:
Principle #3Local quality

3Reliability

If secure data is locked in memory to prevent swapping, then data security is improved, but memory allocation flexibility is reduced

Engineering Contradiction:
Improvedata securityVSAvoidmemory allocation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent resolves this contradiction by applying security constraints locally rather than globally. Individual memory pages can be marked as secured to prevent swapping, while the rest of the memory allocation remains flexible and subject to normal overcommit policies. This granular approach ensures data security for sensitive information while preserving memory allocation flexibility for the overall system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the memory management system into secured and unsecured pathways, allowing independent control of swapping behavior for each segment. This enables the system to lock specific pages containing secure data while maintaining the ability to swap other pages, thereby achieving both data security and memory allocation flexibility simultaneously.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10061616B2Host memory locking in virtualized systems with memory overcommit
Publication Date: 2018.08.28 RED HAT ISRAEL
  • US10061616B2 patent drawing
  • US10061616B2 patent drawing
  • US10061616B2 patent drawing

AI summary

A system and method for handling requests by virtual machines (VMs) to lock portions of main memory are disclosed. In accordance with one embodiment, a host operating system (OS) of a computer system receives a request by the guest OS of a VM to lock a portion of main memory of the computer system. The host OS determines whether locking the portion of main memory violates any of a set of constraints pertaining to main memory. The host OS locks the portion of main memory when locking does not violate any of the set of constraints. The locking prevents any page of the portion of main memory from being swapped out to a storage device. The host OS can still swap out pages of main memory that are not allocated to this VM and are not locked by any other VM.