External Elastic Deduplication Service for Resource-Constrained Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enterprise-level data storage systems with high storage density and minimal computational resources struggle to efficiently perform deduplication without violating service level objectives (SLOs), as they lack the necessary computational resources for effective deduplication services.

Innovation Solution

An external, elastic, and ephemeral deduplication service is provided to the storage domain, utilizing computational resources from a separate compute domain to perform deduplication while maintaining a fingerprint database and reference count data, and persisting this data into the storage domain for failover, ensuring seamless operation even with resource fluctuations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If deduplication is performed using minimal computational resources in the storage front end, then cost per gigabyte is minimized, but deduplication efficiency and service level objectives are violated

Engineering Contradiction:
Improvecost per gigabyteVSAvoiddeduplication efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The deduplication service is extracted from the storage front end and placed in a separate compute domain. The storage front end only needs to send data blocks to the external deduplication service and receive responses, while the computationally intensive deduplication operations (fingerprint generation, database queries, duplicate detection) are performed externally by the deduplication service using resources from the compute domain.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

An external deduplication service acts as an intermediary between the storage front end and storage backend. This service receives data blocks from the storage front end, performs deduplication operations using computational resources from the compute domain, and returns deduplication results to the storage front end, enabling efficient deduplication without burdening the storage front end's minimal computational resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If computational resources are increased in the storage front end to improve deduplication, then service level objectives are met, but cost per gigabyte increases

Engineering Contradiction:
Improvededuplication efficiencyVSAvoidcost per gigabyte
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges the deduplication functionality with the compute domain by allowing the external deduplication service to utilize computational resources from the compute domain. This integration enables the storage system to leverage existing computational infrastructure for deduplication operations, avoiding the need to increase computational resources specifically in the storage front end while maintaining deduplication efficiency.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If an external deduplication service is used, then deduplication efficiency improves, but service continuity may be affected by resource availability

Engineering Contradiction:
Improvededuplication efficiencyVSAvoidservice continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The external deduplication service is designed to be elastic, dynamically scaling its computational resources based on availability and demand. When computational resources are abundant, the service can handle more deduplication requests efficiently. When resources are constrained or fail, the service can scale down or failover, maintaining service continuity despite fluctuations in resource availability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of the deduplication service by making it ephemeral and elastic rather than persistent and fixed. This allows the service to adapt its resource consumption and operational characteristics based on available computational resources, ensuring service continuity through parameter adjustment rather than rigid resource allocation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12353370B2Elastic, ephemeral in-line deduplication service
Publication Date: 2025.07.08 NETAPP INC
  • US12353370B2 patent drawing
  • US12353370B2 patent drawing
  • US12353370B2 patent drawing

AI summary

A deduplication service can be provided to a storage domain from a services framework that expands and contracts to both meet service demand and to conform to resource management of a compute domain. The deduplication service maintains a fingerprint database and reference count data in compute domain resources, but persists these into the storage domain for use in the case of a failure or interruption of the deduplication service in the compute domain. The deduplication service responds to service requests from the storage domain with indications of paths in a user namespace and whether or not a piece of data had a fingerprint match in the fingerprint database. The indication of a match guides the storage domain to either store the piece of data into the storage backend or to reference another piece of data. The deduplication service uses the fingerprints to define paths for corresponding pieces of data.