Memory Row Caching for Row Hammer and Access Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Frequent activations of memory cell rows lead to row hammer disturbances, causing data errors in neighboring rows and increased access latency, which degrade memory performance.

Innovation Solution

Implementing a hot row detection mechanism that caches frequently accessed row data in a memory controller's cache and notifies the operating system for reallocation, thereby reducing row hammer disturbances and improving access latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory cell rows are frequently activated to satisfy data requests, then data access performance is maintained, but row hammer disturbances occur causing data errors in neighboring rows

Engineering Contradiction:
Improvedata access performanceVSAvoiddata accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A cache is introduced as an intermediary component between the memory controller and the memory array. The cache stores copies of frequently accessed row data, allowing requests to be satisfied from the cache without activating the corresponding memory rows. This mediator prevents row hammer disturbances while maintaining data access performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system proactively detects hot rows (rows that are frequently accessed) and pre-loads their data into the cache before actual requests occur. This preliminary action ensures that when requests come in, data can be served from the cache without activating memory rows, preventing row hammer effects before they occur.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If memory rows are frequently activated to meet access demands, then data availability is improved, but access latency increases due to repeated memory operations

Engineering Contradiction:
Improvedata availabilityVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache acts as an intermediary that stores frequently accessed data closer to the memory controller. When data requests are made, the cache can satisfy them without requiring time-consuming memory row activations, thereby reducing access latency while maintaining data availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of repeatedly accessing the original memory rows, the system creates and stores copies of hot row data in the cache. These copies can be served quickly without incurring the time penalty of memory row activations, reducing access latency while ensuring data availability.

Inventive Principle:
Principle #26Copying

3Speed

If row activation frequency is increased to satisfy requests, then response time is reduced, but row hammer disturbances cause data errors

Engineering Contradiction:
Improveresponse timeVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The cache serves as a mediator that provides fast response times for data requests without requiring memory row activations. By intercepting requests and serving data from the cache, it maintains fast response times while eliminating the row hammer disturbances that would otherwise occur.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system extracts frequently accessed data from the memory array and places it in the cache. This extraction removes the need to repeatedly activate memory rows, maintaining fast response times while eliminating the harmful row hammer effects caused by frequent activations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20260030162A1Caching data of memory rows
Publication Date: 2026.01.29 HEWLETT PACKARD ENTERPRISE DEV LP
  • US20260030162A1 patent drawing
  • US20260030162A1 patent drawing
  • US20260030162A1 patent drawing

AI summary

In some examples, a memory controller includes a cache and an interface to a communication channel that is connected to a memory module. The memory controller receives an alert based on a counter in the memory module breaching a threshold, where the counter is associated with a row of memory cells in the memory module, and the alert indicates a frequent activation of the row of memory cells. Based on the alert, the memory controller stores, in the cache, data stored in the row of memory cell.