Host Memory Locking in Virtualized Systems with Overcommit
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If secure data is locked in memory to prevent swapping, then data security is improved, but memory allocation flexibility is reduced
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.
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.
Data Source
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.


