IP Library › Granted Patent US 9,589,606
Granted Patent B2
US 9,589,606 · App. 14/560,674 · Granted Mar 7, 2017

Handling maximum activation count limit and target row refresh in DDR4 SDRAM

Inventors: Jiang Lin (Austin, TX); Matthew Garrett (Austin, TX)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G11C7/1072G06F12/1009G06F13/1636G11C11/40611G11C11/40618G11C11/40603
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,589,606
App. No.
14/560,674
Granted
Mar 7, 2017
Kind
B2
Abstract

Efficiently tracking activations to rows of memory using a reduced number of row activation counters that indicate whether a memory row is activated during an activation period and row activation counters that indicate a number of permitted activations to a memory row within a maximum activation window.

Claims (56)

1. A memory controller for controlling a memory, the memory controller comprising:

a page table configured to store using a first table and a second table, wherein:

the first table includes a first entry, the first entry comprising:

a first identifier that identifies a first memory row of the memory activated during a first period of time; and

a first timeout counter that indicates a first time remaining during the first period of time, and

the second table includes a second entry, the second entry comprising:

a second identifier that identifies a second memory row of the memory activated during at least one second period of time;

an activation counter that counts a quantity of activations of the second memory row; and

a second timeout counter that indicates a second time remaining during the at least one second period of time.

2. The memory controller according to claim 1 , wherein the quantity of activations of the second memory row contribute to a maximum number of permitted activations of the second memory row during a maximum activation window that is a period of time during which the maximum number of permitted activations of the second memory row are permitted without degradation of data stored in an adjacent memory row of the memory located adjacent to the second memory row.

3. The memory controller according to claim 1 , wherein the quantity of activations of the second memory row contribute to a maximum number of permitted activations of the second memory row during a maximum activation window that is a period of time during which the maximum number of permitted activations of the second memory row are permitted without refresh of an adjacent memory row of the memory located adjacent to the second memory row.

4. The memory controller according to claim 3 , wherein the at least one second period of time is an average amount of time between each of the maximum number of permitted activations of the second memory row within the maximum activation window.

5. The memory controller according to claim 4 , wherein the memory controller is configured to receive a request to activate a memory row of the memory, determine that the memory row matches the second memory row identified by the second identifier of the second entry, determine whether the activation counter indicates the maximum number of permitted activations, and execute one of a refresh operation of the memory and a stalling operation of the request in response to determining that the activation counter indicates the maximum number of permitted activations.

6. The memory controller according to claim 5 , wherein the memory controller is further configured to increase the activation counter in response to determining that the activation counter does not indicate the maximum number of permitted activations and activate the second memory row.

7. The memory controller according to claim 4 , wherein the memory controller is configured to receive a request to activate a memory row of the memory, determine that the memory row matches the first memory row identified by the first identifier of the first entry, deallocate the first entry, allocate a corresponding entry of the memory row in the second table, and activate the memory row.

8. The memory controller according to claim 4 , wherein the memory controller is configured to receive a request to activate a memory row of the memory, determine that the memory row does not match the first memory row identified by the first identifier of the first entry, and allocate a corresponding entry of the memory row in the first table.

9. The memory controller according to claim 4 , wherein the memory controller is configured to receive a request to activate a memory row of the memory, determine that the memory row matches the first memory row identified by the first identifier of the first entry, determine that the second table cannot allocate an additional entry corresponding to the first memory row, and execute one of a refresh operation of the memory and a stalling operation of the request in response to determining that the second table cannot allocate the additional entry corresponding to the first memory row.

10. The memory controller according to claim 4 , wherein the memory controller is further configured determine that the at least one second period of time elapses from the second timeout counter, and decrease the activation counter in response to determining that the at least one second period of time elapses from the second timeout counter.

11. A method of tracking activations to rows of a memory, the method comprising:

storing a page table in memory, the page table configured to store using a first table and a second table, wherein:

the first table includes a first entry, the first entry comprising:

a first identifier that identifies a first memory row of the memory activated during a first period of time; and

a first timeout counter that indicates a first time remaining during the first period of time, and

the second table includes a second entry, the second entry comprising:

a second identifier that identifies a second memory row of the memory activated during at least one second period of time;

an activation counter that counts a quantity of activations of the second memory row; and

a second timeout counter that indicates a second time remaining during the at least one second period of time; and

tracking the activations to the rows of the memory using the page table.

12. The method according to claim 11 , wherein the quantity of activations of the second memory row contribute to a maximum number of permitted activations of the second memory row during a maximum activation window that is a period of time during which the maximum number of permitted activations of the second memory row are permitted without degradation of data stored in an adjacent memory row of the memory located adjacent to the second memory row.

13. The method according to claim 11 , wherein the quantity of activations of the second memory row contribute to a maximum number of permitted activations of the second memory row during a maximum activation window that is a period of time during which the maximum number of permitted activations of the second memory row are permitted without refresh of an adjacent memory row of the memory located adjacent to the second memory row.

14. The method according to claim 13 , wherein the at least one second period of time is an average amount of time between each of the maximum number of permitted activations of the second memory row within the maximum activation window.

15. The method according to claim 14 , wherein the tracking comprises:

receiving a request to activate a memory row of the memory;

determining that the memory row matches the second memory row identified by the second identifier of the second entry;

determining whether the activation counter indicates the maximum number of permitted activations; and

executing one of a refresh operation of the memory and a stalling operation of the request in response to determining that the activation counter indicates the maximum number of permitted activations.

16. The method according to claim 15 , wherein the tracking further comprises:

Increasing the activation counter in response to determining that the activation counter does not indicate the maximum number of permitted activations and activate the second memory row.

17. The method according to claim 14 , wherein the tracking comprises:

receiving a request to activate a memory row of the memory;

determining that the memory row matches the first memory row identified by the first identifier of the first entry;

deallocating the first entry;

allocating a corresponding entry of the memory row in the second table; and

activating the memory row.

18. The method according to claim 14 , wherein the tracking comprises:

receiving a request to activate a memory row of the memory;

determining that the memory row does not match the first memory row identified by the first identifier of the first entry; and

allocating a corresponding entry of the memory row in the first table.

19. The method according to claim 14 , wherein the tracking comprises:

receiving a request to activate a memory row of the memory;

determining that the memory row matches the first memory row identified by the first identifier of the first entry;

determining that the second table cannot allocate an additional entry corresponding to the first memory row; and

executing one of a refresh operation of the memory and a stalling operation of the request in response to determining that the second table cannot allocate the additional entry corresponding to the first memory row.

20. The method according to claim 14 , wherein the tracking comprises:

determining that the at least one second period of time elapses from the second timeout counter; and

decreasing the activation counter in response to determining that the at least one second period of time elapses from the second timeout counter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2014
From: LIN, JIANG; GARRETT, MATTHEW
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 034378/0920 →
Continuity (2)
Provisional Application 61927636 · Jan 15, 2014
Related Publication 20150200002A1 · Jul 16, 2015