SCSI

Compartir Imprimir Citar
Single Ended Parallel SCSI icono/logo

La interfaz de sistema de computadora pequeña (SCSI, SKUZ-ee) es un conjunto de estándares para conectar y transferir datos físicamente entre computadoras y dispositivos periféricos. Los estándares SCSI definen comandos, protocolos, interfaces eléctricas, ópticas y lógicas. El estándar SCSI define conjuntos de comandos para tipos de dispositivos periféricos específicos; la presencia de "desconocido" como uno de estos tipos significa que, en teoría, se puede usar como una interfaz para casi cualquier dispositivo, pero el estándar es muy pragmático y está dirigido a requisitos comerciales. El Parallel SCSI inicial se usaba más comúnmente para unidades de disco duro y unidades de cinta, pero puede conectar una amplia gama de otros dispositivos, incluidos escáneres y unidades de CD, aunque no todos los controladores pueden manejar todos los dispositivos.

El estándar SCSI ancestral, X3.131-1986, generalmente conocido como SCSI-1, fue publicado por el comité técnico X3T9 del Instituto Nacional Estadounidense de Estándares (ANSI) en 1986. SCSI-2 fue publicado en agosto de 1990 como X3.T9.2/86-109, con más revisiones en 1994 y posterior adopción de una multitud de interfaces. Los refinamientos adicionales han dado como resultado mejoras en el rendimiento y soporte para una capacidad de almacenamiento de datos cada vez mayor.

Historia

Interfaz paralela

Tarjeta Adaptec ACB-4000A SASI desde 1985.

SCSI se deriva de "SASI", la "Interfaz de sistema de Shugart Associates", desarrollada a principios de 1979 y divulgada públicamente en 1981. Se considera que Larry Boucher es el "padre& #34; de SASI y finalmente de SCSI debido a su trabajo pionero primero en Shugart Associates y luego en Adaptec.

Un controlador SASI proporcionó un puente entre la interfaz de bajo nivel de una unidad de disco duro y una computadora host, que necesitaba leer bloques de datos. Las placas controladoras SASI eran típicamente del tamaño de una unidad de disco duro y normalmente se montaban físicamente en el chasis de la unidad. SASI, que se usó en minicomputadoras y en las primeras microcomputadoras, definió la interfaz como el uso de un conector de cinta plana de 50 pines que se adoptó como conector SCSI-1. SASI es un subconjunto totalmente compatible con SCSI-1, por lo que muchos, si no todos, los controladores SASI existentes en ese momento eran compatibles con SCSI-1.

Al menos hasta febrero de 1982, ANSI desarrolló la especificación como "SASI" y "Interfaz del sistema de Shugart Associates" sin embargo, el comité que documenta la norma no permitiría que se le pusiera el nombre de una empresa. Se dedicó casi un día completo a acordar el nombre estándar de 'Interfaz de sistema de computadora pequeña', que Boucher pretendía pronunciar 'sexy', pero Dal Allan de ENDL pronunció el nuevo acrónimo como "scuzzy" y eso se quedó.

Varias empresas, como NCR Corporation, Adaptec y Optimem, fueron las primeras en apoyar a SCSI. Se cree ampliamente que las instalaciones de NCR en Wichita, Kansas, desarrollaron el primer chip controlador SCSI de la industria; funcionó la primera vez.

El "pequeño" referencia en "interfaz de sistema de computadora pequeña" es histórico; desde mediados de la década de 1990, SCSI ha estado disponible incluso en los sistemas informáticos más grandes.

