Adaptive Storage Garbage Collection via Workload Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage device garbage collection methods are inefficient as they do not adapt to varying workloads, leading to performance issues during high I/O request periods and suboptimal data storage capacity utilization during low workload periods.

Innovation Solution

The system determines the workload threshold to selectively choose between different portions of the storage device for garbage collection, prioritizing speed during high workloads and data storage capacity during low workloads, using a controller that monitors I/O requests and performs adaptive garbage collection based on the storage device's conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional garbage collection is performed without workload adaptation, then the storage device can maintain basic functionality, but performance deteriorates during high I/O request periods and data storage capacity utilization is suboptimal during low workload periods

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidworkload adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The garbage collection process is made dynamic by continuously monitoring workload characteristics and adapting the selection of storage portions accordingly. During high workloads, the system dynamically selects portions with fewer valid data blocks to minimize collection time, while during low workloads, it selects portions that will yield maximum data storage capacity recovery, thus resolving the contradiction between productivity and adaptability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the selection parameters for garbage collection based on workload conditions. When workload is high, the parameter shifts to prioritize speed (selecting portions with fewer valid blocks). When workload is low, the parameter shifts to prioritize capacity optimization (selecting portions with more valid blocks). This parameter adaptation resolves the contradiction by allowing the system to optimize for different objectives under different conditions

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If garbage collection prioritizes speed during high workloads by selecting portions with fewer valid data blocks, then garbage collection time is reduced, but data storage capacity utilization deteriorates

Engineering Contradiction:
Improvegarbage collection timeVSAvoiddata storage capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the garbage collection strategy based on real-time workload monitoring. During high workload periods, it temporarily adopts a speed-optimized strategy selecting portions with fewer valid blocks, accepting reduced capacity utilization. During low workload periods, it switches to a capacity-optimized strategy selecting portions with more valid blocks, thereby recovering more storage capacity. This dynamic switching resolves the contradiction between minimizing time loss and maximizing quantity recovery

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If garbage collection prioritizes data storage capacity during low workloads by selecting portions with more valid data blocks, then data storage capacity is optimized, but garbage collection time increases

Engineering Contradiction:
Improvedata storage capacityVSAvoidgarbage collection time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system employs dynamic workload-based selection to switch between capacity-optimized and time-optimized garbage collection strategies. During low workloads, it safely executes longer-duration garbage collection on portions with more valid blocks to maximize capacity recovery. During high workloads, it switches to faster collection on portions with fewer valid blocks, thus resolving the contradiction by performing the time-consuming capacity-optimized collection only when system conditions permit

Inventive Principle:
Principle #15Dynamics

4Device complexity

If a fixed portion of the storage device is selected for garbage collection, then the control process is simple, but the system cannot adapt to varying workload conditions leading to performance issues

Engineering Contradiction:
Improvecontrol process complexityVSAvoidstorage device performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system changes the selection parameters for garbage collection based on monitored workload characteristics. Instead of using a fixed portion selection, it dynamically adjusts which portions are selected based on parameters such as workload intensity and portion characteristics (number of valid data blocks, available capacity). This parameter-based adaptation improves productivity while keeping the control process relatively simple by building upon existing garbage collection infrastructure

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by monitoring workload conditions and using this information to adjust garbage collection portion selection. The controller continuously observes I/O request patterns and feeds this information back into the garbage collection decision-making process, allowing the system to adapt its behavior to current conditions and improve overall performance without requiring completely new control mechanisms

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10719439B2Garbage collection of a storage device
Publication Date: 2020.07.21 SEAGATE TECH LLC
  • US10719439B2 patent drawing
  • US10719439B2 patent drawing
  • US10719439B2 patent drawing

AI summary

A method operable with the storage device includes determining a workload to the storage device based on host Input/Output (I/O) requests to the storage device. When the workload is above a threshold, a first portion of the storage device is selected for garbage collection based on the I/O requests. Otherwise, when the workload is below the threshold, a second different portion of the storage device is selected for garbage collection based on a storage ability of the second portion of the storage device.