Memory refresh

From Computer History Wiki
Revision as of 16:54, 18 June 2018 by Jnc (talk | contribs) (A decent start)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Refresh is a fundamental part of the operation of Dynamic RAM memory. Since DRAM consists of an array of small capacitors (one for each 'cell', which can store one bit), which use the presence or absence of a stored charge in the capacitor to indicate the value of the bit stored in each cell, and over time that charge dissipates as the electrons slowly leak away, those cells holding a charge must periodically have it 'refreshed' on a regular basis, or the value of the bit will be lost.

To do this, the data in the cells is read out, and then re-written. This is not done with normal read and write operations, since that would take too long (below). Instead, refresh makes use of the fact that in a DRAM, the cells are in a square (normally) array; to do the refresh, an entire row or column is simultaneously read into a special array of latches inside the DRAM integrated circuit, and then written back from there. This avoids having to move the data in and out of the chip, which would inevitably be slower since there are many fewer signal paths in and out of the chip.

Generally one row or column is done at a time, with a pause before the next one is done; since the memory cannot respond to requests to read or write data while the refresh is happening, this minimizes the impact of any particular refresh cycle - although the total overhead of refresh (normally a few % of the overall time) is not changed by the use of the pauses.

The time between consecutive refresh operations to a given cell is typically in the low numbers of milliseconds.