O que é SSD?
Antes de começarmos a entender o que é um NVMe, precisamos entender alguns conceitos para conseguirmos diferenciar as muitas siglas que virão. O SSD significa Solid State Drive, ou seja, unidade de estado sólido. Na prática, um SSD é um tipo de dispositivo de armazenamento, ele é similar a um HD, mas funciona de forma diferente na prática.
Eu não vou me aprofundar em muitas coisas, apenas tentar explicar o necessário para conseguir chegar no objetivo de explicar o que é NVMe e suas muitas variações.
SSD não é a mesma coisa que HD
Um HD é um dispositivo mecânico, ele tem discos girando por dentro e uma cabeça de leitura, parecido com um toca-discos em miniatura. Já o SSD não tem disco girando, nem agulha, nem motor. Ele usa memória flash, parecida com a tecnologia usada em pendrives e cartões de memória, mas muito mais rápida e sofisticada.
Quando falamos em SSD, estamos querendo dizer que o dispositivo de armazenamento usa memória flash para armazenar os dados. Um SSD pode existir em vários formatos, como: SSD SATA 2.5, SSD M.2, SSD mSATA, SSD U.2.
O foco aqui é entender que SSD é a tecnologia de armazenamento, que usa memória flash e ele pode vir em vários formatos e usando diversos tipos de conexão, como vimos acima.
A tabela abaixo deixa um exemplo dos tipos de SSD que existem e as conexões que eles utilizam:
| Nome | O que significa |
|---|---|
| SSD SATA 2,5 polegadas | SSD em formato parecido com HD de notebook, usando conexão SATA. |
| SSD M.2 SATA | SSD em formato M.2, mas usando tecnologia SATA. |
| SSD M.2 NVMe | SSD em formato M.2, usando protocolo NVMe via PCIe. |
| SSD U.2 NVMe | SSD geralmente usado em servidores, usando protocolo NVMe. |
O que é SATA?
Agora vamos ver um pouco sobre o SATA, que significa Serial ATA. Na prática, SATA é uma tecnologia de comunicação usada para conectar dispositivos de armazenamento ao computador, muito usado em: HDs, SSDs SATA e leitores/gravadores de DVD antigos.
O SATA define como os dados passam entre a placa-mãe e o dispositivo de armazenamento, basicamente, é a forma de comunicação usada. O SATA ficou muito famoso porque foi usado por muitos anos em HDs mecânicos. Ele veio substituir o antigo IDE/ATA, que era pior em questão de performance e quantidade de dispositivos no mesmo barramento.
Quando os SSDs começaram a se popularizar, muitos deles também passaram a usar SATA para serem compatíveis com computadores que já tinham essa conexão. Então, um SSD SATA é um SSD que usa a conexão/protocolo SATA para se comunicar com o computador.
É importante que você entenda que SSD é o tipo de armazenamento (que usa memória flash) enquanto SATA é a interface/protocolo de comunicação com a placa mãe.
A imagem abaixo demonstra como é o conector do SATA nos dispositivos de armazenamento. A imagem foi retirada de: https://superuser.com/questions/1292574/is-it-possible-to-connect-a-3-5-sata-drive-to-a-2-5-connector. 
O lado esquerdo é o conector de dados enquanto que o conector da direita é de energia.
A imagem abaixo demonstra como é o conector do SATA na placa mãe. A imagem foi retirada de: https://digitalrecovery.com/en/sata-connections/. 
SATA também pode existir em formato M.2
Nem todo SSD SATA usa as conexões demonstradas acima, nem possui o formado de HD de notebook, sendo de 2.5 polegadas SD M.2 SATA. O M.2 é o formato físico do dispositivo de armazenamento e também o formato do conector, o SATA é a interface/protocolo usado pelo SSD.
A diferença aqui é que se muda o formato tanto do dispositivo de armazenamento quanto do conector do dispositivo de armazenamento e da placa mãe (chamado de M.2), embora o protocolo continue sendo SATA.
A imagem abaixo demonstra como é o formato do dispositivo de armazenamento M.2. A imagem foi retirada de: https://www.reddit.com/r/pcmasterrace/comments/vo4njb/all_m2_ssd_size_guide/?tl=pt-br. 
Como podemos ver, o formato M.2 é uma placa pequena e retangular, usada em SSDs compactos. Apesar de normalmente manter a largura de 22 mm, esse formato pode ter diferentes comprimentos, como 30 mm, 42 mm, 60 mm, 80 mm e 110 mm. Por isso, podemos ver nomes contendo 2230, 2242, 2260, 2280 e 22110. Os dois primeiros números indicam a largura da placa, enquanto os números finais indicam o comprimento. Por exemplo, um SSD M.2 2280 possui 22 mm de largura e 80 mm de comprimento.
Os comprimentos mais comuns em SSDs M.2 são 2230 e 2280, sendo o 2280 muito usado em desktops e notebooks convencionais, enquanto o 2230 aparece bastante em equipamentos mais compactos. Normalmente, quando a placa-mãe ou o notebook possui espaço e ponto de fixação para um SSD M.2 2280, também pode haver suporte para modelos menores, como 2260, 2242 ou 2230, desde que existam os pontos de parafuso correspondentes. Porém, o contrário não acontece, se o equipamento foi projetado apenas para um SSD menor, como 2230, não será possível instalar um SSD maior, como 2280, porque faltará espaço físico para acomodar a placa.
Conectores SATA
O conector padrão SATA é pequeno e tem 7 pinos, o formato dele é em L, para evitar encaixe errado. Esse é o conector que está ficando obsoleto em notebooks, mas presente ainda em desktops. Já o conector M.2 é o novo que vem sendo mais adotado em notebooks e video games. Ele também está cada vez mais presente em desktops, embora nesse cenário ainda temos o conector antigo sendo muito usado.
O lado ruim de ainda ser SATA é que a velocidade se mantém baixa aos padrões do NVMe.
Velocidade do SATA
O padrão SATA mais comum hoje é o SATA III, também chamado de SATA 6 Gb/s. Apesar do nome “6 Gb/s”, na prática um SSD SATA costuma ficar em torno de: 500 a 560 MB/s. Pode não parecer, mas isso é muito mais rápido que um HD mecânico comum, mas é bem mais lento que muitos SSDs NVMe modernos.
Cuidado com o soquete
Um problema comum em SSDs M.2 é achar que todos funcionam da mesma forma apenas porque possuem formato parecido. Um SSD M.2 SATA pode ser fisicamente semelhante a um SSD M.2 NVMe, mas eles não usam o mesmo protocolo de comunicação.
Por isso, mesmo que pareça possível encaixar o SSD no soquete M.2, isso não garante que ele será reconhecido pelo sistema. O soquete precisa oferecer suporte ao tipo de comunicação usado pelo SSD, seja SATA/AHCI ou NVMe/PCIe.
O que é NVMe?
Agora chegamos na tecnologia que revolucionou a indústria de armazenamento. O NVMe significa Non-Volatile Memory Express, ou seja, Memória Não Volátil Expressa.
Basicamente, temos o já conhecido SSD, mas em vez de usar a protocolo SATA para comunicação, ele usa o protocolo NVMe sobre o barramento PCI Express. Não é apenas uma mudança na forma como o dispositivo de armazenamento se comunica com a placa mãe, mas também qual barramento ele usa para essa comunicação (o barramento do SATA se chama SATA).
Essa mudança permite velocidades maiores e menos latência, porque o PCIe oferece comunicação mais direta e paralela com o processador/chipset, diferente do SATA, que foi criado originalmente para discos rígidos e possui maior limitação de velocidade.
Lembrando que existem SSDs M.2 que são SATA e agora sabemos que existem SSDs M.2 que são NVMe, usando o novo protocolo/barramento de comunicação.
Pinagem dos conectores M.2
O conector M.2 tem uma borda com contatos dourados. Alguns contatos são “interrompidos” por cortes. Esses cortes são as chaves. Um exemplo simplificado:
SSD M.2 visto pela borda dos contatos
||||||||||||||||||||||||||||||||||||||
↑
contatos dourados
Quando existe um corte:
||||||||||||| espaço |||||||||||||||
↑
key/corte
O corte serve basicamente para encaixar em certos tipos de soquete, isso é a compatibilidade física, e as vezes, pode conectar modelos diferentes. Mas ainda falta a compatibilidade elétrica e lógica, e mesmo que fisicamente encaixe, a parte elétrica e lógica vai falhar se for o soquete errado.
Os SSDs M.2 de armazenamento normalmente usam três variações principais: B-key, M-key e B+M-key.
B-key
Em geral, o B-key é associado a SSDs M.2 SATA ou NVMe com menos pistas, como PCIe x2, dependendo do projeto do SSD e do soquete.
|||||| espaço |||||||||||||||||||
↑
key/corte
O lado esquerdo do corte B-key normalmente possui 6 pinos.
M-key
O M-key é muito comum em SSDs NVMe PCIe x4, que são os NVMe mais comuns em desktops e notebooks modernos.
||||||||||||||||||| espaço |||||
↑
key/corte
O lado direito do corte M-key normalmente possui 5 pinos.
B+M-key
O B+M-key tem dois cortes, por isso ele visualmente fica dividido em três blocos de contatos. Muitos SSDs M.2 SATA são B+M-key, porque assim conseguem encaixar em mais tipos de slot. Mas também podem existir dispositivos B+M que usam PCIe x2. Então podemos pensar na regra “B+M = SATA” é comum e existe, mas não é uma lei absoluta.
|||||| espaço |||||||||||||||||||| espaço |||||
↑ ↑
corte B corte M
O lado esquerdo do corte B-key normalmente possui 6 pinos, no meio ficam cerca de 20 pinos e mais 5 pinos após o corte M-key.
Para escolher um SSD M.2 corretamente, não basta observar se ele encaixa fisicamente no soquete da placa mãe. É necessário verificar se o soquete da placa-mãe ou do notebook suporta o mesmo tipo de comunicação usado pelo SSD, como SATA ou NVMe via PCIe.
Também é preciso conferir o formato do conector (como B-key, M-key ou B+M-key), e o tamanho físico do módulo, como 2242 ou 2280. Portanto, a compatibilidade depende do conjunto de encaixe físico, protocolo de comunicação, barramento utilizado e tamanho do SSD.