Garbage Collection Control for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection in storage systems adds overhead by causing additional I/O requests, degrading performance, especially during high-load states, and existing methods do not effectively manage when to initiate garbage collection to minimize this impact.

Innovation Solution

A method and system that record and analyze I/O request data to determine operational states, such as idle, normal, and high-load states, and adjust the number of garbage collection requests accordingly, initiating them during idle or normal states and avoiding them during high-load states to optimize storage system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection operations are performed to consolidate valid pages and generate clean blocks, then the number of available clean blocks increases and storage device lifetime is prolonged, but additional I/O requests are caused which adds overhead and degrades storage system performance

Engineering Contradiction:
Improvestorage device lifetimeVSAvoidstorage system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The garbage collection mechanism dynamically adjusts its operation based on real-time system state detection. The system monitors I/O request patterns and operational parameters to determine when garbage collection should be executed, transitioning between active GC and suspended states according to load conditions, thereby resolving the contradiction between maintaining storage reliability and ensuring system performance

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback control by continuously monitoring I/O request characteristics and using this information to regulate garbage collection activity. The feedback mechanism allows the system to adapt GC behavior to current operational conditions, preventing performance degradation during high-load periods while maintaining block availability during appropriate windows

Inventive Principle:
Principle #23Feedback

2Productivity

If garbage collection is performed during high-load states to maintain clean blocks, then block availability is improved, but system overhead increases and normal I/O requests are interfered with

Engineering Contradiction:
Improveblock availabilityVSAvoidinterference with normal I/O requests
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary detection and classification of I/O request patterns to identify optimal windows for garbage collection execution. By analyzing historical and current I/O characteristics beforehand, the system determines when GC can safely operate without interfering with critical normal I/O operations, thus avoiding harmful interference while maintaining block availability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The garbage collection mechanism dynamically adjusts its operation based on real-time system state detection. The system monitors I/O request patterns and operational parameters to determine when garbage collection should be executed, transitioning between active GC and suspended states according to load conditions, thereby resolving the contradiction between maintaining storage reliability and ensuring system performance

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If the number of garbage collection I/O requests is increased to generate more clean blocks, then the amount of available storage space increases, but the overhead added to the storage system increases

Engineering Contradiction:
Improveamount of clean blocksVSAvoidstorage system overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system changes operational parameters such as GC intensity, request size, and execution timing based on detected system conditions. By adjusting these parameters dynamically, the system optimizes the balance between generating sufficient clean blocks and minimizing the overhead added to normal storage operations, resolving the contradiction between quantity of clean blocks and system complexity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11907564B2Method of and system for initiating garbage collection requests
Publication Date: 2024.02.20 YADRO INT LTD
  • US11907564B2 patent drawing
  • US11907564B2 patent drawing
  • US11907564B2 patent drawing

AI summary

A method and system for initiating a garbage collection request. Historical data representative of a level of initiated I/O requests is acquired. A first operational state and a second operational state are determined based on the historical data. The first operational state and second operational state are expressed in an indication of the level of initiated I/O requests to be processed. A number of currently initiated I/O requests is acquired. A determination is made as to whether the number of currently initiated I/O requests is indicative of the first operational state or the second operational state. If the computer system is in the first operational state, the garbage collection request is initiated.