Atomic B-tree Update in Persistent Memory File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file systems face challenges in maintaining data integrity and avoiding data loss during improper shutdowns, such as system crashes or power losses, due to intermittent file system states and the need for complex recovery mechanisms like journaling.

Innovation Solution

A method for updating file system tree structures through atomic operations, using a direct mapping persistent memory with NVDIMM technology, where alterations are applied in an alternate tree structure created in a reserved area, ensuring consistency and integrity by committing changes as uninterruptable atomic operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If journaling and physical media scan techniques are used to maintain file system consistency, then data integrity is improved during improper shutdowns, but device complexity and access time increase

Engineering Contradiction:
Improvedata integrityVSAvoidcomplexity of recovery mechanisms
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by creating a copy of the B-tree structure in advance before modifications are made. This copy serves as a pre-prepared alternative that can be atomically swapped in case of failure, eliminating the need for complex post-failure recovery mechanisms like journaling or media scans.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a duplicate B-tree structure that mirrors the original. This copy is maintained in a consistent state and can be swapped with the original through atomic operations, ensuring data integrity without requiring complex recovery procedures.

Inventive Principle:
Principle #26Copying

2Reliability

If journaling is used to track tree structure changes, then data integrity is improved, but access speed and productivity decrease

Engineering Contradiction:
Improvedata integrityVSAvoiddata access rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The alternate B-tree structure is prepared in advance in a consistent state, allowing immediate switching without journaling overhead during normal operations. This preliminary preparation eliminates the need for continuous journaling while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an alternate B-tree structure as an intermediary that mediates between the original structure and modifications. This intermediary allows atomic swaps without requiring journaling, thus maintaining data integrity while improving access speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If disk check and journaling are employed to manage intermittent states, then reliability is improved, but time for operations and recovery increases

Engineering Contradiction:
Improvefile system consistencyVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The alternate B-tree structure is maintained in a consistent state in advance, eliminating the need for time-consuming disk checks and journaling operations during recovery. The pre-prepared consistent state allows immediate recovery through atomic pointer reassignment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By maintaining a copy of the B-tree structure in a consistent state, the patent enables rapid recovery without time-consuming verification operations. The copy serves as a ready-to-use alternative that can be swapped atomically, dramatically reducing recovery time.

Inventive Principle:
Principle #26Copying

4Reliability

If atomic operations are implemented for tree structure updates, then data integrity is improved, but device complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidcomplexity of atomic operation mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the B-tree update process into two independent parts: the original B-tree structure and an alternate copy. This segmentation allows atomic operations to be performed on the alternate copy without affecting the original, simplifying the atomic operation mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The alternate B-tree structure serves as an intermediary that absorbs the complexity of atomic operations. By performing modifications on this intermediary structure and then atomically swapping it with the original, the patent achieves data integrity without significantly increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10489346B2Atomic update of B-tree in a persistent memory-based file system
Publication Date: 2019.11.26 NETAPP INC
  • US10489346B2 patent drawing
  • US10489346B2 patent drawing
  • US10489346B2 patent drawing

AI summary

A computer implemented method for updating a file system tree structure through an atomic operation, comprising one or more hardware processor adapted for designating a file system comprising a plurality of files arranged in a plurality of tree structures, the file system is based on a direct mapping persistent memory, receiving instructions from a client to alter an altered file of the plurality of files, creating an alternate tree structure to apply the alteration in case the alteration involves a non-atomic tree structure operation to an original tree structure of the plurality of tree structures containing the altered file and committing the alteration to the file system through an atomic operation.