Affiliate disclosure
Book titles on this page link to Amazon. As an Amazon Associate, DataField.Dev earns from qualifying purchases β at no additional cost to you.
Chapter 9 β Further Reading
The fastest way to mislead a client about an SSD is to reason from the file system and ignore the controller. Read these to build the mental model of the FTL, then prove it to yourself on real drives β TRIM behavior is something you measure, not assume.
Foundations (π¬ / deeper)
- Bell, G. B. & Boddington, R. (2010), Solid State Drives: The Beginning of the End for Current Practice in Digital Forensic Recovery?, Journal of Digital Forensics, Security and Law. The paper that named the non-determinism problem for the field. Required reading before you ever testify about an SSD hash β this is the citation you will give on the stand.
- Wei, Grupp, Spada & Swanson (2011), Reliably Erasing Data from Flash-Based Solid State Drives, USENIX FAST. The flip side of recovery: why securely erasing flash is hard, why single-file overwrite often fails, and why crypto-erase works. The clearest account of how flash's indirection defeats naΓ―ve assumptions in both directions.
- NIST SP 800-88 Rev. 1, Guidelines for Media Sanitization. The authority on Clear/Purge/Destroy, cryptographic erase, and why a self-encrypting drive can be sanitized in milliseconds. Read it as the "how data is destroyed" companion to this chapter's "what survives."
Approachable explanations (everyone)
- AnandTech, The SSD Anthology and "Understanding TRIM/Garbage Collection" (Anand Lal Shimpi). Still the most readable walk-through of pages, blocks, the program/erase asymmetry, wear leveling, GC, and why TRIM had to be invented. If the FTL feels abstract, start here.
- The r/datarecovery wiki (Reddit). Community-maintained and blunt about flash: why "it's an SSD, give up" is sometimes wrong, why SD-card recovery so often succeeds, and how to choose a monolith/chip-off lab. The best free orientation for a panicking drive owner.
In practice (πΎ Recovery Β· π Examiner Β· π‘οΈ IR Β· π Legal)
- Belkasoft / Elcomsoft blogs β "Recovering Evidence from SSD Drives: TRIM, Garbage Collection and Exclusions" (Gubanov & Afonin). π π Practitioner-grade tables of which OSes, file systems, and configurations issue TRIM β the real-world "when is it recoverable?" matrix that turns this chapter into a checklist.
- ACE Lab PC-3000 SSD / PC-3000 Flash documentation; Rusolut Visual NAND Reconstructor and Flash Extractor materials. πΎ The professional platforms' own writeups on controller repair, translator rebuilds, ECC/de-scramble/de-interleave, and controller-profile databases β the clearest window into what a chip-off lab actually does.
- ATA Command Set (ACS) Data Set Management / TRIM, and NVM Express Dataset Management (Deallocate, DLFEAT). π π‘οΈ The standards that define the determinism flags (DRAT, RZAT) you query before promising anything. Skim them once so the
hdparm/nvmeoutput stops being magic.
Reference (this book)
- Appendix B β Python Forensics Toolkit: the hardened
trim_triage.pyzero/entropy scanner used in this chapter's labs. - Appendix C β Tool Reference: PC-3000 SSD/Flash, Flash Extractor, Rusolut VNR, NAND readers and BGA/TSOP adapters.
- Appendix G β File-System and Media Reference: NAND page/block/OOB layout and the FTL structures behind this chapter.
- Appendix J β Practice Images and Lab Setup: the camera-card and trimmed-NVMe images for these labs.
- Chapter 3 β Storage Technology: the NAND/FTL/wear-leveling owner; read it first if the anatomy is fuzzy.
- Chapter 29 β Encrypted Device Forensics: when a flawless chip-off hands you only ciphertext.
Do, don't just read
- Run the two-media experiment. Delete the same folder of photos from a TRIM-enabled SSD and from an SD card in a reader; wait, image both, carve both. The card gives nearly everything; the SSD may give nothing. That contrast is the chapter.
- Measure your own drives. Run
fsutil behavior query DisableDeleteNotify,hdparm -I, andlsblk --discardon the hardware you own. Find one drive that reports RZAT and one path that passes no TRIM at all. - Test an enclosure. Put a bare SSD in two USB enclosures and check
lsblk --discardon each β discover a non-TRIM bridge in the wild, and understand why an external SSD is sometimes the recoverable one. - Triage an image. Run
trim_triage.pyagainst a trimmed and a non-trimmed image and read the all-zero percentage; learn to set client expectations from one number.
Next: Chapter 10 β RAID Recovery: leave the single device for the array β striping, mirroring, and parity across disks, determining an unknown array's parameters from the data itself, and how the TRIM behavior you just learned reshapes how SSD-backed arrays fail and recover.