@mikeboss: Don’t worry about RosynaKeller. I read that conversation a day or two ago and he/she is the WORST kind of *MORON*: The kind who is an advanced computer user who knows the *names* of everything, and has a *general* idea of how computers work, but then starts extrapolating/misinterpreting and then passing off their *madness* as gospel. This is why they say that “a little knowledge is a dangerous thing”. That person is clueless about TRIM. He/she is dumb enough that I *almost* registered at MacRumors to clear up the ********, but I decided it wasn’t worth my time, and that other people would call the person out on most of it – and they did. And besides, I don’t care if the general population is misinformed about something; let them be.
There’s no race condition. An example of a race condition would be if the queue wasn’t processed in the correct order, such as if the following queue was sent: “Delete/trim block 102, Write to block 102″ and the write took place BEFORE the delete, thus deleting the newly written data. That is *NOT* what is going on, though! *All* SATA commands, whether sequential OR queued, are processed in the *exact* order they are received. There has never been, and never will be, any race conditions.
The initial *sequential* TRIM corruption (when TRIM was introduced) was because of misimplemented controllers that deleted random blocks instead of the desired block. It can now be assumed that all *modern* manufacturers have solved that issue by now, but I wrote this test tool just to be completely sure.
The *queued* TRIM corruption is because of misimplemented controllers that delete random blocks instead of the desired block. In the case of Samsung, the corruption is *spectacular*. Send a *single* queued TRIM and you’ll lose half of your data. If OS X had used queued TRIM, you would not have had a “Hash okay” on the 50 GB test file, I can assure you of that.
Lastly: Apple’s warning about enabling TRIM is because older drives are a minefield of poorly implemented sequential TRIM, especially SandForce – which is why I wrote this tool to give people peace of mind.
PS: I am working with Samsung’s firmware department to fix the queued TRIM in a future firmware update. It really only matters for Linux since it’s the only OS using the new queued TRIM spec, but it’s a good thing if OS X or Windows ever switches over too.
PPS: I am signing out of this forum, since everything I came here to discuss is done now.