Storage Overview
What is “Solid-State?”
ROM, EPROM, EEPROM, and Flash
Evolving Requirements of Data and Storage
Flash Basics
Why Flash? Why Now?
High-level Structure and Terminology
- Planes, Blocks, Pages
- NAND and NOR
- Erase, Program, Read
- SLC, MLC, TLC, and more
FTL (Flash Translation Layer)
Typical Flash Chip Specs
Markets
Data Access
Hot and Cold Data
Storage Tiers and Flash
Understanding Performance Metrics and Tests
- IOPS (Input/Output Operations per second)
- Latency
- Bandwidth
- Preconditioning and Repeatability
SSD Fundamentals
Embedded, Removable, PC, Enterprise
Architecture of an SSD
Typical SSD Specs
Controller Channels and Data Striping
SSD: “Drive” or “Disk?”
Will SSDs Replace HDDs?
Non-SSD Flash Storage
Market Trends and Observations
Hybrid Hard Drive
NVM Caches
PCIe Drives and Other Form Factors and Uses
Flash Cells
Transistor Structure and Function
The Floating Gate Device
Program and Erase: The Physics
Understanding Energy Barriers |
Flash Fabrication and Testing
Understanding Process Geometry Trends
NOR vs. NAND Layout
Dimensions and Feature Size (F)
Flash and SSD Testing
SSD Manufacturing Flow
Erasing, Programming, and Reading
Memory Array Structure
Voltages for Program, Erase, Read
Sense Amplifier
Signal Processing for Improving Data Detection
Writing to MLC and TLC Flash Cells
Data Formats and ECC (Error Correction Coding)
Spare Area Layouts
Overview of Parity and BCH Error Correction
Expanding Use of ECC
Hard-Decision vs. Soft-Decision Decoding
Brief Introduction to LDPC
Wear-Leveling
Wear Mechanisms in Flash
Static and Dynamic Wear-Leveling
Garbage Collection, Write Amplification
Endurance vs. Data Retention, eMLC
Endurance/Retention Enhancing Techniques
Interfaces and File Systems
ONFI (Open NAND Flash Interface)
NVM Express
PCI Express, SATA
Trim Feature
Future Trends
The “Post-NAND” World
Data Recovery
NAND Flash Contenders (PCM, Memristor, …)
3D Structures |