Storage System I/O Command Queuing and Execution Control
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


