Byte-Addressable Cluster Memory Copy and Restore

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Clustered memory systems face higher latency and lower bandwidth compared to local memory, and are susceptible to failures that can cause computing devices to crash, as they lack redundancy and efficient resource management.

Innovation Solution

Implementing redundancy through replication and erasure coding techniques, such as internal and external erasure coding, to ensure data availability and reduce latency and bandwidth constraints, while also using management hosts to monitor and manage memory resources across a network environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored in clustered memory servers, then memory capacity is improved, but latency increases and bandwidth decreases compared to local memory

Engineering Contradiction:
Improvememory capacityVSAvoidaccess latency and bandwidth
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The memory system is segmented into local memory components distributed across multiple computing devices, with each device maintaining its own local memory alongside clustered memory. This segmentation allows computing devices to access frequently used data locally at high speed while using clustered memory for additional capacity, thereby resolving the contradiction between expanded memory capacity and maintained access speed.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If clustered memory servers are used, then memory resources are optimized, but system reliability decreases due to susceptibility to failures

Engineering Contradiction:
Improvememory resource efficiencyVSAvoidsystem availability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system implements beforehand cushioning by maintaining local memory copies of critical data at each computing device and pre-establishing failure detection and data recovery mechanisms. When a memory server fails, the system can immediately continue operation using local memory copies, and subsequently restore data from the clustered memory, thereby preventing crashes and maintaining reliability while still benefiting from optimized memory resource allocation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If redundancy is implemented through replication and erasure coding, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata availabilityVSAvoidstorage management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service through automated management agents that autonomously handle redundancy operations, including replication, erasure coding, and data recovery. These agents operate without requiring manual intervention, automatically detecting failures and restoring data integrity. This self-service approach maintains high reliability through sophisticated redundancy mechanisms while minimizing the operational complexity burden on users and administrators.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11698760B2Copy and restore of page in byte-addressable chunks of cluster memory
Publication Date: 2023.07.11 VMWARE INC
  • US11698760B2 patent drawing
  • US11698760B2 patent drawing
  • US11698760B2 patent drawing

AI summary

Disclosed are various embodiments for improving the resiliency and performance of cluster memory. First, a computing device can submit a write request to a byte-addressable chunk of memory stored by a memory host, wherein the byte-addressable chunk of memory is read-only. Then, the computing device can determine that a page-fault occurred in response to the write request. Next, the computing device can copy a page associated with the write request from the byte-addressable chunk of memory to the memory of the computing device. Subsequently, the computing device can free the page from the memory host. Then, the computing device can update a page table entry for the page to refer to a location of the page in the memory of the computing device.