Protocols

DDR memory protocol

By CourseTron Team ·  6 min read ·  Updated Oct 2026 💬 𝕏 in f
Table of Contents
    🖨  Download / Print this guide (PDF)

    In short: The ddr protocol is the command-and-timing language a CPU's memory controller uses to talk to DRAM chips, which are organized as banks of rows and columns. Its signature trick is transferring two data words per clock cycle (double data rate) by latching data on both the rising and falling clock edges. LPDDR is a low-power cousin of standard DDR, tuned for phones and laptops rather than servers.

    What Is the ddr protocol?

    DDR stands for Double Data Rate, and the ddr protocol defines how a memory controller issues commands to DRAM (Dynamic Random-Access Memory) and how data moves back and forth across the bus. DRAM stores each bit as a charge on a tiny capacitor paired with an access transistor. Because that charge leaks away, the memory must be periodically refreshed — the "dynamic" in the name. The protocol is a strict, clocked handshake: the controller drives address and command pins, the DRAM responds within fixed timing windows, and both sides must agree on a published set of timing parameters.

    Modern standards (DDR4, DDR5) are defined by JEDEC. Every generation raises data rates and tightens efficiency, but the core organization — banks, rows, columns, and a small vocabulary of commands — has stayed remarkably consistent since the first DDR SDRAM.

    Key fact: "Double data rate" does not mean the clock runs twice as fast. The command/address bus still ticks once per clock, but data is sampled on both the rising and falling edge, so a 1600 MHz clock yields 3200 MT/s (mega-transfers per second) — which is why DDR4-3200 modules carry that number.

    How DRAM is organized: banks, rows, and columns

    Inside a DRAM chip, the storage array is a grid. To read or write one location the controller must address three things in order:

    • Bank — an independent 2D sub-array. DDR4 has 16 banks (in 4 groups); DDR5 has 32 (in 8 groups). Banks let the controller interleave operations so one bank is being read while another is being prepared.
    • Row — a horizontal line of cells. An ACTIVATE command opens a row, copying its entire contents into the bank's sense amplifiers (the "row buffer").
    • Column — the offset within the open row. A READ or WRITE command then targets specific columns in that buffered row.
    DRAM bank: rows and columns columns open row Sense amps (row buffer) 1. ACTIVATE rowopens row into buffer 2. READ / WRITE colaccess columns in buffer 3. PRECHARGEclose row, restore charge CourseTron · coursetron.com
    A DRAM bank: ACTIVATE opens a row into the sense amplifiers, then READ/WRITE accesses columns, and PRECHARGE closes it.

    The command sequence

    A typical access is ACTIVATE → READ/WRITE → PRECHARGE. If the next access hits the same open row ("row hit"), the controller skips straight to another column command — fast and efficient. A "row miss" forces a PRECHARGE and a fresh ACTIVATE, which costs latency. Good memory controllers reorder requests to maximize row hits and keep banks busy in parallel.

    Why "double data rate" matters

    Earlier SDRAM moved one data word per clock cycle, on the rising edge only. DDR latches data on both edges of the clock, doubling throughput without doubling the clock frequency (which would cost power and worsen signal integrity). Commands and addresses still use single data rate — one edge — because they do not need the bandwidth and benefit from timing margin.

    To feed those edges, DDR uses prefetch: each internal array access fetches a fixed burst. DDR4 uses an 8n prefetch (burst length 8), so one column command streams eight words back to back. DDR5 moves to 16n prefetch and splits each channel into two independent sub-channels, improving concurrency.

    Double data rate: two words per clock CLK DQ D0D1D2D3D4D5 rising edge falling edge one clock cycle = two transfers = 2x throughput CourseTron · coursetron.com
    Data words are latched on both clock edges; the marker traces a burst flowing across the DQ bus.

    Timing parameters you will meet

    The ddr protocol is governed by named timings, usually quoted as a set like CL-tRCD-tRP-tRAS:

    • CL (CAS latency) — clocks from a READ command until the first data word appears.
    • tRCD — ACTIVATE-to-READ delay (row open to column access).
    • tRP — PRECHARGE time to close a row.
    • tRAS — minimum time a row must stay open.
    One access: ACTIVATE, READ, PRECHARGE CommandACTREADPRE DQ datadata burst tRCD CL tRAS: row must stay open tRP CourseTron · coursetron.com
    Timing of one access: tRCD separates ACTIVATE from READ, CL separates READ from the first data word, tRAS bounds how long the row stays open, and tRP is the PRECHARGE time.

    DDR vs LPDDR

    Standard DDR (DDR4/DDR5 DIMMs) targets desktops and servers: it prizes raw bandwidth and capacity, uses a wide 64-bit channel per module, and tolerates higher power. LPDDR (Low-Power DDR) is built for battery devices — phones, tablets, thin laptops — and is soldered directly to the board rather than socketed.

    • Voltage & power states: LPDDR runs at lower voltages and adds aggressive low-power modes (deep power-down, partial-array self-refresh) to cut idle drain.
    • Channel width: LPDDR uses narrower channels (e.g. 16/32-bit) but ganged together, trading a wide bus for efficiency and tight packaging.
    • Form factor: DDR is replaceable; LPDDR is fixed, enabling shorter traces, higher speeds, and compact designs.

    The underlying ideas — banks, rows, columns, ACTIVATE/READ/WRITE/PRECHARGE, refresh, and double-edge transfers — are shared. LPDDR simply re-tunes the same ddr protocol concepts for a power budget measured in milliwatts.

    Learn this hands-on

    Real projects and industry tool flows, with certification.

    Explore CourseTron Courses →

    ddr protocol — FAQ

    Does double data rate mean the clock is twice as fast?

    No. The clock frequency is unchanged; DDR transfers data on both the rising and falling edge, so each clock carries two words. A 1600 MHz clock therefore reaches 3200 MT/s.

    Why does DRAM need refresh?

    Each bit is a charge on a leaky capacitor. Without a periodic REFRESH command the charge decays and data is lost, so the controller refreshes every row within a fixed window (commonly 64 ms, tightened at high temperature).

    What is a "row hit" and why is it faster?

    If the next access targets a row already open in the sense amplifiers, the controller issues only a column command — skipping PRECHARGE and ACTIVATE. That saves tRP + tRCD of latency, which is why controllers reorder requests to favor row hits.

    Is LPDDR just slower DDR?

    Not necessarily. LPDDR5/5X can match or exceed desktop DDR data rates per pin; it is optimized for low voltage and idle power, with narrower, soldered channels rather than socketed modules.

    Related: PCIe protocol basics · Glossary · all courses.

    Advertisement