Scavenging Free Provisioned Blocks in Storage Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Quantity of substance
If hole punching is performed on shared blocks, then space reclamation is improved, but data reliability deteriorates due to potential corruption
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.
3Quantity of substance
If scavenging is performed on all candidate file systems, then space reclamation effectiveness is maximized, but system resource consumption increases
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.
Data Source
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.


