We have been using spinning mechanical drives all my life. The storage density and speed of these devices has been increasing. Today 3TB drives spinning at 10,000rpm and moving 6Gb/s are common and relatively cheap. I got a new 1TB Western Digital 7200rpm drive for US$90.
The only consideration in mechanical hard drives is whether they support SATA-III and can deliver 6Gbps of data. Older drives provide only 3Gbps SATA II. There are other considerations for best performance. But, the data transfer rate is the most important for performance.
Now solid state drives (SSD) are the thing. In talking about protocol remember SSD’s can use SATA or NVMe. Only the newer z170 motherboards have NVMe BIOS support to connect to and boot through the PCIe channels from SSD’s. The older x97/z97 and x99 motherboards may have NVMe support. ASUS put NVMe on some of their z97 and x99 boards. But, it is unlikely the older boards have a polished ‘boot from NVMe’ in the BIOS. So, to use your SSD as the boot device you will likely need a board made in late (late) 2015 or in 2016.
As Windows 10 is now (Anniversary version 1607 build: 14393.187), there is little or no help for installing to SSD unless it is a SATA connected drive. You have to tweak the computer’s BIOS to make it happen via the NVMe.
It is often possible to connect the SSD to an AHCI, SATA II, or III port and use it for booting. But, then, if you have a fast NVMe, you have lost most of the speed, the reason, for using SSD.
You will find older motherboards, x97/z97 and x99, that have M.2 slots. But, those are often wired into the SATA data bus thus using ONLY the SATA protocol. You can put a M.2 SSD in them and they will work because, so far, NVMe M.2 SSD is usually backward compatible to SATA. But, you’ll find they are limited to about 1GBps. The new SSD’s can theoretically provide read/write speeds of up to 20Gbps/12Gbps. The Samsung 950, the gaming world’s current darling, is currently providing 5Gbps.
The NVMe protocol provides a way to hook into the motherboards PCIe bus and use multiple data lanes. Think of an electrical bus as a highway. It can have a single or multiple lanes. The more lanes the more cars can move down the highway in parallel. Same same with data.
The M.2 sockets come in Key-B and Key-M forms. The difference is in whether it is PCIe x2 or x4, which is about whether it uses 2 or 4 lanes of the PCIe bus.
M.2 SSD’s come in Key-B (x2), Key-M (x4), and Key-B & M (usually x2). In general, SSD’s that use only x2 use the Key-B & M form to work with as many boards as possible. Those that are x4 tend to use the Key-M only. If the SSD fits in the M.2 socket on a motherboard it will likely work. But, whether the M.2 socket is wired into SATA or PCIe bus decides what can work.
This means a SSD that uses form Key-B & M can be used in either a Key-B or Key-M socket. However, it is the SSD’s designed to use the Key-M form that are the faster ones. They tend to be the NVMe capable SSD’s.
All is never simple… If your board only supports NVMe PCIe via the M.2 socket and your M.2 SSD is a SATA support only, it isn’t going to work. So, while SSD’s and M.2 sockets are made to be compatible there is no guarantee the M.2 SSD and M.2 socket motherboard are going to work together.
It is important to check out what a motherboard supports. While SSD’s are supposed to be backward compatible the same is not true of the motherboards. They have to wire into the PCIe or SATA bus. Some using PCIe have NVMe controller chips that also know how to talk the SATA language (protocol). Others don’t.
While you can put an SSD x2 in a x4 socket and get full performance, you cannot do that with an x4 SSD in an x2 socket, you get about half the performance you expect. It looks like this:
|6.0 Gb/s (750 MB/s)
|4.8 Gb/s (600 MB/s)
|PCI-E 2.0 x2
|8 Gb/s (1 GB/s)
|6.4 Gb/s (800 MB/s)
|PCI-E 2.0 x4
|16 Gb/s (2 GB/s)
|12.8 Gb/s (1.6 GB/s)
|PCI-E 3.0 x4
|32 Gb/s (4 GB/s)
|31.5 Gb/s (3.9 GB/s)
For more info see: Overview of M.2 SSD’s
The take away from all this is; to get the stated performance of the SSD’s you must match them to the abilities of the motherboard.
More pages, links below…