Storage Controller Command Priority Factor for PCIe Lane Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecommand execution efficiencyVSAvoidPCIe lane utilization
Core Design Contradiction:
ProductivityVSLoss of energy

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If existing command selection methods are used, then implementation simplicity is maintained, but PCIe lane bottlenecks occur in large queue depths

Engineering Contradiction:
Improvecommand selection mechanismVSAvoidIOPS for mixed workloads
Core Design Contradiction:
Device complexityVSProductivity

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

Inventive Principle:
Principle #23Feedback

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11720280B2Storage system and method for improving utilization of a communication channel between a host and the storage system
Publication Date: 2023.08.08 SANDISK TECHNOLOGIES LLC
  • US11720280B2 patent drawing
  • US11720280B2 patent drawing
  • US11720280B2 patent drawing

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.