Trommellager er et datalager som består av en sylinder hvor overflaten er dekket av et magnetiserbart materiale. Sylinderen roterer om sin egen akse. I buret rundt den roterende trommelen er det montert lese- og skrivehoder. Når sylinderen roterer vil hodet dekke et spor som inneholder data. Trommel er et lese/skrive-lager og lagringen er varig. Trommellager hadde sin viktigste periode fra 1950 til 1975. 

Særlig i den første delen av perioden hadde datamaskinene lite arbeidslager fordi kjernelagerer var veldig kostbart. 

Norges første digitale datamaskin, NUSSE, hadde et trommellager på 512 dataord á 32 bit. Ut over det hadde NUSSE tre registre som ble brukt under beregninger. Maskinen var altså uten tradisjonelt arbeidslager, arbeidslageret var trommellageret

GIER, NTNUs første datamaskin, hadde et arbeidslager på ett kiloord (42 bit) og et trommellager på 12800 ord. Trommellageret var maskinens egentlige arbeidslager. Det var ikke mulig å lagre brukerdata permanent på GIER. 

Også for senere sentralmaskiner ved NTNU (UNIVAC 1100-maskiner) ble de hurtigste tromlene (FH 432) bare brukt av operativsystemet. En mer langsom trommel med stor kapasitet (FASTRAND III) tillot lagring av brukerdata. 

Trommellageret ble utviklet på en tid hvor elektronikken tok forholdsvis stor plass. Det var rikelig plass til skrive/lese-hoder og tilhørende mekanikk og elektronikk på utsiden av sylinderen. Ulempen var at plassen inne i sylinderen ikke var utnyttbar. Konkurrenten til trommel var disk som kan gi et mye større overflateareal per volumenhet.

Økende lagringstetthet i bit per tomme langs et spor krevde at lese/skrivehodene kom enda tettere til overflaten – så tett at urenheter i luften ble et problem. Støv og røyk la seg på lese/skrivehodene. Problemet kunne kontrolleres ved at hele trommelen ble kapslet inn, og trykket inne i trommelen ble utjevnet gjennom et lite støvfilter. Den samme løsningen ble brukt for disk.

Både disk og tromler må rotere så fort som mulig for å få ned rotasjonsventetiden og overføringshastigheten opp. For trommel ligger mesteparten av massen i maksimal avstand fra rotasjonssenteret, noe som gir en kraftig gyroeffekt. Jorda roterer og det gir opphav til krefter mellom trommel og underlag. Diskenes vesentlig mindre dimensjoner ga ikke slike problemer, og ikke minst tåler den mye større rotasjonshastighet.

Lagringskapasiteten bestemmes av antall spor og antall byte eller bit som kan lagres på hvert spor. Et spor er delt opp i sektorer. En sektor er adresseringsenhet og den minste lese- og skriveenhet. En sektor inneholder: brukerdata – et fast antall byte, ekstra data for feildeteksjon og eventuell korreksjon, og administrative data – for eksempel sin egen adresse.

Lese/skrivehodene kan være fast montert, da er det like mange lese/skrivehoder som spor på trommelen. Eller lese/skrivehodene kan være montert på en mekanisme som kan flytte dem sideveis. Beste løsningen er at alle hodene sitter på en felles mekanisme for sideveis flytting. Det er lønnsomt å lese alle spor i samme posisjon før en flytter seg til neste posisjon ved fortløpende lesing eller skriving. Flytting til ny posisjon tar mye lengre tid enn å bestemme hvilket hode som skal være aktivt da det gjøres elektronisk.

Adresseringshierarkiet er: <trommel, spor, sektor> for en trommel med bare faste hoder. For trommel med bevegelig hoder får vi tilsvarende: <trommel, posisjon, spor, sektor>. 

Et antall sektorer (kalles en blokk) kan skrives eller leses i en operasjon. For å skrive eller lese en blokk skjer følgende:

  1. Velg trommel
  2. Hvis bevegelige hoder: flytt til riktig posisjon (krever posisjoneringstid)
  3. Velg riktig spor
  4. Vent til riktig sektor er under hodet (krever rotasjonsventetid)
  5. Les eller skriv det oppgitte antall sektorer (krever overføringstid)

Bare trinnene 2, 4 og 5 bidrar vesentlig til tidsforbruket; for disse leddene måles tidsforbruket i millisekunder, mens operasjonene 1 og 3 kun tar få mikrosekunder.

Rotasjonsventetiden er gjennomsnittlig halvparten av rotasjonstiden – \(t_{r}\). Overføringstiden avhenger av blokkstørrelsen, det vil si antall sektorer som overføres. Hvis n er antall sektorer per spor og blokken inneholder b sektorer er overføringstiden: \(t(b)_{o}=t_{r}\times \frac{b}{n}\)

Lesing eller skriving av en blokk tar gjennomsnittlig: \[t(b)=\frac{t_{r}}{2}+\frac{t_r \times b}{n}=t_{r} \bigg[\frac{1}{2}+\frac{b}{n} \bigg]\]

I tillegg kommer eventuell posisjoneringstid.

Antall rotasjoner er gjerne fra 1800 til 7200 per minutt, som tilsvarer 30 til 120 rotasjoner per sekund. Tilsvarende blir rotasjonstiden 33 til 8 millisekunder.

Maksimal overføringskapasitet er antall rotasjoner per sekund multiplisert med antall byte per spor: \(  V_{max} = \omega V_{s}\)

\( \omega \) er antall rotasjoner per sekund og  \( V_{s}\) er antall byte per spor. Maksimal overføringskapasitet oppgis i KB/s eller MB/s.

Posisjoneringstiden avhenger av hvor langt (i antall spor) en må flytte, og kan ligge i intervallet 10 til 150 millisekunder. 

Tromler er koplet til maskinen via en trommelkontroller. En kontroller kan styre et antall tromler, vanligvis maksimalt fire eller åtte.  

Av stormaskinleverandørene på 1960-70-tallet var UNIVAC (senere UNISYS) en ledende  produsent av trommellager. UNIVAC-maskiner ble mye brukt i Norge på denne tiden. UNIVACs største trommel var FASTRAND III. Den hadde to symmetriske tromler som roterte hver sin vei for å nulle ut de gyroskopiske kreftene. Posisjoneringsmekanismen og lese/skrivehodene lå mellom tromlene. 

Foreslå endringer i tekst

Foreslå bilder til artikkelen

Kommentarer

Har du spørsmål om eller kommentarer til artikkelen?

Kommentaren din vil bli publisert under artikkelen, og fagansvarlig eller redaktør vil svare når de har mulighet.

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