Server-Side Data Deduplication for Storage Network Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems with data reduction functionalities, such as de-duplication and snapshot, do not effectively reduce data transfer between servers and storage systems, leading to inefficient network and flash memory utilization, as servers cannot perceive data sharing status, resulting in duplicate data transfer and increased processing overhead.

Innovation Solution

A method where a controller manages data storage by using virtual volume IDs and pool addresses to determine if data is already stored in memory, allocating space as needed and updating information for shared data, allowing for efficient caching and reduction of data transfer by storing shared data directly in server flash memory, and implementing write through and write back modes for synchronous and asynchronous data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If de-duplication functionality is implemented in the storage system, then storage capacity is reduced, but data transfer between storage system and server is not reduced leading to network inefficiency

Engineering Contradiction:
Improvestorage capacityVSAvoidnetwork utilization efficiency
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The server performs de-duplication processing before writing data to the storage system. The controller identifies duplicate data blocks, stores only unique blocks in the storage system, and maintains a mapping table of data blocks to physical storage locations. This preliminary de-duplication action eliminates redundant data transfer over the network while achieving storage capacity reduction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A mapping table is introduced as an intermediary data structure that stores the correspondence between virtual addresses and physical storage locations. This mapping table enables the server to track which data blocks are already stored in the storage system, allowing the server to make intelligent decisions about data transfer and caching without requiring the storage system to perform de-duplication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If both storage system and server have data reduction functionalities, then data reduction coverage is improved, but processing overhead doubles

Engineering Contradiction:
Improvedata reduction coverageVSAvoidprocessing overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The de-duplication processing functionality is extracted from the storage system and relocated to the server. The storage system maintains only the basic de-duplication data structure (mapping table), while the computationally intensive de-duplication logic and duplicate detection algorithms are executed on the server side. This extraction eliminates redundant processing overhead while maintaining comprehensive data reduction coverage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The server performs self-service de-duplication by autonomously analyzing incoming data, identifying duplicate blocks, and making decisions about what data to write to storage. The server manages its own caching strategy and maintains the mapping table, eliminating the need for complex coordination between storage system and server de-duplication functionalities.

Inventive Principle:
Principle #25Self-service

3Speed

If server caches data without knowing data sharing status, then flash memory caching is achieved, but duplicate data is stored consuming network and memory resources

Engineering Contradiction:
Improvedata access speedVSAvoidnetwork and memory resource utilization
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The mapping table provides feedback information to the server about which data blocks are already stored in the storage system and their physical locations. Before caching data in flash memory, the server queries the mapping table to check if the data already exists in storage. This feedback mechanism prevents duplicate data from being cached in flash memory, optimizing both access speed and resource utilization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The server performs preliminary checking of the mapping table before initiating data caching operations. By checking the data sharing status in advance, the server can make informed decisions about whether to cache data locally or rely on storage system data, thereby avoiding redundant use of flash memory and network resources.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9606910B2Method and apparatus for data reduction
Publication Date: 2017.03.28 HITACHI VANTARA LTD
  • US9606910B2 patent drawing
  • US9606910B2 patent drawing
  • US9606910B2 patent drawing

AI summary

Embodiments of the invention provide data reduction in storage systems. In one embodiment, a computer comprises: a memory; and a controller operable to manage information, which corresponds to a plurality of addresses, of one or more volumes provided from a storage system to the computer and including at least one set of multiple storage areas sharing same data to be stored in the storage system. The controller is operable to manage storing of the shared same data in the memory of the computer by using the information of the storage areas.