Dedicated Storage Queues for High-Parallelism Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing queue management systems in persistent storage devices lead to inefficiencies in throughput and latency due to underutilization of hardware queues and shared queue access among multiple threads.

Innovation Solution

Implementing dedicated block device queues per storage object, allowing each thread to have a unique queue for file access, and dynamically managing queue creation and assignment based on system load and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple threads share common queues for persistent storage operations, then device complexity is reduced, but throughput decreases and latency increases due to queue contention

Engineering Contradiction:
ImprovethroughputVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the shared queue system into multiple dedicated block device queues, with each queue assigned to specific threads or storage objects. This segmentation eliminates queue contention between threads while maintaining manageable complexity through structured queue assignment and a queue map for tracking queue states.

Inventive Principle:
Principle #1Segmentation

2Productivity

If dedicated block device queues are created for each storage object, then queue utilization is optimized and throughput improves, but device complexity increases due to dynamic queue management

Engineering Contradiction:
ImprovethroughputVSAvoidqueue creation and management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic queue management where block device queues are created, activated, and deactivated based on runtime conditions such as thread creation, storage object access patterns, and system load. The queue map dynamically tracks queue states and enables flexible assignment, allowing the system to adapt to changing workloads while maintaining optimal queue utilization.

Inventive Principle:
Principle #15Dynamics

3Productivity

If hardware queues are underutilized in existing systems, then device complexity remains low, but productivity decreases due to insufficient parallelism

Engineering Contradiction:
ImprovethroughputVSAvoidhardware queue utilization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent makes hardware queues universally accessible to multiple threads through dedicated block device queue assignments. Each thread can have its own dedicated queue or share queues based on workload characteristics, enabling full utilization of hardware parallelism while maintaining flexible adaptability to different access patterns and storage objects.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Loss of time

If shared queues are used among multiple threads, then ease of operation is maintained, but latency increases due to queue access contention

Engineering Contradiction:
Improvequeue access latencyVSAvoidqueue access simplicity
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

By segmenting queues into dedicated block device queues for different threads and storage objects, the patent eliminates contention-based latency while preserving ease of operation through the queue map abstraction. The queue map provides a simple interface for threads to access their assigned queues without complex synchronization, reducing latency while maintaining operational simplicity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4290356B1System and method for managing queues in systems with high parallelism
Publication Date: 2026.01.21 SAMSUNG ELECTRONICS CO LTD
  • EP4290356B1 patent drawingFigure 1
  • EP4290356B1 patent drawingFigure 2A
  • EP4290356B1 patent drawingFigure 2B

AI summary

A system and method for managing queues for persistent storage. In some embodiments, the method includes opening, by a first thread running in a host, a first storage object; and creating, by the host, in a memory of the host, a first block device queue, the first block device queue being dedicated to the first storage object.