File System Framework Dynamic Recovery Transaction Logs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file systems, particularly transaction-based systems, fail to dynamically restore their state after power interruptions, leading to data loss and inefficiencies in recovery processes due to global synchronization bottlenecks and manual repair requirements.

Innovation Solution

A file system framework that supports a Flash Transaction File System (FTFS) with a common core architecture, enabling dynamic reconstruction of file systems using transaction records, supporting transactions on a file-by-file basis, and providing features like encryption, extended inode mappings, access control lists, and sparse file support, which allows for efficient recovery and reduced processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If transaction-based file system is used to maintain consistency, then data integrity is improved, but recovery time increases due to manual repair requirements

Engineering Contradiction:
Improvedata integrityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by maintaining a transaction log that records all file system operations before they are committed. This log is continuously updated and kept in a recoverable state, so that if power is lost, the system can immediately replay these pre-recorded transactions to restore consistency without manual intervention. The transaction log acts as a pre-prepared recovery mechanism that eliminates the need for time-consuming manual repair processes.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If global synchronization is used to restore file system state, then consistency is improved, but processing speed deteriorates due to synchronization bottlenecks

Engineering Contradiction:
ImproveconsistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the file system recovery process into individual transaction units. Instead of performing a global synchronization operation that processes the entire file system at once, the system recovers by sequentially applying individual transactions from the log. Each transaction is independent and can be processed quickly without waiting for global state coordination, thereby maintaining consistency while dramatically improving recovery speed.

Inventive Principle:
Principle #1Segmentation

3Reliability

If transaction logging is implemented for all updates, then data recovery capability is improved, but system complexity increases

Engineering Contradiction:
Improverecovery capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a transaction logging mechanism that serves multiple functions: it provides recovery capability, maintains consistency, and enables efficient replay operations. The same transaction log structure is used for both normal operation logging and recovery operations, eliminating the need for separate complex recovery mechanisms. This multi-functional approach reduces overall system complexity while maintaining robust recovery capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11977456B2File system framework
Publication Date: 2024.05.07 BLACKBERRY LTD
  • US11977456B2 patent drawing
  • US11977456B2 patent drawing
  • US11977456B2 patent drawing

AI summary

A computer system includes a processor and a persistent data storage. The persistent data storage includes flash-like storage media that includes multiple contiguous memory blocks. Each of the contiguous memory blocks includes multiple contiguous memory pages. Multiple file systems executable by the processor manage file data and the file system structure of files stored in the persistent data storage. A core executable by the processor provides a common internal model and software routines that provide common functionality to each of the file systems. Some of the file systems are executable to reconstruct the one or more file systems using a plurality of transaction records that may be executed a plurality of times and always render the same effect.