Dynamic I/O Queue Redistribution for Thermal Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage controllers in storage systems, particularly those using Non-Volatile Memory Express (NVMe) Flash protocol, can overheat due to continuous operation, leading to thermal throttling and performance degradation, and existing methods for managing overheating are inadequate as they may overload substitute controllers and delay re-routing of I/O operations, causing further heat issues and performance degradation.

Innovation Solution

An I/O processing engine monitors temperature conditions across a cluster of storage controllers, identifies overheated controllers, suspends their I/O queues, and dynamically allocates additional queues to a substitute controller with lower temperatures to reroute operations, thereby preventing overloading and ensuring timely intervention when the overheated controller cools down.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If storage controllers continuously operate to maintain system productivity, then productivity is improved, but temperature increases leading to thermal throttling and performance degradation

Engineering Contradiction:
Improvesystem productivityVSAvoidstorage controller temperature
Core Design Contradiction:
ProductivityVSTemperature

Solution Approach 1:

The system proactively monitors temperature conditions and identifies overheated storage controllers before they cause system failures. By detecting temperature thresholds in advance and preemptively redistributing I/O operations, the system prevents thermal throttling and maintains continuous productivity without waiting for actual performance degradation to occur.

Inventive Principle:
Principle #10Preliminary action

2Temperature

If I/O operations are rerouted to substitute controllers when overheating occurs, then the overheated controller can cool down, but substitute controllers may become overloaded causing further performance degradation

Engineering Contradiction:
Improveoverheated controller temperatureVSAvoidsubstitute controller performance
Core Design Contradiction:
TemperatureVSProductivity

Solution Approach 1:

The system implements load shedding by suspending non-critical I/O queues on substitute controllers rather than transferring all queues. This partial action approach prevents overloading substitute controllers while still providing sufficient cooling capacity to the overheated controller. The system selectively redirects only the necessary portion of I/O operations to maintain thermal balance without compromising overall system performance.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If temperature monitoring and dynamic load redistribution is implemented, then thermal management is improved, but device complexity increases

Engineering Contradiction:
Improvethermal management reliabilityVSAvoidcontroller cluster complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The storage controller cluster implements self-service thermal management through automated temperature monitoring and dynamic I/O queue redistribution. The system autonomously detects overheated controllers, identifies suitable substitute controllers, and reallocates I/O operations without requiring external intervention or complex manual configuration. This self-managing approach improves reliability while minimizing the operational complexity burden on system administrators.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11231872B2Identification of substitute controllers based on temperature data
Publication Date: 2022.01.25 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11231872B2 patent drawing
  • US11231872B2 patent drawing
  • US11231872B2 patent drawing

AI summary

Storage system comprises a cluster of storage controllers communicatively coupled to a storage device. Each storage controller is associated with a storage namespace in the storage device to process I/O operations of associated storage namespace. An I/O processing engine allocates I/O queues to each storage controller from the cluster of storage controllers for processing I/O operations of the associated storage namespace. The I/O processing engine is to identify a heated controller from the cluster of storage controllers based on temperature data corresponding to the cluster of storage controllers and suspend I/O queues handled by the heated controller. The I/O processing engine is to select a substitute controller based on the temperature data, associate the substitute controller with the storage namespace of the heated controller and allocate additional I/O queues to the substitute controller for processing the I/O operations for the storage namespace.