4.1.5Memory Technologies

Row - column addressing and sense amplifiers

2,454 words11 min readdifficulty · medium

Chapter: Memory Technologies — how a chip finds ONE bit among millions, and how it reads a signal so tiny it can barely be measured.

The Core Problem (WHY this exists)

WHAT: The Anatomy

Figure — Row - column addressing and sense amplifiers

HOW: Why decoders shrink the pin count

Derivation — pins needed. Suppose the array holds N=R×CN = R \times C bits.

  • To pick 1 of RR rows you need log2R\log_2 R address bits.
  • To pick 1 of CC columns you need log2C\log_2 C address bits.
  • Total address bits: log2R+log2C=log2(RC)=log2N\log_2 R + \log_2 C = \log_2(RC) = \log_2 N.

address pins=log2N\boxed{\text{address pins} = \log_2 N}

Why this step? Each independent binary bit doubles how many lines you can name, so the number of things you can address is 2(bits)2^{(\text{bits})}; inverting gives log2\log_2.

Square array minimizes pins-per-side. To split log2N\log_2 N address bits into row + column, and if we further want to time-multiplex the same pins for row then column (as real DRAM does with RAS/CAS), the pin count for one shared bus is minimized when R=C=NR = C = \sqrt N:

shared address pins=12log2N=log2N.\text{shared address pins} = \tfrac{1}{2}\log_2 N = \log_2\sqrt{N}.

HOW: Reading a DRAM cell, step by step

Derivation — the sense voltage. Before the read, the bitline is precharged to VDD/2V_{DD}/2 and then floated. The storage cell holds either VDDV_{DD} (logic 1) or 00 (logic 0).

When the wordline turns on, cell and bitline share charge. Total charge before = charge after, using Q=CVQ = CV:

CsVcell+CbVDD2=(Cs+Cb)VfinalC_s V_{cell} + C_b \cdot \tfrac{V_{DD}}{2} = (C_s + C_b)\,V_{final}

Solve for the final bitline voltage:

Vfinal=CsVcell+CbVDD2Cs+CbV_{final} = \frac{C_s V_{cell} + C_b \tfrac{V_{DD}}{2}}{C_s + C_b}

The signal the sense amp sees is the deviation from the precharge point VDD/2V_{DD}/2:

ΔV=VfinalVDD2=CsCs+Cb(VcellVDD2)\Delta V = V_{final} - \frac{V_{DD}}{2} = \frac{C_s}{C_s + C_b}\left(V_{cell} - \frac{V_{DD}}{2}\right)

Why this step? Subtracting the reference isolates only the part caused by the cell; everything common to the reference bitline cancels.

The sense amplifier's job (differential):

  1. Precharge bitline (BL) and its complement (BL\overline{\text{BL}}) to VDD/2V_{DD}/2.
  2. Activate wordline → BL nudges up or down by ΔV\Delta V; BL\overline{\text{BL}} stays at reference (or vice-versa, using a dummy cell).
  3. Enable the cross-coupled latch (two back-to-back inverters). Positive feedback drives whichever line is higher to VDDV_{DD} and the other to 00.
  4. Restore/refresh: the now-full-swing BL is still connected to the cell through the open access transistor, so the cell's capacitor is recharged to its original value. (Reading DRAM is destructive; the sense amp repairs it.)

Common Mistakes (Steel-manned)

Recall Explain it to a 12-year-old (click to reveal)

