Non-Volatile Memory for Operating System State Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of managing large-scale server-based application programs, particularly in distributed environments, is exacerbated by the challenge of efficiently recovering from failures due to substantial performance overhead in saving and restoring state information, which can lead to cascading failures and inadequate debugging due to insufficient logging mechanisms, especially in asynchronous communication scenarios.

Innovation Solution

Implementing a hybrid system memory with both volatile and non-volatile portions, where critical state information is stored in non-volatile memory to ensure durability and low latency, allowing for rapid recovery and enhanced logging techniques to retain crucial data across failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If state information is saved to persistent storage devices, then reliability is improved, but recovery time increases substantially

Engineering Contradiction:
ImprovereliabilityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments state information into critical and non-critical portions, storing critical state information in non-volatile memory while keeping non-critical information in volatile memory. This segmentation allows the system to preserve reliability for essential recovery functions while minimizing overall recovery time by only persisting what is absolutely necessary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by using non-volatile memory specifically for critical state information that requires persistence, while using faster volatile memory for other state information. This localized application of non-volatility ensures reliability where needed without incurring the performance penalty across the entire state management system.

Inventive Principle:
Principle #3Local quality

2Speed

If non-volatile memory is used for critical state information, then recovery speed is improved, but system complexity increases

Engineering Contradiction:
Improverecovery speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent makes non-volatile memory serve multiple functions: it acts as both a persistence medium for critical state information and a high-speed storage medium during normal operation. This multi-functionality allows the system to achieve fast recovery speeds without adding dedicated specialized hardware, thereby limiting the increase in system complexity.

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

Solution Approach 2:

The patent performs preliminary action by pre-identifying and designating specific regions of non-volatile memory for critical state information before failures occur. This advance preparation ensures that during recovery, the system can immediately access pre-allocated memory spaces without needing to dynamically allocate or format storage during the recovery process, thus improving recovery speed while keeping the management mechanism relatively simple.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If logging data is retained in volatile memory, then debugging capability is improved, but data loss risk increases during failures

Engineering Contradiction:
Improvelogging data retentionVSAvoiddebugging capability
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent segments logging data into critical and non-critical categories, persisting critical logging information in non-volatile memory while maintaining non-critical logs in volatile memory. This segmentation ensures that essential debugging information is preserved during failures while maintaining the ability to debug effectively through retained critical logs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces non-volatile memory as an intermediary between volatile logging memory and permanent storage. This intermediary captures and preserves critical logging information during failures, acting as a buffer that prevents complete data loss while allowing the system to continue using faster volatile memory for active logging operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9767015B1Enhanced operating system integrity using non-volatile system memory
Publication Date: 2017.09.19 AMAZON TECH INC
  • US9767015B1 patent drawing
  • US9767015B1 patent drawing
  • US9767015B1 patent drawing

AI summary

Methods and apparatus for enhancing operating system integrity using non-volatile system memory are described. A computer system includes a system memory coupled to one or more processors. The system memory comprises at least a non-volatile portion. Memory is allocated from the non-volatile portion to store selected metadata associated with an operating system component that supports input-output (I/O) operations. In response to an operation that results in a metadata change at the component, a metadata entry is stored in the non-volatile portion. Subsequent to a failure event, contents of the metadata entry are read from the non-volatile portion to restore a state of the component.