I always hear people saying you need to leave ~20% of the space on your SSD free otherwise you’ll suffer major slowdowns. No way I’m buying a 4TB drive and then leaving 800GB free on it, that is ridiculous.
Now obviously I know it’s true. I have a Samsung 850 Evo right now that’s 87% full, and with a quick CrystalDiskMark test I can see some of the write speeds dropped to about a third of what they are in reviews.
I’m sure that the amount of performance loss varies between drives, which to me would be a big part in deciding what I’d rather buy. AnandTech used to test empty and full drives as part of their testing suite (here, for example), but they don’t have any reviews for the more interesting drives that came out in the last couple of years, like 990 Pro, SN850X, or KC3000.
Is there anyone else doing these kinds of benchmarks, for an empty and filled drive? It would be a lot better knowing just how bad filling a drive is instead of throwing 20% of it away (some suggest to keep 50% full at most) as some kind of rule of thumb.
If you don’t do much writing or mixed IO (e.g., things like a database), it doesn’t really matter how full you want to keep your SSD. Writing slows (and write amplification goes up) as the disk fills because garbage collection has to work harder. As you may well know, NAND media consists of a set of blocks, and each block contains a set of pages. Writes are at the page level, but erases are at the block level. As data is overwritten or trimmed, some data in a given block will no longer be valid. When a block is garbage collected, the penalty lies in the amount of still-valid data that needs to be copied to another block. The fuller you keep the SSD, the more laden each block is with data you still care about, which has to be moved each time garbage collection is invoked. But if you’re doing read-mostly work, it probably doesn’t matter.