Storage System I/O Command Queuing and Execution Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems are unable to effectively identify and prioritize I/O commands for queuing, leading to suboptimal throughput and response time management, especially with increasing data volumes and diverse program requirements.

Innovation Solution

A storage system that includes a processor and memory to judge I/O commands based on predetermined conditions, queuing I/O commands that satisfy specific criteria and executing others in their received order, allowing for improved throughput and response time management through dynamic queuing control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If I/O commands are immediately executed upon reception, then response time is shortened, but throughput cannot be improved even when a large amount of data needs to be accessed

Engineering Contradiction:
Improveresponse timeVSAvoidthroughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The storage system dynamically switches between immediate execution mode and queuing mode based on the amount of data to be accessed. When the data amount exceeds a threshold, the system activates queuing to improve throughput; otherwise, it executes commands immediately to maintain short response time. This dynamic adaptation resolves the contradiction between response time and throughput.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the execution parameter (immediate execution vs. queued execution) based on the data amount parameter. By monitoring the data amount and switching the execution mode accordingly, the system optimizes performance for different workload characteristics, achieving both short response time for small data and high throughput for large data.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If queuing is actively executed to store a large amount of I/O commands, then throughput is improved, but response time cannot be guaranteed for programs requiring immediate execution

Engineering Contradiction:
ImprovethroughputVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments I/O commands into two categories: those requiring immediate execution and those suitable for queuing. By dividing the command stream based on data amount thresholds, the system ensures that time-sensitive commands are executed immediately while other commands are queued to maximize throughput, thus resolving the contradiction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The queuing mechanism acts as an intermediary between command reception and execution. For commands exceeding the data threshold, the queue buffers and rearranges them to optimize throughput without affecting the immediate execution path for smaller commands, thereby mediating between throughput and response time requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If the storage system cannot identify I/O commands targeted for queuing, then simple control is maintained, but optimal performance cannot be achieved for different program types

Engineering Contradiction:
Improvecontrol complexityVSAvoidperformance optimization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The storage system automatically identifies and categorizes I/O commands based on the data amount without requiring external intervention. The system self-determines whether to queue or immediately execute each command by comparing the data amount against a threshold, achieving performance optimization through autonomous decision-making while maintaining simple control architecture.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7363391B2Storage system for queuing I/O commands and control method therefor
Publication Date: 2008.04.22 HITACHI LTD
  • US7363391B2 patent drawing
  • US7363391B2 patent drawing
  • US7363391B2 patent drawing

AI summary

A conventional storage system immediately executes a received I/O command because of importance of response time. Provided is a storage system which is coupled to a network and executes an I/O command received from at least one host computer through the network, in which: the storage system holds judgment information including predetermined conditions set therein, and upon reception of the I/O command, the processor judges whether the received I/O command satisfies the predetermined conditions or not based on the judgment information, queues a plurality of I/O commands that satisfy the predetermined conditions, rearranges the plurality of queued I/O commands, executes the plurality of queued I/O commands in a rearranged order, and executes I/O commands that do not satisfy the predetermined conditions in a received order.