The SSD can't see "free space" in a filesystem, it needs to be unpartitioned space
...
SSD devices: especially now with Yosemite unless using an Apple SSD of the type used in the nMP, and even then (for the benefit of TRIM) - aim for 40% free space plus 11% over-provisioning.
...
This "40% free space" should be interpreted as "40% never partitioned space" if you don't have TRIM support.
Even if you never fill a filesystem more than 60% full, it can write blocks across the entire filesystem. For example, a large file might be written to "high" blocks if the lower part of the filesystem doesn't have a large contiguous space. Over time, even if you've never exceeded 60% full, 100% of the partition may have been used.
The SSD doesn't understand the filesystem (and you would not want it to), so it has no way of knowing that 40% of those blocks are not actually in use.
There are two ways to tell the SSD that the blocks are free, and so that the garbage collector can perform more effectively.
- Use a filesystem+OS that support the TRIM command.
- Use the "secure erase" hardware command to put all blocks on the free list. (All data is lost, obviously.)
TRIM support is by far the better approach. If for some reason you need to fill the filesystem - just do it. As soon as you delete files to get back to 40% free TRIM tells the SSD what you've done. Unused space in the filesystem is just as good as never-partitioned space.
Also, the phrase "for the benefit of TRIM" is misleading. TRIM
per se does nothing. TRIM is a hint for the garbage collector - it allows the garbage collector to discard data that the OS has already discarded.