IP Library Granted Patent US 9,922,693
Granted Patent B2
US 9,922,693 · App. 15/421,762 · Granted Mar 20, 2018

Adaptive refresh scheduling for memory

Inventors: Kay Keat Khoo (Bayan Lepas, MY); Weng Li Leow (Penang, MY)
Assignee: Altera Corporation
G11C11/406G11C29/50G11C2029/5006
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 9,922,693
App. No.
15/421,762
Granted
Mar 20, 2018
Kind
B2
Abstract

The present disclosure provides for adaptive scheduling of memory refreshes. One embodiment relates to a method of adapting an initial refresh sequence. In this method, flow and blockage scores for each refresh sequence of a plurality of refresh sequences are obtained and stored in an array of scores. An initial refresh sequence is selected in a way that favors a high flow score and a low blockage score. Another embodiment relates to a method of adapting a current refresh sequence. Current flow and blockage scores are obtained and stored for the current refresh sequence. The current flow and blockage scores are used to update (by averaging, for example) the existing flow and blockage scores for the current refresh sequence. The next refresh sequence is then chosen from amongst a plurality of refresh sequences in a way that favors a high flow score and a low blockage score.

Claims (27)

1. An apparatus comprising:

a memory controller configured to:

execute, in series, a plurality of refresh sequences for a memory;

track a flow score for each refresh sequence in the plurality of refresh sequences;

track a blockage score for each refresh sequence in the plurality of refresh sequences; and

make an initial determination of a selected refresh sequence in a way that favors high flow and low blockage scores.

2. The apparatus of claim 1 , wherein each refresh sequence of the plurality of refresh sequences covers all physical/logical ranks of the memory so as to ensure that all ranks are refreshed.

3. The apparatus of claim 2 , further comprising:

the memory,

wherein the memory has two physical ranks and four logical ranks.

4. The apparatus of claim 1 , wherein each refresh sequence in the plurality of refresh sequences is executed for a predetermined time interval.

5. The apparatus of claim 1 , wherein the flow score counts a number of commands executed within quarantine windows during the execution of the refresh sequence.

6. The apparatus of claim 5 , wherein the blockage score counts a number of commands blocked due to quarantine during the execution of the refresh sequence.

7. The apparatus of claim 1 , wherein the refresh sequence with a minimum ratio of blockage score to flow score is determined to be the selected refresh sequence.

8. The apparatus of claim 1 , wherein the memory controller is further configured to store the flow and blockage scores for the plurality of refresh sequences in an array of registers.

9. The apparatus of claim 8 , wherein the memory controller is further configured to:

execute the selected refresh sequence for the memory;

track a current flow score for the selected refresh sequence;

tracking a current blockage score for the selected refresh sequence; and

adapting the selected refresh sequence using the current flow score and the current blockage score.

10. The apparatus of claim 9 , wherein the memory controller is further configured to:

average the current flow score with the flow score for the selected refresh sequence in the array of registers to obtain a new flow score; and

average the current blockage score with the blockage score for the selected refresh sequence in the array of registers to obtain a new blockage score.

11. The apparatus of claim 10 , wherein the memory controller is further configured to:

replace the flow score for the selected refresh sequence in the array of registers with the new flow score; and

replace the blockage score for the selected refresh sequence in the array of registers with the new blockage score.

12. The apparatus of claim 11 , wherein the memory controller is further configured to choose a next refresh sequence in a way that favors high flow and low blockage scores.

Assignments (1)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
Continuity (2)
Continuation 15086884 · Mar 31, 2016
Related Publication 20170287543A1 · Oct 5, 2017