Storage Controller Command Prioritization via Channel Adapter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage subsystems, time-critical control commands often face processing delays due to high loads from I/O commands, leading to potential timeouts and system stalls, while existing solutions fail to effectively prioritize commands based on their attributes, resulting in compromised system performance.

Innovation Solution

A storage subsystem with a channel adapter that extracts priority commands from received commands based on defined attributes, executing them with high priority until a guaranteed number of activations is reached, while enqueuing non-priority commands to prevent system deterioration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If control commands are processed with high priority, then response time for control commands is improved, but I/O processing is delayed and system performance deteriorates

Engineering Contradiction:
Improveresponse time for control commandsVSAvoidI/O processing throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements dynamic priority adjustment where the channel processor changes the execution priority of commands based on real-time system conditions. When a control command is detected, its priority is elevated above I/O commands for processing, but this priority adjustment is temporary and adaptive rather than fixed, allowing the system to balance control responsiveness with I/O throughput based on actual operational needs

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the command processing into distinct priority levels by separating control commands from I/O commands in the execution queue. The channel processor identifies and isolates control commands (such as device recognition commands) from regular I/O commands, creating separate processing streams where control commands can be executed with elevated priority without completely blocking I/O processing, thus resolving the contradiction between control responsiveness and I/O throughput

Inventive Principle:
Principle #1Segmentation

2Productivity

If I/O commands are processed continuously, then system productivity is maintained, but control commands experience delays causing timeouts and system stalls

Engineering Contradiction:
ImproveI/O processing throughputVSAvoidcontrol command execution reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The channel processor incorporates feedback mechanisms to monitor the execution status and timing of control commands. When control commands are detected in the command queue, the system adjusts processing priorities based on this feedback, ensuring that control commands receive timely execution while maintaining overall system productivity. This feedback-driven priority adjustment prevents control command timeouts while avoiding complete I/O processing suspension

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts command execution priorities based on real-time detection of control commands in the queue. Rather than maintaining a fixed priority scheme, the channel processor adaptively shifts processing focus between control and I/O commands based on actual system needs, ensuring control commands are executed reliably without permanently sacrificing I/O throughput

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8694741B2Storage system and method of executing commands by controller
Publication Date: 2014.04.08 HITACHI VANTARA LTD
  • US8694741B2 patent drawing
  • US8694741B2 patent drawing
  • US8694741B2 patent drawing

AI summary

A storage subsystem capable of processing time-critical control commands while suppressing deterioration of the system performance to a minimum. When various commands are received in a multiplex manner via the same port from plural host devices, the channel adapter of the storage subsystem extracts commands of a first kind from the received commands. Then, the adapter executes the extracted commands of the first kind with high priority within a given unit time until a given number of guaranteed activations is reached. At the same time, commands of a second kind are enqueued in a queue of commands. After the commands of the first kind are executed as many as the number of guaranteed activations, the commands of the second kind are executed in the unit time.