NVMe I/O Queue Hinting for Resource Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NVMe storage systems, the limited availability of memory for I/O queues due to fixed memory constraints leads to poor resource utilization and degraded performance, as deallocated I/O queues do not efficiently notify other entities about available memory for new queue allocations.

Innovation Solution

A method is introduced to identify deallocated I/O queues, broadcast Asynchronous Event Request (AER) messages to entities with available memory, and allocate new I/O queues using freed resources, ensuring efficient messaging by targeting entities below a maximum I/O queue threshold.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of I/O queues is increased to improve resource utilization, then memory consumption increases, but the fixed memory constraint limits the maximum number of queues that can be created

Engineering Contradiction:
Improveresource utilizationVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically manages I/O queue allocations by allowing queues to be created and deallocated based on real-time memory availability and demand. When memory becomes available through deallocation, the system can dynamically create new queues without requiring fixed pre-allocation, thus improving resource utilization while adapting to memory constraints.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the state of memory resources from a static fixed allocation to a dynamic state where memory can be freed and reallocated. By implementing deallocation mechanisms and monitoring memory availability, the system transforms the parameter of memory usage from constant to variable, enabling more queues to be created when memory is released.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If I/O queues are deallocated to free memory, then memory becomes available, but other entities in the storage system do not know about the newly available memory space

Engineering Contradiction:
Improveavailable memoryVSAvoidinformation about freed resources
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The system implements a feedback mechanism where the storage controller monitors and detects when I/O queues are deallocated from entities. Upon detecting a deallocation, the controller generates feedback information about the freed memory resources and communicates this to relevant entities, ensuring they are aware of available memory for potential new queue allocations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The storage controller acts as an intermediary between entities that deallocate queues and entities that may need to allocate new queues. The controller receives notifications of deallocations, processes the freed resource information, and distributes this information to other entities in the system, facilitating efficient resource reallocation without direct entity-to-entity communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If AER messages are broadcast to all entities to notify of freed resources, then resource allocation is improved, but messaging efficiency decreases due to unnecessary notifications

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidmessaging overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

Instead of uniformly broadcasting AER messages to all entities, the system applies local quality by sending notifications selectively to specific entities based on their current state. The storage controller identifies entities that have available memory and sends AER messages only to those entities, making the notification process targeted and efficient rather than universal and wasteful.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs partial action by notifying only the subset of entities that can actually utilize the freed resources, rather than notifying all entities. This partial notification approach reduces messaging overhead while still achieving the goal of resource reallocation, as only entities with available memory need to be contacted.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11960417B2Input/output queue hinting for resource utilization
Publication Date: 2024.04.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11960417B2 patent drawing
  • US11960417B2 patent drawing
  • US11960417B2 patent drawing

AI summary

Described are techniques including a method comprising detecting a deallocated Input/Output (I/O) queue associated with a first entity in a Non-Volatile Memory Express (NVMe) storage system. The method further comprises broadcasting an Asynchronous Event Request (AER) message indicating I/O queue availability based on the deallocated I/O queue. The method further comprises allocating, in response to the AER message, a new I/O queue to a second entity in the NVMe storage system.