Restore tracking system for DRAM
AssigneeInternational Business Machines Corporation
InventorsPhilip George Emma, William Robert Reohr, Li-Kong Wang
Life of this patent
Estimating the term…
Abstract
A system and method for reducing the number of refresh actions needed to maintain data in a DRAM, by restoring only those cells which haven't been read from or written to within an allotted data retention time. One embodiment describes a restore tracking system as applied to a DRAM cache. The restore tracking system can alternatively be applied to any memory architecture having duplication of information. For example, the number of refresh actions needed to maintain data entries in a DRAM can be reduced by recording and updating a refresh status of one or more of the data entries in the DRAM; and invalidating those data entries having an expired status. Thus, more memory bandwidth can be made available to a computer system.
Claims80
A restore tracking system for reducing a number of refresh actions needed to maintain data entries in a DRAM, comprising:
- restore tracking means for recording and updating a refresh status of one or more of said data entries in said DRAM;
- and
- control logic means, coupled to said restore tracking means, for refreshing said one or more of said data entries having an expired status.
In a system including DRAM integrated within a cache memory, a restore tracking system, for reducing a number of refresh actions needed to maintain data in said DRAM, the restore tracking system comprising:
- said DRAM including blocks of memory cells which can be refreshed by an external mechanism;
- a restore tracking circuit devoted to each said block of memory cells for the purpose of tracking a total time elapsed since said block was last restored;
- wherein said external mechanism comprises external means for triggering a refresh of said block if said restore tracking circuit of the said block reaches a maximum specified data retention time of said DRAM.
A method for refreshing a DRAM, comprising the step of selectively refreshing only a subset of a DRAM data that has not already been refreshed by a read or write action;
- wherein a refresh is performed without requiring a periodic interrupt to refresh the DRAM.
A method for searching a cache directory, so that a cache entry in a DRAM cache corresponding to a directory address in said cache directory may be refreshed, comprising the steps of:
- (a) identifying a directory address associated with data having a status of modified and invalid;
- wherein an invalid status is associated with an expired data retention timer;
- (b) initiating a refresh search of the cache directory and interrupting regular access to the cache directory, in response to said identifying step;
- (c) searching cache addresses in the cache directory and reading said invalid and modified status of an associated directory entry;
- (d) if both a modified status bit and an invalid status bit of the directory entry are true, then identifying a cache address and proceeding to step (e), else returning to said step (b);
- (e) sending the refresh address to the cache so the cache entry may be restored;
- and
- (f) resetting the invalid bit to zero.
A method for reducing a number of refresh actions needed to maintain data entries in a DRAM, comprising the steps of:
- recording and updating a refresh status of one or more of said data entries in said DRAM;
- and
- refreshing said one or more of said data entries having an expired status.
In a memory hierarchy including DRAM integrated within a store-through cache memory, a restore tracking system for reducing a number of refresh actions needed to maintain data in said DRAM, the restore tracking system comprising:
- said DRAM cache subdivided into blocks of memory cells storing data at a first level of the hierarchy;
- a directory for said DRAM cache;
- a second level of the hierarchy including a superset of data stored within said DRAM cache;
- a restore tracking circuit devoted to each said block of memory cells, said restore tracking circuit comprising:
- a timer for tracking a total time elapsed since a block of memory was last restored;
- an invalid status bit coupled to the timer and to the directory for a directory status of said block of memory;
- wherein if said timer for said block expires, said invalid bit is set so that a subsequent request for said block will produce a miss in the directory and cause said block to be fetched from said next level of memory hierarchy.
A method for reducing a number of refresh actions needed to maintain data entries in a DRAM, comprising:
- recording and updating a refresh status of one or more of said data entries in said DRAM;
- and
- invalidating said one or more of said data entries having an expired status.
Dependencies are inferred from the claim text.