Introdução Ao NVMe

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:

NomeO que significa
SSD SATA 2,5 polegadasSSD em formato parecido com HD de notebook, usando conexão SATA.
SSD M.2 SATASSD em formato M.2, mas usando tecnologia SATA.
SSD M.2 NVMeSSD em formato M.2, usando protocolo NVMe via PCIe.
SSD U.2 NVMeSSD 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. SATA Connection

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 Connection on motherboard

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. M.2 Format

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.