COMP541 Memories II: DRAMs
-
Upload
asher-wells -
Category
Documents
-
view
44 -
download
1
description
Transcript of COMP541 Memories II: DRAMs
![Page 1: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/1.jpg)
1
COMP541COMP541
Memories II:Memories II:DRAMsDRAMs
Montek SinghMontek Singh
Mar 2, 2010Mar 2, 2010
![Page 2: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/2.jpg)
TopicsTopics Random-Access MemoryRandom-Access Memory
DynamicDynamic
2
![Page 3: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/3.jpg)
Dynamic RAMDynamic RAM Capacitor can hold chargeCapacitor can hold charge Transistor acts as gateTransistor acts as gate No charge = ‘0’No charge = ‘0’ Can connect switch & add charge to store a ‘1’Can connect switch & add charge to store a ‘1’ Then disconnect switchThen disconnect switch Can read by connecting switchCan read by connecting switch
Sense ampsSense amps
3
![Page 4: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/4.jpg)
DRAM Bit CellDRAM Bit Cell Contrast w/ SRAMContrast w/ SRAM
4
5-<4>
wordline
bitline bitlinewordline
bitline
DRAM bit cell: SRAM bit cell:
![Page 5: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/5.jpg)
Hydraulic AnalogyHydraulic Analogy
5
StorageFull (1)
Empty (0)Pump fills tank to 1
value
Pump drains tank to 0 value
![Page 6: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/6.jpg)
ReadingReading
6
Tank had a 1 value – raises
water level
Outside water begins at
intermediate level (black wavy line)
Tank had a 0 value – lowers
water level
![Page 7: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/7.jpg)
DRAM CharacteristicsDRAM Characteristics Destructive ReadDestructive Read
When cell read, charge removedWhen cell read, charge removed Must be restored after a readMust be restored after a read
RefreshRefresh Also, there’s steady leakageAlso, there’s steady leakage Charge must be restored periodicallyCharge must be restored periodically
7
![Page 8: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/8.jpg)
DRAM Logical DiagramDRAM Logical Diagram
8
![Page 9: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/9.jpg)
DRAM Read SignalingDRAM Read Signaling Lower pin count by using same pins for row Lower pin count by using same pins for row
and column addressesand column addresses
9
Delay until data
available
![Page 10: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/10.jpg)
DRAM Write TimingDRAM Write Timing
10
![Page 11: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/11.jpg)
DRAM RefreshDRAM Refresh Many strategiesMany strategies Logic on chipLogic on chip Here a row counterHere a row counter
11
![Page 12: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/12.jpg)
TimingTiming Say need to refresh every 64msSay need to refresh every 64ms Distributed refreshDistributed refresh
Spread refresh out evenly over 64msSpread refresh out evenly over 64ms Say on a 4Mx4 DRAM, refresh window for row Say on a 4Mx4 DRAM, refresh window for row
64ms/4096=15.6 us64ms/4096=15.6 us Total time spent is 0.25ms, but spreadTotal time spent is 0.25ms, but spread
Burst refreshBurst refresh Same 0.25ms, but all at onceSame 0.25ms, but all at once May not be good in a computer systemMay not be good in a computer system
Refresh takes low % of total timeRefresh takes low % of total time
12
![Page 13: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/13.jpg)
Bidirectional LinesBidirectional Lines Many chips have one set of data pinsMany chips have one set of data pins Used as input for writeUsed as input for write As output for readAs output for read Tri-stateTri-state Makes sense because don’t need both at onceMakes sense because don’t need both at once
13
![Page 14: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/14.jpg)
Page Mode DRAMPage Mode DRAM DRAMs made to read & write blocksDRAMs made to read & write blocks ExampleExample
Assert RAS, leave assertedAssert RAS, leave asserted Assert CAS multiple times to read sequence of dataAssert CAS multiple times to read sequence of data
Similar for writesSimilar for writes
14
![Page 15: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/15.jpg)
Synchronous DRAM (SDRAM)Synchronous DRAM (SDRAM) Has a clockHas a clock Common type in PCs late-90sCommon type in PCs late-90s
Typical DRAMs still synchronousTypical DRAMs still synchronous
Multiple Multiple banksbanks PipelinedPipelined
Start read in one bank after anotherStart read in one bank after another Come back and read the resulting values one after Come back and read the resulting values one after
anotheranother
15
![Page 16: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/16.jpg)
Read with AutoprechargeRead with Autoprecharge
16
![Page 17: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/17.jpg)
Basic Mode of OperationBasic Mode of Operation
Slowest modeSlowest mode Uses only single row and column addressUses only single row and column address Row access is slow (60-70ns) compared to column access (5-10ns)Row access is slow (60-70ns) compared to column access (5-10ns) Leads to three techniques for DRAM speed improvementLeads to three techniques for DRAM speed improvement
Getting more bits outGetting more bits out of DRAM on one access given timing of DRAM on one access given timing constraintsconstraints
PipeliningPipelining the various operations to minimize total time the various operations to minimize total time Segmenting the dataSegmenting the data in such a way that some operations are in such a way that some operations are
eliminated for a given set of accesseseliminated for a given set of accesses17
Row ColumnAddress
RAS
CAS
DataData
![Page 18: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/18.jpg)
18
Nibble (or Burst) ModeNibble (or Burst) Mode
Several consecutive columns are accessedSeveral consecutive columns are accessed Only first column address is explicitly specifiedOnly first column address is explicitly specified Rest are internally generated using a counterRest are internally generated using a counter
RAS ---- ---- ---- ---- ---- ---- ---- ---- ----CAS CAS CAS CAS
RA CAD1 D2 D3 D4
RAS ---- ---- ---- ---- ---- ---- ---- ---- ----CAS CAS CAS CAS
RA CAD1 D2 D3 D4
![Page 19: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/19.jpg)
19
Fast Page ModeFast Page Mode
Accesses arbitrary columns within same rowAccesses arbitrary columns within same row Static column mode is similarStatic column mode is similar
RAS ---- ---- ---- ---- ---- ---- ---- ---- ----CAS CAS CAS CAS
RA CA1 CA2 CA3 CA4D1 D2 D3 D4
RAS ---- ---- ---- ---- ---- ---- ---- ---- ----CAS CAS CAS CAS
RA CA1 CA2 CA3 CA4D1 D2 D3 D4
![Page 20: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/20.jpg)
20
EDO ModeEDO Mode
Arbitrary column addressesArbitrary column addresses PipelinedPipelined EDO = Extended Data OutEDO = Extended Data Out Has other modes like “burst EDO”, which allows Has other modes like “burst EDO”, which allows
reading of a fixed number of bytes starting with each reading of a fixed number of bytes starting with each specified column addressspecified column address
RAS ---- ---- ---- ---- ---- ---- ---- ---- ----CAS CAS CAS CAS CAS CAS CAS
RA CA1 CA2 CA3 CA4 CA5 CA6 CA7D1 D2 D3 D4 D5 D6
RAS ---- ---- ---- ---- ---- ---- ---- ---- ----CAS CAS CAS CAS CAS CAS CAS
RA CA1 CA2 CA3 CA4 CA5 CA6 CA7D1 D2 D3 D4 D5 D6
![Page 21: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/21.jpg)
DRAM on NEXYS2 BoardDRAM on NEXYS2 Board Relatively small at Relatively small at
128Mbits128Mbits 8M X 168M X 16
Internal refreshInternal refresh Supports pipeliningSupports pipelining Bidirectional data Bidirectional data
lines, full set of lines, full set of address linesaddress lines
Async (right) and sync Async (right) and sync modesmodes Page, burstPage, burst 70ns read cycle time70ns read cycle time
21
http://download.micron.com/pdf/datasheets/psram/128mb_burst_cr1_5_p26z.pdf
![Page 22: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/22.jpg)
DDR DRAMDDR DRAM Double Data Rate SDRAMDouble Data Rate SDRAM Transfers data on both edges of the clockTransfers data on both edges of the clock Currently popularCurrently popular Attempt to alleviate the pinout problemsAttempt to alleviate the pinout problems
22
![Page 23: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/23.jpg)
RAMBUS DRAM (RDRAM)RAMBUS DRAM (RDRAM) Another attempt to alleviate pinout limitsAnother attempt to alleviate pinout limits Many (16-32) banks per chipMany (16-32) banks per chip Made to be read/written in packetsMade to be read/written in packets Up to 1200MHz bus speedsUp to 1200MHz bus speeds
XDR – 8 bits per clock, 16-bit wide bus, 6.4GBXDR – 8 bits per clock, 16-bit wide bus, 6.4GB But DDR doing very well alsoBut DDR doing very well also
23
![Page 24: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/24.jpg)
DRAM ControllersDRAM Controllers Very common to have chip/module that Very common to have chip/module that
controls memorycontrols memory Handles banksHandles banks Handles refreshHandles refresh
Multiplexes column and row addressesMultiplexes column and row addresses RAS and CAS timingRAS and CAS timing
Northbridge on PC chip setNorthbridge on PC chip set
24
![Page 25: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/25.jpg)
ConclusionsConclusions RAMs with different characteristicsRAMs with different characteristics
For different purposesFor different purposes
Static RAMStatic RAM Simple to use, small, expensiveSimple to use, small, expensive Fast, used for cacheFast, used for cache
Dynamic RAMDynamic RAM Complex to interface, largest, cheapComplex to interface, largest, cheap Needs periodic refreshNeeds periodic refresh
25
![Page 26: COMP541 Memories II: DRAMs](https://reader036.fdocuments.net/reader036/viewer/2022062314/56812f26550346895d94bb9a/html5/thumbnails/26.jpg)
LinksLinks Ram Guides (not very technical)Ram Guides (not very technical)
http://arstechnica.com/paedia/storage.html
DRAM on XSA-100 boardDRAM on XSA-100 boardhttp://www.hynix.co.kr/datasheet/pdf/dram/(2)HY57V2
81620A(L)T-I.PDF
26