terça-feira, 5 de abril de 2011

Como funciona o SCSI

Introdução

O computador é cheio de barramentos - caminhos que levam informação e energia de um lugar para outro. Por exemplo, quando você conecta um MP3 player ou uma câmera digital ao seu computador, muito provavelmente usa uma porta USB (Universal Serial Bus), que funciona bem para transportar dados e eletricidade necessários para pequenos dispositivos - como os que criam e armazenam fotos e arquivos de música. Mas este barramento não é grande o suficiente para suportar um computador inteiro, um servidor ou vários dispositivos simultaneamente.

Dispositivos SCSI são geralmente conectados a uma placa controladora como esta
Para isso, você precisa de algo como o SCSI (pronuncia-se scãzi). Essa sigla vem de Small Computer System Interface, mas há muito já ultrapassou a designação de pequena ("small"). Ele é um barramento de comunicação rápida que conecta vários dispositivos a um computador ao mesmo tempo, incluindo HDsscanners, drives de CD-ROM/RW, impressoras e drives de fita. Outras tecnologias, como a serial-ATA (SATA), já substituem o SCSI nos novos sistemas, mas o SCSI ainda continua sendo usado. Este artigo vai falar sobre os princípios básicos do SCSI e trazer informações sobre tipos de SCSI e especificações.  (discos rígidos),


Princípios básicos do SCSI

O SCSI é baseado em uma antiga interface de barramento proprietária chamada Shugart Associates System Interface (SASI). A SASI foi desenvolvida em 1981 pela Shugart Associates em conjunto com a NCR Corporation. Em 1986, o Instituto Americano de Padrões Nacionais (ANSI - American National Standards Institute) aprovou o SCSI, uma versão modificada da SASI. O SCSI usa uma controladora para enviar e receber dados e energia de dispositivos SCSI, como HDs e impressoras.

Conector SCSI
O SCSI tem vários benefícios: é muito rápido - chega a 320 MB/s - e está no mercado há mais de 20 anos, sendo incansavelmente testado - portanto, tem a reputação de ser confiável. Da mesma maneira que o Serial-ATA e o FireWire, ele aceita vários itens diferentes em um barramento. O SCSI também funciona na maioria dos sistemas de computadores.
No entanto, o SCSI também tem alguns problemas em potencial. Tem suporte limitado da BIOS do sistema e precisa ser configurado para cada computador. Também não existe uma interface de software comum para SCSI. Por fim, todos os tipos diferentes de SCSI têm velocidades, largura de barramento e conectores diferentes, o que pode ser confuso. Mas, uma vez conhecido o significado por trás de "Fast", "Ultra" e "Wide", fica fácil entender. Falaremos a respeito destes tipos se SCSI a seguir.
RAID
O SCSI é frequentemente usado para controlar uma matriz redundante de discos independentes (RAID - Redundant Array of Independent Disks, ou também denominada Redundant Array of Inexpensive Disks). Outras tecnologias, como o serial-ATA (SATA), também podem ser usadas para este propósito. Os drives SATA mais novos tendem a ser mais rápidos e mais baratos que os drives SCSI.
Uma RAID é uma série de discos rígidos (HDs) tratados como um único grande drive. Estes discos conseguem ler e gravar dados ao mesmo tempo, o que é conhecido como striping (fragmentação dos dados). O controlador RAID determina qual disco recebe cada porção de dados. Enquanto um drive grava os dados, a controladora envia ou recebe dados de outro drive.
O RAID também aumenta a tolerância a falhas (fault tolerance) através de espelhamento (mirroring) e paridade (parity). O espelhamento faz uma duplicação exata dos dados de um HD em um segundo HD. A paridade requer no mínimo três discos, e os dados são gravados sequencialmente para cada drive, exceto o último. O último drive armazena um número que representa a soma dos dados dos outros discos. Para mais informações sobre RAID e tolerância a falhas, confira esta página (em inglês). 


Tipos de SCSI

