Memory Controller Request Queue Reordering Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face inefficiencies in managing memory requests due to various timing constraints of memory devices, such as limitations on simultaneous row and column requests within the same memory cycle.
Innovation Solution
A memory controller with a request queue and associated logic that efficiently manages requests by selecting both row and column requests based on timing constraints, updating the queue to maintain a time-ordered and compressed sequence, and using status bits to optimize request issuance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory requests are issued without reordering, then the request issuance is simple, but the memory device cannot efficiently utilize its bandwidth due to timing constraints
Solution Approach 1:
The patent applies preliminary action by pre-ordering memory requests in the request queue before issuance to the memory device. The memory controller reorders requests in advance based on timing constraints and memory device characteristics, ensuring that requests are optimally sequenced before being sent to the memory device. This preliminary reordering enables the memory device to efficiently utilize its bandwidth without encountering timing constraint violations during operation.
2Productivity
If multiple row requests are issued simultaneously to different banks, then the throughput increases, but timing constraints are violated
Solution Approach 1:
The patent applies feedback by using status bits associated with each request in the queue to track the timing state of memory operations. The memory controller monitors the completion status and timing of issued requests, and uses this feedback information to determine when subsequent requests can be safely issued. This feedback mechanism ensures that multiple row requests to different banks are issued in a manner that maintains timing constraint compliance while maximizing throughput.
3Productivity
If requests are reordered based on timing constraints, then the memory operation efficiency improves, but the control logic complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the request queue into multiple segments or groups based on timing characteristics and memory bank assignments. Each segment can be managed independently with its own status bits and selection logic. This segmentation reduces the complexity of the overall control logic by breaking down the large-scale reordering problem into smaller, more manageable sub-problems, while still achieving improved memory operation efficiency through coordinated segment management.
Data Source
AI summary
A memory controller includes a request queue and associated logic for efficiently managing the request queue based on various timing constraints of the memory device. A single request queue for the memory device stores read and write requests spanning different banks of the memory device. In each memory controller cycle, selection logic may select both a row request and a column request (relating to a different bank than the row request) for issuing to the memory device based on a set of timing status bits. Following issuance of requests, the memory controller updates the queue to maintain the queued requests in a time-ordered, compressed sequence. The memory controller furthermore updates the timing status bits that are used by the selection logic to select requests from the queue based on a history of past memory requests.


