TOPIC 37 — Memory Interfaces

LPDDR Memory Guide

Low Power Double Data Rate memory — the DRAM that powers every smartphone SoC. LPDDR4, LPDDR4X, LPDDR5, LPDDR5X: data rates, bank architecture, timing, PHY interface, and bandwidth calculations explained.

8533
Mbps — LPDDR5X
68 GB/s
Peak Bandwidth
1.05V
Core Voltage
16
Banks (LPDDR5)
LPDDR SoC INTEGRATION — DUAL CHANNEL SoC CPU + GPU + NPU Memory Controller LPDDR PHY CH0 (32-bit) CH1 (32-bit) LPDDR5 PACKAGE DIE 0 8 Bank Grps 2 Banks each DIE 1 8 Bank Grps 2 Banks each LPDDR5 Key Numbers • 6400 Mbps (3200 MT/s × DDR) • 51.2 GB/s @ 64-bit bus • 1.05V VDD / 0.5V VDDQ • 16 banks, 4× interleaving • Link ECC for reliability

01 What is LPDDR?

LPDDR (Low Power Double Data Rate) is the mobile-optimized variant of SDRAM. Unlike desktop DDR, LPDDR is designed for:

Ultra-Low Power

Operates at 1.05–1.1V (vs 1.2V for DDR4). Includes deep power-down, partial array self-refresh (PASR), and temperature-compensated refresh to minimize idle power in smartphones.

Package-on-Package (PoP)

LPDDR dies are stacked directly on top of the SoC in PoP configuration — eliminating long PCB traces and enabling the ultra-thin designs of modern phones.

High Bandwidth

Dual 32-bit channels give 64-bit effective bus width. LPDDR5X at 8533 Mbps provides 68.3 GB/s — critical for AI inference, 8K video, and gaming workloads.

Reliability Features

LPDDR5 adds on-die ECC and link ECC within the PHY — essential for automotive and safety-critical applications running on mobile SoCs.

02 LPDDR4 vs LPDDR4X vs LPDDR5 vs LPDDR5X

FeatureLPDDR4LPDDR4XLPDDR5LPDDR5X
Max Data Rate3200 Mbps4267 Mbps6400 Mbps8533 Mbps
VDD (Core)1.1V1.1V1.05V1.05V
VDDQ (IO)1.1V0.6V0.5V0.5V
Banks881616
Bank GroupsNoneNone8 groups × 2 banks8 groups × 2 banks
Burst LengthBL16/32BL16/32BL16/32BL16/32
Channel Width2×16b or 2×32b2×16b or 2×32b2×16b or 2×32b2×16b or 2×32b
ECCNoneNoneOn-die + Link ECCOn-die + Link ECC
WCK ClockNoNoYes (2× freq)Yes
Peak BW (64b bus)25.6 GB/s34.1 GB/s51.2 GB/s68.3 GB/s
Typical DeviceSnapdragon 845A12 BionicSnapdragon 888A16/Dimensity 9200

03 Bandwidth Calculator

LPDDR Bandwidth Calculator
Generation
Bus Width
Efficiency
51.2 GB/s peak
Effective: 43.5 GB/s at 85% efficiency | 6400 Mbps × 64-bit bus

04 Bank Architecture — LPDDR4 vs LPDDR5

Bank architecture is critical for performance. Multiple banks allow a memory controller to hide row-precharge latency (tRP) by accessing different banks in parallel.

LPDDR4 — 8 Banks
B0
B1
B2
B3
B4
B5
B6
B7

Flat bank array — no bank groups. tCCD_L (same bank) and tCCD_S (different bank) have a small gap.

LPDDR5 — 8 Bank Groups × 2 Banks
BG0
B0 B1
BG1
B0 B1
BG2
B0 B1
BG3
B0 B1
BG4
B0 B1
BG5
B0 B1
BG6
B0 B1
BG7
B0 B1

16 total banks across 8 groups. Different bank groups allow back-to-back CAS with minimum tCCD (4 cycles) — dramatically improves random access performance.

05 Key Timing Parameters

ParameterFull NameLPDDR5 @ 6400Impact
tCLCAS Latency16 cyclesLatency from READ to first data byte
tRCDRAS to CAS Delay16 cyclesDelay between ACTIVATE and READ/WRITE
tRPRow Precharge16 cyclesTime to close a row — lower = less latency on row miss
tRASRow Active Strobe38 cyclesMinimum time a row stays open
tRFCRefresh Cycle Time280 nsTime memory is unavailable during auto-refresh
tCCD_LCAS-to-CAS (same BG)8 cyclesMin gap between two commands to same bank group
tCCD_SCAS-to-CAS (diff BG)4 cyclesMin gap between commands to different bank groups
tWRWrite Recovery22 cyclesTime after last write before precharge allowed

06 Read Latency — Path from Command to Data

LPDDR5 READ LATENCY (tCL=16, tRCD=16, tRL=16) ACTIVATE tRCD=16cy READ cmd tCL=16cy DATA (BL32 = 16 DQ cycles) Open row Row-to-column delay CAS latency 32 bytes transferred

07 LPDDR PHY Interface

The PHY (Physical Layer) sits between the memory controller and the LPDDR package. It handles clock generation, DQ training, write-leveling, and impedance matching.

DQ Training

