File System Recovery Using In-Memory Transaction Recreation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Journaling file systems face performance bottlenecks during recovery due to the need to sequentially read and write committed but un-applied transactions from a log to disk, which becomes significant as the file system size increases and the number of transactions rises, particularly in cluster file systems.

Innovation Solution

A method for file system recovery that involves starting a recovery process for a failed node, reading committed but un-applied transactions from storage, and recreating them in memory without immediately writing to disk, allowing for parallel recovery operations and efficient handling of transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If committed but un-applied transactions are sequentially read from log and written to disk to maintain file system integrity, then file system integrity is ensured, but recovery performance deteriorates significantly

Engineering Contradiction:
Improvefile system integrityVSAvoidrecovery performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The recovery process is segmented into distinct phases: reading transactions from the log, recreating them in memory, and then writing to disk. This segmentation allows parallelization where reading and memory recreation can occur simultaneously with other recovery operations, while only the writing phase requires sequential integrity maintenance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Transactions are read from the log and recreated in memory before being written to disk. This preliminary action of loading transactions into memory allows the system to prepare and buffer transaction data, enabling parallel recovery operations and reducing the sequential write bottleneck that previously limited recovery performance.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If all committed but un-applied transactions are written to disk before resetting distributed locks, then file system consistency is maintained, but recovery time increases significantly

Engineering Contradiction:
Improvefile system consistencyVSAvoidrecovery time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system performs preliminary action by reading and recreating transactions in memory before the critical step of resetting distributed locks. This allows the transaction data to be prepared and buffered in memory, enabling the system to reset locks more quickly without immediately writing all transactions to disk, thus reducing recovery time while maintaining consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The recovery process dynamically adjusts the order of operations by allowing memory recreation to proceed in parallel with lock resetting, rather than requiring strict sequential completion. This dynamic approach maintains file system consistency while significantly reducing the time required to recover and reset distributed locks.

Inventive Principle:
Principle #15Dynamics

3Reliability

If transactions are processed sequentially to maintain integrity, then data integrity is preserved, but recovery speed decreases as file system size increases

Engineering Contradiction:
Improvedata integrityVSAvoidrecovery speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The recovery process is divided into independent segments: reading transactions from log, recreating in memory, and writing to disk. This segmentation enables parallel execution of reading and memory recreation operations while maintaining sequential integrity only where necessary for writing, thereby improving recovery speed without compromising data integrity as file system size increases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Memory serves as an intermediary buffer between the log reading phase and the disk writing phase. Transactions are read from the log and recreated in memory first, then written to disk in controlled sequences. This intermediary memory layer allows parallelization and buffering, significantly improving recovery speed while preserving data integrity through controlled memory management and sequential writing where required.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9785514B1Techniques for file system recovery
Publication Date: 2017.10.10 ARCTERA US LLC
  • US9785514B1 patent drawing
  • US9785514B1 patent drawing
  • US9785514B1 patent drawing

AI summary

Techniques for file system recovery are disclosed. In one particular exemplary embodiment, the techniques may be realized as a method for file system recovery comprising starting a recovery process for a failed node, utilizing the recovery process to read one or more committed but un-applied transactions from storage associated with the failed node, and recreating the one or more committed but un-applied transactions in memory associated with the recovery process.