DRAM Memory Controller Reordering Logic Area Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


