Deduplication File Restoration Using Multiple Read-Ahead Caches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Restoring files from large-scale deduplicated filesystems is time-consuming due to the need for extensive read input/output operations, which existing techniques fail to optimize efficiently.

Innovation Solution

Implementing a system with a read-ahead cache mechanism that prefetches data from the storage layer into memory buffers, allowing subsequent read requests to be serviced directly from the cache rather than the storage layer, and utilizing a distributed architecture with similarity groups to parallelize data processing across multiple services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data is restored directly from the storage layer without optimization, then data accuracy is ensured, but restoration time increases significantly

Engineering Contradiction:
Improverestoration timeVSAvoiddata retrieval efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by opening multiple internal read-ahead streams to prefetch data chunks from the storage layer into memory buffers before actual restore requests are processed. This advance data preparation significantly reduces restoration time when clients request file recovery.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer (memory buffers/read-ahead cache) between the storage layer and the restore stream. This intermediary prefetches and caches data chunks, allowing subsequent restore operations to retrieve data from faster memory rather than directly from slow storage, thus improving data retrieval efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If multiple read-ahead streams are opened to prefetch data, then data retrieval speed improves, but system complexity increases

Engineering Contradiction:
Improvedata retrieval speedVSAvoidsystem architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system segments the data retrieval process by dividing it into multiple independent read-ahead streams, each handling specific data chunks from the segment tree. This segmentation allows parallel prefetching operations while maintaining manageable complexity through modular stream handling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a temporal dimension to data retrieval by implementing asynchronous prefetching operations that run concurrently with request processing. Multiple read-ahead streams operate in parallel time streams, fetching different data chunks simultaneously, thereby increasing data retrieval speed without proportionally increasing synchronous processing complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Speed

If data is cached in memory buffers, then access speed increases, but memory resource consumption increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory buffer consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system applies partial prefetching by opening a limited number of read-ahead streams (e.g., 2-5 streams) rather than prefetching all data. Each stream prefetches a portion of the required data chunks into memory buffers, achieving sufficient speed improvement while constraining memory buffer consumption to manageable levels.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent dynamically adjusts parameters such as the number of read-ahead streams, buffer sizes, and prefetch thresholds based on system conditions. By changing these parameters, the system optimizes the balance between data access speed and memory resource consumption, allocating buffer memory efficiently based on workload demands.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20260030118A1Servicing file restorations in a deduplication filesystem using multiple read-ahead caches
Publication Date: 2026.01.29 DELL PROD LP
  • US20260030118A1 patent drawing
  • US20260030118A1 patent drawing
  • US20260030118A1 patent drawing

AI summary

Access object (AOB) and deduplication object (DOB) services of a deduplication filesystem are provisioned across a cluster. A client-side library receives a request to restore a file, the file being divided into chunks and the chunks being assigned to similarity groups. A first table is created that maps offset ranges in the file to AOBs. Prefetch requests are issued to the AOBs for chunks of the file corresponding to the offset ranges. Upon the AOBs receiving prefetches, a second table is consulted. The second table maps similarity groups to the DOBs, each DOB being responsible for reading a chunk of an assigned similarity group from a storage layer of the filesystem. Multiple internal read-ahead streams are opened from the AOBs to the DOBs. The internal read-ahead streams prefetch the chunks read by the DOBs to populate read-ahead caches maintained at the AOBs. The request is serviced using the read-ahead caches.