The Main Memory system: DRAM organization

Slides:



Advertisements
Similar presentations
Main MemoryCS510 Computer ArchitecturesLecture Lecture 15 Main Memory.
Advertisements

5-1 Memory System. Logical Memory Map. Each location size is one byte (Byte Addressable) Logical Memory Map. Each location size is one byte (Byte Addressable)
COEN 180 DRAM. Dynamic Random Access Memory Dynamic: Periodically refresh information in a bit cell. Else it is lost. Small footprint: transistor + capacitor.
Lecture 12: DRAM Basics Today: DRAM terminology and basics, energy innovations.
1 Lecture 14: Cache Innovations and DRAM Today: cache access basics and innovations, DRAM (Sections )
Main Memory by J. Nelson Amaral.
Physical Memory and Physical Addressing By: Preeti Mudda Prof: Dr. Sin-Min Lee CS147 Computer Organization and Architecture.
Memory Technology “Non-so-random” Access Technology:
EEL 5708 Main Memory Organization Lotzi Bölöni Fall 2003.
Main Memory -Victor Frandsen. Overview Types of Memory The CPU & Main Memory Types of RAM Properties of DRAM Types of DRAM & Enhanced DRAM Error Detection.
ECE 4100/6100 Advanced Computer Architecture Lecture 11 DRAM and Storage Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia.
Systems Overview Computer is composed of three main components: CPU Main memory IO devices Refers to page
CPEN Digital System Design
Digital Logic Design Instructor: Kasım Sinan YILDIRIM
1 Lecture 14: DRAM Main Memory Systems Today: cache/TLB wrap-up, DRAM basics (Section 2.3)
DECStation 3100 Block Instruction Data Effective Program Size Miss Rate Miss Rate Miss Rate 1 6.1% 2.1% 5.4% 4 2.0% 1.7% 1.9% 1 1.2% 1.3% 1.2% 4 0.3%
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 22 Memory Definitions Memory ─ A collection of storage cells together with the necessary.
1 Lecture: DRAM Main Memory Topics: DRAM intro and basics (Section 2.3)
CS203 – Advanced Computer Architecture Main Memory Slides adapted from Onur Mutlu (CMU)
15-740/ Computer Architecture Lecture 25: Main Memory
1 Lecture 16: Main Memory Innovations Today: DRAM basics, innovations, trends HW5 due on Thursday; simulations can take a few hours Midterm: 32 scores.
1 Lecture: Memory Basics and Innovations Topics: memory organization basics, schedulers, refresh,
CS161 – Design and Architecture of Computer Main Memory Slides adapted from Onur Mutlu (CMU)
18-447: Computer Architecture Lecture 25: Main Memory
Prof. Hsien-Hsin Sean Lee
CS 704 Advanced Computer Architecture
Lecture 3. Lateches, Flip Flops, and Memory
Chapter 5 Internal Memory
William Stallings Computer Organization and Architecture 7th Edition
COMP211 Computer Logic Design
Address – 32 bits WRITE Write Cache Write Main Byte Offset Tag Index Valid Tag Data 16K entries 16.
ECE 4100/6100 Advanced Computer Architecture Lecture 11 DRAM
CSE 502: Computer Architecture
Types of RAM (Random Access Memory)
Reducing Hit Time Small and simple caches Way prediction Trace caches
SRAM Memory External Interface
Morgan Kaufmann Publishers Memory & Cache
Cover a section of Ch 4 Review both Exam 2 and Exam 3
William Stallings Computer Organization and Architecture 7th Edition
Lecture 23: Cache, Memory, Security
RAM Chapter 5.
Samira Khan University of Virginia Oct 9, 2017
Lecture 15: DRAM Main Memory Systems
William Stallings Computer Organization and Architecture 8th Edition
Prof. Gennady Pekhimenko University of Toronto Fall 2017
Lecture: Memory, Multiprocessors
Lecture: DRAM Main Memory
Lecture 23: Cache, Memory, Virtual Memory
Computer Architecture
Lecture 22: Cache Hierarchies, Memory
William Stallings Computer Organization and Architecture 7th Edition
Lecture: DRAM Main Memory
Lecture: DRAM Main Memory
William Stallings Computer Organization and Architecture 8th Edition
DRAM Bandwidth Slide credit: Slides adapted from
Lecture: Memory Technology Innovations
Digital Logic & Design Dr. Waseem Ikram Lecture 40.
Lecture 15: Memory Design
Lecture 22: Cache Hierarchies, Memory
Chapter 4 Introduction to Computer Organization
15-740/ Computer Architecture Lecture 19: Main Memory
DRAM Hwansoo Han.
William Stallings Computer Organization and Architecture 8th Edition
Bob Reese Micro II ECE, MSU
Day 26: November 10, 2010 Memory Periphery
Computer Architecture Lecture 30: In-memory Processing
18-447: Computer Architecture Lecture 19: Main Memory
Presentation transcript:

