Inflight I/O Storage Emulation with Predictive Secondary Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional emulated storage systems often experience delays in Input/Output (I/O) command execution due to exceeding the I/O command execution capabilities of the storage devices, leading to bottlenecks and increased latency.
Innovation Solution
An Information Handling System (IHS) that includes a processing system and a memory system with a storage emulation engine. This engine stores I/O commands in a primary storage system I/O queue, predicts I/O operation measurements, and executes commands to store data either in the primary or secondary storage system based on threshold conditions, while providing data mapping information in a metadata storage system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If I/O commands are executed directly on the primary storage system, then data storage speed is improved, but I/O operation delays increase when exceeding storage device capabilities
Solution Approach 1:
A storage emulation system acts as an intermediary between host computing devices and the primary storage system. The emulation system receives I/O commands from hosts, predicts whether executing these commands will exceed storage device capabilities, and selectively redirects commands to either the primary storage system or a secondary storage system, thereby preventing I/O operation delays while maintaining fast data storage performance
Solution Approach 2:
The storage emulation system performs preliminary prediction of I/O operation measurements before actually executing commands on the storage system. By evaluating whether predicted I/O operations will exceed device capabilities in advance, the system can proactively redirect commands to appropriate storage systems, preventing delays before they occur rather than reacting after delays have happened
2Productivity
If I/O command execution capability is increased to handle more commands, then productivity is improved, but device complexity increases
Solution Approach 1:
The storage system is segmented into multiple independent storage systems (primary and secondary storage systems), each with its own capabilities. The storage emulation system divides I/O commands into different categories based on predicted execution requirements, routing appropriate commands to appropriate storage systems. This segmentation allows the overall system to handle more I/O commands effectively without requiring any single storage device to become overly complex or overloaded
Data Source
AI summary
An inflight-I/O-based storage emulation system includes a storage emulation device coupled to host devices, and to storage devices that provide primary, secondary, and metadata storage systems. The storage emulation device stores I/O commands directed to the primary storage system by the host devices in its I/O queue. If the storage emulation device predicts I/O operations for I/O commands in its I/O queue do not exceed a threshold, it executes at least some of those I/O commands to store first data in the primary storage system. If the storage emulation device predicts I/O operations for I/O commands in its I/O queue exceed the threshold, it executes at least some of those I/O commands to store second data in the secondary storage system, and provides mapping information in the metadata storage system that identifies storage location(s) in the primary storage system associated with the second data in the secondary storage system.


