File System Duplicate Block Recovery via Metadata Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional file system checking (FSCK) utilities face inefficiencies in detecting and recovering duplicate file system blocks, leading to increased storage resource consumption and recovery time, especially when dealing with large file systems and shared data blocks between files and snapshot copies.

Innovation Solution

The method involves detecting duplicate file system blocks by evaluating metadata, using logical offset information from per-block metadata to efficiently process inodes, and updating references to remove duplicate blocks without iterating over the entire file system block hierarchy, thereby improving memory and storage utilization and reducing recovery time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional FSCK utilities iterate over the entire file system block hierarchy to detect duplicate blocks, then they can ensure complete detection, but the recovery time and computational resources increase significantly

Engineering Contradiction:
Improveduplicate block detection completenessVSAvoidrecovery time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts the detection of potential duplicate blocks from the exhaustive iteration process by using per-block metadata to identify blocks that are referenced by multiple inodes. This extraction allows the system to focus only on suspicious blocks rather than examining the entire file system hierarchy, thereby maintaining detection effectiveness while reducing recovery time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary action by pre-computing and storing per-block metadata that tracks which inodes reference each block. This preliminary information is prepared before the FSCK operation, enabling the utility to quickly identify candidate duplicate blocks without having to traverse the complete file system structure during the recovery process.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If conventional FSCK utilities examine every block in the file system hierarchy, then they can ensure accurate metadata validation, but memory and storage resources are consumed inefficiently

Engineering Contradiction:
Improvemetadata validation accuracyVSAvoidmemory and storage resource consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the file system validation process by dividing it into block-level operations using per-block metadata. Instead of loading and examining the entire file system hierarchy in memory, the system processes blocks individually or in small groups, tracking references through compact metadata structures. This segmentation reduces memory consumption while maintaining validation accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces per-block metadata as an intermediary structure that mediates between the file system hierarchy and the validation process. This intermediary contains essential reference information in a compact form, allowing the FSCK utility to validate metadata accurately without needing to maintain the complete file system structure in memory simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the FSCK utility processes large file systems with many shared data blocks, then it can ensure thorough recovery, but the complexity of the recovery process increases

Engineering Contradiction:
Improverecovery thoroughnessVSAvoidrecovery process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the complex task of tracking block references across the entire file system by focusing only on blocks that have non-zero reference counts in the per-block metadata. This extraction simplifies the recovery process by eliminating the need to examine blocks that are not shared, thereby reducing process complexity while maintaining thorough recovery for actual duplicate blocks.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter of block examination from a static file system hierarchy traversal to a dynamic selection based on reference count parameters stored in per-block metadata. This parameter-driven approach automatically adapts to the actual sharing patterns in the file system, simplifying the recovery process for large file systems with many shared blocks by focusing computational effort only where needed.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9020903B1Recovering duplicate blocks in file systems
Publication Date: 2015.04.28 EMC IP HLDG CO LLC
  • US9020903B1 patent drawing
  • US9020903B1 patent drawing
  • US9020903B1 patent drawing

AI summary

A method is used in recovering duplicate blocks in file systems. A duplicate file system block is detected in a file system. The duplicate file system block is referred by a first inode associated with a first file of the file system and a second inode associated with a second file of the file system. Metadata of the duplicate file system block is evaluated. Based on the evaluation, a set of inodes in the file system is determined. Each inode of the set of inodes refer to the duplicate file system block. Based on the determination, the set of inodes is updated.