Conditional Volume File Truncation for Storage Space Reclamation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems face inefficiencies in reclaiming storage space due to the presence of snapshot copies, as not all blocks can be relocated or freed, leading to suboptimal space reclamation.
Innovation Solution
A method is introduced to conditionally truncate the primary volume file by approximating the amount of space to be freed by categorizing and counting data blocks, determining if the approximation exceeds a predetermined threshold before proceeding with truncation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the primary volume file is truncated to reclaim storage space, then storage space is freed, but data integrity may be compromised if blocks are improperly relocated
Solution Approach 1:
The system performs preliminary actions by categorizing blocks into three groups (relocatable, non-relocatable, and free blocks) and calculating the net space approximation before actually truncating the volume file. This ensures that truncation only occurs when sufficient relocatable blocks exist to maintain data integrity, preventing premature or unsafe space reclamation.
2Quantity of substance
If all blocks are attempted to be relocated for space reclamation, then storage space is maximally freed, but system complexity and processing time increase
Solution Approach 1:
The system segments blocks into three distinct categories: relocatable blocks (can be moved), non-relocatable blocks (cannot be moved, e.g., shared with snapshots), and free blocks (already released). This segmentation simplifies the space reclamation process by focusing only on relocatable blocks, avoiding unnecessary complexity while maximizing effective space recovery.
Solution Approach 2:
Instead of attempting to relocate all blocks, the system performs partial action by only relocating the necessary number of relocatable blocks to achieve net space reclamation. The approximation calculation determines the minimum required relocation, avoiding excessive processing while still achieving effective space recovery.
3Productivity
If the primary volume file is truncated without approximation, then space reclamation is performed quickly, but unnecessary resource expenditure occurs when insufficient space can be freed
Solution Approach 1:
The system performs a preliminary approximation calculation by counting relocatable, non-relocatable, and free blocks to determine if truncation will yield net space recovery. This preliminary assessment prevents unnecessary truncation operations that would consume resources without achieving meaningful space reclamation, optimizing the balance between speed and resource efficiency.
4Reliability
If blocks are relocated before truncation, then data integrity is maintained, but processing time and computational resources increase
Solution Approach 1:
The system performs preliminary counting and categorization of blocks to identify relocatable blocks that need to be moved before truncation. By pre-identifying the exact number and locations of relocatable blocks, the system minimizes actual relocation processing time during truncation while ensuring data integrity is maintained through proper block management.
Data Source
AI summary
A method of conditionally truncating a volume file in a data storage system includes identifying counts of categories of data blocks of the volume file, including (1) a first count of blocks owned by the volume file and located after the target end-of-file, (2) a second count of blocks located after the target end-of-file and requiring relocation to before the target end-of-file, and (3) a third count of blocks being free and owned by the volume file and located before the target end-of-file. An approximation of space to be freed is generated as a difference between the first count and a value expressing an excess of the second count over the third count. When the approximation is above a predetermined threshold, then the volume file is truncated to the target end-of-file, and otherwise truncating is refrained from.


