Flash Cache Partitioning for Storage Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage arrays face performance limitations due to constraints such as bus occupancy, disk arm movement, and uneven load distribution across disks, which can be exacerbated even with the use of fast disks, as they often allow only one disk to be accessed at a time, limiting overall throughput and increasing response time.

Innovation Solution

A computer-implemented method and system for cache management that records metadata of IO operations, calculates a distribution of server cache based on this metadata, and dynamically reallocates cache resources across storage mediums to optimize performance by predicting data needs and reducing access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional disk storage arrays are used with fast disks, then individual disk access speed is improved, but overall array throughput is limited because only one disk can be accessed at a time

Engineering Contradiction:
Improveindividual disk access speedVSAvoidoverall array throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the storage array into multiple independent disk modules, each capable of being accessed simultaneously through separate I/O paths. This allows multiple disks to operate in parallel, transforming the single-access bottleneck into a multi-concurrent access system, thereby resolving the contradiction between individual disk speed and overall array throughput.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If cache memory is used to store frequently accessed data, then access time is reduced, but cache memory is limited and cannot store all frequently accessed data

Engineering Contradiction:
Improvedata access timeVSAvoidcache memory capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent introduces a hierarchical caching structure that extends the caching capability across multiple dimensions: L1 cache at the controller level, L2 cache at the disk module level, and L3 cache utilizing available system memory. This multi-level hierarchical approach effectively expands the total cache capacity beyond physical limitations while maintaining fast access times for frequently accessed data.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If I/O requests are distributed across multiple disks, then throughput can be improved, but uneven distribution of load across disks creates performance bottlenecks

Engineering Contradiction:
ImproveI/O throughputVSAvoidload distribution uniformity
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent implements a load balancing mechanism with feedback control that continuously monitors the I/O load on each disk module and dynamically adjusts the distribution of new I/O requests. When certain disks become overloaded, the system automatically redirects requests to underutilized disks, maintaining uniform load distribution and preventing performance bottlenecks while sustaining high throughput.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9128855B1Flash cache partitioning
Publication Date: 2015.09.08 EMC IP HLDG CO LLC
  • US9128855B1 patent drawing
  • US9128855B1 patent drawing
  • US9128855B1 patent drawing

AI summary

A computer implemented method, system, and computer program product for cache management comprising recording metadata of IO sent from the server to a storage array, calculating a distribution of a server cache based on the metadata, receiving an IO directed to the storage array, and revising an allocation of the server cache to the plurality of storage mediums based on the calculated distribution and the IO.