Scavenging Free Provisioned Blocks in Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in deallocating blocks of storage when they are no longer used, particularly due to resource-intensive processing and the challenge of balancing space reclamation with unnecessary metadata updates, which can impact I/O performance.

Innovation Solution

A method and system for scavenging blocks by selectively identifying candidate upper deck file systems, performing hole punching on specific criteria, and updating block status to free or not shared, with options for different scenarios such as only primary upper deck file systems or both primary and snapshot systems, to efficiently deallocate lower deck file system blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If hole punching is performed on all upper deck file system blocks, then space reclamation is maximized, but system resource consumption increases and I/O performance deteriorates

Engineering Contradiction:
Improvefreed storage blocksVSAvoidI/O performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating between shared and non-shared blocks. Hole punching is selectively applied only to non-shared blocks that can be safely deallocated, while shared blocks are preserved. This localized approach maximizes space reclamation from eligible blocks while avoiding unnecessary metadata updates on shared blocks, thus improving I/O performance while maintaining effective space reclamation.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If hole punching is performed on shared blocks, then space reclamation is improved, but data reliability deteriorates due to potential corruption

Engineering Contradiction:
Improvefreed storage blocksVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements preliminary anti-action by checking the sharing status of blocks before performing hole punching. The system proactively identifies and excludes shared blocks from the hole punching operation, preventing potential data corruption before it can occur. This preventive measure ensures data reliability is maintained while still allowing space reclamation on safe, non-shared blocks.

Inventive Principle:
Principle #9Preliminary anti-action

3Quantity of substance

If scavenging is performed on all candidate file systems, then space reclamation effectiveness is maximized, but system resource consumption increases

Engineering Contradiction:
Improvereclaimed storage spaceVSAvoidsystem resource consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by performing scavenging operations only on a selected subset of candidate upper deck file systems rather than all of them. The system intelligently selects which file systems to scavenge based on criteria such as sharing status and reclamation potential, performing hole punching only where beneficial. This partial approach maintains effective space reclamation while reducing unnecessary system resource consumption from exhaustive scanning and processing of all file systems.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11204703B2Techniques for scavenging of free provisioned blocks
Publication Date: 2021.12.21 EMC IP HLDG CO LLC
  • US11204703B2 patent drawing
  • US11204703B2 patent drawing
  • US11204703B2 patent drawing

AI summary

Techniques for scavenging blocks may include: determining, in accordance with a selected option, a set of candidate upper deck file systems, wherein at least a first of the candidate upper deck file systems has storage allocated from at least one block of a lower deck file system; and performing, in accordance with the selected option, scavenging of the set of candidate upper deck file systems to attempt to free blocks of the lower deck file system. Scavenging may include issuing a request to perform hole punching of a backed free block of the first candidate upper deck file system, wherein the backed free block has first provisioned storage that is associated with a block of the lower deck file system. The selected option may be one of multiple options each specifying a different candidate set of upper deck file systems upon which hole punching is performed when selected.