Persistent Memory Write Acceleration via Uncommitted Block Overwrite
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Accessing storage devices is relatively slow compared to central processing unit (CPU) processing speeds, leading to performance bottlenecks due to the speed of input/output (I/O) operations, and existing methods do not adequately accelerate write performance while ensuring data protection against power failures.
Innovation Solution
A system utilizing persistent memory that accelerates write performance by remapping data to a CPU cache and persistent memory, where data is written to the persistent memory if the block is in an uncommitted state, and asynchronously written back to the storage device when memory availability decreases below a threshold.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is written directly to storage device, then data persistence is ensured, but write performance is slow
Solution Approach 1:
Persistent memory is introduced as an intermediary between volatile memory and storage devices. Data is first written to persistent memory which provides fast write speeds, then asynchronously written back to storage devices. This mediator resolves the contradiction by providing both fast write performance and data persistence through its non-volatile nature.
Solution Approach 2:
Data is preliminarily written to persistent memory before being written to storage devices. The system performs the write operation to persistent memory first, which completes quickly, then asynchronously performs the write to storage devices in the background. This preliminary action achieves fast write performance while ensuring eventual data persistence.
2Productivity
If data is cached in persistent memory, then write performance is improved, but system complexity increases
Solution Approach 1:
Persistent memory serves multiple functions: it acts as a cache for fast writes, provides non-volatile storage for data persistence, and serves as a buffer for asynchronous writeback to storage devices. This multi-functionality reduces the need for separate components, thereby managing system complexity while improving write performance.
3Productivity
If asynchronous writeback is used, then storage device burden is reduced, but data consistency management becomes more complex
Solution Approach 1:
The system implements feedback mechanisms to track the state of data in persistent memory and storage devices. Write status is monitored and managed through metadata that records whether data has been written to persistent memory, committed, and written back to storage devices. This feedback system manages data consistency automatically, reducing the apparent complexity for applications while enabling asynchronous writeback.
Data Source
AI summary
A central processing unit (CPU) executes a write request for first data to be written to a first block of a storage device. Executing the write request includes determining whether the first block is remapped to a first memory block in the persistent memory and whether the first memory block is in an uncommitted state. Responsive to determining that the first block is remapped to the first memory block in the persistent memory and that the the first memory block is in an uncommitted state, the CPU overwrites the first memory block in the persistent memory with the first data.


