Append-Only File System for Key-Value Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file systems are not optimized for key-value stores, leading to inefficiencies such as high tail latency, write amplification, and increased storage costs due to unsuitable features and structures.

Innovation Solution

A specialized file system designed for key-value stores, featuring log-structured append-only write operations, separation of data and logs, pre-allocated data spaces, synchronous and asynchronous journal compaction modes, priority-based task scheduling, and support for zoned state drives (ZNS SSDs).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If general purpose file systems are used for key-value stores, then compatibility with existing systems is maintained, but tail latency increases and write amplification occurs

Engineering Contradiction:
ImprovecompatibilityVSAvoidtail latency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The file system segments data into separate data files and metadata files, with data files being append-only and metadata files being updated separately. This segmentation allows data writes to proceed without waiting for metadata updates, reducing tail latency while maintaining compatibility with existing key-value store interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The file system pre-allocates data spaces and pre-creates the necessary file structure before actual data writes occur. This preliminary setup eliminates the need for dynamic file creation and allocation during write operations, reducing write amplification and improving throughput.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If general purpose file systems are used for key-value stores, then system simplicity is maintained, but write amplification increases

Engineering Contradiction:
Improvesystem simplicityVSAvoidwrite amplification
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The invention extracts the data storage function from the metadata management function, creating separate data files that can be written to independently of metadata updates. This extraction eliminates the need to rewrite both data and metadata on every update, significantly reducing write amplification while keeping the overall system relatively simple.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The file system pre-allocates data spaces and pre-creates the necessary file structure before actual data writes occur. This preliminary setup eliminates the need for dynamic file creation and allocation during write operations, reducing write amplification and improving throughput.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If data and logs are stored together in traditional file systems, then storage structure simplicity is maintained, but data loss in failures increases

Engineering Contradiction:
Improvestorage structure simplicityVSAvoiddata loss
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The file system segments data into separate data files and metadata files, with data files being append-only and metadata files being updated separately. This segmentation allows data writes to proceed without waiting for metadata updates, reducing tail latency while maintaining compatibility with existing key-value store interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The file system implements a journaling mechanism that logs metadata changes before they are permanently written to disk. This journal acts as a cushion that allows recovery from failures by replaying logged operations, ensuring data integrity without requiring complex replication mechanisms.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Reliability

If metadata is updated with every data write in traditional file systems, then data consistency is maintained, but metadata overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidmetadata overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The file system segments data into separate data files and metadata files, with data files being append-only and metadata files being updated separately. This segmentation allows data writes to proceed without waiting for metadata updates, reducing tail latency while maintaining compatibility with existing key-value store interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The file system implements a journaling mechanism that logs metadata changes before they are permanently written to disk. This journal acts as a cushion that allows recovery from failures by replaying logged operations, ensuring data integrity without requiring complex replication mechanisms.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentEP4530876A1Efficient append-only file system for high-performance keyvalue stores
Publication Date: 2025.04.02 LEMON INC(GB)
  • EP4530876A1 patent drawingFigure 1
  • EP4530876A1 patent drawingFigure 2
  • EP4530876A1 patent drawingFigure 3

AI summary

A file system (100) particular for use with key-value stores is provided. The file system (100) can operate in a user space instead of a kernel space. The file system (100) can be an append-only file system. The file system (100) can support use of solid state drives, SSDs, for storage, including zoned SSDs. The file system (100) can include a file manager, a metadata manager, a task scheduler, a space allocator, and a collaborator for collaborating with a key-value store.