HOME

TheInfoList



OR:

Memory refresh is a process of periodically reading information from an area of
computer memory Computer memory stores information, such as data and programs, for immediate use in the computer. The term ''memory'' is often synonymous with the terms ''RAM,'' ''main memory,'' or ''primary storage.'' Archaic synonyms for main memory include ...
and immediately rewriting the read information to the same area without modification, for the purpose of preserving the information."refresh cycle" in Memory refresh is a background maintenance process required during the operation of semiconductor
dynamic random-access memory Dynamics (from Greek language, Greek δυναμικός ''dynamikos'' "powerful", from δύναμις ''dynamis'' "power (disambiguation), power") or dynamic may refer to: Physics and engineering * Dynamics (mechanics), the study of forces and t ...
(DRAM), the most widely used type of computer memory, and in fact is the defining characteristic of this class of memory. In a DRAM chip, each
bit The bit is the most basic unit of information in computing and digital communication. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented as ...
of memory data is stored as the presence or absence of an
electric charge Electric charge (symbol ''q'', sometimes ''Q'') is a physical property of matter that causes it to experience a force when placed in an electromagnetic field. Electric charge can be ''positive'' or ''negative''. Like charges repel each other and ...
on a small
capacitor In electrical engineering, a capacitor is a device that stores electrical energy by accumulating electric charges on two closely spaced surfaces that are insulated from each other. The capacitor was originally known as the condenser, a term st ...
on the chip. As time passes, the charges in the memory cells leak away, so without being refreshed the stored data would eventually be lost. To prevent this, external circuitry periodically reads each cell and rewrites it, restoring the charge on the capacitor to its original level. Each memory refresh cycle refreshes a succeeding area of memory cells, thus repeatedly refreshing all the cells on the chip in a consecutive cycle. This process is typically conducted automatically in the background by the memory circuitry and is transparent to the user. While a refresh cycle is occurring the memory is not available for normal read and write operations, but in modern memory this overhead is not large enough to significantly slow down memory operation.
Static random-access memory Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed. The ''static'' qualifier diffe ...
(SRAM) is electronic memory that does not require refreshing. An SRAM memory cell requires four to six
transistor A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch electrical signals and electric power, power. It is one of the basic building blocks of modern electronics. It is composed of semicondu ...
s, compared to a single transistor and a capacitor for DRAM; therefore, SRAM circuits require more area on a chip. As a result, data density is much lower in SRAM chips than in DRAM, and gives SRAM a higher price per bit. Therefore, DRAM is used for the main memory in computers, video game consoles, graphics cards and applications requiring large capacities and low cost. The need for memory refresh makes DRAM more complicated, but the density and cost advantages of DRAM justify this complexity.


Operation

