Double Data Rate 3 (DDR 3)
Double Data Rate 3 (DDR 3)
Double Data Rate 3 (DDR 3)
DDR3
- Naveen Kumar
Double Data Rate (DDR)
• DDR define the High speed data transfer between memory controller
and memory Module.
• DDR protocol allow for data to be tarnsfered on both the rising &
falling edge of the signals.
• This dobles the data transfer rate over single data protocol.
- Naveen Kumar
Features
• VDD = VDDQ = 1.5V ±0.075V(VDD-Supply voltage for Digital circuit in chip)
• VDDQ 1.5V center-terminated push/pull I/O (VDDQ-voltage for I/O circuit)
• 8n-bit prefetch architecture(Redunce the Latency)
• Differential clock inputs (CK, CK#)
• 8 internal banks
• Selectable BC4 or BL8 on-the-fly (OTF)
• Self refresh mode
• Multipurpose register
- Naveen Kumar
8n Prefetch
• DDR protocol support an 8n prefetch architecture.
• This is mean memory controller can prefetch 8 data words at a time, which reduce latancy of
memory access.
On-Die-Termination
• To improve signal integrity
• This is reduce the need for extranal termination register, which save space and power.
Fly-by-topology
• DDR protocol uses a FBT topology to reduce signal skew.
• Efficient transfer data between the memory controller and memory modules.
- Naveen Kumar
APPLICATIONS
• Higher Speed Data transfer rate (double clk freq, no. of data transfered per clk)
• Low Power Consumption(Reducing voltage from 1.8v to 1.5v)
• Improved signal Integrity(High Speed Data transfer)
- Naveen Kumar
Industrial Temperature
• The industrial temperature (IT) device requires that the case
temperature not exceed –40°C or 95°C.
• JEDEC specifications require the refresh rate to double when TC
exceeds 85°C;
• Additionally, ODT resistance and the input/output impedance must be
derated when TC is < 0°C or >95°C.
- Naveen Kumar
• Row address is denoted as,
Example:
1Gb: n = 12 (x16); 1Gb: n = 13 (x4, x8);
2Gb: n = 13 (x16) and 2Gb: n = 14 (x4, x8);
4Gb: n = 14 (x16); and 4Gb: n = 15 (x4,x8).
- Naveen Kumar
Functional Description
• DDR3 SDRAM uses a double data rate architecture to achieve high-speed operation.
• The double data rate architecture is an 8n-prefetch architecture with an interface designed
to transfer two data words per clock cycle at the I/O pins.
• A single read or write operation for the DDR3 SDRAM effectively consists of a single
8n-bit-wide, four-clockcycle data transfer at the internal DRAM core and eight
corresponding n-bit-wide, onehalf-clock-cycle data transfers at the I/O pins.
- Naveen Kumar
DQS, DQS#
• Data strobe is transmitted externally along with data for use in data capture at
DDR3 SDRAM input receiver.
• DQS is center-aligned with data for WRITEs.
• DQS is Edge-aligned with data for Read data.
CK and CK#
• CK - Positive edge of the clock (HIGH)
• CK#- Negative Edge of the clock(LOW)
• Control ,Command and address signal are regitered at every positive edge of CK.
• Input data is registered on the first rising edge of DQS after the WRITE preamble.
• Output data is referenced on the first rising edge of DQS after the READ
preamble.
- Naveen Kumar
• Registered ACTIVATE command - then followed by WRITE or WRITE
command.
• Address bits are registered with the ACTIVATE command used to
select the bank and row to be accessed.
• Address bits are registered with READ or WRITE command are used to
select the bank and starting column location for burst Access.
• The device uses a READ and WRITE BL8 and BC4.
• Self-Refresh mode is provided, along with power saving and power-
down mode.
- Naveen Kumar
CKE(clock Enable)
• CKE enables (registered HIGH) and disables (registered LOW) internal circuitry and
clocks on the DRAM.
• Taking CKE LOW provides PRECHARGE POWER-DOWN and SELF REFRESH
operations (all banks idle), or CKE HIGH power-down (row active in any bank).
• CKE is synchronous for power-down entry and exit and for self refresh entry.
• CKE is asynchronous for self refresh exit.
• Input buffers (excluding CK, CK#, CKE, RESET#, and ODT) are disabled during
POWER-DOWN.
• Input buffers (excluding CKE and RESET#) are disabled during SELF REFRESH.
- Naveen Kumar
Input Output Capacitance
• 1. VDD = 1.5V ±0.075mV, VDDQ = VDD, VREF = VSS, f = 100 MHz, TC = 25°C. VOUT(DC) = 0.5 ×
• VDDQ, VOUT = 0.1V (peak-to-peak).
• 2. DM input is grouped with I/O pins, reflecting the fact that they are matched in loading.
• 3. Includes TDQS, TDQS#. CDDQS is for DQS vs. DQS# and TDQS vs. TDQS# separately.
• 4. CDIO = CIO(DQ) - 0.5 × (CIO(DQS) + CIO(DQS#)).
• 5. Excludes CK, CK#; CTRL = ODT, CS#, and CKE; CMD = RAS#, CAS#, and WE#; ADDR =
• A[n:0], BA[2:0].
• 6. CDI_CTRL = CI(CTRL) - 0.5 × (CCK(CK) + CCK(CK#)).
• 7. CDI_CMD_ADDR = CI(CMD_ADDR) - 0.5 × (CCK(CK) + CCK(CK#)).
- Naveen Kumar
Mode Register
• Mode registers (MR0–MR3) are used to define various modes of
programmable operations of the DDR3 SDRAM.
• A mode register is programmed via the mode register set(MRS) command
during initialization, and it retains the stored information (except for MR0[8],
which is self-clearing) until it is reprogrammed, RESET# goes LOW, the
device loses power.
• The MRS command can only be issued (or re-issued) when all banks are idle
and in the precharged state (tRP is satisfied and no data bursts are in progress).
• After an MRS command has been issued, two parameters must be satisfied:
tMRD and tMOD. The controller must wait tMRD before initiating any
subsequent MRS commands.
- Naveen Kumar
• 1. Prior to issuing the MRS command, all banks must be idle and
precharged, tRP (MIN) must be satisfied, and no data bursts can be in
progress.
• 2. tMRD specifies the MRS to MRS command minimum cycle time.
• 3. CKE must be registered HIGH from the MRS command until tMRSPDEN
(MIN) (see Power-Down Mode.
• 4. For a CAS latency change, tXPDLL timing must be met before any non-
MRS command.
- Naveen Kumar
• 1. Prior to issuing the MRS command, all banks must be idle (they must be
precharged, tRP must be satisfied, and no data bursts can be in progress).
• 2. Prior to Ta2 when tMOD (MIN) is being satisfied, no commands (except
NOP/DES) may by issued.
• 3. If RTT was previously enabled, ODT must be registered LOW at T0 so that
ODTL is satisfied prior to Ta1. ODT must also be registered LOW at each
rising CK edge from T0 until tMODmin is satisfied at Ta2.
• 4. CKE must be registered HIGH from the MRS command until tMRSPDEN
(MIN), at which time power-down may occur (see Power-Down Mode .
- Naveen Kumar
Mode Register 0(MR0)
• The base register, MR0, is used to define various DDR3 SDRAM modes of
operation.
• These definitions include the selection of a burst length, burst type, CAS
latency, operating mode, DLL RESET, write recovery, and precharge power-
down mode.
- Naveen Kumar
Burst Length
- Naveen Kumar
Write Recovery
• WRITE recovery time is defined by MR0[11:9].
• Write recovery values of 5, 6, 7, 8, 10, or 12 may be used by
programming MR0[11:9].
• The user is required to program the correct value of write recovery
and is calculated by dividing tWR (ns) by tCK (ns) and rounding up a
noninteger value to the next integer:
WR (cycles) = roundup (tWR [ns]/tCK [ns]).
Precharge Power Down
• The mode register 1 (MR1) controls additional functions and features not available in the
other mode registers:
• Q OFF (OUTPUT DISABLE).
• TDQS (for the x8 configurationonly).
• DLL ENABLE/DLL DISABLE.
• RTT.
• nom value (ODT).
• WRITE LEVELING.
• POSTED CAS ADDITIVE latency, and OUTPUT DRIVE STRENGTH.
- Naveen Kumar
• The function are controlled via bits.
• The MR1 register is programmed via Mode register set(MRS) command,
retains the stored information until it is reprogrammed, until RESET#
goes LOW, or until the device loses power.
• Reprogramming the MR1 register will not alter the contents of the
memory array, provided it is performed correctly.
• The MR1 register must be loaded when all banks are idle and no bursts
are in progress.
• The controller must satisfy the specified timing parameters tMRD and
tMOD before initiating a subsequent operation.
DLL Enable/Disable
• The DLL may be enabled or disabled by programming MR1[0] during the LOAD
MODE command.
• DLL enable - power-up initialization and upon returning to Normal operation.
• DLL Disable - DLL for the purpose of debugging or evaluation.
• Enabling the DLL should always be followed by resetting the DLL using the
appropriate LOAD MODE command.
• DLL Enable - Entering the self refresh mode.
• DLL Automatically Disable - Entering SELF REFRESH operation and is
automatically reenabled and reset upon exit of SELF REFRESH operation.
* ODT is not allowed to be used
* The output data is no longer edge-aligned to the clock
* CL and CWL can only be six clocks
Output Drive Strength(ODT)
• The drive strength mode register setting is defined by MR1[5, 1].
• RZQ/7 (34Ω [NOM]) is the primary output driver impedance setting for DDR3 SDRAM devices.
• RZQ/7 (34Ω [NOM]) is the primary output driver impedance setting for DDR3 SDRAM devices
• To calibrate the output driver impedance, an external precision resistor (RZQ) is connected between the
ZQ ball and VSSQ.
• The value of the resistor must be 240Ω ±1%.
• The output impedance is set during initialization.
• To meet the 34Ω specification, the output drive strength must be set to 34Ω during initialization.
• To obtain a calibrated output driver impedance after power-up, the DDR3 SDRAM needs a calibration
command that is part of the initialization and reset procedure.
OUTPUT Enable/Disable
• The OUTPUT ENABLE function is defined by MR1[12].
• When enabled (MR1[12] = 0) - all outputs (DQ, DQS, DQS#)
function when in the normal mode of operation.
• When disabled (MR1[12] = 1) - all DDR3 SDRAM outputs (DQ and
DQS, DQS#) are tri-stated(Three state).
• The output disable feature is intended to be used during IDD
characterization of the READ current and during tDQSS margining
(write leveling) only.
Termination Data Strobe(TDQS)
• Termination data strobe (TDQS) is a feature of the x8 DDR3 SDRAM
configuration that provides termination resistance (RTT) and may be useful in
some system configurations.
• TDQS is not supported in x4 or x16 configurations.
• When enabled via the mode register (MR1[11]), the RTT that is applied to
DQS and DQS# is also applied to TDQS and TDQS#.
• The OUTPUT DATA STROBE function of RDQS is not provided by TDQS;
thus, RON does not apply to TDQS and TDQS#.
• When the TDQS function is enabled via the mode register, the DM function is
not supported.
• When the TDQS function is disabled, the DM function is provided and and the
TDQS# ball is not used.
On-Die-Termination
• ODT resistance RTT,nom is defined by MR1[9, 6, 2].
• The RTT termination value applies to the DQ, DM, DQS, DQS#, and TDQS, TDQS#
balls.
• DDR3 supports multiple RTT termination values based on RZQ/n where n can be 2, 4, 6,
8, or 12 and RZQ is 240Ω.
• RTT,nom termination is allowed any time after the DRAM is initialized, calibrated, and
not performing read access, or when it is not in self refresh mode.
• Additionally, write accesses with dynamic ODT enabled (RTT(WR)) temporarily replaces
RTT,nom with RTT(WR).
• The ODT feature is designed to improve signal integrity of the memory channel by
enabling the DDR3 SDRAM controller to independently turn on/off ODT for any or all
devices.
• The ODT input control pin is used to determine when RTT is turned on (ODTL on) and
off (ODTL off), assuming ODT has been enabled via MR1[9, 6, 2].
Write leveling
• The WRITE LEVELING function is enabled by MR1[7].
• Write leveling is used (during initialization) to deskew the DQS strobe
to clock offset as a result of fly-by topology designs.
• DDR3 SDRAM memory modules adopted fly-by topology for the
commands, addresses, control signals, and clocks.
• fly-by topology benefits from a reduced number of stubs and their
lengths.
• fly-by topology induces flight time skews between the clock and DQS
strobe (and DQ) at each DRAM on the DIMM.
POSTED CAS ADDITIVE Latency
• POSTED CAS ADDITIVE latency (AL) is supported to make the command and data bus.
• MR1[4, 3] define the value of AL .
• MR1[4, 3] enable the user to program the DDR3 SDRAM with AL = 0, CL - 1, or CL - 2.
• DDR3 SDRAM enables a READ or WRITE command to be issued after the ACTIVATE
command for that bank prior to tRCD (MIN).
• The only restriction is ACTIVATE to READ or WRITE + AL ≥ tRCD (MIN) must be
satisfied.
• Assuming tRCD (MIN) = CL, a typical application using this feature sets AL = CL - 1tCK
= tRCD (MIN) - 1tCK.
• READ latency (RL) is controlled by the sum of the AL and CAS latency (CL), RL = AL +
CL.
• WRITE latency (WL) is the sum of CAS WRITE latency and AL, WL = AL + CWL.
Mode Register2(MR2)
• The mode register 2 (MR2) controls additional functions and features not available in the
other mode registers.
• Additional functions are CAS WRITE latency (CWL), AUTO SELF REFRESH (ASR),
SELF REFRESH TEMPERATURE (SRT), and DYNAMIC ODT (RTT(WR)).
• These functions are controlled via the bits.
• The MR1 register is programmed via the MRS command and retains the stored
information until it is reprogrammed, until RESET# goes LOW, or until the device loses
power.
• Reprogramming the MR1 register will not alter the contents of the memory array,
provided it is performed correctly.
• The MR1 register must be loaded when all banks are idle and no bursts are in progress.
• The controller must satisfy the specified timing parameters tMRD and tMOD before
initiating a subsequent operation. - Naveen Kumar
CAS Write Latency(CWL)
• CWL is defined by MR2[5:3] and is the delay, in clock cycles, from the releasing
of the internal write to the latching of the first data in.
• CWL must be correctly set to the corresponding operating clock frequency.
• The overall WRITE latency (WL) is equal to CWL + AL .
Auto Self Refresh(ASR)
• The mode register 3 (MR3) controls additional functions and features not available in
the other mode registers.
• Currently defined is the MULTIPURPOSE REGISTER (MPR).
• This function is controlled via the bits.
• The MR3 is programmed via the LOAD MODE command and retains the stored
information until it is programmed again or until the device loses power.
• Reprogramming the MR3 register will not alter the contents of the memory array,
provided it is performed correctly.
• The MR3 register must be loaded when all banks are idle and no data bursts are in
progress, and the controller must wait the specified time tMRD and tMOD before
initiating a subsequent operation.
Multipurpose Regiter(MPR)
• The MPR JEDEC definition enables either a prime DQ (DQ0 on a x4 and a x8; on
a x16, DQ0 = lower byte and DQ8 = upper byte) to output the MPR data with the
remaining DQs driven LOW, or for all DQs to output the MPR data.
• fixed READ burst and READ burst chop (MRS and OTF via A12/BC#) with
regular READ latencies and AC timings applicable, provided the DLL is locked as
required.
MPR addressing for a valid MPR read is as follows:
• A[1:0] must be set to 00 as the burst order is fixed per nibble
• A2 selects the burst order:
– BL8, A2 is set to 0, and the burst order is fixed to 0, 1, 2, 3, 4, 5, 6, 7
• For burst chop 4 cases, the burst order is switched on the nibble base along with the following:
– A2 = 0; burst order = 0, 1, 2, 3
– A2 = 1; burst order = 4, 5, 6, 7
Burst order bit 0 (the first bit) is assigned to LSB, and burst order bit 7 (the last bit) is
• assigned to MSB
• A[9:3] are a “Don’t Care”
• A10 is a “Don’t Care”
• A11 is a “Don’t Care”
• A12: Selects burst chop mode on-the-fly, if enabled within MR0
• A13 is a “Don’t Care”
• BA[2:0] are a “Don’t Care”
MPR Register Address Definitions and Bursting Order
• The MPR currently supports a single data format. This data format is a
predefined read pattern for system calibration. The predefined
pattern is always a repeating 0–1 bit pattern.
Note:(Fig 59)
• 1. READ with BL8 either by MRS or OTF.
• 2. Memory controller must drive 0 on A[2:0].