Adaptive Garbage Collection for Key-Value Engines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing key-value engines face inefficiencies in garbage collection and compaction processes, leading to unnecessary data movement and increased write amplification, due to lack of awareness of application-side data deletion and limited flexibility in garbage collection strategies.

Innovation Solution

The proposed solution involves designing key-value engines with awareness of application-side data deletion, including expired pages, and implementing a flexible and adaptive garbage collection process that dynamically adjusts based on disk capacity usage. This includes periodic compaction functionality, read amplification optimization, and identification and segregation of hot and cold data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If traditional garbage collection is performed without application-side awareness, then storage space can be reclaimed, but unnecessary data movement occurs and write amplification increases

Engineering Contradiction:
Improvestorage space reclamation efficiencyVSAvoidwrite amplification
Core Design Contradiction:
Loss of substanceVSLoss of energy

Solution Approach 1:

The key-value engine implements feedback mechanisms by continuously monitoring application-side deletion metadata and using this information to guide garbage collection decisions. The system receives feedback about which data blocks are actually deleted by applications and adjusts its collection strategy accordingly, avoiding movement of already-deleted data and reducing write amplification.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-tracking application-side deletions and maintaining metadata about deleted data blocks before garbage collection occurs. This preliminary tracking allows the garbage collection process to identify and skip already-deleted data, preventing unnecessary data movement and reducing the overall write amplification factor.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If fixed garbage collection strategies are used, then implementation is simple, but the system cannot adapt to varying disk capacity usage and workload conditions

Engineering Contradiction:
Improvegarbage collection adaptabilityVSAvoidgarbage collection strategy complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The garbage collection strategy transitions from static to dynamic by continuously adjusting collection parameters based on real-time disk capacity usage monitoring. The system dynamically modifies garbage collection thresholds, thread counts, and aggressiveness levels according to current workload conditions and available storage capacity, enabling adaptation without requiring complex manual configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The key-value engine implements self-service capabilities by automatically monitoring its own disk capacity usage and workload conditions, then autonomously adjusting its garbage collection strategy without external intervention. The system services itself by detecting when disk capacity thresholds are approached and proactively modifying collection behavior to prevent performance degradation.

Inventive Principle:
Principle #25Self-service

3Loss of substance

If aggressive garbage collection is performed to reclaim storage space, then disk capacity is freed, but foreground client threads are obstructed and performance degrades

Engineering Contradiction:
Improvestorage space reclamationVSAvoidclient thread performance
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The garbage collection process employs periodic action by executing collections at scheduled intervals rather than continuously or aggressively in response to every threshold event. This periodic approach allows foreground client operations to proceed uninterrupted between collection cycles, balancing storage reclamation with client performance requirements.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system applies partial action by performing garbage collection on only a subset of data blocks during each collection cycle, specifically targeting blocks that are not currently needed by foreground operations. This selective approach reclaims storage space while minimizing interference with active client threads, as collection is performed partially rather than comprehensively.

Inventive Principle:
Principle #16Partial or excessive action

4Productivity

If compaction is performed frequently to consolidate data, then data handling efficiency improves, but unnecessary data movement increases

Engineering Contradiction:
Improvedata handling efficiencyVSAvoiddata movement overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The compaction process uses feedback from application-side deletion metadata to determine when compaction is actually needed. By monitoring deletion patterns and disk capacity usage, the system receives feedback that prevents compaction when data has already been logically deleted, avoiding unnecessary data movement while maintaining compaction when it provides genuine efficiency benefits.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system replaces the traditional mechanical compaction approach with a more intelligent process that uses application-side deletion awareness to substitute physical data movement with logical tracking. Instead of mechanically consolidating all data blocks, the system substitutes this with metadata-based tracking of deleted blocks, reducing actual data movement while maintaining data handling efficiency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12298900B2Methods and systems for garbage collection and compaction for key-value engines
Publication Date: 2025.05.13 LEMON INC(GB)
  • US12298900B2 patent drawing
  • US12298900B2 patent drawing
  • US12298900B2 patent drawing

AI summary

Methods and systems for garbage collection and compaction for key-value engines in a data storage and communication system. The method includes determining disk capacity usage of the key-value engine and adjusting a garbage collection percentage threshold and a number of garbage collection threads based on whether the disk capacity usage of the key-value engine meets and/or exceeds predetermined disk capacity usage thresholds. The method may further include performing a periodic compaction process to consolidate one or more expired pages of one or more applications on a log-structured merge (LSM) tree by merging one or more layers into a last layer of the one or more expired pages to reduce data handling during an occurrence of the garbage collection.