While the memory is operating, each memory cell must be refreshed repetitively and within the maximum interval between refreshes specified by the manufacturer, usually in the millisecond region. Refreshing does not employ the normal memory operations (read and write cycles) used to access data, but specialized cycles called ''refresh cycles'' which are generated by separate counter circuits and interspersed between normal memory accesses. The storage cells on a memory chip are laid out in a rectangular array of rows and columns. The read process in DRAM is ''destructive'' and removes the charge on the memory cells in an entire row, so there is a column of specialized latches on the chip called
sense amplifier A sense amplifier is a circuit that is used to amplify and detect small signals in electronic systems. It is commonly used in memory circuits, such as dynamic random access memory (DRAM), to read and amplify the weak signals stored in memory cells. ...
s, one for each column of memory cells, to temporarily hold the data. During a normal read operation, the sense amplifiers after reading and latching the data, rewrite the data in the accessed row. o
The Chip Collection, Smithsonian website
/ref> This arrangement allows the normal read electronics on the chip to refresh an entire row of memory in parallel, significantly speeding up the refresh process. Although a normal read or write cycle refreshes a row of memory, normal memory accesses cannot be relied on to hit all the rows within the necessary time, necessitating a separate refresh process. Rather than use the normal read cycle in the refresh process, to save time, an abbreviated refresh cycle is used. The refresh cycle is similar to the read cycle, but executes faster for two reasons: *For a refresh, only the row address is needed, so a column address doesn't have to be applied to the chip address circuits. *Data read from the cells does not need to be fed into the output buffers or the
data bus In computer architecture, a bus (historically also called a data highway or databus) is a communication system that transfers data between components inside a computer or between computers. It encompasses both hardware (e.g., wires, optical ...
to send to the CPU. To ensure that each cell gets refreshed within the refresh time interval, the refresh circuitry must perform a refresh cycle on each of the rows on the chip within the interval.


Types of refresh circuits

Although in some early systems the
microprocessor A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
controlled refresh, with a timer triggering a periodic
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
that ran a
subroutine In computer programming, a function (also procedure, method, subroutine, routine, or subprogram) is a callable unit of software logic that has a well-defined interface and behavior and can be invoked multiple times. Callable units provide a ...
that performed the refresh, this meant the microprocessor could not be paused, single-stepped, or put into energy-saving
hibernation Hibernation is a state of minimal activity and metabolic reduction entered by some animal species. Hibernation is a seasonal heterothermy characterized by low body-temperature, slow breathing and heart-rate, and low metabolic rate. It is mos ...
without stopping the refresh process and losing the data in memory. So in modern systems refresh is handled by circuits in the
memory controller A memory controller, also known as memory chip controller (MCC) or a memory controller unit (MCU), is a digital circuit that manages the flow of data going to and from a computer's main memory. When a memory controller is integrated into anothe ...
, which may be embedded in the chip itself. Specialized DRAM chips, such as pseudostatic RAM (PSRAM), have all the refresh circuitry on the chip, and function like
static RAM Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed. The ''static'' qualifier differ ...
as far as the rest of the computer is concerned. Usually the refresh circuitry consists of a ''refresh counter'' which contains the address of the row to be refreshed which is applied to the chip's row address lines, and a timer that increments the counter to step through the rows. This counter may be part of the memory controller circuitry or on the memory chip itself. Two scheduling strategies have been used: *''Burst refresh'' – a series of refresh cycles are performed one after another until all the rows have been refreshed, after which normal memory accesses occur until the next refresh is required *''Distributed refresh'' – refresh cycles are performed at regular intervals, interspersed with memory accesses. Burst refresh results in long periods when the memory is unavailable, so distributed refresh has been used in most modern systems, particularly in
real-time Real-time, realtime, or real time may refer to: Computing * Real-time computing, hardware and software systems subject to a specified time constraint * Real-time clock, a computer clock that keeps track of the current time * Real-time Control Syst ...
systems. In distributed refresh, the interval between refresh cycles is :\text=\text\, / \,\text \, For example,
DDR SDRAM Double Data Rate Synchronous Dynamic Random-Access Memory (DDR SDRAM) is a double data rate (DDR) synchronous dynamic random-access memory (SDRAM) class of memory integrated circuits used in computers. DDR SDRAM, also retroactively called DDR ...
has a refresh time of 64 ms and 8,192 rows, so the refresh cycle interval is 7.8 μs., p.20, o
School of Engineering and Computer Science, Baylor Univ. website
/ref> Generations of DRAM chips developed after 2012 contain an integral refresh counter, and the memory control circuitry can either use this counter or provide a row address from an external counter. These chips have three standard ways to provide refresh, selected by different patterns of signals on the column select (CAS) and row select (RAS) lines: *RAS only refresh – In this mode the address of the row to refresh is provided by the address bus lines typically generated by external counters in the memory controller. *CAS before RAS refresh (CBR) – In this mode the on-chip counter keeps track of the row to be refreshed and the external circuit merely initiates the refresh cycles. This mode uses less power because the memory address bus buffers don't have to be powered up. It is used in most modern computers. *Hidden refresh – This is an alternate version of the CBR refresh cycle which can be combined with a preceding read or write cycle. The refresh is done in parallel during the data transfer, saving time. Since the 2012 generation of DRAM chips, the ''RAS only'' mode has been eliminated, and the internal counter is used to generate refresh. The chip has an additional ''sleep mode'', for use when the computer is in
sleep mode Sleep mode (or suspend to RAM) is a low power mode for electronic devices such as computers, televisions, and remote controlled devices. These modes save significantly on electrical consumption compared to leaving a device fully on and, upon resu ...
, in which an on-chip
oscillator Oscillation is the repetitive or periodic variation, typically in time, of some measure about a central value (often a point of equilibrium) or between two or more different states. Familiar examples of oscillation include a swinging pendulum ...
generates internal refresh cycles so that the external clock can be shut down.


Refresh overhead

The fraction of time the memory spends on refresh, the refresh overhead, can be calculated from the system timing: :\text=\frac \, For example, an SDRAM chip has 213=8,192 rows, a refresh interval of 64 ms, the memory bus runs at 133 MHz, and the refresh cycle takes 4 clock cycles. The time for a refresh cycle is :\text=4/f=\frac =30\, \text \, :\text=(\text)(\text)=(30\, \text)(8192)=0.246\,\text \, :\text=\frac =.0038 \, So less than 0.4% of the memory chip's time will be taken by refresh cycles. In SDRAM chips, the memory in each chip is divided into banks which are refreshed in parallel, saving further time. So the number of refresh cycles needed is the number of rows in a single bank, given in the specifications, which in the 2012 generation of chips has been frozen at 8,192.


Refresh interval

The maximum time interval between refresh operations is standardized by
JEDEC The Joint Electron Device Engineering Council (JEDEC) Solid State Technology Association is a consortium of the semiconductor industry headquartered in Arlington County, Virginia, Arlington, United States. It has over 300 members and is focused ...
for each DRAM technology and is specified in the manufacturer's chip specifications. It is usually in the range of milliseconds for DRAM and microseconds for
eDRAM Embedded DRAM (eDRAM) is dynamic random-access memory (DRAM) integrated on the same die or multi-chip module (MCM) of an application-specific integrated circuit (ASIC) or microprocessor. eDRAM's cost-per-bit is higher when compared to equivale ...
. For DDR2 SDRAM chips it is 64 ms. Maximum refresh interval depends on the ratio of charge stored in the memory cell capacitors to leakage currents. Because the leakage currents in semiconductors increase with temperature, refresh intervals must be decreased at high temperatures. DDR2 SDRAM chips have a temperature-compensated refresh structure; refresh interval must be halved when chip case temperature exceeds . Although the geometry of the capacitors has been shrinking with each new generation of memory chips, reducing the charge stored, refresh intervals for DRAM have been increasing; from 8 ms for 1M chips, 32 ms for 16M chips, to 64 ms for 256M chips. Longer refresh interval means a smaller fraction of the device's time is occupied with refresh, leaving more time for memory accesses. This improvement is achieved mainly by reduced leakage. The actual persistence of readable charge values and thus data in most DRAM memory cells is much longer than the refresh interval, up to 1–10 seconds. However, transistor leakage currents vary widely between different memory cells on the same chip due to process variation. In order to make sure that all the memory cells are refreshed before a single bit is lost, manufacturers must set their refresh times conservatively short. This frequent DRAM refresh consumes a third of the total power drawn by
low-power electronics Low-power electronics are electronics designed to consume less electrical power than usual, often at some expense. For example, notebook processors usually consume less power than their desktop counterparts, at the expense of computer perform ...
devices in standby mode. Researchers have proposed several approaches for extending battery run-time between charges by reducing the refresh rate, including temperature-compensated refresh (TCR) and retention-aware placement in DRAM (RAPID). Experiments show that in a typical off-the-shelf DRAM chip, only a few weak cells really require the worst-case 64 ms refresh interval, and even then only at the high end of its specified temperature range. At room temperature (e.g. ), those same weak cells need to be refreshed once every 500 ms for correct operation. If the system can avoid using the weakest 1% of pages, a typical DRAM only needs to be refreshed once a second, even at , for correct operation of the remaining 99% of the pages. Some experiments combine these two complementary techniques, giving correct operation at room temperature at refresh intervals of 10 seconds.Ravi K. Venkatesan, Stephen Herr, Eric Rotenberg
"Retention-Aware Placement in DRAM (RAPID): Software Methods for Quasi-Non-Volatile DRAM"
2006.
For error-tolerant applications (e.g. graphics applications), refreshing non-critical data stored in DRAM or eDRAM at a rate lower than their retention period saves energy with minor quality loss, which is an example of
approximate computing Approximate computing is an emerging paradigm for energy-efficient and/or high-performance design. It includes a plethora of computation techniques that return a possibly inaccurate result rather than a guaranteed accurate result, and that can be u ...
.


SRAM and DRAM memory technologies


SRAM

In
static random-access memory Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed. The ''static'' qualifier diffe ...
(SRAM), another type of semiconductor memory, the data is not stored as charge on a capacitor, but in a bistable circuit, so SRAM does not need to be refreshed. The two basic types of memory have advantages and disadvantages. Static memory can be considered permanent while powered on, i.e., once written the memory stays until specifically changed and thus, its use tends to be simple in terms of system design. However, the internal construction of each SRAM cell requires six transistors, compared to the single transistor required for a DRAM cell, so the density of SRAM is much lower and price-per-bit much higher than DRAM.


CPU-based refresh

Some early
microprocessor A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
s (e.g. the
Zilog Z80 The Zilog Z80 is an 8-bit computing, 8-bit microprocessor designed by Zilog that played an important role in the evolution of early personal computing. Launched in 1976, it was designed to be Backward compatibility, software-compatible with the ...
) provided special internal registers that could provide the Row Address Strobe (RAS) to refresh dynamic memory cells, the register being incremented on each refresh cycle. This could also be accomplished by other
integrated circuit An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
s already being used in the system, if these already generated cycling accesses across RAM (''e.g.'' the Motorola 6845). In CPUs such as the Z80, the availability of a RAS refresh was a big selling point due to its simplifying hardware design. Here, RAS refresh is signaled by a unique combination of address and control wires during operationally redundant clock cycles (T-States), i.e. during instruction decode and execution when the buses may not be required. Instead of the bus being inactive during such T-states, the refresh register would be presented on the address bus along with a combination of control signals to activate the refresh circuitry. In early versions of the Z80, the ubiquity of 16 kB RAM chips having 128 rows and something of a lack of foresight resulted in the R register only incrementing over a 7 bit-wide range (0–127, 128 rows); the 8th bit could be set by the user, but would be left unchanged by the internal cycling. With the advent of 64 kbit+ DRAM chips (with 256 rows), extra circuitry or logic had to be built around the refresh signal to synthesize the missing 8th bit and prevent blocks of memory contents from being lost after a few milliseconds. In some contexts, it was possible to utilize
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
s and software to flip the 8th bit at the appropriate time and thus cover the entire range of the R register (256 rows). Another method, perhaps more universal but also more complex in terms of hardware, was to use an 8-bit counter chip, whose output would provide the refresh RAS address instead of the R register. The refresh signal from the CPU was used as the clock for this counter, resulting in the memory row being incremented with each refresh cycle. Later versions and licensed work-alikes of the Z80 core remedied the non-inclusion of the 8th bit in automatic cycling, and modern CPUs have greatly expanded on such basic provisioning to provide rich all-in-one solutions for DRAM refresh.


Pseudostatic DRAM

Pseudostatic RAM (PSRAM or PSDRAM) is dynamic RAM with built-in refresh and address-control circuitry to make it behave similarly to SRAM. It combines the high density of DRAM with the ease of use of true SRAM. PSRAM (made by Numonyx) is used in the Apple iPhone and other embedded systems.EE Times teardown of iPhone 3G
/ref> Some DRAM components have a self-refresh standby mode. It is provided primarily to allow a system to suspend operation of its DRAM controller to save power without losing data stored in DRAM, whereas PSRAM allows operation without a separate DRAM controller. An embedded variant of PSRAM is sold by MoSys under the name 1T-SRAM. It is technically DRAM, but behaves much like SRAM, and is used in the
GameCube The is a PowerPC-based home video game console developed and marketed by Nintendo. It was released in Japan on September 14, 2001, in North America on November 18, 2001, in Europe on May 3, 2002, and in Australia on May 17, 2002. It is the suc ...
and
Wii The Wii ( ) is a home video game console developed and marketed by Nintendo. It was released on November 19, 2006, in North America, and in December 2006 for most other regions of the world. It is Nintendo's fifth major home game console, f ...
consoles.


Other memory technologies using refresh

Several early computer memory technologies also required periodical processes similar in purpose to memory refresh. The
Williams tube The Williams tube, or the Williams–Kilburn tube named after inventors Frederic Calland Williams, Freddie Williams and Tom Kilburn, is an early form of computer memory. It was the first Random-access memory, random-access digital storage devi ...
has the closest similarity, since, like DRAM, it is essentially a capacitive memory in which the values stored for each bit would gradually decay unless refreshed. In
magnetic-core memory In computing, magnetic-core memory is a form of random-access memory. It predominated for roughly 20 years between 1955 and 1975, and is often just called core memory, or, informally, core. Core memory uses toroids (rings) of a hard magneti ...
, each memory cell can retain data indefinitely even with the power turned off, but reading the data from any memory cell erases its contents. As a consequence, the
memory controller A memory controller, also known as memory chip controller (MCC) or a memory controller unit (MCU), is a digital circuit that manages the flow of data going to and from a computer's main memory. When a memory controller is integrated into anothe ...
typically added a refresh cycle after each read cycle in order to create the illusion of a non-destructive read operation. Some early computers implemented atomic read–modify–write cycles ( combined read and write with modify) for increment and decrement.
Delay-line memory Delay-line memory is a form of computer memory, mostly obsolete, that was used on some of the earliest Digital data, digital computers, and is reappearing in the form of #Optical_delay_lines, optical delay lines. Like many modern forms of electro ...
requires constant refreshing because the data is actually stored as a signal in a
transmission line In electrical engineering, a transmission line is a specialized cable or other structure designed to conduct electromagnetic waves in a contained manner. The term applies when the conductors are long enough that the wave nature of the transmis ...
. In this case, the refresh rate is comparable to the memory
access time Access time is the time delay or latency between a request to an electronic system, and the access being initiated or the requested data returned. In computer and software systems, it is the time interval between the point where an instructio ...
.


See also

*
Cold boot attack In computer security, a cold boot attack (or to a lesser extent, a platform reset attack) is a type of side channel attack in which an attacker with physical access to a computer performs a memory dump of a computer's random-access memory (RAM) ...
* Memory scrubbing *
Row hammer Rowhammer (also written as row hammer or RowHammer) is a computer security exploit that takes advantage of an unintended and undesirable side effect in dynamic random-access memory (DRAM) in which memory cell (computing), memory cells interact e ...


References

{{DRAM, state=collapsed Computer memory