Segment Group-Based Cleaning for Storage I/O Load Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In log-structured file systems, the increasing number of live blocks in victim segments during segment cleaning leads to higher I/O load, making it inefficient to select appropriate victim segments for cleaning, especially when newly written, updated, and written-back data are stored in different segment groups.
Innovation Solution
A host with a file system module that calculates victim points for segments in different segment groups using specific formulas, selects victim segments based on these points, and writes back live blocks to reduce I/O overhead by managing cache and bitmap data effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If victim segments with many live blocks are selected for cleaning, then segment cleaning can be performed, but the I/O load of the write-back operation increases
Solution Approach 1:
The patent changes the selection parameter from simply choosing segments with few live blocks to calculating comprehensive victim points that consider multiple factors including live block proportion, segment age, and access frequency. This allows for more nuanced selection that balances cleaning needs with I/O load management.
Solution Approach 2:
The patent divides segments into different groups (first segment group and second segment group) with different victim point calculation formulas. This segmentation allows differential treatment of segments based on their characteristics, optimizing the balance between cleaning efficiency and I/O load for each group.
2Productivity
If a single victim point calculation formula is used for all segments, then the calculation process is simple, but it cannot optimize cleaning for different segment groups with different characteristics
Solution Approach 1:
The patent segments the storage space into different segment groups (first segment group for newly written data, second segment group for updated data) and applies different victim point calculation formulas to each group. This allows optimization tailored to each segment group's characteristics while maintaining manageable complexity through clear differentiation.
Solution Approach 2:
Different victim point calculation formulas are applied to different segment groups based on their local characteristics. The first segment group uses a formula considering live block proportion and segment age, while the second segment group uses a different formula, allowing each region to be optimized for its specific access patterns and data characteristics.
Data Source
AI summary
Victim segments to be returned to a free area in a segment cleaning process from a plurality of segments included in each segment group are selected by using a method corresponding to the segment group. A host comprises an interface relaying data exchange with a storage device; and a file system module performing a segment cleaning process by selecting victim segment from a plurality of segments stored in the storage device, discovering live blocks in each of the victim segments, writing back the discovered live blocks to the storage device through the interface, and returning the victim segments to a free area. The file system module calculates victim points for all segments included in a first segment group using a first victim point calculation formula, calculates victim points for all segments included in a second segment group using a second victim point calculation formula, and selects the victim segments based on the victim points.


