SCSI

Small Computer System Interface (SCSI, SKUZ-ee) é um conjunto de padrões para conexão física e transferência de dados entre computadores e dispositivos periféricos, mais conhecido por seu uso com dispositivos de armazenamento, como unidades de disco rígido. O SCSI foi introduzido na década de 1980 e tem sido amplamente utilizado em servidores e estações de trabalho de última geração, com novos padrões SCSI sendo publicados recentemente como SAS-4 em 2017.
Os padrões SCSI definem comandos, protocolos, interfaces elétricas, ópticas e lógicas. O padrão SCSI define conjuntos de comandos para tipos específicos de dispositivos periféricos; a presença de "desconhecido" como um desses tipos significa que, em teoria, pode ser usado como uma interface para quase qualquer dispositivo, mas o padrão é altamente pragmático e direcionado aos requisitos comerciais. O Parallel SCSI inicial era mais comumente usado para unidades de disco rígido e unidades de fita, mas pode conectar uma ampla variedade de outros dispositivos, incluindo scanners e unidades de CD, embora nem todos os controladores possam lidar com todos os dispositivos.
O padrão SCSI ancestral, X3.131-1986, geralmente referido como SCSI-1, foi publicado pelo comitê técnico X3T9 do American National Standards Institute (ANSI) em 1986. SCSI-2 foi publicado em agosto de 1990 como X3.T9.2/86-109, com novas revisões em 1994 e subsequente adoção de uma infinidade de interfaces. Outros refinamentos resultaram em melhorias no desempenho e no suporte para uma capacidade cada vez maior de armazenamento de dados.
Histórico
Interface paralela

