NVMe I/O Queue Management for Data Tiering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-tiered storage systems face inefficiencies in identifying and moving data to appropriate storage tiers due to lack of mechanisms for in-band NVMe I/O queue architecture and storage controller hints, leading to suboptimal data placement and increased latency.

Innovation Solution

Creating special-purpose NVMe I/O queues between the host and storage target device for hinting efficient data placement across tiers, allowing for adjustments in current priorities of data extents based on anticipated demand, using in-band NVMe I/O queue management to facilitate efficient data movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional multi-tiered storage systems are used without in-band NVMe I/O queue architecture, then device complexity is reduced, but data placement efficiency deteriorates and latency increases

Engineering Contradiction:
Improvedata placement efficiencyVSAvoidI/O queue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism (in-band NVMe I/O queue architecture with storage controller hints) that mediates between the host and storage system to enable efficient data placement. The I/O queues act as intermediaries carrying priority information from the host to the storage controller, which then uses this information to make intelligent data placement decisions across storage tiers without requiring complex external management systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The NVMe I/O queue architecture serves multiple functions simultaneously: it manages I/O requests, carries priority information, enables data placement decisions, and provides storage controller hints all through a unified protocol. This multi-functionality improves data placement efficiency without proportionally increasing device complexity, as the same I/O infrastructure handles multiple tasks.

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

2Loss of time

If data movement adjustments are performed without in-band hinting mechanisms, then system simplicity is maintained, but latency increases and application performance deteriorates

Engineering Contradiction:
Improvedata access latencyVSAvoidqueue management mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by allowing the host to set priority information in I/O queues before data access operations. This advance configuration enables the storage controller to proactively move data to appropriate tiers before actual access is needed, reducing latency. The priority information is established in advance through the in-band NVMe interface, allowing proactive data placement decisions.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If traditional SCSI/SATA protocols are used instead of NVMe, then device compatibility is improved, but I/O performance and CPU utilization deteriorate

Engineering Contradiction:
ImproveI/O operations per secondVSAvoidprotocol compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent leverages parameter changes in the NVMe protocol compared to traditional SCSI/SATA protocols. NVMe introduces new parameters such as multiple I/O queues, priority fields, and in-band hinting capabilities that enable higher I/O performance and better CPU utilization. These parameter changes in the protocol specification allow for more efficient parallel processing and reduced latency while maintaining adaptability through the standardized NVMe interface.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12112040B2Data movement intimation using input/output (I/O) queue management
Publication Date: 2024.10.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12112040B2 patent drawing
  • US12112040B2 patent drawing
  • US12112040B2 patent drawing

AI summary

A computer-implemented method according to one embodiment includes causing a plurality of I/O queues to be created between an initiator and a storage target device. The created I/O queues are reserved for I/O requests for which adjustments of current priorities of extents of data associated with the I/O requests are to be performed. The method further includes determining identifying information of an I/O request sent from the initiator to the storage target device and determining whether the I/O request was sent from the initiator to the storage target device using one of the created I/O queues. In response to a determination that the I/O request was sent using a first of the created I/O queues having one of the adjustments associated therewith, a tiering manager of the storage target device is instructed to perform the adjustment on the current priority of the extent of data associated with the I/O request.