Non-Blocking Bulk Memory Operations with Address-Level Conflict Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional bulk memory operations cause excessive stalling and critical path latency due to blocking execution until completion, leading to increased latency and overhead, even with hardware accelerators and software synchronization.

Innovation Solution

Implement non-blocking bulk memory operations by intercepting conflicting memory accesses and ensuring the bulk memory operation associated with the conflicting target address completes before allowing the conflicting memory access to proceed, using a logic controller to expedite or block memory requests as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If blocking execution is used to ensure data integrity during bulk memory operations, then data integrity is maintained, but latency and critical path delay increase

Engineering Contradiction:
Improvedata integrityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the bulk memory operation tracking into fine-grained per-address state tracking rather than blocking the entire operation. The logic controller tracks completion status of individual memory addresses independently, allowing non-segmented conflicting accesses to proceed while maintaining data integrity for addresses that are still being processed by the bulk operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The logic controller acts as an intermediary between the bulk memory operation and conflicting memory accesses. It intercepts conflicting accesses, checks the completion status of the corresponding addresses in the bulk operation, and selectively allows or blocks access based on this status, thereby mediating between data integrity requirements and latency reduction goals.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If hardware accelerators are used for bulk memory operations, then operation speed increases, but execution remains serialized and blocking

Engineering Contradiction:
Improveoperation speedVSAvoidsystem throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent introduces dynamic control of memory access blocking based on real-time completion status. Instead of static blocking for the entire bulk operation duration, the logic controller dynamically adjusts access permissions address-by-address as the bulk operation progresses, enabling subsequent tasks to proceed as soon as individual addresses are completed while the hardware accelerator continues processing remaining addresses.

Inventive Principle:
Principle #15Dynamics

3Reliability

If software synchronization is implemented to track bulk operation completion, then data consistency is maintained, but computational overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces complex software synchronization mechanisms with a streamlined logic controller that uses simple completion status tracking. Instead of implementing full software synchronization protocols with multiple atomic requests and fine-grain tracking, the logic controller maintains minimal per-address completion flags and uses simple comparison logic to determine whether conflicting accesses should be blocked, significantly reducing computational overhead.

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

Data Source

PatentUS12386526B2Non-blocking parallel bulk memory operations
Publication Date: 2025.08.12 ADVANCED MICRO DEVICES INC
  • US12386526B2 patent drawing
  • US12386526B2 patent drawing
  • US12386526B2 patent drawing

AI summary

Non-blocking processing system are described. In accordance with the described techniques, a pending range store receives, at a start of a bulk memory operation, a pending memory range of the bulk memory operation. A logic unit includes at least one of check conflict logic or check address logic. The logic unit detects a conflicting memory access based on a target address of the pending memory range conflicting with a memory access request separate from the bulk memory operation. The logic unit performs at least a portion of the bulk memory operation associated with the target address before the memory access request is allowed to proceed.