SCSI é derivado de "SASI", a "Shugart Associates System Interface", desenvolvida no início de 1979 e divulgada publicamente em 1981. Larry Boucher é considerado o "pai' #34; do SASI e, finalmente, do SCSI devido ao seu trabalho pioneiro, primeiro na Shugart Associates e depois na Adaptec.
Um controlador SASI forneceu uma ponte entre a interface de baixo nível de uma unidade de disco rígido e um computador host, que precisava ler blocos de dados. As placas controladoras SASI eram normalmente do tamanho de uma unidade de disco rígido e geralmente eram montadas fisicamente no chassi da unidade. SASI, que foi usado em mini e primeiros microcomputadores, definiu a interface como um conector de fita plana de 50 pinos que foi adotado como conector SCSI-1. SASI é um subconjunto totalmente compatível com SCSI-1, de modo que muitos, senão todos, os controladores SASI existentes eram compatíveis com SCSI-1.
Até pelo menos fevereiro de 1982, a ANSI desenvolveu a especificação como "SASI" e "Interface do sistema Shugart Associates" entretanto, o comitê que documenta a norma não permitiria que ela recebesse o nome de uma empresa. Quase um dia inteiro foi dedicado a concordar em nomear o padrão “Small Computer System Interface”, que Boucher pretendia que fosse pronunciado como “sexy”, mas Dal Allan da ENDL declarou o novo acrônimo como "scuzzy" e isso pegou.
Várias empresas como NCR Corporation, Adaptec e Optimem foram os primeiros apoiadores do SCSI. Acredita-se que a instalação da NCR em Wichita, Kansas, tenha desenvolvido o primeiro chip controlador SCSI da indústria; Funcionou da primeira vez.
O "pequeno" referência em "interface de sistema de computador pequeno" é histórico; desde meados da década de 1990, o SCSI está disponível até mesmo nos maiores sistemas de computador.
Desde sua padronização em 1986, o SCSI tem sido comumente usado nas linhas de computadores Amiga, Atari, Apple Macintosh e Sun Microsystems e em sistemas de servidores PC. A Apple começou a usar o ATA paralelo mais barato (PATA, também conhecido como IDE) para suas máquinas de baixo custo com o Macintosh Quadra 630 em 1994, e o adicionou a seus desktops de última geração, começando com o Power Macintosh G3 em 1997. A Apple abandonou o SCSI integrado completamente em favor do IDE e FireWire com o Power Mac G3 (azul e branco) em 1999, enquanto ainda oferece um adaptador host PCI SCSI como uma opção até o Power Macintosh Modelos G4 (Gráficos AGP). A Sun mudou sua gama inferior para Serial ATA (SATA). O Commodore incluiu SCSI nos sistemas Amiga 3000/3000T e foi um complemento aos modelos Amiga 500/2000 anteriores. Começando com os sistemas Amiga 600/1200/4000, o Commodore mudou para a interface IDE. A Atari incluiu SCSI como padrão em seus modelos de computador Atari MEGA STE, Atari TT e Atari Falcon. O SCSI nunca foi popular no mundo dos PCs IBM de baixo preço, devido ao custo mais baixo e ao desempenho adequado do padrão de disco rígido ATA. No entanto, unidades SCSI e até mesmo RAIDs SCSI tornaram-se comuns em estações de trabalho de PC para produção de vídeo ou áudio.
SCSI moderno
Versões físicas recentes de SCSI—Serial Attached SCSI (SAS), SCSI-over-Fibre Channel Protocol (FCP) e USB Attached SCSI (UAS)—quebram o barramento SCSI paralelo tradicional e realizam transferência de dados por meio de comunicações seriais usando links ponto a ponto. Embora grande parte da documentação SCSI fale sobre interface paralela, todos os esforços de desenvolvimento modernos usam interfaces seriais. As interfaces seriais têm diversas vantagens sobre o SCSI paralelo, incluindo taxas de dados mais altas, cabeamento simplificado, maior alcance, melhor isolamento de falhas e capacidade full-duplex. A principal razão para a mudança para interfaces seriais é o problema de distorção do clock das interfaces paralelas de alta velocidade, o que torna as variantes mais rápidas do SCSI paralelo suscetíveis a problemas causados por cabeamento e terminação.
O iSCSI não físico preserva o paradigma SCSI básico, especialmente o conjunto de comandos, quase inalterado, através da incorporação de SCSI-3 em TCP/IP. Portanto, o iSCSI usa conexões lógicas em vez de links físicos e pode ser executado em qualquer rede que suporte IP. Os links físicos reais são realizados nas camadas inferiores da rede, independentemente do iSCSI. Predominantemente, é usada Ethernet, que também é de natureza serial.
SCSI é popular em estações de trabalho, servidores e dispositivos de armazenamento de alto desempenho. Quase todos os subsistemas RAID em servidores usam algum tipo de unidade de disco rígido SCSI há décadas (inicialmente SCSI Paralelo, Fibre Channel provisório, recentemente SAS), embora vários fabricantes ofereçam subsistemas RAID baseados em SATA como uma opção mais barata. Além disso, o SAS oferece compatibilidade com dispositivos SATA, criando uma gama muito mais ampla de opções para subsistemas RAID juntamente com a existência de drives SAS nearline (NL-SAS). Em vez de SCSI, os computadores desktop e notebooks modernos normalmente usam interfaces SATA para unidades de disco rígido internas, com o NVMe sobre PCIe ganhando popularidade, pois o SATA pode causar gargalos nas unidades de estado sólido modernas.
Interfaces
SCSI está disponível em diversas interfaces. O primeiro foi o SCSI paralelo (também chamado de SCSI Parallel Interface ou SPI), que usa um projeto de barramento paralelo. Desde 2005, o SPI foi gradualmente substituído pelo Serial Attached SCSI (SAS), que utiliza um design serial, mas mantém outros aspectos da tecnologia. Muitas outras interfaces que não dependem de padrões SCSI completos ainda implementam o protocolo de comando SCSI; outros abandonam totalmente a implementação física, mantendo o modelo de arquitetura SCSI. O iSCSI, por exemplo, usa TCP/IP como mecanismo de transporte, que geralmente é transportado por Gigabit Ethernet ou links de rede mais rápidos.
As interfaces SCSI têm sido frequentemente incluídas em computadores de vários fabricantes para uso nos sistemas operacionais Microsoft Windows, Mac OS clássico, Unix, Amiga e Linux, implementadas na placa-mãe ou por meio de adaptadores plug-in. Com o advento das unidades SAS e SATA, o fornecimento de SCSI paralelo nas placas-mãe foi descontinuado.
SCSI paralelo

