Understanding M.2 cards means deciphering an alphabet soup of sockets (types 1, 2, and 3), keys, (A-M), numbers (e.g. 2230), and thicknesses (S1-S5, D1-D5).  I'm always brushing up on these concepts, then forgetting them, and then needing to relearn them.  That means it's a good opportunity to put all this down in a blog post!

I will confine this post to the M.2 add-in cards, not the kind that get soldered down to a motherboard.  Both types are defined in the M.2 spec, but I think the M.2 add-in cards have a much broader reach and lead to all the confusion.

Quick Background

The M.2 specification is a joint effort between PCI-SIG, the industry standards group behind PCI Express, and SATA-IO, the group behind all things SATA.  Today, M.2 cards are used in all laptops, and nearly all (if not all) desktop computers.  M.2 cards provide features like Bluetooth, Wi-Fi, WWAN broadband cards, and NVMe storage devices, among others.

Conceptual Hierarchy

There are three sockets defined in M.2, aptly named Socket 1, Socket 2, and Socket 3.

Each socket accepts a card that is keyed in a particular way.  The keys are represented by a capital letter, A-M.  Some M.2 cards are keyed in more than one way so they can work in more than one type of socket, for example, both Key B and Key M.  The keying is meant to prevent the insertion of incompatible cards.

Cards can be either "S" single-sided (S1-S5), or "D" double-sided, (D1-D5).  The higher the number, the taller the card.  (i.e. the greater the Z-height)  Connectors on the motherboard also have assigned heights, and can only accept cards thin enough to fit.

Finally, there are a variety of adapter sizes which are designated by a number representing the card's physical width and length.  For example, a card that is 22mm wide and 30mm long is called "2230".  Other popular sizes are 3042 and 2280, but there are a total of sixteen different width-by-length form factors defined in the M.2 spec.

Important Note:  no matter what socket/key/height/size we're talking about, M.2 cards use a 75-position edge connector connection with a total of 67 pins.  The socket/key/height/size is just a unique configuration of those different positions and pins.  Exact signal descriptions, i.e. what each pin in the connector does for each possible configuration, is defined in the M.2 spec, available from PCI-SIG.


Socket 1 - "Connectivity"

Socket 1 can be keyed in one of two ways:  Key E or Key A.
Socket 1 can support devices through either PCIe or USB interfaces.
Typical functions implemented in Socket 1 are Wi-Fi, Bluetooth, WiGig, and NFC.
Typical adapter size is 2230, but 1630 and 3030 are also supported.

Socket 2 - "WWAN/SSD/Other"

Socket 2 can be keyed in one of two ways:  Key B or Key C.
Socket 2 can support devices through either PCIe, USB, or SATA.
Typical functions implemented in Socket 2 are WWAN and SSDs.

Socket 3 - "SSD Drive"

Socket 3 is keyed with Key M.
Socket 3 can support storage devices through either PCIe or SATA.
Socket 3 is dedicated to storage devices (a.k.a. SSDs)


Keying is a popular mechanical technique for preventing incompatible cards being inserted where they won't work.  DDR DRAM uses a similar technique.  M.2 supports twelve possible keys, lettered A-M.  From Wikipedia:
Provided interfaces
A8–15PCIe ×2, USB 2.0, I2C and DP ×4
B12–19PCIe ×2, SATA, USB 2.0 and 3.0, audio, UIMHSICSSIC, I2C and SMBus
C16–23Reserved for future use
E24–31PCIe ×2, USB 2.0, I2CSDIOUART and PCM
F28–35Future Memory Interface (FMI)
G39–46Reserved for custom use (unused in the M.2 specification)
H43–50Reserved for future use
M59–66PCIe ×4, SATA and SMBus

Single vs. Double Sided

M.2 cards can have logic on one side or both sides, designated by "S" or "D", followed by a number 1-5, where the higher the number, the taller (greater Z-height) the card.  Single-sided cards can be up to 2mm tall.  Double-sided cards can be up to 1.5mm tall per side, or 3mm total in height.  From Wikipedia:
Top side
Bottom side
1.20 mm
1.35 mm
1.50 mm
1.75 mm
2.00 mm
1.20 mm
1.35 mm
1.35 mm
1.35 mm
1.50 mm
1.35 mm
1.50 mm
0.70 mm
1.50 mm
1.50 mm


Sizes are specified in millimeters (mm).  So, the size description is pretty straightforward:  2280 is 22mm wide, 80mm long.  Possible sizes supported:  1113, 1216, 1620, 1630, 2024, 2226, 2228, 2230, 2242, 2260, 2280, 2828, 3026, 3030, 3042, 22110.

Naming Convention

Putting all these variables together, we come up with the following naming convention:
Type AA BB - CC - D - E

  • AA - width, in mm
  • BB - length, in mm
  • CC - sided-ness/height, S1-S5 or D1-D5
  • D - key ID (primary)
  • E - key ID (secondary, only if supported)

An example:  Type 2242-D2-B-M


I hope this post acts like a "cheat-sheet" for refreshing your memory when you need to discuss M.2 card form factors.  Everything I've said here, though it might sound detailed and technical, is really a simplification of what's in the M.2 spec.  However, once you understand the basics, you can turn to the spec to find the implementation details.

Post a Comment

Be sure to select an account profile (e.g. Google, OpenID, etc.) before typing your comment!