Snapshot Usage Tracking for Versioned Storage Space Reclaiming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems lack an efficient method to estimate the size of freed-up storage space after snapshot deletion, leading to a time-consuming space reclaiming process, as they require scanning and identifying unreferenced blocks, which is complex and slow, especially when many snapshots are deleted.

Innovation Solution

A snapshot usage tracking system that includes a processor and memory to maintain snapshot counters for each previous snapshot based on modified or deleted data blocks, allowing for efficient estimation of freed-up storage space without the need for a full space reclaiming process by comparing current snapshots with previous ones and updating counters accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If space reclaiming is performed by scanning and identifying unreferenced blocks, then accurate estimation of freed-up storage is achieved, but the process becomes time-consuming and complex

Engineering Contradiction:
Improveaccuracy of freed-up storage estimationVSAvoidtime for space reclaiming process
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining snapshot counters that track the number of references to each data block across snapshots. When a snapshot is created, the system proactively updates counters for all modified blocks, so that when snapshots are deleted, the freed-up space can be immediately determined by checking which blocks have zero references, eliminating the need for time-consuming scanning at deletion time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of scanning actual data blocks to identify unreferenced ones, the system uses copied metadata (snapshot counters) that track reference counts. This copying approach allows rapid determination of freed-up space by simply checking counter values in memory rather than performing complex scans of stored data blocks.

Inventive Principle:
Principle #26Copying

2Measurement precision

If full space reclaiming process is performed to estimate freed-up storage, then accurate space estimation is obtained, but the complexity and time consumption increase significantly

Engineering Contradiction:
Improveaccuracy of freed-up storage estimationVSAvoidcomplexity of space reclaiming process
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The invention extracts the essential information needed for space estimation (reference counts of data blocks) from the complex space reclaiming process. By maintaining snapshot counters that track how many snapshots reference each block, the system separates the critical measurement data from the complex scanning and identification procedures, enabling simple and accurate estimation without full reclaiming operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The snapshot counter acts as an intermediary data structure that mediates between snapshot creation/deletion operations and space estimation. Instead of directly scanning data blocks to estimate freed space, the system queries the intermediary counter metadata, which has already processed and aggregated reference information, thereby simplifying the estimation process while maintaining accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11003623B2Snapshot usage tracking system and method
Publication Date: 2021.05.11 DRUVA INC
  • US11003623B2 patent drawing
  • US11003623B2 patent drawing
  • US11003623B2 patent drawing

AI summary

A snapshot usage tracking system and method for a versioned storage is provided. The system includes a memory having computer-readable instructions stored therein and a snapshot repository configured to store a plurality of snapshots of a versioned storage. Each of the plurality of snapshots includes one or more data blocks. The system further includes a processor communicatively coupled to the snapshot repository and configured to maintain a set of snapshot counters corresponding to each of previous snapshots created on or before a current snapshot based upon a size of the data blocks that are modified or deleted in the current snapshot.