Wordline Collision Detection in Dual-Thread Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dual-thread processors face inefficiencies and potential data corruption due to wordline collisions when multiple threads attempt to access the same memory array simultaneously, requiring longer clock cycles for collision detection and access.

Innovation Solution

A method and system that perform parallel operations to determine wordline collisions between threads by calculating speculative decoded operands signals and comparing them, allowing for faster collision detection and mitigation through the use of collision avoidance circuits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If base and offset operand addition is used to address content within caches and memory units, then the effective address can be calculated, but at least two clock cycles are required which reduces processing speed

Engineering Contradiction:
Improvememory access speedVSAvoidclock cycles for address calculation
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent performs preliminary collision detection by comparing only the significant bits of base and offset operands before the full address calculation is complete. This early comparison allows the system to detect potential wordline collisions in advance, enabling faster mitigation actions and reducing the overall time required for safe memory access operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple threads attempt to access the same wordline of the shared memory array at the same time, then parallel processing capability is utilized, but a wordline collision occurs resulting in incorrect data or data destruction

Engineering Contradiction:
Improveparallel thread processingVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary anti-action by performing early collision detection through bit comparison before the memory access occurs. When a potential collision is detected, the system proactively prevents the harmful effect by raising an error signal that stops the conflicting memory access, thereby protecting data integrity while allowing parallel thread processing to continue.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The patent implements feedback by continuously monitoring the significant bits of operand addresses during parallel thread execution and providing real-time collision detection. When threads attempt to access the same wordline, the feedback mechanism generates an error signal that immediately prevents the collision, allowing the system to maintain both parallel processing productivity and data reliability.

Inventive Principle:
Principle #23Feedback

3Reliability

If collision detection is performed to prevent data corruption, then data integrity is maintained, but the access time increases due to additional detection cycles

Engineering Contradiction:
Improvedata integrityVSAvoidcollision detection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the significant bits from the full base and offset operands for collision detection purposes. By comparing only the critical address bits that determine wordline selection rather than the complete address, the system achieves reliable collision detection with reduced computational overhead and faster execution time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs partial collision detection by comparing only the necessary significant bits of the operands rather than performing a complete address comparison. This partial action approach provides sufficient collision detection capability to maintain data integrity while minimizing the time required for the detection process.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9323534B2Method and apparatus for detecting a collision between multiple threads of execution for accessing a memory array
Publication Date: 2016.04.26 NXP USA INC
  • US9323534B2 patent drawing
  • US9323534B2 patent drawing
  • US9323534B2 patent drawing

AI summary

A method includes determining, for a first thread of execution, a first speculative decoded operands signal and determining, for a second thread of execution, a second speculative decoded operands signal. The method further includes determining, for the first thread of execution, a first constant and determining, for the second thread of execution, a second constant. The method further compares the first speculative decoded operands signal to the second speculative decoded operands signal and uses the first and second constant to detect a wordline collision for accessing the memory array.