TRIM will always be necessary for SSDs
TRIM is something that won't be needed in the future anyway. As SSD start to "clean" themselves without software, TRIM like features will be OS independent.
This simply isn't true.
As long as solid state drives use flash memory that cannot be selectively overwritten at the individual page level it will
always be better to tell them when they can "forget" the contents of a particular page than to keep them ignorant of this information.
In theory, one could make the drive's firmware aware of the file system layout so that when a file is deleted the drive could "follow along" and figure out all by itself which disk pages are being added to the file system free list. This would be a
horrid hack for any number of reasons -- but I wouldn't be surprised to see at least one SSD vendor doing it for at least one Microsoft file system.
The only way to make it work for every file system, including obscure ones and those that haven't been invented yet, is to have the host operating system explicitly inform the drive when a given page is no longer needed. That's exactly what the ATA TRIM command does.
The drive doesn't have to erase the page right away. And it probably won't. It will simply make note of the fact so that when the drive later runs out of freshly erased pages it can identify the block with the fewest valid pages, copy them elsewhere, and erase it to make it available.
It's vital to understand that without
some form of explicit notification (e.g., TRIM), and ignoring the ugly hack mentioned earlier, there's only one other way for the drive to learn that a given page is no longer needed: when the operating system overwrites it with new data. (This obviously indicates that the previous contents of the page are no longer needed.)
If the drive waits too long, it could easily get itself into a situation where
every single write triggers a copy of every other page in the block (since the drive doesn't know which of them are actually still valid), an erase, and finally the write of the original page. This is called "write amplification", and it's precisely how these drives can bog down to extremely slow random write speeds. Slow as in a few tens of
kilobytes per second.
You can improve things somewhat by maintaining a healthy surplus of erased blocks and performing the copy/erase cycle early. But you'll still have to copy many more pages than you would have to if you actually knew for sure which ones still contained valid data. Not only does this slow down the drive, but it shortens its life because flash memory can only be cycled a finite number of times.