SCSI er en familie av standarder for kopling til og styring av periferienheter til datamaskiner. SCSI er en forkortelse for Small Computer System Interface. Den ble tatt i bruk fra midten av 1980-tallet, og som navnet indikerer – først for mindre datasystemer, men ble etter hvert standard for alle typer datasystemer.

Faktaboks

Uttale
skˈøsi
Etymologi
forkortelse for engelsk Small Computer System Interface

SCSI dekker tre hovedområder:

  1. Utforming av kontakter og kabel for sammenkopling
  2. Signalering – det vil si hvordan signalene skal spille sammen for å utveksle data mellom enheter
  3. Innhold av datapakker for å kommunisere med og styre forskjellige typer enheter (SCSI kommandosett).

Over tid har områdene 1 og 2 endret seg mest i takt med den teknologiske utviklingen. Område 3 er en form for programmering av perifere enheter som magnetbånd, disker, skannere, eller skrivere, og denne delen av standarden har endret seg lite.

SCSI er en buss hvor en kopler til et visst antall enheter. Hvor mange bestemmes av den aktuelle kabelforbindelsen. Bare to enheter kan kommunisere samtidig.

Kontakter og kabler

De første kablene var brede flatkabler med 50 eller 68 ledere for parallell overføring av kommandoer og data. Mellom hver «signalleder» var det en jordet leder for å redusere støy og signalkopling mellom ledere. Flatkablene hadde altså bare halvparten – 25 og 34 –signalbærende ledere. Flatkabel med 50 ledere kunne overføre 8 databit i parallell, den bredeste kabelen: 8, 16 eller 32 bit i parallell.

Den opprinnelige SCSI-standarden gav en overføringskapasitet på inntil fem megabyte per sekund over kabel på maksimalt seks meter, og man kunne kople opptil åtte enheter på én buss (SCSI-1, 1986). Etter hvert kom en serie med forbedringer som gav større båndbredde (overføringskapasitet). På bred flatkabel oppnådde man til slutt en overføringsrate på 320 megabit per sekund (Ultra 320 SCSI, 2003). Men skjevhet i signalene på flatkabel begrenset kabellengde og frekvens (hvor «tett» en kan sende byte eller ord på kabelen). Størrelsen på kontakten ble etter hvert et problem da enhetene ble mindre, særlig disker som tidlig krympet til en bredde på 3,5 tommer.

Derfor er det definert nye varianter av standarden basert på seriell kommunikasjon som Fiber Channel, USB og Internett (TCP/IP) – iSCSI.

Signalering

Hver kommando startes ved at en part – verten – får bussen, og oppretter kontakt med en tjener, for eksempel en disk. Kommandoen fullføres ved at datapakker overføres gjennom en sekvens av faser – en kommunikasjonsprotokoll. Kommandoer som innebærer at tjeneren trenger lang tid på utførelsen før den har noe å melde tilbake, kan avbrytes slik at bussen i mellomtiden kan utnyttes av andre. For å avslutte kommandoen er det nå tjeneren som i sin tur tar kontakt med verten for å overføre resultatdata. Resultatdata kan være en diskblokk eller så lite som én byte med statusdata.

SCSI-kommandoer

Kommandosettet er definert ved kommandokoder og datapakker. Det er definert ett felles sett av kommandoer, og ett sett for hver type periferienhet: disk, magnetbånd, skrivere, datamaskiner, WORM-enheter (Write Once, Read Many), CD-ROM, skannere, medieautomater og generelle kommunikasjonsenheter. Medieautomater er for eksempel en båndrobot der kassetter med bånd er lagret og automaten henter bånd og setter i båndstasjonen før bruk; etter bruk settes kassetten tilbake på ledig plass og plassoversikten oppdateres.

Kommandopakken for lesing av en disk ser slik ut:

\( \begin{array}{|c|l||cccc @{\;\;\;\;\;} cccc||r|} \hline \texttt{byte nr}&\texttt{bit nr}&7&6&5&4&3&2&1&0& \\ \hline 1&\texttt{les} &0&0&0&0& 1&0&0&0& 8 \\ \hline 2&\texttt{høy} & & & &0& 0&0&0&1&65\;536 \\ 3& &0&0&0&0& 1&1&1&0&+2\;048+1\;024+512 \\ 4&\texttt{lav} &0&0&0&0& 0&0&1&0&+2=69\;122 \\ \hline 5&\texttt{ant} &0&0&0&1& 0&0&0&0&16 \\ \hline 6&\texttt{ktrl} &0&0&0&0& 0&0&0&0& \\\hline \end{array} \)

I første byte står kommandokoden for lesing av disk som er 8. I andre til fjerde byte står diskadressen hvor lesing starter, eksempeladressen som er satt inn er 69 122 desimalt. Adressen er en sektoradresse. I byte fem står antall sektorer som skal overføres, i eksemplet er det 16. Siste byte er en kontrollbyte som ikke brukes i denne kommandoen.

Denne kommandopakken var grei når SCSI-standarden ble tatt i bruk, men etter hvert ble diskene så store at adressefeltet ikke kunne holde de store adressene. Det ble derfor laget en lesekommando med 10 byte i pakken. Kommandokoden er 40. Adressefeltet er utvidet til fire fulle byte og feltet for antall sektorer som kan overføres er gitt to byte. Tilsvarende er det gjort for alle kommandoer der plassen til adresser er blitt for liten.

Historikk og utvikling

SCSI utviklet seg fra SASI («Shugart Associates System Interface») som ble tatt i bruk i 1978, spesielt for å kople disker til mindre maskiner. Spesifikasjonene ble offentlige i 1981, og ANSI startet arbeidet med å standardisere kommunikasjonsløsningen. Første utgave av standarden var ferdig i 1986. Et firmanavn kunne ikke knyttes til en standard, og SCSI ble det nye navnet.

På vanlige PC-er har grensesnitt som USB og IEEE 1394 (kjent som Firewire eller i.Link) overtatt det meste av det SCSI ble brukt til. SCSI overlever som diskgrensesnitt i servere og i lagringsnett. Et eksempel er «USB attached SCSI» forkortet UAS som brukes som grensesnitt mot disker, flashminnebaserte disker (SSD) og minnepinner. Kontakt og kommunikasjon følger USB-standarden, og SCSIs kommandosett styrer operasjonene av masselageret.

Les mer i Store norske leksikon

Kommentarer

Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.

Du må være logget inn for å kommentere.

eller registrer deg