Storage Device Multi-Host Performance Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-host storage systems, existing technologies face challenges in ensuring minimum performance for each host while preventing any single host from overwhelming the limited physical resources of a storage device, leading to potential performance bottlenecks and resource exhaustion.
Innovation Solution
A storage device with a performance manager that sets and adjusts performance levels for each host based on received performance information, prioritizing commands and managing resource allocation to maintain minimum performance across all hosts and prevent excessive resource usage by any one host.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single storage medium supports multiple hosts, then resource utilization is improved, but performance guarantee for each host deteriorates
Solution Approach 1:
The storage device segments resource allocation by establishing separate queues for each host and assigning dedicated physical functions (PFs) to manage commands from specific hosts. This segmentation allows the system to support multiple hosts while maintaining controlled performance guarantees through isolated command processing paths.
Solution Approach 2:
The system dynamically adjusts performance levels of physical functions based on real-time command processing status. When a host's minimum performance requirement is met, its PF level is reduced; when not met, the level is increased. This dynamic adjustment resolves the contradiction by adapting resource allocation to actual needs while maintaining multi-host support.
2Reliability
If performance level is increased for a host, then host performance is improved, but resource consumption by other hosts deteriorates
Solution Approach 1:
The system continuously monitors command processing status for each host and uses this feedback to adjust PF levels. When a host achieves its minimum performance threshold, the system reduces its PF level, thereby freeing resources for other hosts. This feedback mechanism resolves the contradiction by preventing indefinite resource consumption while ensuring performance guarantees.
Solution Approach 2:
The system changes the performance level parameter of physical functions based on host requirements and actual performance achievement. By adjusting PF levels from high to low (or vice versa) according to whether minimum performance is met, the system optimizes overall resource utilization while maintaining individual host performance guarantees.
3Speed
If command processing priority is increased for a host, then host response time is improved, but system fairness deteriorates
Solution Approach 1:
The system dynamically adjusts command processing priorities through PF level changes rather than using fixed high priorities for all hosts. When a host meets its performance target, its PF level is reduced, lowering its priority. This dynamic approach ensures fast response for hosts needing it while maintaining fairness through automatic priority adjustment based on actual performance requirements.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
An operation method of a storage device configured to implement physical functions respectively corresponding to hosts includes receiving performance information from each of the host devices, setting a performance level of each of the physical functions to a first level, processing a command from a first host through a corresponding first physical function, changing a performance level of the first physical function to a second level based on the performance information and a performance serviced to the first host, and processing a second command from a second host through at least one second physical function corresponding to the second host prior to processing a subsequent first command from the first host, through the first physical function, based on a performance level of the at least one second physical function being the first level and the performance level of the first physical function being the second level.