10/11/2007EECS150 Fa07 - DRAM 1 EECS 150 - Components and Design Techniques for Digital Systems Lec 14 – Storage: DRAM, SDRAM David Culler Electrical Engineering.

Slides:



Advertisements
Similar presentations
Chapter 5 Internal Memory
Advertisements

Computer Organization and Architecture
Prith Banerjee ECE C03 Advanced Digital Design Spring 1998
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
Anshul Kumar, CSE IITD CSL718 : Main Memory 6th Mar, 2006.
COEN 180 DRAM. Dynamic Random Access Memory Dynamic: Periodically refresh information in a bit cell. Else it is lost. Small footprint: transistor + capacitor.
These slides incorporate figures from Digital Design Principles and Practices, third edition, by John F. Wakerly, Copyright 2000, and are used by permission.
EECC341 - Shaaban #1 Lec # 19 Winter Read Only Memory (ROM) –Structure of diode ROM –Types of ROMs. –ROM with 2-Dimensional Decoding. –Using.
CS.305 Computer Architecture Memory: Structures Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made.
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
11/29/2004EE 42 fall 2004 lecture 371 Lecture #37: Memory Last lecture: –Transmission line equations –Reflections and termination –High frequency measurements.
DRAM. Any read or write cycle starts with the falling edge of the RAS signal. –As a result the address applied in the address lines will be latched.
Memory Computer Architecture Lecture 16: Memory Systems.
Memory Hierarchy.1 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output.
SDRAM Memory Controller
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Spring 2002EECS150 - Lec19-memory Page 1 EECS150 - Digital Design Lecture 18 - Memory April 4, 2002 John Wawrzynek.
Main Memory by J. Nelson Amaral.
Contemporary Logic Design Sequential Case Studies © R.H. Katz Transparency No Chapter #7: Sequential Logic Case Studies 7.6 Random Access Memories.
Physical Memory and Physical Addressing By: Preeti Mudda Prof: Dr. Sin-Min Lee CS147 Computer Organization and Architecture.
CompE 460 Real-Time and Embedded Systems Lecture 5 – Memory Technologies.
Memory Technology “Non-so-random” Access Technology:
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 8 – Memory Basics Logic and Computer Design.
Faculty of Information Technology Department of Computer Science Computer Organization and Assembly Language Chapter 5 Internal Memory.
CPE232 Memory Hierarchy1 CPE 232 Computer Organization Spring 2006 Memory Hierarchy Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin.
CSIE30300 Computer Architecture Unit 07: Main Memory Hsin-Chou Chi [Adapted from material by and
CS 152 / Fall 02 Lec 19.1 CS 152: Computer Architecture and Engineering Lecture 19 Locality and Memory Technologies Randy H. Katz, Instructor Satrajit.
CpE 442 Memory System Start: X:40.
Survey of Existing Memory Devices Renee Gayle M. Chua.
EEL 5708 Memory technology Lotzi Bölöni. EEL 5708 Acknowledgements All the lecture slides were adopted from the slides of David Patterson (1998, 2001)
CMPUT 429/CMPE Computer Systems and Architecture1 CMPUT429 - Winter 2002 Topic5: Memory Technology José Nelson Amaral.
Chapter 5 Internal Memory. Semiconductor Memory Types.
EEE-445 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Cache Main Memory Secondary Memory (Disk)
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Lecture 13 Main Memory Computer Architecture COE 501.
Chapter 3 Internal Memory. Objectives  To describe the types of memory used for the main memory  To discuss about errors and error corrections in the.
Memory System Unit-IV 4/24/2017 Unit-4 : Memory System.
CPEN Digital System Design
Digital Logic Design Instructor: Kasım Sinan YILDIRIM
University of Tehran 1 Interface Design DRAM Modules Omid Fatemi
 Seattle Pacific University EE Logic System DesignMemory-1 Memories Memories store large amounts of digital data Each bit represented by a single.
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Chapter 6: Internal Memory Computer Architecture Chapter 6 : Internal Memory Memory Processor Input/Output.
Chapter 4: MEMORY Internal Memory.
Semiconductor Memory Types
COMP541 Memories II: DRAMs
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
Chapter 5 Internal Memory. contents  Semiconductor main memory - organisation - organisation - DRAM and SRAM - DRAM and SRAM - types of ROM - types of.
CS35101 Computer Architecture Spring 2006 Lecture 18: Memory Hierarchy Paul Durand ( ) [Adapted from M Irwin (
Computer Architecture Chapter (5): Internal Memory
“With 1 MB RAM, we had a memory capacity which will NEVER be fully utilized” - Bill Gates.
COMP541 Memories II: DRAMs
Chapter 5 Internal Memory
William Stallings Computer Organization and Architecture 7th Edition
COMP541 Memories II: DRAMs
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture 8th Edition
Bob Reese Micro II ECE, MSU
Presentation transcript:

10/11/2007EECS150 Fa07 - DRAM 1 EECS Components and Design Techniques for Digital Systems Lec 14 – Storage: DRAM, SDRAM David Culler Electrical Engineering and Computer Sciences University of California, Berkeley

10/11/2007EECS150 Fa07 - DRAM 2 Recall: Basic Memory Subsystem Block Diagram Address Decoder Word Line n Address Bits 2 n word lines m Bit Lines Memory cell what happens if n and/or m is very large? RAM/ROM naming convention: 32 X 8, "32 by 8" => 32 8-bit words 1M X 1, "1 meg by 1" => 1M 1-bit words

10/11/2007EECS150 Fa07 - DRAM 3 Question What is the difference between a clock signal and a strobe?

10/11/2007EECS150 Fa07 - DRAM 4 Problems with SRAM Six transistors use up lots of area Consider a “Zero” is stored in the cell: –Transistor N1 will try to pull “bit” to 0 –Transistor P2 will try to pull “bit bar” to 1 If Bit lines are pre- charged high: are P1 and P2 really necessary? –Read starts by precharging bit and ~bit –Selected cell pulls one of them low –Sense the difference bit = 1bit = 0 Select = 1 OnOff On N1N2 P1P2 On

10/11/2007EECS150 Fa07 - DRAM 5 1-Transistor Memory Cell (DRAM) Write: –1. Drive bit line –2. Select row Read: –1. Precharge bit line to Vdd/2 –2. Select row –3. Cell and bit line share charges »Minute voltage changes on the bit line –4. Sense (fancy sense amp) »Can detect changes of ~1 million electrons –5. Write: restore the value Refresh –1. Just do a dummy read to every cell. (row) row select bit Read is really a read followed by a restoring write

10/11/2007EECS150 Fa07 - DRAM 6 Classical DRAM Organization (Square) rowdecoderrowdecoder row address Column Selector & I/O Circuits Column Address data RAM Cell Array word (row) select bit (data) lines Row and Column Address together select 1 bit a time Each intersection represents a 1-T DRAM Cell Square keeps the wires short: Power and speed advantages Less RC, faster precharge and discharge is faster access time!

10/11/2007EECS150 Fa07 - DRAM 7 DRAM Logical Organization (4 Mbit) Square root of bits per RAS/CAS –Row selects 1 row of 2048 bits from 2048 rows –Col selects 1 bit out of 2048 bits in such a row Column Decoder SenseAmps & I/O MemoryArray (2,048 x 2,048) A0…A10 … 11 D Q Word Line Storage Cell ROWDECODERROWDECODER 11 4 Mbit = 22 address bits 11 row address bits 11 col address bits

10/11/2007EECS150 Fa07 - DRAM 8 Examples IBM 4 Mb DRAM (Dynamic Random Access Memory) chip introduced in Shown against acorn and fall foliage leaves in Burlington, Vermont where it was manufactured. IBM 16 Mb EC/Memeory Chip IBM 512M SDRAM Chip

10/11/2007EECS150 Fa07 - DRAM 9 A D OE_L 256K x 8 DRAM 98 WE_L Control Signals (RAS_L, CAS_L, WE_L, OE_L) are all active low Din and Dout are combined (D): –WE_L is asserted (Low), OE_L is disasserted (High) »D serves as the data input pin –WE_L is disasserted (High), OE_L is asserted (Low) »D is the data output pin Row and column addresses share the same pins (A) –RAS_L goes low: Pins A are latched in as row address –CAS_L goes low: Pins A are latched in as column address –RAS/CAS edge-sensitive CAS_LRAS_L Logic Diagram of a Typical DRAM

10/11/2007EECS150 Fa07 - DRAM 10 Basic DRAM read & write Strobe address in two steps

10/11/2007EECS150 Fa07 - DRAM 11 A D OE_L 256K x 8 DRAM 98 WE_LCAS_LRAS_L OE_L ARow Address WE_L Junk Read Access Time Output Enable Delay CAS_L RAS_L Col AddressRow AddressJunkCol Address DHigh ZData Out DRAM Read Cycle Time Early Read Cycle: OE_L asserted before CAS_L Late Read Cycle: OE_L asserted after CAS_L Every DRAM access begins at: –Assertion of the RAS_L –2 ways to read: early or late v. CAS JunkData OutHigh Z DRAM READ Timing

10/11/2007EECS150 Fa07 - DRAM 12 Early Read Sequencing Assert Row Address Assert RAS_L –Commence read cycle –Meet Row Addr setup time before RAS/hold time after RAS Assert OE_L Assert Col Address Assert CAS_L –Meet Col Addr setup time before CAS/hold time after CAS Valid Data Out after access time Disassert OE_L, CAS_L, RAS_L to end cycle

10/11/2007EECS150 Fa07 - DRAM 13 Sketch of Early Read FSM Row Address to Memory Assert RAS_L Setup time met? FSM Clock? Assert OE_L, RAS_L Col Address to Memory Hold time met? Assert OE_L, RAS_L, CAS_L Setup time met? Hold time met? Assert OE_L, RAS_L, CAS_L Data Available (better grab it!)

10/11/2007EECS150 Fa07 - DRAM 14 Late Read Sequencing Assert Row Address Assert RAS_L –Commence read cycle –Meet Row Addr setup time before RAS/hold time after RAS Assert Col Address Assert CAS_L –Meet Col Addr setup time before CAS/hold time after CAS Assert OE_L Valid Data Out after access time Disassert OE_L, CAS_L, RAS_L to end cycle

10/11/2007EECS150 Fa07 - DRAM 15 Sketch of Late Read FSM Row Address to Memory Assert RAS_L Setup time met? FSM Clock? Col Address to Memory Assert RAS_L Hold time met? Col Address to Memory Assert RAS_L, CAS_L Setup time met? Hold time met? Assert OE_L, RAS_L, CAS_L Data Available (better grab it!)

10/11/2007EECS150 Fa07 - DRAM 16 Admin / Announcements Usual homework story Read: and SDRAM data sheet We have time to understand memory protocols before using them. Proposal for a “low impact Mid III” –1 problem a day in class over 4-5 classes.

10/11/2007EECS150 Fa07 - DRAM 17 A D OE_L 256K x 8 DRAM 98 WE_LCAS_LRAS_L WE_L ARow Address OE_L Junk WR Access Time CAS_L RAS_L Col AddressRow AddressJunkCol Address DJunk Data In Junk DRAM WR Cycle Time Early Wr Cycle: WE_L asserted before CAS_LLate Wr Cycle: WE_L asserted after CAS_L Every DRAM access begins at: –The assertion of the RAS_L –2 ways to write: early or late v. CAS DRAM WRITE Timing

10/11/2007EECS150 Fa07 - DRAM 18 Key DRAM Timing Parameters t RAC : minimum time from RAS line falling to the valid data output. –Quoted as the speed of a DRAM –A fast 4Mb DRAM t RAC = 60 ns t RC : minimum time from the start of one row access to the start of the next. –t RC = 110 ns for a 4Mbit DRAM with a t RAC of 60 ns t CAC : minimum time from CAS line falling to valid data output. –15 ns for a 4Mbit DRAM with a t RAC of 60 ns t PC : minimum time from the start of one column access to the start of the next. –35 ns for a 4Mbit DRAM with a t RAC of 60 ns

10/11/2007EECS150 Fa07 - DRAM 19 Memory in Desktop Computer Systems: SRAM (lower density, higher speed) used in CPU register file, on- and off-chip caches. DRAM (higher density, lower speed) used in main memory Closing the GAP: 1.Caches are growing in size. 2.Innovation targeted towards higher bandwidth for memory systems: –SDRAM - synchronous DRAM –RDRAM - Rambus DRAM –EDORAM - extended data out SRAM –Three-dimensional RAM –hyper-page mode DRAM video RAM –multibank DRAM

10/11/2007EECS150 Fa07 - DRAM 20 DRAM with Column buffer Column Latches SenseAmps MemoryArray (2,048 x 2,048) A0…A10 … Word Line Storage Cell ROWDECODERROWDECODER 11 MUX Pull column into fast buffer storage Access sequence of bits from there

10/11/2007EECS150 Fa07 - DRAM 21 Optimized Access to Cols in Row Often want to access a sequence of bits Page mode –After RAS / CAS, can access additional bits in the row by changing column address and strobing CAS Static Column mode –Change column address (without repeated CAS) to get different bit Nibble mode –Pulsing CAS gives next bit mod 4 Video ram –Serial access

10/11/2007EECS150 Fa07 - DRAM 22 More recent DRAM enhancements EDO - extended data out (similar to fast-page mode) –RAS cycle fetched rows of data from cell array blocks (long access time, around 100ns) –Subsequent CAS cycles quickly access data from row buffers if within an address page (page is around 256 Bytes) SDRAM - synchronous DRAM –clocked interface –uses dual banks internally. Start access in one bank then next, then receive data from first then second. DDR - Double data rate SDRAM –Uses both rising (positive edge) and falling (negative) edge of clock for data transfer. (typical 100MHz clock with 200 MHz transfer). RDRAM - Rambus DRAM –Entire data blocks are access and transferred out on a high-speed bus-like interface (500 MB/s, 1.6 GB/s) –Tricky system level design. More expensive memory chips.

10/11/2007EECS150 Fa07 - DRAM 23 Functional Block Diagram 8 Meg x 16 SDRAM

10/11/2007EECS150 Fa07 - DRAM 24 SDRAM Details Multiple “banks” of cell arrays are used to reduce access time: –Each bank is 4K rows by 512 “columns” by 16 bits (for our part) Read and Write operations as split into RAS (row access) followed by CAS (column access) These operations are controlled by sending commands –Commands are sent using the RAS, CAS, CS, & WE pins. Address pins are “time multiplexed” –During RAS operation, address lines select the bank and row –During CAS operation, address lines select the column. “ ACTIVE ” command “opens” a row for operation –transfers the contents of the entire to a row buffer Subsequent “ READ ” or “ WRITE ” commands modify the contents of the row buffer. For burst reads and writes during “ READ ” or “ WRITE ” the starting address of the block is supplied. –Burst length is programmable as 1, 2, 4, 8 or a “full page” (entire row) with a burst terminate option. Special commands are used for initialization (burst options etc.) A burst operation takes  4 + n cycles (for n words)

10/11/2007EECS150 Fa07 - DRAM 25 READ burst (with auto precharge)

10/11/2007EECS150 Fa07 - DRAM 26 WRITE burst (with auto precharge) See datasheet for more details.Verilog simulation models available.

10/11/2007EECS150 Fa07 - DRAM 27 Volatile Memory Comparison SRAM Cell Larger cell  lower density, higher cost/bit No dissipation Read non-destructive No refresh required Simple read  faster access Standard IC process  natural for integration with logic DRAM Cell Smaller cell  higher density, lower cost/bit Needs periodic refresh, and refresh after read Complex read  longer access time Special IC process  difficult to integrate with logic circuits Density impacts addressing word line bit line word line bit line The primary difference between different memory types is the bit cell. addr data

10/11/2007EECS150 Fa07 - DRAM 28 SDRAM Recap General Characteristics –Optimized for high density and therefore low cost/bit –Special fabrication process – DRAM rarely merged with logic circuits. –Needs periodic refresh (in most applications) –Relatively slow because: »High capacity leads to large cell arrays with high word- and bit- line capacitance »Complex read/write cycle. Read needs “precharge” and write-back word line bit line –Multiple clock cycles per read or write access –Multiple reads and writes are often grouped together to amortize overhead. Referred to as “bursting”. DRAM bit cell