Inicialmente, a SCSI Parallel Interface (SPI) era a única interface que usava o protocolo SCSI. Sua padronização começou como um barramento de 8 bits de terminação única em 1986, transferindo até 5 MB/s, e evoluiu para um barramento diferencial de baixa tensão de 16 bits capaz de até 320 MB/s. O último padrão SPI-5 de 2003 também definiu uma velocidade de 640 MB/s que não foi alcançada.
As especificações SCSI paralelas incluem vários modos de transferência síncrona para o cabo paralelo e um modo assíncrono. O modo assíncrono é um protocolo clássico de solicitação/reconhecimento, que permite que sistemas com barramento lento ou sistemas simples também utilizem dispositivos SCSI. Modos síncronos mais rápidos são usados com mais frequência.
Interfaces SCSI
Interface | Alternativa nomes | Especificação corpo / documento | Largura (bits) | Relógio | Código de linha | Máximo | ||
---|---|---|---|---|---|---|---|---|
Através de | Comprimento | Dispositivos | ||||||
Ultra-320 SCSI | Ultra-4; Fast-160 | SPI-5 (INCITS 367-2003) | 16. | 80 MHz DDR | nenhum | 320 MB/s (2560 Mbit/s) | 12 m | 16. |
SSA | Arquitetura de armazenamento serial | T10 / INCITOS 309-1997 | serial | 200 Mbit/s | 8b10b | 20 MB/s (160 Mbit/s) | 25 m | 96 |
SSA 40 | T10 / INCITOS 309-1997 | serial | 400 Mbit/s | 40 MB/s (320 Mbit/s) | 25 m | 96 | ||
Canal de fibra 1Gbit | 1GFC | T11 / X3T11/94-175v0 FC-PH Projecto, Revisão 4.3 | serial | 1.0625 Gbit/s | 8b10b | 98,4 MB/s (850 Mbit/s) | 500 m / 10 km | 127 (FC-AL) 224.(FC-SW) |
Canal de fibra 2Gbit | 2GFC | T11 / X3T11/96-402v0 FC-PH-2, Rev 7.4 | serial | 2.125 Gbit/s | 197 MB/s (1 700 Mbit/s) | 500 m / 10 km | 127/224. | |
Canal de fibra 4Gbit | 4GFC | T11 / Projeto INCITS 2118-D / Rev 6.10 | serial | 4.25 Gbit/s | 394 MB/s (3.400 Mbit/s) | 500 m / 10 km | 127/224. | |
Canal de fibra 8Gbit | 8GFC | T11 / Projeto INCITS 2118-D / Rev 6.10 | serial | 8.5 Gbit/s | 788 MB/s (6,800 Mbit/s) | 500 m / 10 km | 127/224. | |
Canal de fibra 16Gbit | 16GFC | T11 / Projeto INCITS 2118-D / Rev 6.10 | serial | 14.025 Gbit/s | 64b66b | 1.575 MB/s (13.600 Mbit/s) | 500 m / 10 km | 127/224. |
SAS 1.1 | Serial anexado SCSI | T10 / INCITOS 417-2006 | serial | 3 Gbit/s | 8b10b | 300 MB/s (2.400 Mbit/s) | 6 m | 16,256 |
SAS 2.1 | T10 / INCITOS 478-2011 | serial | 6 Gbit/s | 600 MB/s (4,800 Mbit/s) | 6 m | 16,256 | ||
SAS 3.0 | T10 / INCITOS 519 | serial | 12 Gbit/s | 1.200 MB/s (9.600 Mbit/s) | 6 m | 16,256 | ||
SAS 4.0 | T10 / INCITS 534 (disco) | serial | 22.5 Gbit/s | 128b150b | 2,400 MB/s (19,200 Mbit/s) | Tbd | 16,256 | |
IEEE 1394-2008 | Firewire S3200, i.Link, Serial Bus Protocol (SBP) | IEEE Std. 1394-2008 | serial | 3.145728 Gbit/s | 8b10b | 315 MB/s (2,517 Mbit/s) | 4,5 m | 63 |
SCSI Express | SCSI sobre PCIe (SOP) | T10 / INCITOS 489 | serial | 8 GT/s (PCIe 3.0) | 128b130b | 985 MB/s (7,877 Mbit/s) | curto, backplane apenas | 258 |
USB anexado SCSI 2 | UAS-2 | T10 / INCITOS 520 | serial | 10 Gbit/s (USB 3.1) | 128b132b | ~ 1.200 MB/s (~9.500 Mbit/s) | 3 m | 127 |
ATAPI em paralelo ATA | ATA Packet Interface | T13 / NCITS 317-1998 no Wayback Machine (archived 2013-12-15) | 16. | 33 MHz DDR | nenhum | 133 MB/s (1,064 Mbit/s) | 457 mm (18 polegadas) | 2 |
ATAPI sobre ATA serial | serial | 6 Gbit/s | 8b10b | 600 MB/s (4,800 Mbit/s) | 1 m | 1 (15 com multiplicador de portas) | ||
ISCSI | Internet Small Computer System Interface, SCSI sobre IP | IETF / RFC 7143 | principalmente serial | implementação- e dependente da rede | 1.187 MB/s ou 1.239 MB/s | implementação- e dependente da rede | 2128 (IPv6) | |
SRP | Protocolo SCSI RDMA (SCSI sobre InfiniBand e similar) | T10 / INCITS 365-2002 | implementação- e dependente da rede |
Cabeamento

