Multi-Node File Server Deduplication via I/O Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File data deduplication processes in existing systems degrade the performance of file data read/write operations, as they are distinct processes and not integrated with I/O operations.

Innovation Solution

A storage system with multiple nodes, where one node performs deduplication by caching data and instructing another node to avoid storing duplicate data, minimizing the impact on read/write performance by dynamically switching between deduplication modes based on I/O load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a file data deduplication process is performed separately from the file data read/write process, then deduplication can be achieved, but the performance of the file data read/write process is degraded

Engineering Contradiction:
Improvededuplication ratioVSAvoidfile data read/write performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent merges the deduplication process with the file data read/write process by having the file server perform deduplication checks during normal I/O operations. The file server compares incoming file data with existing data in the storage device, and only writes new data when it is determined to be unique, thereby combining two previously separate processes into one integrated operation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The file server is designed to perform multiple functions simultaneously: it handles file data read/write operations while also performing deduplication checks. The same file server that manages file I/O also executes the deduplication logic, comparing incoming data with stored data and controlling the writing process, thereby making a single system universal for both tasks.

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

2Quantity of substance

If deduplication is performed by a single node, then the deduplication process can be implemented, but the influence on the performance of file data read/write process of other nodes increases

Engineering Contradiction:
Improvededuplication ratioVSAvoidperformance influence on other nodes
Core Design Contradiction:
Quantity of substanceVSObject-affected harmful factors

Solution Approach 1:

The patent segments the deduplication responsibility across multiple file servers in the system. Each file server independently performs deduplication checks for the file data it receives, comparing incoming data with its own stored data. This distribution of deduplication tasks across multiple nodes prevents any single node from being overloaded and reduces the performance impact on other nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each file server performs deduplication checks on its own independently, using its own stored data as the reference for comparison. The file server serves itself by autonomously determining whether incoming file data is duplicate or unique, without requiring centralized coordination or interfering with the operations of other file servers, thereby minimizing performance influence on other nodes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9369527B2File server, file server control method, and storage system
Publication Date: 2016.06.14 HITACHI VANTARA LTD
  • US9369527B2 patent drawing
  • US9369527B2 patent drawing
  • US9369527B2 patent drawing

AI summary

Disclosed is a storage system that includes a first node and a second node. The first node and the second node are connected to a client and a storage device. The first node includes a first memory for cache data, receives data from the client, stores the data into the first memory, and controls the storing the content of the data into the storage device from the first memory in accordance with an instruction from the second node. The second node includes a second memory for the same cache data as the first memory. If the content of data in the storage device or the content of data in the second memory before the storing of the data is the same as the content of the data in the second memory, the second node instructs the first node not to store the content of the data into the storage device.