Multi-Host Storage Queue Weighting for Fair Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-host storage systems, the performance of each host is reduced due to limited physical resources, leading to an imbalance in performance among multiple hosts accessing a single storage medium.

Innovation Solution

A storage device with a performance manager that sets weight values for each host based on performance information, selects submission queues with the lowest aggregated value, and updates an aggregated value table to ensure minimum performance is maintained for each host, using a nonvolatile memory device and storage controller with NVMe controllers to manage commands and tokens.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple hosts access a single storage medium, then storage resource utilization is improved, but performance of each host is reduced due to limited physical resources

Engineering Contradiction:
Improvemulti-host support capabilityVSAvoidhost performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the storage medium into multiple queues, each associated with a specific host. This segmentation allows independent performance tracking and resource allocation for each host, resolving the contradiction by enabling multi-host support while maintaining individual performance through isolated access paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different weights to different queues based on host requirements. Each queue can have customized weight values that reflect the specific performance needs of its associated host, allowing differentiated service quality while sharing the same physical storage medium.

Inventive Principle:
Principle #3Local quality

2Productivity

If weight values are assigned to hosts based on performance information, then performance distribution among hosts is improved, but system complexity increases due to performance manager operations

Engineering Contradiction:
Improveperformance distribution uniformityVSAvoidperformance manager structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The performance manager automatically adjusts queue weights based on performance information without requiring manual intervention. The system self-regulates by monitoring host performance metrics and dynamically modifying weight values, thereby achieving uniform performance distribution while minimizing operational complexity through autonomous control.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the weight parameter dynamically based on observed performance information. By adjusting weight values as a controllable parameter, the system can adapt to varying host performance needs and achieve fair resource distribution. This parameter-based approach simplifies the performance manager compared to complex architectural changes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3869317B1Storage device for supporting multiple hosts and operation method thereof
Publication Date: 2025.09.03 SAMSUNG ELECTRONICS CO LTD
  • EP3869317B1 patent drawingFigure 1
  • EP3869317B1 patent drawingFigure 2
  • EP3869317B1 patent drawingFigure 3A

AI summary

Described is an operation method of a storage device including first and second physical functions respectively corresponding to first and second hosts includes receiving performance information from each of the first and second hosts, setting a first weight value corresponding to the first physical function and a second weight value corresponding to the second physical function, based on the received performance information, selecting one of a first submission queue, a second submission queue, a third submission queue, and a fourth submission queue based on an aggregated value table, the first and second submission queues being managed by the first host and the third and fourth submission queues are managed by the second host, processing a command from the selected submission queue, and updating the aggregated value table based on a weight value corresponding to the processed command from among the first and second weights and input/output (I/O) information of the processed command.