Il disco fisso è un componente fondamentale del computer, poichè stabilisce i tempi di accesso alle applicazioni e quindi la capacità di risposta del sistema operativo. In esso vengono "fisicamente" archiviati i dati preposti al funzionamento del sistema operativo ed i dati utente. Spesso si confonde la capienza (spazio a disposizione misurato in Gb e sottomultipli) di un disco rigido (spazio su disco) con la memoria del proprio PC. Nulla di più errato, visto che la memoria è rappresentata dalla RAM (Random Access Memory) e... d'altra cosa si tratta.
Gli ultimi modelli si contraddistinguono per l'interfaccia di collegamento alla scheda madre conforme allo standard ATA 133 (su porta parallela) ed ATA 166 (su porta seriale), che supportano le modalità di trasferimento veloce denominate Ultra Dma mode 6 e Ultra Dma mode 7. Quando il bios della scheda madre del computer, i cavi di collegamento dei dischi ed il drivers (Windows XP è predisposto per i dischi serial ATA, ad esempio) sono compatibili con queste modalità, le prestazioni aumentano sensibilmente: infatti il disco trasferisce i dati con brevi "raffiche" a 133-166 Mb/sec, il che impegna pochissimo il processore. I modelli attuali ad alte prestazioni raggiungono i 7.200 giri al minuto, quelli standard funzionano a 5.400 g/m. I dischi su standard SCSI superano abbondantemente i 10.000 giri/min. La memoria cache (memoria tampone) varia tra i 2 e gli 8 Mb.
La scelta tra un tipo e l'altro può essere influenzata considerevolmente dal prezzo, ma si tenga conto che un disco dalle prestazioni normali acquistato oggi, risulta antiquato ed inadeguato alle nuove applicazioni tra meno di sei mesi, per cui in questi casi è consigliabile optare per il meglio disponibile sul mercato. E' ovvio che queste considerazioni si possono fare solo nel caso in cui ci si assembli il pc da soli, poichè, al contrario, l'assemblatore comune, scieglierà il disco rigido che potrà procurargli il ricarico maggiore. (sig!)
Western Digital e Seagate sono le marche che più consiglio. Ultimamente si sono verificate molte rotture di dischi Maxtor, per cui, al momento in cui scrivo, non mi sento di segnarli tra "gli affidabili", come un tempo.
Ma come è fatto e come funziona un disco rigido?
Per individuare l'informazione su un disco (HD) e' necessario conoscere su quale piatto e' stata scritta, non solo, ma anche su quale delle due superfici del piatto, su quale traccia e su quale settore. Ma cosa sono le tracce e i settori di un hard disk? Il processo di formattazione fisica di un disco definisce i settori che sono l'unita' minima leggibile o scrivibile su disco (in pratica pero' per ragioni di efficienza l'unita' minima e' il cluster). I settori sono posti lungo le tracce e sono rappresentate da un'intestazione contenente il numero che identifica ciascun settore. Ad esempio potremmo numerare i settori a partire dal numero 0 in su' per poterli riconoscere. Senza la presenza delle tracce e dei settori, l'HD assomiglierebbe di piu' ad una semplice pila di piatti, ricoperti da uno strato magnetico e privi di ogni riferimento. Le tracce, come i settori, sono invisibili e sono delle piste concentriche (non a spirale!) dove la testina dell'HD si posiziona per le operazioni di lettura e scrittura nei settori. Ad esempio... la superficie di un piatto puo' avere 10.000 tracce, e su ogni traccia possono essere definiti 32 o piu' settori.
Per velocizzare il trasferimento dei dati tra memoria RAM e memoria di massa si raggruppano i settori in blocchi. Un blocco quindi può fare da riferimento per molti settori. Se si utilizzano piu' HD, per accedere alle informazioni presenti su un blocco, il File System deve conoscere a quale drive appartiene, a quale superficie, a quale traccia ed in quale settore inizia quel blocco. Il cluster rappresenta un raggruppamento dei settori fisici (a volte anche di blocchi). Questo tipo di raggruppamento è logico, ossia definito dal file system e non a basso livello dall'hard disk. Il vantaggio per il file system di effettuare le operazioni di scrittura e lettura su queste unità è quello di ridurre il numero di puntatori ai blocchi, lo spazio di allocazione dei blocchi, il numero di posizionamenti della testina dell'HD e la lista dei blocchi liberi. I cluster vengono chiamati da Microsoft anche con il nome di Unita' di Allocazione.
Pensando all'archiviazione dei dati su supporti magnetici quali gli hard disk, tre sono le problematiche che si possono presentare:
- Capacità: la richiesta di maggiore capacità di archiviazione è un problema quotidiano per la maggioranza degli utenti di PC; la soluzione può essere vista nell'acquisto di un unico hard disk di maggiori dimensioni (i produttori rilasciano costantemente nuove versioni, sempre più capienti, dei propri hard disk) oppure nell'affiancare uno o più nuovi hard disk all'unità (o alle unità) già installate nel sistema;
- prestazioni velocistiche: l'utilizzo di applicazioni sempre più esigenti in termini di risorse di sistema richiede di impiegare hard disk dalle elevate prestazioni velocistiche. Le performances di un hard disk sono in funzione di numerosi fattori, tra i quali la velocità di rotazione dei piatti (espressa in rpm, giri al minuto) e la densità di memorizzazione dei piatti (cioè quanti mbytes di informazioni possono essere memorizzate sui piatti per centimetro quadrato).
- sicurezza dei dati: un hard disk deve garantire, oltre alla capacità di memorizzazione e a prestazioni velocistiche nella lettura e scrittura dei dati, una elevata sicurezza dei dati, ovvero che vengano minimizzati i rischi di perdite di informazioni. In generale dovrebbe valere (il condizionale è d'obbligo) la regola secondo cui più un disco è recente, maggiori sono le tecnologie in esso applicate per la sicurezza dei dati memorizzati. In realtà bisogna considerare che, viste le alte prestazioni dei dischi odierni, essi sviluppano molto calore, con conseguente dilatazione delle componenti interne; per cui è essenziale che questi vengano adeguatamente raffreddati (per mezzo di aria forzata) al fine di prevenirne, per quanto possibile, la prematura rottura. E' anche vero che, seppure si siano fatti molteplici passi avanti nell'efficienza e capienza dei dischi rigidi, si tratta pur sempre di parti meccaniche in movimento, soggette a fisiologica usura.
RAID
tecnologia RAID (Redundant Array of Independent Disks) permette, in modi differenti, di intervenire su ognuno di questi aspetti. Con il termine RAID si intende la configurazione di due o più hard disk, possibilmente identici quanto a capacità di memorizzazione e tecnologia, portati a lavorare in modo sincrono, cioè legato l'uno all'altro. Tale legame può essere di forme differenti, esemplificate dalle modalità di configurazione RAID disponibili:
- RAID 0: nota anche come striping, è quella modalità che permette di "legare" tra di loro differenti dischi, facendoli vedere dal sistema come un'unica unità anche se fisicamente composta da due o più dischi. Si tratta del processo inverso rispetto al partizionare in modo multiplo un'unità: mentre in quel caso si hanno differenti partizioni, quindi unità magnetiche, utilizzando una sola unità fisica, con lo striping si ottiene un'unica unità magnetica (anche se è sempre possibile crearne più di una, partizionando) congiungendo differenti unità fisiche. Il vantaggio del RAID 0 è quello di permettere un aumento delle capacità di memorizzazione, continuando a vedere i dispositivi di memorizzazione come un'unica unità magnetica (cosa impossibile da ottenersi affiancando due hard disk non in configurazione RAID). Utilizzando lo striping la capacità dei dischi utilizzati è sempre pari a quella del più piccolo; se, ad esempio, si connettessero in striping RAID 0 tre hard disk, rispettivamente da 30, 60 e 80 Gbytes, si otterrebbe un'unica unità di capacità pari a quella del disco da 30 Gb. Il vantaggio di questa configurazione consiste nel fatto che i trasferimenti in lettura sequenziale (sustained data transfers) sono effettuati in modo più performante rispetto alla configurazione non RAID.
Secondo tipo di configurazione RAID 0 è quella spanning, con la quale viene utilizzata tutta la capacità dei dischi collegati, ma perdendo i vantaggi prestazionali nei trasferimenti in lettura sequenziale di dati propri della modalità striping.
- RAID 1: noto anche come mirroring, in questa modalità i dati vengono scritti su entrambi i dischi, così che uno sia copia speculare dell'altro; qualora dovesse esserci qualche problema e/o errore di scrittura-lettura, oppure ancora perdita di dati, il sistema andrà a recuperare le informazioni sull'altro hard disk, così da garantire la continuità delle operazioni. Questa modalità massimizza la sicurezza dei dati, ma porta ad una riduzione delle prestazioni (sono pari a quelle di un singolo disco connesso al controller) ed allo spreco di spazio (se sono configurati in mirroring due hard disk da 80 Gbytes ciascuno, il sistema vedrà il tutto come un'unica unità magnetica da 80 Gbytes).
- RAID 0+1: tale modalità unisce i vantaggi del mirroring con quelli dello striping; due hard disk sono connessi tra di loro in modalità striping, mentre altri due dischi ne formano il mirror. Questa soluzione permette di ottenere le elevate prestazioni proprie dello striping unitamente alla sicurezza per i dati propria della modalità mirroring.
- RAID 5: in questa configurazione due hard disk contengono i dati, mentre il controller calcola attraverso una specifica espressione matematica quella che è chiamata la copia di parity; quest'ultima contiene quelle informazioni necesarie a riscrivere le informazioni su uno dei due dischi qualora, per un qualsiasi motivo, dovessero essere danneggiate e/o perse. La copia di array viene distribuita su tutti i dischi che compongono la catena RAID.
Da segnalare che con la modalità RAID 1, in caso di rottura di un disco è possibile, a sistema funzionante, provvedere alla sostituzione dell'hard disk danneggiato, senza perdita di dati e necessità di spegnere e/o riavviare il sistema; questa funzione, nota come swapping, permette di garantire continuità nel funzionamento, caratteristica apprezzata in particolari contesti quali quelli delle workstation, nei quali è importante che il sistema non si fermi