Multithreaded File System Check with Read Ahead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional full file system checks on multi-terabyte filesystems are excessively time-consuming, leading to prolonged downtime and necessitating filesystem sizing based on check duration rather than actual needs.

Innovation Solution

A computer-implemented method utilizing a file system check agent that divides and allocates metadata structures among multiple worker threads for parallel processing, leveraging read ahead operations and parallel I/O capabilities to expedite the file system check process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a full file system check is performed on multi-terabyte filesystems, then file system reliability is improved, but system downtime increases significantly

Engineering Contradiction:
Improvefile system reliabilityVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the file system check process into multiple independent worker threads, each handling specific metadata structures (inodes, directories, etc.). This segmentation allows parallel checking of different file system components simultaneously, reducing total check time while maintaining comprehensive validation of file system integrity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a read-ahead mechanism that pre-loads metadata structures into memory before the actual validation occurs. By anticipating which metadata will be needed and loading it in advance, the system minimizes I/O wait time during the check process, significantly accelerating the overall file system validation

Inventive Principle:
Principle #10Preliminary action

2Volume of stationary object

If file system size is increased to meet business needs, then data storage capacity is improved, but file system check duration increases

Engineering Contradiction:
Improvedata storage capacityVSAvoidfile system check duration
Core Design Contradiction:
Volume of stationary objectVSDuration of action of moving object

Solution Approach 1:

The patent segments the large file system into multiple metadata structures that can be processed in parallel by different worker threads. Each thread independently validates its assigned portion, allowing the check scale to match the file system size without linearly increasing total check duration

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the processing parameter from sequential to parallel execution by utilizing multiple worker threads and the read-ahead buffer mechanism. This parameter change enables the system to handle larger file systems efficiently, decoupling check duration from file system volume

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If conventional single-threaded file system checking is used, then implementation simplicity is maintained, but processing throughput is limited

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the file system check into discrete metadata structures that can be independently processed. This segmentation enables parallel worker threads to operate simultaneously on different portions, dramatically increasing throughput while keeping each individual thread's logic relatively simple

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a read-ahead buffer as an intermediary component between the worker threads and the storage device. This buffer mediates the data flow by pre-loading metadata, allowing worker threads to process data at higher speeds without directly competing for storage I/O resources

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9465810B2Method and system for a fast full style system check using multithreaded read ahead
Publication Date: 2016.10.11 ARCTERA US LLC
  • US9465810B2 patent drawing
  • US9465810B2 patent drawing
  • US9465810B2 patent drawing

AI summary

A method for file system checking in a storage device. The method includes executing a computer system having a plurality microprocessor cores, initiating a file system check operation by using a file system check agent that execute on the computer system and accesses a storage device, and validating a plurality of meta-data structures of the file system. The method further includes dividing and allocating the metadata structures among a plurality of worker threads. For each worker thread, data corresponding to the metadata structures is processed using a read ahead operation. file system check is processed to completion, wherein the read ahead operation feeds data corresponding to the metadata structures to each of the plurality of worker threads in parallel.