File System Defragmentation During Over-Write

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File fragmentation in digital computer systems leads to decreased read performance due to non-contiguous file system block allocations, which existing background defragmentation methods often contend with user I/O and metadata, making them inefficient.

Innovation Solution

A method that performs defragmentation during file over-write operations by determining fragmentation and allocating contiguous file system blocks, substituting them for existing allocations, thereby reducing fragmentation without introducing additional contention with user operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If flexible file system block allocation is used, then storage utilization efficiency is improved, but file fragmentation increases leading to decreased read performance

Engineering Contradiction:
Improvestorage utilization efficiencyVSAvoidread performance
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent performs defragmentation proactively during write operations before read operations occur. When a write operation is detected on a fragmented file, the system automatically consolidates the file's blocks into contiguous space, ensuring optimal read performance is maintained without requiring separate defragmentation passes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The file system automatically detects and corrects its own fragmentation issues during normal write operations. The defragmentation process is triggered by write operations themselves, allowing the system to self-correct without external intervention or background processes that would contend with user I/O.

Inventive Principle:
Principle #25Self-service

2Productivity

If background defragmentation process is run, then file fragmentation is reduced, but contention with user I/O and metadata access increases

Engineering Contradiction:
Improvedefragmentation effectivenessVSAvoidtransparency to application programs
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent merges the defragmentation function with the existing write operation pathway. Instead of running separate background defragmentation processes, the defragmentation logic is integrated into the write path, so that writes and defragmentation occur in a unified, coordinated manner without competing for resources.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The useful action of writing data to the file system continues uninterrupted while defragmentation occurs. The write operation and defragmentation process work together continuously, with the write triggering and driving the defragmentation, eliminating idle background processes that would contend with user operations.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If file blocks are allocated non-contiguously, then storage flexibility is improved, but data locality is reduced affecting cache efficiency

Engineering Contradiction:
Improvestorage flexibilityVSAvoidcache access time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies local quality by making file blocks contiguous in physical storage space when they belong to the same logical file. This localized contiguity improves cache efficiency and data locality for that specific file region, while the overall file system maintains flexibility through its general allocation policies. The contiguity is applied locally to fragmented regions rather than forcing global restructuring.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8818966B1Continuous file defragmentation during file over-writes
Publication Date: 2014.08.26 EMC IP HLDG CO LLC
  • US8818966B1 patent drawing
  • US8818966B1 patent drawing
  • US8818966B1 patent drawing

AI summary

When a file system manager responds to a request to write data to a specified number of blocks of a file, the file system manager determines that corresponding file system data block allocations exist and determines that the file is fragmented over the corresponding file system data block allocations. In response to determining that the file is fragmented over the corresponding file system data block allocations, the file system manager allocates and substitutes a single extent of contiguous file system data blocks for the corresponding file system data block allocations, and writes data to the newly allocated contiguous file system data blocks. For example, the file system manager compares a spread and a count of extent fragments of the file system data block allocations to appropriate thresholds to trigger the defragmentation upon file over-write.