5

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,037
  • 8
  • 20
  • 32
  • NVMe is not required of a UEFI system, but many UEFI firmwares are based on a reference firmware from Intel, which today includes NVMe support. – Michael Hampton Jan 21 '17 at 00:58

2 Answers2

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,299
  • 9
  • 108
  • 239
  • On "lower risk", I meant that NVMe influences the MTBF (mean time between failures, or whatever term is used for durability), because it spreads the write actions better than with TRIM on AHCI. But I am not sure this is correct. More importantly, it seems you are saying NVMe drives **will only work on motherboards that (fully and explicitly) support it**. Is that what you meant (as opposed to "they work, but you don't have the NVMe benefits")? Thanks for answering all the other things as well so quickly. – Abel Jan 20 '17 at 23:01
  • 1
    On PCIe v3 cards being backwards compatible on PCI v2 slots: I found [numerous claims that say so](https://www.quora.com/What-is-difference-between-PCI-Express-3-0-and-2-0), and the [wikipedia article claims the same](https://en.wikipedia.org/wiki/PCI_Express). I don't know if that info is correct, but you have gotten me curious (and more confused) for sure. – Abel Jan 20 '17 at 23:07
  • 1
    Two things: 1) Every v3 slot is also a v2 slot. Every v3 device is also a v2 device. The v3 standard is a superset of the v2 standard. If you don't comply with v2, you cannot comply with v3. 2) No BIOS or motherboard support is needed, just PCIe support. However, you may not be able to boot from the NVMe device. – David Schwartz Jan 20 '17 at 23:10
  • PCI 2.0 slots can accommodate NVMe cards. Never been an issue for me. – ewwhite Jan 21 '17 at 02:23
  • @DavidSchwartz, that should probably be in the answer. ewwhite, thanks, that also answers the question :). Chopper3, perhaps your last para should be updated, given these comments? – Abel Jan 21 '17 at 13:56
0

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 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.
  • 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,211
  • 12
  • 30