O que é SCSI? | Small Computer System Interface
Por Daniel Trefilio • Editado por Jones Oliveira | •
O SCSI, ou Small Computer System Interface, é uma tecnologia desenvolvida no final dos anos 1980, projetada como uma forma mais confiável e rápida de transmitir dados. Inicialmente, ela surgiu para atender sistemas de mainframes, servidores e bancos de dados.
Como praticamente toda inovação em Tecnologia da Informação, a interface SCSI foi eventualmente adaptada para sistemas domésticos. Com a evolução desse segmento, ela acabou sendo substituída por outras soluções mais baratas e eficientes, mas praticamente todas elas utilizaram como base o conceito criado pela interface SCSI.
O que é SCSI?
Para detalhar o que é SCSI, o Canaltech entrevistou João Van Dinteren, Engenheiro Sênior da Western Digital, que comentou sobre a origem, detalhes técnicos, além de como - e porque - a SCSI evoluiu até cair em desuso.
“No final dos anos 1980, começo dos 1990, [os desenvolvedores e profissionais de TI] notaram que precisavam de uma forma mais confiável de se transmitir dados para os sistemas de mainframes servidores e storage.”
Larry Boucher foi considerado o pai do primeiro trabalho em SCSI, que foi desenvolvido em parceria com a Shugart Associates. Inclusive, essa primeira versão ainda utilizava o nome SASI, Shugart Associates System Interface.
“Essa solução de comunicação veio para trazer mais confiabilidade na forma de transmitir dados, e uma forma de você conectar mais dispositivos com menos números de portas ou interfaces. O SCSI utiliza um termo chamado ‘daisy chain’, que é uma cadeia de comunicação que você consegue conectar dispositivos serialmente”.
Como o SCSI funciona?
Assim como o PATA (Parallel ATA), o SCSI trabalhava em modo de transmissão paralela, mas com um adaptador ativo, ou host adapter, entre a máquina (Host) e cada dispositivo conectado a essa linha de dados. Isso garantia que assim que o sistema necessitasse de uma informação, a interface SCSI tivesse uma via direta de comunicação com o terminal necessário, para agilizar tanto a solicitação de dados quanto sua transmissão.
Host Adapter
Uma analogia interessante é pensar em uma central telefônica com diversos ramais subordinados. Cada vez que o cliente - no caso o computador ou mainframe - precisa de uma informação, ele pede esse dado para o Host Adapter (Central), que direciona essa solicitação para o dispositivo (ramal) responsável.
“Quando você vai montar um RAID, você põe uma placa adaptadora se seu computador não tiver. Com SCSI é mais ou menos isso, você põe um adaptador no qual você pode fazer ligações entre vários dispositivos. Eu considero ele como uma linha de transmissão de dados. Você pega uma informação e manda para aquela linha ‘Host, me dá essa informação’, e aí ele devolve para o host.”
Modos de transmissão
Esse processo de solicitação e transmissão de dados pode ocorrer de duas formas principais, dependendo do tipo do sistema SCSI: síncrono ou assíncrono.
No primeiro modo, o controlador envia uma única solicitação de dados ao conjunto SCSI, aguarda a resposta e registra imediatamente antes de enviar outra solicitação. Já no modo assíncrono, o host envia para a linha de transmissão quantas solicitações forem necessárias, independente de receber ou não a resposta, e registra conforme cada dispositivo da cadeia for retornando a informação requisitada.
“Essa comunicação podia ser feita, dependendo da tecnologia, entre 8 e 16 dispositivos, cada um recebendo um nome, para que você possa identificar, e esse tipo de solicitação de informação pode ser síncrono ou assíncrono. Basicamente, quando você fala em assíncrono, você manda a solicitação para sua linha de transmissão e não fica esperando a resposta. Quando o dispositivo der a resposta você identifica e registra, e o síncrono você envia a solicitação e aguarda a resposta do dispositivo.”
Quantidade de dispositivos
Como estamos falando de um sistema digital de endereçamento, essa tecnologia fica limitada à quantidade de bits do barramento, que também está relacionada ao tipo de cabos e adaptadores: os Wide SCSI, com 68 pinos, e Narrow SCSI, com até 50 pinos.
Enquanto os cabos e adaptadores Wide SCSI trabalham com 16 bits, os Narrow SCSI utilizam apenas 8 bits. Cada bit deste barramento pode ser atribuído a um endereço na linha de transmissão, registrado com um nome para identificação. Esse limite de bits faz com que sistemas com Wide SCSI sejam compatíveis com até 16 dispositivos, contra apenas 8 de sistemas em Narrow SCSI.
Algumas ferramentas ainda permitem associar dois barramentos Wide SCSI em paralelo. Contudo, o dobro de bits nesse caso não aumenta o número de endereços disponíveis, influenciando apenas nas velocidades de transmissão e o número de dispositivos continua limitado a 16.
Conectores SCSI
Para o mercado corporativo, a principal vantagem era permitir conectar diversos aparelhos SCSI em uma única máquina, entre impressoras, scanners e servidores de armazenamento. Ela inclusive serviu de base para a interface USB, esta sim utilizada até hoje.
Já para o consumidor doméstico, as aplicações eram bem mais limitadas e, principalmente, caras. Os benefícios de utilizar componentes SCSI em PCs domésticos não justificavam o investimento necessário. Impressoras, scanners e HDs comerciais até utilizavam alguns conectores SCSI, mas geralmente em cadeias com sinal passivo, com até dois dispositivos conectados à cadeia, mesmo com os barramentos de 8 bits.
Ao longo dos anos, os cabos Narrow SCSI utilizaram diferentes conectores. Os Centronics-50, para a primeira geração SCSI, os HD50, já para o SCSI-2, e os IDC50. Este último é o conector mais conhecido por ser o conector IDE utilizado em computadores pessoais, que também recebeu sua versão Wide SCSI com o HD68.
Justamente por essa razão, utilizando uma mesma porta IDE da placa-mãe, os usuários conseguiam conectar dois drives independentes, fossem HDDs ou leitores de CD. Efetivamente, este é o único uso prático da tecnologia SCSI para o consumidor.
Formas de transmissão de sinal
Além dos modos - ou tipos - de transmissão, o desempenho de sistemas SCSI depende diretamente da forma de transmissão do sinal. Enquanto os modos se referem ao comportamento da controladora em relação à solicitação, recepção e registro de dados, as formas de transmissão estão relacionadas a como esses dados e comandos transitam na linha de transmissão.
Essas formas são definidas conforme as configurações das vias de transmissão do conjunto SCSI, sendo divididas em Single-Ended (SE); High-Voltage Differential (HVD); e Low-Voltage Differential (LVD).
Single-ended (SE)
O modo Single-Ended utiliza uma única via de comunicação para enviar o sinal a todos os dispositivos do conjunto. Aqui vale lembrar que quando falamos de informações, estamos lidando essencialmente com sinais elétricos, e esses sinais degradam e ficam mais fracos conforme a distância percorrida.
A transmissão SE utiliza terminais ativos que regulam a tensão ao longo da linha, para minimizar a perda de sinal e, consequentemente, de dados. Mesmo com uma terminação ativa de barramento, os cabos em conjuntos SE não utilizam regulação de voltagem no conjunto todo, ainda estando sujeitos a perda de sinal. Sendo assim as linhas de transmissão SE são limitadas a até 6m.
High-Voltage differential (HVD) e Low-Voltage differential (LVD)
Já no modo High-Voltage Differential (HVD), o sinal é transmitido em duas vias, tornando o conjunto menos suscetível a interferências em uma linha toda estável em 5V constantes. Para isso, ele realiza o cálculo diferencial de voltagem ao longo dos terminais e, ao identificar perda de energia, reforça o sinal novamente para 5V. A grande vantagem do HVD é que, com a tensão constante em 5V, é possível criar sistemas SCSI com linhas de até 25 m.
Por fim, o modo LVD trabalha com exatamente o mesmo princípio de funcionamento do HVD, mas com tensões mais baixas, de 3,3V. Isso permite reduzir o consumo das linhas de transmissão, mas limita conjunto de cabos em até 12m.
Versões do SCSI
Como toda tecnologia, o SCSI recebeu melhorias ao longo do tempo, com novas versões sendo lançadas a cada 4 anos, em média. A primeira versão foi lançada comercialmente em 1986 com o SCSI-3, última versão oficial, chegando em 1995. O SCSI-3 ainda recebeu algumas revisões, mas seu uso já era cada vez menos necessário devido ao desenvolvimento de outras tecnologias mais eficientes e baratas de transmissão.
SCSI-1
O SCSI-1 utilizava controladoras de 5 MHz e taxas de transferência de 5 MB/s. Por utilizar exclusivamente cabos Narrow SCSI limitados a 8 bits, ele trabalhava apenas com até 8 dispositivos. Compatível tanto com formas SE e HVD, os conjuntos SCSI-1 poderiam ter 6m ou 25m.
SCSI-2 (Fast SCSI)
O SCSI-2, por sua vez, já introduziu hosts de 10 MHz com até 10 MB/s de velocidade de transferência, dobrando a velocidade do sistema. Além disso, essa segunda geração, lançada em 1990, também trouxe compatibilidade com cabos Wide SCIS, de 16 bits, permitindo até 16 dispositivos.
Com o dobro de bits disponíveis no barramento, a velocidade em cabos Wide SCSI também dobrava, atingindo velocidades de até 20 MB/s. A forma do sinal, no entanto, ainda era limitada a Single-Ended ou High-Voltage Differential, mantendo as mesmas opções de conjuntos com cabos de 6m ou 25m.
SCSI-3 (Ultra SCSI)
O SCSI-3, última versão do SCSI, chegou em 1995. Apelidada de Ultra SCSI, dobrou a frequência e velocidade das controladoras para 20 MHz e 20 MB/s - 40 MB/s em Wide. Como já mencionado, em 1995, a tecnologia SCSI já começava a se encaminhar para o final de seu ciclo de desenvolvimento.
Apesar de não haver um SCSI-4, o SCSI-3 recebeu atualizações e otimizações, elevando frequências e velocidades de transmissão, e a principal melhoria desses refreshes foi a chegada do sinal via Low-Voltage Differential.
Isso possibilitou implementar linhas de transmissão de 6 m, para SE, 25 m para HVD, e agora um conjunto intermediário de 12 m graças ao LVD. Ao todo foram 4 atualizações, praticamente todas dobrando a velocidade e frequência da anterior.
Versões do SCSI | ||||
Versão | Frequência (MHz) | Bits | Dispositivos | Velocidade (MB/s) |
SCSI-1 | 5 | 8 | 8 | 5 |
SCSI-2 (Narrow/Wide) | 10/20 | 8/16 | 8/16 | 10/20 |
SCSI-3 Ultra SCSI (Narrow/Wide) | 20/20 | 8/16 | 8/16 | 20/40 |
Ultra 2 (Narrow/Wide) | 40/40 | 8/16 | 8/16 | 40/80 |
Ultra160 SCSI | 40 | 16 | 16 | 160 |
Ultra320 SCSI | 80 | 16 | 16 | 320 |
Ultra640 SCSI | 160 | 16 | 16 | 640 |
Quais tecnologias aposentaram o SCSI?
O fim do desenvolvimento do SCSI propriamente dito levou ao surgimento de novas tecnologias, como SAS e iSCSI, e o padrão USB (Universal Serial Bus). O SAS, ou Serial Attached SCSI, utiliza o mesmo padrão de pinagem dos HDs SATA, mas é compatível com velocidades muito maiores, por ser essencialmente uma evolução do SCSI. Lançadas em 2004 e 2009, as primeiras versões do SAS traziam velocidades de 3 Gb/s e 6 Gb/s, respectivamente.
Já o SAS-3, subiu essas taxas para 12 Gb/s em 2013 e o SAS-4 atingiu 22,5 Gb/s em 2017. Atualmente, o SAS-5 está em desenvolvimento e terá velocidades estimadas de 45 Gb/s. Inicialmente, era possível utilizar discos SAS em computadores pessoais por eles serem compatíveis com as portas SATA, até hoje presentes nos PCs. A partir do SAS-3 isso já não fazia mais sentido pelo limite de 6 Gb/s do barramento SATA de PCs domésticos, deixando o SAS restrito a servidores.
Ainda vale mencionar que, com a evolução das portas ethernet de par trançado, com perdas de sinal muito menos agressivas que os cabos SCSI, foi desenvolvida a tecnologia iSCSI, ou “SCSI over IP”. A principal vantagem desse sistema é que o endereçamento via IP trabalha com até 256-bits, permitindo até 255 clientes conectados à linha de transmissão, com até 8 dispositivos por cliente.
A interface USB é a evolução mais popular do SCSI, inclusive para o usuário comum. Ela utiliza o mesmo conceito de criar cadeias de transmissão utilizando apenas uma porta e também traz o princípio de sinais passivos e ativos. Os HUBs USB mais comuns são todos passivos, utilizando apenas a alimentação direta da porta principal para todos os dispositivos.
Outra similaridade entre as interfaces SCSI e USB é a necessidade de um controlador. Controladores USB trabalham com limite teórico de 127 clientes, mas isto só é possível com HUBs ativos que utilizam fonte de alimentação dedicada.
O SCSI ainda é utilizado?
Diferente do RAID, que ainda é utilizado em grande parte da infraestrutura moderna, o SCSI como interface própria já caiu em desuso há muito tempo. Para não dizer que ele não é utilizado, servidores e data centers antigos que ainda não apresentaram problemas estão sendo migrados gradualmente para soluções mais modernas e, salvo pelo SAS, não existem novas implementações do SCSI puro.