Persistent Memory Page Mirroring for Cache-Coherent Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face inefficiencies in data transfer and cache coherency when using dual-mode persistent memory devices that support both storage-based and memory protocols, leading to increased latency and resource consumption.
Innovation Solution
Implementing an auto-mirroring daemon that utilizes an access history table to determine if data is stored in the CPU cache, allowing data to be copied directly from the CPU cache to system memory using the.mem protocol, or from the persistent memory device using the.io protocol, thereby optimizing data transfer and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is transferred from persistent memory device using external protocol, then data transfer reliability is improved, but data transfer speed deteriorates
Solution Approach 1:
The patent introduces system memory as an intermediary between persistent memory device and CPU cache. Data is first transferred from persistent memory to system memory using the reliable external protocol, then from system memory to CPU cache using the fast memory protocol. This mediator approach allows each transfer to use its optimal protocol, resolving the contradiction between reliability and speed.
Solution Approach 2:
The data transfer path is segmented into two distinct stages: (1) persistent memory to system memory via external protocol for reliability, and (2) system memory to CPU cache via memory protocol for speed. By dividing the transfer into segments with different protocol requirements, the system optimizes both reliability and speed simultaneously.
2Reliability
If data is copied from persistent memory device to system memory, then cache coherency is improved, but system resource consumption worsens
Solution Approach 1:
The patent implements a feedback mechanism where the system monitors data access patterns and cache status to determine when copying from persistent memory to system memory is necessary. This selective copying based on feedback information ensures cache coherency is maintained only when needed, reducing unnecessary resource consumption while preserving coherency.
3Productivity
If auto-mirroring daemon is implemented, then data transfer overhead is reduced, but device complexity increases
Solution Approach 1:
The auto-mirroring daemon implements self-service by automatically monitoring cache status, identifying data that needs mirroring, and executing the copying process without manual intervention. This automation reduces transfer overhead by handling operations proactively, while the standardized daemon architecture keeps the added complexity manageable through reuse of existing system components.
Data Source
AI summary
A system and method for page mirroring for storage. In some embodiments, the method includes: reading first data from a persistent memory device; establishing that the first data is stored in a first cache; and copying the first data from the first cache to a system memory, wherein the persistent memory device supports an external protocol and a memory protocol.