Desde su estandarización en 1986, SCSI se ha utilizado comúnmente en las líneas de computadoras Amiga, Atari, Apple Macintosh y Sun Microsystems y en los sistemas de servidor de PC. Apple comenzó a usar el ATA paralelo (PATA, también conocido como IDE) menos costoso para sus máquinas de gama baja con Macintosh Quadra 630 en 1994, y lo agregó a sus computadoras de escritorio de gama alta comenzando con el Power Macintosh G3 en 1997. Apple abandonó por completo el SCSI integrado en favor de IDE y FireWire con el Power Mac G3 (azul y blanco) en 1999, al tiempo que seguía ofreciendo un adaptador de host PCI SCSI como opción hasta el Power Macintosh Modelos G4 (Gráficos AGP). Sun cambió su gama más baja a Serial ATA (SATA). Commodore incluyó SCSI en los sistemas Amiga 3000/3000T y fue un complemento para los modelos Amiga 500/2000 anteriores. Comenzando con los sistemas Amiga 600/1200/4000, Commodore cambió a la interfaz IDE. Atari incluyó SCSI como estándar en sus modelos de computadora Atari MEGA STE, Atari TT y Atari Falcon. SCSI nunca ha sido popular en el mundo de las PC IBM de bajo precio, debido al menor costo y al rendimiento adecuado del estándar de disco duro ATA. Sin embargo, las unidades SCSI e incluso las RAID SCSI se volvieron comunes en las estaciones de trabajo de PC para la producción de video o audio.

SCSI moderna

(feminine)

Versiones físicas recientes de SCSI—SCSI conectado en serie (SAS), SCSI sobre protocolo de canal de fibra (FCP) y SCSI conectado por USB (UAS)—rompen el bus SCSI paralelo tradicional y realizan la transferencia de datos a través de comunicaciones en serie mediante enlaces punto a punto. Aunque gran parte de la documentación de SCSI habla sobre la interfaz paralela, todos los esfuerzos de desarrollo modernos utilizan interfaces en serie. Las interfaces en serie tienen una serie de ventajas sobre SCSI paralelo, que incluyen velocidades de datos más altas, cableado simplificado, mayor alcance, aislamiento de fallas mejorado y capacidad de dúplex completo. La razón principal del cambio a las interfaces seriales es el problema del sesgo de reloj de las interfaces paralelas de alta velocidad, lo que hace que las variantes más rápidas de SCSI paralelo sean susceptibles a problemas causados por el cableado y la terminación.

El iSCSI no físico conserva el paradigma SCSI básico, especialmente el conjunto de comandos, casi sin cambios, mediante la integración de SCSI-3 sobre TCP/IP. Por lo tanto, iSCSI utiliza conexiones lógicas en lugar de enlaces físicos y puede ejecutarse sobre cualquier red que admita IP. Los enlaces físicos reales se realizan en capas de red inferiores, independientemente de iSCSI. Predominantemente se utiliza Ethernet que también es de naturaleza serial.

SCSI es popular en estaciones de trabajo, servidores y dispositivos de almacenamiento de alto rendimiento. Casi todos los subsistemas RAID en servidores han utilizado algún tipo de unidades de disco duro SCSI durante décadas (inicialmente SCSI paralelo, Fibre Channel provisional, recientemente SAS), aunque varios fabricantes ofrecen subsistemas RAID basados en SATA como una opción más económica. Además, SAS ofrece compatibilidad con dispositivos SATA, lo que crea una gama mucho más amplia de opciones para subsistemas RAID junto con la existencia de unidades Nearline SAS (NL-SAS). En lugar de SCSI, las computadoras de escritorio y portátiles modernas suelen utilizar interfaces SATA para unidades de disco duro internas, con NVMe sobre PCIe ganando popularidad ya que SATA puede embotellar las unidades de estado sólido modernas.

Interfaces

SCSI está disponible en una variedad de interfaces. El primero fue SCSI paralelo (también llamado SCSI Parallel Interface o SPI), que utiliza un diseño de bus paralelo. Desde 2005, SPI fue reemplazado gradualmente por Serial Attached SCSI (SAS), que utiliza un diseño en serie pero conserva otros aspectos de la tecnología. Muchas otras interfaces que no se basan en estándares SCSI completos aún implementan el protocolo de comando SCSI; otros abandonan la implementación física por completo mientras conservan el modelo arquitectónico SCSI. iSCSI, por ejemplo, utiliza TCP/IP como mecanismo de transporte, que se suele transportar a través de Gigabit Ethernet o enlaces de red más rápidos.

