Segmented File Prefetching to Resolve Cache Thrash

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File-level disk-caching leads to suboptimal performance due to 'cache thrash' situations where entire files are frequently added to and evicted from non-volatile memory, resulting in inefficiencies and increased size requirements.

Innovation Solution

Implementing a cache prefetch policy that selectively prefetches individual file segments based on access patterns, using a cache policy manager to identify and manage non-volatile memory locations, creating a stack instance of evicted segments, and prefetching only those segments that were previously accessed and not cached, thereby improving performance and reducing cache size requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If file-level caching is implemented, then recent files can be stored in non-volatile memory for faster access, but cache thrash occurs where entire files are frequently added to and evicted from cache

Engineering Contradiction:
Improvefile access speedVSAvoidcache efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent divides files into smaller segments and caches only the recently accessed segments rather than entire files. The cache policy manager tracks access patterns at the segment level and selectively prefetches only those segments that are likely to be accessed next, preventing cache thrash while maintaining fast access to frequently used portions of files.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by tracking file access patterns and proactively prefetching segments before they are actually needed. The cache policy manager monitors access patterns and prefetches segments in advance based on predicted future access needs, improving cache efficiency without requiring entire files to be cached.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If entire files are cached to prevent cache thrash, then cache stability improves, but cache size requirements increase

Engineering Contradiction:
Improvecache stabilityVSAvoidcache size
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

By segmenting files into smaller units and caching only the necessary portions, the system maintains cache stability for the cached segments while dramatically reducing the total cache size required. Only segments that are actively or recently accessed are maintained in cache, rather than entire files.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies partial action by caching only the necessary portion of files (recently accessed segments) rather than complete files. This partial caching approach provides sufficient stability for active workloads while minimizing cache size requirements.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If selective segment prefetching is implemented, then cache size is reduced, but system complexity increases

Engineering Contradiction:
Improvecache sizeVSAvoidcache management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The cache policy manager implements self-service by automatically tracking access patterns and making intelligent decisions about which segments to prefetch and cache. The system monitors its own usage patterns and autonomously manages cache contents without requiring complex external control mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from actual file access patterns to dynamically adjust cache behavior. The cache policy manager continuously monitors which segments are accessed and uses this feedback to make informed decisions about prefetching and cache eviction, simplifying management through data-driven automation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10891233B2Intelligent prefetch disk-caching technology
Publication Date: 2021.01.12 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US10891233B2 patent drawing
  • US10891233B2 patent drawing
  • US10891233B2 patent drawing

AI summary

Systems, apparatuses and methods may provide for technology to automatically identify a plurality of non-volatile memory locations associated with a file in response to a close operation with respect to the file and automatically conduct a prefetch from one or more of the plurality of non-volatile memory locations that have been most recently accessed and do not reference cached file segments. The prefetch may be conducted in response to an open operation with respect to the file and on a per-file segment basis.