Persistent Memory File System Format for Byte-Addressable Tiering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage file systems are unable to adequately utilize faster byte-addressable storage media like persistent memory due to their design being tailored for block-addressable storage, resulting in inefficiencies in data access and management.

Innovation Solution

A file system format is implemented that utilizes data structures and functionality tailored for byte-addressable persistent memory, enabling snapshot capture and tiering between block-addressable and byte-addressable storage, with features such as a per-page structure table for metadata management and scavenging to optimize storage efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a storage file system tailored for block-addressable storage is used, then compatibility with traditional storage devices is maintained, but the ability to utilize byte-addressable persistent memory efficiently is lost

Engineering Contradiction:
Improveadaptability to byte-addressable storageVSAvoidfile system structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The file system is segmented into distinct layers: a persistent memory file system layer for byte-addressable persistent memory and a storage file system layer for block-addressable storage. This segmentation allows each layer to be optimized for its specific storage type while maintaining overall system functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A persistent memory file system acts as an intermediary layer between the client and the persistent memory device. This intermediary translates byte-addressable operations into appropriate storage operations, enabling efficient utilization of persistent memory without requiring changes to existing storage interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If block-based data structures are used in the file system, then traditional storage management is simplified, but data access speed on persistent memory is reduced

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

Solution Approach 1:

The file system implements local quality by using byte-addressable data structures within the persistent memory file system layer while maintaining block-based structures in the storage file system layer. This allows each layer to use the data structure best suited for its storage medium, optimizing access speed where possible.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The invention changes the addressing parameter from block-based to byte-addressable for persistent memory operations. This parameter change enables direct memory access patterns that exploit the high-speed capabilities of persistent memory, significantly improving data access speed.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the file system is optimized for fast access, then performance on persistent memory improves, but data persistence and reliability may be compromised

Engineering Contradiction:
Improvestorage performanceVSAvoiddata persistence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The persistent memory file system implements beforehand cushioning through write buffering and caching mechanisms. Data is staged in buffers before being committed to persistent memory, allowing for error checking and recovery operations without impacting the high-speed access path for valid data.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The file system employs feedback mechanisms through checksums, reference counting, and state tracking that continuously monitor data integrity. This feedback enables the system to detect and correct errors while maintaining high performance through efficient error handling paths.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11063601B1File system format for persistent memory
Publication Date: 2021.07.13 NETAPP INC
  • US11063601B1 patent drawing
  • US11063601B1 patent drawing
  • US11063601B1 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.