NVMe Priority Indicators for Stream Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems lack a viable method to differentiate and prioritize data communication streams, especially in multi-host environments, where certain operations require urgent processing over others, leading to inefficient resource allocation.

Innovation Solution

The implementation of priority indicators, such as binary or hexadecimal values, allows for the assignment and communication of priority levels within NVMe data communication streams, enabling uneven resource distribution and efficient processing of high-priority streams through handshake operations and protocol agreements between storage devices and host computing devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data communication streams are treated equally without priority indicators, then device complexity is reduced and ease of operation is improved, but productivity deteriorates because mission-critical operations cannot be processed sooner than other commands

Engineering Contradiction:
Improveprocessing speed of mission-critical operationsVSAvoidcomplexity of stream prioritization mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by introducing priority indicator parameters (such as priority fields in NVMe commands or stream identifiers) that modify the processing behavior of the storage device. These parameters allow the system to differentiate between normal and high-priority streams without fundamentally changing the NVMe protocol architecture, thus improving productivity while maintaining acceptable device complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments data communication streams into different priority levels (normal priority and high priority) using priority indicators. This segmentation allows the storage device to process high-priority streams separately from normal-priority streams, enabling mission-critical operations to be handled sooner without completely redesigning the communication framework

Inventive Principle:
Principle #1Segmentation

2Productivity

If priority indicators are implemented to differentiate data communication streams, then productivity is improved by enabling uneven resource distribution, but device complexity increases due to the need for priority processing mechanisms

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidcomplexity of priority processing logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements partial action by applying priority processing only to specific high-priority streams that require urgent handling, rather than implementing complex priority management for all streams. The storage device can selectively apply additional processing resources to high-priority NVMe streams while maintaining standard processing for normal-priority streams, thus improving resource allocation efficiency without proportionally increasing device complexity

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent enhances universality by designing the priority indicator mechanism to work with existing NVMe protocol structures. The same priority indicators can be used across multiple hosts and storage devices, and the mechanism can handle both single-host and multi-host environments uniformly, allowing uneven resource distribution without requiring device-specific customizations

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Loss of time

If all data communication streams receive equal processing resources, then device complexity is minimized, but loss of time occurs because certain operations cannot be processed sooner than others

Engineering Contradiction:
Improveprocessing delay of high-priority operationsVSAvoidcomplexity of time-sensitive processing
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by having hosts set priority indicators on NVMe commands or communication streams before submitting them to the storage device. This advance marking allows the storage device to immediately identify and prioritize time-sensitive operations without requiring complex real-time analysis, thus reducing processing delay while keeping the device complexity manageable

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces priority indicators as intermediary elements that mediate between the host's timing requirements and the storage device's processing capabilities. These indicators act as a signaling mechanism that translates time-sensitive requirements into actionable processing instructions, reducing loss of time without requiring direct complex coordination between host and device

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11782602B2Providing priority indicators for NVMe data communication streams
Publication Date: 2023.10.10 SANDISK TECHNOLOGIES LLC
  • US11782602B2 patent drawing
  • US11782602B2 patent drawing
  • US11782602B2 patent drawing

AI summary

Systems and methods described herein provide for determining priority levels within one or more data streams established between a host computing device and a storage device. Data streams that have been assigned a sufficiently high priority may be provided additional processing resources available within the storage device. These additional processing resources may include an increased number of write buffers, superblocks, and access to other ancillary resources that facilitate an increased level of performance compared to data streams not provided additional processing resources. The assignment of priority to the data streams can occur through the use of one or more priority identifiers. Many types and scales of priority identifiers may be used. The establishing of this system of priority identifiers can occur by the storage device notifying the hose of the accepted priority identifier usage. In other embodiments, the storage device may come preconfigured with a priority indication system and scale.