Cache Partitioning for Storage Drive Command Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, the cache of remote units may overflow or fill up with storage commands directed at a small subset of drives, leading to performance issues due to limited cache size and inefficient processing capabilities.

Innovation Solution

Partitioning the cache into regions dedicated to respective storage drives, with overflow regions to manage varying command sizes and demands, ensuring space is reserved for each drive and preventing cache overflow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the cache size is increased to handle more storage commands, then the cache can store more cached data and process more commands simultaneously, but the cost and complexity of the system increases

Engineering Contradiction:
Improvecache capacityVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The cache is divided into multiple partitions, each dedicated to handling storage commands for specific storage drives. This segmentation allows the system to process multiple commands in parallel across different partitions without requiring a single large cache, thereby maintaining high command handling capacity while avoiding the complexity of managing one large unified cache structure.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the cache is made larger to accommodate all storage commands, then performance is improved by avoiding evictions, but the remote unit's limited resources are overwhelmed

Engineering Contradiction:
Improvestorage command processing throughputVSAvoidcache size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Each cache partition is optimized locally to handle the specific access patterns and command types associated with its designated storage drives. This local optimization ensures that each partition operates at peak efficiency for its specific workload, achieving high overall system productivity without requiring the entire cache to be excessively large.

Inventive Principle:
Principle #3Local quality

3Reliability

If the cache is partitioned into dedicated regions for each drive, then cache overflow is prevented and processing capability is maintained, but cache space utilization efficiency decreases

Engineering Contradiction:
Improvecache overflow preventionVSAvoidcache space utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache partitioning scheme incorporates dynamic allocation mechanisms that allow partition boundaries and sizes to adjust based on real-time workload demands. When certain storage drives experience high command volumes, their dedicated partitions can expand to accommodate the increased load, while partitions for drives with lower activity can shrink, thereby maintaining reliable overflow prevention while optimizing overall cache space utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11507294B2Partitioning a cache for fulfilling storage commands
Publication Date: 2022.11.22 EMC IP HLDG CO LLC
  • US11507294B2 patent drawing
  • US11507294B2 patent drawing
  • US11507294B2 patent drawing

AI summary

A method of managing a storage appliance is provided. The method includes (a) partitioning a cache of the storage appliance at least into multiple regions dedicated to respective storage drives of a plurality of storage drives of the storage appliance; (b) in response to the storage appliance receiving a first storage command directed to a first storage drive, allocating space for fulfillment of the first storage command within the region of cache dedicated to the first storage drive; (c) in response to the storage appliance receiving a second storage command directed to a second storage drive, allocating space for fulfillment of the second storage command within the region of cache dedicated to the second storage drive; and (d) fulfilling, by the storage appliance, the first and second storage commands by moving data to and from their respective allocated space in the cache. An apparatus, system, and computer program product for performing a similar method are also provided.