When deleting files, the OS does not just erase the files from the hard disc but also marks them as “ineffective” data, which may be written over or erased in the future. In a conventional HDD, such ineffective data will be directly written over with new data. In SSDs with Blocks as the unit of erasure, the effective data in the Block would first be duplicated and integrated into another available Block before the ineffective data can be erased to form a Free Block. This mechanism is called Garbage Collection (GC).
TRIM is a command that enables an operating system to inform a NAND flash solid-state drive (SSD) which data blocks it can erase because they are no longer in use. Therefore, SSD that supports TRIM command would optimize its GC to accelerate the release of Block space; by clearing out ineffective data prior to writing in new data. This process decreases the workload on the SSD SoC Controller.
All SSSTC SATA SSD supports TRIM command, however, some Operating Systems may not support TRIM command. So even if an SSD supports TRIM command, the GC mechanism needs to considered the application environment without the TRIM command.