Presentation is loading. Please wait.

Presentation is loading. Please wait.

Understanding Modern Flash Memory Systems

Similar presentations


Presentation on theme: "Understanding Modern Flash Memory Systems"— Presentation transcript:

1 Understanding Modern Flash Memory Systems
Thomas McCormick Chief Engineer/Technologist, Swissbit ESC Minneapolis

2 Flash Memory Systems Flash memory systems are everywhere

3 Motivation Why do we care? Complicated sub-system Wear-Item
Boot code – Failure is non-functional system

4 Floating Gate Transistor
Limited P/E Cycles

5 Flash Memory: NOR & NAND
Byte Addressable Reduced Scalability Costly Low Density NAND: Block Addressable Scalability Cost Effective High Density

6 Flash Memory: SLC, MLC, & TLC

7 Flash Memory: Endurance

8 Flash Memory: Retention

9 Challenges (NAND) Erase-then-program
Course-grained structures (block & page) Errors Endurance (MLC) Retention (MLC) Problem: How do we design for a long lifetime? Solution: Managed flash memory system with well designed host

10 Interface Sector (LBA) (Wikipedia – Creative Commons)

11 FTL Flash Translation Layer (FTL)
FTL Designs: Block, Hybrid, Page (~2012)

12 Sequential Writes

13 Random Writes

14 Garbage Collection (GC)
Page-mode FTL is more efficient (deferral)

15 Dynamic Wear-Leveling

16 Static Wear-Leveling Flash for code & data will wear equally (retention)

17 Flash Systems: Failure Modes
Erase Failures (hard, managed) Program Failures (hard, managed) Retention Failures (soft, additional work) Retention -> UECC (AVOID!!!!)

18 Retention Management: Active (1)
Active – Engages when data is transferred Error Detection & Correction (EDC) Read-Retry

19 Retention Management: Active (2)
ECC (Hamming, R-S, BCH, LPDC)

20 Retention Management: Active (3)
Read-Retry

21 Retention Management: Passive
Passive – Background Refresh Refresh & Mark Bad

22 Flash System Lifetime WAF = f (workloadnature) WAF ~1 (Sequential)
WAF >> 1 (Random)

23 WAF (1) WAFRandom = f(Over-ProvisioningTrue, FTL Overhead)
McCormick, Validating Analytic Write Amplification Models 2016 Flash Memory Summit Over-ProvisioningTrue = (Physical Size – User Data Size)/(User Data Size) Configuration IDEMA Capacities Extended (SLC) 32 GB, 64 GB, 128 GB, … Standard (MLC) 30 GB, 60 GB, 120 GB, … Enterprise 25 GB, 50 GB, 100 GB, …

24 WAF (2) [McCormick, FMS2016]

25 WAF Reduction Options: Page-mode FTL (2x) [McCormick, FMS 2015]
Increased over-provisioning (2x – 4x) Sequential writes Large, contiguous files (up to 5x) File-system: FAT, ext (no journaling) Key Point: Managed drive (MLC) can approach older drive (SLC) Ex: 2x * 2x * 5x = 20 -> 33.3 (100KSLC/3KMLC)

26 Monitoring Endurance Host writes and flash writes -> WAF
P/E Cycles & Rating Lifetime (%) Standard (SMART Interface) Proprietary (Vendor) Host writes and flash writes -> WAF

27 Lifetime Estimation Sample & Extrapolate

28 Conclusions Managed flash memory system (NAND) Code & data
Retention = f(EnduranceUtilized) EnduranceUtilized = f(Workload, WAF) SLC -> MLC: 33x reduction Minimize WAF: Page FTL, OP, sequential Monitor

29 Speaker/Author Details
Tom McCormick – Chief Engineer/Technologist Swissbit

30 Thank You! Questions? @ESC_Conf ESC Minneapolis


Download ppt "Understanding Modern Flash Memory Systems"

Similar presentations


Ads by Google