DDR Sdram
DDR Sdram
DDR Sdram
By U.Satish Babu
1
What is DDR?
2
DDR Terminology
3
Typical DDR3 Memory Controller Sub-system along with
its various components
4
DDR Architecture
5
6
DDR3 Prefetch
DDR3 is still a DDR because with each cycle two
bits are being transmitted through 2 data eyes, it
behaves exactly the same as all other DDR
SDRAM, except that it has a 8n prefetch
DDR3 SDRAM gives a transfer rate of
(memory clock rate) × 4 (for bus clock multiplier) ×
2 (for data rate) × 64 (number of bits transferred) / 8
(number of bits/byte). Thus with a memory clock
frequency of 100 MHz, DDR3 SDRAM gives a
maximum transfer rate of 6400 MB/s
7
High Speed Memory Design Considerations
8
ODT ( On-die termination )
9
Pinout Description
Clock: CK and CK# are differential clock inputs. All address and control
input signals are sampled on the crossing of the positive edge of CK
and negative edge of CK#.
Clock Enable: CKE HIGH activates, and CKE Low deactivates, internal
clock signals and device input buffers and output drivers
Chip Select: All commands are masked when CS# is registered HIGH.
CS# provides for external Rank selection on systems with multiple
Ranks.
On Die Termination: ODT (registered HIGH) enables termination
resistance internal to the DDR3 SDRAM
Command Inputs: RAS#, CAS# and WE# (along with CS#) define the
command being entered
Input Data Mask: DM is an input mask signal for write data. Input data is
masked when DM is sampled HIGH coincident with that input data 10
during a Write access.
Pinout Description
Bank Address Inputs: BA0 - BA2 define to which bank an Active, Read,
Write, or Precharge command is being applied. Bank address also
determines which mode register is to be accessed during a MRS cycle
Address Inputs: Provide the row address for Active commands and the
column address for Read/Write commands to select one location out of
the memory array in the respective bank (A0-A15)
Auto-precharge: A10 is sampled during Read/Write commands to
determine whether Autoprecharge should be performed to the accessed
bank after the Read/Write operation
Burst Chop: A12 / BC# is sampled during Read and Write commands to
determine if burst chop (on-the-fly) will be perform
Active Low Asynchronous Reset: Reset is active when RESET# is LOW,
and inactive when RESET# is HIGH. RESET# must be HIGH during
normal operationed
11
Pinout Description
Data Input/ Output (DQ): Bi-directional data bus
Data Strobe (DQS): output with read data, input with write data. Edge-
aligned with read data, centered in write data
ZQ : Reference Pin for ZQ calibration
VDDQ : DQ Power Supply: 1.5 V +/- 0.075 V
VSSQ : DQ Ground
VDD : Power Supply: 1.5 V +/- 0.075 V
VSS : Ground
VREFDQ : Reference voltage for DQ
VREFCA : Reference voltage for CA
12
Simplified State Diagram
13
Mode Registers
For application flexibility, various functions, features, and modes are
programmable in four Mode Registers (MR0 – MR3)
The default values of the Mode Registers (MR#) are not defined,
contents of Mode Registers must be fully initialized and/or re-initialized,
i.e., written, after power up and/or reset
MR0 : Ref Page 38
MR1 : Ref Page 41
MR2 : Ref Page 44
MR3 : Ref Page 46
14
Mode Registers
The Mode Registers (MR0 to MR3) are written by asserting low on CS#,
RAS#, CAS#, WE#, and select appropriate values on BA0, BA1 and
BA2,
15
Command Description
Mode Register Set : MRS
Refresh : REF
Self Refresh Entry : SRE
Self Refresh Exit : SRX
Single Bank Precharge : PRE
Precharge all Banks : PREA
Bank Activate : ACT
Write (Fixed BL8 or BC4) : WR
Write with Auto Precharge (Fixed BL8 or BC4) : WRA
Read (Fixed BL8 or BC4) RD
Read with Auto Precharge (Fixed BL8 or BC4) RDA
No Operation NOP
Device Deselected DES
Power Down Entry PDE
Power Down Exit PDX
ZQ Calibration Long ZQCL
ZQ Calibration Short ZQCS
16
No OPeration (NOP)
Command
The No OPeration (NOP) command is used to instruct the selected
DDR3 SDRAM to perform a NOP
17
Deselect Command
The DESELECT function prevents new commands from being executed
by the DDR3 SDRAM.
(CS# HIGH)
18
ACTIVE Command
The ACTIVE command is used to open (or activate) a row in a particular
bank for a subsequent access
This row remains active (or open) for accesses until a precharge
command is issued to that bank
19
PRECHARGE Command
The PRECHARGE command is used to deactivate the open row in a
particular bank or the open row in all banks
20
READ Operation
During a READ or WRITE command, DDR3 will support BC4 and BL8
on the fly using address A12 during the READ or WRITE
A12 = 0, BC4
A12 = 1, BL8
A12 is used only for burst length control, not as a column address.
Ref Page 70
21
READ Operation
22
WRITE Operation
During a WRITE command, DDR3 will support BC4 and BL8 on the fly
using address A12 during the READ or WRITE
A12 = 0, BC4 (BC4 = burst chop, tCCD = 4)
A12 = 1, BL8
A12 is used only for burst length control, not as a column address
One write data mask (DM) pin for each 8 data bits (DQ) will be
supported on DDR3 SDRAMs
All banks of the SDRAM must be precharged and idle for a minimum of
the precharge time tRP(min) before the Refresh Command can be
applied
When the memory is not accessed for a longer duration of time, it can
be put in Power down mode, by making the CKE signal LOW
When the power down happens while all the memory banks are pre-
charged, it is called pre-charge power down
When any of the memory banks are active during power down, then it is
called active power down 26
ZQ Calibration Commands
ZQ Calibration command is used to calibrate DRAM Ron & ODT values
27
Thank You
28