|Overview DRAM Cell Design DRAM Layout DRAM Operations Advanced DRAM Designs DDRAM and Rambus|
DRAM stands for dynamic random access memory. Dynamic refers to the need to periodically refresh DRAM cells so that they can continue to retain the stored bit. Because of the small footprint of a DRAM cell, DRAM can be produced in large capacities. By packaging DRAM cells judiciously, DRAM memory can sustain large data rates. For these reasons, DRAM is used to implement the bulk of main memory.
Figure 1: DRAM Cell
A Dram cell consists of a capacitor connected by a pass transistor to the bit line (or digit line or column line). The digit line (or column line) is connected to a multitude of cells arranged in a column. The word line (or row line) is also connected to a multitude of cells, but arranged in a row. (See Figure 2.) If the word line is ascertained, then the pass transistor T1 in Figure 1 is opened and the capacitor C1 is connected to the bit line.
The DRAM memory cell stores binary information in the form of a stored charge on the capacitor. The capacitor's common node is biased approximately at VCC/2. The cell therefore contains a charge of Q = ±VCC/2 • Ccell, if the capacitance of the capacitor is Ccell. The charge is Q = +VCC/2 • Ccell if the cell stores a 1, otherwise the charge is Q = -VCC/2 • Ccell. Various leak currents will slowly remove the charge, making a refresh operation necessary.
If we open the pass transistor by asserting the word line, then the charge will dissipate over the digit line, leading to a voltage change. The voltage change is given by (Vsignal observed voltage change in the digit line, Ccell the capacitance of the DRAM cell capacitor, and Cline the capacitance of the digit line
Vsignal = Vcell• Ccell• (Ccell + Cline)-1
For example, if VCC is 3.3V, then Vcell is 1.65V. Typical values for the capacitances are Cline = 300fF and Ccell = 50fF. This leads to a signal strength of 235 mV. When a DRAM cell is accessed, it shares its charge with the digit line.
The DRAM cells are arranged in a large rectangular structure with wordlines controlling the gate of the pass transistors in all DRAM cells in a row and digit lines collecting data from a large number of DRAM cells located in a column. (See Figure 2.) The length of the column increases the capacity of the DRAM array, but also increases the capacitance Cline and hence limits the signal strength.
Figure 2: DRAM Array
Because the strength of the signal is small, DRAM design uses a reference line. Figure 3 shows the open DRAM array layout, where two DRAM arrays are located next to each other. Digit lines at the same height are paired and gated into a sense amplifier. A sense amplifier pulls up the voltage differential between the two digit lines. In a read operation, the other digit line serves as a reference point.
Figure 3: Open DRAM Array
Figure 4 shows a schematics of a second generation DRAM. The address is broken up into two pieces, a 10 bit row address (most significant digits of address) and a 12 bit column address (least significant digits of address). The address is strobed over in these two components. (This saves expensive pins since we now only need 12 address lines instead of 20.) To distinguish between the column and the write address, we use the CAS* and RAS* (column address strobe and row address strobe) signals. In addition, the chip has a Write* line to distinguish between read and write operations.
Figure 4: 4M * 1 DRAM (Siemens)
Opening a row is a fundamental operation for read, write, and refresh operations.
Figure 5: Sense Amplifier Schematic
A DRAM write proceeds very much like a DRAM read. The main difference is the use of a separate write driver circuitry that determines the data that is placed in the cell. In most current DRAM designs, the write driver simply overdrives the sense amplifiers. In more detail
The capacitor in each DRAM cell discharges slowly. At certain intervals, we need to recharge the DRAM cell. This is achieved by reading the cell. The read will place the contents of the cell on the digit line, which is then pulled up to full level (GND or Vcc) by the sense amplifiers. When the word line is deasserted, all cells in the row have their contents restored at full charge / discharge level.
A refresh operation thus refreshes all the cells in the same row at once!
Early DRAM memories were refreshed under system control. Every so often, the system would issue a read request that would refresh a particular row. Nowadays, the DRAM chip contains a timer that allows it to refresh autonomously. Besides the timer, the main component is the refresh counter that contains the address of the row that needs to be refreshed. When a refresh operation is finished, then the counter is set to the next row in a cyclical manner.
The need to refresh amounts to using a certain (small) portion of the DRAM bandwidth.
A DRAM page consists of the cells in a row. As a read operation places all the contents of this cell into the sense amplifiers, we can read within a page without having to precharge the column lines again. This is a major time saving.
A DRAM in page mode is still controlled by the RAS* and CAS* lines. Initially, we use RAS* to strobe in a row address. By asserting and deasserting CAS*, we strobe in column addresses. As long as we do not leave the page, accesses are now performed much faster, since we do not have to strobe in the row address and - most importantly - do not have to precharge before each access.
Figure 6: Asynchronous DRAM Timing in Nibble Mode
Figure 7: Synchronous DRAM Timing in Nibble Mode
Synchronization adds input and output latches to the DRAM and puts the memory device under the control of the clock. This alone can speed operations up, since there is no less need for signaling between processor and DRAM. Figure 6 shows the timing diagram of an asynchronous DRAM in nibble mode. The processor strobes in a row and a column address. 60 nsec after deassserting RAS* the first piece of data appears. By oscillating CAS* subsequent data appears. (The column address is automatically incremented after each access.) Figure 7 shows the same type of DRAM under synchronous control. The main difference is that no CAS* oscillation is needed in order to strobe out the additional data, which now appear once per clock cycle of 10 nsec, faster than under asynchronous control.
To stream out data faster than even in page/burst mode, DRAMs use a large number of memory arrays or banks. Consecutive accesses are then serviced by different banks. For example, we might employ two 1M·8 banks. The least significant bit of the address then selects between the two banks. If accesses use the two banks alternatively, then the operations can overlap, giving twice as fast data rates. A DRAM with banks has an additional internal comand to a bank, the ACT (activate) command that precharges the bank.
By pipelining the addresses, the average access time can be sped up. In this case, the input latch is used to store the incoming address, while the DRAM is still working on the previous command. The pipeline has three stages, the first for the input (address and possibly data), the second for the bank access, and the third for latching the output (for a read).
We can increase the speed of a synchronous DRAM by prefetching. In this case more than one data word is fetched from the memory on each address cycle and transferred to a data selector on the output buffer. Multiple words of data can then be sequentially clocked out for each memory address.
DDR SDRAM (double data rate synchronous DRAM) began to appear in 1997 and offered a burst bandwidth of 2.1 GB/sec across a 64 bit data bus. DDR SDRAM uses a large input/output width of typically 32b, multiple banks (e.g. 4), prefetching, and pipelining. Commands are received on the rising edge of the clock, but data is available at both raising and falling clock edge, hence the name. DDR SRAM is designed to optimize the burst bandwidth.
Rambus Inc. has developed Rambus architecture and has licensed the design. It also offers a burst bandwidth of 2.1 GB/sec. However, by using a large number of internal banks, an internal SRAM write buffer, a very fast internal bus, and a sophisticated internal control, a Rambus DRAM has the lowest average random access latencies.
The Rambus architecture has three elements, the Rambus interface, the Rambus channel, and the RDRAM themselves. The Rambus interface is implemented on both the memory controller and the RDRAM devices on the channel. The Rambus channel is implemented via only 30 high-speed, low-voltage signals. Each channel supports up to 32 RDRAM. The channel has data and control bits moving in packets. Each packet takes four clock cycles to transmit.
|© 2003 Thomas Schwarz, S.J., COEN, SCU SCU COEN T. Schwarz COEN 180|