Salta al contenuto
Note per Studenti Memoria esterna - dischi, RAID e memorie ottiche

Memoria esterna - dischi, RAID e memorie ottiche

In questa pagina 7
In questa pagina 5

Disco magnetico

  • Piatti rotanti ricoperti di materiale magnetico; ogni piatto ha due facce, ognuna con una testina di lettura/scrittura montata su un braccio. Le testine sono tutte sullo stesso braccio e si muovono insieme. Nella tecnologia Winchester la testina "vola" a pochissima distanza dalla superficie, senza toccarla, in un contenitore sigillato.
  • Ogni faccia è divisa in tracce concentriche, ogni traccia in settori (unità minima di lettura/scrittura, tipicamente 512 byte o 4 KB). La formattazione aggiunge a ogni settore intestazione, sincronizzazione e codici di controllo.
  • Cilindro: l'insieme delle tracce nella stessa posizione su tutte le facce. Dati su un cilindro si leggono senza spostare il braccio, e con le testine in parallelo.

Capacità = facce × tracce per faccia × settori per traccia × byte per settore.

Tempo di accesso

Taccesso=Tseek+Tlatenza+TtrasfT_{accesso} = T_{seek} + T_{latenza} + T_{trasf}

  • Posizionamento (seek): portare la testina sulla traccia; dato del disco (valore medio).
  • Latenza rotazionale: attesa che il settore passi sotto la testina; in media mezzo giro: Tlatenza=12⋅60giri al minuto⋅1000 msT_{latenza} = \frac{1}{2} \cdot \frac{60}{\text{giri al minuto}} \cdot 1000 \ \text{ms}
  • Trasferimento di DD byte su una traccia di NN byte (frazione di giro): Ttrasf=DN⋅TgiroT_{trasf} = \frac{D}{N} \cdot T_{giro}

Esempio: 7200 giri/min → Tgiro=60/7200T_{giro} = 60/7200 s =8,33= 8{,}33 ms, latenza 4,174{,}17 ms. Con tracce da 256 KB, trasferire 64 KB richiede 64256⋅8,33=2,08\frac{64}{256} \cdot 8{,}33 = 2{,}08 ms. Con seek 8,5 ms: T=8,5+4,17+2,08=14,75T = 8{,}5 + 4{,}17 + 2{,}08 = 14{,}75 ms. Se gli stessi dati sono distribuiti su un cilindro di 8 facce lette in parallelo, il trasferimento si divide per 8: T=12,93T = 12{,}93 ms. Svolto in Esercizio 17 · tempo di accesso su traccia e su cilindro a 7200 giri.

Il posizionamento e la latenza dominano: leggere dati contigui è molto più efficiente che leggerli sparsi.

Scheduling delle richieste

Con più richieste in coda, l'ordine in cui servirle cambia lo spostamento totale del braccio.

Algoritmo Regola Caratteristiche
FCFS (FIFO) ordine di arrivo equo, spesso il più lento
SSTF (shortest seek time first) la richiesta più vicina al cilindro attuale spostamento minimo, ma può far attendere a lungo le richieste lontane e fa molte inversioni
ascensore (SCAN) continua nella direzione corrente servendo le richieste che incontra, inverte quando non ce ne sono più poche inversioni del braccio (meno usura meccanica), buone prestazioni

Esempio numerico in Esercizio 14 · algoritmi di scheduling del disco.

RAID

Redundant Array of Independent Disks: più dischi visti dal sistema operativo come uno solo, per prestazioni (accessi paralleli) e affidabilità (ridondanza).

Livello Organizzazione Dischi per nn di dati Guasti tollerati
0 striping: strisce distribuite a rotazione sui dischi, nessuna ridondanza nn 0 (un guasto perde tutto)
1 mirroring: ogni disco ha una copia 2n2n 1 per coppia
2 striping a bit, codice di Hamming su dischi dedicati, dischi sincronizzati nn + dischi di controllo 1
3 striping a byte, un disco di parità n+1n + 1 1
4 striping a blocchi, disco di parità dedicato (collo di bottiglia in scrittura) n+1n + 1 1
5 come il 4 ma con la parità distribuita su tutti i dischi n+1n + 1 1
6 due calcoli di ridondanza indipendenti distribuiti n+2n + 2 2

La parità permette la ricostruzione: se un disco si guasta, ogni suo blocco è lo XOR dei blocchi corrispondenti degli altri dischi.

