Granular Deduplication via QoS-Aware Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face challenges in managing deduplication and data compression efficiently, leading to increased latency and inefficient use of storage resources, especially in multi-user environments where workloads and time-dependent attributes result in variable user experiences.

Innovation Solution

A method is implemented in a memory system that allocates logical units (LUNs) with Quality of Service (QoS) specifications, allowing for dynamic deduplication and metadata management, including a Single Instance Repository (SIR) for storing hash values and associated data, and a stub LUN for user address mapping, with garbage collection based on user QoS requirements to optimize storage efficiency and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If deduplication is performed in flash memory systems, then storage efficiency is improved, but latency increases and processing speed decreases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs deduplication hashing in advance during write operations and stores hash values in a separate hash table structure. This preliminary action allows the main data write to complete quickly while deduplication verification happens asynchronously, reducing latency impact on primary operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A hash table structure serves as an intermediary between the write operation and the deduplication verification process. The hash table stores computed hash values and allows rapid lookup without blocking the main data flow, acting as a mediator that enables efficient deduplication checking while maintaining high write throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of substance

If deduplication is performed, then data redundancy is reduced, but computational resources are consumed and processing complexity increases

Engineering Contradiction:
Improvedata redundancyVSAvoidprocessing complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent replaces complex full data comparison mechanisms with hash-based verification. Instead of comparing entire data blocks to identify duplicates, the system computes and compares compact hash values, dramatically reducing computational complexity while maintaining effective duplicate detection.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The deduplication process is segmented into distinct phases: hash computation, hash table lookup, and duplicate identification. This segmentation allows each phase to be optimized independently and enables parallel processing, reducing overall processing complexity and improving scalability.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If deterministic deduplication processing is used, then processing simplicity is maintained, but user experience variability increases in multi-user environments

Engineering Contradiction:
Improveprocessing simplicityVSAvoiduser experience consistency
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The system dynamically adjusts deduplication processing based on workload characteristics and system state. Rather than applying a fixed deterministic approach, the system adapts processing intensity, hash table management, and resource allocation in real-time to maintain consistent performance across varying multi-user workloads.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms that monitor processing performance and user experience metrics, then adjust deduplication parameters accordingly. This closed-loop control ensures that deduplication processing maintains simplicity while adapting to maintain consistent user experience across different workload conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10228858B1System and method for granular deduplication
Publication Date: 2019.03.12 INNOVATIONS IN MEMORY LLC
  • US10228858B1 patent drawing
  • US10228858B1 patent drawing
  • US10228858B1 patent drawing

AI summary

A method of managing a memory system is described, the memory system having a processor with a client interface, a buffer memory, and a storage memory. A LUN (logical unit) is exposed to the client, the LUN having a memory size, and QoS specification. When the processor receives a command from the client to write data to the LUN, determining if the QoS specification includes deduplication and: if the QoS does not include deduplication, processing the command by storing the data in the storage memory and creating metadata uniquely referencing a storage location of the data that is written; or if the QoS includes deduplication, determine if deduplication is possible while meeting a latency value as specified in the QoS specification and performing deduplication.