TRIM command[:] In this case, the process is the same when the user writes the four original files. When the user erases file C in column two, however, the old file C space is immediately marked as invalid in preparation for GC because the OS uses the TRIM command. The space originally holding file C is now free space to the SSD and becomes available as dynamic over provisioning meaning the SSD has more free space during GC which helps improve the overall SSD performance.
In column three when the user finally writes file E, the total free space on the SSD is now the same as the drive without TRIM. The difference is that the SSD with TRIM support knows what data is invalid and it can be considered free space during GC and prevents having to move the invalid data to another block.
This produces three key benefits:
Lower write amplification. Less data is re-written and more free space is available during GC (more space to write equals fewer writes needed);
Higher throughput. With the TRIM command, there is less data to move during GC and the drive runs faster. Throughput is bottlenecked at the flash an SSD is only as fast as it can write to the flash memory. During the time it is doing GC, the drive has to stop some of the data transfer from the host while it moves data around. This is why it’s beneficial for the SSD to know which data is invalid so it doesn’t have to be moved during GC.
Improved endurance, because the drive is writing less to the flash by not rewriting invalid data.