O SCSI tem três especificações básicas:
  • SCSI-1: especificação original desenvolvida em 1986, está obsoleta. Tinha largura de barramento de 8 bits e velocidade de clock de 5 MHz.
  • SCSI-2: adotada em 1994, esta especificação incorporou o Common Command Set - CCS (Conjunto de Comandos Comuns) - 18 comandos considerados necessidade absoluta para o suporte a qualquer dispositivo SCSI. Também tinha a possibilidade de dobrar a velocidade de clock para 10 MHz (Fast), dobrar a largura de barramento para 16 bits e aumentar o número de dispositivos para 15 (Wide), ou ambos (Fast/Wide). O SCSI-2 também incorporou o enfileiramento de comandos, permitindo que os dispositivos armazenassem e priorizassem comandos do computador onde estavam instalados.
  • SCSI-3: especificação de 1995 que trouxe uma série de padrões menores dentro de sua abrangência geral. Um conjunto de padrões envolvendo a Interface Paralela SCSI (SPI - SCSI Parallel Interface), que é a forma como os dispositivos SCSI se comunicam entre si, continuou a evoluir dentro do SCSI-3. A maioria das especificações SCSI-3 começam com o termo Ultra: Ultra para variações SPI, Ultra2 para variações SPI-2 e Ultra3 para variações SPI-3. As designações Fast (rápido) e Wide (largo) funcionam como na especificação SCSI-2. SCSI-3 é o padrão atualmente em uso.
Combinações diferentes de velocidade de barramento dobrado de clock dobrado, e especificações SCSI-3 resultaram em muitas variações SCSI. O quadro abaixo compara várias delas. As mais lentas não estão em uso, mas foram incluídas aqui para efeito de comparação.
Nome Especificação Número de dispositivos Largura de barramento Velocidade de barramento MB/s
SCSI
Assíncrono
SCSI-1 8 8 bits 5 MHz 4 MB/s
SCSI
Síncrono
SCSI-1 8 8 bits 5 MHz 5 MB/s
Wide SCSI-2 16 16 bits 5 MHz 10 MB/s
Fast SCSI-2 8 8 bits 10 MHz 10 MB/s
Fast/Wide SCSI-2 16 16 bits 10 MHz 20 MB/s
Ultra SCSI-3
SPI
8 8 bits 20 MHz 20 MB/s
Ultra/Wide SCSI-3
SPI
8 16 bits 20 MHz 40 MB/s
Ultra2 SCSI-3
SPI-2
8 8 bits 40 MHz 40 MB/s
Ultra2/Wide SCSI-3
SPI-2
16 16 bits 40 MHz 80 MB/s
Ultra3 SCSI-3
SPI-3
16 16 bits 40 MHz 160 MB/s
Ultra320 SCSI-3
SPI-4
16 16 bits 80 MHz 320 MB/s
Além da velocidade de barramento expandida, o Ultra320 SCSI usa transferência de dados em pacotes (packeted data transfer), aumentando sua eficiência. O Ultra2 também foi o último modelo a ter largura de banda "estreita", de 8 bits.
Todos estes tipos de SCSI são paralelos: bits de dados movem-se simultaneamente pelo barramento, ao invés de um por vez. O tipo mais novo de SCSI, chamado de Serial Attached SCSI (SAS), usa comandos SCSI, mas transmite dados de forma serial. O SAS usa uma conexão serial ponto-a-ponto para mover dados a 3 GB/s, e cada porta SAS suporta até 128 dispositivos ou expansões.

Controladora SCSI
Os tipos diferentes de SCSI usam controladoras e cabos para interfacear com os dispositivos. Falaremos a respeito deste processo a seguir. 


Controladoras, dispositivos e cabos

A controladora SCSI é uma intermediária entre todos os dispositivos no barramento SCSI e o computador. Também chamada de adaptador, a controladora pode ser uma placa que você insere em um slot disponível ou pode estar embutida na placa-mãe. A BIOS SCSI também fica na controladora. Trata-se de uma pequena memória ROM ou um chip de memória Flash que contém o software necessário para acessar e controlar os dispositivos no barramento.
Cada dispositivo SCSI deve ter um identificador (ID) único para que funcione apropriadamente. Por exemplo, se o barramento suporta 16 dispositivos, seus IDs, especificados através de configuração via hardware ou software, variam de zero a 15. A própria controladora SCSI usa um dos IDs, geralmente o mais alto, deixando os outros 15 livres para os outros dispositivos no barramento.

