Storage Controller Virtual Queue Interrupt Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As the number of microprocessors in storage apparatus increases, processing speed is reduced due to increased unnecessary access to virtual queues, depletion of usable RX_IDs, and processing backlogs on hard disks, leading to inefficiencies in command processing.

Innovation Solution

Implementing a storage apparatus with virtual and real queues, updated pointers, and a checking unit that detects pointer updates to efficiently manage command processing, reduce polling, and dynamically assign RX_IDs, thereby improving processing speed and load distribution across microprocessors and hard disks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of microprocessors is increased, then processing capacity is improved, but processing speed is reduced due to increased polling operations

Engineering Contradiction:
Improveprocessing capacityVSAvoidprocessing speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent replaces the mechanical polling system with an interrupt-driven system. Instead of sequentially accessing each virtual queue to check for commands (mechanical polling), the system uses interrupt signals to notify the controller when commands are available in virtual queues. This substitution eliminates the time-consuming sequential access pattern and allows the controller to respond only when necessary, thereby maintaining high processing speed even with a large number of microprocessors.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent implements a self-service mechanism where each virtual queue automatically generates an interrupt signal when it contains commands for processing. This eliminates the need for the controller to actively poll each queue, as the queues themselves notify the controller of their state. This self-service approach significantly reduces the controller's workload and maintains processing speed regardless of the number of microprocessors in the system.

Inventive Principle:
Principle #25Self-service

2Ease of manufacture

If RX_IDs are uniformly assigned to each microprocessor, then resource allocation is simplified, but the number of usable RX_IDs per microprocessor is reduced when more microprocessors are installed

Engineering Contradiction:
Improveresource allocation simplicityVSAvoidnumber of usable RX_IDs per microprocessor
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent implements dynamic RX_ID allocation instead of static uniform assignment. The system maintains a pool of available RX_IDs and dynamically assigns them to microprocessors based on current workload and availability. This dynamic approach allows the same RX_ID to be reused by different microprocessors at different times, effectively increasing the number of usable RX_IDs per microprocessor without requiring a larger total pool of identifiers.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameter from fixed uniform distribution to dynamic assignment based on system state. By monitoring RX_ID usage patterns and microprocessor workload, the system adjusts assignments in real-time, allowing efficient reuse of RX_IDs across multiple microprocessors. This parameter change enables the system to support more microprocessors without depleting the available RX_ID pool.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple microprocessors execute command processing simultaneously, then throughput is improved, but processing backlog occurs on single hard disks

Engineering Contradiction:
ImprovethroughputVSAvoidprocessing backlog time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a feedback mechanism that monitors hard disk processing status and uses this information to regulate command issuance. When a hard disk becomes busy or shows signs of backlog, the system receives feedback and adjusts its command allocation accordingly, temporarily reducing commands to that disk until it becomes available. This feedback loop prevents processing backlog while maintaining high overall throughput by dynamically balancing the load across multiple disks.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9134920B2Storage apparatus and command control method
Publication Date: 2015.09.15 HITACHI VANTARA LTD
  • US9134920B2 patent drawing
  • US9134920B2 patent drawing
  • US9134920B2 patent drawing

AI summary

A storage apparatus which contains a plurality of microprocessors includes a virtual queue which stores a virtual command which is used in the storage apparatus; a real queue which stores a real command based on an actual communication protocol; a first pointer which is updated when the virtual command is stored in the virtual queue; a second pointer which is updated when the first pointer is updated; a checking unit which detects an update to the first pointer and updates the second pointer; and a controller. Upon detecting that the second pointer has been updated by the checking unit, the controller references the second pointer and the first pointer, and, after reading the virtual command stored in the virtual queue and converting the virtual command to the real command, stores the real command in the real queue.