Dynamic Storage Controller Cache Configuration for RAID Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage controllers face performance bottlenecks in multi-workload environments due to inadequate cache policies, which fail to optimize write operations across different RAID levels, leading to suboptimal performance and increased overhead.

Innovation Solution

A dynamic data storage controller configuration mechanism, where a device driver identifies RAID types and characteristics to dynamically switch between write-back and write-through modes based on queue depth, alignment, and sequentiality of write commands, optimizing the data path to bypass cache for RAID 0 and RAID 1, and using write-back/write-through modes for RAID 5, thereby enhancing write operation performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a storage controller uses a fixed cache policy for all RAID levels, then the device complexity is reduced, but the write operation performance deteriorates due to suboptimal cache utilization

Engineering Contradiction:
Improvewrite operation performanceVSAvoidcache policy complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic cache policy adjustment by monitoring queue depth and detecting sequential write patterns. The device driver switches between write-back and write-through modes based on real-time workload characteristics, making the cache policy adaptive rather than static. This resolves the contradiction by allowing performance optimization without permanent complexity increase.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters (cache mode, data path selection) based on detected workload conditions. By monitoring queue depth thresholds and sequentiality patterns, the system adjusts cache utilization parameters to match the specific RAID level and workload type, achieving optimal performance across different scenarios without hardcoding complex policies.

Inventive Principle:
Principle #35Parameter changes

2Speed

If the storage controller always uses write-back mode with cache, then write operation speed is improved, but the loss of time due to cache management overhead increases

Engineering Contradiction:
Improvewrite operation speedVSAvoidcache management overhead
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system applies cache selectively rather than universally. By detecting sequential write patterns and queue depth thresholds, the system engages cache only when beneficial (partial action), avoiding cache management overhead for workloads where direct writing is more efficient. This resolves the contradiction by using cache excessively only when it provides net benefit.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If the storage controller bypasses cache for all RAID levels, then the overhead is reduced, but the write operation performance deteriorates due to inability to utilize cache benefits

Engineering Contradiction:
Improvecache management overheadVSAvoidwrite operation performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system applies different cache strategies to different RAID levels and workload types. RAID 0 and RAID 1 receive cache bypass treatment, while RAID 5 and RAID 6 receive write-back treatment. This local differentiation resolves the contradiction by optimizing each scenario individually rather than applying a universal approach.

Inventive Principle:
Principle #3Local quality

4Ease of operation

If the device driver uses static configuration for cache policies, then the ease of operation is improved, but the adaptability to different workload conditions deteriorates

Engineering Contradiction:
Improveconfiguration simplicityVSAvoidworkload adaptation
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The device driver automatically detects workload characteristics and adjusts cache policies without requiring manual configuration. By monitoring queue depth and sequentiality patterns, the system self-adapts to different RAID levels and workload types, maintaining ease of operation while achieving high adaptability. This resolves the contradiction by eliminating the need for user configuration expertise.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9274713B2Device driver, method and computer-readable medium for dynamically configuring a storage controller based on RAID type, data alignment with a characteristic of storage elements and queue depth in a cache
Publication Date: 2016.03.01 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9274713B2 patent drawing
  • US9274713B2 patent drawing
  • US9274713B2 patent drawing

AI summary

A storage controller coupled to a host computer is dynamically configured by a device driver executing in the host computer. The storage controller manages a logical volume for the host using a set of flash-based storage devices arranged as a redundant array of inexpensive disks (RAID). The device driver identifies a RAID type for the logical volume and a queue depth from a stream of I/O commands. For a logical volume in RAID 0, the device driver compares the queue depth to a threshold value and configures the storage controller to process the stream of I/O commands with a first path or an alternative path based on a result of the comparison. For a logical volume in RAID 5, the device driver performs a similar comparison and uses the result to direct the storage controller to use a write back or a write through mode of operation.