Dispositivos SCSI internos são conectados por um cabo (flat cable)
Dispositivos internos conectam-se à controladora SCSI com um cabo flat (flat cable). Dispositivos SCSI externos conectam-se à controladora em cadeia denominada daisy chain usando um cabo redondo e grosso (dispositivos Serial Attached SCSI usam cabos SATA). Em uma cadeia do tipo daisy chain, cada dispositivo conecta-se ao próximo na fila. Por este motivo, os dispositivos SCSI externos geralmente têm dois conectores SCSI, um para se conectar ao dispositivo anterior na cadeia e outro para se conectar ao próximo.

Dispositivos SCSI externos são conectados por um cabo redondo e grosso
O cabo consiste em três camadas:
  • camada interna: a mais protegida, contém os dados que realmente estão sendo enviados;
  • camada intermediária: contém os fios que enviam comandos de controle para o dispositivo;
  • camada externa: contém fios que carregam informação de paridade e que asseguram que os dados estejam corretos.
Diferentes variações de SCSI usam conectores distintos, que são geralmente incompatíveis uns com os outros. Estes conectores geralmente usam 50, 68 ou 80 pinos. O SAS usa conectores menores, compatíveis com o SATA.

Conector SCSI Alternative 3 de 68 pinos

Conector SCSI Centronics de 50 pinos
Uma vez que todos os dispositivos do barramento estejam instalados e tenham seus próprios IDs, cada ponta do barramento deve ser fechada. Veremos como fazer isso a seguir. 


Terminação

Se o barramento SCSI ficasse aberto, sinais elétricos enviados por ele poderiam refletir de volta e interferir na comunicação entre os dispositivos e a controladora SCSI. A solução é terminar o barramento, fechando cada ponta com um circuito de resistores. Se o barramento suporta tanto dispositivos externos como internos, então o último dispositivo em cada série deve ser terminado.
Os tipos de terminações SCSI podem ser agrupadas em duas categorias principais: passivas e ativas. A terminação passiva é tipicamente usada para sistemas SCSI que rodam na velocidade de clock padrão e têm uma distância de menos de 1m entre os dispositivos e a controladora. A terminação ativa é usada para sistemas SCSI Fast ou sistemas com dispositivos que estejam a mais de 1m de distância da controladora SCSI.

Algumas terminações SCSI são embutidas no dispositivo SCSI, enquanto outras podem precisar de um terminador como este
O SCSI emprega ainda três tipos de sinalização de barramento, que também afetam a terminação. A sinalização é a forma como os impulsos elétricos são enviados pelos fios.
  • Single-ended (SE - terminação única): a controladora gera o sinal e envia para todos os dispositivos do barramento em uma única linha de dados. Cada dispositivo funciona como um terra. Conseqüentemente, o sinal começa a diminuir gradativamente, o que limita o SCSI SE a um máximo de 3 metros. A sinalização SE é o tipo de envio mais comum dentro dos computadores.
  • High-voltage differential (HVD - diferencial de alta voltagem): geralmente usado em servidores, o HDV usa outra abordagem, com uma linha de dados alta e uma linha de dados baixa. Cada dispositivo no barramento SCSI tem um transceptor (transceiver, ou transmissor-receptor combinados) de sinal. Quando a controladora se comunica com o dispositivo, os dispositivos ao longo do barramento recebem o sinal e o retransmitem até que ele chegue ao dispositivo-alvo. Isto permite distâncias maiores entre a controladora e o dispositivo, de até 25m.
  • Low-voltage differential (LVD - diferencial de baixa voltagem): o LVD é uma variação do HVD e funciona quase do mesmo jeito. A grande diferença é que os transceptores são menores e embutidos no adaptador SCSI de cada dispositivo. Isto faz com que os dispositivos SCSI LVD sejam mais acessíveis e permite que o LVD use menos eletricidade para a comunicação. O ponto negativo é que a distância máxima é a metade do HVD - 12 metros.

Um terminador ativo
Tanto o HVD quanto o LVD normalmente usam transceptores passivos, apesar da distância entre os dispositivos e a controladora poder ser maior do que 1 metro. Isto acontece porque os transceptores garantem que o sinal continue forte de uma ponta a outra do barramento

Nenhum comentário:

Postar um comentário