An Overview of M.2 Sockets and Modules

It’s been eight years since Intel launched the M.2 expansion form factor, introduced as the successor to the Mini PCIe specification, but anyone in the industrial and commercial computing sectors could be forgiven for not knowing exactly what features actually define an M.2 socket. Here we look at the characteristics of M.2, and why it has quickly become the de facto form factor for expansion in compact industrial and embedded computing devices.

The predecessor to M.2

Let’s begin with something different, but intrinsic to the story of the M.2 form factor: Mini PCIe. 2002 saw the launch of this versatile, compact expansion form factor, which was half the size of the Mini PCI format it was replacing. Originally designed to allow for small graphics cards and other useful peripheral cards like Wi-Fi and cellular capability to be integrated into laptops and mobile devices, the Mini PCIe format was quickly snapped up by the Embedded and Industrial sectors. There were a few reasons for this — compact Embedded and Industrial PCs share similar space limits to laptops, but, for a long time, where the Mini PCIe format really shined in the industrial sector was when manufacturers and integrators began using it for storage.

Storage via Mini PCIe shares the same physical specifications as mSATA — they even fit into the same connector — but where they differ is in their electrical specification. For Embedded Systems, mSATA would be a common choice for SSD integrations, but not all systems support mSATA, and some only include a Mini PCIe slot with no mSATA support. On the flip side, some systems only offer mSATA slots, confusing some integrators when their Mini PCIe cards fit snugly in them but fail to function.

mSATA uses the traditional storage interface that SSDs and HDDs use, with Mini PCIe (as you’d expect by its name) using the PCI Express signals you’d see used by desktop expansion cards. This gives the Mini PCIe format a huge amount of flexibility in the types of expansion cards that can be integrated, by essentially being a scaled-down version of its big brother — PCI Express.

Mini PCIe does have its limits, though. It only supports the PCI Express Gen 1 x1 slot type, which has a physical connection to a single PCIe lane, giving Mini PCIe on the whole a maximum bandwidth of just 2.5Gbps. It’s this number of lanes which leads us onto the improvements brought by M.2.

M.2 – the Next Generation Form Factor

The M.2 form factor, introduced in 2015, was originally given the moniker NGFF, an acronym for Next Generation Form Factor. It was intended to be the successor to the ever-popular Mini PCIe, and certainly did not disappoint, using four lanes to communicate data to the CPU, versus Mini PCIe’s single lane. Furthermore, the M.2 specification uses the Non-Volatile Memory Express (NVMe) protocol to ramp up communication with SSDs in terms of performance, efficiency, and interoperability.

NVMe was specifically designed for use with SSDs, linking the system CPU to the storage interface via high-speed PCIe sockets, regardless of storage form factor. NVMe drivers outperform older drivers such as the Advanced Host Controller Interface (AHCI) in both speed and volume of data transfer, offering high-speed storage four times faster than SATA III. Partly because of these improvements, M.2 quickly became the industry standard for SSD connectivity in the industrial and commercial sectors.

Flexible by design

Flexibility was also improved with the new M.2 format, with the specification allowing for modules with differing dimensions, thus opening the door to larger PCBs while minimizing the module footprint. With longer modules supported, along with double-sided component population, M.2 boosted the limits of storage capacity to more than double that of Mini PCIe and mSATA, while staying true to the footprint of mSATA devices. And storage isn’t the only type of expansion that benefits from this flexibility, an example being the M.2 2230 E-Key Wi-Fi card which has a total footprint 20% that of a half-size Mini PCIe card.

This size-population-footprint ratio gives integrators huge scope for powerful expansion in the most compact of form factors. The flexibility in card dimensions, along with increased bandwidth support, makes the M.2 format incredibly versatile. Along with SATA and NVMe, the M.2 specification supports functions such as Wi-Fi, cellular WAN (3G/4G/5G), Bluetooth, Ethernet, NFC devices, GPS, GNSS, serial cards, and even AI accelerators like Intel Movidius and Google TPU. These functions bring high-performance computing and communication to the edge where previously it was never possible.

