Submission Queue Accelerator for Storage Controller I/O Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage controllers face performance issues when managing a large number of virtual submission queues, leading to increased resource requirements and potential blocking of larger I/O requests by smaller ones, necessitating arbitration and dependency analysis logic.

Innovation Solution

Implementing multiple virtual submission queues (vSQs) managed by clients and server submission queues (sSQs) managed by the storage controller, with a submission queue accelerator to translate I/O requests from vSQs to sSQs, allowing clients to select vSQs at submission time, thereby reducing the need for arbitration logic and resource management overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the storage controller manages a large number of virtual submission queues directly, then the number of supported vSQs increases, but the device complexity and resource requirements increase significantly

Engineering Contradiction:
Improvenumber of supported vSQsVSAvoidarbitration logic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces server submission queues (sSQs) as an intermediary layer between client vSQs and the storage controller. The submission queue accelerator maps multiple vSQs to fewer sSQs, allowing the storage controller to manage a reduced set of queues while still supporting a large number of client vSQs. This intermediary structure reduces the complexity of arbitration logic at the storage controller without limiting the number of supported vSQs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the queue management function into two distinct components: client-side vSQ management and controller-side sSQ management. The submission queue accelerator acts as a bridge that translates between these two layers. This segmentation allows each component to be optimized independently - clients can use many vSQs while the controller only needs to manage fewer sSQs, reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the storage controller processes all I/O requests through a single submission queue, then the device complexity is low, but smaller I/O requests block larger ones, reducing productivity

Engineering Contradiction:
ImproveI/O request processing throughputVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the single submission queue into multiple separate queues (both vSQs at the client side and sSQs at the controller side). This segmentation allows different I/O requests to be processed in parallel across multiple queues, preventing smaller requests from blocking larger ones. The submission queue accelerator manages the mapping between these segmented queues, maintaining coordination without requiring complex arbitration logic at the storage controller.

Inventive Principle:
Principle #1Segmentation

3Productivity

If the storage controller implements arbitration logic to prevent blocking, then the productivity improves, but the device complexity and resource utilization increase

Engineering Contradiction:
ImproveI/O request processing efficiencyVSAvoidarbitration and dependency analysis logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the arbitration and queue management logic from the storage controller and places it in the submission queue accelerator. This extraction removes the need for complex arbitration and dependency analysis logic at the storage controller, while still maintaining the ability to prevent blocking and optimize I/O request processing. The submission queue accelerator handles the complex mapping and queue selection, leaving the storage controller with simpler queue management responsibilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8595385B1Method and system for submission queue acceleration
Publication Date: 2013.11.26 EMC IP HLDG CO LLC
  • US8595385B1 patent drawing
  • US8595385B1 patent drawing
  • US8595385B1 patent drawing

AI summary

In general, the invention relates to a method for writing data to server submission queues in a storage controller. The method includes receiving an I/O request, where the I/O request includes a command, where the I/O request is associated with a vSQ, and where the vSQ appears to the client as a set of memory locations in memory operatively connected to a storage controller. The method further includes obtaining a vSQ ID associated with the vSQ, identifying a sSQ based on the vSQ and a vSQ-to-sSQ mapping, generating a submission queue entry comprising the command and the vSQ ID, and sending the submission queue entry to the storage controller, where the sSQ is located in the memory and where the storage controller is configured to place the submission queue entry in the sSQ.