Memory Controller Refresh Scheduling via Priority Indicators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory controllers face performance penalties due to memory refresh operations, which stall memory transactions and impact bandwidth, as they either wait for pending accesses or resort to urgent refreshes, leading to inefficiencies in data retention and system availability.
Innovation Solution
A memory controller architecture that includes a command queue, arbiter, and refresh logic circuit, which generates refresh commands with priority indicators based on pending refreshes, allowing for intelligent scheduling and prioritization of refresh operations relative to normal memory access requests, thereby minimizing performance penalties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory refresh operations are performed periodically to maintain data integrity, then data retention is ensured, but memory transactions are stalled and bandwidth is reduced
Solution Approach 1:
The patent applies preliminary action by performing refresh operations in advance before the memory is critically needed. The system proactively schedules and executes refresh commands during periods of lower memory activity, ensuring data integrity is maintained before it becomes critical, thereby avoiding stalls during high-demand periods and preserving memory bandwidth.
Solution Approach 2:
The patent implements dynamics by making the refresh scheduling adaptive rather than fixed. The refresh logic circuit dynamically adjusts refresh timing and priority based on current memory activity patterns and bank status, allowing the system to optimize between data retention and bandwidth utilization in real-time conditions.
2Reliability
If memory refresh operations are prioritized to ensure data retention, then data integrity is maintained, but memory access latency increases
Solution Approach 1:
The patent applies segmentation by dividing the memory system into multiple independent banks, each with its own refresh logic. This allows refresh operations to be distributed across different banks rather than stalling the entire memory system, enabling parallel execution of refresh and access operations in different banks, thereby reducing overall latency while maintaining data integrity.
Solution Approach 2:
The patent introduces an intermediary arbitration mechanism that mediates between refresh requests and memory access requests. The arbiter intelligently schedules and prioritizes these competing requests, allowing the system to maintain data integrity through timely refreshes while minimizing the impact on memory access latency through optimized scheduling.
3Reliability
If urgent refreshes are performed when memory is in critical need, then data loss is prevented, but memory performance is penalized due to transaction stalls
Solution Approach 1:
The patent applies preliminary action by implementing proactive refresh scheduling that performs refresh operations before the memory reaches a critical state. The refresh logic circuit monitors memory bank status and initiates refresh commands in advance, preventing the need for urgent refreshes that would stall memory transactions and degrade performance.
Solution Approach 2:
The patent implements feedback by having the refresh logic circuit continuously monitor the status of memory banks and adjust refresh scheduling accordingly. This feedback mechanism allows the system to identify banks that need refreshing and schedule appropriate refresh operations without causing unnecessary stalls, thereby preventing data loss while maintaining memory performance.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
In one form, a memory controller includes a command queue, an arbiter, a refresh logic circuit, and a final arbiter. The command queue receives and stores memory access requests for a memory. The arbiter selectively picks accesses from the command queue according to a first type of accesses and a second type of accesses. The first type of accesses and the second type of accesses correspond to different page statuses of corresponding memory accesses in the memory. The refresh logic circuit generates a refresh command to a bank of the memory and provides a priority indicator with the refresh command whose value is set according to a number of pending refreshes. The final arbiter selectively orders the refresh command with respect to memory access requests of the first type accesses and the second type accesses based on the priority indicator.