How are M.2 slots defined?

Much like the measurements for men’s trousers — the waist and the inseam — M.2 sockets have two characteristics which define their connector type: size, and keying.

Size
The Size attribute is self-explanatory – it’s simply the width and the length, with available widths being 12,16,22, and 30mm, and available lengths 16, 26, 30, 38, 42, 60, 80 and 110mm. The codes for M.2 module sizes themselves contain this information, an example being “2242” which denotes a module 22mm wide and 42mm long, with the width always written before the length. It doesn’t really get more complicated than that but it’s worth mentioning that some boards will support devices of varying widths and lengths in a single socket by providing different positions for the mounting screw.

Key
The Key attribute represents the number and arrangement of pins that are available via the socket, which in turn defines which host interfaces can be used. M.2 sockets support up to 67 pins, with keying used to prevent insertion of a card or connector into an incompatible socket on the host system. The M.2 specification actually includes 12 key IDs on the module card and socket interface, but most are not yet in use, and by and large most M.2 expansion cards, especially SSDs, use the B, M, and B+M keys, with some using A and E.
Fig. 1Fig. 1
As mentioned, the key configurations define which host interfaces can be used. If we look at the table below (Fig. 2), we can see that specific key IDs support certain interfaces, and looking at the diagram above (Fig. 1), combinations of keys allow for multiple interface support.
 
Key IDPin LocationInterfaceApplication
A8-152x PCIe x1, USB2.0, I2C, DP x4Wireless: Wi-Fi, BT, NFC,
B12-191x PCIe x2, USB3.0, SATA, HSIC, SSIC, Audio, UIM, I2CCellular & GNSS or SSD
C16-23Reserved for Future Use 
D20-27Reserved for Future Use 
E24-312x PCIe x1, USB2.0, I2C, SDIO, UART, PCMWireless: Wi-Fi, BT, NFC, & or GNSS
F28-35Reserved for Future Use 
G39-46Non-M.2 compliant devices 
H43-50Reserved for Future Use 
J47-54Reserved for Future Use 
K51-58Reserved for Future Use 
L55-62Reserved for Future Use 
M59-66PCIe x4, SATASSD, AI Accelerator
Fig. 2
The keying doesn’t completely eradicate confusion, however. Naturally, a module with M+B keying will fit into a B+M key, an M key, and a B key, but may only work in the M+B key it was intended for, depending on the required host controller.

For instance, an M.2 SATA SSD with B+M keying will work in both a B+M key slot or an M key slot, because both the B and M key slots support SATA. Switch to an M.2 NVMe SSD and you’re limited to just the M key slot, as only this slot has the required PCIe x4 host controller needed for high-speed data transfer.

M.2 expansion modules like 5G cellular and AI accelerators will generally want to make use of the additional bandwidth available from PCIe x2 and x4, meaning they’ll need to use the B+M key slots, but 5G cards have a particular requirement in that they’re generally 30mm wide. This isn’t an issue in larger systems but in more compact chassis there needs to be enough space for wider cards. The way this is combatted by 5G cellular expansion card manufacturers is that the module codes are set to “3042/2052 compatible”, meaning it won’t be impeded by other components. As a note, a 2242 module would also fit this slot providing the keying is compatible.

In summary

M.2 was a worthy successor to an already established standard and has given integrators in the Embedded space a lot more options for storage, connectivity and more. Since its launch we’ve already seen further developments in the capabilities of the M.2 format, and Embedded systems processing data on the edge is in the driving seat to benefit from these developments.

If you have any questions about the M.2 format, or would like to chat about any Embedded or Industrial hardware requirements, you can call Impulse Embedded on +44(0)1782 337 800 or click here to get in touch.
Get in touch
Our technical sales team are ready to answer your questions.
T: +44 (0)1782 337 800 • E: sales@impulse-embedded.co.uk
+44(0)1782 337 800
+44(0)1782 337 800
MediaKnowledge baseAn Overview of M.2 Sockets and Modules