Log-Structured B-Tree File System for Random Write Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Log-structured merge trees (LSM) data structures, while attractive for high insert volumes, suffer from poor performance in random read operations, making them unsuitable for file systems that require high read performance and consistency, especially in scenarios where storage systems may crash or fail.

Innovation Solution

A file system architecture utilizing a write-back cache, B-tree data structure, logical log, and physical log for atomic updates, which optimizes random writes and read performance, and facilitates easier implementation compared to LSM trees, ensuring data consistency and quick access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If log-structured merge trees (LSM) are used for high insert volume, then write performance is improved, but read performance deteriorates

Engineering Contradiction:
Improveinsert volumeVSAvoidread performance
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent segments the storage system into multiple components: a log-structured component for handling writes (log device) and a traditional file system component for handling reads (file system device). This segmentation allows each component to be optimized for its specific function, resolving the contradiction between write performance and read performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a file system as an intermediary layer between the host and the storage devices. This file system manages the interaction between the log-structured write operations and the traditional read operations, coordinating data flow and maintaining consistency while allowing each operation type to use its optimal data structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If log-structured merge trees (LSM) are used for high insert volume, then write performance is improved, but implementation complexity increases

Engineering Contradiction:
Improveinsert volumeVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the storage system into separate log device and file system device components, each with dedicated functionality. This segmentation simplifies implementation by allowing each component to use simpler, well-understood data structures rather than requiring a complex unified LSM implementation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The file system automatically manages the coordination between log writes and file system operations without requiring complex external control mechanisms. The system self-regulates data flow, consistency management, and operation routing, reducing implementation complexity.

Inventive Principle:
Principle #25Self-service

3Reliability

If atomic updates are implemented for data consistency, then reliability is improved, but operation overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidoperation overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary actions by maintaining a log of intended operations before they are fully executed. This log captures write intentions in advance, allowing the system to recover and maintain consistency after failures without requiring complex atomic update mechanisms for every operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by maintaining a log copy of operations and using this log for recovery and consistency management. Instead of implementing complex atomic updates for all operations, the system copies operation intentions to the log and uses this copy to ensure consistency, reducing the overhead of atomic update mechanisms.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9959207B2Log-structured B-tree for handling random writes
Publication Date: 2018.05.01 VMWARE INC
  • US9959207B2 patent drawing
  • US9959207B2 patent drawing
  • US9959207B2 patent drawing

AI summary

A sorted key-value store is implemented using a write-back cache maintained in memory, a B-tree data structured maintained in disk, and a logical and physical log for providing transactions. The logical log and write-back cache are used to answer client requests, while dirty blocks in the write-back cache are periodically flushed to disk using the physical log.