Read-Ahead Cache for Faster Deduplication File Restores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Restoring files from large-scale deduplication filesystems is time-consuming due to the need to fetch data from storage layers, which is inefficient and lacks effective techniques to reduce this time.

Innovation Solution

Implementing a read-ahead cache mechanism that prefetches data from the storage layer and stores it in buffers, allowing subsequent read requests to be serviced from the cache rather than the storage layer, and utilizing a distributed set of services to manage and scale the filesystem.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data is read directly from the storage layer during file restoration, then data can be retrieved from the deduplication filesystem, but the restoration process becomes time-consuming due to significant read I/O operations

Engineering Contradiction:
Improvefile restoration timeVSAvoidread I/O operations
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by opening multiple internal read-ahead streams from the AOB service to the DOB service to populate a read-ahead cache before the actual restore stream is serviced. This prefetching of data into cache memory reduces the time required for file restoration by having data ready before it is needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A read-ahead cache is introduced as an intermediary between the storage layer and the restore stream. The cache sits between the DOB service and the AOB service, buffering data so that subsequent read requests can be serviced from the cache rather than directly from the storage layer, reducing read I/O operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple internal read-ahead streams are opened to populate a read-ahead cache, then restore performance is improved, but the system complexity increases

Engineering Contradiction:
Improverestore performanceVSAvoidstream management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The restoration process is segmented into multiple independent read-ahead streams, each handling specific portions of data. The upper level segments are grouped into similarity groups and assigned to different DOB services, allowing parallel processing while maintaining manageable complexity through clear segmentation of responsibilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes parameters by dynamically managing the number and state of read-ahead streams. Streams are opened and closed based on the iteration through upper level segments, allowing the system to optimize performance while controlling complexity through parameter-driven stream management.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12625774B2Servicing file restorations in a deduplication filesystem using a read-ahead cache
Publication Date: 2026.05.12 DELL PROD LP
  • US12625774B2 patent drawing
  • US12625774B2 patent drawing
  • US12625774B2 patent drawing

AI summary

An access object (AOB) service receives a restore stream from a client for a file managed by a deduplication filesystem. The file is represented by a segment tree including segments in an upper level referencing chunks of the file. The upper level segments are grouped into similarity groups and the similarity groups are assigned to deduplication object (DOB) services. The upper level segments are iterated over to open multiple internal read-ahead streams from the AOB service to the DOB service to populate a read-ahead cache maintained at the AOB service. The restore stream is serviced using the read-ahead cache.