# M.2

M.2, früher als Next Generation Form Factor (NGFF) bezeichnet, ist eine Spezifikation für interne Computer-Erweiterungskarten und entsprechende Ports. Die Spezifikation wurde entworfen, um mSATA abzulösen. Aufgrund der kleineren und flexibleren Abmessungen in Verbindung mit erweiterten Funktionen ist M.2 besser für den Anschluss von SSDs geeignet – insbesondere in kompakten Geräten wie Ultrabooks oder Tablets. Nach dem Scheitern von SATA-Express hat sich M.2 aber auch im Desktop durchgesetzt.

## Bussysteme

Vom M.2-Standard werden folgende drei Bussysteme unterstützt: PCI Express (bis 4.0), SATA Revision 3.x und USB 3.0. Es gibt M.2-Varianten mit bis zu vier PCI-Express-Lanes (bis zu 4 × 16 GT/s auch als Gen4 genannt), einem SATA Revision 3.x (6 Gbit/s) und/oder einem USB-3.0-Port (5 Gbit/s) – alles über einen Anschluss. Damit kann man sowohl PCI-Express als auch SATA-Speicher per M.2 anschließen. An jedem Port können beide Bussysteme auch parallel genutzt werden.

## Kompatibilität

Normalerweise sind SSD abwärtskompatibel, zum Beispiel funktioniert eine Gen4-SSD auch mit entsprechend reduzierter Geschwindigkeit in einem Gen2-Sockel. Vor allem bei älteren Mainboards kommt es vor, dass ein M.2-Sockel sich Leitungen mit einer der SATA-Schnittstellen teilt und dann nicht gleichzeitig verwendet werden kann. Ebenso kann es vorkommen, dass bei Belegung eines M.2-Sockels einer oder mehrere PCIe-Slots nicht mehr oder nur mit reduzierter Geschwindigkeit zur Verfügung stehen. Dies betrifft vor allem Mainboards mit mehreren M.2-Sockeln. Bei Verwendung einer einzelnen SSD sollte man generell immer den ersten Sockel näher zur CPU verwenden.

## Formfaktoren und Steckverbinderkodierung

M.2-Karten gibt es als aufzulötende Varianten in den Formfaktoren 12 × 16 mm², 22 × 26 mm² und 30 × 26mm² sowie als Steckkarten. Letztere sind rechteckig mit einer CardEdge-Kontaktleiste auf einer Seite und einer halbkreisförmigen Aussparung zur Befestigung in der Mitte der gegenüberliegenden Seite. Jeder der bis zu 67 Pins auf 75 möglichen Positionen ist für bis zu 50 V Spannung und 0,5 A Stromstärke ausgelegt, die Steckverbindung selbst auf 60 Steckzyklen. Der M.2-Standard erlaubt Steckkarten mit Breiten von 16, 22 oder 30 mm. Die Länge kann 30, 38, 42, 60, 80 oder 110 mm betragen. Die Leiterplattenstärke einschließlich der Kontaktflächen am CardEdge beträgt 0,8 mm mit 10 % Toleranz. Die derzeit gebräuchlichen M.2-SSDs sind 22 mm breit und 30, 42, 60 oder 80 mm lang.
Eine M.2-Karte wird in den passenden Port auf der Platine eines Hosts gesteckt und mit einer Befestigungsschraube fixiert. Komponenten können auf beiden Seiten der Karte angebracht sein. Der Kartentyp gibt vor, ob Komponenten ein- oder beidseitig angebracht sein dürfen und wie hoch die Komponenten auf jeder Seite sein dürfen. Die maximal erlaubte Höhe der Komponenten liegt bei 1,5 mm. Die Bauhöhe des Ports kann flach genug sein um auf die Rückseite eines ATX-Motherboards zu passen oder auch so hoch um zwei M.2-Karten übereinander zu platzieren. Die passende Befestigungsschraube ist in der Regel im Lieferumfang der Host-Platine. Die Schrauben-Spezifikationen für Gewinde, Länge und Kopf-Typ variieren je nach Hardware-Hersteller. Sehr häufig werden zur Befestigung M2x3-Schrauben mit flachem Kopf eingesetzt (Gewinde-Durchmesser 2,0 mm, Länge 3,0 mm, Gewinde-Steigung 0,4 mm).
Je nach Einsatzzweck der M.2-Steckkarte hat diese an bestimmten Stellen der Kontaktkante Aussparungen zur Kodierung, das sogenannte Keying. M.2-Ports können Module eines oder mehrerer Keyings aufnehmen, je nachdem, welche Steckkarten unterstützt werden. M.2-Module mit Aussparungen in den Positionen B und M nutzen bis zu zwei PCI-Express-Lanes, während M.2-Karten, die nur für Key M geeignet sind, bis zu vier PCI-Express-Lanes verwenden (NVM Express). Beide Typen unterstützen auch SATA als Protokoll. Trotz der Keyings muss auf die Ausstattung geachtet werden – dass ein Modul in einen Schacht passt, bedeutet nicht, dass Signalkompatibilität herrscht.
Seit 2017 gibt es von Samsung Bemühungen den sog. NGSFF oder auch NF1 Standard genannt, zu ratifizieren. Vorteile sind breiterer Formfaktor und Hotswap. Einige OEM z.b. Supermicro oder AIC machen von diesem geänderten Sockel bereits bei Servermainboards Gebrauch. Von dem Konsortium PCI-SIG gab es Oktober 2018 ein Warnschreiben das darauf aufmerksam machen soll, dass es zu Schäden in Standard M.2 Sockeln der Version 1.2 kommen kann, weil u. a. bisher nicht verwendete Pins mit 12V Leitungen statt den üblichen 3,3V versorgt werden.
M.2-Modul Keyings und Schnittstellen laut PCI-SIG (letzte eingearbeitete Aktualisierung August 2014) :
| Keying ID | ausgesparte Pins | verfügbare Schnittstellen |
| A | 8–15 | 2× PCIe ×1 (mit NVMe), USB, I$^2$C, DP ×4 |
| B | 12–19 | PCIe ×2 (mit NVMe), SATA, USB, PCM, UIM, SSIC, UART-I$^2$C, SMBus |
| C | 16–23 | reserviert für zukünftige Varianten |
| D | 20–27 | reserviert für zukünftige Varianten |
| E | 24–31 | 2× PCIe x1 (mit NVMe), USB, I$^2$C, SDIO, UART, PCM |
| F | 28–35 | reserviert für Future Memory Interface (FMI) |
| G | 39–46 | reserviert für herstellerspezifische Varianten (nicht definiert in der M.2-Spezifikation) |
| H | 43–50 | reserviert für zukünftige Varianten |
| J | 47–54 | reserviert für zukünftige Varianten |
| K | 51–58 | reserviert für zukünftige Varianten |
| L | 55–62 | reserviert für zukünftige Varianten |
| M | 59–66 | PCIe ×4 (mit NVMe), SATA, SMBus |
| des Weiteren gibt es |||
| A & E | s. o. | 2× PCIe ×1, USB |
| B & M | s. o. | PCIe oder SATA |

