Un disco rigido (o disco fisso, in inglese hard disk drive, abbreviato HDD, e più raramente indicato come fixed disk drive) è un dispositivo di memoria di massa di tipo magnetico che utilizza uno o più dischi magnetizzati per l'archiviazione di dati e applicazioni (, programmi e sistemi operativi).

Il disco rigido è un dispositivo di archiviazione del computer ed è uno dei tipi di dispositivi di memoria di massa attualmente più utilizzati essendo presente nella maggior parte dei computer ed anche in altri dispositivi elettronici, come per esempio il videoregistratore. È stato per lungo tempo l'unica scelta sui personal computer, ma sta conoscendo una perdita di quote di mercato a favore delle più recenti e veloci, ma anche più costose, unità di memoria a stato solido (SSD, Solid State Drive).

Storia

Il disco rigido viene inventato nel 1956 dall'IBM con il 350 Disk Storage Unit. Il primo prototipo era costituito da 50 dischi del diametro di 24 pollici (circa 60 cm) e poteva immagazzinare circa 5 megabyte di dati. Era alto circa 1,72 m e largo 1,52 m con un peso di oltre una tonnellata. La denominazione originaria era fixed disk (disco fisso), il termine hard disk (disco rigido) nacque intorno al 1970 per contrapposizione coi neonati floppy disk (dischetti).

Nel 1963 sempre l'IBM ideò il meccanismo di sollevamento della testina mediante l'aria. Nel 1973 IBM introdusse il modello 3340 Winchester, così denominato per analogia con il popolare modello di cartuccia da fucile .30-30 Winchester poiché era dotato di due dischi da 30 MB l'uno; il nome "winchester" entrò nell'uso comune come sinonimo di disco rigido, almeno fino agli anni '80., perché questo modello fu il predecessore di tutti i dischi rigidi moderni.

Il primo modello per pc fu il Seagate ST-506 prodotto da Seagate Technology nel 1980, aveva una capacità di 5 MB, diametro di 5,25 pollici ed era dotato di motore passo-passo, uno per la rotazione dei dischi rigidi ed un secondo per il movimento delle testine (il controllo voice coil arriverà solo qualche anno dopo). Questo modello equipaggiava i personal computer AT&T con processore 286 prodotti negli stabilimenti Olivetti di Scarmagno, in seguito alla collaborazione della società di Ivrea con la multinazionale statunitense. Contemporaneamente, la società OPE (Olivetti Peripheral Equipment), una consociata Olivetti, forniva i dischi rigidi per i computer M24; storicamente questa società fu l'unica in Europa a impegnarsi in progettazione, sviluppo e produzione di questo tipo di periferica.

Nel 2007 Albert Fert e Peter Grünberg ricevono il premio Nobel per la fisica per aver scoperto il fenomeno della magnetoresistenza gigante, che permette di costruire dischi con capacità di memorizzazione superiore al gigabyte.

Descrizione

Il disco rigido è costituito fondamentalmente da uno o più piatti in rapida rotazione, realizzati in alluminio o vetro, rivestiti di materiale ferromagnetico di 10-20 nm di spessore e da due testine per ogni piatto (una per lato), le quali, durante il funzionamento "volano" alla distanza di poche decine di nanometri dalla superficie del disco leggendo o scrivendo i dati. La testina è tenuta sollevata dall'aria mossa dalla rotazione stessa dei dischi la cui frequenza o velocità di rotazione può superare i 15.000 giri al minuto; attualmente i valori standard di rotazione sono 4.200, 5.400, 5.980, 7.200, 10.000 e 15.000 giri al minuto, dove la maggior parte degli hard disk in commercio hanno velocità di rotazione di 5.400 e 7.200 rpm.

Principi fisici di registrazione magnetica e lettura

La memorizzazione o scrittura dell'informazione o dati sulla superficie del supporto ferromagnetico consiste sostanzialmente nel trasferimento di un determinato verso alla magnetizzazione di un certo numero di domini di Weiss. Ad un certo stato (verso) di magnetizzazione è associato un bit di informazione (1 o 0). Il numero di domini di Weiss che costituiscono un singolo bit, moltiplicato per la loro estensione superficiale media, rapportato alla superficie di archiviazione disponibile, fornisce la densità d'informazione (bit al pollice quadro). Quindi stipare una maggiore quantità di dati sullo stesso disco richiede la riduzione del numero di domini che concorrono alla definizione di un singolo bit e/o la riduzione dell'area di un singolo dominio magnetico.

L'evoluzione continua della tecnologia dei dischi rigidi ci ha portati ormai vicino al limite fisico inferiore tollerabile: quando infatti il numero di domini che definiscono un singolo bit si è avvicinato all'unità e la loro area è dell'ordine di pochi nanometri quadri, l'energia termica del sistema è diventata ormai paragonabile all'energia magnetica ed è sufficiente un tempo brevissimo a far invertire il verso della magnetizzazione del dominio e perdere in questo modo l'informazione contenuta.

La lettura/scrittura dell'informazione magnetica in passato veniva affidata a testine induttive, avvolgimenti di rame miniaturizzati in grado di rilevare, in fase di lettura e secondo il principio di induzione magnetica, la variazione del flusso del campo magnetico statico al transitare della testina tra un bit ed il successivo di una traccia contenente i bit, oppure in maniera duale imprimere una magnetizzazione sul disco in fase di scrittura.

L'evoluzione che la spintronica ha portato nelle case di tutti sono state le testine magnetoresistive, basate su un dispositivo, la spin-valve, in grado di variare resistenza al mutare dell'intensità del campo magnetico. Il vantaggio dato da queste testine risiede nella loro sensibilità, migliore rispetto alle vecchie testine induttive, e nella loro dimensione ridottissima, cosa che consente di seguire il passo delle evoluzioni verso il nanometro per quanto riguarda l'area di un singolo bit. Infine, il prossimo futuro vedrà protagoniste della scena le testine di lettura basate sulle magnetic tunneling junction, MTJ.

