Distributed Storage Controller Virtual Queue Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, the performance is degraded due to insufficient IO upper limit values for coupled drives when shared among multiple controllers, leading to errors and overheads in Drive-IO transfers, especially when the number of controllers increases, and when actual queue groups become full, preventing Drive-IO transfers to non-coupled drives.

Innovation Solution

Implementing a distributed storage system with virtual and actual queue management, where each controller manages virtual and actual queues for coupled and non-coupled drives, allowing for dynamic adjustment of virtual upper limit values to accommodate Drive-IOs, ensuring efficient transfer and utilization of resources across controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the IO upper limit value for the CTL is set by dividing the IO upper limit value for the coupled drive by the number of CTLs sharing the coupled drive, then the coupled drive is protected from overload, but the CTL performance is not sufficiently exerted and Drive-IOs cannot be issued even when the coupled drive is available

Engineering Contradiction:
Improvecoupled drive overload protectionVSAvoidCTL performance utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the queue management into two independent queues: a first queue for accumulating Drive-IOs destined for coupled drives, and a second queue for accumulating Drive-IOs destined for non-coupled drives. This segmentation allows each queue to have its own independent upper limit value, enabling the first queue to use a lower limit for reliability while the second queue can use a higher limit to improve overall CTL performance utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of queue upper limit values by applying different limits to different queues. The first queue (for coupled drives) uses an IO upper limit value for the CTL that is lower than or equal to the coupled drive's limit, while the second queue (for non-coupled drives) uses a higher IO upper limit value, allowing the CTL to accumulate more Drive-IOs for transfer to other CTLs without being constrained by the coupled drive's lower limit.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the actual queue group corresponding to the drive is full, then the Drive-IO cannot be transferred to non-coupled drives, but this causes overhead and performance degradation due to retries

Engineering Contradiction:
Improvedata transfer accuracyVSAvoidDrive-IO transfer efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the queue management system into multiple independent queues (first queue for coupled drives, second queue for non-coupled drives) with different upper limit values. This segmentation allows the second queue to accumulate Drive-IOs beyond the coupled drive's limit, enabling continuous transfer operations to non-coupled drives without being blocked by the first queue's full condition, thus reducing retries and improving transfer efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic queue management where the CTL monitors the full condition of the first queue and dynamically transfers Drive-IOs to the second queue when the first queue is full. This dynamic adjustment allows the system to maintain reliable data transfer to coupled drives while simultaneously enabling efficient transfer to non-coupled drives, preventing performance degradation from retries.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the number of CTLs sharing a coupled drive increases, then the IO upper limit value for each CTL decreases, but this leads to higher probability of Drive-IO issuance failures even when the coupled drive is available

Engineering Contradiction:
Improvecoupled drive protectionVSAvoidDrive-IO issuance success rate
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments Drive-IO accumulation into two independent paths: one through the first queue for coupled drives with strict limit enforcement, and another through the second queue for non-coupled drives with higher limits. This segmentation allows CTLs sharing coupled drives to maintain reliable protection while still being able to issue Drive-IOs for non-coupled drives without being constrained by the reduced per-CTL limit, thereby improving issuance success rate.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second queue acts as an intermediary buffer that receives Drive-IOs from the first queue when the first queue is full. This intermediary mechanism allows the system to decouple the strict limit enforcement for coupled drives from the overall CTL performance, enabling Drive-IOs to be accumulated and transferred through the second queue even when the first queue reaches its lower limit, thus improving issuance success rate without compromising coupled drive protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11144242B2Distributed storage system
Publication Date: 2021.10.12 HITACHI VANTARA LTD
  • US11144242B2 patent drawing
  • US11144242B2 patent drawing
  • US11144242B2 patent drawing

AI summary

Each node constituting a distributed storage system includes one or more controllers. Each controller includes an actual queue group for each drive physically coupled to the controller, and a virtual queue group for each of a plurality of drives. A Drive-IO issued by any controller and received is accumulated in the actual queue group corresponding to an issue destination drive of the Drive-IO after accumulated in the virtual queue group corresponding to the issue destination drive.