Storage Subsystem I/O Policy Translation and Queue Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage sub-systems are unable to efficiently manage input/output (I/O) requests based on their attributes, leading to inefficient resource utilization due to their unawareness of varying workload attributes.
Innovation Solution
The implementation of a policy-driven mechanism that translates I/O streams into flow attributes, allowing I/O requests to be assigned to queues based on defined priorities, and allocates optimal resources for processing, utilizing a layered structure with control and data planes to manage and enforce policies for I/O operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional storage sub-systems manage I/O requests using traditional methods, then the system structure remains simple, but resource utilization efficiency deteriorates due to inability to recognize and respond to varying workload attributes
Solution Approach 1:
The patent segments the storage sub-system into distinct functional layers: a control plane for policy management and decision-making, and a data plane for actual I/O processing. This segmentation allows the system to implement complex attribute-based resource allocation without overwhelming the entire system structure, as the complexity is confined to the control plane while the data plane remains relatively simple and efficient.
Solution Approach 2:
The patent introduces a policy manager as an intermediary component that translates high-level I/O policies into actionable flow attributes. This intermediary layer enables the system to handle complex workload attributes and resource allocation decisions without requiring the entire storage sub-system to be redesigned, thus improving resource utilization while managing complexity through a dedicated translation layer.
2Adaptability or versatility
If conventional storage sub-systems process all I/O requests uniformly, then the processing logic remains simple, but the ability to prioritize and manage different workload attributes deteriorates
Solution Approach 1:
The patent implements dynamic I/O request handling where the processing logic adapts based on workload attributes. The control plane continuously monitors I/O streams, determines flow attributes dynamically, and adjusts resource allocation in real-time. This dynamic approach enables the system to handle diverse workload types (backup, production, analytics) with appropriate prioritization without requiring completely different processing logic for each workload type.
Solution Approach 2:
The patent changes the parameter space of I/O processing by introducing flow attributes (priority levels, bandwidth guarantees, latency requirements) that characterize different workload types. The policy manager translates policy definitions into these flow attributes, enabling the system to adapt processing behavior based on attribute values rather than requiring complex if-else logic for each workload scenario.
3Productivity
If no policy-driven mechanism is implemented, then the system architecture remains simple, but the ability to translate I/O streams into flow attributes and allocate resources optimally deteriorates
Solution Approach 1:
The patent adds a new dimension to the storage sub-system architecture by introducing the control plane as a separate dimension from the data plane. This dimensional separation allows policy translation and resource allocation decisions to occur in the control plane dimension, while I/O processing continues in the data plane dimension, enabling optimized I/O processing without fundamentally restructuring the core processing architecture.
Data Source
AI summary
Methods and systems for a storage environment are provided. A policy for an input/output (I/O) stream having a plurality of I/O requests for accessing storage at a storage device of the storage sub-system is translated into flow attributes so that the I/O stream can be assigned to one of a plurality of queues maintained for placing I/O requests based on varying priorities defined by set polices. When an I/O request for the associated policy is received by the storage sub-system; the storage sub-system determines a flow attribute associated with the I/O request and the policy; selects a queue for staging the I/O request, such that the selected queue is of either higher priority than what is indicated by the flow attribute or at least of a same priority as indicated by the flow attribute; and allocates storage sub-system resource for processing the received I/O request.


