Selective Deduplication Based on Controller Status and Media Characteristics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage devices face inefficiencies in deduplication processes due to high resource contention and varying access times in non-volatile memory, which can lead to increased time spent identifying and managing duplicate data, impacting the lifespan and performance of SSDs.

Innovation Solution

A controller-based method that determines whether deduplication is necessary based on status information and media characteristics, using machine learning algorithms to decide between inline and offline deduplication, and employing strong and weak fingerprinting algorithms to efficiently identify duplicate data chunks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If deduplication operations are performed on all data writes to non-volatile memory, then data redundancy is reduced and storage efficiency is improved, but controller resource contention increases and processing time is extended

Engineering Contradiction:
Improvedata redundancyVSAvoidcontroller processing efficiency
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The system dynamically changes the deduplication parameter (whether to perform deduplication) based on controller status conditions. When resource contention is high or processing time would be excessive, the system modifies the parameter to skip deduplication, thereby preserving controller productivity while still performing deduplication under more favorable conditions

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The deduplication operation transitions from a static always-on approach to a dynamic conditional approach. The system continuously monitors controller status and adjusts the deduplication behavior in real-time, enabling the system to adapt between performing deduplication and skipping it based on current operational conditions

Inventive Principle:
Principle #15Dynamics

2Loss of substance

If deduplication is performed on non-volatile memory with access time greater than fingerprint calculation time, then storage efficiency is improved, but the additional access time further extends processing duration

Engineering Contradiction:
Improveduplicate dataVSAvoidprocessing time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The system changes the operational parameter to skip deduplication when the memory access time exceeds the fingerprint calculation time. This parameter modification prevents the system from entering a time-inefficient operation mode, thereby reducing overall processing time loss while still allowing deduplication to occur under more time-efficient conditions

Inventive Principle:
Principle #35Parameter changes

3Loss of substance

If deduplication operations are continuously performed, then duplicate data is eliminated and storage capacity is optimized, but controller resource exhaustion occurs and lifespan is reduced

Engineering Contradiction:
Improveredundant dataVSAvoidSSD lifespan
Core Design Contradiction:
Loss of substanceVSDuration of action of stationary object

Solution Approach 1:

Instead of continuous deduplication operations, the system implements periodic deduplication based on monitored controller status. Deduplication is performed intermittently only when resources are available and conditions are favorable, reducing the cumulative stress on the controller and extending SSD lifespan while still achieving duplicate data elimination over time

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20200310667A1Selective deduplication based on data storage device controller status and media characteristics
Publication Date: 2020.10.01 SANDISK TECHNOLOGIES LLC
  • US20200310667A1 patent drawing
  • US20200310667A1 patent drawing
  • US20200310667A1 patent drawing

AI summary

Systems and methods are disclosed for determining whether data to be written to a memory should be deduplicated. In some implementations, a method is provided. The method includes determining whether data to be written to a memory should be deduplicated based, at least in part, on status information of a controller and media characteristics of the memory, wherein the status information of the controller indicates a level of resources available for a deduplication operation. In response to determining that the data should be deduplicated, determining whether the data is duplicative based on the type of memory the data is being written to.