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.
Sockets
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)
Keys
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:
Key ID | Notched pins | Provided interfaces |
---|---|---|
A | 8–15 | PCIe ×2, USB 2.0, I2C and DP ×4 |
B | 12–19 | PCIe ×2, SATA, USB 2.0 and 3.0, audio, UIM, HSIC, SSIC, I2C and SMBus |
C | 16–23 | Reserved for future use |
D | 20–27 | |
E | 24–31 | PCIe ×2, USB 2.0, I2C, SDIO, UART and PCM |
F | 28–35 | Future Memory Interface (FMI) |
G | 39–46 | Reserved for custom use (unused in the M.2 specification) |
H | 43–50 | Reserved for future use |
J | 47–54 | |
K | 51–58 | |
L | 55–62 | |
M | 59–66 | PCIe ×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:
Type
ID
|
Top side
|
Bottom side
|
S1
|
1.20 mm
|
—
|
S2
|
1.35 mm
|
—
|
S3
|
1.50 mm
|
—
|
S4
|
1.75 mm
|
—
|
S5
|
2.00 mm
|
—
|
D1
|
1.20 mm
|
1.35 mm
|
D2
|
1.35 mm
|
1.35 mm
|
D3
|
1.50 mm
|
1.35 mm
|
D4
|
1.50 mm
|
0.70 mm
|
D5
|
1.50 mm
|
1.50 mm
|
Sizes
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
where:
- 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
Conclusion
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!