ECE 485/585 Microprocessor System Design Lecture 6:
DDR, DDR2 and DDR-3 SDRAM Memory Modules
Zeshan Chishti Electrical and Computer Engineering Dept. Maseeh College of Engineering and Computer Science Source: Lecture based on materials provided by Mark F.
DDR (Double Data Rate) SDRAM Innovation – Transfer data on rising and falling edges of clock Same internal SDRAM core but 2n-prefetch
Benefit – 2x the bandwidth, same control & signals as SDRAM Significant Differences: Source synchronous (DQS) Burst length of 2,4,8 only CL = 2, 2.5, 3
ECE 485/585
DDR (Double Data Rate) SDRAM
2n prefetch
Use same DRAM core (cell array) Fetch twice as many bits Same latency for first data transfer
Source synchronous
Data transfer is twice clock rate Data strobe sent alongside data
Read: supplied by DRAM
Write: supplied by controller
ECE 485/585
Data aligned with strobe edge Data centered on strobe edge
[from Elpida]
(cont’d)
DDR SDRAM Access Examples Reads from same open page/bank
Micron DDR Datasheet
ECE 485/585
[From: Samsung]
Banks Incorporated Into SDRAM
Memory address Row
Bank
Column
Why row/bank/column, not bank/row/column?
Consider spatial locality
Imagine accessing a series of sequential memory addresses
After exhausting a column, references to another bank
Consider if row/bank reversed
ECE 485/585
Bank would rarely be used, lose benefit of interleaving
DDR SDRAM Access Examples Reads from different banks, open row
Row
ECE 485/585
Memory address Bank
[From: Samsung]
Column
DDR SDRAM Access Examples Reads from different row
Memory address Bank ECE 485/585
Row
Column
From: Samsung
DDR-2 SDRAM
During 2009-2010 the dominant high volume (PC) memory technology
Innovation – 4n-prefetch, faster clocks
Benefit – Increased bandwidth, same control/signals as DDR SDRAM
Significant Differences
SSTL-18 (1.8V) vs. SSTL-2 (2.5V)
Low power (from lower supply voltage and new low power modes)
ODT (On Die Termination)
CL = 3,4,5
2Gb devices
4/8 banks vs. 4 banks
Burst lengths of 4, 8
tFAW = four-bank activation window
no 2 because of 4n-prefetch
“additive latency”
ECE 485/585
Additive Latency
0
4
No additive latency, tRCD = CL = 4
Can’t place ACT command in cycle 4 slot occupied by RD AP: B0,Cx So ACT is delayed by full cycle so RD AP: B2, Cx is delayed and resulting data out is delayed
(from Micron
ACT B,R = activate row in bank RD AP B,C = read column from activated bank (auto pre-charge) ECE 485/585
Additive Latency
Can issue the RD B0,Cx command early (in available slot) No additive latency, t = CL = 4 but processing will still require adherence RCD to tRCD, CL timing constraints
ECE 485/585
[from Micron]
Additive Latency
(cont’d)
No additive latency, tRCDavailable = CL = 4 Can issue the RD B0,Cx command early (in slot) but processing will still require adherence to tRCD, CL timing constraints
Permits continuous data read from DRAM
ECE 485/585
(from Micron)
DDR-3 Key Differences (from DDR-2)
8n prefetch
SSTL-15 (1.5V) vs. SSTL-18 (1.8V)
667-800 MHz clocks
Reduced power consumption (~30%) 2x bandwidth of DDR-2
8 banks vs. 4 banks
More open banks – less latency
Adoption rate
Introduction in 2007 (insignificant quantities)
Samsung 8 Gb DDR3 described at ISSCC February 2009
Remained dominant PC memory until DDR-4 was introduced recently
ECE 485/585
Micron DDR3 Datasheet
ECE 485/585
DDR3 Commands
ECE 485/585
DDR3 Read Cycle
Single read
Back-to-back reads to open page
ECE 485/585
DRAM Speed and Size Trends 3500
65536
3200MHz
2500 2133MHz
2000 1500
1600MHz 1066MHz
1000
0
800MHz 400MHz 200MHz DDR
Device size (Mb)
Device speed (MHz)
3000
500
32Gb
16384 4096 1024
2Gb
1Gb
256 64
8Gb
4Gb
512Mb
256Mb 64Mb
16 4
400MHz
1 DDR2
DDR3
DDR4
DDR
DDR2
DDR3
Higher memory bandwidth and capacity demand
With help of process technology and VLSI advances
Resulted in to faster and bigger DRAM devices
Latest DDR4 specifications
ECE 485/585
Up to 3.2Gbps and 32Gb devices
18
DDR4
DRAM Refresh Leaky storage
Periodic Refresh across DRAM rows Un-accessible when refreshing Read and write the same data back Example:
4K rows in a DRAM
100ns read cycle
Decay in 64ms
ECE 485/585
Refresh Then: Asynchronous Interface
ECE 485/585
DRAM Refresh Frequency DRAM standard requires memory controllers to send periodic refresh commands to DRAM
tRefLatency (tRFC): Varies based on DRAM chip density (e.g., 350ns)
Timeline
tRefPeriod (tREFI): Remains constant (7.8 usec for Current generation DRAM)
ECE 485/585
21
Refresh Now: N Simultaneous Rows CLK
CMD
PRE
REF
ACT
ADDR Bank/All
ROW
DATA tRP
Device densit y 8Gb
Num. Bank s 16
Perbank Rows 128K
Total Rows
Rows tRFC in AR (ɳs)
2M
256
350
16Gb
16
256K
4M
512
480
32Gb
16
512K
8M
1024 640
tRFC
Command is called Auto-Refresh (AR) Retention Time = 64ms Refresh N rows in each 7.8 usec (64ms ÷ 8K), perbank N increases with density (N: 16 8Gb, 32 16Gb)
ECE 485/585
22
Impact of Refresh on Performance DRAM is unavailable to serve requests for of time
tRefLatency tRefPeriod
4.5% for today’s 4Gb DRAM Unavailability increases with higher density due to higher tRefLatency
ECE 485/585
23
Memory Modules
184 pin DDR SDRAM DIMM
All chips in a “rank” receive same address and control signals Each chip responsible for subset of data bits in its rank Module acts as high capacity DRAM with wide data path
Example: 8 chips, each 8 bits wide = 64 bits
Easy to add/replace memory in a system
No need to solder or remove individual chips
Memory granularity issue
What’s the smallest increment in memory size?
ECE 485/585
From Hsien-Hsin Sean Lee, Georgia Institute of Technology
DRAM Ranks
ECE 485/585
Organization of DRAM Modules
ECE 485/585
Memory Modules
SIMM (Single Inline Memory Module) 30-pin: some 286, most 386, some 486 systems – Page Mode, Fast Page mode devices 72-pin: some 386, most 486, nearly all Pentium (before DIMM) – Fast Page Mode, EDO devices DIMM (Dual Inline Memory Module) Dominant today SODIMM (Small Outline DIMM) Used in notebooks, Apple iMac RIMM (Rambus RDRAM Module)
SIMM
168 pin SDRAM DIMM
184 pin DDR SDRAM DIMM
200 pin DDR2, DDR3 SDRAM DIMM SODIMM
240 pin DDR2, DDR3 SDRAM DIMM
RIMM ECE 485/585
RIMM
SPD (Serial Presence Detect) 8-pin serial EEPROM on memory module Key parameters for SDRAM controller
Number of row/column addresses Number of ranks Module width Refresh rate/type Error checking (none, parity, ECC) Latency Timing parameters
ECE 485/585
DRAM and DIMM Nomenclature Device name
Clock
M transfers per sec
MB/sec Per DIMM
DIMM name
DDR200
100 MHz
200
1,600 MB/s
PC-1600
DDR266
133 MHz
266
2,133 MB/s
PC-2100
DDR333
166 MHz
333
2,666 MB/s
PC-2700
DDR400
200 MHz
400
3,200 MB/s
PC-3200
DDR2-400
200 MHz
400
3,200 MB/s
PC2-3200
DDR2-533
266 MHz
533
4,266 MB/s
PC2-4200
DDR2-667
333 MHz
666
5,333 MB/s
PC2-5300
DDR2-800
400 MHz
800
6,400 MB/s
PC2-6400
DDR2-1066
533 MHz
1066
8,533 MB/s
PC2-8500
DDR3-800
400 MHz
800
6,400 MB/s
PC3-6400
DDR3-1066
533 MHz
1066
8,500 MB/s
PC3-8500
DDR3-1333
666 MHz
1333
10,666 MB/s
PC3-10600
DDR3-1600
800 MHz
1600
12,800 MB/s
PC3-12800
DDR3-1866
933 MHZ
1866
14928 MB/s
PC3-14900
M transfers/second = 2 transfers (DDR) x Clock Rate DRAM name incorporates M transfers per second MB/sec = 8 bytes x M transfers per second DIMM name incorporates MB/sec (rounded) ECE 485/585
DRAM/SDRAM Latency Specifications
DRAM
Used 4 numbers (e.g. 4-1-1-1)
Indicates number of CPU cycles for 1st and successive accesses
SDRAM
CAS Latency (CAS or CL)
Delay in clock cycles between request and the time the first data is available
PC133 module might be described as CAS-2, CAS=2, CL2, CL-2, or CL=2
SDR-DRAM
DDR-DRAM
CAS Latency of 1, 2, or 3 CAS Latency of 2 or 2.5
When three numbers appear (e.g. 3-2-2)
CAS Latency (tCAC)
RAS-to-CAS delay (tRCD)
RAS pre-charge time (tRP)
DDR3 seeing use of four numbers
CAS Latency ( tCAS tCL, CL)
RAS-to-CAS delay (tRCD)
RAS pre-charge time (tRP)
RAS access time (tRAS)
ECE 485/585
3-3-3-10 timing
Key SDRAM Timing Parameters
tRCD:
Determines Latency
Minimum time between an ACTIVE command and READ command
Analogous to DRAM parameter tRCD : Row Command Delay (RAS/CAS Delay)
CL: CAS Latency
Determines Latency
Time between READ command and first data valid
Analogous to DRAM parameter tCAC: Column Access Time
tRAS
Time between ACTIVE command and end of restoration of data in DRAM array
Analogous to DRAM parameter tRAS: Row Address Strobe
tRP
Time to pre-charge DRAM array in preparation for another row access
Analogous to DRAM parameter tRP: Row Precharge Delay
tRC Determines Bandwidth
Time between successive row access to different rows
tRC = tRAS + tRP
Analogous to DRAM parameter tRC: Row Cycle Time
ECE 485/585