Method and apparatus for optimizing memory performance with opportunistic refreshing
AssigneeAdvanced Micro Devices, Inc.
InventorsStephen T. Novak, John C. Peck, Jr., Scott Waldron
Life of this patent
Estimating the term…
Abstract
A memory controller for a dynamic random access memory having counters for each chip select in the memory. The counters are incremented at a fixed interval. Programmable threshold values are provided which, when compared with the counters, indicate to the memory controller when a refresh should be opportunistically attempted and when a refresh is urgently required. The memory controller then either attempts to find an idle cycle to send the opportunistic refresh or blocks memory accesses to create a window for an urgently needed refresh. Once a refresh is sent to the memory, the appropriate counter is decremented accordingly.
Claims48
An apparatus for refreshing a memory, said apparatus comprising:
- a refresh counter operative to count;
- a first threshold;
- a comparator operative to compare an output of said refresh counter to said first threshold and indicate when a refresh should be attempted;
- and
- a request blocker coupled with said comparator and operative to ensure a refresh opportunity in said memory when said comparator indicates that a refresh is required.
An apparatus for refreshing a memory, said apparatus comprising:
- a refresh counter operative to count;
- a first threshold;
- a second threshold;
- a comparator operative to compare an output of said refresh counter to said first and second thresholds to indicate when a refresh should be attempted and to indicate when a refresh is required;
- a request blocker coupled with said comparator and operative to ensure a refresh opportunity in said memory when said comparator indicates that a refresh is required;
- and
- a refresher responsive to said comparator, said refresher operative to refresh said memory.
A method for refreshing a memory comprising a first memory portion, said method comprising:
- (a) incrementing a first counter corresponding to said first memory portion;
- (b) comparing said first counter with a first threshold;
- (c) comparing said first counter with a second threshold;
- (d) optionally refreshing said first memory portion when said first counter exceeds said first threshold;
- (e) refreshing said first memory portion when said first counter exceeds said second threshold;
- and
- (f) blocking memory requests to said first memory portion when said first counter exceeds said second threshold.
An opportunistic refresh generator for a computer memory comprising:
- a refresh counter;
- an interval counter operative to increment said refresh counter each time an interval elapses;
- and
- a comparator in communication with a first memory portion of said computer memory and coupled with said refresh counter, said comparator operative to refresh said first memory portion when said refresh counter exceeds a first threshold and said first memory portion is idle;
- wherein said comparator is further operative to block non-refresh requests to said first memory portion when said refresh counter exceeds a second threshold.
Dependencies are inferred from the claim text.