Topic 21: Memory Technology

Similar documents
Topic 21: Memory Technology

Memories: Memory Technology

ECE 485/585 Microprocessor System Design

CS152 Computer Architecture and Engineering Lecture 16: Memory System

CpE 442. Memory System

CPS101 Computer Organization and Programming Lecture 13: The Memory System. Outline of Today s Lecture. The Big Picture: Where are We Now?

EEC 483 Computer Organization

Chapter 8 Memory Basics

EEM 486: Computer Architecture. Lecture 9. Memory

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

Computer Systems Laboratory Sungkyunkwan University

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Basics DRAM ORGANIZATION. Storage element (capacitor) Data In/Out Buffers. Word Line. Bit Line. Switching element HIGH-SPEED MEMORY SYSTEMS

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

COMPUTER ARCHITECTURES

ENEE 759H, Spring 2005 Memory Systems: Architecture and

Chapter 5 Internal Memory

Introduction to memory system :from device to system

ECE7995 (4) Basics of Memory Hierarchy. [Adapted from Mary Jane Irwin s slides (PSU)]

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

ECE 250 / CS250 Introduction to Computer Architecture

The Memory Hierarchy 1

Mark Redekopp, All rights reserved. EE 352 Unit 10. Memory System Overview SRAM vs. DRAM DMA & Endian-ness

EE414 Embedded Systems Ch 5. Memory Part 2/2

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

The DRAM Cell. EEC 581 Computer Architecture. Memory Hierarchy Design (III) 1T1C DRAM cell

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture. This Unit: Main Memory. Readings

Memory. Lecture 22 CS301

ECEN 449 Microprocessor System Design. Memories. Texas A&M University

,e-pg PATHSHALA- Computer Science Computer Architecture Module 25 Memory Hierarchy Design - Basics

Memory hierarchy Outline

Lecture 18: DRAM Technologies

CS311 Lecture 21: SRAM/DRAM/FLASH

