Storage Controller Command Priority Factor for PCIe Lane Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems operating under the Non-Volatile Memory Express (NVMe) specification, communication channels like PCIe lanes are underutilized, especially in mixed I/O workloads, leading to suboptimal bandwidth utilization and performance, as existing methods do not consider lane usage during command selection.
Innovation Solution
Implementing a Command Priority Factor (CPF) function within the storage system's controller to dynamically prioritize commands based on PCIe lane usage, workload, command length, priority, type, aging, and dependency, maximizing lane utilization through a weighted priority-based scheme.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If commands are selected based on bandwidth maximization or weighted priority schemes, then command execution efficiency is improved, but PCIe lane utilization remains suboptimal in mixed I/O workloads
Solution Approach 1:
The patent implements a dynamic command selection mechanism that adapts to current PCIe lane utilization conditions. The system continuously monitors lane usage and adjusts command prioritization in real-time, switching between different selection strategies based on whether the lane is currently underutilized or saturated, thereby optimizing both execution efficiency and lane utilization
Solution Approach 2:
The system changes the parameters used for command selection based on observed PCIe lane utilization patterns. When lanes are underutilized, the system prioritizes commands that will maximize bandwidth usage; when lanes are saturated, it switches to different prioritization criteria, effectively using parameter changes to resolve the contradiction between execution efficiency and lane utilization
2Device complexity
If existing command selection methods are used, then implementation simplicity is maintained, but PCIe lane bottlenecks occur in large queue depths
Solution Approach 1:
The patent introduces a feedback mechanism where the system monitors PCIe lane utilization and uses this information to adjust command selection decisions. This closed-loop approach allows the system to automatically adapt to changing conditions and prevent bottlenecks without requiring complex manual configuration or intervention
Solution Approach 2:
The system performs preliminary analysis of command characteristics and queue conditions before making selection decisions. By pre-evaluating which commands will best utilize available PCIe bandwidth based on current lane utilization state, the system proactively prevents bottlenecks rather than reacting to them after they occur
Data Source
AI summary
A storage system and method for improving utilization of a communication channel between a host and the storage system are provided. In one embodiment, a method is provided that is performed in a storage system in communication with a host via a communication channel. The method comprises determining utilization of the communication channel; and selecting a command for execution from a queue based at least in part on the determined utilization of the communication channel. The command can be selected also based on at least one other factor and based on a weighted priority-based function. Other embodiments are provided.


