47
Flash & SSD 101 Zhichao Lv

7 吕智超-ssd101

  • Upload
    ivan-tu

  • View
    819

  • Download
    3

Embed Size (px)

Citation preview

Page 1: 7 吕智超-ssd101

Flash & SSD 101Zhichao Lv

Page 2: 7 吕智超-ssd101

What is Flash• Obviously, The Flash we are talking about here is

not an Player.

• Here, Flash is short for Flash Memory

• Flash memory is an electronic non-volatile computer storage media that can be electrically erased and reprogrammed.

• Introduced by Toshiba in 1984

Page 3: 7 吕智超-ssd101

What is Flash• Flash Memory uses Floating-gate(FG) transistor

• Categorized by the types of FG:

• NOR( ) Flash

• NAND( ) Flash

• Today, When we talk about Flash, mostly it refers to NAND Flash.

• NOR Flash ,

Page 4: 7 吕智超-ssd101

Flash Cell

• Flash (NAND Flash)

• Flash .(NAND Flash)

Page 5: 7 吕智超-ssd101

Flash Cell

Page 6: 7 吕智超-ssd101

Flash Cell

• SLC: Single-Level Cell 1bit (0,1)

• MLC:Multi-Level Cell 2bit(00,01,10,11)

• TLC:Triple-Level Cell, And you got the idea.

Page 7: 7 吕智超-ssd101

Flash Cell

Page 8: 7 吕智超-ssd101

Flash Media •

• Cell

• Page/ (8KB 16KB , Cell ,16KB )

• Block/ (256 512 ,4~8MB)

• Die/Lun/ (1024~4096 ,4GB~16GB)

• Package/ (4 8 , 16GB~128GB)

Page 9: 7 吕智超-ssd101

Flash Media

Page 10: 7 吕智超-ssd101

Flash Media • Read/ , , 0, 1.

Page/ (16KB) 40~80us

• Write/Program/ , ,(One Way). : Page/

(16KB) 0.5~2ms

• Erase/ , Program Page, Program (Dirty->Clear),

. :Block/ (4MB) 1~4ms

Page 11: 7 吕智超-ssd101

Flash Media

It’s me

Page 12: 7 吕智超-ssd101

Flash Media

Page 13: 7 吕智超-ssd101

Flash Media

Page 14: 7 吕智超-ssd101

Cell

Page 15: 7 吕智超-ssd101

Cell

Page 16: 7 吕智超-ssd101

Cell

Page 17: 7 吕智超-ssd101

Cell

Page 18: 7 吕智超-ssd101

Flash Cell • Erase ,

( )

• Erase

• Cell —>Cell

• Cell Cell ,Cell Erase

• Flash P/E Cycle (Program/Erase)

Page 19: 7 吕智超-ssd101

Flash Cell • MLC

• P/E Cycle:5000

• P/E Cycle Flash Media .

• P/E Cycle, Flash (WA,WL)

• Flash Media Flash Media

Page 20: 7 吕智超-ssd101

Flash

Page 21: 7 吕智超-ssd101

Flash

Page 22: 7 吕智超-ssd101

Flash •

• Flash ,.

• , .

• P/E Cycle=0 10

• P/E Cycle 5000 3

Page 23: 7 吕智超-ssd101

Flash •

• Flash ,.

• , .

• P/E Cycle=0 10

• P/E Cycle 5000 3

Page 24: 7 吕智超-ssd101

Flash

• U

• U

• U

Page 25: 7 吕智超-ssd101

Flash • SSD is short for Solid State Disk

• Flash Media

• Don’t Panic!

• Flash Flash Media

• Driver/FW( )

Page 26: 7 吕智超-ssd101

Flash • SSD is short for Solid State Disk

• Flash Media

• Don’t Panic!

• Flash Flash Media

• Driver/FW( )

Page 27: 7 吕智超-ssd101

Flash • FTL: Flash Translation Layer

• Intel

• Mapping Table + Flash Media

• ( )

Page 28: 7 吕智超-ssd101

Flash

Page 29: 7 吕智超-ssd101

FTL,RAID,OP,GC,WL

• Mapping Table

