Application Direct Virtual Memory Management via Persistent Storage Index

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual memory management systems do not allow for direct management by applications, leading to inefficiencies in data swapping between main memory and persistent storage, as they lack differentiation between applications and rely on operating system tables for data page location and retrieval.

Innovation Solution

A method and apparatus for application direct virtual memory management, which involves detecting memory access, determining addresses in a sparse virtual address space, and moving data between main memory and persistent storage using an index-based system, allowing applications to manage their own data swapping.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the operating system manages virtual memory swapping using its own tables and indexes, then the system can maintain centralized control over data page locations, but the application cannot directly manage its own data swapping and must rely on OS mediation

Engineering Contradiction:
Improveapplication control over data swappingVSAvoidOS table and index management structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the virtual memory management functionality from the operating system and transfers it to the application level. Applications can now directly manage their own data pages by allocating persistent storage locations and tracking page positions without requiring OS intervention, thereby simplifying the OS structure while giving applications direct control

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Applications are enabled to perform virtual memory management operations independently through the virtual memory manager interface. They can directly allocate pages to persistent storage, track page locations using their own indexes, and manage swapping without relying on OS services, achieving self-service memory management

Inventive Principle:
Principle #25Self-service

2Productivity

If the operating system performs virtual memory swapping without differentiating between applications, then system-wide memory management is simplified, but application-specific memory optimization is lost

Engineering Contradiction:
Improvememory management efficiencyVSAvoidapplication-specific memory optimization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements local quality by allowing each application to have its own virtual memory management characteristics. Applications can define their own page allocation strategies, persistence priorities, and swapping behaviors tailored to their specific needs, while the overall system maintains a unified virtual memory space through the common virtual memory manager interface

Inventive Principle:
Principle #3Local quality

3Reliability

If applications rely on operating system tables to determine data page locations, then centralized memory management is maintained, but application performance is reduced due to OS mediation overhead

Engineering Contradiction:
Improvememory management consistencyVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The virtual memory manager serves as an intermediary layer that applications interact with directly. Instead of applications relying on OS internal tables, they use the standardized virtual memory manager interface to allocate pages, track locations, and manage swapping. This intermediary provides consistent memory management while enabling direct application access to persistent storage, eliminating OS mediation overhead

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9251087B2Apparatus, system, and method for virtual memory management
Publication Date: 2016.02.02 SANDISK TECHNOLOGIES LLC
  • US9251087B2 patent drawing
  • US9251087B2 patent drawing
  • US9251087B2 patent drawing

AI summary

An apparatus, system, and method for virtual memory management. The method includes detecting a memory access to a virtual memory address within a monitored page of data not loaded in main memory of a computing device. The method includes determining a first address for a loaded page of data in the main memory. The first address is defined in a sparse virtual address space exposed by a persistent storage device. The first address is associated in an index with a first deterministic storage location. The method includes storing the loaded page on a persistent storage device at the first deterministic storage location. The method includes moving the monitored page from a second deterministic storage location to the main memory. The second deterministic storage location is associated with a second address in the index.