Hi huys, quick question on the topic: With TRIM enabled on an SSD, isn't overprovisioning basically the same as just having some free space on it? is it different on the hardware(controller) level?
As far as I understand it, the drive needs empty blocks in order for the wear levelling to function optimally. It shouldn't matter if the space is unallocated or simply marked free as the controller just scatters writes over available blocks to avoid wearing out some areas of the flash prematurely.
TRIM helps exactly with this - it actually tells the SSD to erase blocks which hold deleted data. For example, all areas marked as free in the Master File Table on an NTFS partition. This is needed because the file systems do not care about actually deleting the sectors containing the data, they only mark them as free in the FS lookup tables so they can be overwritten later. This was(is) not a problem for HDDs, but it messes with the SSDs' garbage collection schemes - they still see the blocks as occupied even though they aren't.
Unless I'm missing something, as long as the drive is TRIMmed regularly (which is automatic on modern OSes), just not filling it completely should have more or less the same effect on durability and performance as leaving some space permanently unallocated. The difference is that that you could, if needed, fill the extra space - performance should return to normal once the space is freed and TRIMmed afterwards. Is this really the case or is the TRIMming not as ideal in real-world conditions?