Storage Deduplication Scheduler Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data deduplication processes in storage systems require significant user involvement and system resources, leading to inefficiencies and barriers in adoption due to heavyweight processing demands that hinder other system operations.

Innovation Solution

A scheduler is implemented to manage and prioritize deduplication processes, selecting storage volumes for deduplication based on state information and user requests, utilizing a rules engine to optimize resource usage and automate the deduplication process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If deduplication process is enabled to reduce storage consumption, then storage capacity is improved, but system resources are excessively consumed

Engineering Contradiction:
Improvestorage capacityVSAvoidsystem resources
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by creating a fingerprint database and sorting fingerprints before executing the full deduplication process. This preliminary organization allows the system to efficiently identify duplicate blocks without requiring exhaustive comparisons during the main deduplication execution, thereby reducing overall system resource consumption while maintaining storage capacity benefits

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The deduplication process is segmented into distinct phases: fingerprint generation, database creation, sorting, and actual deduplication execution. This segmentation allows the system to manage resource consumption in controlled stages rather than overwhelming resources in a single monolithic process, enabling better resource allocation while achieving storage capacity reduction

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If deduplication process is executed to eliminate duplicate data, then storage cost is reduced, but user involvement is required

Engineering Contradiction:
Improvestorage costVSAvoiduser involvement
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system implements self-service capabilities by automatically determining which volumes benefit from deduplication through state information analysis and automated decision-making algorithms. The system can autonomously initiate and manage deduplication processes without requiring continuous user intervention, configuration, or monitoring, thereby reducing storage costs while eliminating the burden of user involvement

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If deduplication is enabled to improve storage efficiency, then storage consumption is reduced, but other system processes are hindered

Engineering Contradiction:
Improvestorage consumptionVSAvoidsystem operations
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The deduplication process is implemented as a periodic, scheduled operation rather than a continuous background process. The system executes deduplication at specific intervals or under specific conditions, allowing other system processes to run uninterrupted during non-deduplication periods. This periodic execution reduces storage consumption while preventing degradation of overall system operational productivity

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9928249B2Scheduling deduplication in a storage system
Publication Date: 2018.03.27 NETAPP INC
  • US9928249B2 patent drawing
  • US9928249B2 patent drawing
  • US9928249B2 patent drawing

AI summary

A system can maintain multiple queues for deduplication requests of different priorities. The system can also designate priority of storage units. The scheduling priority of a deduplication request is based on the priority of the storage unit indicated in the deduplication request and a trigger for the deduplication request.