Block-Level Prefetching Using Access History Probability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing prefetching techniques are inefficient in capturing semantic correlation across random accesses in cloud storage caching, particularly due to their coarse-grained file-based approaches that do not adaptively determine the amount or type of data to prefetch, leading to high costs and performance penalties.

Innovation Solution

A method that identifies candidate data blocks with higher historical access probabilities than their successors, using a prefetch threshold value to dynamically determine which blocks to fetch and store in the cache, leveraging access history and sequentiality to optimize prefetching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If file-based history prefetching is used, then access patterns can be captured, but prefetch wastage increases due to bringing entire files into cache

Engineering Contradiction:
Improveaccess pattern captureVSAvoidprefetch wastage
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent segments files into smaller data blocks and performs prefetching at the block level rather than file level. This allows selective prefetching of only those blocks that are likely to be accessed, avoiding the wastage of bringing entire files into cache. The system maintains block-level access history to identify patterns while operating at a finer granularity than traditional file-based approaches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making prefetching decisions specific to individual data blocks based on their access history and probability, rather than applying a uniform file-level approach. Each block is evaluated independently with its own prefetch probability calculation, allowing the system to adapt to local access patterns within files.

Inventive Principle:
Principle #3Local quality

2Device complexity

If sequential prefetching is used, then simplicity is maintained, but semantic correlation across random accesses cannot be captured

Engineering Contradiction:
Improveprefetching simplicityVSAvoidsemantic correlation capture
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements feedback by maintaining and continuously updating block-level access history. This historical information feeds into probability calculations that determine which blocks to prefetch, creating a closed-loop system that adapts to actual access patterns. The feedback mechanism enables the system to capture semantic correlations while maintaining reasonable complexity through algorithmic processing of historical data.

Inventive Principle:
Principle #23Feedback

3Loss of time

If cloud storage caching is used, then access latency can be reduced, but the penalty for wrong prefetch decisions is very high

Engineering Contradiction:
Improveaccess latencyVSAvoidprefetch cost
Core Design Contradiction:
Loss of timeVSLoss of substance

Solution Approach 1:

The patent applies dynamics by making prefetching decisions adaptive and probabilistic rather than static and deterministic. The system dynamically calculates prefetch probabilities based on current access history and updates these probabilities as new access patterns emerge. This dynamic approach allows the system to adjust to changing workloads and reduces the penalty of wrong prefetch decisions by being more selective.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of prefetching granularity from file-level to block-level, and introduces probability as a new parameter for decision-making. By operating at block granularity and using probability thresholds, the system can more precisely control what data is prefetched, reducing wasted cache space while maintaining the latency benefits of caching.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9471497B2Methods for combining access history and sequentiality for intelligent prefetching and devices thereof
Publication Date: 2016.10.18 NETAPP INC
  • US9471497B2 patent drawing
  • US9471497B2 patent drawing
  • US9471497B2 patent drawing

AI summary

A method, non-transitory computer readable medium, and device that prefetchs includes identifying a candidate data block from one of one or more immediate successor data blocks. The identified candidate data block has a historical access probability value from an initial accessed data block which is higher than a historical access probability value for each of the other immediate successor data blocks and is above a prefetch threshold value. The identifying is repeated until a next identified candidate data block has the historical access probability value below the prefetch threshold value. In the repeating, the identifying next immediate successor data blocks is from the previously identified candidate data block and the historical access probability value for each of the next immediate successor data blocks is determined from the originally accessed data block. The identified candidate data block with the historical access probability value above the prefetch threshold value is fetched.