Skip to content

Memory

A semiconductor memory is an addressable array of cells, each storing one bit. Cells are grouped into words; an applied address selects one word for a read or write through decoders, sense/write circuits and data buffers.

TermMeaning
Memory cellSmallest element; stores one bit (00 or 11)
Word / word lengthBits accessed together; mm = bits per word
Memory arrayMatrix of cells arranged in rows and columns
Address linesnn inputs that select a word; nn lines address 2n2^{n} words
Data linesmm bidirectional lines carrying one word in or out
Control linesCS‾\overline{CS} (chip select), R/W‾R/\overline{W} (read/write), OE‾\overline{OE} (output enable)

Semiconductor memory types

Semiconductor memory types

  • Volatile memory (RAM) loses data when power is removed.

  • Non-volatile memory (ROM family) retains data without power.

  • Read/write memory allows both operations in normal use; read-mostly memory (EPROM, EEPROM, Flash) is programmed by a separate, slower operation.

Memory organization

Memory organization

  • The row decoder activates one word line selected by the address.

  • The column decoder with sense and write circuits picks the addressed bits and reads or drives them.

  • Data buffers connect the selected word to the external data bus.

  • The control logic sequences the access from CS‾\overline{CS}, R/W‾R/\overline{W} and OE‾\overline{OE}.

Control lineActiveFunction
CS‾\overline{CS}LOWEnables the chip; a deselected chip ignores the bus
R/W‾R/\overline{W}—HIGH == read, LOW == write
OE‾\overline{OE}LOWConnects the data buffers to the bus during a read
N=2 n,C=N×m,n=⌈log⁡2N⌉,\boxed{N = 2^{\,n}}, \qquad \boxed{C = N \times m}, \qquad \boxed{n = \lceil \log_2 N \rceil},

where NN is the number of words, mm the bits per word and nn the number of address lines.

Word organizations

Word organizations

  1. Place the word address on the address lines.

  2. Assert CS‾\overline{CS} and set R/W‾=1R/\overline{W} = 1 (read).

  3. Assert OE‾\overline{OE}; after the access time tAAt_{AA} the addressed word appears on the data lines.

Read-cycle timing

Read-cycle timing

  1. Place the word address on the address lines.

  2. Place the data word on the data lines.

  3. Assert CS‾\overline{CS} and pulse R/W‾=0R/\overline{W} = 0 (write); the data is latched on the trailing edge of the write pulse.

Write-cycle timing

Write-cycle timing

The data must be stable for the setup time tDSt_{DS} before and the hold time tDHt_{DH} after the latching edge; tWPt_{WP} is the minimum write-pulse width.

Random-access memory is volatile read/write memory in which any location is accessed directly in approximately the same time, independent of its address. It holds active programs and data while power is applied.

RAM has two forms that differ in how one bit is stored: SRAM uses a bistable latch, DRAM uses charge on a capacitor.

6T SRAM cell

6T SRAM cell

  • Storage: two cross-coupled inverters form a latch that holds the bit while power is present — a 6-transistor (6T) cell (4 latch ++ 2 access transistors).

  • Write: drivers force BLBL and BL‾\overline{BL} to the wanted levels, then WLWL is asserted to overwrite the latch.

  • Read: BLBL and BL‾\overline{BL} are precharged; asserting WLWL develops a small differential that a sense amplifier resolves. The read is non-destructive.

  • Refresh: not required while powered.

  • Advantages: fast, no refresh. Disadvantages: low density, high cost per bit. Applications: cache, register files, buffers.

1T1C DRAM cell

1T1C DRAM cell

  • Storage: one access transistor and one capacitor — a 1T1C cell. A charged CSC_S is 11, a discharged CSC_S is 00.

  • Write: WLWL turns the transistor on and BLBL charges or discharges CSC_S.

  • Read: connecting CSC_S to the precharged bit line causes charge sharing; a sense amplifier detects the small change and restores the level. The read is destructive, so the cell is rewritten after every read.

  • Refresh: leakage discharges CSC_S, so every row is refreshed periodically. If NrN_r rows are refreshed within TRT_R,

trow=TRNr.\boxed{t_{row} = \frac{T_R}{N_r}}.
  • Advantages: high density, low cost per bit. Disadvantages: refresh overhead, slower, destructive read. Applications: main memory.
ParameterSRAMDRAM
Cell6T bistable latch1T1C charge cell
StorageFlip-flopCapacitor
RefreshNot requiredRequired
ReadNon-destructiveDestructive (restore follows)
SpeedFasterSlower
DensityLowerHigher
Cost per bitHigherLower
Main useCacheMain memory

Read-only memory is non-volatile memory whose contents are fixed during manufacture or written once by programming. In normal operation it is read but not written, and it retains data without power.

Two-word MOS ROM

Two-word MOS ROM

Each selected word line reads out a fixed pattern: a cell with a transistor pulls its bit line LOW (00), while a cell without one stays HIGH (11). The stored data is the pattern of present and absent cells.

TypeProgrammingErasure
Mask ROMDuring fabricationNot erasable
PROMOnce, by the user (blow fuses)Not erasable
EPROMElectrical, floating-gateUV light, whole chip
EEPROMElectricalElectrical, per byte
FlashElectricalElectrical, per block

PROM fuse cells

PROM fuse cells

  • Programmable ROM is supplied blank and is programmed once by the user, who irreversibly blows selected fusible links (or forms antifuses).

  • An intact link conducts and reads one logic value; a blown link is open and reads the other. Once programmed it cannot be erased.

  • Applications: permanent low-volume firmware and lookup data.

EPROM cell and package

EPROM cell and package

  • Erasable PROM stores each bit as charge trapped on a floating gate. Programming injects electrons with a high voltage, raising the transistor threshold to store a 00.

  • Erasure exposes the chip to ultraviolet light through a quartz window, which frees the trapped charge and clears the whole chip back to 11s.

  • It can then be reprogrammed.

EPROM erase cycle

EPROM erase cycle

  • Applications: development firmware and reprogrammable fixed data.
ParameterRAMROM
OperationRead and writeRead (write only by programming)
VolatilityVolatileNon-volatile
Data retentionLost on power-offRetained without power
Contents setAt run timeAt manufacture or programming
Main useWorking memoryFirmware, fixed data
FeatureRAMSRAMDRAMROMPROMEPROM
Read✓\checkmark✓\checkmark✓\checkmark✓\checkmark✓\checkmark✓\checkmark
Write (normal)✓\checkmark✓\checkmark✓\checkmark×\timesonce×\times
Volatile✓\checkmark✓\checkmark✓\checkmark×\times×\times×\times
Refresh—×\times✓\checkmark———
Erasable———×\times×\times✓\checkmark (UV)
Relative speed—HighLower———
ParameterPROMEPROM
ProgrammableOnceMany times
ErasableNoYes, by UV light
Storage mechanismFuse / antifuse linkFloating-gate charge
PackageStandardQuartz window
ReusableNoYes
Number of locations=2 address lines,Capacity=locations×bits per word.\boxed{\text{Number of locations} = 2^{\,\text{address lines}}}, \qquad \boxed{\text{Capacity} = \text{locations} \times \text{bits per word}}.
  • Capacity: N=2 nN = 2^{\,n} words and C=N×mC = N \times m bits.

  • SRAM: 6T latch, no refresh, fast, low density — cache.

  • DRAM: 1T1C charge cell, destructive read, needs refresh, high density — main memory.

  • ROM: non-volatile; stores a fixed pattern of present and absent cells.

  • PROM: programmed once by blowing fuses; not erasable.

  • EPROM: floating-gate storage; UV-erasable through a quartz window and reprogrammable.