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 connessioni hardware che metodi di scambio di dati. Per ogni tipo di periferica supportata, 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 la matrice ridondante di dischi indipendenti (RAID) e con la tecnologia di archiviazione in rete.
SCSI è stato creato alla fine degli anni '70 e originariamente era chiamato Shugart Associates System Interface dal suo inventore aziendale. L'interfaccia del sistema informatico di piccole dimensioni presenta numerosi vantaggi rispetto alle tecnologie concorrenti. I 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 possono essere attivi contemporaneamente, semplificando le applicazioni ad alta intensità di archiviazione. Ad esempio, il software di editing può leggere contemporaneamente i dati da due dischi rigidi e masterizzare un disco video digitale (DVD).
Dagli anni '80 ai primi anni 2000, le specifiche dell'interfaccia del sistema per piccoli computer si sono evolute notevolmente. Il bus SCSI parallelo è cresciuto da 8 a 16 bit e le larghezze di banda del dispositivo sono spesso raddoppiate da una versione all'altra. Molte schede madri includevano controller SCSI o schede adattatore bus bus SCSI (HBA) 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. Target, quali unità disco, unità DVD e dispositivi simili, rispondono alle richieste degli iniziatori. Ogni 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 unità virtuali multiple.
Il protocollo di comando dell'interfaccia del sistema informatico di piccole dimensioni definisce diverse decine 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 CRC32 (Cyclic Redundancy Check) 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 di cablaggio a velocità molto elevate. Questi problemi sono stati risolti riprogettando SCSI per trasportare i dati in serie, piuttosto che in parallelo. Le modifiche sono state implementate alla fine degli anni 2000 come Serial Attached SCSI (SAS). Una variante importante, Fibre Channel Arbitrated Loop (FC-AL) utilizza un clock molto veloce, 4 Gigahertz (GHz), con cavi in fibra ottica.
SAS offre numerosi vantaggi rispetto allo SCSI parallelo oltre alla maggiore produttività del dispositivo. Le connessioni del dispositivo sono hot-swap, 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 alle unità SATA più economiche e più popolari, il successore di IDE, di essere utilizzate con la tecnologia avanzata basata su SCSI. SAS migliora anche l'isolamento dei guasti rispetto all'interfaccia di sistema originale per piccoli computer.