Segment Group-Based Cleaning for Storage I/O Load Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesegment cleaning efficiencyVSAvoidI/O load
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvecleaning optimizationVSAvoidvictim point calculation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9323772B2Segment group-based segment cleaning apparatus and methods for storage units
Publication Date: 2016.04.26 SAMSUNG ELECTRONICS CO LTD
  • US9323772B2 patent drawing
  • US9323772B2 patent drawing
  • US9323772B2 patent drawing

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.