DRAM Main Memory. Dual Inline Memory Module (DIMM)

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

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

Lecture: Memory Technology Innovations

Lecture: DRAM Main Memory. Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3)

Lecture: DRAM Main Memory. Topics: virtual memory wrap-up, DRAM intro and basics (Section 2.3)

Lecture: Memory, Multiprocessors. Topics: wrap-up of memory systems, intro to multiprocessors and multi-threaded programming models

Lecture: Memory, Coherence Protocols. Topics: wrap-up of memory systems, intro to multi-thread programming models

CS698Y: Modern Memory Systems Lecture-16 (DRAM Timing Constraints) Biswabandan Panda

EEM 486: Computer Architecture. Lecture 9. Memory

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

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

COSC 6385 Computer Architecture - Memory Hierarchies (III)

Chapter 2: Memory Hierarchy Design (Part 3) Introduction Caches Main Memory (Section 2.2) Virtual Memory (Section 2.4, Appendix B.4, B.

CS311 Lecture 21: SRAM/DRAM/FLASH

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

COSC 6385 Computer Architecture - Memory Hierarchies (II)

LECTURE 5: MEMORY HIERARCHY DESIGN

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

18-447: Computer Architecture Lecture 25: Main Memory. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 4/3/2013

Introduction to memory system :from device to system

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Computer Architecture A Quantitative Approach, Fifth Edition. Chapter 2. Memory Hierarchy Design. Copyright 2012, Elsevier Inc. All rights reserved.

ECE 485/585 Microprocessor System Design

Adapted from David Patterson s slides on graduate computer architecture

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

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

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

CSE502: Computer Architecture CSE 502: Computer Architecture

Copyright 2012, Elsevier Inc. All rights reserved.

Computer Architecture. A Quantitative Approach, Fifth Edition. Chapter 2. Memory Hierarchy Design. Copyright 2012, Elsevier Inc. All rights reserved.

Lecture 14: Cache Innovations and DRAM. Today: cache access basics and innovations, DRAM (Sections )

Copyright 2012, Elsevier Inc. All rights reserved.

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

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

The Memory Hierarchy 1

CSE502: Computer Architecture CSE 502: Computer Architecture

EI338: Computer Systems and Engineering (Computer Architecture & Operating Systems)

Mainstream Computer System Components

Topic 21: Memory Technology

Topic 21: Memory Technology

Copyright 2012, Elsevier Inc. All rights reserved.

ECE 152 Introduction to Computer Architecture

Chapter 8 Memory Basics

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

ECE 485/585 Microprocessor System Design

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

CS152 Computer Architecture and Engineering Lecture 16: Memory System

Memory technology and optimizations ( 2.3) Main Memory

ECE 250 / CS250 Introduction to Computer Architecture

Introduction to cache memories

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

Memory hierarchy Outline

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

EE414 Embedded Systems Ch 5. Memory Part 2/2

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

Computer Systems Laboratory Sungkyunkwan University

CSE 431 Computer Architecture Fall Chapter 5A: Exploiting the Memory Hierarchy, Part 1

COMPUTER ARCHITECTURES

CpE 442. Memory System

CENG3420 Lecture 08: Memory Organization

Main Memory Systems. Department of Electrical Engineering Stanford University Lecture 5-1

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

Lecture-14 (Memory Hierarchy) CS422-Spring

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

The Memory Hierarchy. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 3, 2018 L13-1

The Memory Hierarchy Part I

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

CS 152 Computer Architecture and Engineering. Lecture 6 - Memory

Views of Memory. Real machines have limited amounts of memory. Programmer doesn t want to be bothered. 640KB? A few GB? (This laptop = 2GB)

The Memory Hierarchy. Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T.

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

CENG4480 Lecture 09: Memory 1

Memory Hierarchy and Caches

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

CS429: Computer Organization and Architecture

An introduction to SDRAM and memory controllers. 5kk73

Evaluating STT-RAM as an Energy-Efficient Main Memory Alternative

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

Computer Organization. 8th Edition. Chapter 5 Internal Memory

CS429: Computer Organization and Architecture

CS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II

Computer Systems Architecture I. CSE 560M Lecture 18 Guest Lecturer: Shakir James

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

Chapter 5 Internal Memory

CSEE W4824 Computer Architecture Fall 2012

Contents. Main Memory Memory access time Memory cycle time. Types of Memory Unit RAM ROM

Computer System Components

Computer Architecture Memory hierarchies and caches

ECE 485/585 Midterm Exam

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

Memories: Memory Technology

CENG 3420 Computer Organization and Design. Lecture 08: Memory - I. Bei Yu

Memory Hierarchy Y. K. Malaiya

CS 33. Architecture and Optimization (3) CS33 Intro to Computer Systems XVI 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Recap: Machine Organization

registers data 1 registers MEMORY ADDRESS on-chip cache off-chip cache main memory: real address space part of virtual addr. sp.

Adapted from instructor s supplementary material from Computer. Patterson & Hennessy, 2008, MK]

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

EEC 483 Computer Organization

CMSC 611: Advanced Computer Architecture

