Frontend Cache Deduplication via File Chunk Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache systems face inefficiencies in storing and managing electronic content due to the duplication of file chunks, which can lead to increased storage needs and reduced performance, especially in solid-state storage devices where space and access times are critical.

Innovation Solution

A method that processes read requests for data files by dividing them into chunks based on file type or structure, comparing these chunks within a frontend cache system to identify unique and non-unique chunks, and storing only unique chunks, thereby reducing storage needs and enhancing performance by eliminating redundant data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If file chunks are stored in cache system without deduplication, then storage capacity is increased, but storage efficiency and performance are reduced due to redundant data

Engineering Contradiction:
Improvestorage capacityVSAvoidstorage efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments files into fixed-size chunks and stores only unique chunks in the cache system. By dividing files into discrete units and identifying duplicates through hashing, the system achieves efficient deduplication while maintaining storage capacity for unique data portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of data representation by using hash values to identify unique chunks. Instead of storing entire duplicate files or chunks, the system transforms data into hash representations for comparison, enabling efficient deduplication and optimal cache utilization.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all file chunks are stored in cache system, then data availability is improved, but access times increase due to redundant data retrieval

Engineering Contradiction:
Improvedata availabilityVSAvoidaccess time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and stores only the unique portions of data in the cache system by comparing file chunks against existing cache entries. This extraction of redundant data ensures that only necessary data is retained in the cache, improving access efficiency while maintaining availability of unique data portions.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If cache system stores duplicate file chunks, then storage utilization is increased, but cache management complexity increases

Engineering Contradiction:
Improvestorage utilizationVSAvoidcache management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary deduplication by comparing incoming file chunks against existing cache entries using hash functions before storing data. This preliminary action of identifying unique chunks prevents redundant storage operations, simplifying cache management while optimizing storage utilization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9405684B1System and method for cache management
Publication Date: 2016.08.02 EMC IP HLDG CO LLC
  • US9405684B1 patent drawing
  • US9405684B1 patent drawing
  • US9405684B1 patent drawing

AI summary

A method, computer program product, and computing system for processing, on a host, a read request for a portion of a data file stored on a backend storage system. The portion of the data file is obtained from the backend storage system. The portion of the data file is divided into a plurality of file chunks based, at least in part, upon a file type. Each of the plurality of file chunks is compared to other file chunks stored within a frontend cache system associated with the host to identify unique file chunks within the plurality of file chunks. The unique file chunks are stored within the frontend cache system.