Each DRAM chip contains millions of memory locations, or cells, which are arranged in a matrix of rows and columns (Figure 1). On the periphery of the array of memory cells are transistors that read, amplify, and transfer the data from the memory cells to the memory bus. Each DRAM row, called a page, consists of several DRAM cells. Each DRAM cell on a page contains a capacitor capable of storing an electrical charge for a very short time. A charged cell represents a “1” data bit, and an uncharged cell represents a “0” data bit. The capacitors discharge over time so they must be recharged, or refreshed, thousands of times per second to maintain the validity of the data. These refresh mechanisms are described later in this section.

Figure 1. Representation of a single DRAM chip on a DIMM

The memory subsystem operates at the memory bus speed. Typically, a DRAM cell is accessed when the memory controller sends electronic address signals that specify the row address and column address of the target cell. The memory controller sends these signals to the DRAM chip by way of the memory bus. The memory bus consists of two sub-buses: the address/command bus and the data bus.

The data bus is a set of lines (traces) that carry the data to and from DRAM. Each trace carries one data bit at a time. The throughput (bandwidth) of the data bus depends on its width (in bits) and its frequency. The data width of a memory bus is usually 64-bits, which means that the bus has 64 traces, each of which transports one bit at a time. Each 64-bit unit of data is called a data word.

The address portion of the address/command bus is a set of traces that carry signals identifying the location of data in memory. The command portion of the address/command bus conveys instructions such as read, write, or refresh.

When FPM or EDO memory writes data to a particular cell, the location where the data will be written is selected by the memory controller. The memory controller first selects the page by strobing the Row Address onto the address/command bus. It then selects the exact location by strobing the Column Address onto the address/command bus (see Figure 2). These actions are called Row Address Strobe (RAS) and Column Address Strobe (CAS). The Write Enable (WE) signal is activated at the same time as the CAS to specify that a write operation is to be performed. The memory controller then drives the data onto the memory bus. The DRAM devices latch the data and store it into the respective cells.

During a DRAM read operation, RAS followed by CAS are driven onto the memory bus. The WE signal is held inactive, indicating a read operation. After a delay called CAS Latency, the DRAM devices drive the data onto the memory bus.

While DRAM is being refreshed, it cannot be accessed. If the processor makes a data request while the DRAM is being refreshed, the data will not be available until after the refresh is complete. There

3