Persistent Memory Data Routing via Distributed Hash Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The transition to persistent memory (PMEM) as primary storage in information processing systems introduces challenges such as decentralized data access, changed data access semantics, accessibility issues for containers, multi-cloud domain data management, tenant partitioning, and data protection, as existing methods are not PMEM-aware and lack mechanisms for tracking redundant copies.

Innovation Solution

The implementation of routing structures and hash-based data structures to associate applications with PMEM locations, enabling per-tenant binding and global data reachability, using hash values to map applications to PMEM regions across servers, and managing PMEM storage as primary data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If centralized non-volatile primary storage is used for binding applications to persistent data, then data binding is achieved, but data access efficiency deteriorates and system complexity increases

Engineering Contradiction:
Improvedata binding reliabilityVSAvoiddata access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the centralized storage binding function into distributed routing structures at each host. Each host maintains local routing information that maps application identifiers to PMEM locations, eliminating the single point of contention in centralized storage while maintaining reliable binding through distributed consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces routing structures as intermediary components between applications and PMEM storage. These routing structures translate application identifiers into physical PMEM locations, enabling efficient indirect access without requiring applications to directly manage storage bindings, thus improving both reliability and access efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If existing data access methods are used for PMEM, then compatibility with traditional storage is maintained, but PMEM-specific optimizations are lost and access semantics become unclear

Engineering Contradiction:
Improvestorage compatibilityVSAvoiddata access semantics
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent changes the access semantics parameters by treating PMEM as byte-addressable primary storage rather than block-based secondary storage. Applications access PMEM using load/store instructions with byte addresses, fundamentally changing the access pattern from traditional storage I/O to memory-like operations, which simplifies access semantics while enabling PMEM optimizations.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If containers are distributed across infrastructure components, then resource utilization improves, but binding containers to persistent data becomes complex and unreliable

Engineering Contradiction:
Improveresource utilizationVSAvoidcontainer-data binding reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where routing structures continuously track and update the mapping between distributed containers and PMEM locations. When containers move or are recreated, the routing structures receive feedback about new locations and update bindings accordingly, maintaining reliable container-data associations despite dynamic distribution across infrastructure components.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10452295B1Data routing in information processing system utilizing persistent memory
Publication Date: 2019.10.22 EMC IP HLDG CO LLC
  • US10452295B1 patent drawing
  • US10452295B1 patent drawing
  • US10452295B1 patent drawing

AI summary

In an information processing system comprising a set of computing devices wherein each computing device comprises a set of persistent memory modules resident in the computing device, a method generates at least one data structure that associates a given application program executing on the set of computing devices with at least one memory region of a given persistent memory module in a given one of the computing devices. The at least one data structure is utilized to route data between the given application program and the at least one memory region.