System and memory controller for interruptible memory refresh
First Claim
1. A method for refreshing a DRAM performed by a memory controller, the method comprising:
- communicating a refresh command, in response to expiration of a refresh timer, to the DRAM, the refresh command configured to initiate an interruptible refresh on the DRAM, the interruptible refresh comprising execution of a plurality of segment refreshes, the execution of each of the plurality of segment refreshes separated by interrupt boundaries, the plurality of segment refreshes comprising a first segment refresh and a second segment refresh, the first segment refresh and the second segment refresh separated by a first interrupt boundary, the DRAM configured to complete the interruptible refresh without additional refresh commands from the memory controller; and
communicating, during execution of the refresh command, a first command to the DRAM before execution of the second segment refresh and after execution of the first segment refresh has begun, the first command configured to cause the DRAM to execute the first command at the first interrupt boundary, the first command further configured to cause the DRAM to delay execution of the second segment refresh until after the first command has been executed.
1 Assignment
0 Petitions
Accused Products
Abstract
A refresh command is communicated to a memory device to initiate an interruptible refresh which contains multiple segment refreshes separated by interrupt boundaries. A command is communicated to the memory device before execution of a segment refresh and the segment refresh is delayed at an interrupt boundary. Alternatively, a first number of commands in a queue is determined. A first number of segment refreshes to execute is determined based on the first number of commands. The first number of segment refreshes to execute is communicated to the memory device to cause execution of the first number of segment refreshes. A second number of commands in the queue is determined. A second number of segment refreshes to execute is determined based on the second number of commands. The second number of segment refreshes to execute is communicated to the memory device to cause execution of the second number of segment refreshes.
15 Citations
17 Claims
-
1. A method for refreshing a DRAM performed by a memory controller, the method comprising:
-
communicating a refresh command, in response to expiration of a refresh timer, to the DRAM, the refresh command configured to initiate an interruptible refresh on the DRAM, the interruptible refresh comprising execution of a plurality of segment refreshes, the execution of each of the plurality of segment refreshes separated by interrupt boundaries, the plurality of segment refreshes comprising a first segment refresh and a second segment refresh, the first segment refresh and the second segment refresh separated by a first interrupt boundary, the DRAM configured to complete the interruptible refresh without additional refresh commands from the memory controller; and communicating, during execution of the refresh command, a first command to the DRAM before execution of the second segment refresh and after execution of the first segment refresh has begun, the first command configured to cause the DRAM to execute the first command at the first interrupt boundary, the first command further configured to cause the DRAM to delay execution of the second segment refresh until after the first command has been executed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for refreshing one or more DRAM modules, the system comprising:
-
a memory controller, the memory controller configured to; communicate a refresh command, in response to a refresh timer, to a DRAM; and communicate a first command to the DRAM after execution of a first segment refresh has begun and before execution of a second segment refresh has begun; and the DRAM configured to; initiate an interruptible refresh in response to the communicated refresh command, the interruptible refresh comprising execution of a plurality of segment refreshes, the execution of the plurality of segment refreshes separated by interrupt boundaries, the plurality of segment refreshes comprising the first segment refresh and the second segment refresh, the first segment refresh and the second segment refresh separated by a first interrupt boundary; execute the first command at the first interrupt boundary after execution of the first segment refresh; delay execution of the second segment refresh until after the first command has been executed; and complete the interruptible refresh without additional refresh commands from the memory controller. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for refreshing one or more modules of DRAM, the modules communicatively coupled to one or more memory controllers, the method comprising:
-
detecting, by a first memory controller, that a DRAM requires a refresh of two or more stored values within the DRAM; sending, by the first memory controller and based on the detecting, a first command to the DRAM, the first command causing the DRAM to start refresh of the two or more stored values; sending, by the first memory controller during execution of the refresh command and before completion of the refresh but after start of the refresh by the DRAM, a second command to the DRAM, the second command causing the DRAM to delay refresh of the two or more stored values, the second command causing the DRAM to retrieve information from the two or more stored values; and receiving, by the first memory controller during execution of the refresh command and before completion of the refresh but after start of the refresh by the DRAM, a response to the second command, the response including the retrieved information from the DRAM. - View Dependent Claims (16, 17)
-
Specification