Organizzazione logica dei dati Tipicamente per la memorizzazione di dati digitali il disco rigido necessita dell'operazione preliminare di formattazione logica con scelta del particolare sistema logico di archiviazione dei dati da utilizzare noto come file system, tramite il quale il sistema operativo è in grado di scrivere e recuperare i dati.

Organizzazione fisica dei dati I dati, a livello fisico, sono generalmente memorizzati su disco seguendo uno schema di allocazione fisica ben definito in base al quale si può raggiungere la zona dove leggere/scrivere i dati sul disco. Uno dei più diffusi è il cosiddetto CHS, sigla del termine inglese Cylinder/Head/Sector (Cilindro/Testina/Settore); in questa struttura i dati sono memorizzati avendo come indirizzo fisico un numero per ciascuna delle seguenti entità fisiche: Piatto un disco rigido si compone di uno o più dischi paralleli, detti "piatti", e ciascun lato dei piatti è identificato da un numero univoco; per ogni piatto sono presenti due testine, una per ognuno dei due lati.

Testina Su ogni piatto è presente una testina per ogni lato dello stesso, per accedere in scrittura o in lettura ai dati memorizzati; la posizione di tale testina è solidale con tutte le altre sugli altri piatti. In altre parole, se una testina è posizionata sopra una traccia, tutte le testine saranno posizionate nel cilindro a cui la traccia appartiene.

Traccia ogni piatto si compone di numerosi anelli concentrici numerati, detti tracce, ciascuna identificata da un numero univoco.

Settore geometrico ogni piatto è suddiviso in "spicchi" radiali uguali ciascuno, identificato da un numero univoco.

Cluster insieme di settori di tracce contigui.

Cilindro l'insieme di tracce alla stessa distanza dal centro presenti su tutti i dischi o piatti è detto cilindro. Corrisponde a tutte le tracce aventi il medesimo numero, ma diverso piatto.

Blocco L'insieme di settori posti nella stessa posizione in tutti i piatti.

Questa struttura introduce una geometria fisica del disco che consta in una serie di "coordinate" CHS, esprimibili indicando cilindro, testina, settore. In questo modo è possibile indirizzare univocamente ciascun blocco di dati presente sul disco. Ad esempio, se un disco rigido si compone di 2 dischi (o equivalentemente 4 piatti), 16384 cilindri (o equivalentemente 16.384 tracce per piatto) e 16 settori, e ciascun settore di una traccia ha una capacità di 4096 byte, allora la capacità del disco sarà di 4 × 16384 × 16 × 4096 byte, ovvero 4 GB.

Il fattore di interleaving è il numero dei settori del disco rigido che si deve saltare per leggere consecutivamente tutti quelli della traccia. Ciò dipende strettamente dalle caratteristiche prestazionali del disco rigido stesso, cioè dalla velocità di rotazione del disco, dal movimento dei seeker con le relative testine e dalla velocità di lettura-scrittura della stessa testina.

Tale processo è stato introdotto poiché inizialmente le CPU, che ricevevano e rielaboravano i dati letti, compivano queste azioni ad una velocità inferiore della velocità di lettura/scrittura sul disco rigido, quindi, una volta rielaborati i dati provenienti da un settore, la testina si troverebbe già oltre l'inizio del settore successivo. Alternando i settori in modo regolare e leggendoli secondo lo specifico interleaving factor, si velocizzava il disco rigido e il calcolatore. I moderni dischi rigidi non necessitano di interleaving.

Struttura di un settore Il settore è l'unità più piccola della formattazione di basso livello che riguarda la struttura fisica del disco rigido (formattazione fisica da non confondere con la formattazione logica che riguarda la creazione delle tabelle di allocazione dei file [FAT] necessarie al sistema operativo per gestire e navigare i dati presenti nelle cartelle del disco). Generalmente i settori sono raggruppati dal punto di vista logico in cluster per motivi di efficienza, quindi quando parliamo di cluster ci riferiamo a un gruppo di settori. Si ricordi che un file occupa sempre almeno un cluster. Per accedere a un settore bisogna specificare la superficie (platter), la traccia e il settore stesso. Il settore non è un semplice spazio sul disco memorizzabile, ma è dotato anch'esso di una struttura particolare che linearmente può essere sintetizzata così (la dimensione di un settore è variabile tra 32 byte e 4 KB, solitamente 512 byte):

<IRG><SYN,SYN><HEADER><DATI><BCC>

L'IRG è InterRecordGap, cioè la parte smagnetizzata della traccia che serve a preannunciare l'inizio del settore (o la sua fine). La parte nominata "SYN,SYN" sono dei byte noti per il clock di lettura, cioè servono a sincronizzare un clock di lettura attuale, generato dal PLL e dal VCO combinati, con quello originale di scrittura. Al centro sta l'"HEADER", parte del settore dove sono memorizzate le informazioni necessarie alla localizzazione dello stesso settore su tutto il disco rigido, cioè dove in quel momento la testina sta leggendo-scrivendo. Sicuramente la parte di maggiore rilievo è quella "DATI", cioè dove i dati sono stati impacchettati attraverso record in modo che il rapporto tra dati "utili" e le informazioni sia alto: devono essere maggiori i dati allocati nel settore che le informazioni di allocamento del settore stesso. Altra importante parte della struttura di un settore è il "BCC", block check character. Tale parte del settore è il risultato di una funzione calcolata sul blocco "dati" e il suo scopo è di confermare la corretta lettura delle informazioni, cioè dei dati e di rendere evidente un eventuale errore di lettura.