As I understand SSD's, they internally manage the numbered "hard drive" sectors expected by an operating system into interior pages, which are grouped into blocks. The SSD firmware is responsible for consolidating the internal pages, so that empty blocks become available for re-use. This process is slow, so it happens in the background. When a drive is close to full, the drive can feel slow to the user, because the firmware has to work to make space available, and the OS has to wait for it.
The operating system has no knowledge of the interior organization of the drive. It tells an SSD that a file system sector is available via TRIM. The SSD can then internally designate the pages representing that sector as available for re-use.
This leaves me with the following questions:
On a drive where TRIM is not enabled, as would often be the case with external drives or RAID setups, as well as older drives and operating systems, once a drive becomes close to full, how can it know when a bunch of stuff has been deleted, so it can make available a bunch of internal pages? And if it doesn't know, how can it perform optimally?
Why don't operating systems regularly report all of a file system's available free sectors to SSD's via TRIM, so the SSD can always have as many free internal pages/blocks as possible? (As I understand it, an OS only reports free file system sectors at the moment they become available, which means SSD pages can remain internally unavailable if TRIM was not enabled from the start, or an internal drive is temporarily accessed externally.)
If whole-disk encryption is enabled in an OS, how is performance not badly impacted? Wouldn't every internal page be in use from the SSD's point of view?
Why don't SSD manufacturers provide tools to restore an SSD to its original factory state, with all pages deactivated, for both security and performance reasons? (The only way I'm aware of to do this is via an esoteric Linux utility that can issue the ATA_SECURE_ERASE command to the drive firmware, and not every drive firmware can be trusted to correctly or comprehensively implement it.)
Any insight would be appreciated.