Extendable Hardware Queue Structure with Internal and External Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrated circuit devices face performance issues due to the use of external queue memory, which increases latency and costs associated with onboard queue memory sizing, as existing hardware queues struggle to manage transitions between internal and external memory efficiently.

Innovation Solution

A method and apparatus for managing a hardware queue with internal and external queue memories by monitoring occupancy and controlling pointers to seamlessly transition data between the two, using internal and external tail and head pointers, along with wrap pointers, to maintain continuous operation and balance performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If external queue memory is used to extend onboard queue capacity, then queue capacity is increased, but latency increases and performance deteriorates

Engineering Contradiction:
Improvequeue capacityVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The queue memory is segmented into two distinct parts: onboard queue memory (fast, low-latency) and external queue memory (slow, high-latency). The system divides the queue operation into segments that operate independently - critical operations remain on onboard memory while non-critical operations use external memory, allowing the system to achieve both high capacity and low latency for time-sensitive operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different quality levels are applied to different parts of the queue system. The onboard queue memory provides high-speed access for critical data elements, while the external queue memory provides high-capacity storage for less time-sensitive data. This local differentiation allows the system to optimize for both speed and capacity in appropriate contexts.

Inventive Principle:
Principle #3Local quality

2Loss of time

If onboard queue memory size is increased to avoid using external memory, then latency is reduced, but cost increases

Engineering Contradiction:
ImprovelatencyVSAvoidcost
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Instead of providing full queue capacity through expensive onboard memory, the system provides partial capacity through onboard memory and supplements it with external memory when needed. This partial action approach achieves acceptable performance for critical operations while using cost-effective external storage for overflow capacity.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The external queue memory serves as a disposable or temporary extension for queue operations. When the onboard queue is full, data is offloaded to the cheaper external memory, which can be accessed when needed but is not continuously occupied. This allows the system to use inexpensive storage for capacity while reserving expensive onboard memory for active operations.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If seamless transition between internal and external memory is implemented, then system performance is enhanced, but device complexity increases

Engineering Contradiction:
Improvesystem performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The tail pointer and head pointer act as intermediaries that automatically manage transitions between onboard and external queue memories. These pointers monitor queue occupancy and trigger data movement between memory types without requiring complex control logic or intervention, simplifying the transition management while maintaining seamless operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The queue system manages its own transitions between internal and external memory through automatic monitoring of occupancy levels and self-triggered data movement. The tail pointer detects when onboard memory is full and automatically initiates transfer to external memory, while the head pointer similarly manages retrieval operations, eliminating the need for external control mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10969996B1Extendable hardware queue structure and method of operation thereof
Publication Date: 2021.04.06 MARVELL ISRAEL (M L S L) LTD
  • US10969996B1 patent drawing
  • US10969996B1 patent drawing
  • US10969996B1 patent drawing

AI summary

A hardware queue for an integrated circuit device includes an internal queue memory and at least one external queue memory. The internal queue memory and the external queue memory are operated as a continuous hardware queue memory by monitoring occupancy of the internal queue memory and, based on that occupancy, controlling an internal tail pointer indicating a next write point for inserting new data into the internal queue memory, an internal head pointer indicating a next read point for extracting data from the internal queue memory based on order of insertion, at least one external tail pointer indicating a next write point for inserting new data into the external queue memory, at least one external head pointer indicating a next read point for extracting data from the external queue memory based on order of insertion, and wrap pointers indicating transitions between the internal queue memory and the external queue memory.