Legal claims defining the scope of protection, as filed with the USPTO.
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.
Unknown
March 7, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.