The Main Memory system: DRAM organization Nayan Deshmukh

The Main Memory system DRAM organization DRAM cell operation Outline The Main Memory system DRAM organization DRAM cell operation Address Mapping

The Main Memory system Main memory is a critical component of all computing systems: server, mobile, embedded, desktop, sensor Processors, caches and Memory controller Main Memory Storage (SSD/HDD)

The Main Memory system DRAM organization DRAM cell operation Outline The Main Memory system DRAM organization DRAM cell operation Address Mapping

DRAM organisation Channel DIMM Rank Chip Bank Row/Column Cell

DRAM organisation Channel DIMM Rank Chip Bank Share the same physical link (addr, cmd, data bus) from the memory controller Row/Column Cell Source: Google Images

DRAM organisation DIMM (Dual inline memory module) Channel DIMM corresponds to our familiar notion of RAM Source: Google Images

Rank is a collection of DRAM chips/devices that work in unison DRAM organisation Side View DIMM Back Front Rank 0 Rank 1 Rank is a collection of DRAM chips/devices that work in unison Source: Google Images

Rank is a collection of DRAM chips/devices that work in unison DRAM organisation Side View DIMM Back Front Rank 0 Rank 1 Rank is a collection of DRAM chips/devices that work in unison Source: Google Images

DRAM organisation 8b 64b All the chips share the cmd and addr bus, but have different data buses Source: Google Images

DRAM organisation Chip: collection of banks Each bank functions independently Bank can run in parallel Each bank takes row/column addr and outputs 8b Bank 0 Bank 1 Bank 3 Bank 2 64b Source: Google Images

DRAM organisation Chip: collection of banks Each bank functions independently Bank can run in parallel Each bank takes row/column addr and outputs 8b Bank 0 Bank 1 Bank 2 Bank 3 Source: Google Images

DRAM organisation ... Bank 0 8 DRAM arrays DRAM Array <0:7> Source: Computer Architecture Lectures, ETH Zurich, Fall 2017.

DRAM organisation … 2D Array of DRAM Cells Sense amplifiers The horizontal wires called wordline The vertical wires are called bitline Each cell stores single bit of data All the sense amplifiers collectively called Row Buffer Source: https://people.inf.ethz.ch/omutlu/pub/ambit-bulk-bitwise-dram_micro17-talk.pdf.

Transferring a cache block Physical memory space 0xFFFF…F Channel 0 ... DIMM 0 Mapped to 0x40 Rank 0 64B cache block 0x00 Source: Computer Architecture Lectures, ETH Zurich, Fall 2017.

Transferring a cache block Physical memory space Chip 0 Chip 1 Chip 7 Rank 0 0xFFFF…F . . . ... <0:7> <8:15> <56:63> 0x40 64B cache block Data <0:63> 0x00 Source: Computer Architecture Lectures, ETH Zurich, Fall 2017.

Transferring a cache block Physical memory space Chip 0 Chip 1 Chip 7 Rank 0 0xFFFF…F . . . Row 0 Col 0 ... <0:7> <8:15> <56:63> 0x40 64B cache block Data <0:63> 0x00 Source: Computer Architecture Lectures, ETH Zurich, Fall 2017.

Transferring a cache block Physical memory space Chip 0 Chip 1 Chip 7 Rank 0 0xFFFF…F . . . Row 0 Col 0 ... <0:7> <8:15> <56:63> 0x40 64B cache block Data <0:63> 8B 0x00 8B Source: Computer Architecture Lectures, ETH Zurich, Fall 2017.

