Che cos’è un’interfaccia di sistema per piccoli computer?

Small Computer System Interface è uno standard ad alta velocità per il collegamento di periferiche e computer. Conosciuto anche con l’acronimo SCSI, definisce sia le connessioni hardware che le modalità di scambio dei dati. Per ogni tipo di periferica supportato, SCSI definisce comandi e protocolli specifici del dispositivo. SCSI è comunemente usato su server e computer ad alte prestazioni come quelli per la produzione audio e video. Viene spesso utilizzato anche con RAID (Redundant Array of Independent Disks) e tecnologia di archiviazione di rete.

SCSI è stato creato alla fine degli anni ‘1970 ed è stato originariamente chiamato Shugart Associates System Interface dopo il suo inventore aziendale. Small Computer System Interface ha diversi vantaggi rispetto alle tecnologie concorrenti. I suoi cavi dati possono essere piuttosto lunghi, facilitando il collegamento di molti dispositivi esterni a un computer. Più di un dispositivo ad alte prestazioni sul cavo può essere attivo contemporaneamente, semplificando le applicazioni ad alta intensità di storage. Ad esempio, il software di editing può leggere contemporaneamente i dati da due dischi rigidi e masterizzare un disco video digitale (DVD).

Dagli anni ‘1980 fino ai primi anni 2000, le specifiche dell’interfaccia di sistema per piccoli computer si sono evolute notevolmente. Il bus SCSI parallelo è passato da otto bit a 16 bit e le larghezze di banda dei dispositivi spesso sono raddoppiate da una versione all’altra. Molte schede madri includevano controller SCSI o schede HBA (host bus adapter) SCSI supportate. I produttori di dischi di solito hanno introdotto le loro unità più performanti con supporto SCSI prima di altre tecnologie. Tuttavia, i dischi IDE (Integrated Drive Electronics) a basso costo sono rimasti una scelta comune per i personal computer.

Small Computer System Interface organizza i dispositivi collegati in unità logiche, target e iniziatori. Un dispositivo è un iniziatore se è in grado di avviare comandi SCSI, come un controller SCSI. Le destinazioni, come unità disco, unità DVD e dispositivi simili, rispondono alle richieste degli iniziatori. Ciascun dispositivo di destinazione può avere più di un’unità logica e molti blocchi logici di dati. In particolare, i dispositivi di archiviazione ad alta capacità sono generalmente accessibili come più unità virtuali.

Il protocollo di comando Small Computer System Interface definisce diverse dozzine di operazioni. Sono inclusi i comandi per la gestione dei dispositivi, la raccolta dello stato e il trasferimento dei dati. Esistono quattro varianti per la lettura dei dati da un dispositivo oltre a quattro diversi comandi di scrittura. Il metodo Cyclic Redundancy Check (CRC32) a 32 bit è stato utilizzato per i trasferimenti di dati dal 1996, quando è stata rilasciata la specifica SCSI-3.

All’inizio degli anni 2000, la frequenza di clock del bus SCSI era aumentata a 160 Megahertz (MHz) con la specifica Ultra 640. La natura parallela di SCSI ha iniziato a causare problemi di terminazione e cablaggio a velocità molto elevate. Questi problemi sono stati risolti riprogettando SCSI per trasportare i dati in serie, anziché in parallelo. Le modifiche sono state implementate alla fine degli anni 2000 come Serial Attached SCSI (SAS). Una variazione importante, FC-AL (Fibre Channel Arbitrated Loop) utilizza un clock molto veloce—4 Gigahertz (GHz)—con cavi in ​​fibra ottica.
SAS offre diversi vantaggi rispetto a SCSI parallelo oltre a un maggiore throughput del dispositivo. Le connessioni dei dispositivi sono sostituibili a caldo, il che significa che possono essere scollegate e collegate secondo necessità senza spegnere i server. SAS è compatibile con i dispositivi di archiviazione Serial Advanced Technology Attachment (SATA). Ciò consente di utilizzare le unità SATA più economiche e più popolari, il successore di IDE, con la tecnologia avanzata basata su SCSI. SAS migliora anche l’isolamento dei guasti rispetto alla Small Computer System Interface originale.