Processor Memory Reintegration via Duplicated Write Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In fault-tolerant computing systems, the process of memory copying from non-failed processors to a failed processor to resume execution is time-consuming and results in significant system unavailability, especially when dealing with large memory sizes, and intermittent user program operations complicate the memory synchronization process.

Innovation Solution

The system employs a reintegration logic that allows processors within a logical processor to execute duplicate user programs in lock-step, using synchronization and reintegration logic to manage memory copying by duplicating memory writes and ensuring data integrity through cyclic redundancy checks, allowing for efficient memory reintegration without halting user programs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire memory is copied from a non-failed processor to a failed processor, then the memory copy is complete and accurate, but the system is unavailable for a significant amount of time

Engineering Contradiction:
Improvememory copy accuracyVSAvoidsystem unavailability time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The memory copy operation is divided into multiple segments or portions. Instead of copying the entire memory at once, the system copies memory in smaller chunks while allowing user programs to continue executing intermittently, thereby reducing the total system unavailability time while still achieving complete memory replication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary tracking of memory accesses before the actual memory copy operation. By identifying which memory locations are accessed by user programs, the system can prioritize copying those locations first or prepare the copy operation in advance, reducing the overall time required for complete memory replication.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If user programs are cyclically paused to copy memory portions, then the system remains partially operational, but memory locations previously copied may change requiring re-copying

Engineering Contradiction:
Improvesystem operational continuityVSAvoidmemory re-copying time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements a tracking mechanism that monitors memory accesses by user programs during the copy operation. This feedback information is used to identify which memory locations have been modified since copying, allowing the system to re-copy only those specific locations rather than re-copying entire memory segments, thereby reducing redundant copy operations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs memory copying beyond what is strictly necessary by tracking and re-copying only the modified portions. This partial action approach copies slightly more memory than the minimum required, ensuring data consistency without the overhead of tracking every single byte, thus balancing operational continuity with copy accuracy.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If the system tracks memory accesses to identify changed locations, then re-copying is minimized, but the complexity of the memory copy process increases

Engineering Contradiction:
Improvere-copying timeVSAvoidmemory tracking system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The memory tracking system leverages existing processor capabilities and memory management structures to perform tracking automatically. Rather than implementing a completely separate tracking infrastructure, the system uses available hardware features and existing software mechanisms to monitor memory accesses, thereby reducing the additional complexity introduced by the tracking functionality.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7590885B2Method and system of copying memory from a source processor to a target processor by duplicating memory writes
Publication Date: 2009.09.15 VALTRUS INNOVATIONS LTD
  • US7590885B2 patent drawing
  • US7590885B2 patent drawing
  • US7590885B2 patent drawing

AI summary

A method and system of copying memory from a source processor to a target processor by duplicating memory writes. At least some of the exemplary embodiments may be a method comprising stopping execution of a user program on a target processor (the target processor coupled to a first memory), continuing to execute a duplicate copy of the user program on a source processor (the source processor coupled to a second memory and generating writes to the second memory), duplicating memory writes of the source processor and duplicating writes by input/output adapters to create a stream of duplicate memory writes, and applying the duplicated memory writes to the first memory.