Think of a huge apartment building where every apartment holds a single drop of water (that's the memory bit). You can't run a pipe to every apartment — there are billions. So instead you say "Floor 12" (that turns on the whole floor's hallway light = wordline) and "Apartment 8" (that's the column pick). Now the tiny water drop trickles into a very long empty pipe (the bitline) and almost disappears. A special helper at the bottom of the pipe (the sense amplifier) is so sensitive it can tell "there WAS a drop" versus "there was NONE", shouts it loudly so everyone hears (full 0 or 1), and then — because looking used up the drop — pours the drop back into the apartment so it isn't lost. That last pour-back is why we say reading this memory erases it unless you refill it.

Flashcards

Why are memory cells arranged in a 2D grid instead of a line?
To share wires — a grid needs only log2R+log2C\log_2 R + \log_2 C address bits instead of one wire per cell, making billion-bit chips feasible.
What does the row decoder physically do?
Takes the row address bits and raises exactly one wordline high, turning on the access transistors of every cell in that row.
What is a wordline vs a bitline?
Wordline = horizontal row-select control wire; Bitline = vertical column data wire shared by all cells in that column.
Why is a sense amplifier needed in DRAM?
The cell's charge shared onto the large bitline produces only tens of mV; the sense amp amplifies this tiny swing to a full logic level.
Give the charge-sharing sense-signal formula.
ΔV=CsCs+Cb(VcellVDD2)\Delta V = \dfrac{C_s}{C_s+C_b}\left(V_{cell}-\tfrac{V_{DD}}{2}\right)
Why precharge bitlines to VDD/2V_{DD}/2?
It makes the read signal symmetric (±ΔV\pm\Delta V) for 0 and 1, needs smaller swing to resolve, and enables differential sensing.
What are RAS and CAS?
Row Address Strobe and Column Address Strobe — latch the row then the column address on the SAME multiplexed pins.
How many address pins (multiplexed, square array) for NN bits?
12log2N\tfrac12\log_2 N.
Why is a DRAM read called destructive?
Connecting the cell to the bitline shares away its charge, losing the original value; the sense amp must write it back.
Why not just make the storage capacitor CsC_s very large?
Signal ΔV\Delta V saturates as CsCbC_s\to C_b, but big CsC_s wastes area and kills density; instead keep bitlines short.
What resolves the tiny signal to full swing inside a sense amp?
A cross-coupled inverter latch using positive feedback drives the higher line to VDDV_{DD} and the other to 00.

Connections

  • DRAM cell structure (1T1C) — the source of the tiny charge CsC_s.
  • Memory refresh and retention time — why sense amps write back / how often.
  • SRAM 6T cell — non-destructive read, no refresh needed, contrast the sensing.
  • Address decoders and multiplexers — the n ⁣ ⁣2nn\!\to\!2^n logic behind row/column select.
  • Memory banking and interleaving — splitting arrays to keep CbC_b small.
  • CAS latency and memory timing — timing built on RAS/CAS multiplexing.

Concept Map

solved by

addressed by

row bits to

column bits to

raises one

selects one

turns on access transistors

dumps charge onto

tiny mV swing read by

amplifies to

writes back to refresh

needs only

minimized when square

Billion pins impossible

2D grid of cells

Row plus column address

Row decoder

Column decoder mux

Wordline row

Bitline column

Storage cell charge

Sense amplifier

Full logic level

log2 N pins

R equals C equals sqrt N

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Socho ek bahut badi memory chip hai jisme crore-crore bits hain. Har bit ko alag wire dena impossible hai. Isliye cells ko ek grid (rows aur columns) me arrange karte hain. Ek particular bit tak pahunchne ke liye hum bolte hain "Row number itna, Column number itna" — bilkul stadium me seat dhoondhne jaisa. Row decoder sirf ek wordline ko high karta hai (us row ke saare cells ka gate ON), aur column decoder ek bitline ko output se jodta hai. Selected cell wahi hai jahan selected row aur selected column milte hain.

Ab problem: DRAM me har bit ek chhote capacitor CsC_s par charge ke roop me stored hota hai. Jab wordline ON hota hai, ye chhota charge ek bahut lambi bitline (jiska apna bada capacitance CbC_b) par phail jaata hai. Formula ΔV=CsCs+Cb(VcellVDD/2)\Delta V=\frac{C_s}{C_s+C_b}(V_{cell}-V_{DD}/2) batata hai ki signal sirf kuch millivolt hi milega, kyunki CbC_b, CsC_s se bahut bada hota hai. Itna chhota signal koi normal logic gate padh hi nahi sakta.

Isiliye aata hai hero — sense amplifier. Pehle bitline ko VDD/2V_{DD}/2 par precharge karte hain (taaki 0 aur 1 dono ke liye signal symmetric mile, +ΔV+\Delta V ya ΔV-\Delta V). Phir cross-coupled latch positive feedback se us chhote nudge ko full VDDV_{DD} ya 00 tak amplify kar deta hai. Aur kyunki padhne me cell ka charge bik gaya (destructive read), sense amp usko wapas write-back / refresh bhi karta hai.

Yaad rakhne wali baat: DRAM address ko RAS (row pehle) aur CAS (column baad me) se, wahi pins reuse karke bhejta hai — isse pins aadhe ho jaate hain. Square array (R=C=NR=C=\sqrt N) sabse kam pins deता hai: 12log2N\frac12\log_2 N. Ye pura khel density aur speed ka balance hai — yahi reason hai ki aapka RAM sasta aur bada dono ho paata hai.

Go deeper — visual, from zero

Test yourself — Memory Technologies

Connections