A Short Discussion on NGFF M.2 NVMe
There is so much confusion over M.2 SSDs. Articles that are quite well written and informative never seem to explicitly state what the real world implications of a B-Key, M-Key, and B and M Keying are.
Important Items to Know
- The first thing to remember that all the Keying has different implications for Sockets than it does for Devices (an SSD)
- SSDs that fit into NGFF (Next Generation Form Factor, the old term) / M.2 (the new term) Sockets come in two "flavors": NVMe (Non Volatile Memory eXPRESS, which is newer) and non-NVMe (sometimes referred to as NGFF SSDs)
- Both NVMe and NGFF SSDs can support USB, SATA / AHCI, and PCI-E (2 Lanes for NGFF and 4 Lanes for NVMe)*
- Sockets that are M Keyed require an NVMe SSD
* Notice that the word can is in italics. This means a socket or device can support those protocols, it doesn't mean that they do.
Real World Implementation
Sockets (and what the keying indicates)
- B-Key: Only supports SATA / AHCI (not PCI-E 2 Lane or 4 Lane) and USB
- M-Key: Supports PCI-E, SATA / AHCI, and USB
- B and M Key: There doesn't seem to be a socket that is keyed B and M
- B-Key: SATA / AHCI, PCI-E 2 Lane, and USB*
- M-Key: SATA / AHCI, PCI-E 2 Lane and 4 Lane, and USB, ...but, may only implement PCI-E 4 Lane*
- And more to the point, if a device is keyed as M, then it is essentially saying, I need a socket that supports PCI-E with 4 Lanes.
- B and M Key: SATA / AHCI, PCI-E 2 Lane and 4 Lane, and USB*
* Can / Has the potential to support all of these items, if implemented by the manufacturer, but not required to be implemented.
B Key: For all intents and purposes, if a USB enclosure is B Keyed socket, it is saying an NGFF / Pre NVMe SSD is required and an NVMe SSD will NOT work.
M Key: If the device has an M Keyed socket it is basically demanding an NVMe SSD and an NGFF / Pre NVMe SSD will NOT work.
It's also worth noting that often times, if it is a USB 3.0 enclosure, the device is B Keyed and if it is USB 3.1 it is M Keyed (which makes sense if one thinks about the real world speed capabilities)
And for some reason, most enclosures use some type of female USB connector that requires a cable. It makes more sense for one to have a simple male Type-A plug as it is still compact, plus there's just one piece to keep track of. The humorous side of things is that many manufactures of the Type-A enclosures sell a product that really isn't enclosed. IE, it is a circuit board with an M.2 socket and a USB Type-A connector. Thankfully, many of them also offer the "option" of adding the part that covers the exposed SSD drive. But why on earth would one not always want the cover?
If a device manufacturer (like Western Digital) offers a unit with and without a heat sink, if you've got the space, get one with the heat sink. Why? Well, all those performance numbers for reading and writing have a tendency to drop quite a bit lower as heat rises.
If using a smaller USB enclosure, make sure the enclosure doubles as a heat sink. And yes, speed via USB 3.0 will probably be the bottleneck even if an NVMe drive is running hot. But for USB 3.1, make sure the enclosure doubles as a heat sink. And remember, studies have shown that excessive heat will cause a shorter life span for SSDs (as it seems to do for many electronic components).
Many of the better USB enclosures are aluminum that also include some sort of heat conductive tape to connect the SSD to the aluminum enclosure to help dissipate heat.
Wild, Wild West
Be sure to read the details of what the manufacturer specifics. Realize that many manufacturers don't have a full grip on what they've made (IE, engineers aren't on speaking terms with the advertising personnel or people that document the product) and websites selling the product often times do a poor job of including all of the information on what the product support. Websites often show a picture of the device with the sockets it supports, then in the description is states the exact opposite (case in point below);