The M.2 specification defines 12 keys or notches in the M.2 card and socket interface; many are reserved for future use:

table

Specifically, for M.2 SSDs, there are 3 commonly used keys:

  1. B-key edge connector can support SATA and/or PCIe protocol depending on your device but can only support up to PCIe x2 performance (1000MB/s) on the PCIe bus.
  2. M-key edge connector can support SATA and/or PCIe protocol depending on your device and can support up to PCIe x4 performance (2000MB/s) on the PCIe bus, provided that the host system also supports x4.
  3. B+M-key edge connector can support SATA and/or PCIe protocol depending on your device but can only support up to x2 performance on the PCIe bus.

The different key types are often labeled on or near the edge connector (or gold fingers) of the M.2 SSD and also on the M.2 socket.

Key image

Note that B keyed M.2 SSDs have a different number of pins at the edge (6) vs. M keyed M.2 SSDs (5); this asymmetrical layout prevents users from reversing the M.2 SSDs and attempting to plug a B keyed M.2 SSD into an M keyed socket, and vice versa.