Storage Device QoS Controller for Thread Resource Throttling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current host-based Quality of Service (QoS) technologies fail to effectively manage storage device resources as they scale, leading to disruptions in storage performance due to the inability to control consumption of hardware and software component resources by threads unrelated to current workloads, such as low priority tasks and scrubbers.
Innovation Solution
Implementing novel QoS technologies that monitor and analyze input/output workloads to identify out-of-context threads, throttle their access to component resources, and generate resource consumption policies using machine learning engines to optimize resource allocation and ensure consistent storage performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If host-based QoS technologies are used to manage storage device resources, then resource allocation can be controlled, but the system fails to effectively manage storage device resources as they scale, leading to disruptions in storage performance
Solution Approach 1:
The patent introduces a storage device-level QoS controller as an intermediary between the host and storage components. This mediator monitors workload characteristics, identifies out-of-context threads, and enforces resource consumption policies directly at the storage device, bypassing the limitations of host-based control and enabling effective resource management as the system scales.
Solution Approach 2:
The patent segments resource management control from the host level to the storage device level. By dividing the QoS management function into independent storage device components that can autonomously monitor and control their own resource consumption, the system gains scalability while maintaining performance consistency.
2Productivity
If threads unrelated to current workloads (e.g., low priority tasks and scrubbers) are allowed to run freely, then system functionality is maintained, but their uncontrolled consumption of hardware and software component resources disrupts storage performance
Solution Approach 1:
The patent implements dynamic resource allocation where thread priorities and resource access rights are not fixed but adjust based on workload characteristics. The QoS controller dynamically identifies out-of-context threads and modifies their resource consumption in real-time, allowing the system to optimize productivity while controlling energy loss adaptively.
Solution Approach 2:
The patent changes the parameter of thread resource consumption by introducing QoS policies that modify CPU cycles, memory access, and I/O bandwidth allocation for specific threads. By changing these consumption parameters dynamically based on workload analysis, the system maintains necessary thread functionality while preventing resource disruption.
3Productivity
If resource consumption policies are generated using machine learning engines, then resource allocation can be optimized, but the system complexity increases
Solution Approach 1:
The patent implements self-service through machine learning engines that autonomously analyze workload patterns, generate resource consumption policies, and optimize resource allocation without requiring complex external configuration or manual intervention. The system serves itself by automatically adapting to changing workload characteristics.
Solution Approach 2:
The patent incorporates feedback loops where the QoS controller continuously monitors resource consumption and workload characteristics, uses machine learning to analyze this feedback data, and adjusts resource allocation policies accordingly. This closed-loop feedback mechanism optimizes productivity while managing complexity through automated adaptation.
Data Source
AI summary
Embodiments of the present disclosure relate to throttling processing threads of a storage device. One or more input/output (I/O) workloads of a storage device can be monitored. One or more resources consumed by each thread of each storage device component to process each operation included in a workload can be analyzed. Based on the analysis, consumption of each resource consumed by each thread can be controlled.


