PCIe Storage QoS Arbitration for Multi-Host Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
PCIe based storage devices face challenges in providing a fixed and consistent Quality of Service (QoS) across multiple hosts due to unpredictable response times, especially in enterprise applications where different hosts generate varying data I/O operations, leading to unpredictable and dynamic QoS variations.
Innovation Solution
Implementing a method that receives and queues commands from multiple hosts using PCIe function queues, applies a calculated Quality of Service (QoS) to determine the sequence of command execution, and allocates resources based on payload information, ensuring consistent QoS across all hosts, utilizing both physical and virtual PCIe functions in both virtualized and non-virtualized storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the storage device processes commands from multiple hosts without QoS arbitration, then the device can handle high command throughput, but the QoS becomes unpredictable and dynamic across different hosts
Solution Approach 1:
The patent applies preliminary action by pre-calculating and assigning QoS values to commands before they are executed. The QoS checker determines the QoS for each command in advance, allowing the system to maintain predictable service levels while processing high command throughput from multiple hosts.
Solution Approach 2:
The patent implements dynamics by making the QoS value adjustable and context-dependent. The QoS checker can dynamically determine appropriate QoS values based on command characteristics, host requirements, and system state, allowing the system to adapt to varying workload conditions while maintaining consistent service levels.
2Reliability
If the storage device assigns fixed QoS to all commands, then the QoS becomes predictable and reliable, but commands with different payload requirements may not receive appropriate resource allocation
Solution Approach 1:
The patent applies local quality by assigning different QoS values to different commands based on their specific characteristics and requirements. Instead of applying a uniform QoS policy, the QoS checker evaluates each command individually and assigns appropriate QoS levels, allowing commands with different payload information to receive tailored resource allocation while maintaining overall system predictability.
3Device complexity
If the storage device uses simple command queuing without QoS calculation, then the device complexity is reduced, but the ability to provide fixed QoS across multiple hosts is lost
Solution Approach 1:
The patent introduces an intermediary QoS checker component that sits between the command queue and the execution engine. This intermediary evaluates commands, determines appropriate QoS values, and guides resource allocation without fundamentally changing the underlying queueing mechanism, thus maintaining relative simplicity while enabling fixed QoS service levels.
Data Source
AI summary
A method maintaining a fixed QoS for a PCIe device accessed by multiple hosts includes; receiving commands from the hosts in PCIe function queues of the PCIe device, fetching the commands from the PCIe function command queues, queuing the commands according to a command arbitration policy established for the PCIe device, storing the queued commands in an internal memory of the PCIe device, retrieving the queued commands from the internal memory in a sequence determined by applying a calculated QoS to at least one of the queued commands, and allocating PCIe device resources based on payload information corresponding to each one of the retrieved commands.


