Read Ahead Cache Bypass for Storage Array I/O Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems experience performance degradation due to extra read and write operations during cache misses, which reduce bandwidth and increase latency when transferring data between hard disk drives (HDDs) and solid state drives (SSDs).

Innovation Solution

Implementing a direct software copy operation between HDD and SSD volumes during cache misses, eliminating the need for intermediate cache storage and reducing the number of read and write operations, thereby enhancing I/O performance by transferring data directly between the two storage types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is transferred through the controller cache during cache misses, then data can be temporarily stored and reused, but extra read and write operations are performed reducing bandwidth and increasing latency

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a direct data transfer path between HDD and SSD volumes that bypasses the controller cache for cache miss scenarios. This intermediary direct connection allows data to move between storage devices without being mediated through the cache, eliminating the performance penalty of extra read/write operations while maintaining the cache's ability to handle subsequent requests efficiently

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data transfer path into two distinct modes: (1) traditional cache-mediated transfers for cache hits and initial writes, and (2) direct volume-to-volume transfers for cache misses. This segmentation allows the system to optimize each path independently, using the fastest available route for each specific scenario without compromising overall system reliability

Inventive Principle:
Principle #1Segmentation

2Speed

If data is written to cache before being served to host, then read operations can be serviced quickly, but bandwidth is consumed by intermediate write operations

Engineering Contradiction:
Improveread operation speedVSAvoidbandwidth consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent performs preliminary data transfer directly from HDD to SSD volume when a cache miss is detected, populating the SSD cache in advance for future rapid servicing. This preliminary action eliminates the need for intermediate write operations through the controller cache, reducing bandwidth consumption while maintaining fast read performance for subsequent requests

Inventive Principle:
Principle #10Preliminary action

3Productivity

If conventional flash read cache approach is used, then further read operations can be serviced from SSD volume, but extra read operations are performed from fixed volume increasing latency

Engineering Contradiction:
Improveread operation throughputVSAvoidrequest servicing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent enables the system to skip the traditional sequential process of reading from HDD to cache then to SSD. Instead, it rushes data directly from HDD to SSD volume in a single operation, bypassing the intermediate cache write step. This skipping of unnecessary intermediate steps reduces the total time required to service read requests while maintaining the ability to serve subsequent reads from the fast SSD volume

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS8984225B2Method to improve the performance of a read ahead cache process in a storage array
Publication Date: 2015.03.17 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8984225B2 patent drawing
  • US8984225B2 patent drawing
  • US8984225B2 patent drawing

AI summary

An apparatus comprising an array controller and a cache. The array controller may be configured to read/write data to a first array of drives of a first drive type in response to one or more input/output requests. The cache may be configured to (i) receive said input/output requests from the array controller, (ii) temporarily store the input/output requests, and (iii) read/write data to a second array of drives of a second drive type in response to the input/output requests. The first array of drives may be configured to copy the data directly to/from the second array of drives during a cache miss condition such that the array controller retrieves the data stored in the first array of drives through the second array of drives without writing the data to the cache.