Persistent Memory Tier Framing for File System Data Freshness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage file systems are unable to leverage the benefits of persistent memory due to its byte-addressable nature, leading to stale or missing data issues when performing data management operations across both persistent and file system tiers.
Innovation Solution
Implement a persistent memory tier with tailored data structures and commands for byte-addressable access, and frame blocks from the persistent memory tier to the file system tier to notify the file system of up-to-date data, enabling cross-tier data management operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a storage file system uses traditional block-addressable storage media, then data management operations can be performed, but the system cannot leverage the low latency benefits of persistent memory
Solution Approach 1:
The system divides storage into two separate tiers: a persistent memory tier for high-performance byte-addressable access and a file system tier for traditional block-addressable operations. This segmentation allows each tier to serve its specific purpose optimally while maintaining overall system versatility.
Solution Approach 2:
A framing mechanism acts as an intermediary between the persistent memory tier and file system tier. It translates byte-addressable persistent memory operations into block-addressable file system operations, enabling data management capabilities to leverage persistent memory's low latency while maintaining compatibility with traditional file system operations.
2Speed
If persistent memory is used without tailored data structures, then low latency access is achieved, but data management operations cannot accurately reflect up-to-date data across tiers
Solution Approach 1:
The framing mechanism provides feedback to the file system tier about which data blocks are present in persistent memory and their update status. This feedback loop ensures that data management operations receive accurate information about the most recent data state across both tiers, preventing operations on stale or missing data.
Solution Approach 2:
Before data management operations execute, the framing mechanism preliminarily identifies and frames blocks containing up-to-date data from persistent memory. This preliminary action ensures that subsequent operations work with the most current data, maintaining data freshness and consistency across the hierarchical storage system.
3Speed
If byte-addressable persistent memory is implemented, then access performance improves, but compatibility with traditional block-addressable file systems is lost
Solution Approach 1:
The framing mechanism serves as a translation layer between byte-addressable persistent memory and block-addressable file systems. It converts persistent memory operations into file system-compatible operations, allowing traditional file system tools and operations to work with persistent memory without requiring changes to existing software.
Solution Approach 2:
The persistent memory tier is designed to serve multiple functions: high-performance data access, data caching, and integration with existing file systems. By making the persistent memory tier universally compatible with block-addressable operations through framing, the system achieves both performance improvement and ease of operation.
Data Source
AI summary
Techniques are provided for data management across a persistent memory tier and a file system tier. A block within a persistent memory tier of a node is determined to have up-to-date data compared to a corresponding block within a file system tier of the node. The corresponding block may be marked as a dirty block within the file system tier. Location information of a location of the block within the persistent memory tier is encoded into a container associated with the corresponding block. In response to receiving a read operation, the location information is obtained from the container. The up-to-date data is retrieved from the block within the persistent memory tier using the location information for processing the read operation.


