Flash Storage Fingerprint Collision Handling for Deduplicated Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems face inefficiencies in data management and storage operations, particularly in handling fingerprint collisions and data deduplication, which can lead to unnecessary write operations and reduced reliability.

Innovation Solution

The implementation of a storage system that utilizes non-volatile random access memory (NVRAM) as a buffer for write operations, offloading device management responsibilities from storage drives, and employing methods to handle fingerprint collisions through hash functions and deduplication processes to optimize data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional storage systems perform data deduplication and handle write operations directly on storage drives, then data management is performed, but fingerprint collisions occur leading to unnecessary write operations and reduced reliability

Engineering Contradiction:
Improvestorage reliabilityVSAvoidwrite operation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a buffer layer between the host and storage drives that acts as an intermediary for write operations. This buffer receives write commands, performs deduplication operations, and manages fingerprint collision resolution without requiring immediate write operations to the storage drives, thereby improving reliability by eliminating unnecessary writes while maintaining write operation efficiency

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary deduplication operations in the buffer before data is written to storage drives. By calculating fingerprints and detecting duplicates in advance, the system prevents unnecessary write operations from occurring, thus improving both reliability and write operation efficiency

Inventive Principle:
Principle #10Preliminary action

2Productivity

If storage systems perform comprehensive data deduplication operations, then storage efficiency is improved, but latency increases due to additional processing requirements

Engineering Contradiction:
Improvestorage efficiencyVSAvoidoperation latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The buffer performs preliminary deduplication operations before data reaches the storage drives, calculating fingerprints and identifying duplicates in advance. This preliminary action enables comprehensive deduplication to be achieved without adding latency to the critical write path, as the deduplication work is completed beforehand in the buffer layer

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer layer autonomously performs deduplication operations using its own processing capabilities and fingerprint calculation mechanisms. By self-serving the deduplication function without requiring additional processing steps in the main data path, the system achieves comprehensive deduplication while minimizing latency impact

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10303390B1Resolving fingerprint collisions in flash storage system
Publication Date: 2019.05.28 PURE STORAGE INC
  • US10303390B1 patent drawing
  • US10303390B1 patent drawing
  • US10303390B1 patent drawing

AI summary

Handling fingerprint collisions in a storage system that includes one or more storage devices, including: determining whether a fingerprint associated with a first data segment matches a fingerprint associated with a data segment stored within the storage system; responsive to determining that the fingerprint associated with the first data segment matches the fingerprint associated with the data segment stored within the storage system, determining whether the first data segment matches the data segment stored within the storage system; and responsive to determining that the first data segment does not match the data segment stored within the storage system, resolving a fingerprint collision between the first data segment and the data segment stored within the storage system.