On Wed, 23 Jul 2014 12:58:08 PM Toby Corkindale wrote:
I think most tools are smart enough to do things right
for SSDs
(mainly, block-aligning) now, but TRIM still tends to need you to
fiddle with stuff to enable. I think this is because on older SSDs,
TRIM (aka discard) was a performance problem, so you really only
wanted to run it once at 4am rather than every time you touched a
block on your device.
Pre SATA 3.1 the TRIM command was non-queued, which means the kernel had to
wait for all I/O to complete before it could issue the TRIM command and
couldn't send any other commands until it completed. Bad protocol design.
http://lwn.net/Articles/347511/
Which didn't help the fact that many SSDs took/take a long time to TRIM.
This was fixed in SATA-3.1 which introduced an NCQ/DSM (queued) TRIM command.
But newer SSDs fixed that issue, but because
only some support it, the choice is left up to the user. (With the
default seeming to be "don't do it at all" unfortunately)
There has been an attempt to detect and enable it for certain devices but for
instance Crucial and Micron have problems with crappy SSD firmware (FTL)
leading to data corruption. :-(
It was meant to be fixed in a firmware update (MU05), but sadly trusting the
vendor and whitelisting it resulted in more people getting data corruption,
including trashed partition tables.
Bugzilla entry of their pain:
https://bugzilla.kernel.org/show_bug.cgi?id=71371
I don't know if they've gotten around to fixing it yet. :-(
cheers,
Chris
--
Chris Samuel :
http://www.csamuel.org/ : Melbourne, VIC