Partial Garbage Collection in Log-Structured File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Log-structured file systems experience performance deterioration due to overhead delays during garbage collection in flash storage devices, and existing methods like slack space recycling may not always improve write performance effectively.

Innovation Solution

A computing device and method that calculate and select the file write method with the smallest overhead among slack space recycling, internal-segment-copying-based garbage collection, and external-segment-copying-based garbage collection to optimize write performance and maintain data consistency by performing partial garbage collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If garbage collection is performed to collect invalid blocks and create new segments, then the file system can maintain sequential write capability, but write performance deteriorates due to overhead delays

Engineering Contradiction:
Improvesequential write capabilityVSAvoidwrite performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent applies partial garbage collection by selectively collecting invalid blocks only when necessary (when consecutive spaces are needed) rather than performing full garbage collection. This partial action maintains sequential write capability while minimizing the overhead delay that would otherwise deteriorate write performance.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent dynamically adjusts the garbage collection strategy based on current system state. It monitors whether consecutive spaces are available and switches between performing garbage collection and using slack space recycling, optimizing write performance while maintaining sequential write capability when needed.

Inventive Principle:
Principle #15Dynamics

2Productivity

If slack space recycling is used to avoid garbage collection overhead, then write performance is maintained, but random write operations increase which may reduce effectiveness

Engineering Contradiction:
Improvewrite performanceVSAvoidrandom write operations
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent implements feedback mechanisms that monitor the effectiveness of slack space recycling and the availability of consecutive spaces. Based on this feedback, it dynamically determines whether to continue using slack space recycling or switch to garbage collection, thereby managing random write operations while maintaining write performance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically switches between slack space recycling and garbage collection based on real-time conditions. When consecutive spaces are available, it uses slack space recycling to maintain write performance; when they are not available, it performs garbage collection to prevent excessive random write operations.

Inventive Principle:
Principle #15Dynamics

3Productivity

If internal-segment-copying-based garbage collection is performed, then garbage collection is done on the target segment, but overhead may increase due to segment copying operations

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidoverhead delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the storage into segments and performs garbage collection on a per-segment basis. Internal-segment-copying-based garbage collection copies valid blocks within the same segment, which is more efficient than cross-segment copying. This segmentation approach improves garbage collection efficiency while minimizing overhead delays.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different garbage collection strategies to different segments based on their specific characteristics. Internal-segment-copying-based garbage collection is used when valid blocks can be relocated within the same segment, reducing the overhead associated with cross-segment data movement and improving overall efficiency.

Inventive Principle:
Principle #3Local quality

4Productivity

If external-segment-copying-based garbage collection is performed, then invalid blocks are collected from different segments, but device complexity increases due to cross-segment management

Engineering Contradiction:
Improvespace utilizationVSAvoidcross-segment management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent organizes storage into manageable segments and implements external-segment-copying-based garbage collection that operates within this segmented structure. By maintaining segment boundaries and using segment information tables, the system achieves effective space utilization while managing cross-segment operations through a structured approach that limits complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses segment information tables and checkpoint mechanisms as intermediaries to manage cross-segment garbage collection operations. These intermediaries abstract the complexity of cross-segment data movement, allowing external-segment-copying-based garbage collection to improve space utilization without proportionally increasing device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10558616B2Method and apparatus for partial garbage collection in filesystems
Publication Date: 2020.02.11 RES & BUSINESS FOUND SUNGKYUNKWAN UNIV
  • US10558616B2 patent drawing
  • US10558616B2 patent drawing
  • US10558616B2 patent drawing

AI summary

A computing device includes a storage device in which a program for operating a file system is stored, and a processor configured to execute the program stored in the storage device wherein, in response to execution of the program, if a write request upon a file to be stored in the storage device is generated, the processor calculates, based on one or more file write methods included in the file system, an overhead of each of the one or more write methods, selects a file write method having the smallest overhead among the one or more file write methods, and records the file in the storage device by using the selected file write method, the one or more file write methods include slack space recycling (SSR), internal-segment-copying-based garbage collection and external-segment-copying-based garbage collection.