Transcription:

DRAM Main Memory Dual Inline Memory Module (DIMM)

Memory Technology Main memory serves as input and output to I/O interfaces and the processor. DRAMs for main memory, SRAM for caches Metrics: Latency, Bandwidth Access Time Time between read request and when desired word arrives Cycle Time Minimum time between unrelated requests to memory

DRAM SRAM Requires low power to retain bit, 6 transistors/bit Dynamic Random Access Memory (DRAM) 8x more dense than SRAM Dynamic: Charge leak, Must be re-written after being read Must be periodically refreshed Every ~ 8 ms

DRAM

DRAM Array Row Decoder Row Address Strobe (RAS) 12b Memory Cell Array Array Size 4096b x 4096b 16 Mb Sense Amps Row Buffer RAS and CAS are delivered in consecutive cycles Column Address Strobe (CAS) 12b Column Decoder Data Bus 34b address identifies the 64B unit to fetch from DRAM DRAM can address 40b data (1 Tb)

DRAM Hierarchy 128MB = 16,384 rows/bank x 1,024 columns addresses/row x 1 byte/column address x 8 stacked banks per IC. 128MB x 8 ICs per rank = 1GB in Rank 1. 1GB (Rank 1) + 1GB (Rank 2) = 2GB per module. http://www.anandtech.com/

Main Memory Memory Channel = Data (64b) + Address/Cmd (23b = 17a + 6c) DIMM: a PCB with DRAM chips on the back and front Transfers one cache line size (64B) per address

Main Memory 17a + 6c 64b = (4 x16 or 8 x8 or 16 x4 or...) DIMM RANK 8b 64b on Bus

Main Memory Row buffer: the last row (say, 8 KB) read from a bank, acts like a cache Bank: a subset of a rank that is busy during one request 4, 8 or 16 in one chip Rank: a collection of DRAM chips that work together to respond to a request and keep the data bus full TWO BANKS ROW BUFFER

Row Buffers Each bank has a single row buffer Row buffers act as a cache within DRAM Row buffer hit: ~20 ns access time (time to move data from row buffer to pins) Empty row buffer access: ~40 ns (read arrays + move data from row buffer to pins) Row buffer conflict: ~60 ns (precharge bitlines + read new row + move data to pins) Waiting time in the Queue (tens of nano-seconds) and incur address/cmd/data transfer delays (~10 ns)

Open/Closed Page Policies Open Page Policy: Row buffers are kept open Useful when access stream has locality Row buffer hits are cheap (20ns) Row buffer miss is a bank conflict and expensive (60ns) Closed Page Policy: Bitlines are precharged immediately after access Useful when access stream has little locality Nearly every access is a row buffer miss (40ns) The precharge is usually not on the critical path Modern memory controller policies lie somewhere between these two extremes (usually proprietary)

Reads and Writes A single bus is used for reads and writes Bus direction must be reversed when switching between reads and writes Takes time and leads to bus idling Writes are performed in bursts Write queue stores pending writes until a high watermark is reached

Memory Controller Read Queue Scheduler Scheduler FCFS, First Ready-FCFS, Stall Time Fair Response Queue Write Queue Buffer Buffer

Address Mapping Policies Consecutive cache lines can be placed in the same row to boost row buffer hit rates row:rank:bank:channel:column:blkoffset +1 +1 +1 +1 +1 +1 +1 +1 Time between access to cache block and +1 = 20ns (row buffer hit)

Address Mapping Policies Consecutive cache lines can be placed in different ranks to boost parallelism row:column:rank:bank:channel:blkoffset MC0 +1 +1 +1 +1 +1 +1 +1 +1 MC1 Multicore MulticoreProcessor Processor Cache blocks and +1 can be accessed simultaneously

DRAM Refresh Every DRAM cell must be refreshed within a 64 ms window A row read/write automatically refreshes the row Every refresh command performs refresh on a number of rows, the memory system is unavailable during that time A refresh command is issued by the memory controller once every 7.8μs on average 8192 rows in RAM. 64ms/8192 = 7.8μs

Error Correction SECDED single error correct double error detect 8b code for every 64-bit word A rank is now made up of 9 x8 chips, instead of 8 x8 chips Stronger forms of error protection exist: a system is chipkill correct if it can handle an entire DRAM chip failure

Modern Memory System

Modern Memory System The link into the processor is narrow and high frequency The Scalable Memory Buffer chip is a router that connects to multiple DDR3 channels (wide and slow) Boosts processor pin bandwidth and memory capacity More expensive, high power

Future Memory Trends Processor pin count is not increasing High memory bandwidth requires high pin frequency 3D stacking can enable high memory capacity and high channel frequency (e.g., Micron HMC) Phase Change Memory cells Silicon Photonics

References Rajeev Balasubramonian, CS6810 Computer Architecture. University of Utah. Hennessy and Patterson. Computer Architecture. 5e. MK. Appendix B, Chapter 2. Bruce Jacob, Spencer Ng, David Wang. Memory Systems: Cache, DRAM. Elsevier, 2007.