Errors in Flash-Memory-Based Solid-State Drives: Analysis, Mitigation, and Recovery
arXiv:1711.11427
Abstract
NAND flash memory is ubiquitous in everyday life today because its capacity has continuously increased and cost has continuously decreased over decades. This positive growth is a result of two key trends: (1) effective process technology scaling; and (2) multi-level (e.g., MLC, TLC) cell data coding. Unfortunately, the reliability of raw data stored in flash memory has also continued to become more difficult to ensure, because these two trends lead to (1) fewer electrons in the flash memory cell floating gate to represent the data; and (2) larger cell-to-cell interference and disturbance effects. Without mitigation, worsening reliability can reduce the lifetime of NAND flash memory. As a result, flash memory controllers in solid-state drives (SSDs) have become much more sophisticated: they incorporate many effective techniques to ensure the correct interpretation of noisy data stored in flash memory cells. In this chapter, we review recent advances in SSD error characterization, mitigation, and data recovery techniques for reliability and lifetime improvement. We provide rigorous experimental data from state-of-the-art MLC and TLC NAND flash devices on various types of flash memory errors, to motivate the need for such techniques. Based on the understanding developed by the experimental characterization, we describe several mitigation and recovery techniques, including (1) cell-tocell interference mitigation; (2) optimal multi-level cell sensing; (3) error correction using state-of-the-art algorithms and methods; and (4) data recovery when error correction fails. We quantify the reliability improvement provided by each of these techniques. Looking forward, we briefly discuss how flash memory and these techniques could evolve into the future.
arXiv admin note: substantial text overlap with arXiv:1706.08642
References in corpus (2)
Cited by in corpus (21)
- Beyond single-shot fault-tolerant quantum error correction
- Venice: Improving Solid-State Drive Parallelism at Low Cost via Conflict-Free Accesses
- RowClone: Accelerating Data Movement and Initialization Using DRAM
- Read Disturb Errors in MLC NAND Flash Memory
- Recent Advances in DRAM and Flash Memory Architectures
- A Memory Controller with Row Buffer Locality Awareness for Hybrid Memory Systems
- Experimental Characterization, Optimization, and Recovery of Data Retention Errors in MLC NAND Flash Memory
- RowHammer: A Retrospective
- Processing Data Where It Makes Sense: Enabling In-Memory Computation
- Voltron: Understanding and Exploiting the Voltage-Latency-Reliability Trade-Offs in Modern DRAM Chips to Improve Energy Efficiency
- Exploiting Row-Level Temporal Locality in DRAM to Reduce the Memory Access Latency
- Characterizing, Exploiting, and Mitigating Vulnerabilities in MLC NAND Flash Memory Programming
- Adaptive-Latency DRAM: Reducing DRAM Latency by Exploiting Timing Margins
- Recent Advances in Overcoming Bottlenecks in Memory Systems and Managing Memory Resources in GPU Systems
- Reducing DRAM Refresh Overheads with Refresh-Access Parallelism
- Reducing Solid-State Drive Read Latency by Optimizing Read-Retry (Extended Abstract)
- SoftMC: Practical DRAM Characterization Using an FPGA-Based Infrastructure
- Evaluating Reliability of SSD-Based I/O Caches in Enterprise Storage Systems
- RowHammer and Beyond
- Flexible-Latency DRAM: Understanding and Exploiting Latency Variation in Modern DRAM Chips
- Tiered-Latency DRAM: Enabling Low-Latency Main Memory at Low Cost