Multiprocessor Shared Memory Queue Pointer Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multiprocessor systems face inefficiencies in message transmission and reception due to the need for complex pointer comparisons and potential latency issues when determining vacancy status in shared memory queues, which complicates the design and scalability of the system.

Innovation Solution

The system employs separate pointers for managing vacancy status in message queues, allowing coincidence detection between head and tail pointers to determine transmission and reception capabilities without size comparisons, thereby simplifying the circuit design and reducing latency by local memory access for pointer reading.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If complex pointer comparisons and size checks are used to determine vacancy status in shared memory queues, then transmission and reception accuracy is improved, but circuit scale increases and latency increases

Engineering Contradiction:
Improvevacancy status determination accuracyVSAvoidcircuit scale
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the queue management into separate head pointer and tail pointer structures, with the head pointer stored in transmit processor memory and the tail pointer stored in receive processor memory. This segmentation allows each processor to independently manage its own pointer without requiring complex comparison circuits, thereby reducing circuit scale while maintaining accurate vacancy status determination through local pointer access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where the head pointer value is copied to the tail pointer structure as a reference point. This intermediary approach allows the receive processor to determine vacancy status by comparing the tail pointer against the copied head pointer value locally, eliminating the need for complex real-time comparisons between processors and reducing both circuit complexity and latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If complex pointer comparisons and size checks are used to determine vacancy status in shared memory queues, then transmission and reception accuracy is improved, but transmission and reception speed decreases

Engineering Contradiction:
Improvevacancy status determination accuracyVSAvoidmessage transmission and reception speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

By segmenting the pointer management so that the head pointer is maintained in transmit processor memory and the tail pointer in receive processor memory, the system enables parallel access to pointer values. This segmentation eliminates sequential comparison operations and allows both processors to determine vacancy status independently and simultaneously, thereby improving transmission and reception speed while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-copying the head pointer value to the tail pointer structure before actual message transmission and reception operations. This preliminary setup allows the receive processor to immediately determine vacancy status using locally stored pointer values without requiring real-time computations, thus accelerating message processing speed while preserving determination accuracy.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If pointer size comparisons and wrap-around processes are implemented, then queue boundary management is improved, but circuit scale increases

Engineering Contradiction:
Improvequeue boundary managementVSAvoidcircuit scale
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent extracts the complex pointer size comparison and wrap-around detection logic from the hardware circuit implementation. Instead of implementing these checks in circuitry, the system manages queue boundaries through software-based pointer arithmetic and overflow detection, thereby significantly reducing circuit scale while maintaining stable queue boundary management through programmed logic.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces mechanical/circuit-based pointer comparison and wrap-around detection mechanisms with software-based solutions. By using programmed algorithms to handle pointer arithmetic, boundary detection, and overflow management, the system achieves stable queue boundary management without requiring additional comparison circuits, thus reducing overall circuit complexity.

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

4Reliability

If complex pointer comparisons and size checks are used to determine vacancy status in shared memory queues, then transmission and reception reliability is improved, but latency increases

Engineering Contradiction:
Improvemessage transmission and reception reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the pointer management functionality so that each processor maintains its own pointer in local memory, enabling independent and immediate vacancy status determination. This segmentation eliminates the need for processors to wait for complex comparison operations to complete, thereby reducing latency while maintaining transmission and reception reliability through locally verified pointer states.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses an intermediary approach where the head pointer value is copied to a location accessible by the receive processor, serving as a reference for vacancy determination. This intermediary mechanism allows the receive processor to reliably determine queue status by comparing its tail pointer against the copied head pointer value without requiring real-time communication or complex synchronization, thus minimizing latency while ensuring reliable message transmission and reception.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11422937B2Multiprocessor system and method for controlling shared memory
Publication Date: 2022.08.23 KIOXIA CORP
  • US11422937B2 patent drawing
  • US11422937B2 patent drawing
  • US11422937B2 patent drawing

AI summary

A multiprocessor system includes a shared memory, and first and second processors. The shared memory includes a queue configured to store messages. The first processor transmits the messages to the shared memory. The second processor receives the messages stored in the shared memory. The first memory stores a first head pointer indicating a vacant position head of the queue and a first tail pointer indicating a vacant position tail of the queue. The second memory stores a second head pointer indicating a position of a head of the messages stored in the queue and a second tail pointer indicating a tail position of the messages stored in the queue. The first processor increments the first head pointer and copies a value identical to a value of the first head pointer to the second tail pointer, when transmitting the messages.