• ,

• DRAM

Page 30: 7 吕智超-ssd101

FTL,RAID,OP,GC,WL

• RAID

Page 31: 7 吕智超-ssd101

FTL,RAID,GC,WL

Page 32: 7 吕智超-ssd101

FTL,RAID,OP,GC,WL• OP

• OP , Flash ,

• GC, WL

• ,

• ,

Page 33: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA

1 A1

2 A2

3 A3

4 A4

5 B1

6 B2

7 B3

8 B4

9 C1

10 C2

11 C3

12 C4

OverProvision

page

block

Physical Capacity = 16pageUser Capacity = 12page OP = 25%

FTL(Flash Translation Layer)Simple SSD

Page 34: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 A1 xa

2 A2 xb

3 A3 xc

4 A4 xd

5 B1 xe

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

xa xb

xc xd

xe xf

xg xh

xi xj

xk xl

Whole Disk Write

Page 35: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 A1->D1 xa ->ya

2 A2 xb

3 A3 xc

4 A4 xd

5 B1 xe

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

xa xb

xc xd

LBA 1 xa -> ya

Page 36: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 A2->D2 xb->yb

3 A3 xc

4 A4 xd

5 B1 xe

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

xa xb

xc xd

yb

LBA 2 xb -> yb

Page 37: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 D2 yb

3 A3->D3 xc->yc

4 A4 xd

5 B1 xe

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

xa xb

xc xd

yb

yc

LBA 3xc -> yc

Page 38: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 D2 yb

3 D3 yc

4 A4 xd

5 B1 xe

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

xa xb

xc xd

yb

yc

LBA 5 xe -> ye

LBA 5 xe -> ye

Page 39: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 D2 yb

3 D3 yc

4 A4 xd

5 B1->D4 xe->ye

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

xa xb

xc xd

yb

yc ye

OP free block

LBA 5 xe -> ye (error)

Page 40: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 D2 yb

3 D3 yc

4 A4->D4 xd

5 B1 xe

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

xa xb

xc xd

yb

yc xd

54321

life(A)=5 life(B)=5 life(C)=5 life(D)=5

54321

54321

54321

Garbage Collection

Page 41: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 D2 yb

3 D3 yc

4 D4 xd

5 B1 xe

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

yb

yc xd

4321

life(A)=4 life(B)=5 life(C)=5 life(D)=5

54321

54321

54321

OverProvision

Garbage Collection

GC free block

Page 42: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 D2 yb

3 D3 yc

4 D4 xd

5 B1->A1 xe->ye

6 B2 xf

7 B3 xg

8 B4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

yb

yc xd

4321

life(A)=4 life(B)=5 life(C)=5 life(D)=5

ye

Host write = 16 pageFlash write = 17 page = 1.0625 (Write Amplifier)

54321

54321

54321

LBA 5 xe -> ye

Page 43: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 D2 yb

3 D3 yc

4 D4 xd

5 A1 ye

6 B2->A2 xf

7 B3->A3 xg

8 B4->A4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

ya

xe xf

xg xh

xi xj

xk xl

yb

yc xd

4321

life(A)=4 life(B)=5 life(C)=5 life(D)=5

ye54321

54321

54321

xf

xg xh

LBA 1 ya -> za

LBA 1 ya -> za

Page 44: 7 吕智超-ssd101

A1 A2

A3 A4

B1 B2

B3 B4

C1 C2

C3 C4

D1 D2

D3 D4

LBA PBA Data

1 D1 ya

2 D2 yb

3 D3 yc

4 D4 xd

5 A1 ye

6 A2 xf

7 A3 xg

8 A4 xh

9 C1 xi

10 C2 xj

11 C3 xk

12 C4 xl

yaxi xj

xk xl

yb

yc xd

4321

life(A)=4 life(B)=4 life(C)=5 life(D)=5

ye

4321

54321

54321

xf

xg xh

Wear Leveling

Page 45: 7 吕智超-ssd101

FTL,RAID,OP,GC,WL• GC/WL

Page 46: 7 吕智超-ssd101

Thx.

Page 47: 7 吕智超-ssd101

Q&A