Lengths: 30,42,60,80 or 110mm (1.2,1.7,2.4,3.1 or 4.3in)
A size comparison of an mSATA SSD (left) and an M.2 2242 SSD (right)
M.2 (pronounced "em-dot-too"),[1] formerly known as the Next Generation Form Factor (NGFF), is a specification for internally mounted computer expansion cards and connectors. It was developed to replace the older Mini SATA (mSATA) and Mini PCIe (mPCIe) standards.
M.2 supports a variety of module sizes and interface types, offering greater flexibility for modern devices. It is widely used in compact systems such as ultrabooks and tablet computers, particularly for solid-state drives (SSDs), due to its smaller size and higher performance compared to mSATA.[2][3][4]
The M.2 connector can provide multiple interface options, including up to four lanes of PCI Express, as well as Serial ATA 3.0 and USB 3.0. The supported interfaces vary depending on the device and host implementation. M.2 modules and slots use different "keying" notches to indicate supported interfaces and to prevent incompatible installations.[2][3][5]
For storage devices, M.2 supports both the older Advanced Host Controller Interface (AHCI) and the newer NVM Express (NVMe) protocols. AHCI provides compatibility with legacy SATA-based systems and operating systems, while NVMe is designed for high-speed SSDs and allows for much faster performance by supporting multiple simultaneous I/O operations.[2]:14[6]
Features
High-level software architecture for SATA Express (also used by M.2),[2]:14 supporting SATA and PCIe devices via AHCI or NVMe.[6]:4
The M.2 specification provides up to four PCI Express lanes and one logical SATA 3.0 (6Gbit/s) port, and exposes them through the same connector so both PCI Express and SATA storage devices may exist in the form of M.2 modules. Exposed PCI Express lanes provide a pure PCI Express connection between the host and storage device, with no additional layers of bus abstraction.[9]PCI-SIG M.2 specification, in its revision 1.0 as of December2013[update], provides detailed M.2 specifications.[2]:12[10]
Storage interfaces
Three options are available for the logical device interfaces and command sets used for interfacing with M.2 storage devices, which may be used depending on the type of M.2 storage device and available operating system support:[2]:14[6][9]
Legacy SATA
Used for SATA SSDs, and interfaced through the AHCI driver and legacy SATA3.0 (6Gbit/s) port exposed through the M.2 connector.
PCI Express using AHCI
Used for PCI Express SSDs and interfaced through the AHCI driver and provided PCI Express lanes, providing backward compatibility with widespread SATA support in operating systems at the cost of lower performance. AHCI was developed when the purpose of a host bus adapter (HBA) in a system was to connect the CPU/memory subsystem with a much slower storage subsystem based on rotating magnetic media; as a result, AHCI has some inherent inefficiencies when applied to SSD devices, which behave much more like RAM than like spinning media.
PCI Express using NVMe
Used for PCI Express SSDs and interfaced through the NVMe driver and provided PCI Express lanes, as a high-performance and scalable host controller interface designed and optimized especially for interfacing with PCI Express SSDs. NVMe has been designed from the ground up, capitalizing on the low latency and enhanced parallelism of PCI Express SSDs, and complementing the parallelism of contemporary CPUs, platforms and applications. At a high level, primary advantages of NVMe over AHCI relate to NVMe's ability to exploit parallelism in host hardware and software, based on its design advantages that include data transfers with fewer stages, greater depth of command queues, and more efficient interrupt processing.
Form factors and keying
M.2 keying notches in B and M positions, with visible pin offset on each side of the module.[11]Size examples of M.2 SSDs. The first two digits indicate width, the rest length in millimeters (e.g., 22110 = 22 mm wide × 110 mm long). Not all devices support every size.[12]
The M.2 standard is based on the mSATA standard, which uses the existing PCI Express Mini Card (Mini PCIe) form factor and connector. M.2 adds the possibility of larger printed circuit boards (PCBs), allowing longer modules and double-sided component population. Consequently, M.2 SSD modules can provide double the storage capacity within the footprint of an mSATA device.[2]:20,22–23[4][13]
M.2 modules are rectangular, with an edge connector on one side and a semicircular mounting hole at the center of the opposite edge. The edge connector has 75 positions with up to 67 pins, employing a 0.5mm pitch and offsetting the pins on opposing sides of the PCB from each other. Each pin on the connector is rated for up to 50V and 0.5A, while the connector itself is specified to endure 60 mating cycles.[14]:6 However, many M.2 slots (Socket 1, 2 and 3) found on motherboards only provide up to 3.3 V power.[15][16][17]
The M.2 standard allows module widths of 12, 16, 22 and 30mm, and lengths of 16, 26, 30, 38, 42, 60, 80 and 110mm. Initial line-up of the commercially available M.2 expansion cards is 22mm wide, with varying lengths of 30, 42, 60, 80 and 110mm.[3][5][14][18] The codes for the M.2 module sizes contain both the width and length of a particular module; for example, "2242" as a module code means that the module is 22mm wide and 42mm long, while "2280" denotes a module 22mm wide and 80mm long.
An M.2 module is installed into a mating connector provided by the host's circuit board, and a single mounting screw secures the module into place. Components may be mounted on either side of the module, with the actual module type limiting how thick the components can be; the maximum allowable thickness of components is 1.5mm per side, and the thickness of the PCB is 0.8 mm ± 10%.[10] Different host-side connectors are used for single- and double-sided M.2 modules, providing different amounts of space between the M.2 expansion card and the host's PCB.[4][5][14] Circuit boards on the hosts are usually designed to accept multiple lengths of M.2 modules, which means that the sockets capable of accepting longer M.2 modules usually also accept shorter ones by providing different positions for the mounting screw.[19][20]
Maximum component thickness on M.2 modules[5]:8[14]:3
Type ID
Top side
Bottom side
S1
1.20mm
—N/a
S2
1.35mm
—N/a
S3
1.50mm
—N/a
D1
1.20mm
1.35mm
D2
1.35mm
1.35mm
D3
1.50mm
1.35mm
D4
1.50mm
0.70mm
D5
1.50mm
1.50mm
An M.2 socket on a motherboard, visible in the upper-left portion of the picture. The socket is keyed in the M position and provides two positions for the mounting screw, accepting 2260 and 2280 sizes of M.2 modules.
The PCB of an M.2 module provides a 75-position edge connector; depending on the type of module, certain pin positions are removed to present one or more keying notches. Host-side M.2 connectors (sockets) may populate one or more mating key positions, determining the type of modules accepted by the host; as of April2014[update], host-side connectors are available with only one mating key position populated (either B or M).[5][14][11] Furthermore, M.2 sockets keyed for SATA or two PCI Express lanes (PCIe×2) are referred to as "socket2 configuration" or "socket2", while the sockets keyed for four PCI Express lanes (PCIe×4) are referred to as "socket3 configuration" or "socket3".[2]:15[24]
For example, M.2 modules with two notches in B and M positions use up to two PCI Express lanes and provide broader compatibility at the same time, while the M.2 modules with only one notch in the M position use up to four PCI Express lanes; both examples may also provide SATA storage devices. Similar keying applies to M.2 modules that utilize provided USB3.0 connectivity.[5][11][25]
Various types of M.2 modules are denoted using the "WWLL-HH-K-K" or "WWLL-HH-K" naming schemes, in which "WW" and "LL" specify the module width and length in millimeters, respectively. The "HH" part specifies, in an encoded form, whether a module is single- or double-sided, and the maximum allowed thickness of mounted components; possible values are listed in the right table above. Module keying is specified by the "K-K" part, in an encoded form using the key IDs from the left table above; it can also be specified as "K" only, if a module has only one keying notch.[5][14]
Beside socketed modules, the M.2 standard also includes the option for having permanently soldered single-sided modules.[14]
Alternative standards
NGSFF
In 2017, Samsung introduced a new form factor called Next Generation Small Form Factor (NGSFF), also known as NF1 or M.3, which may replace U.2 in server applications.[26] The NGSFF connector is electrically and dimensionally compatible with M.2 (revision 1.1)'s connector; new functionality is achieved through previously unused (N/C) pins.[27] The main changes compared to M.2 are:
The width (or "height") of the SSD is increased from 22 mm to 30.5 mm; the thickness is increased from 3.88 mm to 4.38 mm. These changes allow more NAND chips to be fitted onto an SSD while still fitting inside a rack unit.[28]
New pins for 12 V power. Devices are supposed to mainly use 12 V power instead of the old 3.3 V, which has been made optional.[28]
Ability to run two PCIe ports (each with two lanes) on one NGSFF port.[27]
Features for rackmount servers: hotswap support, indicator LEDs, SSD tray (with new screw holes).[27]
In 2018, the PCI-SIG issued a warning that NGSFF's new pin usage clashes with the pin usage in the upcoming 1.2 revision of the M.2 standard. The new revision uses some of the previously non-connected (N/C) pins to deliver 1.8 V power and USB 2.0 data on the "M" socket. Samsung has sought to standardize its NGSFF/NF1 through JEDEC, but the process appears to have stalled.[29]
XFM
JEDEC JESD233 is another specification called Crossover Flash Memory (XFM) for XFM Embedded and Removable Memory Devices (XFMD). It targets to replace the M.2 form factor with a significantly smaller one (also called XT2), so that it can also be designed as an alternative to soldered memory. XFM Express utilizes a NVMe logical interface over a PCI Express physical interface.[30][31]
Gallery
An M.2 2242 SSD connected into a USB3.0 adapter and connected to a computer
A docking station for M.2 modules
The connection slot of the docking station
M.2 2280 Samsung 980 PRO PCIe 4.0 NVMe SSD with 1TB of storage capacity
↑Hensel, Martin; Graefen, Rainer (27 July 2018). "Was sind NF1, M.3 und NGSFF?". StorageInsider (in German). Vogel Communications Group. Archived from the original on 10 July 2022. Retrieved 10 July 2022.