Logo Recovery Italia - Recupero Dati
Hard Disk
Il disco rigido o hard disk (anche chiamato disco fisso) è un dispositivo utilizzato per la memorizzazione a lungo termine dei dati in un computer. È costituito fondamentalmente da uno o più dischi in alluminio o vetro, rivestiti di materiale ferromagnetico in rapida rotazione e da due testine per ogni disco (una per lato), le quali, durante il funzionamento "volano" alla distanza di poche decine di nanometri dalla superficie del disco leggendo e scrivendo i dati. La testina è tenuta sollevata dall’aria mossa dalla rotazione stessa dei dischi che può superare i 15.000 giri al minuto; attualmente i valori tipici sono 5400 e 7200 giri al minuto (alcuni dischi fissi in commercio hanno una velocità di rotazione di 10000 giri al minuto).

L’hard disk è stato inventato nel 1956 dall’IBM. Il primo prototipo era costituito da 50 dischi del diametro di 24 pollici (circa 60 cm) e poteva immagazzinare circa 5 megabyte di dati. 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 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 fucile ".30-30 Winchester" poichè era dotato di due dischi da 30 MB l’uno; questo nome entrò nell’uso comune come sinonimo di disco rigido perchè questo modello fu il predecessore di tutti i dischi rigidi moderni.

Il primo modello per personal computer fu l’ST506 prodotto da Seagate Technology nel 1980, aveva una capacità di 5 MB, diametro di 5,25 pollici ed era dotato di motore passo-passo 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 americana. 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 nel progetto, sviluppo e produzione di questo tipo di periferica.

I dischi rigidi moderni hanno capacità e prestazioni enormemente superiori a quelle dei primi modelli ma poichè nel frattempo la velocità e le prestazioni delle memorie ad accesso casuale (RAM e ROM) sono aumentate molto di più, la loro velocità nella lettura e scrittura dei dati restano comunque di diversi ordini di grandezza, al di sotto delle prestazioni della RAM e della componentistica a stato solido che equipaggia un computer. Per questo motivo il disco rigido è spesso la causa principale del rallentamento di un computer soprattutto quando, a causa di una memoria RAM inferiore alla memoria virtuale richiesta dai programmi in esecuzione, il sistema operativo è costretto ad effettuare un gran numero di operazioni di swap tra il disco e la memoria centrale.

Le caratteristiche principali di un disco rigido sono:

* la capacità
* il tempo di accesso
* la velocità di trasferimento

La capacità è in genere espressa in gigabyte (GB). I produttori usano i gigabyte metrici, invece delle approssimazioni per potenze di due usate per la memoria. Questo significa che la capacità di un disco rigido è in realtà un poco più piccola di quella di un modulo di memoria con la stessa capacità, e lo scarto aumenta all’aumentare delle dimensioni. Quando la capacità è espressa in GB, il fattore di correzione è di (1000/1024)3, pari a circa 0,93, per cui un disco rigido da 320 GB ha una capacità effettiva di circa 298 GiB. Attualmente (novembre 2008) i dischi rigidi si trovano in vendita con capacità comprese tra 160 GB e 1,5 TB. La capacità può essere aumentata incrementando la densità con cui le informazioni vengono memorizzate sui dischi, oppure usando dischi più grandi o impiegandone un numero maggiore. La rincorsa a unità sempre più capienti non conosce soste, il primato lo detiene il modello Deskstar 7K1000 di Hitachi presentato il 5 gennaio 2007, 1 terabyte su 5 piatti, con una densità di 23 miliardi di bit per centimetro quadro, parallelamente scende anche il costo per GB, il prezzo annunciato di questa unità è inferiore a 400$.

Il tempo di accesso è la variabile più importante nel determinare le prestazioni di un disco rigido, conoscendo il modello, facilmente si può risalire ai dati tecnici dell’unità, compreso il tempo di accesso, purtroppo molti produttori di computer non menzionano questo dato, e a volte nemmeno la marca nè il modello. Si tratta del tempo medio necessario perchè un dato, residente in un punto casuale del disco, possa essere reperito. Il tempo impiegato dipende dalla velocità della testina a spostarsi sulla traccia dove risiede il dato e dalla velocità di rotazione del disco; maggiore è la velocità e più breve è il tempo impiegato dal dato a ripassare sotto la testina nel caso questa non fosse arrivata in tempo sul dato, durante la rotazione precedente (latenza rotazionale). I produttori cercano perciò di realizzare testine sempre più leggere (che possono spostarsi più in fretta perchè dotate di minore inerzia) e dischi che girano più velocemente. Il tempo di accesso tipico per un disco rigido di media qualità è attorno ai 10 millisecondi. Per uno ad alte prestazioni (15.000 giri) è di 3 o 4 millisecondi.

