Na coluna anterior nós vimos porque, embora pareça paradoxal, os modernos barramentos seriais são mais rápidos que os paralelos e discutimos seu funcionamento. Hoje vamos examinar, ainda de forma sucinta, as características de dois dos modernos barramentos, justamente aqueles que podem ser usados para conectar dispositivos de armazenamento de massa externos (memória secundária) às placas-mãe de computadores: USB e SATA. E deixaremos o PCIe para a próxima coluna dada sua importância para os SSD.
Sim, porque em princípio, embora nada obrigue que tal ou qual barramento seja usado para este ou aquele fim, na prática não é bem assim. Isto porque cada tipo de dispositivo impõe determinadas exigências para a forma pela qual os dados e comandos serão transportados pelos condutores, exigências que são diferentes para cada tipo de dispositivo. Por esta razão diferentes tipos de barramento são desenvolvidos e padronizados tendo em vista estas diferenças. Simplificando: embora não seja estritamente obrigatório usar um barramento para conectar determinados dispositivos, o ideal é que isto seja feito, já que desde sua concepção e padronização os barramentos foram otimizados para a conexão destes dispositivos.
Tanto é assim que, embora os três padrões de barramento acima citados possam ser usados para conectar memória externa ou secundária à placa-mãe, o único concebido especificamente para este fim é o SATA. Dos demais, o PCIe foi concebido para dispositivos que exigem extrema rapidez de transferência, como placas de vídeo, e o USB foi concebido como barramento serial de uso geral (daí o “universal” de sua sigla) para conectar praticamente qualquer dispositivo externo, do teclado e mause até discos rígidos, passando pelos “discos” de memória, ou “pen-drives” (que são um tipo de memória secundária).
Antes de seguir adiante vamos ver o que distingue um barramento do outro. Para começar, o mais evidente: seus conectores, aquelas peças situadas nas extremidades dos cabos elétricos que se encaixam nas peças correspondentes situadas no computador (na própria placa-mãe, no caso do SATA e PCIe, ou no gabinete do computador, no caso do USB) e no dispositivo. São diferentes de um barramento para o outro justamente para evitar que se conecte um dispositivo no barramento “errado” com o qual não irá se entender devido às diferenças de protocolo (ver adiante). E também por razões de conveniência: só o padrão USB usa seis tipos diferentes de conectores para acomodar a enorme variedade de dispositivos que aceita.
Outro ponto é o tipo de transmissão. Genericamente, há dois tipos de transmissão: a simplex e a duplex. A primeira, rara na informática, comporta fluxo de dados em apenas um sentido. Exemplos são microfones, câmaras de vigilância, dispositivos para abrir portas de garagem remotamente e transmissão de rádio comercial, entre outros. Considerando-se que na memória secundária dados tanto podem ser lidos como escritos, percebe-se que sua conexão com o computador obrigatoriamente tem que suportar fluxo de dados nos dois sentidos. Esta é a transmissão “duplex”.
Mas a própria transmissão duplex comporta duas variantes. Uma delas, a “half-duplex”, suporta fluxo em ambos os sentidos, mas não simultaneamente. Ou seja: se em um dado momento os dados estão fluindo do computador para o dispositivo, para que eles passem a fluir do dispositivo para o computador o fluxo anterior tem que ser interrompido. Este tipo de transmissão não se adapta às exigências da memória secundária, que deve admitir fluxo em ambos os sentidos simultaneamente. Este tipo de transmissão denomina-se “full-duplex”. Ora, como os pulsos elétricos que representam os bits não podem fluir ao mesmo tempo nos dois sentidos do mesmo condutor, a conexão serial “full-duplex necessita de um par adicional de condutores (um para fluírem os dados, outro para seu aterramento). O tipo de cabo descrito no final da coluna anterior, com apenas um de seus quatro cabos dedicado ao transporte de dados, é usado na comunicação serial “half-duplex”. O cabo da conexão serial “full duplex” usa seis condutores, um par para aterramento e alimentação e mais dois pares para aterramento e transporte de dados (um em cada sentido). O barramento USB convencional é “half-duplex”, exceto no modo “SuperSpeed” definido na especificação USB 3.0 (ver adiante). O barramento SATA que, como veremos, foi concebido para discos rígidos, é “full-duplex”.
Há ainda outras diferenças entre os barramentos, mas de nosso interesse resta apenas mais uma: o protocolo de comunicação. Isto porque quando dois pontos de um sistema se comunicam e trocam informações é necessário que esta troca seja feita de forma ordenada e de acordo com um conjunto de regras, formato de dados e comandos. Este conjunto, adrede padronizado, denomina-se protocolo. Isto vale para qualquer sistema de comunicações (talvez o protocolo mais conhecido seja o IP, ou Internet Protocol, usado para troca de dados na Internet) e, portanto, não poderia deixar de valer para os barramentos. Logo, cada barramento tem seu protocolo devidamente padronizado.
Agora, ao que interessa: os diferentes barramentos usados para memória externa e os fluxos de dados que oferecem.
O USB foi o primeiro barramento serial de alto desempenho, padronizado nos idos dos anos noventa do século passado. Como foi o primeiro, até que o desempenho não era tão alto assim (já veremos os fluxos de dados suportados pelas sucessivas versões da padronização). Mas trouxe duas imensas vantagens para a época: a possibilidade da conexão/desconexão “à quente” (até então, para se conectar qualquer coisa ao computador havia que desligá-lo) e o “conecte e use” (“plug-and-play”), que dispensava o usuário de deslindar o quebra-cabeças de ajustar os recursos do sistema (se você não sabe o que é isso, não vai dar para explicar aqui; mas acredite: você é feliz e não sabia). Hoje em dia praticamente toda impressora e a grande maioria dos dispositivos externos usam o barramento USB.
A versão 1.x do padrão, liberada em 1996, aceitava fluxos de 1,5 Mb/s (MegaBit/segundo) na chamada “banda baixa” (“Low Bandwidth”) e 12 Mb/s na “banda alta” (“High Bandwidth”). A primeira, muito lenta, era usada principalmente para mauses e teclados. A segunda, que corresponde a 1,5 MB/s (MegaBytes/segundo) servia para os demais dispositivos.
A versão 2.0 foi lançada em abril de 2000 e batizada de “Hi-Speed”. Está presente na maioria dos computadores atuais e suporta uma taxa de transferência de 480 Mb/s (60 MB/s), razoável, porém ainda baixa para os dispositivos que exigem fluxo elevado.
Em novembro de 2008 foi liberada a padronização mais moderna, a USB 3.0, com sua taxa de transferência de 5 Gb/s (625 MB/s). Esta é a que se recomenda para dispositivos de armazenamento de massa externos – embora seu fluxo ainda seja insatisfatório para SSDs (mesmo adotando a SuperSpeed). Mas, para uma conexão temporária de um dispositivo portátil é perfeitamente aceitável. Afinal, o barramento USB não foi desenvolvido para dispositivos de armazenamento de massa.
Já o SATA foi. Na verdade ele foi desenvolvido especificamente para substituir o padrão PATA que mencionamos na coluna anterior e cujo fluxo máximo de dados é de 132 MB/s. Também aceita conexão à quente e adere ao padrão “conecte e use” (“plug and play”). Sua primeira versão, lançada em janeiro de 2003, suportava um fluxo de dados de 1,5 Gb/s (150 MB/s; e se você estranhou que o barramento USB usa um fator de conversão de 8 bits/byte enquanto o SATA usa de 10 bits/byte, não esqueça que os protocolos são diferentes; para mais informações consulte o tópico da Wikipedia “8b/10b encoding”).
Na ocasião em que foi lançado, o padrão SATA 1.0 aceitava um fluxo de dados superior ao fornecido por qualquer disco rígido (magnético) então disponível. Mas no início desta década foram fabricados discos magnéticos de dez mil RPM que podiam sustentar uma taxa de transferência de até 157 MB/s, muito superior à suportada pelo barramento PATA (132 MB/s) e maior que a suportada pelo próprio SATA 1.0. Por esta razão foi desenvolvido o padrão SATA 2.0 que podia transferir um fluxo de dados de 3 Gb/s (300 MB/s), maior que o fluxo gerado por qualquer disco rígido existente.
Ainda assim, e com vistas especificamente aos discos de memória, foi desenvolvido o padrão SATA 3.0, também conhecido como “SATA 6” em uma referência ao fluxo de dados que suporta: 6 Gb/s (600 MB/s).
A versão mais atual (esta coluna foi publicada em 19/0/2013) do padrão SATA é a chamada “revisão 3.2”. A taxa máxima suportada por um dispositivo conectado a um barramento SATA que adere à revisão 3.2 continua sendo de 600 MB/s. Mas esta revisão introduziu uma nova especificação, a SATA Express, ou SATAe, que permite conectar um dispositivo de armazenamento de massa a ela aderente a um conector ligado ao barramento PCIe.
Achou isto muito estranho? Conectar um dispositivo SATA a um barramento PCIe? Pois é estranho mesmo. Na verdade a especificação SATAe é um “quebra-galho”, uma “gambiarra”, uma adaptação exigida pelo enorme fluxo de dados dos novos SSD, que podem oferecer dados muito mais rapidamente que os 600 MB/s suportados pelo SATA 6 podem transportar.
Mas vamos deixar este ponto para ser examinado na próxima semana juntamente com o barramento PCIe.
Até lá
B. Piropo
via tech tudo
0 comentários:
Os comentários serão moderados antes de publicar! respondo todos, obrigado por comentar.