What is the theoretical-terminological difference between M.2, SATA, PCIe?

SATA : is a bus interface
PCIe : is a bus interface
M.2 : is a physical connector

If that's the case, how could something be both SATA and PCIe at the same time?

Also, U.2, SATA and SATAe are all physical connectors.
Is SATA both physical connector and bus interface?

As I know, ATA uses IDE protocol.
SATA uses AHCI protocol.
PCIe gen4 uses NVMe protocol.
And something cannot be IDE, AHCI, and NVMe at the same time.
But how could something use different bus interfaces at once?


Solution 1:

Because, as you say, m.2 is a connector, not a protocol.

The m.2 connector supports a different set of pins depending on what protocol you want to use it for. A connector can have both PCIe, SATA and USB wired up to it depending on what it is to be used for.

From Wikipedia: M.2 the M.2 connector can have different notches and pins wired up for different uses:

enter image description here

Key ID Notched pins Provided interfaces
A 8–15 2× PCIe ×1, 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
E 24–31 2× PCIe ×1, USB 2.0, I2C, SDIO, UART, PCM and CNVi
M 59–66 PCIe ×4, SATA and SMBus