Introduction to NAND Flash Aware Hibernation-based Boot
summary
Hibernation-based boot uses page swapout, page-cache clearing and in-memory deduplication to shrink the snapshot from ~900MB to ~200MB, cutting resume boot by 2 seconds versus upstream hibernation and about 6 seconds versus cold boot; work adds raw log-style block management with cluster types, per-block usage counters, early reclaim and discard hints to reduce write amplification and extend NAND lifetime, and implements cluster-selection by usage count to avoid fragmentation-induced slowdowns; prototype lands in the mainline kernel and targets a ~5s power‑off-to-launch goal.
AI-written summary · about
chapters (21)
- 0:00Overview
- 0:29Boot time reduction
- 1:45Traditional techniques
- 2:33What is hibernation?
- 3:28Case Study
- 3:57Cold vs. Hibernation boot time
- 4:37Optimizing hibernation boot time
- 6:23Deduplicate pages in memory
- 7:12Boot time and Image size
- 8:06Extending the lifetime of flash memory
- 9:14Log-structured block management
- 10:01Cluster types
- 11:02Disk layout
- 13:29Performance regression
- 14:03Defragmentation
- 15:40Usage count on blocks
- 16:25Image Loading Performance (after)
- 16:46The amount of data written (after)
- 17:20Reclaim clusters
- 18:16Garbage Collection
- 19:08Questions?
related talks
48mExtending the swsusp Hibernation Framework to ARM
25mReducing Android Boot Times: Evaluating Proactive File Prefetching
33mBoot time optimization for embedded devices
21mAccelerating Boot Time: Lessons from a New Platform
52mUnlocking the Potential of Suspend to RAM Using Linux in a Multi-Core, Multi-Fi...
48mUnified Boot Time Measurement: A Precise, Scalable Framework for Multi-Processor Systems
34mExtending the SWSUSP Hibernation Framework to ARM
42mBooting Automotive ECUs Really Fast with Modern Security Features