SSD

Memoria flash (vedi Memoria principale a semiconduttoreCella di memoria e operazioni; RAM dinamica (condensatore, refresh) e statica (flip-flop), confronto; ROM, PROM, EPROM, EEPROM e flash; organizzazione dei chip e dei moduli con calcolo di linee di indirizzo e numero di chip; DRAM sincrona e DDR; errori e codici di correzione.Memoria principale a semiconduttore →): nessuna parte meccanica, quindi niente posizionamento né latenza rotazionale; accesso in decine di µs. Le celle sopportano un numero limitato di cancellazioni: il controllore distribuisce le scritture (wear leveling).

Memorie ottiche e nastri

  • CD-ROM: una sola traccia a spirale; i dati sono incisi come pit (avvallamenti) e land (zone piane) e letti da un laser dalla variazione della luce riflessa; velocità lineare costante (il disco gira più piano verso l'esterno); circa 650–700 MB. CD-R scrivibili una volta, CD-RW riscrivibili.
  • DVD: laser a lunghezza d'onda minore, tracce più fitte, più strati e due facce: da 4,7 a 17 GB. Blu-ray: fino a 25 GB per strato.
  • Nastro magnetico: accesso sequenziale, costo per bit bassissimo; usato per archivi e backup.

Errori tipici

  • Usare il tempo di un giro intero come latenza: la latenza media è mezzo giro.
  • Dimenticare di convertire i giri al minuto in giri al secondo (diviso 60).
  • Usare 10910^9 invece di 2302^{30} per i GB nei conti sulle tracce: negli esercizi le capacità sono potenze di 2.

Versione ripasso

Disco magnetico

Piatti con due facce, una testina per faccia (stesso braccio); tracce divise in settori; cilindro = tracce nella stessa posizione di tutte le facce, leggibile senza muovere il braccio e con testine in parallelo. Capacità = facce ×\times tracce ×\times settori ×\times byte per settore.

Tempo di accesso

Taccesso=Tseek+Tlatenza+Ttrasf,Tlatenza=Tgiro2,Ttrasf=DN TgiroT_{accesso} = T_{seek} + T_{latenza} + T_{trasf}, \quad T_{latenza} = \frac{T_{giro}}{2}, \quad T_{trasf} = \frac{D}{N}\,T_{giro} 7200 giri/min: Tgiro=8,33T_{giro} = 8{,}33 ms, latenza 4,174{,}17 ms; 64 KB su tracce da 256 KB: 2,082{,}08 ms; con seek 8,5 ms T=14,75T = 14{,}75 ms; su un cilindro di 8 facce il trasferimento si divide per 8: 12,9312{,}93 ms (Esercizio 17 · tempo di accesso su traccia e su cilindro a 7200 giri).

Scheduling (Esercizio 14 · algoritmi di scheduling del disco)

FCFS (ordine di arrivo); SSTF (la più vicina, ma starvationle richieste lontane possono attendere a lungo); ascensore (una direzione per volta, poche inversioni).

RAID

0 striping, nessuna ridondanza; 1 mirroring (2n2n dischi); 2 striping a bit con Hamming; 3 striping a byte con disco di parità (n+1n+1); 4 a blocchi, parità dedicata (collo di bottiglia in scrittura); 5 parità distribuita; 6 doppia ridondanza (n+2n+2, tollera 2 guasti). La parità ricostruisce un disco guasto con lo XOR degli altri.

SSD, ottiche, nastri

SSD: flash (Memoria principale a semiconduttoreCella di memoria e operazioni; RAM dinamica (condensatore, refresh) e statica (flip-flop), confronto; ROM, PROM, EPROM, EEPROM e flash; organizzazione dei chip e dei moduli con calcolo di linee di indirizzo e numero di chip; DRAM sincrona e DDR; errori e codici di correzione.Memoria principale a semiconduttore →), niente seek né latenza, wear leveling. CD-ROM: spirale di pit e land, circa 650-700 MB; DVD 4,7-17 GB; Blu-ray 25 GB per strato. Nastro: accesso sequenziale, backup.

Errori tipici: latenza = giro intero (è mezzo giro); giri/min non convertiti in giri/s; 10910^9 invece di 2302^{30} per i GB negli esercizi.

Esercizi su questo argomento

Lezioni in cui compare