Las interfaces SCSI a menudo se han incluido en computadoras de varios fabricantes para su uso en los sistemas operativos Microsoft Windows, Mac OS clásico, Unix, Commodore Amiga y Linux, ya sea implementadas en la placa base o por medio de adaptadores enchufables. Con la llegada de las unidades SAS y SATA, se suspendió la provisión de SCSI paralelo en las placas base.

SCSI paralela

(feminine)
Assorted Parallel Conectores SCSI

Inicialmente, la interfaz paralela SCSI (SPI) era la única interfaz que usaba el protocolo SCSI. Su estandarización comenzó como un bus de 8 bits de un solo extremo en 1986, transfiriendo hasta 5 MB/s, y evolucionó hasta convertirse en un bus diferencial de bajo voltaje de 16 bits con capacidad de hasta 320 MB/s. El último estándar SPI-5 de 2003 también definió una velocidad de 640 MB/s que no se logró.

Las especificaciones de SCSI paralelo incluyen varios modos de transferencia síncrona para el cable paralelo y un modo asíncrono. El modo asíncrono es un protocolo clásico de solicitud/reconocimiento, que permite que los sistemas con un bus lento o sistemas simples también usen dispositivos SCSI. Los modos sincrónicos más rápidos se utilizan con mayor frecuencia.

Interfaces SCSI

Interfaz Alternativa
nombres
Especificación
cuerpo / documento
Width
(bits)
Reloj Código de línea Máximo
Mediador Duración Dispositivos
Ultra-320 SCSI Ultra-4; Fast-160 SPI-5 (INCITS 367-2003) 16 80 MHz DDR ninguno 320 MB/s (2560 Mbit/s) 12 m 16
SSA Arquitectura de almacenamiento en serie T10 / INCITS 309-1997 serie 200 Mbit/s 8b10b 20 MB/s (160 Mbit/s) 25 m 96
SSA 40 T10 / INCITS 309-1997 serie 400 Mbit/s 40 MB/s (320 Mbit/s) 25 m 96
Canal de fibra 1Gbit 1GFC T11 / X3T11/94-175v0 FC-PH Draft, Revision 4.3 serie 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 serie 2.125 Gbit/s 197 MB/s (1.700 Mbit/s) 500 m / 10 km 127/224
Canal de fibra 4Gbit 4GFC T11 / Proyecto INCITS 2118-D / Rev 6.10 serie 4.25 Gbit/s 394 MB/s (3.400 Mbit/s) 500 m / 10 km 127/224
Canal de fibra 8Gbit 8GFC T11 / Proyecto INCITS 2118-D / Rev 6.10 serie 8,5 Gbit/s 788 MB/s (6.800 Mbit/s) 500 m / 10 km 127/224
Canal de fibra 16Gbit 16GFC T11 / Proyecto INCITS 2118-D / Rev 6.10 serie 14.025 Gbit/s 64b66b 1,575 MB/s (13.600 Mbit/s) 500 m / 10 km 127/224
SAS 1.1 Serial attached SCSI T10 / INCITS 417-2006 serie 3 Gbit/s 8b10b 300 MB/s (2.400 Mbit/s) 6 m 16.256
SAS 2.1 T10 / INCITS 478-2011 serie 6 Gbit/s 600 MB/s (4.800 Mbit/s) 6 m 16.256
SAS 3.0 T10 / INCITS 519 serie 12 Gbit/s 1.200 MB/s (9.600 Mbit/s) 6 m 16.256
SAS 4.0 T10 / INCITS 534 (proyecto) serie 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 serie 3.145728 Gbit/s 8b10b 315 MB/s (2.517 Mbit/s) 4.5 m 63
SCSI Express SCSI sobre PCIe (SOP) T10 / INCITS 489 serie 8 GT/s (PCIe 3.0) 128b130b 985 MB/s (7.877 Mbit/s) corto, plano trasero sólo 258
USB SCSI 2 UAS-2 T10 / INCITS 520 serie 10 Gbit/s (USB 3.1) 128b132b ~1.200 MB/s (~9,500 Mbit/s) 3 m 127
ATAPI over Parallel ATA Interfaz de paquete ATA T13 / NCITS 317-1998 16 33 MHz DDR ninguno 133 MB/s (1.064 Mbit/s) 457 mm (18 pulgadas) 2
ATAPI sobre ATA serie serie 6 Gbit/s 8b10b 600 MB/s (4.800 Mbit/s) 1 m 1 (15 con multiplicador de puerto)
iSCSI Interfaz del sistema informático pequeño de Internet, SCSI sobre IP IETF / RFC 7143 principalmente serie aplicación y dependencia de la red 1.187 MB/s o 1.239 MB/s aplicación y dependencia de la red 2128 (IPv6)
SRP SCSI RDMA Protocol (SCSI over InfiniBand and similar) T10 / INCITS 365-2002 aplicación y dependencia de la red

