Snapshot Management via Linked List Metadata and Bitmaps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for taking snapshots in data storage systems impose significant performance penalties and are limited in features, such as allowing arbitrary snapshot creation, quick deletion, and rolling back to earlier snapshots without system downtime or performance degradation.

Innovation Solution

A method using a linked list data structure to manage snapshots, allowing for efficient read and write operations, deletion of snapshots, and creation of writable snapshots by maintaining sequence numbers and bitmaps to track data changes, enabling performant snapshot management without performance penalties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If copy-on-write algorithm is used for snapshots, then snapshot protection and backup functionality is achieved, but system performance degrades significantly due to multiple I/O operations

Engineering Contradiction:
Improvedata protectionVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the snapshot management into two independent components: a metadata layer that tracks snapshot states and a data layer that handles actual I/O operations. The metadata includes sequence numbers, timestamps, and block mappings that enable snapshot identification without requiring data copying during normal operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a metadata intermediary layer that sits between the snapshot management logic and the physical data storage. This metadata layer tracks which blocks have changed since the last snapshot and enables efficient snapshot creation and restoration without requiring actual data movement, thereby resolving the performance penalty while maintaining data protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple concurrent snapshots are maintained, then backup coverage is improved, but performance penalties increase making it impractical to maintain more than 4-5 snapshots

Engineering Contradiction:
Improvebackup coverageVSAvoidperformance scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments snapshot management by maintaining independent metadata structures for each snapshot, allowing multiple snapshots to coexist without interfering with each other's I/O operations. Each snapshot has its own sequence number and block mapping, enabling parallel management of numerous snapshots.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements lazy evaluation where snapshot data is only copied when actually needed (during snapshot creation or restoration), not continuously maintained. This allows the system to support many more than 4-5 snapshots by only performing data copying actions when required, rather than maintaining all snapshot data simultaneously in memory or on disk.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If arbitrary snapshots are created with minimal delay, then snapshot granularity is improved, but system performance degrades due to frequent I/O operations

Engineering Contradiction:
Improvesnapshot granularityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary metadata preparation before actual snapshot creation. The metadata structure is pre-configured with sequence numbers and block mappings, allowing snapshots to be created by simply updating metadata pointers rather than copying data. This enables arbitrary snapshot creation with minimal delay.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical data copying process with a metadata-based tracking system. Instead of physically copying data blocks when creating snapshots, the system uses metadata to track and identify snapshot blocks, eliminating the I/O overhead associated with frequent snapshot creation while maintaining fine-grained snapshot granularity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Quantity of substance

If snapshots are deleted quickly to reclaim space, then storage efficiency is improved, but system performance degrades due to additional I/O load

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent extracts the snapshot deletion process from the data I/O path and handles it purely through metadata manipulation. When a snapshot is deleted, the system updates the metadata to mark blocks as available for reuse without requiring actual data deletion or reclamation operations, thereby improving storage efficiency without adding I/O load.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a self-service mechanism where the metadata structure automatically tracks and manages block availability. When snapshots are created or deleted, the metadata self-updates to reflect the current state of data blocks, eliminating the need for separate I/O operations to manage storage reclamation and allowing quick snapshot deletion without performance penalties.

Inventive Principle:
Principle #25Self-service

5Reliability

If system rollback to earlier snapshots is performed, then data recovery capability is improved, but system availability decreases requiring system downtime

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent performs preliminary metadata preparation that enables instantaneous rollback. The metadata includes complete block mappings for each snapshot, allowing the system to switch between snapshots by simply updating metadata pointers rather than copying or moving data. This enables rollback without system downtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical data copying and migration process required for traditional rollback with a metadata-based switching mechanism. The system uses metadata to redirect I/O operations to the appropriate snapshot blocks, enabling instantaneous rollback to any previous snapshot state without requiring system downtime or data movement.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

6Adaptability or versatility

If writable snapshots are created as branches off snapshots, then snapshot versatility is improved, but device complexity increases

Engineering Contradiction:
Improvesnapshot versatilityVSAvoiddata structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the snapshot hierarchy into read-only snapshots and writable snapshots, each with distinct metadata markers. This segmentation allows the system to track which snapshots are writable and manage their block mappings independently, enabling snapshot branching and versatility while maintaining manageable complexity through clear structural separation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal snapshot management system where the same metadata structure and I/O path handle both read-only and writable snapshots. The metadata includes flags and block mappings that work for all snapshot types, allowing writable snapshots to branch off read-only snapshots without requiring separate management mechanisms, thereby achieving versatility without proportionally increasing complexity.

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

Data Source

PatentUS8260744B1Method, system, apparatus, and computer-readable medium for taking and managing snapshots of a storage volume
Publication Date: 2012.09.04 AMZETTA TECH LLC
  • US8260744B1 patent drawing
  • US8260744B1 patent drawing
  • US8260744B1 patent drawing

AI summary

A method, system, apparatus, and computer-readable medium are provided for taking snapshots of a storage volume. According to aspects of one method, each snapshot is represented as a unique sequence number. Every fresh write access to a volume in a new snapshot lifetime is allocated a new section in the disk, called a provision, which is labeled with the sequence number. Read-modify-write operations are performed on a sub-provision level at the granularity of a chunk. Because each provision contains chunks with valid data and chunks with invalid data, a bitmap is utilized to identify the valid and invalid chunks with each provision. Provisions corresponding to different snapshots are arranged in a linked list. Branches from the linked list can be created for storing writable snapshots. Provisions may also be deleted and rolled back by manipulating the contents of the linked lists.