## Pin-Belegung

| Pin | Name | I/O | Bedeutung | Pin | Name | I/O | Bedeutung |
| 01 | CONFIG_3 | O | Presence | | | | |
| 01 | CONFIG_3 | O | Presence | 02 | 3.3V | PI | Stromversorgung |
| 03 | GND | PI | Masse | 02 | 3.3V | PI | Stromversorgung |
| 03 | GND | PI | Masse | 04 | 3.3V | PI | Stromversorgung |
| 05 | GND | PI | Masse | 04 | 3.3V | PI | Stromversorgung |
| 05 | GND | PI | Masse | 06 | POWER_ON_OFF | I | Ein- und Ausschalten des Moduls |
| 07 | USB D+ | | Daten für USB 2.0 | 06 | POWER_ON_OFF | I | Ein- und Ausschalten des Moduls |
| 07 | USB D+ | | Daten für USB 2.0 | 08 | W_DISABLE# | I | Ein- und Ausschalten des Moduls per Software? |
| 09 | USB D− | | Daten für USB 2.0 | 08 | W_DISABLE# | I | Ein- und Ausschalten des Moduls per Software? |
| 09 | USB D− | | Daten für USB 2.0 | 10 | LED# oder DAS/DSS# | O | |
| 11 | GND | PI | Masse | 10 | LED# oder DAS/DSS# | O | |
| 11 | GND | PI | Masse | 12 | Key B | | Kerbe für M2-Key-ID B |
| 13 | Key B | | Kerbe für M2-Key-ID B | 12 | Key B | | Kerbe für M2-Key-ID B |
| 13 | Key B | | Kerbe für M2-Key-ID B | 14 | Key B | | Kerbe für M2-Key-ID B |
| 15 | Key B | | Kerbe für M2-Key-ID B | 14 | Key B | | Kerbe für M2-Key-ID B |
| 15 | Key B | | Kerbe für M2-Key-ID B | 16 | Key B | | Kerbe für M2-Key-ID B |
| 17 | Key B | | Kerbe für M2-Key-ID B | 16 | Key B | | Kerbe für M2-Key-ID B |
| 17 | Key B | | Kerbe für M2-Key-ID B | 18 | Key B | | Kerbe für M2-Key-ID B |
| 19 | Key B | | Kerbe für M2-Key-ID B | 18 | Key B | | Kerbe für M2-Key-ID B |
| 19 | Key B | | Kerbe für M2-Key-ID B | 20 | Res | | reserviert |
| 21 | CONFIG_0 | O | GND-WWAN/OC-SSD | 20 | Res | | reserviert |
| 21 | CONFIG_0 | O | GND-WWAN/OC-SSD | 22 | | | |
| 23 | WAKE_ON_WWAN# | | | 22 | | | |
| 23 | WAKE_ON_WWAN# | | | 24 | | | |
| 25 | BodySAR_N | | | 24 | | | |
| 25 | BodySAR_N | | | 26 | GPS_DISABLE# | | |
| 27 | GND | PI | Masse | 26 | GPS_DISABLE# | | |
| 27 | GND | PI | Masse | 28 | UIM-REF | | |
| 29 | | | | 28 | UIM-REF | | |
| 29 | | | | 30 | UIM-RESET | O | |
| 31 | | | | 30 | UIM-RESET | O | |
| 31 | | | | 32 | UIM-CLK | O | |
| 33 | GND | PI | Masse | 32 | UIM-CLK | O | |
| 33 | GND | PI | Masse | 34 | UIM-DATA | IO | |
| 35 | | | | 34 | UIM-DATA | IO | |
| 35 | | | | 36 | UIM-PWR | PO | |
| 37 | | | | 36 | UIM-PWR | PO | |
| 37 | | | | 38 | DEVSLP | | Sleep Mode |
| 39 | GND | PI | Masse | 38 | DEVSLP | | Sleep Mode |
| 39 | GND | PI | Masse | 40 | I2C_SCL | IO | I2C Clock |
| 41 | PER0N/SATA B+ | | | 40 | I2C_SCL | IO | I2C Clock |
| 41 | PER0N/SATA B+ | | | 42 | I2C_SDA | IO | I2C Data |
| 43 | PER0P/SATA B− | | | 42 | I2C_SDA | IO | I2C Data |
| 43 | PER0P/SATA B− | | | 44 | I2CIRQ | IO | |
| 45 | GND | PI | Masse | 44 | I2CIRQ | IO | |
| 45 | GND | PI | Masse | 46 | SYSCLK | O | |
| 47 | PET0N/SATA A− | | | 46 | SYSCLK | O | |
| 47 | PET0N/SATA A− | | | 48 | TTX_BLANKING | | |
| 49 | PET0P/SATA A+ | | | 48 | TTX_BLANKING | | |
| 49 | PET0P/SATA A+ | | | 50 | PERST# | | |
| 51 | GND | PI | Masse | 50 | PERST# | | |
| 51 | GND | PI | Masse | 52 | CLKREQ# | | |
| 53 | REFCLKN | | | 52 | CLKREQ# | | |
| 53 | REFCLKN | | | 54 | PEWAKE# | | |
| 55 | REFCLKP | | | 54 | PEWAKE# | | |
| 55 | REFCLKP | | | 56 | | | |
| 57 | GND | PI | Masse | 56 | | | |
| 57 | GND | PI | Masse | 58 | | | |
| 59 | Key M oder ANTCTL0 | O | Kerbe für M2-Key-ID M | 58 | | | |
| 59 | Key M oder ANTCTL0 | O | Kerbe für M2-Key-ID M | 60 | Key M | | Kerbe für M2-Key-ID M |
| 61 | Key M oder ANTCTL1 | O | Kerbe für M2-Key-ID M | 60 | Key M | | Kerbe für M2-Key-ID M |
| 61 | Key M oder ANTCTL1 | O | Kerbe für M2-Key-ID M | 62 | Key M | | Kerbe für M2-Key-ID M |
| 63 | Key M oder ANTCTL2 | O | Kerbe für M2-Key-ID M | 62 | Key M | | Kerbe für M2-Key-ID M |
| 63 | Key M oder ANTCTL2 | O | Kerbe für M2-Key-ID M | 64 | Key M | | Kerbe für M2-Key-ID M |
| 65 | Key M oder ANTCTL3 | O | Kerbe für M2-Key-ID M | 64 | Key M | | Kerbe für M2-Key-ID M |
| 65 | Key M oder ANTCTL3 | O | Kerbe für M2-Key-ID M | 66 | Key M oder SIM_DET | | Kerbe für M2-Key-ID M oder SIM hot swap Detection Pin |
| 67 | RESET# | I | | 66 | Key M oder SIM_DET | | Kerbe für M2-Key-ID M oder SIM hot swap Detection Pin |
| 67 | RESET# | I | | 68 | SUSCLK | | |
| 69 | CONFIG_1 | O | | 68 | SUSCLK | | |
| 69 | CONFIG_1 | O | | 70 | 3.3V | PI | Stromversorgung |
| 71 | GND | PI | Masse | 70 | 3.3V | PI | Stromversorgung |
| 71 | GND | PI | Masse | 72 | 3.3V | PI | Stromversorgung |
| 73 | GND | PI | Masse | 72 | 3.3V | PI | Stromversorgung |
| 73 | GND | PI | Masse | 74 | 3.3V | PI | Stromversorgung |
| 75 | CONFIG_2 | O | USB 3.0 IND (OC-U3/GND) | 74 | 3.3V | PI | Stromversorgung |

## Bilder

* Ein LTE-Modul im M.2-Format (B-Key, 3042)
* Zwei M.2 WLAN-Karten (A-E-Key, links 2230 und rechts M.2 1630)
* Zwei SSDs, links: mPCIe (Mini-PCI-Express), rechts: M.2 (M-Key, 2280)
* Eine Docking-Station für Festplatten mit M.2-Key
* Der M.2-Steckplatz der Docking-Station