Variable Performance Storage Device Bandwidth Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage device controllers lack the ability to dynamically adjust performance levels for different virtual machines sharing the same storage device, leading to inefficiencies and inability to optimize bandwidth based on varying user needs, resulting in wasted resources and thermal management issues.
Innovation Solution
Implementing configurable performance controllers within storage devices that allow for varying performance levels to be requested and adjusted based on demand, enabling better resource allocation and thermal management by altering performance control variables such as submission queue priority, number of queues, command arbitration, and bandwidth limiter settings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If a single storage device is shared among multiple virtual machines, then resource utilization efficiency is improved, but the ability to prioritize storage device use between users deteriorates
Solution Approach 1:
The patent segments the storage device bandwidth into multiple virtual channels, with each channel assigned to a specific virtual machine. This segmentation enables independent control and prioritization of bandwidth allocation for each user while maintaining efficient resource utilization through the shared physical storage device.
Solution Approach 2:
The patent implements dynamic bandwidth allocation where the storage device can adjust performance levels and priority assignments in real-time based on user needs and system conditions. This dynamic capability allows the system to adapt to varying workloads and prioritize storage access for different virtual machines as required.
2Device complexity
If performance levels are kept uniform across all virtual machines, then device complexity is reduced, but the ability to optimize bandwidth based on user needs deteriorates
Solution Approach 1:
The patent applies local quality by allowing different performance characteristics to be assigned to different virtual machines or storage queues. Each virtual machine can have customized performance parameters such as priority levels, bandwidth limits, and I/O scheduling weights, enabling optimization for specific user needs without complicating the overall device architecture.
3Reliability
If storage device performance is increased to meet peak demand, then user satisfaction is improved, but thermal output and energy consumption increase
Solution Approach 1:
The patent implements periodic action through I/O scheduling mechanisms that can throttle or prioritize storage operations based on temporal patterns and system conditions. By scheduling I/O requests periodically and adjusting performance levels dynamically, the system can meet peak demand when necessary while reducing thermal output during lower utilization periods.
4Quantity of substance
If multiple physical drives are added to meet increasing storage needs, then storage capacity is improved, but device complexity and resource waste increase
Solution Approach 1:
The patent applies universality by enabling a single physical storage device to serve multiple virtual machines with different performance requirements through virtualization. This multi-functionality allows the same physical resource to be dynamically allocated to different users and workloads, eliminating the need for multiple dedicated physical drives and reducing overall system complexity.
Data Source
AI summary
Performance configurable controllers can include a variable performance storage device that has one or more communication channels for connection with a host-computing device and a plurality of memory devices within a memory array. The storage device may include controllers that provide access to separate memory devices within the memory array. The storage device can also have performance logic installed that can be configured to direct the controllers to operate at performance modes, each associated with a different level of performance. Each performance mode can be selectable by a host-computing device and can comprise one or more preconfigured control variables. In other embodiments, storage device performance can be configured to operate at various performance levels via direct control variable change requests sent from the host-computing system.