At power-up, the PHY calibrates the DQ-DQS timing alignment using a series of read/write training patterns. LPDDR5 uses a 2D eye scan (voltage + time) for improved margin.

ZQ Calibration

Adjusts output driver impedance and ODT resistance to match PCB characteristic impedance (240Ω). Run at init (ZQ_INIT) and periodically during operation (ZQ_CAL_SHORT).

WCK Clock (LPDDR5)

LPDDR5 introduces WCK — a write clock at 2× the DQ data rate. WCK is forwarded from controller to DRAM to enable the higher 6400+ Mbps data rates.

CA Training

Command/Address (CA) bus training aligns the CA signal timing to the clock. LPDDR4/5 use a CA Vref training step to center the CA input level at the DRAM.

08 Memory Controller — ACTIVATE/READ Sequence (Verilog)

systemverilog
// Simplified LPDDR5 command issue FSM (one bank, one channel)
// Real controllers have full command scheduler, bank tracking, tRAS enforcement
typedef enum logic [2:0] {
  IDLE, ACTIVATE, TRCD_WAIT, ISSUE_READ, TCL_WAIT, DATA_OUT, PRECHARGE
} lpddr_state_t;

lpddr_state_t state_q;
logic [7:0] timer_q;

always_ff @(posedge clk) begin
  if (!rst_n) begin
    state_q   <= IDLE;
    timer_q   <= '0;
    cmd_valid <= 1'b0;
  end else begin
    case (state_q)
      IDLE: if (rd_req) begin
              state_q   <= ACTIVATE;
              cmd_valid <= 1'b1;
              cmd       <= CMD_ACT;  // send ACTIVATE
              row_addr  <= req_row;
            end

      ACTIVATE: begin
              cmd_valid <= 1'b0;
              timer_q   <= TRCD - 1;  // TRCD = 16 for LPDDR5 @ 6400
              state_q   <= TRCD_WAIT;
            end

      TRCD_WAIT: begin
              timer_q <= timer_q - 1;
              if (timer_q == 0) state_q <= ISSUE_READ;
            end

      ISSUE_READ: begin
              cmd_valid <= 1'b1;
              cmd       <= CMD_RD;
              col_addr  <= req_col;
              timer_q   <= TCL - 1;  // TCL = 16
              state_q   <= TCL_WAIT;
            end

      TCL_WAIT: begin
              cmd_valid <= 1'b0;
              timer_q   <= timer_q - 1;
              if (timer_q == 0) state_q <= DATA_OUT;
            end

      DATA_OUT: begin
              // BL32: 16 DQ cycles × 2 (DDR) = 32 bytes per burst
              rd_data_valid <= 1'b1;
              state_q       <= PRECHARGE;
            end
    endcase
  end
end

09 Power Management Modes

ModePowerWake-up LatencyUse Case
Active (RW)~500–800 mW0Normal operation — CPU/GPU accessing memory
Idle (CLK off)~50 mW<1 µsShort idle between bursts
Self-Refresh (SR)~5–15 mW~5 µsScreen-off, light sleep — retains all data
PASR (Partial SR)~2–8 mW~5 µsRefresh only populated array portion
Deep Power-Down<1 mW~200 µsHibernate / data-retention not required

FAQ LPDDR Questions

What is LPDDR memory? +

LPDDR (Low Power Double Data Rate) is mobile-optimized SDRAM. It operates at lower voltages (1.05–1.1V vs 1.2V for DDR4), includes deep power-down modes, and is packaged in PoP (Package-on-Package) stacked directly on the SoC. Used in every smartphone, tablet, and modern IoT device.

What is the difference between LPDDR4 and LPDDR5? +

LPDDR5 offers 2× the data rate (6400 vs 3200 Mbps), 16 banks vs 8 (organized as 8 bank groups), a new WCK clock for signal integrity, on-die and link ECC for reliability, and 0.5V VDDQ (vs 1.1V) for lower power. LPDDR5X pushes further to 8533 Mbps.

How much bandwidth does LPDDR5 provide? +

LPDDR5 at 6400 Mbps with a 64-bit bus (standard 2-channel config): 6400 Mbps × 64 bits / 8 = 51.2 GB/s peak. At 85% efficiency = ~43.5 GB/s effective. LPDDR5X at 8533 Mbps reaches 68.3 GB/s peak.

What does tRCD, tCL, tRP mean? +

tCL: CAS latency — cycles from READ command to first data. tRCD: RAS-to-CAS — cycles between ACTIVATE and READ/WRITE. tRP: Row Precharge — cycles to close a row before opening another. These three parameters (together written as tCL-tRCD-tRP) define the core access latency.

What is ZQ calibration in LPDDR? +

ZQ calibration adjusts the LPDDR device's output driver impedance and ODT resistance to match the PCB's characteristic impedance (240Ω reference). It compensates for PVT (process, voltage, temperature) variations. ZQ_INIT runs at startup; ZQ_CAL_SHORT runs every few milliseconds during operation.

What is the difference between LPDDR and DDR? +

LPDDR uses lower voltages (1.05V vs 1.2V DDR4), has mobile-specific power modes (PASR, TCSR, deep power-down), uses a different connector/package (PoP vs DIMM), has a dedicated CA bus (LPDDR5), and is not physically interchangeable with desktop DDR. LPDDR prioritizes power; desktop DDR prioritizes raw bandwidth.

Single Port RAM Dual Port RAM All Digital Topics