This article on thomas-krenn.com states:
Because an ATA trim will be performed by NTFS with Windows 7 or when formatting using Ext4 from mke2fs 1.41.10 or XFS from xfsprogs 3.1.0, the secure erase procedure is no longer necessary [...].
From my understanding, the SSD's garbage collector will run some time after the SSD's controller has received the trim command from the operating system, resetting all blocks to zero.
This answer and this article suggest that most controllers of SSDs will return zeros for the trimmed blocks immediately, making it impossible to retrieve data from the formatted SSD with software like testdisk
or foremost
:
today’s SSD controllers are designed to report a data block empty as soon as the [trim] command is received – even if the actual wipe of that block occurs at a later point. [...] Regardless of the manufacturer, you can say it for a fact that the execution of the TRIM command is a nearly 100% guarantee of file deletion.
Gubanov and Afonin mention in this 2012 paper to physically detach the SSD's controller to prevent the garbage collector from zeroing out the blocks in flash memory but go on to say that the time window for this is small:
most information is lost from an SSD drive in just a few counted minutes after the user deletes a file or issues a quick format command.
On the other hand, Wei et al. write in a footnote that
The ACS-2 draft standard provide a “TRIM” command that informs drive that a range of LBAs is no longer in use, but this does not have any reliable effect on data security.
Is it safe to assume that after formatting an SSD¹, its data is irretrievably deleted? Are there counterexamples where files were restored from the formatted drive?
¹ Given that the formatting program (e.g., mke2fs) sends the trim command and the SSD supports it.