Originally posted by: aka1nas
Originally posted by: taltamir
EDIT: wait... not necessarily, the controller could just keep track and only do a trim when multiple cells are freed up... and right now it doesn't know which are really free, so it already has to waste a 512K on a 4K write, and writes back useless data because it doesn't know it is gone!
So in retrospect, this will improve (decrease) write amplification for a GOOD controller... but completely demolish it for a bad one.
The point of TRIM is that it will perform the erase cycle when the something gets deleted at the LBA level instead of waiting to erase the inactive page when the controller is forced to overwrite them. So, the TRIMs should correspond with LBA operations, rather than individual 4k page operations at the SSD controller level.
If you only delete a 4k file, it should still erase the block with the TRIM command. However, if you delete a 128k file that is contained within a single block, it should still only be a single TRIM command.