practical nonvolatile multilevel- cell phase change...

21
Practical Nonvolatile Multilevel- Cell Phase Change Memory Jichuan Chang, Robert S. Schreiber, Norman P. Jouppi Doe Hyun Yoon IBM T. J. Watson Research Center Hewlett-Packard Labs

Upload: others

Post on 18-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

Practical Nonvolatile Multilevel-Cell Phase Change Memory

Jichuan Chang, Robert S. Schreiber,Norman P. Jouppi

Doe Hyun Yoon

IBM T. J. WatsonResearch Center Hewlett-Packard Labs

Page 2: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

PAPER OVERVIEW• Issue:- Conventional 4-Level-Cell (4LC) PCM Designs , due to R-drift over time: needrefreshes- loose non-volatility.- PCM has only finite write endurance~ 108 writes per cell• Objective:To make MLC-PCM non-volatile with an optimized practical scheme.• Proposal:- 3on2 scheme: Observing most errors in 4LC occur in one cellstate, use 3-Level-Cell (3LC) PCM to gain non-volatility.- Mark&Spare : Low-cost wearout tolerance for 3LC using the un-used state in 3LC• Result:- Naïve 3LC is genuinely nonvolatile (>10 years retention)- Optimal 3LC with Low-cost wearout tolerance, 1.41 bits/cell (vs. 1.52 in 4LC)Only 7% lower capacity than (volatile) 4LC 2

Page 3: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

OUTLINE• PCM , R-drift Background• Proposal• Result and Comparison

3

Page 4: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

4

RESISTANCE DRIFT

PCM Cell resistance increases over time– R(t), cell resistance at time t (t >0)

A cell is programmed at t =0Sensed as R0 at time t0 (>0)

α: drift rate (0<α <1)

Drift errors– Negligible in SLC PCM– Major reliability problem in MLC PCM

Page 5: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

5

DRIFT ERRORS IN 4LC PCM4 cell states: S1, S2, S3, S4– Gaussian distribution

±2.75 around mean values

Mean resistance values: 1, 2, 3, 4– Threshold between states: 1, 2, 3

Page 6: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

OUTLINE• PCM , R-drift Background• Proposal- 4LC PCM optimal mapping• Result and Comparison

6

Page 7: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

OPTIMAL STATE MAPPING

7

Drift only increases cell resistance

Optimize 2, 3, 1, 2, 3 to minimize CER– minimize CER(2, 3, 1, 2, 3)– subject to i+2.75+<i< i+1-2.75- , for i=1,2,3

Still need refresh / 17 mins

Page 8: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

OUTLINE• PCM , R-drift Background• Proposal- 4LC PCM optimized mapping- 3LC PCM• Result and Comparison

8

Page 9: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

3LC PCM

9

Observation:– Most errors occur in one state (S3)DO NOT USE IT– Wide Margin for S2

Simple and optimal mapping (3LCn & 3LCo)

Page 10: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

3LC PCM (3LCN AND 3LCO)

10

Reliable for >10 years w/o ECC & refreshGenuinely nonvolatile

Page 11: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

3LC: HOW TO STORE BINARY INFO INTERNARY CELLS?

11

3-ON-2- 9 states in 2 ternary cells- 8 states for 3-bit data- 1 INVALID state

Store three bits in two ternary cells64B (512-bit) data block in 342 cells

INVALID state– (S4, S4)– Use this for tolerating wearout failures

Page 12: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

OUTLINE• PCM , R-drift Background• Proposal- 4LC PCM optimized mapping- 3LC PCM- Mark and Spare: wearout tolerance• Result and Comparison

12

Page 13: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

13

PCM has only finite write endurance– ~108 writes per cell(worse than that for MLC)

Mark-and-spare– A low-cost wearout failure tolerance for 3LC– Use 3LC’s INVALID state for marking a cell pair witha failure– No need to store failed-cell location– 2 spare cells per failure

TOLERATING WEAROUT FAILURES IN 3LC

Page 14: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

MARK-AND-SPARE EXAMPLE

14

Use INVALID (S4, S4) to marka cell pair w/ failure

Need a spare pair for tolerating a failure

Page 15: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

15

HOW TO CORRECT WEAROUT FAILURES?

Page 16: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

16

READ DATA PATH

Page 17: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

OUTLINE• PCM , R-drift Background• Proposal- 4LC PCM optimized mapping- 3LC PCM- Mark and Spare: wearout tolerance• Result and Comparison

17

Page 18: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

3LCo VS. 4LCo

18

64B (512-bit) block• 3LC needs fewer bits than 4LC for error correction– 6 wearout failures:Mark-and-spare (2cells/failure) vs. ECP (5cells/failure)– Drift errors: BCH-1 vs. BCH-10• 3LC: 1.41 bits/cell, 4LC: 1.52 bits/cell• Besides, 3LC is nonvolatile

Page 19: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

SIMULATION RESULT

19

Simulator configurationsProcessor an out-of-order corerunning at 3.2GHzL1 cache 16kB instruction and data caches64B line sizeL2 cache 512kB unified cache, 64B line size

MLC-PCM16GB, 8 banks, 64B blocksread: 200 nswrite: 1uswrite throughput: 40MB/s

Page 20: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

• Comparison to another paper’s multi-level-cell pcm

• Cell Error Rate/Block Error Rate• Transient Error Correction

20

Other Results and Discussion in the Paper

Page 21: Practical Nonvolatile Multilevel- Cell Phase Change Memorycamelab.org/uploads/Main/PCM_practical_nonvolatile.pdf · To make MLC-PCM non-volatile with an optimized practical scheme

21

Practical Nonvolatile Multilevel-Cell Phase Change Memory