Volatile Memory Refresh Control via Dynamic Bank Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Volatile memory refresh operations face a tradeoff between efficiency and data access performance, as they cannot be performed on the same storage area, necessitating an adaptive method to switch between different refresh types based on memory parameters.

Innovation Solution

A method and memory controller that detect parameters of volatile memory to dynamically select between all-bank and per-bank refresh types, optimizing refresh efficiency and data access performance by issuing appropriate refresh commands based on current conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory refresh is performed on the same storage area, then data integrity is maintained, but data access performance deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoiddata access performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The memory system is divided into multiple banks, allowing refresh operations to be performed on one bank while other banks remain accessible for data operations. This segmentation enables parallel operation of refresh and data access, resolving the contradiction between maintaining data integrity and preserving access performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The refresh strategy is made dynamic by adaptively switching between different refresh types (e.g., all-bank refresh, per-bank refresh, self-refresh) based on detected memory parameters and workload conditions. This dynamic adaptation allows the system to optimize the balance between refresh efficiency and data access performance in real-time.

Inventive Principle:
Principle #15Dynamics

2Productivity

If all-bank refresh is performed, then refresh efficiency is improved, but data access performance deteriorates

Engineering Contradiction:
Improverefresh efficiencyVSAvoiddata access performance
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The system dynamically selects between all-bank refresh and per-bank refresh modes based on detected parameters such as temperature, workload, and memory state. This dynamic selection allows the system to achieve high refresh efficiency when conditions permit while maintaining data access performance when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The refresh strategy changes based on parameter thresholds - when temperature or workload exceeds certain thresholds, the system switches from aggressive all-bank refresh to more conservative per-bank refresh or self-refresh modes, adapting the refresh behavior to current operating conditions.

Inventive Principle:
Principle #35Parameter changes

3Speed

If per-bank refresh is performed, then data access performance is maintained, but refresh efficiency deteriorates

Engineering Contradiction:
Improvedata access performanceVSAvoidrefresh efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system transitions from static per-bank refresh to a dynamic hybrid approach that combines per-bank refresh with selective all-bank refresh operations. Based on detected parameters, the system determines when to use per-bank refresh for maintaining access performance and when to switch to all-bank refresh for improving overall refresh efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system ensures continuous effective refresh by combining per-bank refresh operations with periodic all-bank refresh operations. This continuous approach maintains data access performance through per-bank operations while ensuring complete refresh coverage through periodic all-bank operations, preventing data loss.

Inventive Principle:
Principle #20Continuity of useful action

4Device complexity

If fixed refresh type is used, then system complexity is reduced, but adaptability to different conditions deteriorates

Engineering Contradiction:
Improverefresh control complexityVSAvoidadaptability to different conditions
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The memory system performs self-diagnosis and self-adjustment by detecting its own parameters (temperature, workload, operational state) and automatically selecting the appropriate refresh type without external intervention. This self-service capability provides adaptability to different conditions while maintaining relatively simple control logic.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where refresh performance and memory parameters are continuously monitored, and this feedback is used to adjust the refresh strategy. The feedback loop enables the system to adapt to changing conditions while keeping the control mechanism manageable through rule-based decision making.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9355704B2Refresh method for switching between different refresh types based on at least one parameter of volatile memory and related memory controller
Publication Date: 2016.05.31 MEDIATEK INC
  • US9355704B2 patent drawing
  • US9355704B2 patent drawing
  • US9355704B2 patent drawing

AI summary

A refresh method of a volatile memory includes at least the following steps: detecting at least one parameter of the volatile memory; selecting a target refresh type from a plurality of candidate refresh types according to the at least one parameter; and performing a refresh operation upon the volatile memory according to the target refresh type. In one embodiment, the candidate refresh types include at least a first candidate refresh type and a second candidate refresh type, each refresh command complying with the first candidate refresh type is arranged to refresh a first number of banks of the volatile memory, and each refresh command complying with the second candidate refresh type is arranged to refresh a second number of banks of the volatile memory.