What do the different M.2 module keys mean?
The M.2 specification defines 12 types of card keys or slot interfaces for M.2 cards and sockets; many of them are reserved for future use:
Currently defined M.2 key types (only B and M apply to M.2 SSDs)
Source: M.2 SSD Demystified, SNIA, June 2014.
Specifically for M.2 SSDs, there are three commonly used key types:
The B key edge connector can support SATA and/or PCIe protocols depending on your device, but it can only support up to PCIe x2 performance on the PCIe bus (1000MB/s).
The M key edge connector can support SATA and/or PCIe protocols depending on your device, and if the host system supports x4, it can support up to PCIe x4 performance on the PCIe bus (2000MB/s).
The B+M key edge connector can support SATA and/or PCIe protocols depending on your device, but it can only support up to x2 performance on the PCIe bus.
Different key types are usually labeled on the M.2 SSD label or near the edge connector (also known as the "gold fingers"), and are also labeled on the M.2 slot.
Note that the number of edge pins on B-keyed M.2 SSDs (6) is different from that of M-keyed M.2 SSDs (5); this asymmetric layout prevents users from inserting a B-keyed M.2 SSD into an M-key slot and vice versa.