La velocità di trasferimento è la quantità di dati che il computer è teoricamente in grado di leggere o scrivere sul disco in un determinato tempo (in genere si prende 1 secondo come riferimento). Usare dischi che ruotino più velocemente o incrementare la densità di memorizzazione porta ad un miglioramento diretto della velocità di trasferimento. C’è da dire che, a parte casi particolari, la velocità di trasferimento teorica viene raramente raggiunta e il tempo di accesso è quello che maggiormente influenza le prestazioni di un disco rigido.

Oltre alle tre viste sopra, altre caratteristiche influenzano in misura minore le prestazioni di un disco rigido. Tra queste:

* il buffer di memoria
* la velocità dell’interfaccia

Il buffer è una piccola memoria cache (in genere di alcuni megabyte) posta a bordo del disco rigido, che ha il compito di memorizzare gli ultimi dati letti o scritti dal disco. Nel caso in cui un programma legga ripetutamente le stesse informazioni, queste possono essere reperite nel buffer invece che sul disco. Essendo il buffer un componente elettronico e non meccanico, la velocità di trasferimento è molto maggiore, nel tempo, la capacità di questa memoria è andata sempre aumentando, attualmente 32 MB sono una dimensione abbastanza usuale.

L’ interfaccia di collegamento tra il disco rigido e la scheda madre (o, più specificatamente, il controller) può influenzare le prestazioni perchè specifica la velocità massima alla quale le informazioni possono essere trasferite da o per il disco. Le moderne interfacce tipo ATA133, Serial ATA o SCSI possono trasferire centinaia di megabyte per secondo, molto più di quanto qualunque singolo disco fisso possa fare, e quindi l’interfaccia non è in genere un fattore limitante. Il discorso può cambiare nell’utilizzo di più dischi in configurazione RAID, nel qual caso è importante utilizzare l’interfaccia più veloce possibile, come per esempio la Fibre Channel da 2 Gb/s.

Il tempo di accesso a disco è influenzato da quattro fattori:

* Controller Overhead (overhead del controllore): è il tempo necessario alla gestione dei dati e l’invio dell’opportuno interrupt; è il tempo in assoluto minore;
* Seek time (tempo di ricerca): è il tempo necessario a spostare la testina sulla traccia; è il fattore più critico poichè si tratta di un movimento meccanico e non di un impulso elettrico; questo fa sì che non si possa scendere al di sotto di qualche decina di millisecondo;
* Assessment time (tempo di assestamento): è il tempo necessario all’assestamento della testina sulla traccia dopo lo spostamento; spesso viene inglobato nel ’Seek time;
* Latency time (tempo di latenza): (anche rotational latency) è il tempo necessario perchè, a causa della rotazione del disco, l’inizio del settore desiderato arrivi a trovarsi sotto la testina; ovviamente dipende dalla velocità di rotazione; per esempio con una velocità (tipica) di 5400 giri/min. il tempo di latenza massimo è di circa 11 millisecondi;
* Transfer time (tempo di trasferimento): è il tempo necessario al settore per passare sotto la testina, tempo durante il quale il settore viene letto o scritto.

Tempo di accesso: ControllerOverhead + SeekTime + Latency + TransferTime

La memorizzazione dell’informazione sulla superficie del supporto ferromagnetico consiste sostanzialmente nel trasferimento di un determinato verso alla magnetizzazione di un certo numero di domini di Weiss. Il numero di domini di Weiss che costituiscono un singolo Bit (informatica) 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 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 (trattasi di una fluttuazione) e perdere in questo modo l’informazione contenuta.

La lettura dell’informazione magnetica in passato veniva affidata a testine induttive, avvolgimenti di rame miniaturizzati in grado di rilevare la variazione del flusso del campo magnetico statico al transitare della testina tra un bit ed il successivo, secondo il principio di induzione magnetica. 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.

I dati 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 acronimo per il 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, di cui ogni superficie, detta "piatto" e identificata da un numero univoco, è destinata alla memorizzazione dei dati.
Traccia: ogni piatto si compone di numerosi anelli concentrici numerati, detti tracce ciascuna identificata da un numero univoco.
Cilindro: l’insieme di tracce alla stessa distanza dal centro presenti su tutti i dischi è detto cilindro. Corrisponde a tutte le tracce aventi il medesimo numero, ma diverso piatto.
Settore: ogni piatto è suddiviso in settori circolari, ovvero in "spicchi" radiali uguali ciascuno identificato da un numero univoco.
Blocco: L’insieme di settori posti nella stessa posizione in tutti i piatti.
Testina: Su ogni piatto è presente una testina per accedere in scrittura o in lettura ai dati memorizzati sul piatto; 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.

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 di 4096 byte per traccia, 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 seekers 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 azione 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.

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):
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 è permettere la corretta interpretazione delle informazioni, cioè dei dati.

fonte wikipedia

Recupero dati