Memory De-duplication Page Migration Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory management systems in virtualized environments face inefficiencies in memory de-duplication, particularly in scaling page migration across multiple data structures, leading to suboptimal resource utilization and increased memory consumption.
Innovation Solution
The method involves scanning candidate memory pages in a data structure, identifying matches, and managing memory page mappings to determine when to add new mappings or create additional data structures, thereby optimizing memory usage by eliminating duplicate page storage and efficiently tracking memory page mappings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory de-duplication is implemented using a single data structure, then memory usage is reduced, but the system cannot scale to handle multiple virtual machines efficiently
Solution Approach 1:
The patent divides the memory management system into multiple data structures (first data structure, second data structure, third data structure) that can be independently managed and scaled. Each data structure handles specific memory pages, allowing the system to scale across multiple virtual machines while maintaining de-duplication benefits. This segmentation resolves the contradiction by enabling both memory efficiency and system scalability.
Solution Approach 2:
The patent introduces a new dimension to memory management by creating hierarchical data structures with multiple levels (first, second, third data structures) and introducing mapping relationships between them. This dimensional expansion allows the system to handle complex multi-VM scenarios while preserving de-duplication, simultaneously achieving memory reduction and scalability.
2Adaptability or versatility
If multiple data structures are created to handle scaling, then adaptability improves, but memory consumption increases
Solution Approach 1:
The patent merges multiple data structures through mapping relationships where the first data structure maps to the second, and the second maps to the third. This merging approach allows the system to scale across multiple VMs while sharing common memory pages, thereby reducing overall memory consumption despite the presence of multiple data structures.
Solution Approach 2:
The patent creates universal mapping mechanisms that can handle multiple virtual machines through a hierarchical data structure system. The mapping relationships enable a single memory page to serve multiple purposes across different VMs, allowing the system to achieve scalability without proportionally increasing memory consumption.
3Productivity
If memory pages are de-duplicated across virtual machines, then resource utilization improves, but tracking mappings becomes more complex
Solution Approach 1:
The patent segments the mapping tracking task across multiple data structures with clear hierarchical relationships. The first data structure tracks mappings at one level, the second at another level, and the third at a higher level. This segmentation reduces the complexity of tracking mappings by distributing the tracking responsibility across organized segments rather than requiring a single complex tracking mechanism.
4Productivity
If a threshold for memory page mappings is enforced, then memory management efficiency improves, but the system becomes less flexible
Solution Approach 1:
The patent implements dynamic mapping relationships between data structures that can adapt based on system conditions. The mapping between first, second, and third data structures is not rigid but can be created, modified, or removed based on memory pressure, VM requirements, and de-duplication opportunities. This dynamic approach maintains efficiency through threshold enforcement while preserving flexibility through adaptive mapping.
Data Source
AI summary
A system and method of de-duplication includes receiving a first page, scanning a first structure, identifying a first match, determining a quantity of mappings to the first match is less than a threshold, and adding a first mapping to the first match. The method includes receiving a second page, scanning the first structure, identifying the first match, determining the quantity of mappings to the first match meets the threshold, and storing the second page in a second structure. The method includes receiving a third page, scanning the first structure, identifying the first match, determining the quantity of mappings to the first match meets the threshold, scanning the second structure, identifying the second page as the match, and creating a third structure that replaces the first match and includes an identifier node, the first match, and a second match with the second and third mapping identifying the second and third pages.


