Dynamic Cache Memory Configuration for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face inefficiencies in cache memory configuration due to static sizing of mirrored and unmirrored segments, leading to suboptimal performance and resource waste, as they fail to dynamically balance cache memory based on predicted IO distributions.

Innovation Solution

Implementing a dynamic cache memory provisioning system using MPIO drivers that analyze IO queues to predict IO distributions and generate hints for storage controllers to rebalance cache memory configurations, adjusting segment and pool sizes in real-time to match anticipated workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static cache memory configuration is used, then device complexity is reduced, but storage system performance deteriorates during varying workloads

Engineering Contradiction:
Improvecache memory configurationVSAvoidstorage system performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic cache memory configuration that automatically adjusts cache allocations based on real-time workload characteristics and IO operation patterns. The system transitions from static to dynamic provisioning, allowing cache memory to adapt its configuration continuously according to changing storage system demands, thereby maintaining optimal performance across varying workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes cache memory parameters (allocation sizes, segment configurations) based on predicted IO distributions and actual workload patterns. By monitoring IO operations and adjusting cache configuration parameters dynamically, the system optimizes performance without requiring manual intervention or fixed configurations.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If dynamic cache memory configuration is implemented, then storage system performance is improved, but device complexity increases

Engineering Contradiction:
Improvestorage system performanceVSAvoidcache memory configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the storage system automatically monitors its own IO patterns, predicts future workload distributions, and adjusts cache memory configuration autonomously. The system serves itself by eliminating the need for external manual configuration, using built-in intelligence to optimize cache allocations based on real-time performance data and predicted IO patterns.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback loops that continuously monitor cache performance metrics, IO operation patterns, and workload characteristics. This feedback information is used to dynamically adjust cache memory configuration, creating a closed-loop control system that automatically optimizes performance while adapting to changing conditions.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If cache memory is not optimized for IO operations, then ease of operation is improved, but storage system performance deteriorates

Engineering Contradiction:
Improvecache memory configurationVSAvoidstorage system performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The storage system performs self-configuration of cache memory without requiring operator intervention. The system automatically analyzes IO patterns, predicts workload distributions, and provisions cache memory configurations autonomously, eliminating the need for manual optimization while maintaining high performance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary actions by predicting future IO distributions and proactively configuring cache memory before actual workload demands occur. This anticipatory configuration ensures cache memory is optimized in advance for expected IO patterns, improving performance without requiring reactive adjustments.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11099754B1Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations
Publication Date: 2021.08.24 EMC IP HLDG CO LLC
  • US11099754B1 patent drawing
  • US11099754B1 patent drawing
  • US11099754B1 patent drawing

AI summary

An apparatus comprises at least one processing device comprising a processor coupled to a memory. The at least one processing device is configured to receive, via a multi-path layer of at least one host device, at least one indication of a predicted distribution of input-output operations directed from the at least one host device to a storage system for a given time interval. The at least one processing device is also configured to determine a cache memory configuration for a cache memory associated with the storage system based at least in part on the at least one indication of the predicted distribution of input-output operations for the given time interval. The at least one processing device is further configured to provision the cache memory with the determined cache memory configuration for the given time interval.