coding for unreliable flash memory cells
play

Coding for Unreliable Flash Memory Cells Ryan Gabrys, Lara Dolecek - PowerPoint PPT Presentation

Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Coding for Unreliable Flash Memory Cells Ryan Gabrys, Lara Dolecek Laboratory for Robust Information Systems (LORIS) Department of


  1. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Coding for Unreliable Flash Memory Cells Ryan Gabrys, Lara Dolecek Laboratory for Robust Information Systems (LORIS) Department of Electrical Engineering, UCLA 0 / 19

  2. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion 1 Background 2 Empirical Data 3 Data Analysis 4 Error-Correction Model 5 Performance Results 6 Conclusion 1 / 19

  3. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Flash Memory Basics Flash memory is comprised of a set of floating gate cells. 2 / 19

  4. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Flash Memory Basics Flash memory is comprised of a set of floating gate cells. Information is stored by controlling the number of electrons stored within each cell. 2 / 19

  5. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Flash Memory Basics Flash memory is comprised of a set of floating gate cells. Information is stored by controlling the number of electrons stored within each cell. Density Per Cell 2 / 19

  6. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Flash Memory Basics Flash memory is comprised of a set of floating gate cells. Information is stored by controlling the number of electrons stored within each cell. Density Per Cell Single-Level-Cell ( SLC ) 1 bit per cell. 2 / 19

  7. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Flash Memory Basics Flash memory is comprised of a set of floating gate cells. Information is stored by controlling the number of electrons stored within each cell. Density Per Cell Single-Level-Cell ( SLC ) 1 bit per cell. Multiple-Level-Cell ( MLC ) 2 bits per cell. 2 / 19

  8. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Flash Memory Basics Flash memory is comprised of a set of floating gate cells. Information is stored by controlling the number of electrons stored within each cell. Density Per Cell Single-Level-Cell ( SLC ) 1 bit per cell. Multiple-Level-Cell ( MLC ) 2 bits per cell. Triple-Level-Cell ( TLC ) 3 bits of information per cell. 2 / 19

  9. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Flash Memory Basics Flash memory is comprised of a set of floating gate cells. Information is stored by controlling the number of electrons stored within each cell. Density Per Cell Single-Level-Cell ( SLC ) 1 bit per cell. Multiple-Level-Cell ( MLC ) 2 bits per cell. Triple-Level-Cell ( TLC ) 3 bits of information per cell. 2 / 19

  10. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Mapping Information to Voltage Levels in TLC -.+/#'%()*+,# !""# !"!# Most Significant Bit MSB !!!# !!"# Center Significant Bit CSB "!"# Least Significant Bit LSB "!!# ""!# """# $%&#'%()*+,# 3 / 19

  11. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Data Collection On the first of every 100 P/E cycles the following was performed: 4 / 19

  12. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Data Collection On the first of every 100 P/E cycles the following was performed: Erase the block. (block = 2 20 cells) 1 4 / 19

  13. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Data Collection On the first of every 100 P/E cycles the following was performed: Erase the block. (block = 2 20 cells) 1 Read back the errors. 2 4 / 19

  14. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Data Collection On the first of every 100 P/E cycles the following was performed: Erase the block. (block = 2 20 cells) 1 Read back the errors. 2 Write random data. 3 4 / 19

  15. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Data Collection On the first of every 100 P/E cycles the following was performed: Erase the block. (block = 2 20 cells) 1 Read back the errors. 2 Write random data. 3 Read back the errors. 4 4 / 19

  16. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Data Collection On the first of every 100 P/E cycles the following was performed: Erase the block. (block = 2 20 cells) 1 Read back the errors. 2 Write random data. 3 Read back the errors. 4 On the other 99 cycles, the block was erased and all-zeros were written. 4 / 19

  17. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Raw Error Rate Error Rates for TLC Flash − 2 10 − 3 10 Error Rate − 4 10 LSB CSB MSB Symbol Error Rate − 5 10 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 P/E Cycles 5 / 19

  18. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Observation 1: Error Patterns Within a Symbol Number of bits in symbol that err Percentage of errors 1 0.9617 2 0.0314 3 0.0069 6 / 19

  19. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Observation 2: Unreliable Flash Cells We organized the Flash cells into two categories: 7 / 19

  20. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Observation 2: Unreliable Flash Cells We organized the Flash cells into two categories: reliable Flash cells, 1 7 / 19

  21. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Observation 2: Unreliable Flash Cells We organized the Flash cells into two categories: reliable Flash cells, 1 unreliable Flash cells. 2 7 / 19

  22. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Observation 2: Unreliable Flash Cells We organized the Flash cells into two categories: reliable Flash cells, 1 unreliable Flash cells. 2 An unreliable Flash cell is a cell that experienced ≥ 50 errors across the lifetime of the device. 7 / 19

  23. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Observation 2: Unreliable Flash Cells We organized the Flash cells into two categories: reliable Flash cells, 1 unreliable Flash cells. 2 An unreliable Flash cell is a cell that experienced ≥ 50 errors across the lifetime of the device. We identified 62659 (of the 134217728 total cells tested) unreliable Flash cells. 7 / 19

  24. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Observation 2: Unreliable Flash Cells We organized the Flash cells into two categories: reliable Flash cells, 1 unreliable Flash cells. 2 An unreliable Flash cell is a cell that experienced ≥ 50 errors across the lifetime of the device. We identified 62659 (of the 134217728 total cells tested) unreliable Flash cells. These cells accounted for over 10 % of the total errors measured. 7 / 19

  25. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Observation 3: Unreliable Flash Cells Have Prominent Error Patterns -.+/#'%()*+,# Programmed state Percentage of Errors !""# 000 0.4745 !"!# 000 0.1630 !!!# 010 0.0711 !!"# 000 0.0676 "!"# 001 0.0558 "!!# 001 0.0525 ""!# 011 0.0186 """# $%&#'%()*+,# 8 / 19

  26. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Main Idea Design error-correction scheme that takes into account Observations 1, 2, and 3. 9 / 19

  27. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Main Idea Design error-correction scheme that takes into account Observations 1, 2, and 3. Code corrects errors where most of the errors affect only a 1 single bit within each Flash cell (Observation 1). 9 / 19

  28. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Main Idea Design error-correction scheme that takes into account Observations 1, 2, and 3. Code corrects errors where most of the errors affect only a 1 single bit within each Flash cell (Observation 1). Code allows unreliable Flash cells to be programmed at low 2 voltage levels (Observations 2,3). 9 / 19

  29. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Code Properties Codes are over alphabet of size q = 2 m , where m is some positive integer and each symbol represents a Flash cell. 10 / 19

  30. Outline Background Empirical Data Data Analysis Error-Correction Model Performance Results Conclusion Code Properties Codes are over alphabet of size q = 2 m , where m is some positive integer and each symbol represents a Flash cell. A symbol is a binary length- m vector. 10 / 19

Recommend


More recommend