DDR Overview

Embed Size (px)

Citation preview

  • 8/17/2019 DDR Overview

    1/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL1

    DDR3 Overview

    Sebin Kollamana

  • 8/17/2019 DDR Overview

    2/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL2

    DDR Evolution

    DDR3 overview

    DFI 3.1

    Verification of DDR physical layer and

    controller

    DDR4 overview

  • 8/17/2019 DDR Overview

    3/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL3

    DDR evolution

  • 8/17/2019 DDR Overview

    4/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL4

    SRAM Vs DRAM

    Static Random Access Memory (SRAM) is a type of semiconductor memory where the word static

    indicates that, unlike dynamic RAM (DRAM), it does not need to be periodically refreshed, as SRAMuses bistable latching circuitry to store each bit.

    SRAM is still volatile in the conventional sense that data is eventually lost when the memory is not

    powered.

    SRAM is more expensive, but faster and significantly less power hungry (especially idle) than

    DRAM. It is therefore used where either bandwidth or low power, or both, are principal

    considerations

    SRAMs are used as the primary caches in CPUs, data buffers of HDD etc

    DRAMs stores each bit of data in a separate capacitor within an integrated circuit. Since real

    capacitors leak charge, the information eventually fades unless the capacitor charge is refreshed

    periodically.

    The advantage of DRAM is its structural simplicity: only one transistor and a capacitor are required

    per bit, compared to six transistors in SRAM. This allows DRAM to reach very high density.

    For economic reasons, the large memories(RAM) found in personal computers are DRAMs

  • 8/17/2019 DDR Overview

    5/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL5

    SDR and DDR - DRAMs

    SDRAM has a synchronous interface, meaning that it waits for a clock

    signal before responding to control inputs and is thereforesynchronized with the computer's system bus.

    Single data rate SDRAM can accept one command and transfer one

    word of data per clock cycle whereas DDR SDRAMs can transfer a

    word per clock edge.

    Single data rate SDRAM were once used widely as computer RAMs

    but now replaced by DDR memories

    SDRAM – Synchronous Dynamic Random Access Memory

    DDR-SDRAM – Double Data Rate SDRAM

  • 8/17/2019 DDR Overview

    6/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL6

    DDR-DDR2-DDR3

    Frequency supported : DDR - 100/133/166/200MHz DDR2 - 100-

    533MHz DDR3 - 300-1066MHz Reduction in power consumption of 30% compared to DDR2 modules due to

    DDR3's 1.5 V supply voltage, compared to DDR2's 1.8 V or DDR's 2.5 V.

    Higher bandwidth made possible by DDR3's 8-bit wide prefetch buffer, incontrast to DDR2's 4-bit prefetch buffer or DDR's 2-bit buffer.

    Typical latencies for a DDR2 device were 5-5-5-15 where as 7-7-7-20(tCAS-

    tRCD-tRP-tRAS) for DDR3-1066 and 7-7-7-24 for DDR3-1333

    DDR3 latencies are numerically higher because the clock cycles by whichthey are measured are shorter

    DDR3 1066 – DDR3 working @533Mhz

  • 8/17/2019 DDR Overview

    7/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL7

    LPDDR2  – LPDDR3

    Frequency supported: LPDDR - 0-200MHz LPDDR2 - 0-533MHz

    Reduction in power consumption compared to DDR module.

    LPDDR uses 1.8 V supply voltage Where as LPDDR2 uses 1.2V as supply

    voltage (even less than DDR3’s 1.5V). 

    LPDDR devices use a single data rate architecture on the Command/Address

    where as LPDDR2 devices use a double data rate architecture on the

    Command/Address (CA) bus to reduce the number of input pins in thesystem.

    LPDDR and LPDDR2-S2 devices have 2n prefetch DQ architecture.

    LPDDR2 devices have 4n prefetch DQ architecture.

  • 8/17/2019 DDR Overview

    8/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL8

    DDR3

    Terminology and Commands

  • 8/17/2019 DDR Overview

    9/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL9

    Functional Block Diagram

  • 8/17/2019 DDR Overview

    10/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL10

    Interface signals

    • Clock – CK, CK# (input)

    • RESET#

    • Control Signals - CKE, CS#, RAS#, CAS#, WE# (input)

    •  Address Signals - BA0-BA2, A0-An (input)

    • Data signals – D0 –Dn, DM (bi-directional)• Data Strobe – DQS, DQS# (bi-directional)

  • 8/17/2019 DDR Overview

    11/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL11

    DDR3 Commands

    DDR2 commands are driven at single data rate, 1

    command per clock

    Control Signals - CKE, CS#, RAS#, CAS#, WE#

     Address Signals - BA0-BA2, A0-An

     Activate - Opens a particular row for Read/Write Access Pre-charge - Closes an open row in a particular bank or all

    banks

    Refresh

    Self Refresh

    Powerdown

  • 8/17/2019 DDR Overview

    12/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL12

  • 8/17/2019 DDR Overview

    13/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL13

    CAS Latency

    CAS Latency is the delay, in clock cycles, between the registration of

    a READ command and the availability of the first bit of output data.The CL can be set to 5-14 clocks, depending on the speed grade

    option being used.

  • 8/17/2019 DDR Overview

    14/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL14

    Additive Latency

    Delays the Read/Write commands internally by Additive latency

    number of cycles

     Additive Latency can be configured as zero, casl-1, casl-2

  • 8/17/2019 DDR Overview

    15/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL15

    Write Latency

    The memory expects write data after write latency number of cycles

    after the write command

    Write latency can be configured in the range 5 to 12 depending on the

    speed bin

  • 8/17/2019 DDR Overview

    16/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL16

    Burst Length

    Read and write accesses to the DDR3 SDRAM are burst-oriented,

    with the burst length being programmable to either four or eight.

    The programmed burst length applies to both read and write bursts

    Burst length can be programmed through the mode register or can be

    controlled dynamically via a12

  • 8/17/2019 DDR Overview

    17/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL17

    Burst Type  – Sequential, Interleaved

    The ordering of accesses within a burst is determined by the burst length, the

    burst type, and the starting column address

  • 8/17/2019 DDR Overview

    18/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL18

    Mode Register 0 (MR0)

  • 8/17/2019 DDR Overview

    19/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL19

    Mode Register 1 (MR1)

  • 8/17/2019 DDR Overview

    20/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL20

    Mode Register 2 (MR2)

  • 8/17/2019 DDR Overview

    21/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL21

    Mode Register 3 (MR3)

  • 8/17/2019 DDR Overview

    22/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL22

  • 8/17/2019 DDR Overview

    23/111© 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL23

    Questions

  • 8/17/2019 DDR Overview

    24/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL24

    DDR3

    Initialization

  • 8/17/2019 DDR Overview

    25/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL25

    Initialization

     Assert reset for 200us

     After de-asserting the reset, wait for 500us and then drive CKE high

    Clocks (CK, CK#) need to be started and stabilized for at least 10 ns or 5tCK (which is larger) before CKE goes active

    Once the CKE is registered “High” after Reset, CKE needs to becontinuously registered “High” until the initialization sequence is finished 

     After CKE is being registered high, wait minimum of Reset CKE Exit time,

    tXPR, before issuing the first MRS command to load mode register.(tXPR=max (tXS ; 5 x tCK)

    Issue MRS Command to load MR2 with all application settings

    Issue MRS Command to load MR3 with all application settings

    Issue MRS Command to load MR1 with all application settings and DLLenabled

    Issue MRS Command to load MR0 with all application settings and “DLLreset” 

    Issue ZQCL command to starting ZQ calibration.

    Wait for both tDLLK and tZQinit completed

  • 8/17/2019 DDR Overview

    26/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL26

    Initialization

  • 8/17/2019 DDR Overview

    27/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL27

    DDR3

    Write and Read

  • 8/17/2019 DDR Overview

    28/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL28

    Write

     A single write operation follows three steps Activate – 

    Write - Precharge

    tRRD – time between successive row

    access

    tRCD – activation of a row to read/write

    in that particular row

  • 8/17/2019 DDR Overview

    29/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL29

    Write ck/dq/dqs

    1 cycle preamble, dq/dqs relation, 0.5 cycle postamble

    tDQSS – time from posedge of ck to

    posedge of dqs

  • 8/17/2019 DDR Overview

    30/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL30

    Data Input Timing

    Due to routing imbalances, the DQ eye becomes very

    small.

    The DQ/DM eye has to meet the timing requirements – 

    tDS, tDH

  • 8/17/2019 DDR Overview

    31/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL31

    Back to Back Write

    tCCD – command to command delay

    Write commands are placed in such a way that the data

    flows seamlessly

  • 8/17/2019 DDR Overview

    32/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL32

    Read

     Activate – Read – Precharge

    1 cycle read preamble, half cycle postamble

    R d ti i

  • 8/17/2019 DDR Overview

    33/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL33

    Read timings

    B k t b k d

  • 8/17/2019 DDR Overview

    34/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL34

    Back-to-back reads

    Read command placing ensures that data flows

    continuously

    R d f ll d b W it

  • 8/17/2019 DDR Overview

    35/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL35

    Read followed by Write

    Should avoid bus contention

    Q ti

  • 8/17/2019 DDR Overview

    36/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL36

    Questions

  • 8/17/2019 DDR Overview

    37/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL37

    DDR3

    Refresh, Self-Refresh, Powerdown

    R f h

  • 8/17/2019 DDR Overview

    38/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL38

    Refresh

    The DRAM requires REFRESH cycles at an average interval of 7.8μs

    (maximum when TC ≤ 85°C or 3.9μs maximum when TC > 85°C).(tREFI - maximum average periodic refresh, tRFC – refresh to activate

    period)

     All banks must be precharged before entering the refresh.

     A maximum of eight REFRESH commands can be posted to any

    given DRAM, meaning that the maximum absolute interval betweenany REFRESH command and the next REFRESH command is nine

    times the maximum average interval refresh rate.

    R f h

  • 8/17/2019 DDR Overview

    39/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL39

    Refresh

    S lf R f h

  • 8/17/2019 DDR Overview

    40/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL40

    Self-Refresh

    The SELF REFRESH command is used to retain data in the DRAM,

    even if the rest of the system is powered down. When in self refreshmode, the DRAM retains data without external clocking.

    Self refresh mode is also a convenient method used to enable/disable

    the DLL as well as to change the clock frequency.

    Self Refresh

  • 8/17/2019 DDR Overview

    41/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL41

    Self-Refresh

    Power Down

  • 8/17/2019 DDR Overview

    42/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL42

    Power Down

    Entering power-down disables the input and output buffers, excluding

    CK, CK#, ODT, CKE, and RESET#. NOP or DES commands are required until tCPDED has been

    satisfied, at which time all specified input/output buffers are disabled.

    (tCPDED – Command pass disable delay)

    During power-down entry, if any bank remains open after all in-

    progress commands are complete, the DRAM will be in active power-down mode. If all banks are closed after all in-progress commands are

    complete, the DRAM will be in precharge power-down mode.

    DLL will be on during Active powerdown whereas in Precharge

    powerdown mode, DLL can be turned off (slow powerdown entry/exit)

    Power Down (active)

  • 8/17/2019 DDR Overview

    43/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL43

    Power Down (active)

    Clock Frequency Change

  • 8/17/2019 DDR Overview

    44/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL44

    Clock Frequency Change

    The input clock frequency can be changed from one

    stable clock rate to another under two conditions: selfrefresh mode and precharge power-down mode.

    It is illegal to change the clock frequency outside of those

    two modes

    Clock frequency change during precharge

  • 8/17/2019 DDR Overview

    45/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL45

    C oc eque cy c a ge du g p ec a gepowerdown

    Speed Bin

  • 8/17/2019 DDR Overview

    46/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL46

    Speed Bin

    Timing parameters Example

  • 8/17/2019 DDR Overview

    47/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL47

    Timing parameters - Example

    Timing parameters Example

  • 8/17/2019 DDR Overview

    48/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL48

    Timing parameters - Example

    Questions

  • 8/17/2019 DDR Overview

    49/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL49

    Questions

  • 8/17/2019 DDR Overview

    50/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL50

    DDR3

    Flyby topology and training 

    Flyby Topology

  • 8/17/2019 DDR Overview

    51/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL51

    Flyby Topology

    32 bit DDR3 DIMM – Flyby Topology

  • 8/17/2019 DDR Overview

    52/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL52

    32 bit DDR3 DIMM  – Flyby Topology

    DQ[31:0]/DQS[3:0]

    DQ[23:16]

    , DQS[2]

    DQ[31:24]

    , DQS[3]DQ[15:8],

    DQS[1]

    DQ[7:0],

    DQS[0]

    DQ[23:16]

    , DQS[2]

    DQ[31:24]

    , DQS[3]

    DQ[15:8],

    DQS[1]

    DQ[7:0],

    DQS[0]

    DQ[23:16]

    , DQS[2]

    DQ[31:24]

    , DQS[3]DQ[15:8],

    DQS[1]

    DQ[7:0],

    DQS[0]

    DQ[23:16]

    , DQS[2]

    DQ[31:24]

    , DQS[3]DQ[15:8],

    DQS[1]

    DQ[7:0],

    DQS[0]

    CS#[0]CKE[0]CS#[0]CKE[0] CS#[0]CKE[0]CS#[0]CKE[0]

    CS#[1]

    CKE[1]

    CS#[1]

    CKE[1]CS#[1]

    CKE[1]

    CS#[1]

    CKE[1]

    CS#[2]

    CKE[2]

    CS#[2]

    CKE[2]CS#[2]

    CKE[2]

    CS#[2]

    CKE[2]

    CS#[3]

    CKE[3]

    CS#[3]

    CKE[3]CS#[3]

    CKE[3]

    CS#[3]

    CKE[3]

    Control Signals +

    CK+ CKE + CS#

    Write Leveling

  • 8/17/2019 DDR Overview

    53/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL53

    Write Leveling

    The goal is to delay the write DQS/DQS# to match the

    CK/CK#. DDR3 has write leveling to achieve this.1. Complete the initialization procedure

    2. Enable write leveling mode using the mode register MR1

    3. The phy/controller sends dqs pulse to the DRAM

    4. DRAM samples the CK @ posedge of DQS and sendsthe result through DQ bus.

    5. Phy/controller samples the DQ bus, evaluates the resultand decides whether to delay the DQS further or not

    6. Steps 3 to 6 are repeated until the proper delay isdetermined

    7. Exit write leveling using MR1

    8. Resume operation

    Mode Register 1 (MR1)

  • 8/17/2019 DDR Overview

    54/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL54

    Mode Register 1 (MR1)

    Write Leveling – write DQS vs CK

  • 8/17/2019 DDR Overview

    55/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL55

    Write Leveling    write DQS vs CK

    Write Leveling

  • 8/17/2019 DDR Overview

    56/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL56

    Write Leveling

    Write Leveling

  • 8/17/2019 DDR Overview

    57/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL57

    Write Leveling

    Write Leveling

  • 8/17/2019 DDR Overview

    58/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL58

    Write Leveling

    Read DQS gate training

  • 8/17/2019 DDR Overview

    59/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL59

    Read DQS gate training

    The read dqs has a 0.9xCK read preamble and 0.5xCK

    read postamble. The phy uses the dqs to capture the DQ

    The dqs switches from valid to highZ to valid between

    write/read.

    The phy will open the gate only during the valid time to let

    the dqs in.

    The idea goal here is to find out the sweet spot for

    opening the dqs gate for reads

    Read DQS gate training

  • 8/17/2019 DDR Overview

    60/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL60

    Read DQS gate training

    Read DQS gate training

  • 8/17/2019 DDR Overview

    61/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL61

    Read DQS gate training

    1. Complete the initialization, do write leveling if required

    2. Controller/phy issues read commands to the DRAM3. The DRAM responds by sending DQS and DQ (it is a

    normal read operation, the DRAM doesn’t know thatgate training is happening)

    4. The controller/phy evaluates the read dqs and delays thegate

    5. Steps 2 to 4 are repeated until the gate is delayedsufficiently

    6. Resume operation

    Read DQ Eye Training

  • 8/17/2019 DDR Overview

    62/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL62

    Read DQ Eye Training

    The read DQ eye becomes extremely small owing to theuncertainties on board, package, IO, clock jitter etc

    The phy uses DQS to capture the read data (DQ)

    The goal is to delay the DQS to find the sweet spot forsampling the DQ

    1. Complete initialization, write leveling and gate training (ifrequired)

    2. Use MR3 to set MPR read. This will make the DRAM to give apre-defined pattern as read data.

    3. Issue read command to the DRAM. The DRAM returns thepredefined pattern as read DQ

    4. The phy/controller will analyze the sampled dq and delays the

    dqs if needed.5. Steps 3,4 is repeated until the pre-defined pattern is correctly

    sampled.

    6. Resume normal operation

    Mode Register 3 (MR3)

  • 8/17/2019 DDR Overview

    63/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL63

    Mode Register 3 (MR3)

    Read DQ vs DQS

  • 8/17/2019 DDR Overview

    64/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL64

    ead Q s QS

  • 8/17/2019 DDR Overview

    65/111

  • 8/17/2019 DDR Overview

    66/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL66

    DFI 3.1

    What is DFI

  • 8/17/2019 DDR Overview

    67/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL67

    Defines the connectivity between a DDR memory

    controller (MC) and a DDR physical interface (PHY) formemory devices.

    Defines the signals, signal relationships, and timing

    parameters required to transfer control information anddata to and from the DRAM devices over the DFI.

    Supports an MC and PHY operating in either matched

    frequency or a frequency ratio, or both.

    DFI Interfaces

  • 8/17/2019 DDR Overview

    68/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL68

    Control Interface

     Write Data Interface

     Read Data Interface

     Update Interface

     Status Interface

     Training Interface

     Low Power Control Interface

    DFI Interfaces

  • 8/17/2019 DDR Overview

    69/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL69

    DATA

    PHY

    Control Interface

    Write data interface

    Read data interface

    Update interface

    Status interface

    Training interface

    Low power control interface

    DDR4 Specific interface

    Currently this interface is

    not part of DFI 2.1

    protocol

    DFI

    Interface   C  o  n   t  r  o

       l   l  e  r

    Leveling / Training Logic

    CMD

    PHY

    DDR4 Features

    Control Interface

  • 8/17/2019 DDR Overview

    70/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL70

    DFI

    interface

    DRAM

    interface

    Data Interface - write

  • 8/17/2019 DDR Overview

    71/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL71

    DFI

    interface

    DRAM

    interface

    Data interface - read

  • 8/17/2019 DDR Overview

    72/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL72

    Update Interface

  • 8/17/2019 DDR Overview

    73/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL73

    Status Interface

  • 8/17/2019 DDR Overview

    74/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL74

    Status Interface

  • 8/17/2019 DDR Overview

    75/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL75

    Status Interface

  • 8/17/2019 DDR Overview

    76/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL76

    Training interface

  • 8/17/2019 DDR Overview

    77/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL77

    Write leveling

    Read gate training Read data eye training

    The MC or the PHY may initiate any training operation.

     Training may be executed during initialization, frequency change or

    during normal operation.

    The PHY can request training by driving the dfi_rdlvl_gate_req or  

    dfi_rdlvl_req or  dfi_wrlvl_req 

    The MC must respond to any of these requests by asserting the

    appropriate enable (dfi_rdlvl_en, dfi_wrlvl_en or dfi_rdlvl_gate_en)

    Training request timing

  • 8/17/2019 DDR Overview

    78/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL78

    Read gate

  • 8/17/2019 DDR Overview

    79/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL79

    Read training in DFI training mode

  • 8/17/2019 DDR Overview

    80/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL80

    Write Leveling in DFI training mode

  • 8/17/2019 DDR Overview

    81/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL81

    Phy requested training mode

  • 8/17/2019 DDR Overview

    82/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL82

    PHY asserts the dfi_phylvl_req_cs_n[x] associated with the

    chip select, and the MC grants the bus to the PHY for trainingusing the following sequence:

    1. The MC places the DRAM associated with the requested chipselect in the IDLE state.

    2. The MC idles the DFI bus.

    3. The MC asserts dfi_phylvl_ack_cs_n[x]. When the PHY completes training for a given chip select, the

    PHY uses the following sequence:

    1. The PHY de-asserts the dfi_phylvl_req_cs_n[x] signalassociated with the specific chip select.

    2. The MC de-asserts the dfi_phylvl_ack_cs_n[x] signals assoon as possible after all dfi_phylvl_req_cs_n signals arede-asserted.

    Phy requested training mode

  • 8/17/2019 DDR Overview

    83/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL83

    Low power control

  • 8/17/2019 DDR Overview

    84/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL84

    If the request is acknowledged through the assertion of the

    dfi_lp_ack signal, the PHY may enter a low power mode as long as

    the dfi_lp_ctrl_req or dfi_lp_data_req signal remains asserted.

    Once the dfi_lp_ctrl_req or dfi_lp_data_req signal is de-asserted,

    the PHY must return to normal operating mode within the number of

    cycles indicated by the dfi_lp_wakeup signal.

    Frequency Ratio

  • 8/17/2019 DDR Overview

    85/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL85

    PHY transfers data at a higher data rate relative to the

    DFI clock. MC has the option to execute multiple commands in a

    single DFI clock cycle.

    Supports 1:1 or 1:2 or 1:4 MC to PHY frequency ratio.

    The MC -> PHY interface works on DFI clock and thePHY works on DFI PHY clock.

    The frequency of DFI PHY clock and the memory clock

    should always be the same.

    The DFI clock and the DFI PHY clock should be phasealigned.

    Frequency ratio - clocks

  • 8/17/2019 DDR Overview

    86/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL86

    Ratio  – 1:2

  • 8/17/2019 DDR Overview

    87/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL87

    Ratio 1:2

  • 8/17/2019 DDR Overview

    88/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL88

    Ratio  – 1:4

  • 8/17/2019 DDR Overview

    89/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL89

    Ratio  – 1:4

  • 8/17/2019 DDR Overview

    90/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL90

    Ratio  – 1:4

  • 8/17/2019 DDR Overview

    91/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL91

    Questions

  • 8/17/2019 DDR Overview

    92/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL92

  • 8/17/2019 DDR Overview

    93/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL93

    Verification of DDR PHY/Controller

    Verification of DDR PHY

  • 8/17/2019 DDR Overview

    94/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL94

    Verification of Integrated controller and PHY

  • 8/17/2019 DDR Overview

    95/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL95

    DRAM/DIMM model configurations

  • 8/17/2019 DDR Overview

    96/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL96

    Intra-rank and inter-rank flyby delays

    The DIMM models (for eg: DENALI) have options to control inter-rank( theflyby delay between multiple chip selects) and intra-rank(flyby delay betweenmodules in the same chip select). Verification need to ensure that bothdelays are configured while doing training tests

    DQ/DQS uncertainty

    The DRAM specification allows some uncertainty on the read DQS and DQbits. Ensure that the DRAM model has this feature and that it is not turned offby configuration. This is critical for training tests

    DRAM initialization

    The DRAM initialization typically takes long time to complete due to reset,cke requirements. However after the initial sanity testing, these parameterscan be configured to a lower value to speed up the simulation

    Differential signal skew The DRAM model can be configured for tolerating a small amount of skew

    between the differential signals – CK/CK#, DQS/DQS#. But ensure that thetolerance limit is within the specifications.

    Sources of uncertainty in the testbench

  • 8/17/2019 DDR Overview

    97/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL97

    PLL jitter – spread spectrum clocking

    The PLL which generates the clock to the PHY might have some jitter characteristics. This will affect the training logic and the DLLand the CK/CK# going to the DRAM. Hence the verificationenvironment has to model this jitter or use the PLL model itself forgenerating the clock.

    Board skew and routing delays (static)

    In real world application, there would be certain board delay andskew between the DRAM signals. It is good to model these in theverification environment

    Board/IO jitter (dynamic)

    The IO/package jitter, board jitter, ISI etc can be translated to asuitable random variation and could be applied on the DRAMinterface signals.

    Some jitter can break the training logic, however the phy can do ashort training to compensate this.

    Some interesting scenarios

  • 8/17/2019 DDR Overview

    98/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL98

    DLL characterization (DLL inside the PHY) The PHY might be having DLLs and slave delay lines to take care of the dqs, dqs gate delays.

    Ensure that the delay lines support the highest and the lowest frequency of operation. Alsomake sure that the delay line can support the maximum board/flyby delay. This becomessignificant while doing GLS at the best corner

    DLL ON/OFF mode (DLL inside the DRAM) During normal operation the DLL will be ON, however for low frequency applications such as

    FPGA prototyping, the DRAM might be operated in DLL OFF mode.

    READ tightly followed by WRITE and then followed by READ

    This will test how fast the PHY can switch between READ/WRITE  Also tests the valid-highZ-valid switching in the DQS/DQ bus.

    Back to back READ/WRITE to test the throughput, power consumption

    Dynamically changing the frequency. This will test DLL lock/unlock,powerdown/self-refresh features. Phy has to retrain following a frequency change.

    Increasing the board delay/flyby delay can test the read FIFO inside the PHY

    Questions

  • 8/17/2019 DDR Overview

    99/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL99

  • 8/17/2019 DDR Overview

    100/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL100

    DDR4

    Additional Interface Signals

  • 8/17/2019 DDR Overview

    101/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL101

    C0, C1, C2 (input) – Chip ID, is part of the command code

    ACT_n (input) – Activation command RAS_n/A16, CAS_n/A15, WE_n/A14 (input) – Multifunction pins. Axx

    when ACT_n is low

    DM_n/DBI_n/TDQS_t (input/output) – Data Mask / Data Bus

    Inversion/ Termination DQS depending on mode register settings

    BG0-BG1 (input) – Bank Group inputs

    PAR (input) – Command and Address parity input

    ALERT_n (input/output) – CRC Error Flag /Command Address parity

    error Flag / as Input during connectivity test

    TEN  – Connectivity test mode enable

    Command Truth Table

  • 8/17/2019 DDR Overview

    102/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL102

    Command Truth table

  • 8/17/2019 DDR Overview

    103/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL103

    Training procedures

  • 8/17/2019 DDR Overview

    104/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL104

    Write Leveling

    DQ eye training MPR settings

    MPR Read

    MPR Write

    4 MPRs are available, controlled through MR3

    ZQ Calibration

    DQ Vref calibration

     A MRS command to the mode register bits 5:0 of MR6 are used

    to program the vref value. VrefDQ training mode is

    enabled/disabled by A7 of MR6 and training range can be

    selected by A6 of MR6

    Features

  • 8/17/2019 DDR Overview

    105/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL105

    Per DRAM addressability

     Allows programmability of a given device on a rank. As anexample, this feature can be used to program different ODT or

    Vref values on DRAM devices on a given rank

    CAL (CS_n to Command Address latency)

    CAL gives the DRAM time to enable the CMD/ADDR receivers

    before a command is issued. Once the command and the

    address are latched, the receivers can be disabled. For

    consecutive commands, the DRAM will keep the receivers

    enabled for the duration of the command sequence

    Features

  • 8/17/2019 DDR Overview

    106/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL106

    Error Correction (CRC and Parity)

    CRC DDR4 supports CRC for write operation, and doesn’t support

    CRC for read operation

    CRC Error mechanism shares the same Alert_n signal for

    reporting errors on writes to DRAM. The controller has no way to

    distinguish between CRC errors and Command/Address/Parity

    errors other than to read the DRAM mode registers

    Features

  • 8/17/2019 DDR Overview

    107/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL107

    Parity

    Only for Command [A2:A0] of MR5 are defined to enable or disable C/A Parity in the

    DRAM

    PAR signal is used to send the parity

     Alert_n to flag error

    Programmable read and write preamble

    Read and write preambles programmable through Mode registers

    Both the postambles are fixed

    Features

  • 8/17/2019 DDR Overview

    108/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL108

    Connectivity test

    The DDR4 memory device supports a connectivity test (CT)mode, which is designed to greatly speed up testing of electrical

    continuity of pin interconnection on the PC boards between the

    DDR4 memory devices and the memory controller on the SoC

     Allows test patterns to be entered in parallel into the test input

    pins and the test results extracted in parallel from the test outputpins of the DDR4 memory device at the same time

    Features

  • 8/17/2019 DDR Overview

    109/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL109

    ODT

    The ODT feature is designed to improve signal integrity of the memory channel byallowing the DRAM controller to independently change termination resistance for

    any or all DRAM devices.

    Controller can control each RTT condition with WR/RD command and ODT pin

    RTT values have priority as following.

    1. Data Termination Disable

    2. RTT_WR (Termination value for a write regardless of ODT pin)

    3. RTT_NOM (value when ODT is high)

    4. RTT_PARK (default value when OCT is LOW)

    if there is WRITE command along with ODT pin HIGH, then DRAM turns on

    RTT_WR not RTT_NOM, and also if there is READ command, then DRAM

    disables data termination regardless of ODT pin and goes into Driving mode.

    References

  • 8/17/2019 DDR Overview

    110/111

    © 2014 WIPRO LTD | WWW.WIPRO.COM | CONFIDENTIAL110

    MT41J256M4 – www.micron.com 

    JESD79-4 –

     www.jedec.org  DFI 3.1  – www.ddr-phy.org 

    http://www.micron.com/http://www.jedec.org/http://www.ddr-phy.org/http://www.ddr-phy.org/http://www.ddr-phy.org/http://www.ddr-phy.org/http://www.jedec.org/http://www.micron.com/

  • 8/17/2019 DDR Overview

    111/111

    Sebin Kollamana

    [email protected]

    Thank You