Shared Virtual Memory Data Mirroring via Page Table Entries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional NUMA and ccNUMA systems lack a straightforward data protection mechanism, leading to data unavailability or loss in case of a processing node failure, and often require elaborate replication schemes for high availability.

Innovation Solution

Implementing a data mirroring technique that activates a mirror routine for modified shared data, copying it from local to a remote device based on page table entries, ensuring data availability without complex replication schemes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional NUMA or ccNUMA systems are used without data mirroring, then the system operates with simpler architecture, but data becomes unavailable or is lost when a processing node fails

Engineering Contradiction:
Improvedata availabilityVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements data mirroring by creating and maintaining duplicate copies of shared data on remote processing nodes. When data is modified on one node, the system automatically copies the updated data to designated mirror nodes. This copying mechanism ensures that if the primary node fails, the mirrored copies remain available, thus improving data availability without requiring complex replication schemes across multiple fault domains

Inventive Principle:
Principle #26Copying

2Reliability

If elaborate replication schemes are implemented across fault domains, then data protection is improved, but the system complexity and overhead increase significantly

Engineering Contradiction:
Improvedata protectionVSAvoidreplication scheme
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent employs a simplified copying approach where data is mirrored to specific remote nodes designated as mirror targets. This is managed through the existing shared virtual memory mechanism and page table entries, rather than implementing elaborate replication schemes. The mirroring is triggered by data modification events and coordinated through the locking subsystem, providing effective data protection with minimal additional complexity

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent leverages the existing shared virtual memory and locking subsystem to perform multiple functions: data sharing, coherence management, and data mirroring. The page table entries and locking mechanisms that already exist for coordinating access to shared data are extended to also track and manage mirrored copies, eliminating the need for separate complex replication infrastructure

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If data is mirrored for every modification, then data availability is ensured, but the communication overhead and energy consumption increase

Engineering Contradiction:
Improvedata availabilityVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements selective data mirroring based on modification events. Rather than continuously syncing all data, the system mirrors only the specific pages or cache lines that have been modified, as indicated by updated page table entries or cache coherence events. This partial action approach ensures data availability for modified data while minimizing unnecessary communication overhead for unchanged data

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7774645B1Techniques for mirroring data within a shared virtual memory system
Publication Date: 2010.08.10 EMC IP HLDG CO LLC
  • US7774645B1 patent drawing
  • US7774645B1 patent drawing
  • US7774645B1 patent drawing

AI summary

A technique protects shared data in a local device having local memory. The technique involves observing a page table entry (PTE) on the local device. The PTE is stored in a page table used for managing virtual to physical address translations, tracking page modifications and handling page faults between semiconductor memory and magnetic disk drive memory on the local device. The technique further involves leaving a mirroring routine inactive on the local device when the PTE indicates that shared data corresponding to the PTE has not been modified on the local device. The mirroring routine is configured to copy the shared data from the local memory to a remote device. The technique further involves activating the mirroring routine to mirror the shared data from the local memory to the remote device when the PTE indicates that shared data corresponding to the PTE has been modified on the local device.