Scalable Parallel Flash Firmware for Many-core Architectures
summary
DeepFlash claims a concrete result: a manycore SSD firmware that reaches 1M IOPS and about 4.5 GB/s by splitting firmware into modular “stresses” and running a many-to-many threading pipeline across dozens of lightweight cores. Implementation uses queue-gather → translate → flash-scatter stages, dynamic load balancing of NVMe submission queues, a direct map table to avoid cache lookup bottlenecks, lock-aware translations and offload tricks to cut serialization so flash latency (15% at scale) is no longer the bottleneck.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:15Executable Summary
- 1:34Motivation: Data Explosion
- 2:28Motivation: Storage Evolutions
- 3:09Baseline NVMe SSD Architecture
- 3:41NVMe SSD Firmware
- 5:18Scalable Testing - Flash Packages
- 5:44Scalable Testing - SSD Performance
- 6:36Scalable Testing - Flash Cores
- 8:15Modulate firmware as threads
- 8:57Modulate firmware into hardware threads
- 10:01NVMO thread
- 11:05NVMQ thread - dynamic 1/O serialization(DIOS)
- 13:11NVMQ thread - consistency issue
- 16:45CACHE thread - optimization
- 18:52TRANS thread
- 20:06Experiment setup
- 20:50Overall performance
- 21:17SSD controller utilization
- 21:40NVMQ thread - load balance
- 22:05ILOCK thread - NVMQ parallelism
- 23:14Conclusion
related talks
36mFrom Raw To Refined: The Evolution of Raw Flash Support in Linux
33mSSDFS: Flash-friendly File System with Highly Minimized GC Activity, Diff-on-write, & Deduplication
02mmakes sense of industrial-grade flash
14mModernizing File System through In-Storage Indexing
17mINSIDER: Designing In-Storage Computing System for Emerging High-Performance Drive
53mIntel ME: Flash File System Explained
54mBetter Alignment of Flash Storage to Mobile System Behavior
35mDevOps Days MTL 2019- Yannick Brosseau
