IP Library Granted Patent US 12,322,434
Granted Patent B2
US 12,322,434 · App. 17/957,820 · Granted Jun 3, 2025

Directed refresh management for DRAM

Inventors: Kevin M. Brandl (Austin, TX); James R. Magro (Lakeway, TX); Kedarnath Balakrishnan (Bangalore, IN); Jing Wang (Austin, TX)
Assignee: Advanced Micro Devices, Inc.
G11C11/4078G11C11/40615G11C11/40622
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,322,434
App. No.
17/957,820
Granted
Jun 3, 2025
Kind
B2
Abstract

A memory controller for generating accesses for a memory includes a row hammer logic circuit for providing a sample request. In response to the sample request, the memory controller generates a sample command for dispatch to the memory to cause the memory to capture a current row. In response to a completion of the sample command, the memory controller generates a mitigation command for dispatch to the memory.

Claims (49)

1. A memory controller for generating accesses for a memory, comprising:

a row hammer logic circuit for providing a sample request;

wherein in response to the sample request, the memory controller generates a sample command for dispatch to the memory to cause the memory to capture a current row; and

in response to a completion of the sample command, the memory controller generates a mitigation command for dispatch to the memory; and

a leaky-bucket mitigation counter that increments a mitigation count value for a first row in response to the memory controller generating the mitigation command for the first row, decrements the mitigation count value periodically, and stalls an issuance of mitigation commands to the first row in response to the mitigation count value exceeding a mitigation count limit.

2. The memory controller of claim 1 , wherein the row hammer logic circuit detects a row hammer event when a row activate count for the current row exceeds an activate limit.

3. The memory controller of claim 2 , wherein the row hammer logic circuit determines the row activate count using a leaky-bucket activate counter, wherein:

the leaky-bucket activate counter increments a count value for a first row in response to the memory controller generating an activate command for the first row, decrements the count value periodically, and determines a row hammer condition in response to the count value exceeding the activate limit.

4. The memory controller of claim 3 , wherein:

the leaky-bucket activate counter determines the row hammer condition further in response to the count value exceeding the activate limit for a predetermined period of time.

5. The memory controller of claim 3 , wherein the leaky-bucket activate counter comprises:

a direct-mapped activate counter for storing a row address and an activate count for a predetermined number of rows; and

a hashed activate counter for storing the row address and the activate count for an additional number of rows.

6. The memory controller of claim 2 , wherein:

the row hammer logic circuit subsequently provides a mitigation request in response to detecting the row hammer event; and

the memory controller further generates the mitigation command in response to the completion of the sample command and receiving the mitigation request to cause the memory to activate and then precharge the current row and at least one physically adjacent row.

7. The memory controller of claim 1 , wherein the row hammer logic circuit provides the sample command during a row precharge period of the memory.

8. The memory controller of claim 1 , wherein the row hammer logic circuit further schedules urgent refreshes before the mitigation command in response to receiving a mitigation request.

9. The memory controller of claim 1 , wherein the row hammer logic circuit randomly and periodically generates the sample command and the mitigation command.

10. The memory controller of claim 1 , wherein in response to detecting a row hammer event in a given region, the memory controller:

determines whether a refresh command or a refresh management command is pending for the given region:

if at least one of the refresh command and the refresh management command is pending for the given region, issues each of the at least one of the refresh command and the refresh management command before providing the sample request and the mitigation command in response to the row hammer event.

11. The memory controller of claim 10 , wherein in response to detecting the row hammer event in the given region and determining that at least one of the refresh command and the refresh management command is pending for the given region, the memory controller:

prevents any activate commands from issuing to the given region before providing the sample request and the mitigation command.

12. A data processing system, comprising:

a data processor comprising at least one memory accessing agent and a memory controller for generating accesses for a memory in response to memory access requests from the at least one memory accessing agent, the memory controller comprising:

a row hammer logic circuit for providing a sample request, wherein:

in response to the sample request, the memory controller generates a sample command for dispatch to the memory to cause the memory to capture a current row; and

in response to a completion of the sample command, the memory controller generates a mitigation command for dispatch to the memory; and

a leaky-bucket mitigation counter that increments a mitigation count value for a first row in response to the memory controller generating the mitigation command for the first row, decrements the mitigation count value periodically, and stalls an issuance of mitigation commands to the first row in response to the mitigation count value exceeding a mitigation count limit,

wherein the memory is coupled to the memory controller and is responsive to the sample command to store a current row, and is responsive to the mitigation command to activate and then precharge the current row and at least one physically adjacent row.

13. The data processing system of claim 12 , wherein the row hammer logic circuit detects a row hammer event when a row activate count for the current row exceeds an activate limit.

14. The data processing system of claim 13 , wherein the row hammer logic circuit determines the row activate count using a leaky-bucket activate counter for counting activates to the current row.

15. A method for directed refresh management (DRFM) for a memory, comprising:

detecting a row hammer event in a memory controller;

providing a sample request to the memory in response to detecting the row hammer event;

sampling a current row in the memory;

providing a mitigation command to the memory in response to providing the sample request, wherein providing the mitigation command comprises incrementing a mitigation count value for a first row in response to the memory controller generating the mitigation command for the first row, decrementing the mitigation count value periodically, and stalling an issuance of the mitigation command to the memory in response to the mitigation count value exceeding a mitigation count limit; and

mitigating the row hammer event by the memory.

16. The method of claim 15 , wherein mitigating the row hammer event by the memory comprises:

activating and then precharging each of a sampled row and at least one physically adjacent row.

17. The method of claim 15 , wherein detecting the row hammer event in the memory controller comprises determining the row hammer event using a leaky-bucket activate counter of the memory controller for counting activates to the current row, wherein the determining comprises:

incrementing an activate count for a first row of the leaky-bucket activate counter in response to the memory controller generating an activate command for the first row; and

decrementing the activate count periodically; and

determining the row hammer event in response to the activate count exceeding an activate limit.

18. The method of claim 15 , further comprising:

providing the sample request during a row precharge period of the memory.

19. The method of claim 15 , further comprising:

scheduling urgent refreshes before mitigating the row hammer event by the memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2022
From: BRANDL, KEVIN M.; MAGRO, JAMES R.; BALAKRISHNAN, KEDARNATH; WANG, JING
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 062092/0048 →
Continuity (1)
Related Publication 20240112722A1 · Apr 4, 2024
References Cited (11)
US 9281046B2 · Brandl · 2016 [cited by applicant]
US 9293188B2 · Brandl · 2016 [cited by applicant]
US 11222685B2 · Brandl et al. · 2022 [cited by applicant]
US 20170117030A1 · Fisch et al. · 2017 [cited by applicant]
US 20190066759A1 · Nale · 2019 [cited by applicant]
US 20190228813A1 · Nale · 2019 [cited by examiner]
US 20210065775A1 · Hush et al. · 2021 [cited by applicant]
US 20220091784A1 · Brandl · 2022 [cited by applicant]
US 20220262428A1 · Bains et al. · 2022 [cited by applicant]
US 20220293162A1 · Nale · 2022 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/033587, mailed Jan. 18, 2024, 7 pages. [cited by applicant]