Persistent Memory File System Tiering for Fast Byte-Addressable Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage file systems are not optimized to leverage the faster access characteristics of byte-addressable persistent memory, as they are tailored for block-addressable storage media, leading to inefficiencies in data management and access.

Innovation Solution

A file system format is implemented that utilizes data structures and functionality tailored for byte-addressable persistent memory, enabling snapshot capture, tiering between block-addressable and byte-addressable storage, and employing per-page structures for metadata management, including generation counts and checksums to ensure data integrity and efficient scavenging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a storage file system tailored for block-addressable storage media is used, then compatibility with traditional storage devices is maintained, but the ability to leverage faster access characteristics of byte-addressable persistent memory is lost

Engineering Contradiction:
Improvedata access speedVSAvoidstorage media compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The storage system is segmented into multiple tiers: a first storage tier using block-addressable storage media managed by a storage file system, and a second storage tier using byte-addressable persistent memory managed by a file system. This segmentation allows each tier to operate with its optimal access method while maintaining overall system compatibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A file system acts as an intermediary layer between the byte-addressable persistent memory and the storage operating system stack. This intermediary enables the persistent memory to be accessed efficiently while presenting a standardized interface to upper layers, thus maintaining compatibility without sacrificing performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If block-based access methods are used, then reliability for persistent data is improved, but access latency increases compared to memory-speed storage

Engineering Contradiction:
Improvedata persistence reliabilityVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Different quality characteristics are applied to different storage tiers: the byte-addressable persistent memory tier provides memory-speed access for frequently accessed data with local persistence guarantees, while the block-addressable storage tier provides reliable long-term storage. This local quality differentiation resolves the contradiction between speed and reliability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Data is preliminarily stored in the byte-addressable persistent memory with appropriate metadata and checksums before potential migration to block storage. This preliminary action ensures that frequently accessed data maintains both high speed and reliability characteristics.

Inventive Principle:
Principle #10Preliminary action

3Speed

If byte-addressable persistent memory is directly integrated, then access speed improves, but data integrity and persistence management become more complex

Engineering Contradiction:
Improvedata access speedVSAvoiddata management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The file system serves as an intermediary that manages the complexity of byte-addressable persistent memory operations. It handles metadata management, checksum verification, persistence semantics, and data organization, thereby simplifying the interface to upper layers while enabling high-speed access to the underlying memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The file system implements self-service mechanisms including automatic checksum verification, metadata management, and persistence tracking. These self-service capabilities reduce the burden on upper layers while maintaining data integrity and enabling fast access to the byte-addressable memory.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11611348B2File system format for persistent memory
Publication Date: 2023.03.21 NETAPP INC
  • US11611348B2 patent drawing
  • US11611348B2 patent drawing
  • US11611348B2 patent drawing

AI summary

Techniques are provided for implementing a file system format for persistent memory. A node, with persistent memory, receives an operation associated with a file identifier and file system instance information. A list of file system info objects are evaluated to identify a file system info object matching the file system instance information. An inofile, identified by the file system info object as being associated with inodes of files within an instance of the file system targeted by the operation, is traversed to identify an inode matching the file identifier. If the inode has an indicator that the file is tiered into the persistent memory, then the inode it utilized to facilitate execution of the operation upon the persistent memory. Otherwise, the operation is routed to a storage file system tier for execution by a storage file system upon storage associated with the node.