Crash-Tolerant Incremental Backup Using Nonvolatile Zone Maps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing backup technologies face challenges in reliably tracking incremental changes between backups of a source storage, particularly in crash scenarios, where incremental changes in volatile memory are lost, necessitating a time-intensive full compare of all blocks, leading to performance and resource inefficiencies.

Innovation Solution

The method involves dividing source storage blocks into zones with nonvolatile zone maps to track changes, calculating and comparing hash values of blocks and prior backups to determine actual changes, ensuring that only changed zones are identified, thus avoiding the need for a full compare and reducing bandwidth and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If incremental changes are tracked in volatile memory to avoid performance degradation, then tracking speed is improved, but reliability deteriorates because changes are lost during ungraceful power loss or crashes

Engineering Contradiction:
Improvetracking speedVSAvoidchange tracking reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary actions by periodically flushing incremental change data from volatile memory to nonvolatile storage before crashes can occur. The system proactively writes change information to durable storage at intervals, ensuring that even if an ungraceful power loss occurs, the most recent changes are preserved and can be recovered without requiring a full block comparison.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a full compare of every block is performed after a crash to determine which blocks changed, then reliability is improved by ensuring accurate change detection, but productivity deteriorates due to time-intensive and resource-intensive operations

Engineering Contradiction:
Improvechange detection accuracyVSAvoidrecovery speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the essential change information from the full block data and stores it in a compact form in nonvolatile storage. Instead of comparing entire blocks after a crash, the system retrieves only the extracted change metadata (such as change timestamps, block identifiers, or hash values) from nonvolatile storage, dramatically reducing the recovery time and computational resources required while maintaining accurate change detection.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If image backup is used to back up all allocated blocks, then completeness of backup is improved, but bandwidth consumption increases compared to file backup

Engineering Contradiction:
Improvebackup completenessVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the backup process into two distinct phases: a one-time initial image backup that captures all allocated blocks for completeness, and subsequent incremental backups that transfer only changed blocks. The incremental phase uses the previously extracted change information to identify and transfer only the modified blocks, dramatically reducing bandwidth consumption while maintaining backup completeness through the combination of both phases.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9003143B1Hash value comparison during crash-tolerant incremental change tracking between backups of a source storage
Publication Date: 2015.04.07 STORAGECRAFT LLC
  • US9003143B1 patent drawing
  • US9003143B1 patent drawing
  • US9003143B1 patent drawing

AI summary

Hash value comparison during crash-tolerant incremental change tracking between backups of a source storage. In one example embodiment, a method includes assigning each block in a source storage into one of multiple zones, creating a nonvolatile zone map, tracking each of the zones that is changed between a first point in time and a second point in time, identifying, as potentially changed zone blocks, the blocks in the source storage assigned to any zone marked as changed in the nonvolatile zone map, identifying, as potentially outdated backup blocks, the most recently backed-up blocks in one or more prior backups that correspond to the potentially changed zone blocks, calculating source hash values of the potentially changed zone blocks, calculating backup hash values of the potentially outdated backup blocks, and comparing the source hash values to the backup hash values to determine which blocks in the source storage actually changed.