DRAM Rank Refresh via Access Request Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional DRAM refresh methods lead to high refresh overheads and performance impacts due to passive refresh postponement, especially when memory ranks are not idle, resulting in increased refresh frequency and congestion in the scheduling queue, affecting overall system performance.

Innovation Solution

A memory refresh method that actively refreshes DRAM ranks based on the quantity and type of access requests, using a dynamic refresh frequency adjustment and buffer queuing to manage access requests and refresh operations, allowing for timely refresh even during heavy access traffic and reducing the impact of tFAW limitations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the memory controller postpones refreshing the rank when it is not idle, then the refresh operation can be performed when the rank is idle, but the postponement time may exceed a threshold causing forcible refresh and make-up refresh, resulting in high refresh overheads

Engineering Contradiction:
Improvesystem performanceVSAvoidrefresh overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The memory controller proactively refreshes the rank before it becomes completely idle by monitoring the quantity of access requests. When the quantity is greater than 0 and less than a second threshold, the controller initiates refresh in advance, preventing the need for later forcible refresh and make-up refresh operations, thereby reducing refresh overheads and improving system performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory controller continuously monitors the quantity of access requests for the rank and uses this feedback information to dynamically determine when to perform refresh. By comparing the quantity of access requests against thresholds, the controller adjusts refresh timing to optimize both performance and overhead, avoiding both premature refresh and necessary make-up refresh

Inventive Principle:
Principle #23Feedback

2Reliability

If the memory controller refreshes the rank actively even when access requests are present, then refresh can be performed timely during heavy traffic, but may increase refresh frequency and affect scheduling queue congestion

Engineering Contradiction:
Improvedata retentionVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory controller changes the refresh decision parameter from a simple idle/non-idle binary state to a quantitative assessment based on the number of access requests. By using threshold-based parameter evaluation (quantity > 0 and quantity < second threshold), the controller achieves more precise control over refresh timing, balancing data retention requirements with system throughput considerations

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3605542B1Memory refreshing technique and computer system
Publication Date: 2021.07.21 HUAWEI TECH CO LTD
  • EP3605542B1 patent drawingFigure 1
  • EP3605542B1 patent drawingFigure 2
  • EP3605542B1 patent drawingFigure 3

AI summary

This application provides a memory refresh technology and a computer system. The memory refresh technology is applied to a computer system including a memory controller and a dynamic random access memory DRAM. According to the memory refresh technology, the memory controller receives access requests. When a quantity of access requests for accessing a first rank in the DRAM that are in the received access requests is greater than 0 and less than a second threshold, the memory controller refreshes the first rank. According to the memory refresh technology provided in this application, the first rank can be refreshed in time even if the first rank cannot be in an idle state. Therefore, impact caused on computer system performance by an increase in passive refreshes caused by refresh postponements is mitigated, memory refresh flexibility is improved, and refresh overheads are reduced.