Prefetch Command Optimization in Tiered Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face inefficiencies in processing prefetch commands without compromising read cache management efficiency or requiring larger read cache memories, particularly in handling host-generated prefetch commands that intend to read data in the future.

Innovation Solution

A storage controller system that includes a read cache memory and multiple storage tiers, where prefetch data is stored in the fastest storage tier instead of being discarded, and can migrate data between tiers to optimize read performance, using a read flash cache as a cost-effective alternative to the fastest storage tier when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If prefetch data is stored in read cache memory, then read performance is improved, but read cache memory is consumed and may need to discard other data

Engineering Contradiction:
Improveread performanceVSAvoidread cache memory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent extends the storage hierarchy by introducing a fastest storage tier above the traditional read cache memory. Prefetch data is stored in this new fastest storage tier dimension, preserving read cache memory for other purposes while maintaining fast access performance through the multi-tiered architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If read cache memory size is increased to store more prefetch data, then read performance is improved, but system cost and complexity increase

Engineering Contradiction:
Improveread performanceVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the storage system into multiple tiers with different characteristics: read cache memory for immediate caching needs and a fastest storage tier for prefetch data. This segmentation allows each component to be optimized independently, avoiding the need to oversize the read cache memory while maintaining performance.

Inventive Principle:
Principle #1Segmentation

3Productivity

If prefetch data is discarded from read cache memory, then cache management efficiency is improved, but read performance deteriorates when prefetch data is needed

Engineering Contradiction:
Improvecache management efficiencyVSAvoidread performance
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent performs preliminary action by storing prefetch data in the fastest storage tier before it is actually needed. This advance preparation ensures that when the data is required, it can be quickly retrieved without compromising read cache memory, thus maintaining both cache management efficiency and read performance.

Inventive Principle:
Principle #10Preliminary action

4Speed

If the fastest storage tier is used for prefetch data, then read performance is improved, but system cost increases

Engineering Contradiction:
Improveread performanceVSAvoidsystem cost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by using the fastest storage tier specifically for prefetch data while keeping read cache memory available for other high-priority data. This localized application of high-performance storage optimizes overall system performance without requiring the entire system to use expensive fast storage media.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10310980B2Prefetch command optimization for tiered storage systems
Publication Date: 2019.06.04 SEAGATE TECH LLC
  • US10310980B2 patent drawing
  • US10310980B2 patent drawing
  • US10310980B2 patent drawing

AI summary

A system is provided. The system includes a storage controller configured to receive a prefetch command from a host interface. The storage controller includes a read cache memory that stores prefetch data in response to the prefetch command and a plurality of storage tiers coupled to the storage controller and providing the prefetch data. The plurality of storage tiers includes a fastest storage tier that stores the prefetch data if the read cache memory discards the prefetch data after storing the prefetch data.