Extent Map Prefetching for Sparse File Restore

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing deduplication storage systems face inefficiencies in restore performance due to ineffective prefetching mechanisms, particularly when dealing with extent-based reads, leading to wasteful I/O operations and reduced throughput.

Innovation Solution

Implementing an extent-based prefetching mechanism that uses an extent map to identify valid data regions and avoid invalid data, allowing the filesystem or application to generate prefetches that target only the valid data regions, optionally utilizing multi-streamed restore components for parallel read-ahead operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional read-ahead prefetching is used for extent-based reads, then read performance may be improved in sequential scenarios, but wasteful I/O operations occur when reading non-sequential extents

Engineering Contradiction:
Improveread performanceVSAvoidwasteful I/O operations
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The file is segmented into extents with valid data and holes (invalid data). The extent map divides the file into discrete segments, allowing the prefetching mechanism to target only valid extents rather than reading continuously through the entire file, thus avoiding wasteful I/O operations on invalid data regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The extent map is prepared in advance to identify which extents contain valid data before prefetching begins. This preliminary action allows the system to pre-calculate which regions should be prefetched, avoiding wasteful I/O operations on holes while maintaining read performance through proactive loading of valid extents into the read-ahead cache.

Inventive Principle:
Principle #10Preliminary action

2Speed

If prefetch horizon is increased to improve read performance in slow storage scenarios, then more data is prefetched, but I/O waste increases when reading only specific extents

Engineering Contradiction:
Improveread performanceVSAvoidI/O efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

Different regions of the file are treated differently based on their validity status. Valid extents are prefetched with appropriate horizon calculations, while holes are explicitly excluded from prefetching. This local differentiation ensures that I/O resources are concentrated on useful data regions, improving both read performance and I/O efficiency simultaneously.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The extent map is prepared in advance to identify which extents contain valid data before prefetching begins. This preliminary action allows the system to pre-calculate which regions should be prefetched, avoiding wasteful I/O operations on holes while maintaining read performance through proactive loading of valid extents into the read-ahead cache.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If simple prefetching is used for files with holes, then implementation is simple, but restore performance deteriorates due to reading invalid data

Engineering Contradiction:
Improveimplementation simplicityVSAvoidrestore performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The extent map serves as an intermediary data structure that sits between the simple prefetching mechanism and the actual file data. It provides the necessary information about valid extents to the prefetching logic, enabling the system to maintain implementation simplicity while achieving improved restore performance through targeted prefetching of only valid data regions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12455859B2Extent restore performance using smart prefetching
Publication Date: 2025.10.28 DELL PROD LP
  • US12455859B2 patent drawing
  • US12455859B2 patent drawing
  • US12455859B2 patent drawing

AI summary

Improving read performance using pre-fetches by encoding an extent map identifying valid data of the file as extents that may be interspersed with holes constituting invalid data, and storing the extent map in the client. The extent map generates pre-fetches of data that land on only extents of the file and avoids the holes, by one of: transferring, upon the read request, the extent map to a filesystem storing the file, and bringing the extents from the extent map into memory ahead of the read request; or using, in the network client, the extent map to generate prefetch requests and execute read-ahead operations on the filesystem. The method may also apply where the application only wants to read what has changed since the last backup. In this case, the application has a map of what has changed, and can choose to read just the right extents.