sexta-feira, 4 de outubro de 2013

SSD: protocolos e conectores modernos

Nesta altura dos acontecimentos já sabemos o que são “discos” de estado sólido (SSD; e quem leu a primeira coluna da série sabe o porquê das aspas), o que são barramentos e como funcionam,  qual deles (o SATA) é mais comumente usado para memória externa e qual delespermite o maior fluxo de dados (o PCIe). Infelizmente, estes dois últimos são incompatíveis. E como os SSD exigem um grande fluxo de dados, concluímos que seria muito mais interessante conectá-los à UCP usando o barramento PCIe que o SATA. Mas como fazê-lo se os protocolos são incompatíveis?
GPC20131003Discos SSD (Foto: Reprodução/Internet)
Bem, a indústria tem se dedicado com afinco a resolver este problema e, até agora, alvitrou duas soluções, ambas devidamente padronizadas (convém ressaltar este ponto já que até recentemente havia no mercado SSDs que adotavam soluções proprietárias – ou seja, não padronizadas – para permitir esta conexão), o que resultou em dois tipos de SSD: SATAe e NVMe.
É claro que, como ambos usarão o barramento PCIe, a primeira providência será dotar os discos rígidos da capacidade de se comunicar através deste barramento. E como o controlador do SSD (ou seja, os circuitos que controlam as trocas de dados e comandos entre o barramento e os dispositivos de memória propriamente ditos) fica na mesma placa de circuitos do SSD, para que o dispositivo possa usar o barramento PCIe é preciso que seu controlador seja adaptado para aderir ao protocolo usado por este barramento (até recentemente, todo controlador SSD aderia ao protocolo usado pelo barramento SATA). O que significa que, além dos SSD que aderem ao protocolo SATA e que, portanto, usam o barramento SATA e se ligam a conectores SATA convencionais, há no mercado (isto é coisa recente mas, como eu disse, já estão padronizados) os modernos SSD : SATAe, de SATA Express, e NVMe de NVM Express (NVM é o acrônimo de Non Volatile Memory, ou memória não volátil) cujas controladoras aderem a um protocolo compatível com o do PCIe.
Voltaremos aos protocolos no final da coluna. Antes, falemos dos conectores.
Dos dois tipos de SSDs modernos, o SATAe se conecta à placa mãe usando um conector funcionalmente semelhante ao SATA convencional, tão semelhante que é com ele absolutamente compatível (ou seja, é possível ligar a eles SSDs SATA convencionais usando cabos igualmente convencionais). O NVMe é ligado diretamente a um conector PCIe (geralmente, mas não obrigatoriamente, de duas pistas) disponível na placa mãe.
Evidentemente o SATAe é essencialmente uma solução de transição, já que permite ligar ao mesmo conector da placa-mãe tanto SSDs que aderem ao protocolo SATA quanto os (muito mais rápidos) SSDs que aderem aos protocolos compatíveis com o PCIe. E convém tomar cuidado para não confundir SATAe com eSATA, que corresponde a “External Sata” e é usado para a conexão de dispositivos externos de memória padrão SATA (esta sopa de letrinhas está ficando insuportavelmente complicada…)
O NVMe se encaixa diretamente em um conector PCIe da placa-mãe.
Resumindo: No que toca ao intercâmbio de dados e informações (comandos) com a placa mãe, há no mercado três tipos de SSD. O primeiro e mais antigo, SATA, é em tudo semelhante a um disco magnético padrão SATA: se comunica com a placa-mãe usando o protocolo SATA e a ela se liga através de cabos e conectores SATA convencionais como qualquer outro dispositivo de memória secundária SATA.
O segundo, que parece uma solução de transição, é o SATAe, que se comunica com a placa-mãe através de um protocolo recentemente desenvolvido e compatível com o protocolo PCIe. Dispositivos SATAe usam um conector específico SATAe (veremos detalhes adiante) e se ligam à placa-mãe usando também um conector específico SATAe através de um cabo com conectores que se encaixam nos respectivos conectores SATAe na placa-mãe e no dispositivo. Mas aqui há um detalhe importante: o conector da placa-mãe aceita, além do conector SATAe, os conectores SATA convencionais. Isto significa que se o usuário dispuser de um SSD SATAe, pode ligá-lo ao conector SATAe da placa-mãe e desfrutar do enorme aumento no fluxo de dados que será encaminhado ao barramento interno PCIe e usará o protocolo SATAe, com ele compatível. Mas se o usuário dispuser apenas de um disco SATA convencional, pode ligá-lo à placa-mãe usando o mesmo conector SATAe, que aceita o cabo SATA convencional e, neste caso, usará o barramento interno SATA.
Já o terceiro tipo de SSD é o NVMe, um dispositivo de memória externa que (geralmente) se conecta diretamente ao conector (ou “slot”) PCIe da placa-mãe.
Está ficando complicado? Mas falta pouco. Falta apenas mencionar os protocolos como prometido.
Sim, porque para usar o barramento PCIe, como fazem tanto os SSDs SATAe quanto os NVMe, é preciso usar o protocolo PCIe ou algum outro com ele compatível. E é exatamente isto que fazem tanto o SATAe quanto o NVMe.
O SATAe usa o protocolo SATAe incluído na versão 3.2 do padrão SATA anunciada para revisão em janeiro deste ano e cuja versão final foi liberada em agosto passado pelo grupo SATA I/O. Já o NVMe usa o protocolo contido na especificação NVMHCI (NVM Host Controller Interface, ou interface de controle NVM) liberada em março de 2011 pelo NVMe Work Group (Grupo de Trabalho NVMe). Ambos são compatíveis com o protocolo PCIe. De fato, essencialmente são o protocolo PCIe com pequenas modificações para otimizá-lo para o uso com dispositivos de memória secundária, além da padronização de conectores.
Achou tudo isto muito complicado? Para ser sincero, eu também. Tanto que gastei um bom tempo tentando destrinchar o assunto para poder apresentá-lo a vocês de uma forma palatável e compreensível e não sei se consegui (de fato, temo não ter conseguido).
Então vamos fazer o seguinte: condensarei esta coluna em um único parágrafo, compreensível, e contendo tudo o que realmente nos interessa totalmente despido dos detalhes. Vamos lá:
Os SSD convencionais usam o barramento SATA com seus conectores e protocolo, considerado lento para os dispositivos SSD modernos, que usam o barramento PCIe, mais rápido. Para usar este barramento os SSD modernos precisam alterar seu protocolo e seus conectores. Isto foi feito de duas maneiras. Na primeira, SATAe, os dispositivos usam novos conectores específicos, retrocompatíveis com os conectores SATA, e aderem ao protocolo SATA versão 3.2, padronizado pelo grupo SATA I/O e compatível com o PCIe. Na segunda, NVMe, os dispositivos usam os conectores PCIe convencionais (que não são compatíveis com os conectores SATA) e o protocolo NVMHCI, desenvolvido pelo NVMe Work Group e também compatível com o PCIe.
Isso é o que interessa.
O resto veremos nas próximas colunas.
B. Piropo
via tech tudo
Anterior
Proxima

Postador

Postagens Relacionadas

0 comentários:

Os comentários serão moderados antes de publicar! respondo todos, obrigado por comentar.