Storage Processor Cache Bypass for Write I/O Under Heavy Load

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in managing high bandwidth write requests, particularly under heavy loads, as they often mirror all write data between controllers, consuming substantial CPU and memory resources and limiting I/O size, while not optimizing resource use effectively.

Innovation Solution

A method and system that dynamically decide which I/Os to mirror between storage processors, bypassing cache and delivering write I/O directly to data storage devices during heavy loads to optimize resource use and improve throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all write data is mirrored between controllers, then data reliability is improved, but CPU and memory resources are consumed substantially

Engineering Contradiction:
Improvedata reliabilityVSAvoidCPU and memory resource usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts cache mirroring behavior based on load conditions. During heavy loads, the system bypasses cache mirroring and delivers write I/Os directly to storage devices, while during lighter loads it enables cache mirroring for improved data reliability. This dynamic adaptation resolves the contradiction by making resource consumption flexible rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the mirroring parameter based on load thresholds. When load exceeds a threshold, mirroring is disabled; when load is below the threshold, mirroring is enabled. This parameter change allows the system to optimize between reliability and resource consumption based on real-time conditions.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If cache mirroring is enabled for all write I/Os, then data consistency is improved, but system throughput is limited

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system dynamically enables or disables cache mirroring based on current load conditions. During heavy loads, it bypasses cache and delivers I/Os directly to storage devices to maximize throughput. During lighter loads, it enables cache mirroring to ensure data consistency. This dynamic behavior resolves the throughput-consistency contradiction.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Instead of always performing full cache mirroring, the system applies partial mirroring only when necessary (during light loads). During heavy loads, it uses excessive direct-write approach bypassing cache entirely. This partial application of mirroring resolves the contradiction by applying the action only when needed.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If cache mirroring is always performed, then fault tolerance is improved, but resource optimization is reduced

Engineering Contradiction:
Improvefault toleranceVSAvoidresource optimization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts fault tolerance mechanisms based on load conditions. During heavy loads, it disables cache mirroring to optimize resource usage, accepting reduced fault tolerance. During lighter loads, it enables cache mirroring to provide fault tolerance. This dynamic adjustment resolves the contradiction between fault tolerance and resource optimization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9298636B1Managing data storage
Publication Date: 2016.03.29 EMC IP HLDG CO LLC
  • US9298636B1 patent drawing
  • US9298636B1 patent drawing
  • US9298636B1 patent drawing

AI summary

A method and a system for use in managing data storage is disclosed. Data storage is managed in a data storage system comprising a first and a second storage processor and a plurality of data storage devices. The first and the second storage processor having respective caches configured to mirror each other. A write I/O is received in the data storage system, wherein the write I/O is an operation for updating data storage in the data storage system. Load associated with the first and second storage processor in the data storage system is determined. The cache is bypassed and write I/O is delivered to the plurality of data storage devices in the data storage system in response to determining a heavy load associated with the first and second storage processor in the data storage system.