Log-Structured Storage Garbage Collection for Lower SSD Write Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Log structured storage systems (LSS) experience high write amplification due to the nature of their operation, leading to increased writes and wear on non-volatile solid state drives (SSDs), which can reduce their usable lifetime.

Innovation Solution

Implement policies to throttle garbage collection (GC) processing and selectively choose partially filled blocks for defragmentation to reduce write amplification, thereby minimizing SSD wear and extending their lifetime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection processing is performed frequently to maintain free blocks in non-volatile storage, then storage system reliability is improved, but write amplification increases and SSD lifetime is reduced

Engineering Contradiction:
Improvestorage system reliabilityVSAvoidSSD lifetime
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent implements dynamic adjustment of garbage collection processing based on workload conditions. The system monitors current workload and dynamically throttles GC processing when workload exceeds a threshold, and enables aggressive GC when workload is low. This dynamic approach resolves the contradiction by adapting GC intensity to system conditions, maintaining reliability when needed while reducing wear during low-utilization periods.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters of garbage collection based on system state. It adjusts the aggressiveness of GC processing by modifying parameters such as the threshold for initiating GC, the rate of block reclamation, and the priority of GC tasks. By changing these parameters dynamically, the system balances reliability requirements with SSD wear reduction.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If aggressive garbage collection is performed to maintain free blocks for log flushing, then I/O performance is improved, but write amplification increases

Engineering Contradiction:
ImproveI/O performanceVSAvoidwrite amplification
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements periodic garbage collection processing that activates during low-workload intervals and suspends during high-workload periods. Instead of continuous aggressive GC, the system uses periodic bursts of GC activity when system conditions permit, thereby maintaining free blocks for future I/O operations without incurring constant write amplification overhead.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system applies partial garbage collection action by selectively targeting only the necessary portions of filled blocks for defragmentation rather than processing all blocks uniformly. It performs GC only when free blocks fall below a threshold, applying just enough action to maintain performance without excessive processing that would increase write amplification.

Inventive Principle:
Principle #16Partial or excessive action

3Duration of action of stationary object

If selective defragmentation of partially filled blocks is performed to reduce write amplification, then SSD lifetime is extended, but device complexity increases

Engineering Contradiction:
ImproveSSD lifetimeVSAvoidstorage management complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The patent applies local quality by treating different types of blocks differently based on their characteristics. Instead of uniform GC processing, the system identifies partially filled blocks specifically and applies selective defragmentation only to these blocks. This localized approach extends SSD lifetime by reducing unnecessary writes while managing complexity through targeted rather than universal processing.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments the garbage collection process into distinct phases: identification of partially filled blocks, evaluation of defragmentation necessity, and selective execution of defragmentation. This segmentation allows the system to manage complexity by breaking down the GC process into manageable stages, each with specific criteria for execution.

Inventive Principle:
Principle #1Segmentation

4Reliability

If minimum free blocks are maintained in non-volatile storage to handle log flushing, then storage reliability is improved, but available capacity for new writes is reduced

Engineering Contradiction:
Improvestorage reliabilityVSAvoidavailable storage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic management of free block thresholds. Instead of maintaining a fixed minimum free block count, the system adjusts the threshold based on current workload conditions, I/O patterns, and system state. During low-workload periods, the threshold can be lowered to maximize available capacity, while during high-workload periods, the threshold is raised to ensure reliability, thus dynamically balancing both concerns.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12379868B1Data storage management techniques
Publication Date: 2025.08.05 DELL PROD LP
  • US12379868B1 patent drawing
  • US12379868B1 patent drawing
  • US12379868B1 patent drawing

AI summary

In at least one embodiment, processing can include: recording write operations as entries in a log; flushing the entries from the log, said flushing including persistently storing, on non-volatile storage, content written by the write operations; responsive to determining a system has a current workload below a specified workload threshold, performing first processing including: determining a first minimum number of free blocks of the non-volatile storage based on: i) an average number of free blocks expected to be consumed in connection with flushing the log in each time interval, ii) a constant, and iii) a second minimum number of blocks denoting an upper bound of a number of blocks of the non-volatile storage consumed by flushing the log in each time interval; and responsive to determining that a current number of free blocks is less than the first minimum number, performing garbage collection processing on the non-volatile storage.