
What Happens to SSD Data After You Delete a File?
Deleting a file on an SSD triggers a three-step chain. The operating system removes the file from its directory, sends a TRIM command to the SSD controller, and the controller queues those blocks for garbage collection. Each step moves the data closer to permanent destruction.
- OS deletion. The file system (NTFS, APFS, ext4) removes the file's directory entry. The file's logical block addresses are marked as free in the file system metadata. At this point, the data still exists on the NAND.
- TRIM command sent. The OS sends a TRIM command (DATA SET MANAGEMENT for SATA, DEALLOCATE for NVMe) to the SSD controller. This tells the controller which logical addresses no longer contain valid data. TRIM does not erase anything; it informs the controller that it can erase those blocks when ready.
- Garbage collection erases the NAND. The controller's background process reads valid pages out of mixed blocks, copies them to clean blocks, and applies an erase voltage to the old blocks. The erase voltage resets every cell in the block to its unprogrammed state. The data is physically gone.
The gap between step 2 and step 3 is the only recovery window. If the drive loses power, suffers a firmware crash, or stays busy with other I/O before GC runs, the data may survive on the physical NAND. Once GC applies the erase voltage, no recovery method exists.
Why Can't Any Lab Recover Physically Erased NAND?
NAND flash stores data as electrical charges trapped in floating gate transistors. Each cell holds a specific charge level that represents one or more bits. When garbage collection erases a block, it applies a high voltage (15-20V) that drains every floating gate in the block through Fowler-Nordheim tunneling. The charge that represented your data no longer exists.
This is different from a hard drive. On a magnetic hard drive, deleting a file only removes the directory pointer. The magnetic orientation on the platter stays until new data writes over the same physical location. The data waits to be overwritten. On an SSD, the controller actively hunts for stale blocks and erases them in the background.
An erased NAND cell reads as 0xFF (for SLC) or the lowest threshold voltage state (for TLC/QLC). There is no residual charge pattern, no magnetic remnant, no partial signal to reconstruct. The physics are binary: either the floating gate holds a charge or it doesn't. After the erase voltage, it doesn't. Any company that claims to recover data from physically erased NAND cells is charging you for work that is physically impossible.
Why Does Recovery Software Show All Zeroes on Your SSD?
Modern SSDs implement DZAT (Deterministic Read Zero After TRIM). After the controller processes a TRIM command, it returns all zeroes for any read to those addresses, even if the physical NAND cells still hold the original data. Recovery software reads through the controller's standard interface, receives zeroes, and reports the files as unrecoverable.
- DZAT (Deterministic Read Zero After TRIM)
- SATA specification behavior. The controller intercepts all read commands to TRIMmed logical block addresses and returns a payload of all zeroes. Enforced at the firmware level before the read reaches the physical NAND. Most modern SATA SSDs implement DZAT.
- DLFEAT=001b (NVMe Deallocate Features)
- The NVMe equivalent of DZAT. When set in the namespace metadata, reads to deallocated blocks return all zeroes. Most modern NVMe controllers enforce this for predictable latency and RAID parity consistency.
- DRAT (Deterministic Read After TRIM)
- Older, less strict implementation. The controller returns a consistent value for TRIMmed addresses, but that value isn't guaranteed to be zeroes. Rarely seen in drives manufactured after 2018.
DZAT is the reason recovery software fails on modern SSDs. The controller lies to the operating system. It reports empty space where data may still physically exist on the NAND. This isn't a software bug. It's a protocol-level design decision built into the drive's firmware.
How We Diagnose Whether Your Data Survived
We connect your SSD to PC-3000 SSD and force the controller into a diagnostic state that disables DZAT, garbage collection, and wear leveling. Then we read the raw physical NAND pages to determine whether the data still exists at the cell level. If GC has already erased those blocks, we tell you. No charge.
- Controller identification. We identify the controller family (Samsung, Phison, Silicon Motion, Marvell) and select the correct PC-3000 SSD utility module. Each controller has a different diagnostic mode entry procedure.
- Diagnostic mode entry. PC-3000 SSD forces the controller into Safe Mode or Techno Mode depending on the controller family. In this state, the controller stops processing TRIM, GC, and normal read/write operations.
- FTL mapping table analysis. We read the Flash Translation Layer to identify which physical NAND blocks correspond to the deleted file's logical addresses. The FTL shows whether those blocks were marked as invalid (TRIMmed) and whether they appear in the GC erase queue.
- Raw NAND page read. We read the target physical blocks directly. If the cells still hold charge states above the read threshold, the data exists. If they read as 0xFF (erased state), GC has already run and the data is gone.
- Honest assessment. If the NAND is erased, we tell you and return the drive. You pay nothing. If the data survives, we quote recovery based on complexity. SATA SSD recovery: $200–$1,500. NVMe: $200–$2,500.
We don't charge diagnostic fees. We don't charge “attempt fees.” If TRIM and GC have already erased your data, the honest answer costs you nothing. Call (512) 212-9111 or ship the drive for a free evaluation.
DZAT and DLFEAT: Which SSDs Erase Data Fastest After TRIM?
All modern SSDs implement deterministic post-TRIM behavior (DZAT on SATA, DLFEAT on NVMe), but the aggressiveness of garbage collection varies by controller family. Samsung controllers erase TRIMmed blocks within seconds. Silicon Motion controllers may defer GC for hours on a lightly used drive.
| Controller Family | Interface / Post-TRIM Behavior | GC Timing | Recovery Window |
|---|---|---|---|
| Samsung (Elpis, Pascal, Phoenix) | NVMe / DLFEAT=001b | Seconds after idle | Very short |
| Phison PS3111 (SATA) | SATA / DZAT | Batched during idle | Minutes |
| Phison PS5012, PS5018 (NVMe) | NVMe / DLFEAT=001b | Batched during idle | Minutes |
| Silicon Motion SM2258, SM2259 (SATA) | SATA / DZAT | Deferred until low free blocks | Minutes to hours |
| Silicon Motion SM2262, SM2263 (NVMe) | NVMe / DLFEAT=001b | Deferred until low free blocks | Minutes to hours |
| Marvell 88SS1074 (SATA) | SATA / DZAT | Firmware-dependent | Minutes |
DZAT (SATA) and DLFEAT (NVMe) hide the data from software immediately. GC destroys it physically. Both happen automatically. The only variable is how fast GC runs after TRIM, and that depends on the controller, the drive's free space, and how long the drive stays powered on.
How Much Does SSD Data Recovery Cost?
SATA SSD recovery ranges from $200–$1,500. NVMe SSD recovery ranges from $200–$2,500. The price depends on the failure type, not on whether TRIM was involved. If we determine that garbage collection has already erased your data, the evaluation costs nothing. +$100 rush fee to move to the front of the queue.
Simple Copy
Low complexityYour drive works, you just need the data moved off it
$200
3-5 business days
Functional drive; data transfer to new media
Rush available: +$100
File System Recovery
Low complexityYour drive isn't showing up, but it's not physically damaged
From $250
2-4 weeks
File system corruption. Visible to recovery software but not to OS
Starting price; final depends on complexity
Circuit Board Repair
Medium complexityYour drive won't power on or has shorted components
$450–$600
3-6 weeks
PCB issues: failed voltage regulators, dead PMICs, shorted capacitors
May require a donor drive (additional cost)
Firmware Recovery
Medium complexityMost CommonYour drive is detected but shows the wrong name, wrong size, or no data
$600–$900
3-6 weeks
Firmware corruption: ROM, modules, or system files corrupted
Price depends on extent of bad areas in NAND
PCB / NAND Swap
High complexityYour drive's circuit board is severely damaged and requires NAND chip transplant to a donor PCB
$1,200–$1,500
4-8 weeks
NAND swap onto donor PCB. Precision microsoldering and BGA rework required
50% deposit required; donor drive cost additional
50% deposit required
Hardware Repair vs. Software Locks
Our "no data, no fee" policy applies to hardware recovery. We do not bill for unsuccessful physical repairs. If we replace a hard drive read/write head assembly or repair a liquid-damaged logic board to a bootable state, the hardware repair is complete and standard rates apply. If data remains inaccessible due to user-configured software locks, a forgotten passcode, or a remote wipe command, the physical repair is still billable. We cannot bypass user encryption or activation locks.
No data, no fee. Free evaluation and firm quote before any paid work. Full guarantee details. NAND swap requires a 50% deposit because donor parts are consumed in the attempt.
Rush fee: +$100 rush fee to move to the front of the queue.
Donor drives: A donor drive is a matching SSD used for its circuit board. Typical donor cost: $40–$100 for common models, $150–$300 for discontinued or rare controllers.
Target drive: The destination drive we copy recovered data onto. You can supply your own or we provide one at cost plus a small markup. All prices are plus applicable tax.
How Does NAND Block Erasure Work at the Cell Level?
NAND flash stores data as charge trapped in a floating gate transistor. The floating gate sits between the control gate and the silicon channel, electrically isolated by thin oxide layers. Programming (writing data) uses hot-carrier injection or Fowler-Nordheim tunneling to push electrons onto the floating gate. Erasing uses Fowler-Nordheim tunneling in the reverse direction to pull electrons off.
Page-Level Writes, Block-Level Erases
NAND can write individual pages (4KB-16KB) but can only erase entire blocks (typically 256KB-4MB containing 64-256 pages). This asymmetry is why garbage collection exists. The controller can't erase a single deleted file's pages without erasing every page in that block. GC reads the still-valid pages out of a mixed block, copies them to a clean block, then erases the entire old block at once.
Erase Voltage and Fowler-Nordheim Tunneling
During block erasure, the controller applies 15-20V to the substrate while grounding the control gate. This voltage differential creates an electric field across the tunnel oxide that pulls electrons off the floating gate through quantum mechanical tunneling. The process takes 3-10 milliseconds per block and resets every cell in the block to the erased threshold voltage.
For SLC NAND, the erased state is a single threshold: 0xFF. For TLC NAND, which stores 3 bits per cell across 8 voltage levels, the erase resets all cells to the lowest threshold. For QLC (4 bits, 16 levels), the same principle applies but with tighter voltage margins. After erasure, there is no intermediate charge state that preserves the original data. The floating gate is either charged or discharged. An erased cell carries no recoverable information about what it previously stored.
Why Partial Erasure Doesn't Help
If power is lost mid-erase, some cells in the block may be partially drained while others retain their original charge. PC-3000 SSD can read pages from partially erased blocks and recover data from cells where the charge state is still above the read threshold. But this only applies to interrupted GC operations. A completed block erase is total. Every floating gate in the block has been fully discharged.
PC-3000 SSD Diagnostic Workflow for TRIM State Analysis
PC-3000 SSD communicates with the SSD controller at the vendor command level, below the standard SATA or NVMe protocol. This access level allows direct inspection of the FTL state, TRIM status flags, and raw NAND page contents. The diagnostic workflow depends on the controller family.
Samsung Controller Diagnostic (Phoenix, Pablo)
PC-3000 SSD's Samsung utility enters Techno Mode through vendor-specific command sequences. In Techno Mode, the controller halts all background operations including GC, wear leveling, and TRIM processing. The utility reads the FTL mapping tables from the controller's DRAM or NAND-backed metadata area and maps logical addresses to physical NAND block/page coordinates. Reading the raw pages at those coordinates shows whether the cells are erased or still hold data. Modern Samsung NVMe controllers (Elpis in the 980 Pro, Pascal in the 990 Pro) have limited PC-3000 firmware support; recovery on these models relies on board-level hardware repair rather than diagnostic mode data extraction.
Phison Controller Diagnostic (PS3111, PS5012)
Phison controllers enter diagnostic mode through UART or vendor-specific command interfaces depending on the generation. PC-3000 SSD's Phison utility reads the block status table to identify which blocks are marked as invalid (TRIMmed but not yet erased) vs. erased (GC completed). Blocks in the “invalid but not erased” state still contain recoverable data. The utility reads those pages directly, past the FTL's logical-to-physical translation.
Silicon Motion Controller Diagnostic (SM2258, SM2262, SM2263)
Silicon Motion controllers maintain a detailed block status map in their system area. PC-3000 SSD's SM utility reads this map to distinguish between active blocks (data in use), dirty blocks (TRIMmed, pending GC), and free blocks (already erased). Dirty blocks are the recovery targets. The utility dumps the raw NAND pages from dirty blocks and reconstructs the file system from the physical data, ignoring the FTL's logical view.
What Does the FTL Mapping Table Reveal About TRIM Status?
The Flash Translation Layer (FTL) is the controller's internal database that maps logical block addresses (what the OS sees) to physical NAND locations (where data is stored on the chips). When TRIM invalidates a logical address, the FTL updates its mapping to reflect that the physical block is a candidate for erasure.
PC-3000 SSD reads the FTL directly from the controller's DRAM cache or from NAND-backed metadata pages. The FTL contains three categories of entries that matter for TRIM recovery:
- Active mappings. Logical addresses pointing to physical pages with valid data. These are not affected by TRIM.
- Invalid mappings (TRIMmed, pending GC). Logical addresses where the FTL records that TRIM was received but GC has not yet erased the physical block. The data is still on the NAND. This is the recovery target.
- Free/erased blocks. Physical blocks that GC has already erased. The cells read as 0xFF. The data is permanently gone.
The ratio of “TRIMmed but not erased” blocks to “already erased” blocks determines how much of the deleted data can be recovered. A drive that lost power shortly after deletion will have most TRIMmed blocks still intact. A drive that ran for hours in idle will have most blocks erased by GC.
When Is Recovery Possible After TRIM?
Recovery is possible when the physical NAND cells still hold their original charge states. Recovery is impossible when garbage collection has applied the erase voltage to those blocks. No exceptions. No amount of lab equipment changes this.
| Scenario | NAND State | Recoverable? |
|---|---|---|
| Power loss before GC | Cells hold original charge | Yes |
| Firmware crash froze controller | GC never ran; cells intact | Yes |
| USB bridge blocked TRIM | Controller never received TRIM | Yes |
| TRIM disabled in OS | No TRIM sent; data persists | Yes |
| GC interrupted mid-erase (power loss during erase) | Some pages partially erased | Partial; depends on cell states |
| GC completed; blocks erased | Cells at 0xFF (fully erased) | No |
| Secure Erase executed | All cells reset across entire drive | No |
The single most important action after accidental deletion on an SSD: power off the drive immediately. Do not reconnect it to a running system. Do not run recovery software (it triggers controller activity and may start GC). Ship the drive powered off. We'll determine the NAND state in our SSD data recovery evaluation. If GC has already run, we tell you and return the drive at no cost.
TRIM & Garbage Collection Recovery FAQ
Can data be recovered from an SSD after TRIM?
What does DZAT mean for SSD data recovery?
How does garbage collection permanently erase SSD data?
Why do data recovery companies charge for drives where TRIM already erased the data?
Is TRIM the same as Secure Erase on an SSD?
How long after deletion does garbage collection erase SSD data?
Can PC-3000 SSD read past DZAT to access raw NAND data?
Does TRIM work on external USB SSDs?
Need Recovery for Other Devices?
The recovery window between TRIM and garbage collection. Controller-specific GC timing, how to disable TRIM, and when professional recovery is still possible.
How GC consolidates valid pages, erases stale blocks, and why DZAT blocks software recovery before GC finishes the physical erase.
SATAFIRM S11, 0GB capacity, BSY state. When the controller firmware crashes, GC stops and TRIMmed data may survive on the NAND.
Full SSD data recovery service. SATA from From $200, NVMe from From $200. Free evaluation, no data = no fee.
Deleted Files on Your SSD? Find Out If They Survived.
TRIM may not have finished the job. Power off the drive and ship it to our Austin lab. We check the raw NAND state for free. SATA SSD recovery starts at $200; NVMe starts at $200. No data, no charge.