Storage Subsystem Parallel I/O Processing for High-Capacity LDEVs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Prior art storage subsystems face performance deterioration and increased response time when handling high-capacity logical devices (LDEVs) due to the concentration of load on a single processor package, leading to inefficient I/O processing.

Innovation Solution

The storage subsystem allocates ownership of LDEVs to multiple processor packages, allowing I/O commands to be divided and processed in parallel, with specific processor packages prioritized for specific storage areas to enhance throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single processor package processes a single LDEV, then ownership control is simplified, but I/O processing performance deteriorates when storage capacity is high or load is concentrated

Engineering Contradiction:
Improveownership control complexityVSAvoidI/O processing performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the processing of a single LDEV across multiple processor packages by dividing the logical device into multiple regions, with each processor package handling a specific region. This allows parallel processing of I/O operations while maintaining manageable ownership control through region-based assignment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables processor packages to perform multiple functions by allowing a single LDEV to be processed by multiple processor packages simultaneously. Each processor package maintains ownership of specific regions of the LDEV, creating a multi-functional processing architecture that improves throughput.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If multiple processor packages process a single LDEV in parallel, then I/O processing throughput improves, but access arbitration complexity increases

Engineering Contradiction:
ImproveI/O processing throughputVSAvoidaccess arbitration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent reduces access arbitration complexity by segmenting the LDEV into multiple regions, with each region assigned to a specific processor package. This segmentation eliminates the need for complex arbitration mechanisms, as each processor package has dedicated access rights to its assigned region, enabling parallel processing without conflicts.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If I/O commands are divided and processed by multiple processor packages, then processing time is reduced, but command division overhead increases

Engineering Contradiction:
ImproveI/O processing timeVSAvoidcommand division overhead
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-dividing the LDEV into multiple regions and assigning ownership to specific processor packages before I/O operations occur. This pre-configuration eliminates the need for complex real-time command division and arbitration, reducing overhead while enabling parallel processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9239681B2Storage subsystem and method for controlling the storage subsystem
Publication Date: 2016.01.19 HITACHI VANTARA LTD
  • US9239681B2 patent drawing
  • US9239681B2 patent drawing
  • US9239681B2 patent drawing

AI summary

The present invention provides a storage subsystem accessing a storage resource efficiently to thereby enhance throughput. The storage subsystem adopts a configuration where respective processor packages have ownership of the respective LDEVs, wherein an I/O command from a host specifying an address extending over a division position within a single LDEV is divided, and the I/O processing is executed in a shared manner by multiple processor packages. The I/O processing is executed by allocating a processor package that processes a specific storage area with priority.