Persistent Key-Value Store With Journaling for Crash Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage solutions in distributed systems face challenges with high latency and suboptimal performance due to data being distributed across multiple storage devices, leading to increased network hops and write amplification, especially when using non-persistent caches and non-volatile logs.

Innovation Solution

Implementing a persistent key-value store as a primary cache backed by fast storage media like NVRAM, using key-value record pairs, and a two-phase commit process to ensure data integrity and reduce write amplification, with journaling and crash recovery mechanisms for efficient data management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is distributed across multiple storage devices in a distributed file system, then data capacity and reliability are improved, but latency increases and performance deteriorates due to increased network hops and write amplification

Engineering Contradiction:
Improvedata reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the write operation into two distinct phases: first writing data to the persistent key-value store (local cache), then asynchronously replicating to distributed storage. This segmentation allows the client to receive immediate acknowledgment, reducing latency, while maintaining data reliability through the two-phase commit mechanism that ensures eventual consistency across the distributed system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The persistent key-value store acts as an intermediary layer between the client and the distributed storage system. It buffers write operations locally, providing fast read/write access while asynchronously synchronizing with the distributed storage backend. This intermediary reduces network hops for frequent operations and manages the complexity of distributed consistency transparently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is distributed across multiple storage devices, then data capacity and reliability are improved, but write amplification increases leading to suboptimal performance

Engineering Contradiction:
Improvedata reliabilityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary writing of data to the persistent key-value store before initiating the distributed replication process. This preliminary action ensures that the data is immediately available locally, reducing the need for repeated writes to distributed storage and thereby reducing write amplification. The two-phase commit process then completes the operation by replicating to the distributed backend only when necessary.

Inventive Principle:
Principle #10Preliminary action

3Speed

If a non-persistent cache is used for fast access, then read speed is improved, but data integrity is compromised and crash recovery becomes difficult

Engineering Contradiction:
Improveread speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent changes the persistence parameter of the cache by using a persistent key-value store instead of a volatile cache. This persistent store maintains data on non-volatile memory, ensuring that data survives crashes and can be recovered. The system maintains fast read/write performance by keeping the persistent store in memory or on fast storage, while the persistence property ensures data integrity and enables crash recovery through journaling and chain reconstruction.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If a non-volatile log is used for journaling, then crash recovery capability is improved, but write amplification increases and performance deteriorates

Engineering Contradiction:
Improvecrash recovery capabilityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the journaling function with the persistent key-value store by using the same underlying storage mechanism for both caching and journaling. The key-value store inherently provides persistence and can be equipped with journaling capabilities, combining the benefits of fast access, crash recovery, and reduced write amplification into a single unified system rather than requiring separate cache and log structures.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12417176B2Persistent key-value store and journaling system
Publication Date: 2025.09.16 NETAPP INC
  • US12417176B2 patent drawing
  • US12417176B2 patent drawing
  • US12417176B2 patent drawing

AI summary

Techniques are provided for implementing a persistent key-value store for caching client data, journaling, and/or crash recovery. The persistent key-value store may be hosted as a primary cache that provides read and write access to key-value record pairs stored within the persistent key-value store. The key-value record pairs are stored within multiple chains in the persistent key-value store. Journaling is provided for the persistent key-value store such that incoming key-value record pairs are stored within active chains, and data within frozen chains is written in a distributed manner across distributed storage of a distributed cluster of nodes. If there is a failure within the distributed cluster of nodes, then the persistent key-value store may be reconstructed and used for crash recovery.