Garbage Collection for Log-Structured Data Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Log-structured storage systems face inefficiencies in managing storage space as they grow, leading to increased I/O operations due to the need to move and compact log records, which undermines the latency benefits they were designed to provide.

Innovation Solution

Implementing efficient garbage collection techniques that identify and reclaim log records based on a log reclamation point, generating new data page versions from identified records and persisting them in base page storage, allowing for the reuse of data blocks for new log records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If log records are moved and compacted to free storage space, then storage space is reclaimed, but the number of I/O operations increases

Engineering Contradiction:
Improvestorage spaceVSAvoidI/O operations
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the log-structured data store into a log region and a base page region, with the log region further divided into extents. This segmentation allows independent management of log records and base pages, enabling space reclamation in the log region without requiring movement of data between regions, thus reducing I/O operations while reclaiming storage space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a log extent pointer and extent metadata as intermediaries to manage log records. Instead of directly moving log records to reclaim space, the system uses pointers and metadata to track and manage log extents, allowing space reclamation through pointer updates and metadata management rather than physical data movement, thereby reducing I/O operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If log records are moved to free up space, then storage space is made available, but system latency increases

Engineering Contradiction:
Improvestorage spaceVSAvoidsystem latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-allocating log extents and maintaining extent metadata in advance. When space needs to be reclaimed, the system can quickly update pointers and metadata without performing time-consuming data movements, thus reducing system latency while making storage space available.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying of metadata (log extent pointers and extent information) rather than copying actual log record data when managing space. This allows the system to update space management information quickly without the overhead of moving large amounts of data, thereby reducing system latency while reclaiming storage space.

Inventive Principle:
Principle #26Copying

3Productivity

If the log grows to accommodate frequent data changes, then write efficiency is maintained, but storage space is consumed

Engineering Contradiction:
Improvewrite efficiencyVSAvoidstorage space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of log organization by introducing extents with configurable sizes and using pointers to manage log regions. This allows the system to efficiently manage the growth of the log by allocating and reclaiming extents dynamically, maintaining write efficiency while controlling storage space consumption through parameter-based management rather than uncontrolled log growth.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10437721B2Efficient garbage collection for a log-structured data store
Publication Date: 2019.10.08 AMAZON TECH INC
  • US10437721B2 patent drawing
  • US10437721B2 patent drawing
  • US10437721B2 patent drawing

AI summary

A log-structured data store may implement efficient garbage collection. Log records may be maintained in data blocks according to a log record sequence. Based, at least in part, on a log reclamation point, the log records may be evaluated to identify data blocks to reclaim that have log records in the log sequence prior to the log reclamation point. New versions of data pages updated by log records in the identified data blocks may be generated and stored in base page storage for the log structured data store. The identified data blocks may then be reclaimed for storing new data.