Balloon Memory Protection via Temporary Loan Pages
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machines face challenges in managing inflated memory, as malicious or corrupted guests can continue to access and write to unplugged memory, leading to memory overconsumption and potential system crashes, especially when using huge pages, which complicates memory overcommitment and stability in virtualization environments.
Innovation Solution
A virtual machine monitor (VMM) tracks the state of each guest memory page, using a fixed quantity of loan pages to temporarily back inflated pages, ensuring that only a limited amount of physical memory is used, and discards and reassigns these pages to prevent overconsumption by malicious guests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory overcommit is enabled to allow virtual machines to use more memory than physically available, then memory utilization efficiency is improved, but system stability deteriorates due to potential memory overconsumption by malicious or corrupted guests
Solution Approach 1:
The patent introduces loan pages as an intermediary mechanism between the guest OS and physical memory. These loan pages act as a controlled buffer that allows memory overcommit while preventing uncontrolled memory consumption. The VMM mediates memory access by routing requests through loan pages, which can be revoked or discarded to prevent system crashes, thus maintaining both memory utilization efficiency and system stability.
2Adaptability or versatility
If inflated memory pages are allowed to be accessed by guest operating systems, then memory flexibility is improved, but harmful factors increase as malicious guests can continue to access and write to unplugged memory
Solution Approach 1:
The patent applies local quality by differentiating the state of memory pages. Inflated pages are marked with a specific state (e.g., bit set in a bitmap) that identifies them as potentially harmful. The VMM then applies different access controls and tracking mechanisms specifically to these inflated pages versus normal pages. This allows the system to maintain memory flexibility for legitimate operations while applying targeted restrictions and monitoring to prevent harmful access patterns.
3Reliability
If a fixed quantity of loan pages is used to back inflated pages, then memory overconsumption is limited, but device complexity increases due to tracking and managing loan page states
Solution Approach 1:
The patent implements self-service by having the VMM automatically track and manage loan page states through systematic data structures (bitmaps, status flags). The system autonomously monitors which loan pages are in-use versus unused, and automatically performs allocation and deallocation operations. This automated self-management reduces the operational complexity burden on administrators while maintaining reliable control over memory consumption.
Data Source
AI summary
A system includes a guest memory having guest physical pages (“GPPs”) that includes loan pages having a fixed quantity, a host memory, a processor in communication with the memory, and a virtual machine monitor (“VMM”). The VMM is configured to track a respective state (inflated or deflated) for each respective GPP. Additionally, the VMM is configured to track a respective status (in-use or unused) of each loan page, determine that each respective loan page is in-use, un-assign a first loan page from a corresponding GPP, discard the first loan page thereby changing the first loan page from in-use to unused, and assign the unused first loan page to a first GPP that is inflated, such that the first loan page's status updates to in-use. Each respective GPP having an inflated state is temporarily backed by the fixed quantity of loan pages.


