LSM Tree Cache Staging with Segmented Dual Caches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current object storage platforms face inefficiencies such as high write amplification and latency due to unsupported overwriting and handling of small files, leading to costly and inefficient data operations, as well as inconsistencies during data staging, which can result in corrupted data and user experience degradation.

Innovation Solution

A computerized method and system utilizing a log-structured merge (LSM) tree file system with a dual caching mechanism, where a live data cache is converted to a stable cache, and a cloned live data cache is generated to enable parallel data staging and writing, ensuring consistent data transfer and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is staged from cache to object storage platform, then data consistency is improved, but system latency increases and cache availability decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache is segmented into multiple independent cache partitions, allowing data staging operations to be performed on one partition while other partitions remain available for new data writes. This segmentation enables parallel operations and prevents the entire cache from being blocked during staging.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-configuring multiple cache partitions and establishing the rotation mechanism in advance. When staging is needed, the system has already prepared alternative cache partitions that can immediately accept new data, eliminating the need to wait for staging completion before accepting new writes.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data staging is performed on the cache, then data can be transferred to storage, but the cache becomes occupied and unresponsive to new data

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcache availability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The cache is divided into multiple independent partitions that can operate independently. While one partition is occupied with data staging, other partitions remain fully available to receive and process new data writes, maintaining cache availability and system responsiveness throughout the staging operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The rotation mechanism ensures continuous operation by seamlessly switching between cache partitions. New data writes continue uninterrupted during staging operations by being directed to available partitions, ensuring the cache remains operational and responsive without idle time.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If the cache accepts new data during staging, then cache utilization is maintained, but data inconsistencies and corruption may occur

Engineering Contradiction:
Improvecache utilizationVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting the cache into isolated partitions, the system allows new data to be written to one partition while another partition undergoes staging operations. This physical and logical separation ensures that new writes cannot interfere with or corrupt data being staged, maintaining data consistency while keeping the cache fully utilized.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache rotation mechanism acts as an intermediary that manages data flow between different cache partitions and the storage system. It coordinates write operations and staging operations across partitions, ensuring that data consistency is maintained while maximizing cache utilization through parallel operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Quantity of substance

If object storage platform is used directly for data operations, then storage capacity is achieved, but write amplification and cost increase

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite amplification
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by batching multiple data writes in the cache before transferring them to object storage as a single operation. This preliminary aggregation of data reduces the number of separate write operations to the storage platform, minimizing write amplification and associated costs while maintaining full storage capacity utilization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11620261B2Writing data to an LSM tree file structure using consistent cache staging
Publication Date: 2023.04.04 VMWARE INC
  • US11620261B2 patent drawing
  • US11620261B2 patent drawing
  • US11620261B2 patent drawing

AI summary

The disclosure herein describes writing data to a log-structured merge (LSM) tree file system on an object storage platform. Write data instructions indicating data for writing to the LSM tree file system are received. Based on the received instructions, the data is written to the first data cache. Based on an instruction to transfer data in the live data cache to the LSM tree file system, the first data cache is converted to a stable cache. A second data cache configured as a live data cache is then generated based on cloning the first data cache. The data in the first data cache is then written to the LSM tree file system. Use of a stable cache and a cloned live data cache enables parallel writing data to the file system by the stable cache and handling write data instructions by the live data cache.