Multi-Rank Memory Controller Arbitration for Fewer Rank Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern DDR memory systems with multiple ranks face inefficiencies due to complex timing constraints and increased write-to-read turnaround times, particularly in high-performance computing systems, leading to reduced memory bus efficiency and frequent rank switching.

Innovation Solution

A memory controller with a staging buffer and picker mechanism that optimizes rank switching by increasing the window of same-rank accesses before switching, using a multi-rank arbitration system with sub-arbiters to manage write-to-read turnarounds and improve efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple ranks are used to increase memory density and capacity, then memory capacity and density are improved, but timing constraints become more complex and memory bus efficiency decreases

Engineering Contradiction:
Improvememory capacityVSAvoidtiming constraints
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the memory access management into separate components: a command queue for storing pending requests, a picker for selecting requests, and sub-arbiters for managing each rank independently. This segmentation allows complex multi-rank timing constraints to be handled by simpler, dedicated units rather than a monolithic controller, reducing overall system complexity while maintaining high capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary picker mechanism between the command queue and the sub-arbiters. This picker acts as a mediator that selects commands from the queue and distributes them to appropriate sub-arbiters, simplifying the interaction between multiple ranks and reducing the complexity of timing constraint management across the multi-rank system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If faster memory clock signals are used to increase performance, then memory speed is improved, but write-to-read turnaround times increase proportionately

Engineering Contradiction:
Improvememory clock speedVSAvoidwrite-to-read turnaround time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-loading commands into the command queue before they are needed, and by pre-positioning data in buffer memory. This allows the memory controller to prepare for upcoming read operations after write cycles, effectively reducing the perceived write-to-read turnaround time even when clock speeds increase. The staging buffer and picker mechanism enable commands to be staged in advance, smoothing out timing variations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuity of useful action by maintaining a command queue that continuously processes pending requests without idle gaps. The picker continuously selects and distributes commands to sub-arbiters, keeping the memory bus actively utilized. This continuous operation minimizes idle wait time between write and read operations, effectively reducing turnaround time despite higher clock speeds.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If frequent rank switching is performed to access different memory ranks, then memory access flexibility is improved, but memory bus efficiency is reduced

Engineering Contradiction:
Improvememory access flexibilityVSAvoidmemory bus efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamics by making the rank selection process adaptive and flexible. The picker dynamically chooses which rank to access based on current command queue contents and memory state, allowing the system to adapt to varying access patterns. Sub-arbiters dynamically manage their respective ranks, switching between ready and busy states as needed. This dynamic behavior enables flexible access to any rank while optimizing bus usage by avoiding unnecessary switches.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes parameters in the command queue management system, specifically tracking and modifying the state of each rank (ready, busy, precharging) to optimize access patterns. By monitoring these parameters and adjusting the picker's selections based on current rank states, the system achieves flexible access while minimizing bus inefficiencies from frequent switching.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If queues are used to store pending memory access requests to enable out-of-order retrieval, then memory access efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidcontroller structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the queue management into specialized components: a command queue for storing pending requests, a picker for selecting requests, and separate sub-arbiters for each rank. This segmentation allows the out-of-order retrieval capability to be achieved through simple, dedicated structures rather than complex integrated logic, improving access efficiency while keeping individual components manageable and the overall system clear.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The picker serves as an intermediary between the command queue and the sub-arbiters, simplifying the complexity of coordinating out-of-order requests across multiple ranks. This intermediary layer abstracts the complexity of managing pending requests, allowing each sub-arbiter to operate independently with simpler logic while the picker handles the coordination and timing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12498884B2Efficient rank switching in multi-rank memory controller
Publication Date: 2025.12.16 ADVANCED MICRO DEVICES INC
  • US12498884B2 patent drawing
  • US12498884B2 patent drawing
  • US12498884B2 patent drawing

AI summary

A data processing system includes a memory accessing agent for generating first memory access requests, a first memory system, and a first memory controller. The first memory system includes a first three-dimensional memory stack comprising a first plurality of stacked memory dice, wherein each memory die of the first three-dimensional memory stack includes a different logical rank of a first memory channel. The first memory controller picks second memory access requests from among the first memory access requests that access a given logical rank of the first memory channel, arbitrates between the second memory access requests, and generates memory access commands to the given logical rank in response to the arbitrating.