Persistent Page Cache Using 3D Crosspoint Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data caching systems in computer systems face challenges such as volatility leading to frequent data copying and flushing, limited capacity, and performance overhead due to the use of volatile page caches, which consume precious memory and incur latency and overhead in managing persistence.
Innovation Solution
Implementing a persistent page cache in 3D crosspoint memory or other persistent memory technologies that provides both CPU addressability and persistence, reducing the need for frequent data copying and flushing, and enabling efficient journaling for transactional file systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a volatile page cache is used to cache storage data, then data access speed is improved, but data persistence is lost requiring frequent copying and flushing
Solution Approach 1:
The patent changes the fundamental parameter of memory volatility by using persistent memory (such as 3D crosspoint memory) instead of volatile memory for the page cache. This allows the cache to maintain both high-speed access characteristics and data persistence, eliminating the need for frequent flushing to storage devices while preserving data after system reboots.
Solution Approach 2:
The patent creates a composite caching system that combines the speed characteristics of volatile memory with the persistence characteristics of non-volatile storage. By using persistent memory technology that exhibits both fast access speeds and non-volatile properties, the system achieves a composite effect that resolves the contradiction between speed and reliability.
2Reliability
If a persistent page cache is implemented, then data persistence is improved, but memory capacity is consumed
Solution Approach 1:
The patent segments the memory hierarchy into distinct functional zones: a persistent page cache in persistent memory for frequently accessed data requiring persistence, and application data in volatile memory for high-performance computing. This segmentation allows each region to be optimized for its specific purpose while managing overall memory capacity efficiently.
Solution Approach 2:
The patent adds a new dimension to the memory hierarchy by introducing persistent memory as an intermediate layer between volatile memory and storage devices. This creates a multi-dimensional memory architecture that expands capacity while providing persistence, allowing the system to cache more data persistently without consuming all volatile memory capacity.
3Loss of time
If volatile memory is used for page cache, then data access latency is reduced, but memory management overhead increases
Solution Approach 1:
The patent enables the persistent page cache to serve itself by maintaining data persistence inherently through the persistent memory medium. The system does not require complex external management mechanisms for flushing and copying data to storage devices, as the persistence is built into the memory technology itself, thereby reducing management overhead while maintaining low latency.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In one embodiment, an apparatus comprises a memory to store executable instructions of an operating system and a processor to identify a request for data from an application; determine whether a persistent page cache stores a copy of the data, wherein the persistent page cache is directly addressable by the processor and is to cache data of a storage device that is not directly addressable by the processor; and access the data from the persistent page cache.