Predictive Probabilistic Deduplication for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing deduplication methods in storage systems are resource-intensive due to the high cost of calculating hash values and maintaining key-value tables, as they often write and read data to check for duplicates, leading to unnecessary insertions and deletions.

Innovation Solution

The predictive probabilistic deduplication method samples incoming data blocks to predict whether they are unique or duplicate, allowing only predicted duplicates to be inserted into the key-value table, reducing the need for costly writes and reads, and conserving resources by minimizing updates to the key-value table.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data are written to storage without checking for duplicates first, then write performance is improved, but resource consumption increases due to subsequent hash calculations and key-value table updates

Engineering Contradiction:
Improvewrite performanceVSAvoidresource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by sampling a subset of incoming data blocks before writing them to storage to predict whether they are duplicates. This allows the system to make informed decisions about which blocks need hash calculation and key-value table updates, avoiding unnecessary resource consumption while maintaining write performance for unique blocks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses partial action by sampling only a subset of incoming data blocks rather than checking all blocks. This partial sampling approach reduces the computational overhead while still providing sufficient accuracy to distinguish between unique and duplicate blocks, thereby optimizing the trade-off between write performance and resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all incoming data blocks are checked for duplicates by calculating hashes and updating key-value tables, then deduplication accuracy is improved, but processing time and resource consumption increase

Engineering Contradiction:
Improvededuplication accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary sampling of incoming data blocks to predict duplicate status before performing expensive hash calculations and key-value table updates. This preliminary action filters out blocks that are likely duplicates, allowing the system to maintain high deduplication accuracy while reducing processing time by avoiding unnecessary operations on blocks that can be confidently identified as unique.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by using the sampling results to guide subsequent processing decisions. The sampling process provides feedback about the likelihood of duplicates in incoming blocks, which then influences whether the system performs full hash calculations and key-value table updates, thereby optimizing the balance between deduplication accuracy and processing time.

Inventive Principle:
Principle #23Feedback

3Reliability

If the key-value table is updated frequently to track duplicate blocks, then deduplication tracking is improved, but device complexity and operational overhead increase

Engineering Contradiction:
Improvededuplication trackingVSAvoidoperational overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by updating the key-value table only for blocks that are predicted to be duplicates based on sampling, rather than updating it for all incoming blocks. This selective updating approach reduces operational overhead and simplifies system operations while maintaining reliable deduplication tracking for the blocks that actually need to be tracked.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9940337B2Predictive probabilistic deduplication of storage
Publication Date: 2018.04.10 VMWARE INC
  • US9940337B2 patent drawing
  • US9940337B2 patent drawing
  • US9940337B2 patent drawing

AI summary

Examples perform predictive probabilistic deduplication of storage, such as virtualized or physical disks. Incoming input/output (I/O) commands include data, which is written to storage and tracked in a key-value store. The key-value store includes a hash of the data as the key, and a reference counter and the address of the data as the value. When a certain percentage of sampled incoming data is found to be duplicate, it is predicted that the I/O commands have become not unique (e.g., duplicate). Based on the prediction, subsequent incoming data is not written to storage, and instead the reference counter associated with the hash of the data is incremented. In this manner, predictions on the uniqueness of future data is made based on previous data, and extraneous writes and deletions from the chunk store are avoided.