Dynamic Memory Page Consolidation via Copy-on-Write and Collapse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems experience increased memory usage due to duplication of identical data across multiple memory pages, particularly in environments with multiple instances of the same application, leading to inefficient use of finite memory resources.

Innovation Solution

Implementing a memory manager with modules for page comparison, copy on write, and collapse on write operations to identify and consolidate duplicate data, allowing for dynamic memory reuse by sharing and updating pointers to reference a single instance of identical data, thereby reducing memory page usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple memory pages are allocated to store identical data for different application instances, then data integrity and process isolation are maintained, but memory usage increases significantly

Engineering Contradiction:
Improvedata integrityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges identical memory pages containing duplicate data into a single shared page. When the memory manager detects that multiple pages contain identical data, it consolidates them into one page that can be shared by multiple application instances, thereby reducing overall memory consumption while maintaining data integrity through controlled sharing mechanisms

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements universal memory pages that can serve multiple application instances simultaneously. A single memory page is designed to be universally accessible by multiple processes that require identical data, allowing the same physical memory resource to fulfill multiple logical memory allocation requests without duplication

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If memory pages are shared among multiple processes to reduce duplication, then memory efficiency improves, but the complexity of memory management increases

Engineering Contradiction:
Improvememory efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The memory manager implements self-service mechanisms by automatically detecting duplicate data across memory pages, identifying consolidation opportunities, and performing merges without requiring manual intervention. The system monitors memory usage patterns and autonomously optimizes memory allocation by consolidating duplicates, reducing the operational complexity for users and administrators

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms where the memory manager continuously monitors memory page contents and usage patterns. When duplication is detected, the system provides feedback to trigger consolidation operations, and adjusts memory management strategies based on observed patterns of data reuse and application behavior, creating a self-optimizing memory management system

Inventive Principle:
Principle #23Feedback

3Productivity

If duplicate memory pages are consolidated to reduce usage, then hardware utilization improves, but the time required to detect and merge duplicates increases

Engineering Contradiction:
Improvehardware utilizationVSAvoiddetection and merge time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by implementing hash-based indexing and content-addressable memory structures that pre-organize memory page data for rapid comparison. Before full consolidation can occur, the system prepares by creating fingerprints or hash values of page contents, enabling fast identification of potential duplicates without requiring exhaustive byte-by-byte comparison of all memory pages

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory manager implements partial action by performing consolidation on a selective basis rather than continuously processing all memory pages. It focuses on identifying and merging duplicates in high-priority or frequently accessed memory regions first, and uses sampling techniques to detect duplicates in large memory spaces without examining every single page, thereby reducing the overall time investment while achieving significant memory savings

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9069477B1Reuse of dynamically allocated memory
Publication Date: 2015.06.30 AMAZON TECH INC
  • US9069477B1 patent drawing
  • US9069477B1 patent drawing
  • US9069477B1 patent drawing

AI summary

Overall memory requirements are minimized by performing copy on write and collapse on write operations using memory pointers when storing data within memory pages. Multiple memory pointers may refer to a primary page storing a definitive copy of data. When that data is to be modified, a copy on write operation creates a second copy in another memory page which may then be modified and updates memory pointers accordingly. When data within two or more memory pages is identical to data within a primary page, a collapse on write operation updates memory pointers to refer to the primary page and de-allocates the duplicative and now unused memory pages.