DRAM CONTROLLER Mahdi Nazm Bojnordi Assistant Professor School of - - PowerPoint PPT Presentation

dram controller
SMART_READER_LITE
LIVE PREVIEW

DRAM CONTROLLER Mahdi Nazm Bojnordi Assistant Professor School of - - PowerPoint PPT Presentation

DRAM CONTROLLER Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 5 submission deadline: Apr. 10 th This lecture DRAM control DRAM


slide-1
SLIDE 1

DRAM CONTROLLER

CS/ECE 6810: Computer Architecture

Mahdi Nazm Bojnordi

Assistant Professor School of Computing University of Utah

slide-2
SLIDE 2

Overview

¨ Announcement

¤ Homework 5 submission deadline: Apr. 10th

¨ This lecture

¤ DRAM control ¤ DRAM timing ¤ DRAM hierarchy

n Channel, bank

slide-3
SLIDE 3

Recall: DRAM System

¨ DRAM chips can perform basic operations

CPU Chip Memory Modules DRAM Chips

slide-4
SLIDE 4

Recall: DRAM Operations

¨ Main DRAM operations are

¤ Precharge bitlines to prepare subarray for activating a

wordline

¤ Activate a row by connecting DRAM cells to the bitlines

and start sensing

¤ Read the contents of a data block from the row buffer ¤ Write new contents for data block into the row buffer ¤ Refresh DRAM cells

n can be done through a precharge followed by an activate

slide-5
SLIDE 5

DRAM Row Buffer

¨ All reads and writes are performed through RB

Data Array Row Buffer (RB) DRAM Cell DRAM Sense Amp. Row Access Strobe (RAS) Column Access Strobe (CAS)

slide-6
SLIDE 6

DRAM Row Buffer

¨ Row buffer holds a single row of the array

¤ A typical DRAM row (page) size is 8KB

¨ The entire row is moved to row buffer; but only a

block is accessed each time

¨ Row buffer access possibilities

¤ Row buffer hit: no need for a precharge or activate

n ~20ns only for moving data between pins and RB

¤ Row buffer miss: activate (and precharge) are needed

n ~40ns for an empty row n ~60ns for on a row conflict

slide-7
SLIDE 7

DRAM Control

¨ DRAM chips have no intelligence

¤ An external controller dictates operations ¤ Modern controllers are integrated on CPU

¨ Basic DRAM timings are

¤ tCAS: column access strobe (RDàDATA) ¤ tRAS: row active strobe (ACTàPRE) ¤ tRP: row precharge (PREàACT) ¤ tRC: row cycle (ACTàPREàACT) ¤ tRCD: row to column delay (ACTàRD/WT) Data Array Row Buffer Decoder CPU DRAM Controller

slide-8
SLIDE 8

DRAM Timing Example

¨ Access time

¤ Row hit: tCAS ¤ Row empty: tRCD + tCAS ¤ Row conflict: tRP + tRCD + tCAS Data Array Row Buffer RD B RD A

X Y Requests

Cmd Addr Data

A B Rd B Data Act X Data tCAS Act Y tRP tRC A Rd tRCD Pr tRAS A B

slide-9
SLIDE 9

Memory Channels

¨ Memory channels provide fully parallel accesses

¤ Separate data, control, and address buses

Cmd Addr Data

Act Y Data tCAS B Rd tRCD RD B RD A

Requests

Data Array Row Buffer

X Y

A Data Array Row Buffer

X Y

B

Cmd Addr Data

Act X Data tCAS A Rd tRCD Not scalable due to pin overhead

slide-10
SLIDE 10

Memory Banks

¨ Memory banks provide parallel operations

¤ Shared data, control, and address buses

¨ The goal is to keep the data bus fully utilized

RD B RD A

Requests

Data Array Row Buffer

X Y

A Data Array Row Buffer

X Y

B Bank 0 Bank 1

Cmd Addr Data

Act X Data A Rd Act Y Data B Rd Shorter data transfer time to reduce bus conflicts Double data rate vs. single rate

slide-11
SLIDE 11

DRAM Organization

¨ DRAM channels are independently accessed through

dedicated data, address, and command buses

¤ Physically broken down into DIMMs (dual in-line

memory modules)

¤ Logically divided into ranks, which are a collection of

DRAM chips responding to the same memory request

Processor Memory Controller address/cmd data (64-wire) x8 x8 x8 x8 x8 x8 x8 x8 DIMM