Interface Paralela SCSI
Os cabos SCSI paralelos internos geralmente são fitas, com dois ou mais conectores de 50, 68 ou 80 pinos conectados. Os cabos externos são normalmente blindados (mas podem não ser), com conectores de 50 ou 68 pinos em cada extremidade, dependendo da largura específica do barramento SCSI suportada. O Single Connector Attachment (SCA) de 80 pinos é normalmente usado para dispositivos hot-pluggable
Fibre Channel
O Fibre Channel pode ser usado para transportar unidades de informação SCSI, conforme definido pelo Fibre Channel Protocol for SCSI (FCP). Essas conexões são hot-pluggable e geralmente implementadas com fibra óptica.
SCSI conectado em série
Serial Attached SCSI (SAS) usa dados Serial ATA modificados e cabo de alimentação.
ISCSI
iSCSI (Internet Small Computer System Interface) geralmente usa conectores e cabos Ethernet como transporte físico, mas pode ser executado em qualquer transporte físico capaz de transportar IP.
SRP
O protocolo SCSI RDMA (SRP) é um protocolo que especifica como transportar comandos SCSI por meio de uma conexão RDMA confiável. Este protocolo pode ser executado em qualquer transporte físico compatível com RDMA, por ex. InfiniBand ou Ethernet ao usar RoCE ou iWARP.
SCSI conectado por USB
USB Attached SCSI permite que dispositivos SCSI usem o Universal Serial Bus.
Interface de automação/drive
O Automation/Drive Interface - Transport Protocol (ADT) é usado para conectar dispositivos de mídia removíveis, como unidades de fita, com os controladores das bibliotecas (dispositivos de automação) nas quais estão instalados. O padrão ADI especifica o uso de RS-422 para conexões físicas. O padrão ADT-2 de segunda geração define iADT, uso do protocolo ADT sobre conexões IP (Internet Protocol), como via Ethernet. Os padrões Automation/Drive Interface - Commands (ADC, ADC-2 e ADC-3) definem comandos SCSI para essas instalações.
Protocolo de comando SCSI
Além de muitas implementações de hardware diferentes, os padrões SCSI também incluem um extenso conjunto de definições de comandos. A arquitetura de comando SCSI foi originalmente definida para barramentos SCSI paralelos, mas foi transportada com alterações mínimas para uso com iSCSI e SCSI serial. Outras tecnologias que usam o conjunto de comandos SCSI incluem a interface de pacotes ATA, classe USB Mass Storage e FireWire SBP-2.
Na terminologia SCSI, a comunicação ocorre entre um iniciador e um destino. O iniciador envia um comando ao alvo, que então responde. Os comandos SCSI são enviados em um Bloco Descritor de Comando (CDB). O CDB consiste em um código de operação de um byte seguido por cinco ou mais bytes contendo parâmetros específicos do comando.
No final da sequência de comandos, o destino retorna um byte de código de status, como 00h para sucesso, 02h para um erro (chamado de Condição de Verificação) ou 08h para ocupado. Quando o destino retorna uma condição de verificação em resposta a um comando, o iniciador geralmente emite um comando SCSI Request Sense para obter um qualificador de código de chave (KCQ) do destino. A sequência Check Condition e Request Sense envolve um protocolo SCSI especial chamado Contingent Allegiance Condition.
Existem quatro categorias de comandos SCSI: N (não dados), W (gravação de dados do iniciador para o destino), R (leitura de dados) e B (bidirecional). Existem cerca de 60 comandos SCSI diferentes no total, sendo os mais comumente usados:
- Unidade de teste pronta: Consulta dispositivo para ver se está pronto para transferências de dados (disk spun up, mídia carregada, etc.).
- Inquérito: Retorna informações básicas do dispositivo.
- Retorna qualquer código de erro do comando anterior que devolveu um estado de erro.
- Enviar diagnóstico e receber resultados de diagnóstico: executa um teste simples, ou um teste especializado definido em uma página de diagnóstico.
- Unidade Start/Stop: gira discos para cima e para baixo, ou carrega/descarrega mídia (CD, fita, etc.).
- Capacidade de leitura: Retorna a capacidade de armazenamento.
- Unidade de formato: Prepara um meio de armazenamento para uso. Em um disco, um formato de baixo nível ocorrerá. Algumas unidades de fita apagarão a fita em resposta a este comando.
- Leia: (quatro variantes): Lê dados de um dispositivo.
- Escreva: (quatro variantes): Grava dados para um dispositivo.
- Sentido de log: Retorna informações atuais de páginas de log.
- Sentido do modo: Retorna os parâmetros atuais do dispositivo de páginas de modo.
- Selecione o modo: Define parâmetros de dispositivo em uma página de modo.
Cada dispositivo no barramento SCSI recebe um número ou ID de identificação SCSI exclusivo. Os dispositivos podem abranger múltiplas unidades lógicas, que são endereçadas por número de unidade lógica (LUN). Dispositivos simples possuem apenas um LUN, dispositivos mais complexos podem ter vários LUNs.
Um "acesso direto" (ou seja, tipo de disco) o dispositivo de armazenamento consiste em vários blocos lógicos, endereçados por Logical Block Address (LBA). Um LBA típico equivale a 512 bytes de armazenamento. O uso de LBAs evoluiu ao longo do tempo e, portanto, quatro variantes de comandos diferentes são fornecidas para leitura e gravação de dados. Os comandos Read(6) e Write(6) contêm um endereço LBA de 21 bits. Os comandos Read(10), Read(12), Read Long, Write(10), Write(12) e Write Long contêm um endereço LBA de 32 bits, além de várias outras opções de parâmetros.
A capacidade de um "acesso sequencial" (ou seja, tipo fita) não é especificado porque depende, entre outras coisas, do comprimento da fita, que não é identificado de forma legível por máquina. As operações de leitura e gravação em um dispositivo de acesso sequencial começam na posição atual da fita, e não em um LBA específico. O tamanho do bloco em dispositivos de acesso sequencial pode ser fixo ou variável, dependendo do dispositivo específico. Dispositivos de fita, como fita de 9 trilhas de meia polegada, DDS (fitas de 4 mm fisicamente semelhantes ao DAT), Exabyte, etc., suportam tamanhos de bloco variáveis.
Identificação do dispositivo
Interface paralela
Em um barramento SCSI paralelo, um dispositivo (por exemplo, adaptador host, unidade de disco) é identificado por um "SCSI ID", que é um número no intervalo de 0 a 7 em um barramento estreito e no faixa 0–15 em um barramento amplo. Em modelos anteriores, um jumper ou switch físico controla o ID SCSI do iniciador (adaptador host). Em adaptadores host modernos (desde 1997), fazer E/S no adaptador define o ID SCSI; por exemplo, o adaptador geralmente contém um programa Option ROM (SCSI BIOS) que é executado quando o computador é inicializado e esse programa possui menus que permitem ao operador escolher o ID SCSI do adaptador host. Alternativamente, o adaptador host pode vir com software que deve ser instalado no computador host para configurar o ID SCSI. O ID SCSI tradicional de um adaptador host é 7, pois esse ID tem a prioridade mais alta durante a arbitragem de barramento (mesmo em um barramento de 16 bits).
O ID SCSI de um dispositivo em um gabinete de unidade que possui um backplane é definido por jumpers ou pelo slot no gabinete no qual o dispositivo está instalado, dependendo do modelo do gabinete. Neste último caso, cada slot no painel traseiro do gabinete fornece sinais de controle à unidade para selecionar um ID SCSI exclusivo. Um gabinete SCSI sem backplane geralmente possui uma chave para cada unidade para escolher o ID SCSI da unidade. O gabinete é fornecido com conectores que devem ser conectados à unidade onde os jumpers normalmente estão localizados; o switch emula os jumpers necessários. Embora não exista um padrão que faça isso funcionar, os projetistas de drives normalmente configuram seus cabeçalhos de jumper em um formato consistente que corresponda à maneira como esses switches são implementados.
Configurar o disco rígido inicializável (ou primeiro) para SCSI ID 0 é uma recomendação aceita pela comunidade de TI. O SCSI ID 2 geralmente é reservado para a unidade de disquete, enquanto o SCSI ID 3 é normalmente para uma unidade de CD-ROM.
Geral
Observe que um dispositivo de destino SCSI (que pode ser chamado de "unidade física") às vezes é dividido em "unidades lógicas' menores. Por exemplo, um subsistema de disco de alta tecnologia pode ser um único dispositivo SCSI, mas conter dezenas de unidades de disco individuais, cada uma das quais é uma unidade lógica. Além disso, uma matriz RAID pode ser um único dispositivo SCSI, mas pode conter muitas unidades lógicas, cada uma das quais é um dispositivo "virtual" disco – um conjunto de distribuição ou conjunto de espelhos construído a partir de partes de unidades de disco reais. O ID SCSI, WWN, etc., neste caso, identifica todo o subsistema, e um segundo número, o número da unidade lógica (LUN), identifica um dispositivo de disco (real ou virtual) dentro do subsistema.
É bastante comum, embora incorreto, referir-se à própria unidade lógica como um "LUN". Conseqüentemente, o LUN real pode ser chamado de "número LUN" ou 'ID do LUN'.
Nos protocolos de transporte SCSI modernos, existe um processo automatizado para a "descoberta" dos IDs. O iniciador SSA (normalmente o computador host através do 'adaptador host') "percorre o loop" para determinar quais dispositivos estão conectados e, em seguida, atribui a cada um deles uma "contagem de saltos" valor. Os iniciadores Fibre Channel – Arbitrated Loop (FC-AL) usam o LIP (Loop Initialization Protocol) para interrogar cada porta do dispositivo quanto ao seu WWN (World Wide Name). Para iSCSI, devido ao escopo ilimitado da rede (IP), o processo é bastante complicado. Esses processos de descoberta ocorrem no momento da inicialização/inicialização e também se a topologia do barramento for alterada posteriormente, por exemplo, se um dispositivo extra for adicionado.
SCSI tem o mecanismo de identificação CTL (Canal, Destino ou Número de Unidade Física, Número de Unidade Lógica) por adaptador de barramento de host, ou o mecanismo de identificação HCTL (HBA, Canal, PUN, LUN), um adaptador de host pode ter mais de um canais.
Tipo de dispositivo
Embora todos os controladores SCSI possam funcionar com dispositivos de armazenamento de leitura/gravação, ou seja, disco e fita, alguns não funcionarão com outros tipos de dispositivos; controladores mais antigos provavelmente serão mais limitados, às vezes por seu software de driver, e mais tipos de dispositivos foram adicionados à medida que o SCSI evoluiu. Mesmo os CD-ROMs não são controlados por todos os controladores. Tipo de dispositivo é um campo de 5 bits relatado por um comando de consulta SCSI; Os tipos de dispositivos periféricos SCSI definidos incluem, além de muitas variedades de dispositivos de armazenamento, impressora, scanner, dispositivo de comunicação e um "processador" tipo para dispositivos não listados de outra forma.
Serviços de gabinete SCSI
Em servidores SCSI maiores, os dispositivos de unidade de disco são alojados em um gabinete inteligente que suporta SCSI Enclosure Services (SES). O iniciador pode se comunicar com o gabinete usando um conjunto especializado de comandos SCSI para acessar energia, resfriamento e outras características não relacionadas a dados.
Contenido relacionado
Computador Atanasoff-Berry
Detecção e correção de erros
Código Baudot
Arquivo de computador
Sistema operacional de disco