Flash Memory Crash Recovery via Checkpoint Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices often experience data loss due to sudden power failures, requiring the entire memory to be read for recovery, which is time and energy-intensive, especially since conventional recovery techniques are costly in terms of both time and energy.

Innovation Solution

Implementing a rapid crash recovery mechanism that utilizes checkpointing and deterministic usage patterns to identify and read only the changed portions of the flash memory, allowing for efficient regeneration of lost information without scanning the entire memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire flash memory is read for recovery after a crash, then all lost data can be recovered, but the recovery process becomes time-consuming and energy-intensive

Engineering Contradiction:
Improvedata recovery completenessVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The flash memory is divided into two parts: a checkpoint storage area that contains saved state information at regular intervals, and a working area that contains current data. During recovery, only the working area needs to be read and merged with the checkpoint, rather than reading the entire flash memory. This segmentation dramatically reduces recovery time while maintaining complete data recovery capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary checkpointing operations during normal operation to save state information to the checkpoint storage area. This preliminary action ensures that when a crash occurs, the recovery process can start from a known good state (the checkpoint) rather than having to reconstruct all data from scratch, thereby reducing recovery time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the entire flash memory is read for recovery after a crash, then all lost data can be recovered, but energy consumption increases significantly

Engineering Contradiction:
Improvedata recovery completenessVSAvoidrecovery energy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The flash memory is divided into a checkpoint storage area and a working area. During recovery, only the working area (a small segment) is read and merged with the checkpoint, rather than reading the entire flash memory. This segmentation dramatically reduces the amount of data that needs to be processed, thereby reducing energy consumption while maintaining complete data recovery capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary checkpointing operations during normal operation to save state information to the checkpoint storage area. This preliminary action ensures that when a crash occurs, the recovery process can start from a known good state (the checkpoint) rather than having to reconstruct all data from scratch, thereby reducing the energy required for recovery.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If checkpointing is performed periodically, then recovery can start from a saved state, but changes made between checkpoints are not captured

Engineering Contradiction:
Improverecovery timeVSAvoidchanges between checkpoints
Core Design Contradiction:
Loss of timeVSLoss of information

Solution Approach 1:

The flash memory is divided into a checkpoint storage area that contains saved state information and a working area that contains current data and changes. During recovery, the system reads the working area (which contains all changes since the last checkpoint) and merges it with the checkpoint state. This segmentation ensures that both the checkpointed state and the changes between checkpoints are captured, eliminating information loss.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system merges the checkpoint storage area with the working area during the recovery process. The working area, which contains all changes made since the last checkpoint, is read and combined with the checkpoint state to reconstruct the complete current state. This merging operation ensures that no changes are lost while enabling fast recovery from the checkpoint.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7818610B2Rapid crash recovery for flash storage
Publication Date: 2010.10.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7818610B2 patent drawing
  • US7818610B2 patent drawing
  • US7818610B2 patent drawing

AI summary

Recovery is expedited for crashes involving flash memory. Rather than requiring an entire flash memory to be read to reconstruct lost information, only a subset of the memory need be read thereby reducing system down time, among other things. In particular, state information such as a logical to physical mapping is captured via a checkpoint operation periodically. Moreover, a deterministic usage pattern is employed to facilitate recovery of actions performed after a checkpoint.