Atomic B-tree Update in Persistent Memory File Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If journaling is used to track tree structure changes, then data integrity is improved, but access speed and productivity decrease
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.
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.
3Reliability
If disk check and journaling are employed to manage intermittent states, then reliability is improved, but time for operations and recovery increases
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.
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.
4Reliability
If atomic operations are implemented for tree structure updates, then data integrity is improved, but device complexity increases
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.
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.
Data Source
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.


