I tested four NVMe SSDs from four vendors – half lose FLUSH'd data on power loss (2022)
Tests on consumer NVMe SSDs show that some drives lose recently written data after a power loss even when the operating system has issued a FLUSH command and been told the data is safely stored. The thread identifies specific models that failed or passed these durability checks, explores how firmware and controller design decisions can lead vendors to “lie” about data being committed, and contrasts consumer hardware with enterprise drives that use capacitors for power-loss protection. Commenters also raise legal and practical questions about standards compliance, fake and downgraded SSDs in the market, and what file systems and applications can realistically do to protect data when storage devices are unreliable.
Tested drives and results
- Initial tweet tested four NVMe SSDs; two lost data despite reported FLUSH completion.
- Later in the thread, a larger list appears (12 total tested at that time):
- Drives reported as passing the flush test:
Samsung 970 Evo Plus 2TB, WD Red SN700 1TB, Crucial P2 250GB, Samsung 980 250GB, WD Black SN750 1TB, WD Green SN350 240GB. - Drives reported as failing (lost data after flush + power loss):
SK Hynix Gold P31 2TB (specific FW version), Sabrent Rocket 512GB (Phison-based).
- Drives reported as passing the flush test:
- Commenters note the title “half” is outdated once more drives were tested (2/12, not 2/4), and that the test is from early 2022.
Flush semantics, PLP, and firmware behavior
- NVMe FLUSH is supposed to guarantee all prior writes are on non-volatile media before completion.
- Distinction made between:
- Drives honestly delaying completion until data is safe.
- Drives lying by completing early while data is still in volatile/cache.
- Discussion emphasizes this is not about power-loss capacitors failing, but about violating the flush contract.
- Enterprise SSDs typically use power-loss protection (PLP) capacitors; consumer drives mostly don’t.
- Some argue that if a drive cannot safely honor FLUSH (or is abused with very small flushes), it should slow down or return errors, not lie.
Filesystems, corruption symptoms, and real-world effects
- Multiple reports of files becoming all-zero after crashes or power loss (logs, configs, cache files, project metadata).
- Debate whether zeroed files come from:
- Misbehaving drives ignoring flush/fua semantics, or
- Filesystem behavior (ext4 delayed allocation, journaling modes, TRIM returning zeros for unallocated space, incorrect fsync usage).
- Consensus: journaling filesystems (NTFS, ext4) protect metadata but cannot protect data if the underlying drive lies.
Consumer vs enterprise drives and performance tradeoffs
- Several comments describe cheap NVMe SSDs:
- Strong short-burst benchmarks, but terrible sustained performance and/or sync performance.
- Heavy dependence on SLC caches and QLC/TLC behavior.
- Some recommend using only enterprise/PLP SSDs for critical data or sync-heavy workloads; others stress that even consumer drives must not violate standards.
Trust, regulation, and ecosystem issues
- Concerns about:
- Vendors swapping components post-review.
- False or incomplete adherence to standards.
- Suggestions include recalls, small-claims actions, stronger false-advertising enforcement, and community-maintained “known good/bad” hardware lists.