Resizable Queue Relocation Without Writer Halting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Resizing and relocating queues in computing devices is impractical due to the need to halt asynchronous writers, leading to performance reductions and impaired user experience.

Innovation Solution

Implementing a method to relocate and resize queues without halting writers by using software entities to update queue addresses and sizes atomically, allowing continuous operation while maintaining valid flags for data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If queues are resized and relocated during operation, then queue size and location flexibility is improved, but writers must be halted causing performance degradation

Engineering Contradiction:
Improvequeue size and location flexibilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-allocating multiple queue regions in memory before operation begins. These regions are prepared in advance with proper addressing structures, so when resizing or relocation is needed, the system can immediately switch to a pre-prepared region without halting writers. The IOMMU is configured in advance to handle address translations for multiple queue regions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces the IOMMU (Input-Output Memory Management Unit) as an intermediary between writers and the queue memory regions. The IOMMU handles address translation and redirection, allowing queue regions to be relocated or resized without affecting writers. The IOMMU mediates the connection, absorbing the complexity of queue management while maintaining simple, continuous write operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If asynchronous writers continue operating during queue relocation, then system performance is maintained, but atomic updates of queue address and size become complex

Engineering Contradiction:
Improvesystem performanceVSAvoidatomic update complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the queue management functionality into separate components: queue region allocation, IOMMU configuration, and writer operations. By segmenting the address update process into configuration-space writes that are inherently atomic, the system avoids complex synchronization. Each segment (queue region, IOMMU mapping) can be updated independently without affecting ongoing writer operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces mechanical synchronization mechanisms (locks, halting writers) with a configuration-space update mechanism. Updates to queue address and size are performed through IOMMU configuration space, which provides inherent atomicity through its update protocol. This substitution eliminates the need for complex software-based atomic update mechanisms while maintaining writer continuity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If queue address and size are updated atomically, then data integrity is improved, but the update mechanism becomes more complex

Engineering Contradiction:
Improvedata integrityVSAvoidupdate mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The IOMMU configuration space acts as an intermediary that provides inherent atomicity for queue address and size updates. The configuration space update mechanism ensures that both address and size are updated together as a single atomic operation, preventing data integrity issues. This intermediary absorbs the complexity of ensuring atomicity, presenting a simple update interface to the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9489173B2Resizable and relocatable queue
Publication Date: 2016.11.08 ADVANCED MICRO DEVICES INC
  • US9489173B2 patent drawing
  • US9489173B2 patent drawing
  • US9489173B2 patent drawing

AI summary

A computing device with a queue stored in a memory of the computing device is described. The queue may be relocated and/or resized in the memory using a queue address, a queue size, a head pointer, and/or a tail pointer associated with the queue. During operation, a processor, at the request of a software entity, updates one or more values associated with the queue to relocate and/or resize the queue. In response, a write mechanism performs one or more operations to enable the use of the relocated and/or resized queue. In addition, when the queue is relocated, the processor, at the request of the software entity, performs one or more operations to process remaining valid entries in an original location of the queue.