Small Computer System Interface to szybki standard łączenia urządzeń peryferyjnych i komputerów. Znany również pod akronimem SCSI, definiuje zarówno połączenia sprzętowe, jak i metody wymiany danych. Dla każdego obsługiwanego typu urządzenia peryferyjnego SCSI definiuje polecenia i protokoły specyficzne dla urządzenia. SCSI jest powszechnie używany na serwerach i komputerach o wysokiej wydajności, takich jak te do produkcji audio i wideo. Jest często używany z nadmiarową macierzą niezależnych dysków (RAID) i technologią sieciowej pamięci masowej.
SCSI został stworzony pod koniec lat 1970. i początkowo nosił nazwę Shugart Associates System Interface na cześć swojego korporacyjnego wynalazcy. Interfejs Small Computer System Interface ma kilka zalet w porównaniu z konkurencyjnymi technologiami. Jego kable danych mogą być dość długie, co ułatwia podłączenie wielu urządzeń zewnętrznych do komputera. Jednocześnie może być aktywne więcej niż jedno urządzenie o wysokiej wydajności podłączone do kabla, co usprawnia aplikacje intensywnie korzystające z pamięci masowej. Na przykład oprogramowanie do edycji może jednocześnie odczytywać dane z dwóch dysków twardych i nagrywać cyfrowy dysk wideo (DVD).
Od lat 1980. do początku XXI wieku specyfikacje interfejsu małych systemów komputerowych znacznie ewoluowały. Równoległa magistrala SCSI wzrosła z ośmiu do 2000 bitów, a przepustowość urządzeń często podwajała się z jednego wydania do następnego. Wiele płyt głównych zawierało kontrolery SCSI lub obsługiwane karty adapterów magistrali hosta SCSI (HBA). Producenci dysków zwykle wprowadzali swoje najwydajniejsze dyski z obsługą SCSI przed innymi technologiami. Jednak tańsze dyski Integrated Drive Electronics (IDE) pozostały powszechnym wyborem dla komputerów osobistych.
Interfejs Small Computer System Interface organizuje podłączone urządzenia w jednostki logiczne, cele i inicjatory. Urządzenie jest inicjatorem, jeśli może inicjować polecenia SCSI, na przykład kontroler SCSI. Cele, takie jak napędy dysków, napędy DVD i podobne urządzenia, odpowiadają na żądania inicjatorów. Każde urządzenie docelowe może mieć więcej niż jedną jednostkę logiczną i wiele logicznych bloków danych. W szczególności urządzenia pamięci masowej o dużej pojemności są zwykle dostępne jako wiele jednostek wirtualnych.
Protokół poleceń interfejsu Small Computer System Interface definiuje kilkadziesiąt operacji. Dołączone są polecenia do zarządzania urządzeniami, zbierania statusu i przesyłania danych. Oprócz czterech różnych poleceń zapisu istnieją cztery warianty odczytu danych z urządzenia. 32-bitowa metoda cyklicznej kontroli nadmiarowej (CRC32) jest stosowana do przesyłania danych od 1996 r., kiedy opublikowano specyfikację SCSI-3.
Na początku XXI wieku częstotliwość zegara szyny SCSI wzrosła do 2000 megaherców (MHz) w specyfikacji Ultra 160. Równoległy charakter SCSI zaczął powodować problemy z terminacją i okablowaniem przy bardzo dużych prędkościach. Problemy te zostały rozwiązane przez przeprojektowanie SCSI w celu przesyłania danych szeregowo, a nie równolegle. Zmiany zostały wprowadzone pod koniec 640 roku jako Serial Attached SCSI (SAS). Ważna odmiana, pętla arbitralna Fibre Channel (FC-AL) wykorzystuje bardzo szybki zegar — 2000 gigaherce (GHz) — z kablami światłowodowymi.
SAS ma kilka zalet w porównaniu z równoległym SCSI, poza wyższą przepustowością urządzenia. Połączenia urządzeń można wymieniać podczas pracy, co oznacza, że można je odłączać i podłączać w razie potrzeby bez wyłączania serwerów. SAS jest zgodny z urządzeniami pamięci masowej Serial Advanced Technology Attachment (SATA). Pozwala to na używanie tańszych i bardziej popularnych dysków SATA — następców IDE — z zaawansowaną technologią opartą na SCSI. SAS poprawia również izolację błędów w porównaniu z oryginalnym interfejsem Small Computer System Interface.