Filesystem Metadata Storage in Persistent Word-Addressable Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems using block-addressable storage slow down when modifying metadata due to the need to read and write entire blocks, even for small changes, and lack persistence across system restarts.

Innovation Solution

Storing filesystem metadata on word-addressable memory with a persistence feature, allowing for high-speed access and data integrity across system restarts, by using non-volatile or persistence-enhanced RAM to store metadata separately from block-based data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If metadata is stored on block-addressable storage, then data persistence is ensured, but metadata modification speed deteriorates due to reading and writing entire blocks

Engineering Contradiction:
Improvedata persistenceVSAvoidmetadata modification speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the storage system into two distinct parts: block-addressable storage for data persistence and byte-addressable memory for metadata storage. This segmentation allows each component to optimize for its specific function - block storage ensures persistence while byte-addressable memory enables fast metadata modifications without the overhead of reading and writing entire blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces byte-addressable memory as an intermediary layer between the filesystem and block-addressable storage. This intermediary enables fast metadata access and modification while maintaining the persistence guarantees of the underlying block storage, effectively decoupling the speed requirements from the persistence requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If metadata is stored on volatile memory, then metadata access speed is improved, but data persistence across system restarts is lost

Engineering Contradiction:
Improvemetadata access speedVSAvoiddata persistence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent uses byte-addressable memory as an intermediary that provides both fast access characteristics of volatile memory and persistence capabilities through non-volatile implementations or persistence layers, thereby achieving both speed and reliability goals simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the fundamental parameter of memory volatility by using non-volatile byte-addressable memory or implementing persistence mechanisms, transforming the memory characteristics from volatile to persistent while maintaining byte-addressability for fast access.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If entire metadata blocks are read and written for small changes, then data integrity is maintained, but time consumption increases significantly

Engineering Contradiction:
Improvedata integrityVSAvoidmetadata modification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the metadata storage from data storage, allowing metadata to be modified in-place at the byte level without affecting other metadata or requiring reading and writing of entire blocks, thus maintaining data integrity while minimizing time consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by enabling byte-level addressing and modification of metadata, allowing changes to be made only to the specific bytes that need modification rather than entire blocks, optimizing the balance between integrity and efficiency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9146928B1Techniques for storing metadata of a filesystem in persistent memory
Publication Date: 2015.09.29 EMC IP HLDG CO LLC
  • US9146928B1 patent drawing
  • US9146928B1 patent drawing
  • US9146928B1 patent drawing

AI summary

A method is presented for operating a filesystem. The method includes (a) storing data of the filesystem in a data storage filesystem (DSFS) in block-addressable non-volatile storage and (b) storing metadata of the filesystem in a metadata filesystem (MDFS) separate from the DSFS, at least a portion of the metadata being stored in word-addressable memory (WAM) having a persistence feature. Several embodiments are described for achieving this, using, for example, only non-volatile WAM, while other embodiments are described using, for example, a combination of volatile WAM and persistence techniques, while yet other embodiments are described using, for example, a combination of persistence-enhanced WAM and data storage.