SSD, M.2, NVMe and all that stuff

The genesis for researching all of this was to figure out why normal 2.5" SATA SSD drives don't perform all that great using the on-board SATA controller on my servers.  Honestly a decent battery backed RAID card with cache and SAS drives will out perform most SSD drives.

  Note this test was using a $20 SATA 6gbps controller.
Yes these are older systems and I should really do some testing with newer stuff....but...meh....On that note here is a 6th Gen i5 notebook.

OK!  So now let's look at the other form factor than the 2.5" SATA drives.  Here is what I have been able to learn from other sites.  The M.2 form factor, it looks similar to a micro-pci-e cards/slots.  The theory is that the drive is much closer to the CPU and bypassing the SATA controller, they talk directly over the PCI-e bus and do not have the overhead of SATA commands.  Now there is SATA SSD M.2 cards and NVMe SSD M.2 cards; they are not the same.  The SATA M.2 SSD's are "older technology" and in theory are limited to 550Mbps.  NVMe is newer and has something like 2000Mbps limitations and isn't limited to the SATA protocol.  Both cards fit into the same slot.  Even though some M.2 cards will have the notch on the other side, so double check your research before buying.

Now, what if a machine didn't come with a M.2 slot?  Such as my HP Proliant G6.  The aftermarket has a solution!  PCI-e to M.2 adapter cards.  Their isn't much to them, no integrated circuits, just traces.  I was very skeptical how this would work in older systems.   Also note that these

I borrowed a Samsung 128 SATA SSD, and purchased the adapter for less than $20 and did a bunch of testing.  On a newer Optiplex 790 Intel i3 system, the BIOS saw it, not sure about making it a boot drive, Windows saw the drive and bench marks were very fast.  The HP ML350 saw the drive, the BIOS sees it as a "Mass Storage Device", VMware sees the drive, formatted it, moved a VM over to it and ran tests.  The VM bench-marked very well.  My Dell Precision T5400 (Intel Xeon l5420 CPU) also saw it, and bench marked very well, despite the system board saying it can only do PCI-e 2.0, and the card is a PCI-e 4.0; that system could also not boot from it, despite the BIOS seeing it. 

Great!  Now I purchased an Cruical NVMe 500gb drive.  Benchmarks are even faster!  However the Precision T5400 could not see the it!  Strange.  At least my VMware server sees it. Also, I purchased an aluminum heat-sink for the memory chip, as they do get warm.

This is how VMware sees the controller:
Update.....I happened to get a picture of a mSATA SSD (short one) 
next to an NVME (tall one).....

picture taken from this YouTube video