10

Are there M.2 controllers, that do not support NVMe?

I am trying to understand, if an external M.2 USB controller will work with the M.2 NVMe drives I have.

The drive spec says "Supports M.2 (NGFF) drive of any capacity".

Does that mean it is not compatible with modern M.2 NVMe drives?

Giacomo1968
  • 58,727
Kjensen
  • 6,814

3 Answers3

14

There's no such thing as a "M.2 controller". The M.2 slot provides direct PCI-Express and SATA AHCI interfaces – NVMe drives are full-on PCI-Express devices, with the NVMe controller being on the drive itself.

There are M.2 slots which only provide SATA but not PCI-Express, or vice versa, and while (AFAIK) it's rare on actual PC motherboards, this seems to be very common for M.2-to-USB adapters – many of which only support SATA because adding PCIe support would've been much more expensive. (And the ones which support PCIe often omit SATA...)

So if the USB device's specs do not explicitly say it supports NVMe, there's a high chance it doesn't.

grawity
  • 501,077
8

While technically NGFF is a synonym to M.2 AFAIK, some/most vendors refers to M.2 SATA with the former.

It's worth noting that there is/are chip(s) (from Realtek) on the market that can bridge both SATA and NVMe drive.

Tom Yan
  • 10,996
2

In theory, any M.2 compliant host (the thing you plug the M.2 card into) will work with any M.2 compliant device (the card itself), provided the module keying matches. The module keying (the exact physical location and dimensions of the cutout in the card edge connector) is supposed to indicate the exact interfaces available through the connector and what interfaces the device expects to be present. For example, an M-keyed card (the norm for most M.2 SSDs) expects to be able to use some combination of up to 4 PCIe lanes, a single SATA interface, and a single SMBus interface, while an M-keyed host is expected to provide exactly that set of interfaces. Similarly for B-keyed cards (the norm for almost all other M.2 cards) and hosts (though the list of provided interfaces is much longer and has fewer PCIe lanes).

In practice however, it is rather uncommon to see an M-keyed USB-to-M.2 bridge that actually provides PCIe lanes be marketed as a ‘USB to M.2 adapter’. They’re a lot cheaper to produce without the PCIe support because bridging USB to PCIe is far from trivial, so a lot of manufacturers make cheap ones that don’t do that.

The term you want to use when searching is ‘USB to NVMe adapter’. Those will be a bit more expensive and are pretty much always USB-C devices, but will almost always work for any NVMe card you get, and if you find a good one it will also work just fine with legacy SATA cards and support a Thunderbolt 3 upstream connection in addition to plain USB.