Lecture 15: Memories
Download
Report
Transcript Lecture 15: Memories
COMP541
Memories II:
DRAMs
Montek Singh
Mar 21, 2012
1
Topics
Last class:
Read-Only Memories (ROMs)
Static Random-Access Memory (SRAM)
Today:
Dynamic Random-Access Memory (DRAM)
2
Dynamic RAM
Very “light-weight” bit-level memory
a single capacitor holds charge (= value)
no charge = ‘0’
a single transistor acts as gate
Write: connect switch & add charge to store a ‘1’…
… then disconnect switch
Read: read by connecting switch
3
DRAM Bit Cell
Very lightweight
contrast with SRAM
DRAM cell consists of one transistor and one capacitor!
SRAM cell has at least 6 transistors
SRAM bit cell:
DRAM bit cell:
bitline
wordline
bitline
bitline
wordline
4
Hydraulic Analogy: Writing
Pump fills
tank to 1
value
Storage
Full (1)
Empty (0)
Pump
drains tank
to 0 value
5
Hydraulic Analogy: Reading
Outside water
begins at
intermediate
level (black
wavy line)
Tank had a 1
value – raises
water level
Tank had a 0
value – lowers
water level
6
DRAM Characteristics
Destructive Read
When cell is read, charge is (partially) removed
Must be restored after each read!
Refresh
Also, there’s steady leakage
Charge must be restored periodically
7
DRAM Logical Diagram
Control circuitry
Core memory storage
8
DRAM Read Signaling
Since DRAM is often on a separate chip
number of pins available can be a limitation
lower pin count by using same pins for row and column
addresses
Delay until
data
available
9
DRAM Write Signaling
10
DRAM Refresh
Many strategies
refresh circuits on chip
here a simple row counter: reads and writes back
11
Refresh Timing
Say, need to refresh every 64ms
Distributed refresh
Spread refresh out evenly over 64ms
Say on a 4Mx4 DRAM, refresh window for row
64ms/4096=15.6 us
Total time spent is 0.25ms, but spread
Burst refresh
Same 0.25ms, but all at once
May not be good in a computer system
Refresh takes low % of total time
12
Bidirectional Lines
Another optimization for reducing pins:
Many chips have one set of data pins
same pins used as data input for write operations
same pins used as data output for read operations
otherwise float them (i.e., tri-state)
Makes sense because don’t need both read/write data at
once
13
Synchronous DRAM (SDRAM)
Has a clock
Common type in PCs late-90s
Typical DRAMs still synchronous
Multiple
banks
Pipelined
Start read in one bank after another
Come back and read the resulting values one after another
14
Modes of DRAM operation
DRAMs optimized to read & write entire blocks
or at least a few consecutive locations
Several different modes
normal/basic mode
Nibble or Burst Mode
Fast Page Mode
Extended Data Out (EDO) Mode
15
Basic Mode of Operation
Address
Row
Column
RAS
CAS
Data
Data
Slowest mode
Uses only single row and column address
Row access is slow (60-70ns) compared to column access (5-10ns)
Leads to three techniques for DRAM speed improvement
Getting more bits out of DRAM on one access given timing constraints
Pipelining the various operations to minimize total time
Segmenting the data in such a way that some operations are eliminated
for a given set of accesses
16
Nibble (or Burst) Mode
RAS
RA
----
---CAS
CA
----
D1
---CAS
----
---CAS
D2
----
D3
---CAS
----
D4
Several consecutive columns are accessed
Only first column address is explicitly specified
Rest are internally generated using a counter
17
Fast Page Mode
RAS
RA
----
---CAS
CA1
----
---CAS
CA2
D1
----
---CAS
CA3
D2
----
D3
---CAS
CA4
----
D4
Accesses arbitrary columns within same row
Static column mode is similar
18
EDO Mode
RAS
----
RA
---CAS
CA1
---CAS
CA2
D1
---CAS
CA3
D2
---CAS
CA4
D3
---CAS
CA5
D4
---CAS
CA6
D5
---CAS
CA7
D6
----
Arbitrary column addresses
Pipelined
EDO = Extended Data Out
Has other modes like “burst EDO”, which allows reading of a
fixed number of bytes starting with each specified column
address
19
DDR DRAM
Double Data Rate (DDR) SDRAM
Transfers data on both edges of the clock
Currently popular
You get two memory accesses per clock cycle!
20
RAMBUS DRAM (RDRAM)
Another attempt to alleviate pinout limits
Many (16-32) banks per chip
Made to be read/written in packets
Up to 1200MHz bus speeds
XDR – 8 bits per clock, 16-bit wide bus, 6.4GB
But DDR doing very well also
Quite expensive
almost disappeared from consumer PCs
still present in servers and specialized chips
21
DRAM Controllers
Very common to have a separate chip/module that
controls memory
Handles banks
Handles refresh
Multiplexes column and row addresses
RAS and CAS timing
Called “Northbridge” on PC chip set
22
Conclusions
RAMs with different characteristics
For different purposes
Static RAM
Simple to use, small, expensive
Fast, used for cache
Dynamic RAM
Complex to interface, largest, cheap
Needs periodic refresh
23
Links
Ram Guides (not very technical)
http://arstechnica.com/paedia/storage.html
Your Nexys 3 board manual
24