7

I have been trying to dissect the information I find with googling, but have come to the conclusion that I cannot find with certainty the answer to the following questions:

Given you know the basics of your own desktop system, how do I know it supports NVMe drives?

  • Does it require PCIe v2 or v3?
  • Is a free x4 slot enough (if the spec of the drive says PCIe x4, for instance)?
  • What does M.2 mean in this context (I have come to understand that it is an internal interface, and can connect with PCIe, mSATA or USB-3, depending on drive, is that correct?)
  • Does the motherboard need to support NVMe (I think it does)? If it doesn't, can I still use the drive or is there an extension card?
  • Does my BIOS need to support NVMe, or is "standard" UEFI BIOS enough?
  • I read that the mean-time-to-failure is much higher (lower risk) with NVMe drives, is that because of NVMe, or because of the simple fact the more expensive drives have this and use better technology internally anyway?

I have come to understand from my previous question that any PCIe v3 device also fits in a PCIe v2 device, obviously with lower maximum speeds, is that also true for NVMe?

I know these are a bunch of questions and maybe I should've asked them one at a time, but I think they fit well together and may help others that struggle with understanding all the new techno buzz.

Abel
  • 1,077

2 Answers2

5

NVMe is a standard for storage over PCI express (and later revised to support other transports, but that isn't relavent here).

PCIe is an electrical interface that can be delivered on multiple physical form factors. The best known is the PC expansion slot version but there are a bunch of others.

Different versions of PCIe are designed to be backwards compatible.

M.2 is a form factor, there are a few variants for different applications, but the variant we are interested in for NVME SSDs is M.2 M key. This can support both PCIe x4 and SATA. M.2 slots on the motherboard will usually support both PCIe and SATA but those on add-in cards will often only support one or the other.

There are also SATA M.2 SSDs. These are usually dual-keyed with notches for both the B and M keys. SATA only M.2 slots will usually use the B key.

M.2 SSDs come in various physical sizes, but by far the most common is the 2280 size. The numbers represent the size in millimeters, 22 millimeters wide and 80 millimeters long.

If your motherboard has a M.2 slot you are usually good to go. You can use a SSD for both boot and storage.

If not, you can still use a NVME SSD for storage by using an adapter card to place it in a regular PCIe slot. However you will probably not be able to boot from it easilly*. There are a few varieties of PCIe to M.2 adapters and you need to be careful what you are buying. I've linked an example of each, but these are only examples, not endorsement of a particular product.

First off are the passive adapters.

  • PCIe x4 to single M.2 PCIe. The most obvious adapter, unlikely to cause problems. You also see a variant of these with a second slot for a SATA M.2 drive. This second slot does not connect to the PCIe edge connector and if you want to use it you must connect a SATA cable.
  • PCIe x1 to single M.2 PCIe. As above but only a single lane of PCIe is connected. Will limit your performance but if a x1 slot is all you have then it will at least let you use the drive.
  • PCI x16 to four M.2 PCIe and PCIe 8x to dual M.2 PCIe "bifurcation" adapters. These will ONLY work in motherboards that support "bifurcation" of the PCIe slot. Many do not. Note that sellers will often misleadingly describe these as "Raid" cards. They are not, any raid functionality must be provided by the motherboard or operating system.

Then there are the active adapters.

  • M.2 SATA adapters. These are the same as your typical SATA card, but rather than having SATA ports they have M.2 slots. These will NOT work with NVME SSDs. Like regular SATA cards they will often come with an option rom allowing the card to be booted and often enabling "fakeraid"
  • Bridge based cards. The use a PCI express bridge to support multiple PCIe SSDs without the compatibility problems inherent in bifurcation. Like the bifurcation cards I have seen x8 to dual M.2 and x16 to quad M.2 versions. There are also cards that are "oversubscribed" supportin more drives than they have host lanes, for example a massive 21 drives on a PCIe x16 slot

Generally, once you know what to look for it's pretty easy to tell the difference visually between a bifurcation based card, a SATA controller card and a bridge card. A bifurcation card will have little in the way of electronics and will have the M.2 slots directly connected to the PCIe edge connector. A SATA controller card will usually be PCIe x1 and the M.2 slots will usually be B key rather than M key. The bridge chip on a bridge based card will generally be large and obvious.

* For some motherboards it may be possible to modify the BIOS to add a NVMe driver. There also exists a bootloader called "clover" which can be booted off somethin the BIOS does support and then load a driver and continue the boot process from a NVMe SSD.

Peter Green
  • 4,464
1

All PCIe NVMe cards are PCI v3 (or later), although the PCI NVMe standard does allow for x1 connections the majority of M.2 are x4 connectors, in fact I'm not sure there's a physical connector defined for >x4 lanes, M.2 is a physical specification definition for a device capable of both SATA and PCI NVMe drives, some motherboards will not support NVMe at all, some will so to some extent and some explicitly support it - it depends on the system board specification, your BIOS needs to support it - just having UEFI does not ensure NVMe is supported, 'lower risk' than what exactly?

Also your statement about PCIe v3 working in any v2 slot is incorrect, I'm sure one or two may but that's the exception not the rule, the opposite is true though, v2 adapters will almost always work in v3 slots.

Chopper3
  • 101,808