Multi-Stage Memory Controller Arbiter for High-Speed Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory controllers face challenges in operating at fast enough speeds to efficiently schedule memory accesses in modern high-speed memory systems, particularly with deep queues and modern memory technologies like DDR4, where scanning and picking accesses while utilizing available bus bandwidth becomes difficult.

Innovation Solution

A memory controller architecture that includes a command queue and an arbiter with multiple sub-arbiters to select memory commands, allowing for efficient arbitration and scheduling of memory access requests, including page hits, conflicts, and misses, to optimize memory bus usage and reduce overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single arbitration stage is used in the memory controller, then the device complexity is reduced, but the productivity decreases due to inability to efficiently schedule deep queues at high speeds

Engineering Contradiction:
Improvememory access scheduling speedVSAvoidarbiter structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The arbiter is divided into multiple arbitration stages (first arbitration stage, second arbitration stage, etc.) that process memory access requests in sequence. Each stage handles a portion of the arbitration logic, allowing the system to efficiently schedule deep queues at high speeds while distributing the computational complexity across multiple manageable components rather than requiring a single complex arbitration unit

Inventive Principle:
Principle #1Segmentation

2Productivity

If the memory controller operates at higher clock frequencies to match DDR4 speeds, then the productivity increases, but the device complexity increases due to the difficulty of operating scheduling logic at such speeds

Engineering Contradiction:
Improvememory bus bandwidth utilizationVSAvoidcontroller operation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The arbitration process is segmented into multiple stages that can operate at different effective speeds. The multi-stage arbitration allows the controller to process scheduling decisions through a pipeline that can be synchronized with DDR4 clock frequencies, breaking down the complex timing requirements into manageable stages that are easier to implement and maintain at high speeds

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first arbitration stage performs preliminary arbitration on incoming memory access requests before they reach the second arbitration stage. This preliminary processing prepares the requests in advance, reducing the timing pressure on subsequent stages and allowing the overall system to operate at high DDR4 speeds without requiring every component to operate at maximum frequency simultaneously

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10684969B2Command arbitration for high speed memory interfaces
Publication Date: 2020.06.16 ADVANCED MICRO DEVICES INC
  • US10684969B2 patent drawing
  • US10684969B2 patent drawing
  • US10684969B2 patent drawing

AI summary

In one form, a memory controller includes a command queue and an arbiter. The command queue receives and stores memory access requests. The arbiter includes a plurality of sub-arbiters for providing a corresponding plurality of sub-arbitration winners from among the memory access requests during a controller cycle, and for selecting among the plurality of sub-arbitration winners to provide a plurality of memory commands in a corresponding controller cycle. In another form, a data processing system includes a memory accessing agent for providing memory accesses requests, a memory system, and the memory controller coupled to the memory accessing agent and the memory system.