DRAM Technology
-
Upload
constantra -
Category
Documents
-
view
222 -
download
0
Transcript of DRAM Technology
-
8/20/2019 DRAM Technology
1/34
DRAM basics
Advanced DRAM technology
Virtual memory
HY425 Lecture 15: DRAM Technology
Dimitrios S. Nikolopoulos
University of Crete and FORTH-ICS
December 2, 2011
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 1 / 3 4
http://find/
-
8/20/2019 DRAM Technology
2/34
DRAM basics
Advanced DRAM technology
Virtual memory
Outline
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 2 / 3 4
http://find/
-
8/20/2019 DRAM Technology
3/34
DRAM basics
Advanced DRAM technology
Virtual memory
DRAM
Fundamentals
Random-access memory using one transistor-capacitor
pair per bit
Capacitors leak, needs refresh
Composed of one or more memory arrays Organized in rows and columns
Need sense amplifiers to compensate for voltage swing
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 3 / 3 4
http://find/
-
8/20/2019 DRAM Technology
4/34
DRAM basics
Advanced DRAM technology
Virtual memory
DRAM cell
Memory array
Sense amplifiers
Column decoder
Data in/out
buffers
R o w d
e c o d e r
…columns…
… r o
w s …
bit line
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 4 / 3 4
http://find/
-
8/20/2019 DRAM Technology
5/34
DRAM basics
Advanced DRAM technology
Virtual memory
DRAM
Fundamentals
Each DRAM memory array outputs one bit
DRAMS use multiple memory arrays to output multiple bitsat a time
×N indicates DRAM with N memory arrays ×16, ×32 DRAMS typical today
Each collection of ×N arrays forms a DRAM bank
Banks can be read/written independently
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 5 / 3 4
D
http://find/
-
8/20/2019 DRAM Technology
6/34
DRAM basics
Advanced DRAM technology
Virtual memory
×4 DRAM
Memory array
Sense amplifiers
Column decoder
Data in/out
buffers
R o w
d e c o d e r
bit lineMemory array
Sense amplifiers
Column decoder
Data in/out
buffers
R o w
d e c o d e r
bit lineMemory array
Sense amplifiers
Column decoder
Data in/out
buffers
R o w d e c o d e r
bit lineMemory array
Sense amplifiers
Column decoder
Data in/out
buffers
R o w d
e c o d e r
bit line
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 6 / 3 4
DRAM b i
http://find/
-
8/20/2019 DRAM Technology
7/34
DRAM basics
Advanced DRAM technology
Virtual memory
Interleaved DRAM
DRAM memory bandwidth
Limited bandwidth from one DRAM bank
Increase bandwidth by delivering data from multiple banks Processor DRAM interconnect (e.g. bus) with higher clock
frequency than any one DRAM Bus control switches between multiple DRAM banks to
achieve high data rate
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 7 / 3 4
DRAM basics
http://find/
-
8/20/2019 DRAM Technology
8/34
DRAM basics
Advanced DRAM technology
Virtual memory
DIMMs and Ranks
Memory arrayMemory arrayMemory arrayMemory array
!/"
#UX
One DRAM, eight internal
banks, shared I/O link
one bank, x4 array
One DIMM, with
one DRAM rank
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 8 / 3 4
DRAM basics
http://find/
-
8/20/2019 DRAM Technology
9/34
DRAM basics
Advanced DRAM technology
Virtual memory
Modern DRAM organization
Hierarchy of DRAM memories
A system has multiple DIMMs
Each DIMM has multiple DRAM devices in one or moreranks
Each DRAM device has multiple banks
Each bank has multiple memory arrays
Concurrency in ranks and banks increases memorybandwidth
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 9 / 3 4
DRAM basics
http://find/
-
8/20/2019 DRAM Technology
10/34
DRAM basics
Advanced DRAM technology
Virtual memory
Processor–DRAM interconnect
Buses
Address/command lines Data lines (wide, >= 64 bits in leading processors) Chip select lines
Recent systems adopt increasingly more scalablesolutions
Point-to-point, crossbar interconnects Hypertransport, Intel CSI/QuickPath
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 10/34
DRAM basics
http://find/
-
8/20/2019 DRAM Technology
11/34
DRAM basics
Advanced DRAM technology
Virtual memory
Processor–DRAM bus organization
M e m o r y c o n t r o
l l e r Address/command bus
Data bus
Chip select 1
Address/command bus
Data bus
Chip select 2
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 11/34
DRAM basics
http://find/
-
8/20/2019 DRAM Technology
12/34
DRAM basics
Advanced DRAM technology
Virtual memory
Memory controller
Controller operation
Device executing processor memory requests Separate off-processor chip in earlier systems
Integrated on-chip with the processor in modern systems
Bus, point-to-point, crossbar interconnect with processor
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 12/34
DRAM basics
http://find/
-
8/20/2019 DRAM Technology
13/34
Advanced DRAM technology
Virtual memory
Lifetime of a memory access
Steps in memory access
1. Processor orders and queues memory requests
2. Request sent to memory controller
3. Controller queues and orders requests4. For request in head of queue, controller waits until
requested DRAM ready
5. Controller breaks address bits into rank, bank, bank row,
bank column fields
6. Controller sends chip-select signal to select rank
7. Selected bank at selected rank precharged to activate
selected row
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 13/34
DRAM basics
http://goforward/http://find/http://goback/
-
8/20/2019 DRAM Technology
14/34
Advanced DRAM technology
Virtual memory
Lifetime of a memory access
Steps in memory access
8. Activate row in DRAMs of selected bank in selected rank Use RAS (row-address strobe signal)
9. Send entire row to sense amplifiers Sense amps may already have a valid row
10. Select desired column using CAS (column-address strobe)
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 14/34
DRAM basics
http://find/
-
8/20/2019 DRAM Technology
15/34
Advanced DRAM technology
Virtual memory
Outline
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 15/34
DRAM basics
http://goforward/http://find/http://goback/
-
8/20/2019 DRAM Technology
16/34
Advanced DRAM technology
Virtual memory
Asynchronous DRAM timing
row
address
column
address
validdata out
row
address
column
address
validdata out
RAS
CAS
Address
Data
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 16/34
DRAM basics
http://find/
-
8/20/2019 DRAM Technology
17/34
Advanced DRAM technology
Virtual memory
Fast Page Mode
Allow row to remain available (open) for multiple column
accesses
Holds row data in sense amplifiers for longer period
Memory controller holds RAS signal while changing CAS
signal
Sense amplifiers function as ”cache” for DRAM rows
Multiple CAS signals can access multiple words in same
row
Exploits spatial locality via successive accesses to same
row
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 17/34
DRAM basics
Ad d DRAM t h l
http://find/
-
8/20/2019 DRAM Technology
18/34
Advanced DRAM technology
Virtual memory
FPM DRAM timing
row
address
column
address
valid
data out
column
address
column
address
valid
data out
RAS
CAS
Address
Data
Overlap Overlap
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 18/34
DRAM basics
Advanced DRAM technology
http://goforward/http://find/http://goback/
-
8/20/2019 DRAM Technology
19/34
Advanced DRAM technology
Virtual memory
EDO DRAM
Adds latches to FPM DRAM to permit rapid CAS
deassertion
Accelerates precharging for output
Latches allow also row in output to remain valid longer
10%–15% shorter access time than FPM
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 19/34
DRAM basics
Advanced DRAM technology
http://find/
-
8/20/2019 DRAM Technology
20/34
Advanced DRAM technology
Virtual memory
EDO DRAM timing
row
address
column
address
valid
data out
column
address
column
address
valid
data out
RAS
CAS
Address
Data
Overlap
column
address
valid
data out
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 20/34
DRAM basics
Advanced DRAM technology
http://goforward/http://find/http://goback/
-
8/20/2019 DRAM Technology
21/34
Advanced DRAM technology
Virtual memory
Burst mode EDO DRAM timing
row
address
column
address
validdata out
validdata out
RAS
CAS
Address
Datavalid
data outvalid
data out
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 21/34
DRAM basicsAdvanced DRAM technology
http://find/
-
8/20/2019 DRAM Technology
22/34
Advanced DRAM technology
Virtual memory
Synchronous DRAM
Asynchrony in DRAM due to RAS and CAS signals arriving
at any time
Synchronous DRAM uses clock to deliver requests atregular intervals
More predictable DRAM timing
Less skew, faster turnaround on requests
Synchronous DRAMs support burst mode accesses Initial performance similar to BEDO DRAM
Clock scaling enabled higher performance later
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 22/34
DRAM basicsAdvanced DRAM technology
http://find/
-
8/20/2019 DRAM Technology
23/34
Advanced DRAM technology
Virtual memory
Rambus DRAM (RDRAM)
Fully multiplexed, narrow bus replaces, control, data,address bus
8-bit bus at 250 MHz, delivers 500 MB/s Split request-response protocol resembling network
protocols
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 23/34
DRAM basicsAdvanced DRAM technology
http://find/
-
8/20/2019 DRAM Technology
24/34
gy
Virtual memory
Concurrent Rambus DRAM
Split bus into address, command and data segments
1-byte data segment, 1-bit address segment, 1-bit controlsegment
Later extended to 2 bytes data, 5 bits address, 3 bits control Frequency also increased to 500 MHz
Perform simultaneous command, address, data transmit
on bus
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 24/34
DRAM basicsAdvanced DRAM technology
http://find/
-
8/20/2019 DRAM Technology
25/34
gy
Virtual memory
Modern DRAM designs
Double Data Rate (DDR) SDRAM Double data transfer rate by transferring at both clock edges Otherwise almost identical to single data rate DRAM
Virtual Channel Memory SDRAM
Adds a real cache (SRAM) to buffer large data blocks Increased read/write latency on miss
Fully Buffered DIMM Channel speed improving at the expense of channel
capacity
Memory controllers on DIMMS Replace shared bus with point-to-point connections
between controllers and DRAMs Higher storage capacity without sacrificing bandwidth
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 25/34
DRAM basicsAdvanced DRAM technology
http://find/
-
8/20/2019 DRAM Technology
26/34
Virtual memory
Outline
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 26/34
DRAM basicsAdvanced DRAM technology
http://find/
-
8/20/2019 DRAM Technology
27/34
Virtual memory
Virtual Memory 101
Why VM?
Share a physical address space among many processes
Providing protection between processes Handle efficiently processes with sparse address spaces
Load physical memory on-demand
Load programs anywhere in physical memory (relocation)
Run programs too large to fit in physical memory
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 27/34
DRAM basicsAdvanced DRAM technology
http://find/
-
8/20/2019 DRAM Technology
28/34
Virtual memory
Virtual Memory 101
VM terminology
Page or segment correspond to block Pages are fixed-size, segments are variable-size blocks
CPU produces virtual addresses translated to physical
addresses
VM versus caches
Replacement controlled by operating system versus
hardware Memory miss penalty huge compared to cache miss
penalty Makes replacement decision extremely important
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 28/34
DRAM basicsAdvanced DRAM technology
Vi l
http://goforward/http://find/http://goback/
-
8/20/2019 DRAM Technology
29/34
Virtual memory
Cache vs. VM parameter comparison
Parameter First-level cache Virtual memory
Block (page) size 16–128 bytes 4096–65,536 bytes
Hit time 1–3 clock cycles 50–150 clock cycles
Miss penalty 8–150 clock cycles 1,000,000–10,000,000 clock cycles(Access time) (6–130 clock cycles) (800,000–8,000,000 clock cycles)(Transfer time) (2–20 clock cycles) (200,000–2,000,000 clock cycles)
Miss rate 0.1–10% 0.00001–0.001%
Address mapping 25–45 bit physical address 32–64 bit virtual address to 25–45 bitto 14–20 bit cache address physical address
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 29/34
DRAM basicsAdvanced DRAM technology
Vi t l
http://find/
-
8/20/2019 DRAM Technology
30/34
Virtual memory
Design choices
Block placement
Miss penalty huge compared to cache
OS designer opts for lower miss rate Fully associative placement
Exception: page coloring Page consecutive VM in consecutive physical frames pages
to avoid cache conflicts
Requires knowledge of cache organization and cachemapping scheme
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 30/34
DRAM basicsAdvanced DRAM technology
Virtual memory
http://find/
-
8/20/2019 DRAM Technology
31/34
Virtual memory
Design choices
Finding the block in memory Page tables or segment tables or segmented paging
Common optimizations: inverted page tables, multi-levelpage tables
TLB for fast address translation
Selecting block for replacement
Approximations of LRU with one or more use and
reference bits
Write policy
Always write-back due to disk latency
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 31/34
DRAM basicsAdvanced DRAM technology
Virtual memory
http://find/
-
8/20/2019 DRAM Technology
32/34
Virtual memory
Alpha 21264 TLB example
address
space ID
virtual page
number
page
offset
ASN
Prot
V
Tag
physical address
…
1
2
128:1 mux
…
3
31/28 MS bits of PA
13 LS bits of PA
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 32/34
DRAM basicsAdvanced DRAM technology
Virtual memory
http://find/
-
8/20/2019 DRAM Technology
33/34
Virtual memory
Alpha TLB in detail
Design choices
Virtually addressed TLB
Uses address space identifier (PID) Avoids flushes on context switches
No use or reference bit System periodically clears permission bits (read, write) Recorded reads, writes serve as reference/use bits
No need to write to TLB during normal memory accesses
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 33/34
DRAM basicsAdvanced DRAM technology
Virtual memory
http://find/
-
8/20/2019 DRAM Technology
34/34
Virtual memory
Selecting page size
Trade-off’s
Larger page size means smaller page tables
Larger page size can enable a larger virtually-indexed,
physically-tagged L1 cache Transferring large pages from disk can be more efficient
(latency lags bandwidth)
Less TLB entries, more memory mapped in the TLB
Smaller page size means less memory waste due tointernal fragmentation
Dimitrios S. Nikolopoulos HY425 Lecture 15: DRAM Technology 34/34
http://find/