Memory Controller Sparse Access Coalescing for Command Queue Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The memory controller's command queue in DRAM organizations faces bottlenecks due to its fixed size and the inefficiency in scheduling sparse data access requests, particularly in applications like image processing and stencil computation.

Innovation Solution

Implementing a sparse element processor that identifies and combines sparse memory access requests into denser requests, utilizing a coalescing unit to group sparse requests and a memory controller with a command queue that supports efficient scheduling by converting sparse requests into denser ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the command queue uses associational memory organized as content addressable memory (CAM) with an arbiter that scans the command queue, then efficient scheduling of memory access requests is achieved, but the command queue size is fixed and becomes a bottleneck for sparse data access requests

Engineering Contradiction:
Improvememory access efficiencyVSAvoidcommand queue size limitation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the command queue into multiple separate queues (e.g., read queue and write queue, or multiple priority queues). This segmentation allows each queue to be optimized independently and enables better management of sparse access requests by distributing them across multiple smaller queues, thereby resolving the bottleneck caused by a single large fixed-size queue.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic queue management where the command queue structure can adapt its organization based on the type and characteristics of memory access requests. Different queue configurations can be activated dynamically to handle sparse versus dense access patterns, allowing the system to optimize performance for varying workload conditions rather than being constrained by a fixed queue structure.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the memory controller handles sparse data access requests directly, then support for fine-grained DRAM organizations is maintained, but scheduling efficiency deteriorates due to the scattered nature of sparse requests

Engineering Contradiction:
Improvesparse data access supportVSAvoidscheduling efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges multiple sparse memory access requests into a single consolidated memory access operation when possible. By combining adjacent or related sparse requests into a unified access pattern, the system reduces the total number of memory transactions and improves scheduling efficiency while still supporting fine-grained access patterns through the merging process.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary processing stage between request generation and memory access execution. This intermediary layer analyzes incoming sparse requests, identifies opportunities for merging or optimization, and transforms them into more efficient access patterns before submission to the memory controller, thereby improving scheduling efficiency without losing sparse access capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If the command queue is enlarged to handle more sparse requests, then request capacity increases, but the associational memory structure and arbiter scanning efficiency are compromised

Engineering Contradiction:
Improvecommand queue capacityVSAvoidarbiter scanning time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent divides the large command queue into multiple smaller segmented queues. Each segment can be scanned independently and more quickly by the arbiter, reducing the total scanning time compared to a single large queue. The segmented structure maintains overall capacity while improving access efficiency through reduced scan depths in each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the single-dimension large queue structure into a multi-dimensional queue organization (e.g., multiple queues arranged in a matrix or tree structure). This dimensional change allows the arbiter to navigate and scan requests more efficiently by utilizing multiple access paths or hierarchical levels, thereby increasing capacity without proportionally increasing scanning time.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12572280B2Memory controller and near-memory support for sparse accesses
Publication Date: 2026.03.10 ADVANCED MICRO DEVICES INC
  • US12572280B2 patent drawing
  • US12572280B2 patent drawing
  • US12572280B2 patent drawing

AI summary

A data processing system includes a data processor and a memory controller receiving memory access requests from the data processor and generating at least one memory access cycle to a memory system in response to the receiving. The memory controller includes a command queue and a sparse element processor. The command queue is for receiving and storing the memory access requests including a first memory access request including a small element request. The sparse element processor is for causing the memory controller to issue a second memory access request to the memory system in response to the first memory access request with a density greater than a density indicated by the first memory access request.