Embedded System Lab. 김해천 [email protected] Memory Scaling: A System Architecture...

25
Embedded System Lab. Embedded System Lab. 김김김 [email protected] Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University [email protected] http://users.ece.cmu.edu/∼omutlu/

Transcript of Embedded System Lab. 김해천 [email protected] Memory Scaling: A System Architecture...

Page 1: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

Embedded System Lab.

Embedded System Lab.

김해천[email protected]

Memory Scaling: A System Architecture Per-spective

Onur MutluCarnegie Mellon University

[email protected]://users.ece.cmu.edu/∼omutlu/

Page 2: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

DRAM Refresh DRAM capacitor charge leak over time The memory controller needs to refresh each row

periodically to restore charge Downsides of refresh

Energy consumption: Each refresh consumes energy Performance degradation: DRAM rank/bank unavailable while refreshed Refresh rate limits DRAM capacity scaling

Refresh Overhead: EnergyRefresh Overhead: performance

Page 3: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Reducing Refresh Impact Observation: High refresh rate caused by few weak DRAM Cells Problem: All cells refreshed at the same high rate

Idea: RAIDR decreases refresh rate for most DRAM cells

while refreshing weak cells at a higher rate Group parts of DRAM into different bins depending on their

required refresh rate row’s refresh containing leaky cells > normal most rows are refreshed less frequently

Profiling Binning Refreshing

Page 4: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

DRAM Latency and Energy The DRAM industry: provide maximum capacity for a given cost To mitigate the high area overhead of DRAM sensing structures

Connect many DRAM cells to each sense-amplifier through a wire(bitline) High parasitic capacitance

Page 5: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Reducing DRAM Latency and Energy Challenge 1: How to efficiently migrate a row between segments? Challenge 2: How to efficiently manage the cache?

Page 6: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

RowClone: Accelerating Page Copy and Initializa-tion

Bulk data copy and initialization Unnecessarily move data on the memory channel Degrade system performance and energy efficiency

RowClone – perform copy in DRAM with low cost Uses row buffer to copy large quantity of data Source row → row buffer → destination row

Page 7: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

RowClone: Accelerating Page Copy and Initializa-tion

Fast Parallel Mode Pipelined Serial Mode

Page 8: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

SALP:Reducing DRAM Bank Conflicts Problem: Bank conflicts are costly for performance and energy

serialized requests, wasted energy

Goal: Reduce bank conflicts without adding more banks (low cost)

Key idea: Exploit the internal subarray structure of a DRAM bank

to parallelize bank conflicts to different subarrays

Logical hierarchy of main memory DRAM bank organization

Page 9: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

SALP:Reducing DRAM Bank Conflicts Subarray-Level-Parallelism

Page 10: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Hybrid Main Memory PCM is a promising technology that can offer higher capacity than

DRAM But, access latency and energy are higher than DRAM’s Endurance is lower

Row buffers are the same in DRAM and PCM Row buffer hit latency same in DRAM and PCM Row buffer miss latency small in DRAM, large in PCM

Page 11: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Hybrid Main Memory

Idea: Cache in DRAM only those rows that Frequently cause row buffer conflicts → because row-conflict latency

is smaller in DRAM Are reused many times → to reduce cache pollution and bandwidth

waste

Simplified rule of thumb: Streaming accesses: Better to place in PCM Other accesses (with some reuse): Better to place in DRAM

Page 12: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

The End Thank you

Page 13: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

참고 http://www.anandtech.com/show/3851/everything-you-always-wanted-

to-know-about-sdram-memory-but-were-afraid-to-ask/2

Page 14: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Tiered-Latency DRAM: A Low Latency and Low Cost DRAM Archi-tecture

Inter-Segment Migration Our way:

Source and destination cells share bitlines Transfer data from source to destination across shared bitlines concur-

rently

Near Segment

Far Segment

Isolation Transistor

Sense Amplifier

Source

Destination

