SCSI
Small Computer Systems Interface (SCSI) foi originalmente definido como uma interface paralela universal a nível de sistema para conectar vários dispositivos através de um único cabo, chamado barramento SCSI. O SCSI é um barramento de entradas e saídas locais pelo qual diferentes dispositivos e um ou mais controladores podem se comunicar e trocar informações independentemente do que o resto do sistema está fazendo. [SCSITA, 1996]
Embora a função original do SCSI seja o fornecimento de conectividade para dispositivos de armazenamento conectados a Workstations de alto desempenho e pequenos servidores, atualmente, ele se tornou uma interface para alto desempenho em ambientes comerciais e científicos. [SCSITA, 2004]
No SCSI, o número de dispositivos que podem ser conectados ao barramento e o número de barramentos conectados ao servidor determinam a quantidade de dados disponíveis para o servidor. Mas, apesar de até 15 dispositivos poderem ser conectados a um servidor por meio de um único barramento SCSI, na prática, por causa das limitações de desempenho devido à arbitrariedade, é comum conectar no máximo cinco dispositivos, assim limitando a escalabilidade.
Em caso de falha de conexão do SCSI ao disco, o acesso aos dados é perdido. Isto também acontece ao se realizar a reconfiguração ou a manutenção de um dispositivo de disco conectado ao barramento SCSI, porque todos os dispositivos na série devem ser desligados.
Em ambientes em que a disponibilidade é fundamental, o tempo de inatividade de uma conexão SCSI é inaceitável.
No SCSI, a velocidade de transferência de dados é determinada pelo número de bits transferidos e pelo tempo de ciclo do barramento. A duração do ciclo é inversamente proporcional à taxa de transferência, porém, devido às limitações da arquitetura do barramento, a diminuição do da duração do ciclo também irá acarretar a redução da distância em que os dados podem ser transportados.
As limitações com relação à distância ocorrem porque não há garantia da entrega dos bits no dispositivo alvo (target) em tempos iguais, este fenômeno é conhecido como skew (Figura 3). Isto é causado pelos atrasos de propagação no envio paralelo de dados através de muitos fios. Para diminuir este “viés” é necessário limitar a distância entre os dispositivos de armazenamento e o servidor. Ou seja, quanto menor a extensão do barramento SCSI, mais rápida é a transferência.
Figura 3: Femômeno Skew em barramentos paralelos
(Adaptado de IBM Redbook)
Muitas aplicações necessitam do acesso do sistema a diversos dispositivos, ou de diferentes sistemas acessando o mesmo dispositivo. Isto é possível através do SCSI, que permite a conexão de múltiplos servidores e dispositivos ao mesmo barramento. Isto é conhecido como configuração multi-drop (Figura 4).
Figura 4: Estrutura de barramento Multi-drop
(Adaptado de IBM Redbook)
Além de ser um transporte físico, o SCSI também é um protocolo que especifica os comandos e controles para enviar blocos de dados entre o host e os dispositivos conectados. Os comandos do sistema operacional do host são dados pelo sistema em resposta às solicitações de dados do usuário.
Obviamente, a arquitetura de barramento SCSI tem algumas limitações com relação à velocidade, distância e disponibilidade, que a tornaria menos apta a diversas aplicações. Entretanto, o protocolo SCSI é ainda é largamente adotado por muitos sistemas operacionais ao lidar com solicitações de dados. [IBM Redbook]