Dynamic Cache Partitioning for Storage Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache subsystems in storage arrays fail to distinguish between high and low priority IO operations, leading to inefficient memory resource allocation, where low priority IOs consume resources, delaying higher priority ones and reducing overall performance, thus failing to meet Service Level Objectives (SLOs).

Innovation Solution

The global memory of a storage array is dynamically partitioned into cache partitions based on anticipated IO service level (SL) workload volumes using a machine learning engine to identify and manage SL tier usage patterns, ensuring that cache slots are allocated and deallocated according to priority, optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If global memory is statically allocated to cache partitions, then memory management is simple, but it cannot adapt to varying IO workload patterns and reduces overall performance

Engineering Contradiction:
Improveadaptability to IO workload patternsVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic cache partition allocation where the storage system continuously monitors IO workload patterns and automatically adjusts cache slot assignments between different cache partitions (e.g., SSD cache and HDD cache) in real-time based on current workload characteristics, rather than using static allocation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs self-service mechanisms through automated workload analysis and cache allocation algorithms that monitor IO patterns and reconfigure cache partitions without manual intervention, allowing the storage system to self-optimize based on observed workload behavior

Inventive Principle:
Principle #25Self-service

2Productivity

If low priority IO operations are allowed to use cache resources, then resource utilization increases, but high priority IO operations experience delays and performance degradation

Engineering Contradiction:
Improveoverall workload throughputVSAvoidService Level Agreement compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the cache resources into multiple priority-based partitions, where different cache slots are dedicated to different priority levels of IO operations. This segmentation ensures that high-priority IOs have guaranteed cache access while low-priority IOs can utilize remaining cache resources without interfering with critical workloads

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache partitions are assigned different quality characteristics based on priority requirements. High-priority cache partitions provide faster access and higher reliability guarantees, while low-priority partitions can tolerate longer access times, creating local quality variations within the cache subsystem

Inventive Principle:
Principle #3Local quality

3Productivity

If cache partitions are dynamically adjusted based on workload, then performance optimization improves, but system complexity and computational overhead increase

Engineering Contradiction:
Improveworkload processing efficiencyVSAvoidcache management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where IO workload patterns are continuously monitored and analyzed, and this feedback is used to dynamically adjust cache partition allocations. The workload analysis component processes IO patterns and provides feedback signals that trigger automatic cache reconfiguration to optimize performance for current workload characteristics

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11762770B2Cache memory management
Publication Date: 2023.09.19 EMC IP HLDG CO LLC
  • US11762770B2 patent drawing
  • US11762770B2 patent drawing
  • US11762770B2 patent drawing

AI summary

One or more aspects of the present disclosure relate to cache memory management. In embodiments, a global memory of a storage array into one or more cache partitions based on an anticipated activity of one or more input/output (IO) service level (SL) workload volumes can be dynamically partitioned.