File System Free Space Tracking via Fragment Counters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current file systems that compress data into multi-block segments face inefficiencies in tracking free space, leading to underestimation of available storage resources, as existing block allocation status methods fail to accurately identify areas with sufficient free space, resulting in inefficient resource utilization and potential delays in storage operations.
Innovation Solution
The implementation of reference weights for compressed storage extents in multi-block segments, where a file system manager increments a freed-fragment counter upon changes in weight indicating unused storage, allowing for more accurate tracking and scavenging of free space, thereby optimizing resource allocation and reducing fragmentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If block allocation status methods are used to track free space in compressed segments, then the tracking mechanism is simple, but the free space measurement is inaccurate and underestimated
Solution Approach 1:
The patent divides a segment into multiple compressed storage extents and tracks each extent's allocation status individually using reference weights. This segmentation allows accurate measurement of free space within segments by examining each extent separately, rather than treating the entire segment as a single unit. The freed-fragment counter aggregates the number of free extents across all segments, providing precise free space measurement.
Solution Approach 2:
The patent introduces reference weights as an intermediary mechanism to track the allocation status of compressed storage extents. Each extent has a reference weight that indicates whether it is allocated or free, serving as a mediator between the physical storage structure and the logical free space tracking. This intermediary layer enables accurate free space measurement without requiring complex direct monitoring of the underlying storage structure.
2Productivity
If utilities scavenge free space without accurate information, then resource allocation is simple, but file system performance deteriorates due to fragmentation
Solution Approach 1:
The patent implements a feedback mechanism where the freed-fragment counter provides accurate information about available free space to the file system manager. This feedback enables utilities to make informed decisions about where to scavenge free space, targeting segments with freed extents rather than allocating randomly. The file system manager uses this information to coordinate scavenging operations that reduce fragmentation and improve sequential write performance.
Solution Approach 2:
The patent performs preliminary tracking of freed fragments using reference weights and the freed-fragment counter before scavenging operations occur. By maintaining up-to-date information about which extents are free and which segments contain freed fragments, the system prepares the necessary information in advance, enabling efficient scavenging decisions that reduce fragmentation and improve overall file system performance.
3Quantity of substance
If all blocks in a segment are marked allocated, then tracking is straightforward, but available storage resources are underestimated
Solution Approach 1:
The patent segments each multi-block storage segment into individual compressed storage extents and tracks the allocation status of each extent separately using reference weights. This allows the system to identify that some extents within a segment may be free even when other extents are allocated, preventing the underestimation of available storage resources. The freed-fragment counter aggregates free extent counts across segments, providing an accurate view of total available space.
Solution Approach 2:
The patent applies local quality by assigning different reference weight values to different storage extents within the same segment based on their individual allocation status. Rather than treating all blocks uniformly, the system recognizes that each extent has its own allocation state, allowing precise local tracking that accurately reflects the true amount of available storage resources across the entire file system.
Data Source
AI summary
A technique for managing storage space in a file system applies reference weights to compressed storage extents stored in multi-block segments. Each time a reference weight for a compressed storage extent in a segment changes to a value that indicates that the storage extent is no longer in use, a file system manager increments a freed-fragment counter provided for a range of the file system that includes the segment. The file system manager then determines whether to scavenge for free space in that range of the file system based at least in part on a count of the free-fragment counter.