Transferring a cache block Physical memory space Chip 0 Chip 1 Chip 7 Rank 0 0xFFFF…F . . . Row 0 Col 1 ... <0:7> <8:15> <56:63> 0x40 64B cache block Data <0:63> 8B 0x00 Source: Computer Architecture Lectures, ETH Zurich, Fall 2017.

Transferring a cache block Physical memory space Chip 0 Chip 1 Chip 7 Rank 0 0xFFFF…F . . . Row 0 Col 1 ... <0:7> <8:15> <56:63> 0x40 64B cache block 8B Data <0:63> 8B 0x00 8B Source: Computer Architecture Lectures, ETH Zurich, Fall 2017.

Transferring a cache block Physical memory space Chip 0 Chip 1 Chip 7 Rank 0 0xFFFF…F . . . Row 0 Col 1 ... <0:7> <8:15> <56:63> 0x40 64B cache block 8B Data <0:63> 8B 0x00 A 64B cache block takes 8 I/O cycles to transfer. During the process, 8 columns are read sequentially. Source: Computer Architecture Lectures, ETH Zurich, Fall 2017.

The Main Memory system DRAM organization DRAM cell operation Outline The Main Memory system DRAM organization DRAM cell operation Address Mapping Now I’ll introduce the motivation and the key idea of our work.

DRAM cell operation Bitline wordline DRAM Cell Bitline Sense Amplifier DRAM Cell Bitline Sense Amplifier (Row Buffer)

DRAM cell operation VDD VDD/2 DRAM Cell Sense Amplifier (Row Buffer) DRAM Cell Sense Amplifier (Row Buffer) VDD/2 Source: https://people.inf.ethz.ch/omutlu/pub/rowclone_seshadri_micro13-talk.pdf.

Amplify the difference DRAM cell operation VDD/2 + δ VDD VDD/2 VDD VDD/2 + δ Amplify the difference DRAM Cell Cell loses charge Restore Cell Data READ/WRITE Sense Amplifier (Row Buffer) VDD/2 ACTIVATE PRECHARGE Source: https://people.inf.ethz.ch/omutlu/pub/rowclone_seshadri_micro13-talk.pdf.

DRAM cell operation Chip I/O Memory Channel Chip I/O ACTIVATE: Copy data from row to row buffer READ: Transfer data to channel using the shared bus ROW HIT: If column in the same row PRECHARGE: Ready the row buffer for next activate Source: https://people.inf.ethz.ch/omutlu/pub/rowclone_seshadri_micro13-talk.pdf.

The Main Memory system DRAM organization DRAM cell operation Outline The Main Memory system DRAM organization DRAM cell operation Address Mapping Now I’ll introduce the motivation and the key idea of our work.

Cache block offset (6 bits) Address Mapping Single-channel system with 8-byte memory bus 2GB memory, 8 banks, 16K rows & 2K columns per bank Byte in bus (3 bits) Cache block offset (6 bits)

Cache block offset (6 bits) Address Mapping Row Interleaving Single-channel system with 8-byte memory bus 2GB memory, 8 banks, 16K rows & 2K columns per bank Row (14 bits) Bank (3 bits) Column (11 bits) Byte in bus (3 bits) Cache block offset (6 bits)

Cacheline Interleaving Row Interleaving Cacheline Interleaving Single-channel system with 8-byte memory bus 2GB memory, 8 banks, 16K rows & 2K columns per bank Row (14 bits) High Column Bank (3 bits) Column (11 bits) Bank (3 bits) Low Col. Byte in bus (3 bits) 8 bits 3 bits

Acknowledgements https://people.inf.ethz.ch/omutlu/pub/rowclone_micro13.pdf https://people.inf.ethz.ch/omutlu/pub/rowclone_seshadri_micro13-talk.pdf https://safari.ethz.ch/architecture/fall2017/doku.php?id=schedule https://people.inf.ethz.ch/omutlu/pub/kim_isca12_talk.pptx. https://people.inf.ethz.ch/omutlu/pub/ambit-bulk-bitwise-dram_micro17-talk.pdf.