Per-Bank DRAM Refresh Counters for Asynchronous Refresh Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current DRAM devices face inefficiencies in refresh operations due to simultaneous bank refreshes, leading to increased power consumption and reduced flexibility in scheduling, especially in low-power applications, and existing per-bank refresh schemes require significant overhead in the memory controller to manage refresh commands.

Innovation Solution

Implementing multiple refresh address counters, one for each bank, allows independent refresh operations, enabling asynchronous refresh scheduling and reducing power consumption by allowing banks to be refreshed independently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all banks are refreshed simultaneously with a single refresh command, then refresh operation is simplified and all banks are refreshed efficiently, but power consumption increases and flexibility in scheduling is reduced

Engineering Contradiction:
Improverefresh operation efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The invention divides the single refresh counter into multiple per-bank refresh counters (one counter per bank). This segmentation allows each bank to be refreshed independently with its own counter, enabling the memory controller to select which banks to refresh based on power management requirements and activity patterns, thus reducing overall power consumption while maintaining refresh efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention implements dynamic refresh scheduling where the memory controller can adaptively select which banks to refresh based on current system conditions. The per-bank counters enable the controller to dynamically adjust refresh operations, refreshing only active banks or banks that are not currently being accessed, thereby optimizing power consumption in real-time.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If all banks are refreshed simultaneously, then refresh overhead is reduced, but the memory controller must wait for all banks to complete refresh before handling read/write requests

Engineering Contradiction:
Improverefresh overhead timeVSAvoidread/write operation availability
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

By segmenting the refresh operation into per-bank independent operations with separate counters, the system can refresh individual banks without halting all memory operations. The memory controller can issue refresh commands to specific banks while simultaneously handling read/write requests to other banks, thereby reducing the overall impact on productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The per-bank refresh mechanism enables continuous useful action by allowing the memory controller to maintain read/write operations in active banks while performing refresh operations in separate banks. This continuity ensures that the memory system remains productive throughout the refresh process, minimizing idle time.

Inventive Principle:
Principle #20Continuity of useful action

3Use of energy by moving object

If per-bank refresh is implemented, then power consumption is reduced and scheduling flexibility is improved, but significant overhead is required in the memory controller to manage refresh commands

Engineering Contradiction:
Improvepower consumptionVSAvoidmemory controller overhead
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

Each bank is equipped with its own refresh counter that autonomously tracks and manages its own refresh operations. This self-service mechanism reduces the burden on the memory controller, as each counter independently generates refresh addresses and tracks refresh status for its associated bank, thereby reducing controller overhead while maintaining per-bank refresh capabilities.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The segmentation of refresh management into distributed per-bank counters shifts complexity from the central memory controller to individual bank-level components. This distribution reduces the controller's management overhead while enabling fine-grained power management and flexible scheduling.

Inventive Principle:
Principle #1Segmentation

4Device complexity

If a single refresh counter is used for all banks, then device complexity is reduced, but all banks must be deactivated before refresh operations can proceed

Engineering Contradiction:
Improverefresh counter structureVSAvoidbank activation flexibility
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The invention segments the single refresh counter into multiple per-bank counters, allowing each bank to maintain its own refresh state independently. This enables banks to remain activated during refresh operations of other banks, improving ease of operation and bank activation flexibility while distributing the counter structure complexity across multiple independent units.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250378867A1Dram with multiple per-bank refresh address counters
Publication Date: 2025.12.11 PATENT REFINERY INC
  • US20250378867A1 patent drawing
  • US20250378867A1 patent drawing
  • US20250378867A1 patent drawing

AI summary

A Dynamic Random Access Memory (DRAM) includes a plurality of banks of memory that can be independently accessed and refreshed, and a plurality of refresh address counters each providing a refresh address to a respective bank. Per-bank refresh commands can be issued to any bank in any order, each refreshing a row in a single bank identified by the respective refresh address counter. An all-bank refresh command can be issued at any time to refresh rows in all banks identified by respective refresh address counters. A per-bank refresh command increments the respective refresh address counter while an all-bank refresh command increments all refresh address counters. Refresh address counters operate independently of each other and do not have to be synchronized in any way.