Cableado

Terminator de autobús con tapa superior eliminado

Interfaz paralela SCSI

Los cables SCSI paralelos internos suelen ser cintas, con dos o más conectores de 50, 68 u 80 pines conectados. Los cables externos suelen estar blindados (pero es posible que no lo estén), con conectores de 50 o 68 pines en cada extremo, según el ancho de bus SCSI específico admitido. El accesorio de conector único (SCA) de 80 pines generalmente se usa para dispositivos conectables en caliente

Canal de fibra

El canal de fibra se puede utilizar para transportar unidades de información SCSI, según lo define el Protocolo de canal de fibra para SCSI (FCP). Estas conexiones son conectables en caliente y generalmente se implementan con fibra óptica.

SCSI conectado en serie

SCSI conectado en serie (SAS) utiliza un cable de alimentación y datos Serial ATA modificado.

ISCSI

iSCSI (interfaz de sistema de computadora pequeña de Internet) generalmente usa conectores y cables Ethernet como su transporte físico, pero puede ejecutarse sobre cualquier transporte físico capaz de transportar IP.

PVP

El protocolo SCSI RDMA (SRP) es un protocolo que especifica cómo transportar comandos SCSI a través de una conexión RDMA confiable. Este protocolo puede ejecutarse en cualquier transporte físico compatible con RDMA, p. InfiniBand o Ethernet cuando se utiliza RoCE o iWARP.

SCSI conectado por USB

SCSI conectado por USB permite que los dispositivos SCSI utilicen el bus serie universal.

Interfaz de automatización/accionamiento

La interfaz de automatización/unidad - Protocolo de transporte (ADT) se utiliza para conectar dispositivos de medios extraíbles, como unidades de cinta, con los controladores de las bibliotecas (dispositivos de automatización) en las que están instalados. El estándar ADI especifica el uso de RS-422 para las conexiones físicas. El estándar ADT-2 de segunda generación define iADT, el uso del protocolo ADT sobre conexiones IP (Protocolo de Internet), como por ejemplo sobre Ethernet. Los estándares de comandos de la interfaz de automatización/unidad (ADC, ADC-2 y ADC-3) definen los comandos SCSI para estas instalaciones.

Protocolo de comando SCSI

Además de muchas implementaciones de hardware diferentes, los estándares SCSI también incluyen un amplio conjunto de definiciones de comandos. La arquitectura de comandos SCSI se definió originalmente para buses SCSI paralelos, pero se ha llevado adelante con cambios mínimos para su uso con iSCSI y SCSI serie. Otras tecnologías que utilizan el conjunto de comandos SCSI incluyen la interfaz de paquetes ATA, la clase de almacenamiento masivo USB y FireWire SBP-2.

