Väikearvutisüsteemi liides

Väikearvutisüsteemi liides (inglise Small Computer System Interface; SCSI) on standardite kogum, mis võimaldab arvutiga füüsiliselt liita väliseid seadmeid ja sooritada andmevahetust. SCSI-standardis on määratud võimalikud käsud, protokollid ning elektri- ja optikaliidesed. 

SCSI-liidest kasutatakse peamiselt selleks, et liita süsteemiga kõvakettaid ja lintvarundusseadmeid, aga liides toetab ka muid seadmeid, näiteks nagu DVD-seadmeid ja printereid. SCSI-standard defineerib käskude komplekti kindlatele väliste seadmete tüüpidele.

Kõik seadmed ühendatakse SCSI-siiniga samal moel. Ühele siinile saab kinnitada 8–16 seadet (üks neist peab olema peremeesseade (SCSI-adapter) ja süsteemiga võib olla ühendatud rohkem kui üks adapter. SCSI-käsuprotokollis on defineeritud peremeesseadmete vaheline infovahetus, peremeesseadme ja ühendatud seadme ja ühendatud seadmete vaheline infovahetusstandard.

SCSI eellugu 
1970 – Shugart Technologies töötas välja Shugart Associates System Interface'i, mis on otsene SCSI-liidese eelkäija.
1982 – ANSI moodustas komitee, mis hakkab tegelema SASI standardiseerimisega. Muudatuste käigus võeti kasutusele tähis SCSI.
1986 – avaldati SCSI-1-liidese standard.

SCSI-standardite ajalugu 
SCSI-standardi arenduse, hoolduse ja muudatuste eest vastutavad:

 T10 tehniline komisjon – vastutav SCSI-standardi muudatuste eest.
 SCSI Trade Association – 1996. aastal loodud rühmitus, mis tegeleb SCSI propageerimisega. Aastast 2006 kuuluvad sinna IBM, HP, Intel, Seagate, Adaptec ja LSI Logic.
 INCITS, ITIC ja ANSI – tegelevad standardi akrediteerimisega

SCSI-1-standard – avaldati 1986. aastal. Defineeris esimese põlvkonna SCSI-seadmete karakteristika ja nendevahelised andmavahetusviisid. Tänapäeva standardiga võrreldes üpriski piiratud. Kasutas tasakaalustamata signaale single-ended signaling, mis olid passiivsulgemisega. Probleemiks oli seadmete ühise käsustiku puudumine.

SCSI-2-standard – avaldati 1994. aastal. Parandatud jõudlusega, stabiilsem.
Suuremad muutused standardis:
 Seadmed kasutasid standardiseeritud käsubaasi (CCS).
 Fast SCSI – 8-bitise siinilaiusega 10 MB/s andmevahetuskiirus oli kaks korda suurem kui eelmisel põlvkonnal
 Wide SCSI – 16 biti laiune siin võimaldas ühendada korraga kuni 16 seadet endise 8 asemel.
 Parandati kaabeldust – võeti kasutusele 68 kontaktiga pistikud ja pesad.
 Signaalide aktiivsulgemine.
 Tasakaalustatud signaalid (differential signaling)
 Käskude järjestamine – võimaldas mitme käsu samaaegset saatmist.
 Uued käsud tõid juurde toe uutele seadmetele.

SCSI-3-standard: SCSI-3 jagas SCSI-standardid omakorda alamkategooriatesse
 Käsundite standardid, mis sisaldas kas kõikidele SCSI-seadmeile kehtivaid standardkäske või kindlate seadmete käske (SCS).
 Protokollide standardid, mis määratles kuidas eri seadmed omavahel suhtlevad (SIP).
 Füüsiliste ühenduste standardid, mis määratles liideste detailid ja elektriliste signaalide nõuded (SPI).
 Võeti kasutusele mõiste "SCSI-arhitektuuri mudel" (SAM). Kuna kolmel jaotusel oli alamjaotusi väga palju ja standardeid kokku ligi 30 oli standardi vastuvõtmine väga pikaajaline protsess. Traditsiooniline SCSI sai standardis nimetuseks SCSI-paralleelliides (SPI). Võeti kasutusele termin Ultra SCSI, mille korral andmeedastuskiirus on 20 MB/s (40 MB 16-bitise siini korral) ja võeti kasutusele P-kaabel, mis asendas laia siini korral varemnõutud kahe kaabli kasutamise. SPI asendati SPI-2-standardiga aastal 1999. SPI-2-standardis võeti SCSI-seadmete nimedesse ka sõna "Ultra", mida kasutati seadmete kohta, mis vahetasid andmeid kiiremini kui 40 MB/s. Nüüdisajal on kasutusel SPI-5-standard, kus on parandatud ühenduskiirusi, liideseid, optimeeritud käsuprotokolle, ja võetud kasutusele CRC veakontroll.

SCSI-3-standardi jaotus on säilinud tänapäevani, kus on palju erinevaid seadmeid, mis vastavad SCSI-arhitektuuri mudelile ja kasutavad SCSI-käsuprotokolli (nt Serial attached SCSI, IEEE 1394 ja iSCSI), mida arendavad aga sõltumatud allüksused koostöös T10 komisjoniga.

SCSI omadused 

 Signaalid:
 Tasakaalustamata (SE) signaalid: SCSI-1-standardiga võeti kasutusele meetod, kus juhtmepaaris oli kas pinge või ei olnud. Pinge korral sai süsteem signaali, pinge puudumisel mitte. Süsteem oli ehituselt lihtne ja odav. Probleemideks oli, et selline süsteem oli elektriliselt väga lihtsalt häiritav ja signaalide kiiruse kasvamisel kaks korda pidi kaabelduse pikkust vähendama kaks korda, et signaali terviklikkust mitte kompromiteerida.

 Tasakaalustatud (HVD- ja LVD-) signaalid: tasakaalustatud signaali korral saadetakse mööda juhtmepaari kaks signaali, mis on üksteise peegelpildid. Vastuvõttev seade võtab need signaalid ja mõõdab nende vahe. Selline signaal on palju vähem vastuvõtlik häiretele ja võimaldab kasutada kuni 25 m pikkust kaabeldust. Algselt loodi HVD-standard, kus mööda juhet saadeti 5-voldise pingega signaal, aga selline meetod oli tülikas ja kallis. Seetõttu võeti kasutusele LVS-signaal, kus kasutatakse madalamat pinget. LVD signaale kasutavad seadmed on ka tagasiühilduvad SE-signaale kasutavate seadmetega. Kui kasutada LVD- ja SE-seadmeid koos, siis kehtivad neile SE-signaali piirangud, k.a kaablipikkusepiirangud. HVD-signaalid ei kuulu enam SCSI-standardisse alates SPI-3-standardist.

 Siinilaius
 Algselt oli SCSI-1-standardiga määratud siini laiuseks 8 bitti. SCSI-2-standard tõi endaga kaasa ka 16-bitise laia siini. SCSI-2-standard toetas ka 32 biti laiust ultralaia siini, aga kuna see ei kujunenud kunagi populaarseks, siis eemaldati see edasistest standarditest. Kitsas siin kasutab 50 kontaktiga pesi ja kontakte ja lai siin 68 kontaktiga kaableid ja pesasid (P-kaablit). Alates kiirustest, mis on kiiremad kui Ultra2 SCSI-standard, on kasutusel ainult lai siin, kuna kitsas siin ei ole piisav andmevahetuseks. Kitsa ja laia siiniga seadmeid on võimalik kasutada samas SCSI ketis, kuid probleemid võivad tekkida, kuna kaabeldus ja signaalide sulgemine on erinevad.

 Veakontroll
 Paarsuskontroll. Algselt kasutati SCSI-seadmetes paarsuskontrolli. See kujutab endas seda, et koos 8 bitiga saadetakse üks lisabitt, et bittide summa oleks kindlasti kas paaris või paaritu (SCSI korral paaritu). Kui vastuvõttev seade saab tulemuseks vea, siis laseb ta andmed uuesti saata. Paarsuskontrolli puuduseks on, et kui vigased on paarisarv bitte, siis ei suudeta viga tuvastada. Paarsuskontroll on praktiliselt kõigis SCSI-adapterites.
 CRC veakontroll. Kuna paarsuskontroll ei ole efektiivne viis kontrollimaks andmeid suure andmeedastuskiiruse ja -mahu korral, siis võeti kasutusele CRC kontroll. Selle korral koostatakse saatjas andmete põhjal kindlat algoritmi kasutades kahendkoodi, mis saadetakse koos andmetega. Vastuvõtjas koostatakse sama algoritmiga vastuvõetud andmete põhjal kood ja kui kaks koodi ei kattu, saadetakse signaal andmete uuestisaatmiseks.

"Läbirääkimine" ja kanali kinnitus
SCSI-protokollis on nõutud, et adapter leiaks teiste seadmete poolt kasutatavad võimalikud kiirused ja suhtleks nendega sellel kiirusel. Selleks saadab adapter igale seadmele päringu seadme poolt toetavate kiiruste kohta. Probleemid võivad tekkida sellega, et seadme poolt toetatavat kiirust ei ole võimalik kasutada kaabelduse, elektriliste segajate või mingite muude probleemide tõttu. Seetõttu on alates SPI-3-standardist lisatud kanalikinnituse test, mis seisneb selles, et adapter saadab seadmele kontrollandmed, laseb need seadmel kirjutada ja endale tagastada. Kui paarsuskontrollis või CRC-kontrollil tekivad vead, siis saadab adapter andmed uuesti madalama kiirusega seni, kuni õnnestub leida kiirus, mis võimaldab kadudeta andmeid saata.

Kiire ekspertiis ja valik (Quick arbitration and Selection)
 Kuna SCSI-siinil võivad korraga andmevahetussessiooni jõuda mitu seadet, siis antakse seadmetele õigusi vastavalt neile määratud tähtsusele. Kuna seadmete prioriteedi määramine ja neile õiguste andmine tekitab koormust ja aeglustab süsteemi, siis SPI-3-standardis määratleti kiire ekspertiisi ja valiku protokoll. See seisneb selles, et kui üks seade on oma töö lõpetanud ja saadab sellekohase signaali, siis võib järgmine seade kohe andmete saatmist alustada, ilma et selleks peaks uuesti teostama seadmete prioriteetide järjestust. Protokollis on määratletud, et ühelgi seadmel ei ole võimalik siini domineerida teisi vähem tähtsaid või protokolli mitte toetavaid seadmeid ära lõigates.

Pakettandmeside
SPI-3 määratles ka võimaluse koondada sarnane info pakettidesse, et vähendada süsteemi koormust.

SCSI-adapter
SCSI-laienduskaart on süsteemi tasandil paiknev liides ja ei ole oma ehituselt eraldiseisev laienduskaart ega kontroller vaid võrdväärne temaga ühendatud teiste SCSI-seadmetega. SCSI-adaptereid on väga erinevaid ja erinevate omadustega. SCSI-adapterid on ehitatud võimalikult optimaalselt ja nad on tagasiühilduvad paljude eelmiste põlvkondade seadmetega. SCSI-adapterid võivad toetada segmentatsiooni või olla mitme kanaliga. Mitmekanalilised SCSI-adapterid toetavad suuremat kogukiirust kogu siini kohta (igal kanalil võib olla maksimaalne siinikiirus). Kaardile võib olla sisse ehitatud vahemälu, mis võimaldab andmeid süsteemile edastada ilma vahepeal lisaseadmega ühendust võtmata ja kaardil võib olla RAID tugi.

SCSI-pesad ja -ühendused

Välised ühendused:

D-Shell (D-Sub, DD) ühendus: SCSI-1 defineeris 50 kontaktiga ühenduse kitsastele SCSI-liidestele. Ehituselt on ta sarnane arvuti paralleelpistikuga. Oma suuruse tõttu ei saanud see kunagi väga populaarseks. Apple võttis küll selle põhjal kasutusele oma versiooni, millel olid 25 kontakti (eemaldatud olid maanduskontaktid).

Centronics: SCSI-1-standard defineeris ka teise 50 kontaktiga ühenduse Centronics, mis on nimetatud populaarse printeritüübi järgi, mis seda ühendust esimesena kasutas. Centronics kasutas teravate ühenduskontaktide asemel lamedaid metallribasid. Ühendus oli kinnitatav kahe lukuga.

High-Density (HD) ühendus: asendasid D-Shelli ühendused SCSI-2-standardis. Sarnanevad D-Shelli ühendusega, vähendatud ruumiga kontaktide vahel, väiksemad ja odavamad valmistada. 50 (kitsal siinil) või 60 (laial siinil) kontaktiga.

Very High Density Cable Interconnect (VHDCI): SPI-2-standardis kasutusele võetud ainult laiale siinile mõeldud ühendus, mis on sama disainiga nagu Centronics, vähendatud suurusega.

Sisesed ühendused:

Regular Density: SCSI-1-standardis defineeritud ühendus, mis sarnaneb välimuselt ATA ühendusega, ainsa erinevusega on kummaski reas 5 lisakontakti.
High Density: SCSI-2-standardis defineeritud 2 uut ühendust, mille suurust on vähendatud 2 korda.
 Single Connector Attachment (SCA): SCSI-kaardi tagaosas asuv 80 kontaktiga sisemine ühendus, mis on mõeldud SCSI-kõvaketaste ühendamiseks. Võimaldab kõvaketast käigult vahetada. Teise põlvkonna SCA-2-ühenduse eripära:
Põhisignaalid on samad, mis harilikul laia siiniga SCSI-ühendusel.
Et kõvaketas ei vajaks eraldi ühendusega toidet, antakse 3,3 V, 5 V ja 12 V lisaühendustest.
Kaugeleulatuvad kontaktid – peremeesadapteri pool on kujundatud nii, et osad kontaktid on pikemad kui teised ja saavutavad süsteemiga esimesena ühenduse ning püsivad seetõttu süsteemiga kauem ühenduses kui ülejäänud kontaktid. Sellega kindlustatakse, et seade oleks maandatud enne kui ta elektrilise signaali saab.
Laengusignaalid (power charge signals) – kõik pingeskeemid on seostatud "eellaengute" signaaliga. Need paiknevad erinevalt pingekontaktidest pikkadel signaalidel ja saavad esimese kontakti seadmete vahel. Seda "eellaengut" saab kasutada, et laadida vooluringi ja vältida hüppelist voolukasvu, kui pingekontaktid ühenduvad.
Kõvakettad saavad ID tarkvaraliselt, et võimaldada mitme ketta kasutamist ja käigultvahetust.

Teised SCSI-liidesed

Viited 

Arvutisiinid
Arvuti mälu