Page 15: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Tiered-Latency DRAM: A Low Latency and Low Cost DRAM Archi-tecture

Page 16: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

SALPACTIVATE Row : row-buffer 로 entire row 들을 읽는 과정 ? - 디램 low 가 activated 되기 전에 뱅크는 precharged state 로 되어 있어야 한다 . 이 상태에서 모든 비트라인들을 voltage-level of 1/2*VDD 로 유지 된다 .- ACTIVATE COMMAND 를 ( row-address 와 함께 ), 보내자마자 해당하는 wordline 은 Vpp 로 올려지고 , connecting the row's cell to the bitlines- 그 후 cell 이 충전 (Q) or 비충전 (0) 인지 여부에 따라 bitline voltage 는 약간 VDD OR 0 으로 동요된다 ?- 로우 버퍼는 이러한 perturbation 을 감지하고 , 증폭한다 .- 비트라인 voltage 가 transition 중에는 정의되어 있지 않는 상태다- 비트라인 voltage 가 안정화되면 ,  cell charges 는 그들의 원래의 값으로 회복된다 . 이 전체시간을 tRAS 라고 부른다 .

READ/WRITE Column - activate 후에 , 메모리 컨트롤러는 READ 나 WRITE command 를 column address 와 함께 issue 한다 . - ACTIVATE 와 그 후의 column command(READ/WRITE) 사이에 타이밍 제약은 tRCD 라고 불린다- 뱅크에게 다음의 요청이 같은 로우에 접근한다면 , 이것은 column command 만 있으면 된다 . 이미 로우가 이미 activated 되어 있기 때문에 .- 그래서 새로운 row 를 activate 하는 것보다 더 빠르다 .

PRECHARGE Bank-  새로운 row 를 activate 하기 위해서 , 메모리 컨트롤러는 첫번째로 뱅크를 precharged state 로 만들어야 한다 .- 이것은 두 단계로 이루어짐 - 1. 현재의 activated 된 row 에 해당하는 word line 을 zero 로 만든다 . ( bitline 으로 부터 cell 들을 분리시키면서 )- 2. bitline 들이 1/2*Vdd 로 드라이븐 된다 . 이러한 시간을 tRP 라고 함 .

- tRP – 먼저 activated 된 subarray 들이 완전히 precharged 상태로 보장하기 위한 시간 .

tWR : WRITE issue 후에 write recovery latency 라는 추가적인 타임이 필요함 . row buffer 가 새로운 voltage 값으로 drive 될 때 안정화될 시간이 필요함 .로우 버퍼가 new voltage 를 drive 하고 있는데 , precharged 되면 전압값이 변하여 데이터의 저장이 완전해질 수 없다 .

Page 17: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

SALP1 SALP2 SALP1

tRP(row-precharge time) 은 먼저 activated 된 subarray 를 (subarray X)

precharged state 로 ensure 하는 시간 이미 다른 subarray 가 precharged 상태라면 다른 subarray 는 acrivation

시작할 수 있음 .

SALP1 에서는 write recovery 시간과 activation 을 overlap 하지 못함 각 subarray 의 write recovery 와 activation 은 자신들에 해당하는 word-

line 을 요청하는데 , 기존의 global row-address latch 는 모든 subarrays들이 공유하기 때문에 한 subarray 에 해당하는 wordline 만 serve 할 수 있음

SALP2 는 하드웨어적으로 row-address latch 를 추가하여 이를 가능하게 하여 rWR 과 Activation 을 overlap 할 수 있다 .

Page 18: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

https://www.ece.cmu.edu/~safari/pubs/raidr_isca12.pdf

Page 19: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Page 20: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Page 21: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Page 22: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Page 23: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Page 24: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.

Page 25: Embedded System Lab. 김해천 haecheon100@gmail.com Memory Scaling: A System Architecture Perspective Onur Mutlu Carnegie Mellon University onur@cmu.edu

김 해 천

Embedded System Lab.