Persistent Data Structure Store with Byte-Addressable Copy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional key-value stores designed for persistent data management often incur long warm-up times and high overheads due to reliance on slow block-based storage and complex failure atomicity semantics, especially when using byte-addressable persistent memory technologies that offer faster performance but with higher access latencies.

Innovation Solution

A persistent data structure store system utilizing dual representations of data, with a fast, byte-addressable persistent copy in non-volatile memory and a cached copy in volatile memory, employing cross-referencing logs for concurrent logging and failure atomicity, and leveraging lower-level programming abstractions for direct access to persistent memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional block-based storage mediums are used with marshal updates via file system interface, then data persistence is achieved, but warm-up time becomes very long (several hours) and access speed is slow

Engineering Contradiction:
Improvedata persistenceVSAvoidwarm-up time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a byte-addressable copy of the data structure in persistent memory that mirrors the in-memory representation. This copy can be directly accessed without traditional file system marshaling, enabling fast warm-up while maintaining persistence. The copy is kept synchronized with the main data structure through logging mechanisms.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical file system interface and block-based access mechanisms with direct byte-addressable access to persistent memory. This substitution eliminates the need for marshaling and unmarshaling operations, reducing warm-up time from hours to minutes while preserving data persistence.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Speed

If byte-addressable persistent memory technologies are used, then access speed is improved compared to block-based storage, but access latency increases due to higher critical path overheads

Engineering Contradiction:
Improveaccess speedVSAvoidaccess latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the data access path by separating hot data (frequently accessed) from cold data. The byte-addressable persistent memory stores a copy of the data structure that can be directly accessed for fast reads, while writes are logged and applied asynchronously. This segmentation allows reads to benefit from fast persistent memory access without incurring the overhead of maintaining full synchronization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-synchronizing the persistent memory copy with the main data structure before access patterns change. Logging mechanisms are set up in advance to capture writes, and the persistent copy is updated in the background, allowing fast read access without waiting for synchronization operations.

Inventive Principle:
Principle #10Preliminary action

3Speed

If hash table based backbone structure is used for single-point query operations, then lookup time is reduced to amortized constant time, but system complexity increases due to cache management algorithms and memory management libraries

Engineering Contradiction:
Improvelookup timeVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent makes the persistent memory system self-service by implementing its own logging and synchronization mechanisms rather than relying on external file systems or complex memory management libraries. The byte-addressable persistent memory copy automatically maintains consistency with the main data structure through built-in logging, reducing the need for external cache management complexity.

Inventive Principle:
Principle #25Self-service

4Reliability

If log-structured merge trees (LSM-trees) are used to optimize storage tier, then effectiveness on slow block-based storage media is improved, but performance degrades when used with faster persistent memory due to unnecessary complexity

Engineering Contradiction:
Improvestorage optimizationVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the fundamental parameters of the storage system by using byte-addressable persistent memory instead of block-based storage. This parameter change eliminates the need for LSM-tree complexity because the persistent memory provides fast enough access that simple byte-addressable copies with logging are more effective than complex merge tree structures designed for slow media.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10360149B2Data structure store in persistent memory
Publication Date: 2019.07.23 ORACLE INT CORP
  • US10360149B2 patent drawing
  • US10360149B2 patent drawing
  • US10360149B2 patent drawing

AI summary

A persistent data structure store may include an architecture that utilizes dual representations of data hosted in persistent storage coupled with a faster non-persistent cache residing in volatile memory. The persistent data structure store may maintain, in a non-volatile persistent memory, a byte-addressable persistent copy of a data structure storing multiple data values. The persistent data structure store may also maintain a copy of at least some of the data values in a cache copy of the data structure in a volatile memory. When updating values in the data structure, the targeted data value may be updated in the cache copy of the data structure and a log entry specifying the data update may be added to a cross-referencing data operations log from which the data operation will be subsequently applied to the persistent copy of the data structure.