Digest-Based Block Storage for Snapshot De-Duplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tiered data storage systems face challenges in maintaining system operability, scalability, and dependability while avoiding unnecessary data duplication and ensuring the ability to revert to a desired system state without impacting other users or compromising integrity.

Innovation Solution

A digest-based block storage engine is introduced, which generates digests using strong hash functions for data blocks, manages reference counts, and takes snapshots across multiple time axes, enabling independent modifications and access to past system states while maintaining system integrity and avoiding duplication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If de-duplication is implemented to avoid unnecessary data duplication, then storage efficiency is improved, but system complexity increases due to the need to manage reference counts and digest verification

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

A digest-based block storage engine is introduced as an intermediary layer between the file system and storage unit. This engine generates digests (hash values) for data blocks and manages reference counts, automatically handling de-duplication operations without requiring complex application-level implementation. The intermediary engine abstracts the complexity of de-duplication management while improving storage efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of storing multiple copies of identical data blocks, the system stores a single copy and uses digest-based identification to recognize duplicates. When the same data is encountered, the system references the existing block through its digest, avoiding redundant storage while maintaining data accessibility through reference counting mechanisms.

Inventive Principle:
Principle #26Copying

2Reliability

If writable snapshots are implemented to enable reverting to desired system states, then system dependability is improved, but data duplication increases as multiple instances share blocks

Engineering Contradiction:
Improvesystem dependabilityVSAvoiddata duplication
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple writable snapshots share common data blocks through the digest-based storage engine. When snapshots reference the same data, they share the underlying storage blocks rather than duplicating them. The engine manages reference counts to ensure data integrity while allowing multiple snapshots to coexist efficiently, reducing overall data duplication while maintaining the ability to revert to any snapshot state.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If multi-tiered storage is implemented to increase storage capacity, then storage scalability is improved, but system operability deteriorates when data is shared among objects in different tiers

Engineering Contradiction:
Improvestorage scalabilityVSAvoidsystem operability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The digest-based block storage engine provides a universal interface that works consistently across multiple storage tiers. By identifying data blocks through digests rather than physical locations, the system enables data to be shared and moved between different storage tiers (hot, warm, cold storage) without compromising operability. The engine abstracts tier-specific details, providing uniform data access and management across the multi-tiered architecture.

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

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

The solution enhances system scalability and dependability by allowing independent modifications across multiple universes, reducing data duplication, and ensuring seamless access to past system states without impacting other users, thus improving overall system operability and integrity.

Implementation Method 1

the digest is based on a value calculated by applying a strong hash function to a data block

Methodology Applied
Scientific EffectHash function:

Data Source

PatentUS9063656B2System and methods for digest-based storage
Publication Date: 2015.06.23 DELL GLOBAL - SINGAPORE BRANCH
  • US9063656B2 patent drawing
  • US9063656B2 patent drawing
  • US9063656B2 patent drawing

AI summary

A system comprising a file system that manages files and directories. A digest-based block storage engine coupled to the file system generates a digest when performing saving and retrieving operations initiated by the file system. The engine counts references to data blocks and a list of free data blocks. A storage unit may be coupled to the engine, wherein the storage unit stores a plurality of data blocks.