Application Failure Recovery Using Disaggregated Memory Versioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face delays and resource overheads during failover due to the need to store and retrieve application state data from non-volatile storage, which is unacceptable for time-critical applications and increases network resource usage.

Innovation Solution

Utilizing a disaggregated memory system with in-memory versioning techniques to save application state directly in shared memory, enabling fast failover by maintaining known-good snapshots and rolling back to last checkpointed values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If application state is stored in non-volatile storage for failover, then data persistence is ensured, but failover time increases and application performance deteriorates

Engineering Contradiction:
Improvedata persistenceVSAvoidfailover time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the storage system into two distinct layers: a fast volatile memory layer for rapid state access and a non-volatile storage layer for persistent data retention. This segmentation allows the system to leverage the speed of volatile memory for failover operations while maintaining the reliability of non-volatile storage for data persistence, thereby resolving the contradiction between fast failover and data persistence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a memory buffer as an intermediary between the application and non-volatile storage. This buffer temporarily holds application state data in volatile memory, enabling rapid read/write operations for failover while asynchronously synchronizing with non-volatile storage. The intermediary layer decouples the speed requirements of failover from the persistence requirements of non-volatile storage, resolving the time-performance contradiction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If application state is periodically checkpointed to non-volatile storage, then data loss is prevented, but application speed decreases due to slow storage operations

Engineering Contradiction:
Improvedata loss preventionVSAvoidapplication speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-allocating volatile memory buffers and pre-establishing the memory hierarchy before checkpointing operations are needed. Application state data is continuously maintained in volatile memory with ready-to-use buffer spaces, so when checkpointing is required, the system can quickly transfer data without interruption to application execution. This preliminary preparation eliminates the performance penalty associated with on-demand checkpointing to non-volatile storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuity of useful action by maintaining application state data in volatile memory throughout operation, allowing continuous read/write access without interruption. Checkpointing to non-volatile storage occurs asynchronously in the background through the memory buffer, ensuring that the primary application workflow continues uninterrupted while persistence operations complete, thereby maintaining high productivity while preventing data loss.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If redundant application instances are maintained for failover, then system availability improves, but resource overhead increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidresource overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses copying by creating a standby application instance that receives copies of the application state data from the primary instance's volatile memory buffer. Rather than duplicating entire application environments or maintaining full redundant systems, the solution copies only the necessary state data through the shared memory infrastructure. This selective copying approach provides failover capability while minimizing resource overhead by sharing common resources between primary and standby instances.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements universality by designing a shared volatile memory buffer that serves multiple functions: it acts as the primary application state storage, a checkpointing mechanism, a failover data source, and a synchronization point between primary and standby instances. This multi-functional memory infrastructure eliminates the need for separate dedicated resources for each failover function, reducing overall resource overhead while maintaining system availability through the universal shared buffer.

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

Data Source

PatentUS20250335299A1Fast failure recovery of applications
Publication Date: 2025.10.30 MICRON TECHNOLOGY INC
  • US20250335299A1 patent drawing
  • US20250335299A1 patent drawing
  • US20250335299A1 patent drawing

AI summary

Disclosed in some examples, are methods, systems, and machine-readable mediums in which application state is saved using in-memory versioning in a shared memory pool of disaggregated memory. By utilizing a disaggregated memory pool, the processing resources may be on separate devices than the memory those resources are using. As a result of this architecture, a failure of hardware of processing resources or an application does not necessarily also cause the hardware resources of the memory devices to fail. This allows a standby application executing on standby processing resources to quickly resume execution when a primary application fails by utilizing the memory pool assigned to the primary application in the memory pool.