Extent Store Layer Log Stream Checkpointing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional file systems face inefficiencies in logging and checkpointing metadata, leading to high write amplification and bandwidth disruption due to the need to write entire memory contents frequently, which is undesirable and disrupts system performance.

Innovation Solution

The implementation of an extent store layer with a key-value store organized as hash tables, where changes are recorded in a continuous log stream and written to SSD in batches, using a fuzzy checkpointing technique that represents a range of points in time rather than a single point, allowing for efficient logging and reconciliation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional file systems perform fixed checkpoints by writing the entire memory state to disk, then consistency is ensured, but write amplification increases and system performance deteriorates

Engineering Contradiction:
ImproveconsistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the monolithic checkpoint operation into incremental updates organized as a log stream. Instead of writing all metadata at once, changes are divided into discrete log entries that can be written sequentially to SSD, reducing the peak write burden and improving performance while maintaining consistency through the log structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by maintaining a continuous log stream of metadata changes in memory before checkpointing. This log stream captures all modifications as they occur, allowing the system to prepare for checkpointing incrementally rather than requiring a complete memory dump at checkpoint time, thereby reducing write amplification.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If metadata updates are written frequently to ensure data integrity, then reliability improves, but write amplification to storage increases

Engineering Contradiction:
Improvedata integrityVSAvoidwrite amplification
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent creates a copy of metadata changes in the form of log entries that reference the original data without duplicating the entire metadata set. Each log entry captures only the essential change information, allowing frequent updates to be recorded with minimal storage overhead and reduced write amplification compared to writing complete metadata copies.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent changes the parameter of update frequency by enabling more frequent logging of metadata changes to the log stream. This is made possible by the efficient log structure that minimizes the cost of each write operation, allowing the system to increase update frequency for better data integrity without proportionally increasing write amplification.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If the entire memory is checkpointed to capture all metadata updates, then completeness is ensured, but bandwidth disruption occurs

Engineering Contradiction:
ImprovecompletenessVSAvoidbandwidth disruption
Core Design Contradiction:
Loss of informationVSObject-generated harmful factors

Solution Approach 1:

The patent extracts only the necessary change information from the full memory state and stores it in the log stream. Instead of checkpointing the entire metadata memory, the system extracts and logs only the modifications that occurred, ensuring completeness of captured changes while minimizing the bandwidth required for write operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by writing only the portion of metadata that has changed (the log stream) rather than the entire memory contents. This selective approach captures all necessary updates for completeness while performing a partial write operation that causes minimal bandwidth disruption to the storage system.

Inventive Principle:
Principle #16Partial or excessive action

4Speed

If metadata is spread evenly through main memory for efficient access, then read performance improves, but checkpointing becomes more expensive

Engineering Contradiction:
Improveread performanceVSAvoidcheckpoint size
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent introduces the log stream as an intermediary structure that decouples the metadata storage organization from the checkpointing process. Metadata can remain spread evenly through memory for efficient reads, while the log stream serves as a mediator that captures and sequences the changes, allowing checkpointing to operate on the compact log rather than the distributed metadata, thus reducing checkpoint size.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9268653B2Extent metadata update logging and checkpointing
Publication Date: 2016.02.23 NETAPP INC
  • US9268653B2 patent drawing
  • US9268653B2 patent drawing
  • US9268653B2 patent drawing

AI summary

In one embodiment, a cluster uses an extent store layer and a set of hash tables having a plurality of slots embodying extent metadata that describe write data of one or more write requests organized into one or more extents. One or more non-volatile logs (NVLogs) are maintained in the cluster. The one or more NVLogs include an extent store layer log maintained by the extent store layer. The extent store layer log records changes to the set of hash tables as a plurality of log stream structures, where each log stream structure is associated with a hash table. One or more storage devices of the cluster are organized as a plurality of log streams, where each log stream is associated with a corresponding log stream structure of the extent store layer log.