Persistent Memory Page Cache for Non-Volatile Storage Wear Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional memory-based technologies for file access, such as memory mapping, require modifications or libraries to synchronize data with non-volatile memory, leading to inefficiencies and wear on storage devices due to repeated writes from volatile to non-volatile memory, especially when using non-persistent memory systems or remote file systems.

Innovation Solution

Implementing a page-caching system that utilizes persistent memory during memory-mapped access, allowing for caching of file pages on persistent memory instead of volatile memory, thereby reducing the need for frequent writes to non-volatile storage and minimizing wear on storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If volatile memory is used for page caching, then fast access speed is achieved, but data is lost when power is removed and repeated writes to non-volatile storage occur

Engineering Contradiction:
Improveaccess speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces persistent memory as an intermediary layer between volatile memory and non-volatile storage. This mediator layer provides the persistence capability that volatile memory lacks, while maintaining the fast access characteristics of volatile memory, thereby resolving the contradiction between speed and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies different memory technologies to different parts of the caching hierarchy: volatile memory for the most frequently accessed data requiring speed, persistent memory for data requiring both speed and persistence, and non-volatile storage for bulk storage. This local differentiation resolves the contradiction by optimizing each layer for its specific requirements.

Inventive Principle:
Principle #3Local quality

2Reliability

If persistent memory is used for page caching, then data persistence is achieved, but access speed may be slower compared to volatile memory

Engineering Contradiction:
Improvedata persistenceVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the caching system into multiple layers with different characteristics. Persistent memory handles data requiring persistence, while volatile memory continues to handle data requiring maximum speed. This segmentation allows the system to achieve both persistence and high speed for different data sets simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the memory hierarchy by introducing persistent memory between volatile memory and non-volatile storage. This creates a three-tier hierarchy that resolves the speed-persistence tradeoff by providing intermediate access speeds with full persistence guarantees.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If memory mapping is used to access files, then I/O performance is improved, but repeated writes from volatile to non-volatile memory cause wear on storage devices

Engineering Contradiction:
ImproveI/O performanceVSAvoidwear on storage devices
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent performs preliminary action by caching file data in persistent memory before it needs to be written back to non-volatile storage. This allows data to be persisted immediately upon modification without requiring repeated flush operations to the storage device, thereby maintaining I/O performance while reducing wear.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous caching operations in persistent memory without interrupting the application's I/O operations. Data can be modified in the persistent memory cache and persisted asynchronously, allowing the useful action of file access to continue uninterrupted while storage device wear is minimized.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10684954B2Page cache on persistent memory
Publication Date: 2020.06.16 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10684954B2 patent drawing
  • US10684954B2 patent drawing
  • US10684954B2 patent drawing

AI summary

Various examples described herein provide for caching a page on persistent memory for memory-mapped access of a file from a non-persistent memory file system or a remote file system having a non-persistent memory page cache. In particular, some examples detect memory-mapped access of a file from a non-persistent memory file system or a remote file system having a non-persistent memory page cache and, based on availability of persistent memory, caches a page associated with the memory-mapped access on the persistent memory.