Mainstream Computer System Components CPU Core 2 GHz GHz 4-way Superscaler (RISC or RISC-core (x86): Dynamic scheduling, Hardware speculation

The Memory Hierarchy Part I

Memory System Overview. DMA & Endian-ness. Technology. Architectural. Problem: The Memory Wall

ECSE-2610 Computer Components & Operations (COCO)

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II

CS 320 February 2, 2018 Ch 5 Memory

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

Computer System Components

Memory Challenges. Issues & challenges in memory design: Cost Performance Power Scalability

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture. This Unit: Caches and Memory Hierarchies.

A+3 A+2 A+1 A. The data bus 16-bit mode is shown in the figure below: msb. Figure bit wide data on 16-bit mode data bus

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Mainstream Computer System Components

An introduction to SDRAM and memory controllers. 5kk73

Main Memory. EECC551 - Shaaban. Memory latency: Affects cache miss penalty. Measured by:

Computer Structure. The Uncore. Computer Structure 2013 Uncore

ECE 485/585 Microprocessor System Design

APPLICATION NOTE. SH3(-DSP) Interface to SDRAM

Where Have We Been? Ch. 6 Memory Technology

15-740/ Computer Architecture Lecture 19: Main Memory. Prof. Onur Mutlu Carnegie Mellon University

Caches. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Memory systems. Memory technology. Memory technology Memory hierarchy Virtual memory

CENG3420 Lecture 08: Memory Organization

UNIT V (PROGRAMMABLE LOGIC DEVICES)

DRAM Main Memory. Dual Inline Memory Module (DIMM)

Real Time Embedded Systems

Chapter 5. Internal Memory. Yonsei University

Memory latency: Affects cache miss penalty. Measured by:

CENG4480 Lecture 09: Memory 1

Memory latency: Affects cache miss penalty. Measured by:

Memory Basics. Course Outline. Introduction to Digital Logic. Copyright 2000 N. AYDIN. All rights reserved. 1. Introduction to Digital Logic.

ECE 152 Introduction to Computer Architecture

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

Large and Fast: Exploiting Memory Hierarchy

ECE 571 Advanced Microprocessor-Based Design Lecture 16

Research Collection. A survey of synchronous RAM architectures. Working Paper. ETH Library. Author(s): Gries, Matthias. Publication Date: 1999

UMBC D 7 -D. Even bytes 0. 8 bits FFFFFC FFFFFE. location in addition to any 8-bit location. 1 (Mar. 6, 2002) SX 16-bit Memory Interface

Slide credit: Slides adapted from David Kirk/NVIDIA and Wen-mei W. Hwu, DRAM Bandwidth

Emerging DRAM Technologies

8M x 64 Bit PC-100 SDRAM DIMM

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

MEMORY SYSTEM MEMORY TECHNOLOGY SUMMARY DESIGNING MEMORY SYSTEM. The goal in designing any memory system is to provide

CS 152 Computer Architecture and Engineering. Lecture 6 - Memory

Spiral 2-9. Tri-State Gates Memories DMA

ECE 2300 Digital Logic & Computer Organization

M2 Outline. Memory Hierarchy Cache Blocking Cache Aware Programming SRAM, DRAM Virtual Memory Virtual Machines Non-volatile Memory, Persistent NVM

Concept of Memory. The memory of computer is broadly categories into two categories:

Memory Hierarchy and Caches

The University of Adelaide, School of Computer Science 13 September 2018

Lecture-14 (Memory Hierarchy) CS422-Spring

This Unit: Main Memory. Building a Memory System. First Memory System Design. An Example Memory System

Lecture 20: Memory Hierarchy Main Memory and Enhancing its Performance. Grinch-Like Stuff

Lecture 15: DRAM Main Memory Systems. Today: DRAM basics and innovations (Section 2.3)

EECS150 - Digital Design Lecture 17 Memory 2

ECEN 449 Microprocessor System Design. Memories

Module 6 : Semiconductor Memories Lecture 30 : SRAM and DRAM Peripherals

TECHNOLOGY BRIEF. Double Data Rate SDRAM: Fast Performance at an Economical Price EXECUTIVE SUMMARY C ONTENTS

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

EECS150 - Digital Design Lecture 16 - Memory

Spring 2018 :: CSE 502. Main Memory & DRAM. Nima Honarmand

A Fast Synchronous Pipelined DRAM Architecture with SRAM Buffers

Computer Architecture. Memory Hierarchy. Lynn Choi Korea University

CSE502: Computer Architecture CSE 502: Computer Architecture

Transcription:

Topic 21: Memory Technology COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Old Stuff Revisited Mercury Delay Line Memory Maurice Wilkes, in 1947, with first mercury tank memories built for EDSAC. 2 Core Memory 16K! Theory of operation Threaded by hand! The Lifesaver connection Refresh 3

Static RAM (SRAM) SRAM - Fast, but not the most dense (better than core!) Chip select can be viewed as another address line Din and Dout are often combined to save pins Need output enable (OE_L - enable low) Need write enable (WE_L - enable low) Don t assert both write enable and output enable Result is unknown. This is bad. Don t do it!!! 4 The Transistor Makes It Possible! Static RAM (SRAM) Cell 6-Transistor SRAM Cell 0 1 word (row select) word 0 1 bit bit 5 Write: 1. Drive bit lines (bit=1, bitbar=0) 2. Select row Read: 1. Precharge bit and bitbar to Vdd 2. Select row 3. Cell pulls one line low bit bit Replaced with pullup resistor to save area 4. Sense amp on column detects difference between bit and bitbar Why is it Static? Typical SRAM Organization 6

Typical SRAM Organization Bit cell Clock Gen Pre charge logic 2 L2 Bit-line Word line Ak Ak 11 Row decoder Memory Array AL2 1 Sense Amps. /Drivers M2 K Amplifier swing rail to rail A0 Ak2 1 Column decoder Select appropriate word Data In / Data Out (M bits) 7 Three-State Buffers Avoid HUGE MU using three-state buffers 8 Typical SRAM Timing 9

70 Mbit SRAM Mark Bohr: Intel 04 10 Dynamic RAM (DRAM) Slower, cheaper, more dense than SRAM Dynamic? 11 Dynamic RAM Cell DRAM Write: 1. Drive bit line 2. Select row/word line Read: 1. Precharge bit line to Vdd 2. Select row/word line 3. Cell and bit line share charge 4. Sense (sense amp can detect changes of ~10-100k electrons) 5. Write: restore the value Refresh (capacitor leaks): 1. Just do a dummy read to every cell. 12

Classical DRAM Organization (Square) 13 4Mx1 DRAM Organization 14 Logic Diagram of a Typical DRAM 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 Din and Dout share the same pins (D) Control Signals (RAS_L, CAS_L, WE_L, OE_L) typically active low 15

DRAM Read Timing RAS_L CAS_L WE_L OE_L A 256K x 8 9 DRAM 8 D DRAM Read Cycle Time RAS_L CAS_L A Row Address Col Address Junk Row Address Col Address Junk WE_L OE_L D High Z Junk Data Out High Z Data Out Read Access Time Output Enable Delay Early Read Cycle: OE_L asserted before CAS_L Late Read Cycle: OE_L asserted after CAS_L 16 DRAM Write Timing RAS_L CAS_L WE_L OE_L A 256K x 8 9 DRAM 8 D DRAM WR Cycle Time RAS_L CAS_L A Row Address Col Address Junk Row Address Col Address Junk OE_L WE_L D Junk Data In Junk Data In Junk WR Access Time Early Wr Cycle: WE_L asserted before CAS_L WR Access Time Late Wr Cycle: WE_L asserted after CAS_L 17 Increasing Bandwidth - Interleaving Access Pattern without Interleaving: CPU Memory D1 available Start Access for D1 Start Access for D2 Access Pattern with 4-way Interleaving: CPU Access Bank 0 Access Bank 1 Access Bank 2 Access Bank 3 We can Access Bank 0 again Memory Bank 0 Memory Bank 1 Memory Bank 2 Memory Bank 3 18

Improving Yield with Redundancy Fuse bank Redundant row Row address Redundant columns Column address 19 New DRAMs For decades, DRAM Interface was stable (RAS, CAS, etc.) Only in past decade has it begun to evolve again Especially in systems with few DRAM chips Bandwidth/Througput Ease of design Several Enhancements: Page Mode EDO RAM Burst DRAM Synchronous DRAM Rambus DRAM 20 Paged Mode DRAM RAS# CAS# A[0:7] Data Row Col n Col n+1 Col n+2 Data n D n+1 D n+2 Multiple accesses to different columns from same row Saves RAS and RAS to CAS delay 21

Extended Data Output RAM RAS# CAS# A[0:7] Data Row Col n Col n+1 Col n+2 Data n Data n+1 Data n+2 A data output latch enables to parallel next column address with current column data 22 Burst DRAM RAS# CAS# A[0:7] Data Row Col n Data n Data n+1 Data n+2 Generate a consecutive address by itself 23 Synchronous DRAM SDRAM All signals are referenced to an external clock (100MHz-200MHz) Makes timing more precise with other system devices Multiple Banks Multiple pages open simultaneously (one per bank) Command driven functionality instead of signal driven ACTIVE: selects both the bank and the row to be activated ACTIVE to a new bank can be issued while accessing current bank READ/WRITE: select column Read and write accesses to the SDRAM are burst oriented Successive column locations accessed in the given row Burst length is programmable: 1, 2, 4, 8, and full-page Full-page burst may end with a BURST TERMINATE to get arbitrary burst lengths A user programmable Mode Register CAS latency, burst length, burst type Auto pre-charge: may close row at last read/write in burst Auto refresh: internal counters generate refresh address 24

SDRAM Timing clock cmd ACT NOP t RCD > 20ns RD RD+PC ACT t RC >70ns NOP RD t RRD > 20ns ACT NOP RD NOP NOP NOP BL = 1 Bank Bank 0 Bank 0 Bank 0 Bank 1 Bank 1 Bank 0 Bank 0 Addr Row i Col j Col k Row m Col n Row l Col q CL=2 Data Data j Data k Data n Data q t RCD : ACTIVE to READ/WRITE gap = t RCD (MIN) / clock period t RC : successive ACTIVE to a different row in the same bank t RRD : successive ACTIVE commands to different banks 25 Rambus (R)DRAM Develop by Rambus Inc. and Intel Based on a narrow bus (16bits) runs at high speed 400Mhz Pipeline operation Multi array Data transfer on both edges 26 RDRAM System RAMBUS Bank RDRAM Memory System 27

Summary DRAM à slow, cheap, dense Good for BIG main memory Must be refreshed SRAM à fast, expensive, not very dense Good choice for fast memory like caches! Holds state while power applied Memory hierarchy to get the best of both! 28