En la terminología de SCSI, la comunicación tiene lugar entre un iniciador y un destino. El iniciador envía un comando al objetivo, que luego responde. Los comandos SCSI se envían en un bloque descriptor de comandos (CDB). El CDB consta de un código de operación de un byte seguido de cinco o más bytes que contienen parámetros específicos del comando.

Al final de la secuencia de comandos, el objetivo devuelve un byte de código de estado, como 00h para éxito, 02h para un error (llamado condición de verificación) u 08h para ocupado. Cuando el objetivo devuelve una condición de verificación en respuesta a un comando, el iniciador generalmente emite un comando SCSI Request Sense para obtener un calificador de código clave (KCQ) del objetivo. La secuencia de verificación de condición y solicitud de detección implica un protocolo SCSI especial denominado condición de lealtad contingente.

Hay cuatro categorías de comandos SCSI: N (sin datos), W (escribir datos del iniciador al destino), R (leer datos) y B (bidireccional). Hay alrededor de 60 comandos SCSI diferentes en total, siendo los más utilizados:

A cada dispositivo en el bus SCSI se le asigna un número de identificación o ID SCSI único. Los dispositivos pueden abarcar varias unidades lógicas, que se direccionan mediante un número de unidad lógica (LUN). Los dispositivos simples tienen solo un LUN, los dispositivos más complejos pueden tener varios LUN.

Un "acceso directo" (es decir, tipo de disco) el dispositivo de almacenamiento consta de una serie de bloques lógicos, direccionados por Dirección de bloque lógico (LBA). Un LBA típico equivale a 512 bytes de almacenamiento. El uso de LBA ha evolucionado con el tiempo y, por lo tanto, se proporcionan cuatro variantes de comandos diferentes para leer y escribir datos. Los comandos Read(6) y Write(6) contienen una dirección LBA de 21 bits. Los comandos Read(10), Read(12), Read Long, Write(10), Write(12) y Write Long contienen una dirección LBA de 32 bits además de otras opciones de parámetros.

La capacidad de un "acceso secuencial" (es decir, tipo de cinta) no se especifica porque depende, entre otras cosas, de la longitud de la cinta, que no se identifica de forma legible por máquina. Las operaciones de lectura y escritura en un dispositivo de acceso secuencial comienzan en la posición actual de la cinta, no en un LBA específico. El tamaño del bloque en los dispositivos de acceso secuencial puede ser fijo o variable, según el dispositivo específico. Los dispositivos de cinta, como cintas de 9 pistas de media pulgada, DDS (cintas de 4 mm físicamente similares a DAT), Exabyte, etc., admiten tamaños de bloque variables.

Identificación del dispositivo

Interfaz paralela

En un bus SCSI paralelo, un dispositivo (por ejemplo, un adaptador de host, una unidad de disco) se identifica mediante un "SCSI ID", que es un número entre 0 y 7 en un bus angosto y en el rango 0–15 en un bus ancho. En modelos anteriores, un puente o interruptor físico controla la ID SCSI del iniciador (adaptador de host). En los adaptadores de host modernos (desde aproximadamente 1997), al realizar operaciones de E/S en el adaptador se establece el ID de SCSI; por ejemplo, el adaptador a menudo contiene un programa de ROM de opción (SCSI BIOS) que se ejecuta cuando la computadora arranca y ese programa tiene menús que permiten al operador elegir la ID de SCSI del adaptador host. Alternativamente, el adaptador de host puede venir con un software que debe instalarse en la computadora host para configurar la ID de SCSI. El ID de SCSI tradicional para un adaptador de host es 7, ya que ese ID tiene la prioridad más alta durante el arbitraje de bus (incluso en un bus de 16 bits).

