RDMA Shared KV Store Deduplication for Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face inefficiencies in deduplication processes, particularly in managing data blocks across multiple servers and storage devices, as they often require processor involvement for data-path operations, leading to increased latency and resource utilization.

Innovation Solution

The implementation of a distributed data storage system using a shared Key-Value (KV) store accessible via Remote Direct Memory Access (RDMA), allowing servers to deduplicate data blocks without executing code on storage controller CPUs, through in-line and background deduplication processes, and utilizing Network Interface Controllers (NICs) for hash calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional deduplication processes are used with processor involvement for data-path operations, then data blocks can be managed across multiple servers and storage devices, but latency increases and processor resources are over-utilized

Engineering Contradiction:
Improvededuplication efficiencyVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the deduplication processing from the storage controller's CPU by implementing a shared data structure accessible via RDMA. Servers perform deduplication lookups directly against the shared structure without executing code on storage controller processors, thereby removing the bottleneck and reducing latency while maintaining distributed deduplication functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a shared data structure as an intermediary between servers and storage controllers. This intermediary enables servers to perform deduplication operations independently by directly accessing the shared structure through RDMA, eliminating the need for processor involvement in data-path operations and reducing system latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If processor code execution is required for deduplication operations, then data blocks can be managed across multiple servers and storage devices, but processor load increases

Engineering Contradiction:
Improvededuplication efficiencyVSAvoidprocessor load
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts deduplication processing from storage controller processors by implementing a shared data structure that servers can access directly via RDMA. This removes the processor execution requirement for data-path operations, significantly reducing processor load while maintaining the ability to manage data blocks across the distributed system.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables servers to perform deduplication operations independently by directly accessing the shared data structure through RDMA. This self-service mechanism eliminates the need for storage controller processor involvement in data-path operations, reducing overall processor load while maintaining distributed deduplication functionality.

Inventive Principle:
Principle #25Self-service

3Loss of time

If shared data structure is accessed via RDMA without processor code execution, then processor load is reduced and latency is minimized, but system complexity increases

Engineering Contradiction:
ImprovelatencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements a universal shared data structure that serves multiple functions: it stores deduplication metadata, enables atomic operations, and provides RDMA access for servers. This multi-functional approach reduces the need for separate specialized structures and processors, managing system complexity while achieving low-latency deduplication.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10496626B2Deduplication in a highly-distributed shared topology with direct-memory-access capable interconnect
Publication Date: 2019.12.03 AMAZON TECH INC
  • US10496626B2 patent drawing
  • US10496626B2 patent drawing
  • US10496626B2 patent drawing

AI summary

A method for data storage includes, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, storing data blocks by the servers on the storage devices. A shared data structure, which is accessible to the servers using remote direct memory access and which maps hash values calculated over the data blocks to respective storage locations of the data blocks on the storage devices, is maintained. The data blocks stored on the storage device are deduplicated, by looking-up the shared data structure by the servers without executing code on a processor of the storage controller.