À medida que os computadores ficam menores, os componentes de hardware, como unidades de armazenamento, também devem ficar. A introdução de unidades de estado sólido permitiu designs mais finos como Ultrabooks, mas isso entrou em conflito com a interface SATA padrão do setor.
A interface mSATA foi projetada para criar um cartão de perfil fino que pudesse interagir com a interface SATA. Um novo problema surgiu quando os padrões SATA 3.0 limitaram o desempenho dos SSDs. Uma nova forma de interface de cartão compacto teve que ser desenvolvida para corrigir esses problemas.
Originalmente chamado de NGFF (Next Generation Form Factor), a nova interface foi padronizada na interface do drive M.2 sob as especificações SATA versão 3.2.
Velocidades mais rápidas
Embora o tamanho seja um fator no desenvolvimento de uma interface, a velocidade do drive é igualmente crítica. As especificações SATA 3.0 restringiam a largura de banda do mundo real de um SSD na interface da unidade para cerca de 600 MB/s, que muitas unidades alcançaram. As especificações SATA 3.2 introduziram uma nova abordagem mista para a interface M.2, como aconteceu com o SATA Express.
Em essência, um novo cartão M.2 pode usar as especificações SATA 3.0 existentes e ser restrito a 600 MB/s. Ou pode usar PCI-Express, que fornece uma largura de banda de 1 GB/s sob os padrões atuais PCI-Express 3.0. Essa velocidade de 1 GB/s é para uma única pista PCI-Express, mas é possível usar várias pistas. Sob a especificação M.2 SSD, até quatro pistas podem ser usadas. Usar duas pistas teoricamente forneceria 2,0 GB/s, enquanto quatro pistas forneceriam até 4,0 GB/s.
Com o eventual lançamento do PCI-Express 4.0, essas velocidades efetivamente dobrariam. O lançamento do PCI-Express 5.0 em 2017 viu um aumento na largura de banda para 32 GT/s, com 63 GB/s em uma configuração de 16 pistas. PCI-Express 6.0 (2019) viu outra duplicação da largura de banda para 64 GT/s, permitindo 126 GB/s em cada direção.
Nem todos os sistemas atingem essas velocidades. O drive M.2 e a interface devem ser configurados no mesmo modo. A interface M.2 usa o modo SATA legado ou os modos PCI-Express mais recentes. A unidade seleciona qual usar.
Por exemplo, uma unidade M.2 projetada com o modo legado SATA é restrita a 600 MB/s. Enquanto a unidade M.2 é compatível com PCI-Express de até quatro vias (x4), o computador usa apenas duas vias (x2). Isso resulta em velocidades máximas de 2,0 GB/s. Para obter a maior velocidade possível, verifique o que a unidade e o computador ou placa-mãe suportam.
Tamanhos menores e maiores
Um dos objetivos do projeto da unidade M.2 era reduzir o tamanho geral do dispositivo de armazenamento. Isto foi conseguido de várias maneiras. Primeiro, os cartões foram feitos mais estreitos do que no formato mSATA anterior. Os cartões M.2 têm 22 mm de largura, comparados aos 30 mm do mSATA. As placas também são mais curtas, com 30 mm de comprimento, em comparação com os 50 mm do mSATA. A diferença é que os cartões M.2 suportam comprimentos maiores de até 110 mm. Isso significa que essas unidades podem ser maiores, o que oferece mais espaço para chips e, portanto, maiores capacidades.
Além do comprimento e da largura dos cartões, existe a opção de cartões M.2 de um ou dois lados. As placas de face única fornecem um perfil fino e são úteis para laptops ultrafinos. Uma placa de dupla face permite que o dobro de chips seja instalado em uma placa M.2, permitindo maiores capacidades de armazenamento. Isso é útil para aplicativos de desktop compactos onde o espaço não é tão crítico.
O problema é que você precisa saber que tipo de conector M.2 está no computador, além do espaço para o comprimento da placa. A maioria dos laptops usa apenas um conector de lado único, o que significa que os laptops não podem usar cartões M.2 de dois lados.
Modos de Comando
Por mais de uma década, a SATA fez do armazenamento uma operação plug-and-play. Isso se deve à interface simples e à estrutura de comando AHCI (Advanced Host Controller Interface).
O AHCI é como os computadores comunicam instruções com dispositivos de armazenamento. Ele é integrado a todos os sistemas operacionais modernos e não requer a instalação de drivers adicionais ao adicionar novas unidades.
O AHCI foi desenvolvido em uma época em que os discos rígidos tinham capacidade limitada de processar instruções devido à natureza física das cabeças e dos pratos da unidade. Uma única fila de comandos com 32 comandos foi suficiente. O problema é que as unidades de estado sólido de hoje fazem muito mais, mas ainda são restritas pelos drivers AHCI.
A estrutura de comando e os drivers NVMe (Non-Volatile Memory Express) foram desenvolvidos para eliminar esse gargalo e melhorar o desempenho. Em vez de usar uma única fila de comandos, ele fornece até 65.536 filas de comandos, com até 65.536 comandos por fila. Isso permite um processamento mais paralelo das solicitações de leitura e gravação do armazenamento, o que aumenta o desempenho na estrutura de comando AHCI.
Embora isso seja ótimo, há um pequeno problema. O AHCI está embutido em todos os sistemas operacionais modernos, mas o NVMe não. Os drivers devem ser instalados em cima dos sistemas operacionais existentes para tirar o máximo proveito das unidades. Isso é um problema para muitos sistemas operacionais mais antigos.
A especificação do drive M.2 permite qualquer um dos dois modos. Isso facilita a adoção da nova interface com computadores e tecnologias existentes. À medida que o suporte para a estrutura de comando NVMe melhora, as mesmas unidades podem ser usadas com este novo modo de comando. No entanto, alternar entre os dois modos exige que as unidades sejam reformatadas.
Consumo de energia melhorado
Um computador móvel tem um tempo de execução limitado com base no tamanho de suas baterias e na energia consumida por seus componentes. As unidades de estado sólido reduzem o consumo de energia do componente de armazenamento, mas há espaço para melhorias.
Como a interface SSD M.2 faz parte da especificação SATA 3.2, ela inclui outros recursos além da interface. Isso inclui um novo recurso chamado DevSleep. À medida que mais sistemas são projetados para entrar em modo de suspensão quando fechados ou desligados, em vez de desligar completamente, há um consumo constante da bateria para manter alguns dados ativos para recuperação rápida quando o dispositivo é ativado. O DevSleep reduz a quantidade de energia usada pelos dispositivos criando um novo estado de baixo consumo de energia. Isso deve estender o tempo de execução dos computadores que são colocados no modo de suspensão.
Problemas ao inicializar
A interface M.2 é um avanço no armazenamento e desempenho do computador. Os computadores devem usar o barramento PCI-Express para obter o melhor desempenho. Caso contrário, ele funciona da mesma forma que qualquer unidade SATA 3.0 existente. Isso não parece grande coisa, mas é um problema com muitas das primeiras placas-mãe a fazer uso do recurso.
As unidades SSD oferecem a melhor experiência quando usadas como unidade raiz ou de inicialização. O problema é que o software Windows existente tem um problema com muitas unidades inicializando a partir do barramento PCI-Express em vez de SATA. Isso significa que ter uma unidade M.2 usando PCI-Express não será a unidade principal na qual o sistema operacional ou os programas estão instalados. O resultado é uma unidade de dados rápida, mas não a unidade de inicialização.
Nem todos os computadores e sistemas operacionais têm esse problema. Por exemplo, a Apple desenvolveu o macOS (ou OS X) para usar o barramento PCI-Express para partições raiz. Isso ocorre porque a Apple mudou suas unidades SSD para PCI-Express no MacBook Air 2013 - antes que as especificações M.2 fossem finalizadas. A Microsoft atualizou o Windows 10 para oferecer suporte às novas unidades PCI-Express e NVMe. As versões mais antigas do Windows também podem funcionar se o hardware for suportado e os drivers externos estiverem instalados.
Como usar o M.2 pode remover outros recursos
Outra área de preocupação, principalmente com placas-mãe de desktop, diz respeito a como a interface M.2 é conectada ao resto do sistema do computador. Há um número limitado de pistas PCI-Express entre o processador e o resto do computador. Para usar um slot de placa M.2 compatível com PCI-Express, o fabricante da placa-mãe deve afastar essas pistas PCI-Express de outros componentes do sistema.
Como essas pistas PCI-Express são divididas entre os dispositivos nas placas é uma grande preocupação. Por exemplo, alguns fabricantes compartilham as pistas PCI-Express com portas SATA. Assim, usar o slot de unidade M.2 pode consumir mais de quatro slots SATA. Em outros casos, o M.2 pode compartilhar essas pistas com outros slots de expansão PCI-Express.
Verifique como a placa foi projetada para garantir que o M.2 não interfira no uso potencial de outros discos rígidos SATA, unidades de DVD, unidades Blu-ray ou outras placas de expansão.