Persistent Data Structure Store with Byte-Addressable Copy
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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
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.
Data Source
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.


