
On 24 July 2014 10:14, Jason White <jason@jasonjgw.net> wrote:
Chris Samuel <chris@csamuel.org> wrote:
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.
How is the protocol handled by SSDs that attach directly to a PCI-Express interface rather than to a SATA controller? Does Linux support these yet?
Well, they are going to attach via the old SATA connectors still, but the new controllers will use "SATA Express", which is just the PCI Express bus going over SATA cables. The new protocol for accessing the disks is "NVM Express": Linux appears to have had support since kernel 3.3: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9... However the wikipedia article mentions that 3.13 saw major performance alterations come in with 3.13. Refs: https://en.wikipedia.org/wiki/SATA_Express https://en.wikipedia.org/wiki/NVM_Express