A curated list of resources related to (NAND Flash-Based) Solid State Drives
Coding for SSDs - by Emmanuel Goossaert
Solid State Drives 101 educational series - by cactus-tech
Flash memory guide to architecture, types and products
Understanding NAND Flash Factory Programming - by BPM
NAND Flash 101: An Introduction to NAND Flash and How to Design It In to Your Next Product - by Micron
Understanding Flash: The Flash Translation Layer
SSD通俗原理简介(In Chinese)
Computer Architecture - Lecture 26: Flash Memory and Solid-State Drives (ETH Zürich, Fall 2020)
Understanding and Designing Modern NAND Flash-Based SSDs
Software-Enabled Flash™ (SEF) technology
Vault '19 - From Open-Channel SSDs to Zoned Namespaces
NVMe® Zoned Namespace SSDs & The Zoned Storage Linux Software Ecosystem
storagesearch
memblaze blogs
Software-Enabled Flash white papers
NVMe specifications
ONFI specifications
SPC TRACE FILE FORMAT SPECIFICATION v1.01
[1991] The Design and Implementation of a Log-Structured File System
[1993] An Implementation of a Log-Structured File System for UNIX
[2006] FAST: An Efficient Flash Translation Layer for Flash Memory
[2008] Design Tradeoffs for SSD Performance
[2008] DFTL: A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mapping
[2011] CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of Flash Memory based Solid State Drives
[2012] An Evaluation of Different Page Allocation Strateges on High-Speed SSDs
[2012] The Bleak Future of NAND Flash Memory
[2014] A Survey of Address Translation Technologies for Flash Memories
[2014] Design and Implementation of a Log-Structured File System for Flash-Based Solid State Drives
[2015] CONTROLLER DESIGN FOR MULTICHANNEL NAND FLASH MEMORY FOR HIGHER EFFICIENCY IN SSD’S
[2015] Refactored Design of I/O Architecture for Flash Storage
[2015] A Large-Scale Study of Flash Memory Failures in the Field
[2016] Performance Evaluation of Dynamic Page Allocation Strategies in SSDs
[2017] The Unwritten Contract of Solid State Drives
[2017] SimpleSSD: Modeling Solid State Drives for Holistic System Simulation
[2018] A Survey on Flash Translation Layer for NAND Flash Memory
[2019] Design Tradeoffs for SSD Reliability
[2019] Parallel all the time: Plane Level Parallelism Exploration for High Performance SSDs
[2020] Review and analysis of block allocation strategies in SSDs
[2023] SplitZNS: Towards an Efficient LSM-Tree on Zoned Namespace SSDs
[2024] We Ain’t Afraid of No File Fragmentation: Causes and Prevention of Its Performance Impact on Modern Flash SSDs
[2025] ByteFS: System Support for (CXL-based) Memory-Semantic Solid-State Drives
OpenSSD
OpenNFM
LightNVM
FlashSIM
DiskSim
SEF
FlashSimulator
VSSIM
ssdsim
dhara
MQSim
FlashFTLDriver
FEMU
simpleSSD
3Dsim
wiscsee
PBlaze7 7A40 PCIe 5.0 SSD (1), (2)
NVMe Overview
NVMe Namespaces
NVMe Technology Power Features
Goodbye FTL – Kioxia reconstructing flash drives with software-enabled flash