Persistent Memory Logging With Interval Snapshots and Mirror Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The use of non-volatile memory in computing systems introduces challenges in detecting and recovering from intermediate data states during power outages or failures, as traditional methods of flushing data to storage upon completion are inadequate.

Innovation Solution

Implementing a logging mechanism that records final values of memory locations at the end of intervals, using mirror blocks to store intermediate values, and allocating swap blocks to manage memory modifications during intervals, thereby reducing memory usage and performance impacts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional validation methods are used to detect and recover from intermediate data states, then data integrity can be maintained, but significant additional instructions and checks are required

Engineering Contradiction:
Improvedata integrityVSAvoidadditional instructions and checks
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by logging the state of memory locations at regular intervals before failures occur. This allows the system to prepare recovery information in advance, eliminating the need for complex validation instructions during failure recovery. The logging mechanism captures intermediate states proactively, so when a failure occurs, recovery can be achieved by simply reading the last logged state rather than performing extensive checks.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If continuous logging of all memory writes is implemented, then complete recovery information is available, but memory usage and performance impacts increase

Engineering Contradiction:
Improverecovery capabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of continuous logging, the system implements periodic logging at regular intervals. This approach maintains recovery capability by capturing state information at sufficient frequency to enable recovery, while dramatically reducing the overhead compared to continuous logging. The periodic nature of the logging allows the system to balance between having enough recovery information and minimizing performance impact.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system extracts only the essential information needed for recovery - the state of memory locations at logging intervals - rather than logging all memory write operations continuously. This selective extraction of critical state information reduces the amount of data that needs to be stored and processed, thereby reducing memory usage and performance impact while maintaining adequate recovery capability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If logging is performed at every write operation, then complete data history is maintained, but memory usage increases

Engineering Contradiction:
Improvedata historyVSAvoidmemory usage
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The system segments the logging process into discrete intervals rather than continuous operation. By dividing the time domain into separate logging periods, the system maintains sufficient data history for recovery while limiting the total amount of data stored to only what is necessary for interval-based recovery points. This segmentation approach prevents unlimited memory consumption while preserving essential recovery information.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12632196B2Method for providing logging for persistent memory
Publication Date: 2026.05.19 MICRON TECHNOLOGY INC
  • US12632196B2 patent drawing
  • US12632196B2 patent drawing
  • US12632196B2 patent drawing

AI summary

Disclosed in some examples are methods, systems, memory devices, and machine-readable mediums that allows an application of a computer system to create a series of one or more logs of writes to one or more memory locations of a memory device. The logs may comprise the values at the end of the log interval of the one or more memory locations that were written to during a log interval. In some examples, the logs do not include intermediate writes to the one or more memory locations (only the final value) and do not include values of memory locations that were not written to during the interval. After an event, software can apply these logs to a copy of the original memory region state to recover the contents of the locations at any of the logged points. These logs may be useful to recreate the state of the memory at various points during the application's execution.