DRAM Memory Controller Reordering Logic Area Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controller technologies face challenges in reducing the area of the reordering logic circuit, which complicates the implementation of reordering techniques for dynamic random access memory (DRAM) access requests, leading to increased circuit complexity and performance penalties.

Innovation Solution

A memory controller with a first and second control circuit, where the first control circuit assigns IDs to requests and selects them based on target banks and pages, and the second control circuit reorders these requests to generate DRAM commands, reducing the DRAM access penalty by managing bank and page states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If reordering techniques are implemented to minimize DRAM access penalty, then DRAM access performance is improved, but the area of the reordering logic circuit increases exponentially

Engineering Contradiction:
ImproveDRAM access performanceVSAvoidreordering logic circuit area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The request buffer is divided into multiple stages (first stage, second stage, third stage) with different functions. The first stage performs initial request intake and basic filtering, the second stage performs detailed reordering analysis, and the third stage handles command generation. This segmentation allows the complex reordering logic to be distributed across multiple simpler modules, reducing the area of any single logic circuit while maintaining overall reordering functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Requests are pre-processed and categorized in earlier stages before reaching the main reordering logic. Bank and page state information is pre-fetched and prepared in advance, so when requests need reordering, the logic circuit already has the necessary contextual information available, reducing the complexity of real-time decision-making circuits.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the number of stages in the request buffer increases to improve reordering capability, then DRAM access performance is improved, but the area of the logic circuit increases exponentially

Engineering Contradiction:
Improvereordering capabilityVSAvoidlogic circuit area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

Each stage of the request buffer is assigned a specific, limited function rather than requiring all stages to perform complete reordering analysis. The first stage handles basic request validation and initial sorting, the second stage performs intermediate reordering based on bank states, and the third stage completes the reordering and generates commands. This functional segmentation allows multiple stages to exist without exponentially increasing logic circuit area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to the reordering process by using multiple stages that process requests sequentially through time rather than requiring all reordering logic to operate simultaneously. This transforms a spatial complexity problem (all logic needed at once) into a temporal process (logic applied in sequence), reducing the peak logic circuit area required.

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

Data Source

PatentUS12164417B2Memory controller to process requests for DRAM, control method for memory controller, and storage medium
Publication Date: 2024.12.10 CANON KK
  • US12164417B2 patent drawing
  • US12164417B2 patent drawing
  • US12164417B2 patent drawing

AI summary

A memory controller configured to control a dynamic random access memory (DRAM) includes a first control circuit and a second control circuit. The first control circuit is configured to store a request received by the memory controller in a first storage circuit, and select a request from all requests stored in the first storage circuit. The second control circuit is configured to store the request selected by the first control circuit in a second storage circuit, reorder requests stored in the second storage circuit, generate a DRAM command, and issue the DRAM command to the DRAM. The first control circuit is configured to select the request based on target banks and target pages of the requests stored in the second storage circuit, and a state of a bank or page of the DRAM.