La ID SCSI de un dispositivo en un gabinete de unidad que tiene un plano posterior se establece mediante puentes o mediante la ranura en el gabinete en el que se instala el dispositivo, según el modelo del gabinete. En el último caso, cada ranura en el plano posterior del gabinete envía señales de control a la unidad para seleccionar una ID SCSI única. Un gabinete SCSI sin plano posterior a menudo tiene un interruptor para que cada unidad elija la ID SCSI de la unidad. El gabinete está empaquetado con conectores que deben enchufarse en la unidad donde normalmente se ubican los puentes; el interruptor emula los puentes necesarios. Si bien no existe un estándar que haga que esto funcione, los diseñadores de unidades generalmente configuran sus encabezados de puente en un formato consistente que coincide con la forma en que se implementan estos interruptores.

Configurar el disco duro de arranque (o el primero) en SCSI ID 0 es una recomendación aceptada por la comunidad de TI. SCSI ID 2 generalmente se reserva para la unidad de disquete, mientras que SCSI ID 3 suele ser para una unidad de CD-ROM.

Generales

Tenga en cuenta que un dispositivo de destino SCSI (que puede denominarse "unidad física") a veces se divide en "unidades lógicas" más pequeñas. Por ejemplo, un subsistema de disco de gama alta puede ser un solo dispositivo SCSI pero contener docenas de unidades de disco individuales, cada una de las cuales es una unidad lógica. Además, una matriz RAID puede ser un solo dispositivo SCSI, pero puede contener muchas unidades lógicas, cada una de las cuales es un dispositivo "virtual" disco: un conjunto de franjas o un conjunto de espejos construido a partir de partes de unidades de disco reales. El ID SCSI, WWN, etc. en este caso identifica todo el subsistema y un segundo número, el número de unidad lógica (LUN) identifica un dispositivo de disco (real o virtual) dentro del subsistema.

Es bastante común, aunque incorrecto, referirse a la propia unidad lógica como "LUN". En consecuencia, el LUN real puede denominarse "número LUN" o "Id. de LUN".

En los protocolos de transporte SCSI modernos, existe un proceso automatizado para el "descubrimiento" de las identificaciones. El iniciador SSA (normalmente la computadora host a través del 'adaptador host') "recorre el bucle" para determinar qué dispositivos están conectados y luego asigna a cada uno un "conteo de saltos" valor. Los iniciadores de canal de fibra: bucle arbitrado (FC-AL) utilizan el LIP (protocolo de inicialización de bucle) para interrogar a cada puerto de dispositivo por su WWN (nombre mundial). Para iSCSI, debido al alcance ilimitado de la red (IP), el proceso es bastante complicado. Estos procesos de descubrimiento ocurren en el momento del encendido/inicialización y también si la topología del bus cambia más tarde, por ejemplo, si se agrega un dispositivo adicional.

SCSI tiene el mecanismo de identificación CTL (Channel, Target or Physical Unit Number, Logical Unit Number) por adaptador de bus host, o el mecanismo de identificación HCTL (HBA, Channel, PUN, LUN), un adaptador host puede tener más de un canales

Tipo de dispositivo

Si bien todos los controladores SCSI pueden funcionar con dispositivos de almacenamiento de lectura/escritura, es decir, discos y cintas, algunos no funcionarán con otros tipos de dispositivos; Es probable que los controladores más antiguos estén más limitados, a veces por su software de controlador, y se agregaron más tipos de dispositivos a medida que SCSI evolucionó. Incluso los CD-ROM no son manejados por todos los controladores. El tipo de dispositivo es un campo de 5 bits informado por un comando de consulta SCSI; Los tipos de dispositivos periféricos SCSI definidos incluyen, además de muchas variedades de dispositivos de almacenamiento, impresoras, escáneres, dispositivos de comunicaciones y un "procesador" tipo para dispositivos que no se enumeran de otra manera.

Servicios de alojamiento SCSI

En los servidores SCSI más grandes, los dispositivos de unidades de disco se alojan en un gabinete inteligente que admite SCSI Enclosure Services (SES). El iniciador puede comunicarse con el gabinete mediante un conjunto especializado de comandos SCSI para acceder a la alimentación, la refrigeración y otras características que no son de datos.