Storage Controller Read-Ahead Using Next Block Hints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing read-ahead algorithms in storage technologies are ineffective for non-contiguous file data storage, leading to significant cache misses and data delivery latencies due to their inability to detect and read metadata associated with needed physical blocks for caching.

Innovation Solution

A method for caching file data in a DIF-enabled storage system that includes generating and storing next block hints in logical blocks, allowing the storage controller to read-ahead file data more effectively by including a next block hint in each logical block, which increases the probability of cache hits during sequential file reads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing read-ahead algorithms are used for non-contiguous file data storage, then cache hits are reduced, but data delivery latency increases

Engineering Contradiction:
Improvecache hit rateVSAvoiddata delivery latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by reading ahead file data blocks before they are actually requested by the application. The storage controller proactively reads subsequent logical blocks based on current read operations, storing them in the cache buffer memory in advance. This preliminary caching action ensures that when non-contiguous data blocks are needed, they are already available in the cache, thereby maintaining high cache hit rates and reducing data delivery latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the storage controller monitors read operations and uses this information to intelligently determine which subsequent logical blocks to read ahead. The controller receives feedback about actual read patterns and adjusts its read-ahead behavior accordingly, optimizing cache utilization for non-contiguous data storage scenarios and improving both cache hit rates and reducing latency.

Inventive Principle:
Principle #23Feedback

2Device complexity

If read-ahead algorithms have limited interaction with file systems, then system complexity is reduced, but metadata detection capability is insufficient

Engineering Contradiction:
Improvesystem complexityVSAvoidmetadata detection capability
Core Design Contradiction:
Device complexityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an intermediary layer in the form of a file adapter that bridges the storage controller and the file system. The file adapter translates file system operations into storage controller commands and vice versa, enabling the storage controller to access metadata information without requiring deep integration with the file system. This intermediary approach provides sufficient metadata detection capability while maintaining relatively low system complexity by avoiding direct complex interactions between the storage controller and file system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8775742B2System and method for cache management in a DIF enabled storage system
Publication Date: 2014.07.08 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8775742B2 patent drawing
  • US8775742B2 patent drawing
  • US8775742B2 patent drawing

AI summary

A system and method for caching file data is disclosed. In one embodiment, in a method for caching file data stored in a storage device, wherein the file data is used by an application running on a computing system having a processor, a file system residing in memory, and a storage controller, file data required by the application running on the processor is determined and file access data is generated. Then, physical file mapping information related to the file access data on the storage device is determined. The physical file mapping information includes logical block information, associated physical block information, and a next block hint needed for caching portions of the file data for each subsequent logical block. Further, read commands are generated from the storage controller to read-ahead file data stored in the storage device using the physical file mapping information.