| |
Questa pagina affronta alcuni argomenti tecnici che
riguardano gli hard disk e il salvataggio dei dati su supporti magnetici
in generale. Elenco
argomenti trattati:
Come é fatto dentro un hard disk?
Ecco un disco aperto!
Qui sopra é rappresentato un disco IDE dell'ultima generazione,
privo del coperchio protettivo (per i più curiosi si tratta di un
Maxtor DiamondMax da 3.5", 5400 rpm e SMART). Anche i dischi
SCSI sono costruttivamente simili e si possono riportare a questa
immagine.Le parti principali sono contenute in uno châssis, tipicamente
di lega leggera pressofusa, chiuso da un coperchio a tenuta stagna,
dotato di guarnizioni e di molte viti di fissaggio. All'interno:
- i dischi: nel modello in figura sono quattro, ma
possono essere da 2 in su
- il motore principale (non visibile, perché sul
lato opposto), che porta in rotazione i dischi
- le testine, poste all'estremo di un braccio porta
testina: sono una coppia per ogni disco ed agiscono sulle due
facce
- il motore di movimentazione, che fa compiere un
movimento lungo un arco di cerchio ai bracci porta testine
- il circuito elettronico di gestione interna dei
segnali da e per le testine, attualmente costituito da un solo
chip dedicato
- il cablaggio interno: in questo caso costituito
da un circuito stampato flessibile
- il connettore IDE a 40 poli, standard (oppure SCSI
standard a 50 o wide a 68 poli)
- il connettore di alimentazione a 4 poli, standard
- i jumpers di configurazione master/slave e per
le varie opzioni previste dal Costruttore
- il circuito stampato del controller (non visibile,
perché sul lato opposto)
Come si può vedere, le parti costruttive del disco
sono ridottissime e il funzionamento é assicurato dall'elevatissima
tecnologia dei materiali impiegati e dall'esperienza che si é sviluppata
in questi anni e che ha portato ai risultati attuali. In breve tempo
si é passati dagli ormai preistorici 10 MB grandi come una scatola
da scarpe, con tempi di accesso di molte decine di millisecondi
ai 36 GB nel formato 3.5" con tempi di accesso inferiori ai
9ms. Ad es., Maxtor, in una sua pubblicità, rileva come 5 anni le
sue linee produttive fossero in grado di sfornare un disco da 2
GB ogni 9 secondi ed oggi siano passate ad un disco da 20 GB ogni
2 secondi. Per questo i Costruttori assicurano periodi di garanzia
di 2 o più anni, fino a 5 o 6 o piú per gli SCSI. Comunque si deve
rilevare che la mortalità dei dischi, soprattutto nella fase iniziale
di lavoro (mortalità infantile) é ancora ben presente, anche se
molto ridotta in rapporto al passato e il concetto di backup va
tenuto ben presente, se si desidera lavorare in sicurezza.
Anche particolari a prima vista non evidenti sono dipendenti da
una tecnologia molto sofisticata. Ad es.., all'interno dello châssis
viene introdotta un' atmosfera controllata e tutto l'assemblaggio
delle parti é effettuato in camere prive di polvere, dette camere
bianche, dove la percentuale di pulviscolo deve essere inferiore
a poche parti per milione (contro i molti milioni dell'ambiente
comune! ). Questa atmosfera controllata é un fattore indispensabile
per il funzionamento del disco in quanto le microscopiche testine
sorvolano ad elevatissime velocità le delicate superfici dei piatti,
senza toccarle, a pochi milionesimi di millimetro, grazie ad effetti
aerodinamici e la presenza del più piccolo granello di impurità
sarebbe dannoso come per un auto in corsa il trovarsi davanti un
macigno. Pertanto l'apertura del coperchio protettivo, in ambiente
normale, magari per dare un' occhiata all'interno, provoca la morte
immediata del disco ( ed il decadere della Garanzia!).
TORNA SU
I motori
Il drive contiene due motori: uno serve a portare in rotazione i
piatti, l'altro a muovere le testine.
Si tratta di motori di alta precisone, controllati elettronicamente
da speciali circuiti integrati.
I dischi richiedono una alimentazione a +5V per i circuiti logici
e +12V per i motori. Un connettore standard (tipo AMP ) é stato
scelto in comune per tutte le unitá magnetiche, sia HDD che CDROM
o simili nel formato 51/4". Il consumo dei dischi delle ultime
generazioni é molto contenuto e la maggior parte dell'energia é
impiegata proprio dai motori. La corrente massima é assorbita durante
l'avviamento del disco per portare in rotazione i piatti (spin-up),
dopo di che ci saranno impulsi di corrente durante la movimentazione
delle testine. Il consumo minimo si ha durante lo stato di sleep
o stand by, in cui vengono fermati i motori e la parte di controllo
si dispone in condizioni di minimo consumo. La tabella seguente
riporta alcuni valori per un confronto:
| spin-up |
operativo |
sleep |
| 10/20W |
5/6W |
0.5/1W |
Quindi, nei moderni drive, il problema del consumo
elettrico é relativamente poco importante, mentre lo é quello del
raffreddamento, in quanto una certa parte dell'energia assorbita
viene dissipata in calore che deve essere efficacemente eliminato,
pena un accorciamento della vita del disco. Nonostante l'impiego
di materiali ad elevatissima tecnologia, la necessita di rispettare
le tolleranze micrometriche ed il lavoro interno delle parti, necessari
al raggiungimento di prestazioni sempre più elevate, rendono il
calore un nemico notevole. Fino a poco tempo fa era comune all'elettronica
di controllo l'effettuare una ricalibrazione termica, necessaria
per mantenere il corretto allineamento tra le testine e i piatti,
seguendo le deformazioni dovute al calore; questa ricalibrazione
richiede un momentaneo arresto nel trasferimento dei dati, mentre
il controller provvede all'operazione. Ne consegue che, per molti
processi in cui il costante flusso di dati é vitale (masterizzazione,
audio, video digitale) la ricalibrazione, se protratta oltre un
certo tempo, costituisce un danno notevole all'integritá del processo
stesso.
Nei dischi piú recenti questo re allineamento viene effettuato al
volo (on fly) durante il funzionamentoe ordinario e non si verifica
piú il problema della perdita di sincronismo tra i processi ed il
flusso dei dati.
Attualmente la dimensione standard é 3.5" di larghezza e 1/2"
di spessore ed in questo formato sono disponibili dischi IDE fino
a 26 GB e dischi SCSI fino a 36 GB, mentre per questi ultimi, con
formati meccanici maggiori, le capacita possono salire a molte decine
di GB.
TORNA SU
Vediamo in dettaglio alcune parti:
Il circuito stampato del controller
Una scheda contiene tutte le parti che costituiscono il controller
del disco. In generale é costituita da un circuito stampato incassato
nel corpo del disco e contenente un microprocessore, diversi circuiti
ausiliari, della memoria, sia per uso interno sia con funzioni di
cache. Il circuito svolge le seguenti funzioni:
- Controllo del motore di rotazione dei piatti
- Controllo del movimento dell'attuatore delle testine
- Gestione dell'interfaccia con l'esterno (IDE o
altro)
- Gestione delle funzioni di risparmio energetico
(se presenti).
- Gestione delle funzioni di correzione degli errori,
controllo del flusso dei dati, SMART (se implementato)
Ogni costruttore risolve il problema con un differente
circuito e spesso lo stesso costruttore impiega diverse soluzioni,
mentre resta standardizzato il sistema di interfacciamento con il
resto del PC.I pratica esistono diversi standard per l'interfaccia;
i principali sono:
- ST506
- ESDI
- SCSI
- AT-Bus, da cui poi si sono derivati
- IDE/EIDE/ATA
É importante considerare che esiste una fondamentale
differenza tra interfaccia e sistema di controllo del disco.
I dischi con le vecchie interfacce ST506 o ESDI avevano il controller
situato sulla scheda che veniva inserita nel bus della mainboard,
mentre l'elettronica situata sul disco vero e proprio aveva funzioni
limitate alla scrittura ed alla lettura dei dati, a seguito dei
comandi trasmessi dal controller.
Nei dischi piú recenti, ovvero quelli detti AT-Bus, sviluppatisi
poi come IDE/EIDE/ATA, invece, tutta la logica di controllo é situata
sul disco ed il sistema mette a disposizione solo un canale di comunicazione
costituito dalle porte IDE di interfaccia.L'immagine seguente é
relativa ad un vecchio modello con interfaccia ST-506, ma esemplifica
sufficientemente quanto detto.
Il microprocessore di controllo del disco é, ovviamente dotato di
un proprio firmware (un software di gestione interno al circuito,
a volte su su EPROM o su ROM, piú raramente in Flash), di una propria
Ram, di uno o piú clock e di circuiti di I/O opportuni.
Spesso é disponibile anche una certa quantitá di cache che costituisce
un buffer per trattare in modo piú fluido il flusso dei dati da
e verso il disco, di solito da 128, 256 o 512kB. In genere, la scrittura
e lettura dei dati sui dischi é molto piú veloce del trasferimento
dei dati stessi attraverso l'interfaccia; la cache costituisce quindi
un valido serbatoio per il parcheggio momentaneo dei dati. L'uso
della cache puó ridurre di molto il tempo di accesso ai dati. (Attenzione
a non confondere la piccola cache sul circuito di controllo del
disco con la cache che il sistema operativo puó formare per la gestione
dei dati dell'hard disk e che é ricavata nella memoria principale
del sistema ). Piú avanti altre informazioni sull'argomento. Il
circuito stampato é stato rimosso dalla carcassa del disco e ruotato
di 90 gradi verso sinistra.
Si puó notare la EPROM contenente il firmware di gestione del disco,
accanto alla CPU (un processore Hitachi serie 63xx).
I motori sono controllati da opportuni drive di potenza che forniscono
i segnali necessari al corretto funzionamento, sotto controllo della
CPU; un fascio di cavi collega i motori al circuito stampato. Nella
foto é visibile collegato solo il motore di rotazione (spin); il
cavo del motore di movimentazione delle testine era troppo corto
per poter essere collegato al suo connettore con il circuito ruotato.
Notare la sagomatura del circuito stampato, necessaria per farlo
rientrare nelle misure tipiche di ingombro del disco.Data la complessitá
del controller, anche la faccia opposta del circuito stampato é
gremita di componenti. La foto riporta il circuito riposizionato
sul disco, come é normalmente. Si notano una discreta quantitá di
piccoli componenti surface mount (a montaggio superficiale) e, nell'angolo
in basso a sinistra, il motore delle testine, che, sporgendo come
spessore, ha costretto il progettista a sagomare il circuito stampato
tutto attorno; la forma non rettilinea del bordo in alcuni punti
é dovuta alla necessitá di lasciare spazio alla struttura di supporto
della carcassa (non inserita nella foto per maggior chiarezza).
Il
connettore dell'interfaccia é del vecchio tipo ST-506, che richiede
due cavi verso la scheda di controllo posta su uno slot del PC;
i contatti sono placcati in oro per migliorare la qualitá della
connessione elettrica.Poiché il controllo é effettuato da un microprocessore
é, ovviamente, necessario un proprio firmware (un software di gestione
interno al circuito, a volte su su EPROM o su ROM, piú raramente
in Flash), di una propria Ram, di uno o piú clock e di circuiti
di I/O opportuni. Spesso é disponibile anche una certa quantitá
di cache che costituisce un buffer per trattare in modo piú fluido
il flusso dei dati da e verso il disco, di solito da 128, 256 o
512kB. In genere, la scrittura e lettura dei dati sui dischi é molto
piú veloce del trasferimento dei dati stessi attraverso l'interfaccia;
la cache costituisce quindi un valido serbatoio per il parcheggio
momentaneo dei dati. L'uso della cache puó ridurre di molto il tempo
di accesso ai dati. (Attenzione a non confondere la piccola cache
sul circuito di controllo del disco con la cache che il sistema
operativo puó formare per la gestione dei dati dell'hard disk e
che é ricavata nella memoria principale del sistema ). Piú avanti
altre informazioni sull'argomento.
TORNA SU
Interfaccia
L'interfaccia é quella parte di circuito, hardware e software, che
consente il collegamento del disco all'unitá centrale. Ne sono stati
implementati diversi tipi, alcuni dei quali, con il tempo, sono diventati
degli standard.
Senza entrare qui in maggiori dettagli, storicamente gli standard
piú importanti sono stati:
- ST-506. Ormai obsoleto, era l'interfaccia
dei primi PC. Il controller vero e proprio era una scheda inserita
sul bus del PC e collegata al disco con due cavi piatti di differente
larghezza. Il limite fisico é di due unitá per controller.
- XTbus e ATbus. Nei primi PC XT e AT era
una struttura innovativa in cui la scheda sul bus costituiva solo
una porta ed il controller vero e proprio era concentrato sul
disco. Si é sviluppata subito nello standard IDE.
- IDE e derivati. Il controller é installato
sul disco e l'interfaccia é ridotta ad una porta, di solito integrata
nella scheda madre. Il collegamento avviene con un solo cavo a
40 poli. Il limite fisico é di due unitá per porta (Master
e Slave).
- SCSI. Il collegamento con il PC avviene
attraverso un controller specifico, che consente una discussione
a macro comandi, tipo bus, sul cavo di collegamento che consente
di avere fino a 7 unitá in parallelo. Il cavo, singolo, puó essere
a 50 poli, per il tipo di colloquio a 8 bit o 68 poli per quello
a 16bit (SCSI Wide). Piú controller possono convivere sullo stesso
sitema, aumentando il numero di unitá installabili.
TORNA SU
Firmware
Da quanto detto prima, é ormai un dato di fatto la presenza di uno
o anche piú processori sulle schede elettroniche montate nei dischi
rigidi. Ovviamente, se é presente un processore, ci sará anche un
chip contenete il software per il funzionamento del complesso. Questo
prende il nome di firmware.
Sostanzialmente si tratta di un mini sistema operativo che contiene
le routines di controllo dell'hardware, le procedure di codifica
ed il controllo dell'interfaccia verso il sistema principale.
Si é accennato a piú processori in quanto alcune funzioni,
ad esempio l'interfaccia, sono demandate ad un processore, mentre
le complesse operazioni di scrittura e lettura sono svolte da un'altra
unitá. Anche i motori sono controllati da integrati dotati di una
elevata "intelligena" ed autonomia.
Il firmware puó essere contenuto nei processori, che hanno un'area
interna programmabile come PROM o EPROM, oppure in un chip esterno
anche riprogrammabile (EEPROM, FLASH). Non si pensi, peró, con questo
alla possibilitá di upgrade dei "BIOS" dei dischi; diverse
motivazioni, tra le quali la struttura dell'hardware ed anche la
necessitá di tutelare la sicurezza del contenuto dal reverse engeneering
fanno si che questa possibilitá non sia una delle offerte dei costruttori
di dischi.
Per inciso, si sono verificati casi di conflitto tra i firmware
di dischi e quelli dei BIOS delle schede madri; in questi casi,
data l'impossibilità di cambiare il firmware sui dischi, la soluzione
é nell'upgrade dei BIOS delle mainboard. Se questo non é possibile,
non resta purtroppo altro da fare che sostituire uno dei due componenti.
Altri problemi del firmware possono riguardare l'incompatibilitá
di un drive con un altro di marca diversa oppure problemi con le
gestioni DMA (Bus Mastering).
TORNA SU
Il circuito elettronico di
gestione interna dei segnali da e per le testine.
Le tracce i magnetiche sui dischi hanno dimensioni molto ridotte e
devono essere lette o scritte in tempi brevissimi per ottenere delle
prestazioni elevate. L'operazione di controllare il flusso della corrente
nelle testine é realizzato, nei moderni hard disk, con circuiti speciali
dedicati a questo scopo, solitamente posti all'interno del disco,
quanto piú vicino possibile alle testine.
Questo é reso necessario dalla necessitá di ridurre al minimo la lunghezza
dei conduttori che portano i segnali da e per le testine stesse.
Questo integrato si trova posizionato su un circuito stampato flessibile
che costituisce anche il collegamento tra il braccio porta testine
ed il connettore che porta i segnali al circuito stampato principale. Nell'immagine
si puó vedere chiaramente il grosso chip di controllo delle testine
montato sul circuito stampato flessibile, che é stato estratto dall'interno
della cassa dell'hard disk. Sul circuito flessibile si notano anche
altri componenti necessari al funzionamento, ovvero resistenze e condensatori
a montaggio superficiale (i rettangolini scuri con le estremitá metalliche).All'estremitá
sinistra c'é il connettore per il collegamento con il circuito stampato
del controller.
Sul lato destro si vede il braccio porta testine con tre gruppi di
2 testine (3 dischi).Le informazioni digitali sono costituite da sequenze
di 1 e 0 che i circuiti elettronici trasformano in livelli di tensione
(1 = livello alto, 0 = livello basso). Sul supporto magnetico le informazioni
sono immagazzinate come impulsi magnetici.
Il circuito delle testine ha, dunque, lo scopo di convertire i livelli
logici in livelli magnetici e viceversa.
Le informazioni magnetiche consistono in piccolissime aree della superficie
del disco in cui viene conservato un campo magnetico. Possiamo pensare
a piccolissime calamite, larghe qualche decina di milionesimi di millimetro.
Pensate ad una calamita normale: essa ha due poli, detti nord e sud
e l'energia magnetica (il campo magnetico ) scorre tra i due poli;
le informazioni magnetiche sono dunque delle piccolissime calamite.
Come fanno a rimanere sul disco? Per la capacita di alcuni materiali
di conservare una parte del campo magnetico che gli é stato applicato.
Provate a prendere con una calamita un podi spilli o chiodi: molti
di essi, una volta tolta la calamita, resteranno magnetizzati e potranno
a loro volta sollevare altri spilli o chiodi. Penaste ora di sostituire
la calamita con una elettrocalamita (la testina) ed avrete il principio
su cui si basa la scrittura magnetica del disco (e del floppy, nastri,
le casette del mangianastri, ecc.).
Ed é appunto pensando alle cassette audio che possiamo avere una visone
completa di un procedimento di scrittura/lettura magnetica, analogo
a quello del disco rigido. Il paragone é adeguato, in prima istanza;
basta cambiare alcune espressioni come nella tabella che segue:
| Registratore
audio (incisione) |
Disco magnetico
(scrittura) |
| La voce (vibrazione dell'aria) viene trasformata
in segnale elettrico attraverso il microfono |
Il software trasforma i dati in segnali
logici binari |
| il circuito di registrazione elabora il
segnale e lo invia alla testina |
il circuito di controllo del disco elabora
il segnale e lo invia al controller delle testine |
| la testina converte il segnale elettrico
in un campo magnetico e lo "incide" sul nastro,
sotto forma di campo magnetico |
la testina converte il segnale elettrico
in un campo magnetico e lo "incide" sul nastro,
sotto forma di campo magnetico |
Una volta "scritto", il materiale magnetico
del nastro (o del disco) conserverà per lungo tempo i campi magnetici
che costituiscono la registrazione; essa potrá essere "letta"
con un procedimento inverso:
| Registratore
audio (lettura) |
Disco magnetico
(lettura) |
| il nastro scorre davanti alla testina e
le variazioni del campo magnetico inciso sono trasformate
in variazioni di livello elettrico |
la superficie del disco ruota davanti
alla testina e le variazioni del campo magnetico inciso
sono trasformate in variazioni di livello elettrico |
| il circuito di lettura elabora il segnale
ricevuto e lo amplifica ad un livello adeguato |
il circuito di lettura elabora il segnale
ricevuto e lo trasforma in segnali digitali |
| l'altoparlante trasforma il segnale elettrico
in suono udibile (come movimento meccanico dell'aria) |
il software consente di estrarre da questi
segnali digitali le informazioni immagazzinate |
Chiaro, no?
In effetti l'esempio é piuttosto ok; per essere precisi, peró, occorre
aggiungere che il nastro audio contiene un campo magnetico "continuo",
variabile come valore a seconda della modulazione del suono che
deve conservare. Sul disco, invece, sono incisi dei piccoli campi
magnetici definiti.Il controllore delle testine é fissato su un
circuito stampato flessibile: si tratta di un particolare tipo di
circuito stampato realizzato con materiali estremamente flessibili
e resistenti ed in grado di essere flesso milioni e milioni di volte
senza deformarsi o rompersi, seguendo il movimento delle testine.
I segnali pre trattati dal circuito di controllo delle testine sono
poi trasferiti al circuito principale dove vengono elaborati.
Esistono diversi metodi per l'impacchettamento, la scrittura e la
lettura dei dati. La tendenza attuale é quella di piazzare un sempre
maggior numero di dati a paritá di superficie magnetica; questo
é ottenuto con il progredire delle tecnologie costruttive e dei
materiali e con un aumento della complessità dei circuiti e dei
sistemi di lettura e scrittura, con l'introduzione di testine particolari,
di processori e tecniche DSP (Digital Signal Processing) assai complesse.
TORNA SU
Codifica del segnale.
Si potrebbe essere portati a pensare che le polarità nord e sud
della calamita possano essere impiegate come 1 e 0 binari; in effetti
la cosa non é cosí semplice perché attraverso le testine é possibile
leggere con semplicità non la polarità del campo, ma la sua variazione,
ad esempio che stia avvenendo una transizione da un campo orientato
nord-sud ad uno orientato sud-nord.
I problemi connessi con il mantenimento di microscopici campi magnetici,
strettamente accostati uno all'altro, con polarità anche opposte,
richiede tecnologie particolarmente complesse in quanto piú piccole
sono le superfici interessate dai campi (piú campi per unitá di
superficie = piú informazioni immagazzinabili sul disco) si scontra
con la necessitá di materiali magnetici di qualitá e purezza eccelse
e con la costruzione di testine estremamente piccole, ma in grado
di generare campi molto intensi (per la magnetizzazione della superficie
in scrittura) e di rilevare con sicurezza le micro variazioni tra
i campi (durante la lettura).
Oltre a questo é richiesta una elevata velocitá di lettura/scrittura
per la sempre maggior richiesta di prestazione; l'aumento del transfer
rate (quantitá di dati trasferiti) si ottiene con una piú rapida
rotazione del disco, in modo da portare sotto le testine una maggior
superficie nell'unitá di tempo.
Questo richiede che i dati non vengano semplicemente buttati li,
ma siano codificati (encoding) secondo sistemi ed algoritmi particolari.
Inoltre le codifiche hanno lo scopo di stipare quanti piú dati possibili
sulla superficie utile.
In questo senso, un esempio di "codifica" che puó rendere
approssimativamente l'idea di una delle finalità di questi sistemi
é la conosciutissima compressione dei dati, perlappunto con "codifiche"
come ZIP, ARJ, ecc.
Di cosa si tratta, in sostanza? Se pensiamo che un insieme organizzato
di dati (file) é composto da un certo numero di bytes, ad es. 100,
scritto su un disco occuperà una certa superficie. Se, con qualche
sistema, posso comprimere queste informazioni in modo che lo steso
contenuto sia disponibile in 50 bytes, avrò la possibilitá di immagazzinare
sulla superficie del disco il doppio di informazioni (e quindi avrò
in un certo senso aumentata la capacita del disco).I metodi di codifica
peró devo occuparsi anche dei problemi fisici della scrittura e
lettura di dati su un supporto rotante ad alta velocitá; il tutto,
ovviamente, mantenendo uno standard di sicurezza ed affidabilità
quanto piú alto possibile. Ad esempio, un problema notevole é quello
di identificare dove termina un campo e ne comincia un successivo
(ricordarsi che stiamo parlando di campi di dimensioni infinitesimali
che ruotano sotto le testine a 5400, 7200 o 10000 giri al minuto!).
Ad esempio, volendo immagazzinare una stringa di 1 logici non potremo
certo depositare un quantitativo equivalente di campi magnetici
della stessa polarità o intensità; sarebbe estremamente difficile
identificare dove termina un campo e comincia il successivo...
Una soluzione possibile é quella di legare la scrittura ad un clock:
ogni informazione é scritta spazialmente e temporalmente in stretto
legame con un segnale di sincronismo che aiuta ad identificarla
durante la lettura, che sará sincronizzata allo stesso clock.
Altri metodi di codifica piú complessi sono stati sviluppati per
poter immagazzinare nel disco una quantitá sempre maggior di dati.
In sostanza, per concludere, le tecnologie hardware si sviluppano
con lo scopo di rendere possibili sempre maggiori densità di campi
magnetici per unitá di superficie, mentre i metodi di codifica cercano
di stipare una maggior quantitá di informazione nei campi, rendendo
nel contempo possibile una scrittura e lettura affidabili.
Nei paragrafi seguenti vediamo alcuni dei metodi di codifica piú
diffusi.Frequency Modulation (MFM)
Uno dei primi sistemi adottati per codificare i segnali digitali
da salvare su un mezzo magnetico é stato quello della modulazione
di frequenza (FM Frequency Modulation). Il concetto é simile a quello
delle emissioni radio FM (Modulazione di Frequenza). In questo metodo
un dato di valore 0 é scritto come due consecutivi campi magnetici
di polarità opposta, mentre un 1 é costituito da due campi
della stessa polarità. Il segnale di scrittura é sincronizzato con
un clock: il primo campo magnetico, corrispondente al primo colpo
del clock, costituisce lo "start" del bit, mentre il successivo
é il valore.
La definizione di modulazione di frequenza deriva dal fatto che
la lettura é "in movimento". Se indichiamo con N il campo
invertito e con P quello non invertito, lo 0 logico é rappresentabile
con NP, mentre l'1 con NN; un byte composto di 8 bit di valore 0
sará NPNPNPNPNPNPNPNP, mentre un byte di 1 sará NNNNNNNNNNNNNNNN
essendo legati ad un clock; si vede come la frequenza della rappresentazione
dell'1 sia doppia di quella dello 0.
Attualmente FM, ampiamente utilizzata nei primi sistemi di memoria
magnetica , non é piú adatta alle soluzioni attuali. Il principale
limite sta nella necessitá di due campi magnetici per definire un
bit.Modified Frequency Modulation (MFM)
MF, con l'apparire dei primi hard disk a piatti rotanti, viene rimpiazzata
da MFM, ovvero modified frequency modulation (Modulazione
di Frequenza Modificata) che riduce il numero dei campi magnetici
necessari a definire un bit, inserendo un campo inverso solo in
presenza di due zeri consecutivi. Cosí facendo si puó arrivare anche
al raddoppio della capacita del disco.
Il metodo MFM é stato impiegato sui primi hard disk (interfaccia
ST-506) ed é ancora oggi il sistema di codifica per i floppy diskRun
Length Limited (RLL)
Giá con le serie di hard disk con interfaccia ST-506 o SCSI di capacita
superiore ai 40MB viene introdotto il metodo RLL (Run Length Limited,
ovvero lunghezza operativa limitata) . In effetti non si tratta
di un metodo singolo, ma di una "famiglia" di metodi di
codifica sofisticati, tesi a superare i limiti imposti dalle semplici
codifiche a modulazione di frequenza.
RLL opera non su bit singoli, ma su gruppi di bit, impiegando sia
clock che campi magnetici diretti e inversi per ottenere pacchetti
di dati di grande compattezza che consentono una scrittura e lettura
piú efficienti e sicure.
RLL ha due parametri principali: run length e run limit, da cui
deriva il nome. Run length é il minimo spazio (tempo/superficie)
tra due campi magnetici inversi, mentre run limit é il massimo consentito.
Il tempo/spazio tra due campi inversi deve essere piuttosto piccolo,
altrimenti la testina di lettura rischia di perdere il sincronismo
con il clock. Contemporaneamente le testine devono diventare sempre
piú piccole per consentire la scrittura precisa dei campi. Un bel
match!
I parametri di RLL sono espressi nella forma "run length, run
limit RLL"; ad esempio un tipo comune puó essere 1,7 RLL.
Le codifiche sofisticate del tipo RLL richiedono controller sempre
piú complessi; le schede elettroniche a bordo dei dischi comprendono
ormai microprocessori, quarzi, memorie, circuiti dedicati.Partial
Response, Maximum Likelihood (PRML)
Disponendo di microprocessori a bordo dei dischi si puó fare molto.
I sistemi di scrittura fino ad ora visti si basano sul rilevamento
"al volo", attraverso la testina, delle variazioni tra
i campi magnetici diretti e inversi, analizzando le variazioni in
rapporto con un clock.
Con l'aumentare della densità dei dati e della velocitá di rotazione
dei piatti si raggiunge un limite al di lá del quale l'analisi delle
variazioni di campo diventa problematica e la possibilitá di errore
si amplifica. Il segnale dalle testine diventa sempre meno netto,
sempre meno digitale e piú che mai analogico, rendendo difficile
ai classici circuiti digitali la definizione delle aree dei campi
magnetici elementari che costituiscono il nocciolo dell'informazione.
I costruttori sono alla continua ricerca di nuove soluzioni, principalmente
basate sull'analisi digitale dei segnali, attraverso speciali processori
detti DSP (Digital Signal Processor) in grado di operare ad alta
velocitá sulle informazioni provenienti dalle testine.
Ad esempio Quantum ha sviluppato un sistema chiamato
Partial Response, Maximum Likelihood (PRML) che impiega complesse
tecniche hardware e software. Non si cerca piú di identificare i
singoli campi, ma, attraverso i DSP ed opportuni algoritmi, si trasformano
blocchi di dati analogici letti dalle testine (partial response)
per determinare la corretta sequenza di bit che ha maggiori probabilitá
di essere quella che ha generato la scrittura di quella specifica
sequenza di campi (maximum likelihood).
Ogni costruttore sviluppa tecnologie ad hoc e lo sviluppo é ancora
in atto.
TORNA SU
Transfer Rate
Il transfer rate o tasso di trasferimento indica la quantitá di
dati che possono essere trsferita da e per il disco. É ovvio che
un disco con un transfer rate alto avrá prestazioni migliori di
uno che esibisce un valore basso.
Il suo valore dipende da molti fattori; aumenta con l'aumentare
della velocitá di rotazione, con il perfezionamento dei metodi di
codifica e correzione degli errori, le modalitá di funzionamento
dell'interfaccia, ecc..
Esistono test specifici per determinare questo fattore, ma vanno
presi con le opportune cautele. Vediamo perché.
É capitato che un test sul disco effettuato con un benchmark commerciale
abbia dato un buon risultato sul disco nuovo e poi, ripetuto dopo
un certo tempo, abbia dato risultati piú scadenti. Come mai?
Il problema sta nel fatto che il trasferimento dei dati dai piatti
non é costante ma dipende dalla posizione delle testine rispetto
al bordo del disco. Le zone periferiche hanno una estensione maggiore
e possono contenere densità maggiori con una velocitá di trasferimento
maggiore di quelle piú interne.
Questo spiega il mistero di cui sopra: il primo test é effettuato
su un disco quasi vuoto e vengono impiegate le tracce esterne, piú
performanti; i test successivi, fatti quando il disco é piú pieno,
spostano l'area del test alle zone interne, meno performanti ()puó
esserci anche un rapporto 1 a 2!).
La soluzione é l'impiego di test che tengano presente questo problema
(ed in generale il prendere i risultati dei test "cum grano
salis"...).
Per inciso, va ricordato che anche la frammentazione dei file é
una causa delle basse prestazioni dei test; prima dei test é opportuno
effettuare una deframmentazione (defrag). Anche nell'uso comune
é opportuno ricordarsi di deframmentare ogni tanto il disco, sia
per migliorare le prestazioni, sia per ridurre le possibilitá di
errore.
TORNA SU
Write Precompensation
Write precompensation é riferito alla necessitá di variare i parametri
della corrente nelle testine durante la scrittura sui dischi. I
vecchi dischi usavano lo stesso numero di settori per traccia ,
indipendentemente dal fatto che si trattasse di tracce esterne o
interne. É evidente che sulle tracce interne, di circonferenza minore,
i settori debbano essere di dimensione minore di quelli sulle tracce
piú esterne, di circonferenza maggiore. In sostanza, la densità
di campi magnetici non é uniforme su tutto il disco. Questo porta
alla necessitá di compensare in qualche modo questa differenza che,
oltre una certa traccia, renderebbe molto difficile la rilettura;
quindi, uno dei parametri presenti nelle tabelle dei vecchi dischi
é il numero di traccia dal quale partire con la compensazione (che
viene gestita dal sistema di controllo proprio del disco).
Questo parametro non é piú necessario per i dischi moderni che utilizzano
diversi sistemi di scrittura e lettura e dotati di controller molto
evoluti.
TORNA SU
Interleaving
Un altro termine che ricorre quando si parla di dischi é la parola
interleaving (visto tradotto in italiano con l'orribile termine
interfogliazione) indica la necessita della presenza di uno "spazio"
vitale tra i settori.
I settori di un disco vengono numerati in una sequenza logica in
modo da poter essere indirizzati senza problemi durante le operazioni
di scrittura e lettura. Peró non é detto che un settore logico 1
sia posto fisicamente prima del settore 2 ; questo dipende
dai sistemi di codifica, di gestione del disco, ecc.. All'atto pratico
un settore logico ed il successivo, se si trovassero contigui, potrebbero
creare problemi nella lettura! Perché questo? perché bisogna ricordare
che il disco gira a grande velocità sotto la testina ed al termine
della lettura di un settore il sistema richiede un certo tempo per
organizzare i dati letti e questo potrebbe essere tale da far sfuggire
il settore successivo e richiedere un nuovo giro del disco per la
lettura. Se, invece, i settori non sono contigui, ad es. la sequenza
é 1 - 3 - 2, letto il settore 1, resta tutto il tempo del passaggio
del settore 3 prima di iniziare la lettura del 2, lasciando cosí
tutto il tempo ai circuiti per poter procedere al recupero dei dati
dal settore 2 senza richiedere un'altro giro del disco.
Ovviamente il caso migliore é un interleave di 1, cioè tutti i settori
logici e fisici sono corrispondenti; ma é possibile solo presupponendo
una capacita di lettura tale da non avere tempi morti alla fine
di un settore (ad es. sfruttando una cache). Altrimenti le prestazioni
sono grandemente ridotte.
Lo standard dei vecchi dischi era tipicamente di 17 settori per
traccia. Con un interleave di 1:1, la sequenza dei settori fisici
e logici corrisponde (ovvero 1-2-3-ecc.). Con un interleave di 2:1
la sequenza tipica di numerazione logica dei settori fisici diventa
1, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8, 17, 9. In questo
caso un settore non consecutivo é inserito nella sequenza e la disposizione
logica é tale per cui, se il controller richiede il tempo di passaggio
di un settore per completare le operazioni sul precedente, le prestazione
su tutta la traccia é la massima possibile.
A seconda di come é costruito il disco solo uno specifico interleave
é in grado di fornire le massime prestazioni e non é detto sia 1:1.
I valori comuni andavano da 1:1 a 5:1. Per questo le utilities di
gestione dei dischi, nella fase di formattazione a basso livello,
prevedevano un test (media analysis) per determinare quale interleave
fosse il piú adatto.
Nei dischi attuali il parametro di interleave non é piú necessario
né accessibile dall'esterno; tutti i controlli ed i parametri di
formattazione del disco sono impostati dal costruttore e non é previsto
che l'utente li manipoli in alcun modo.Il fatto che alcune schede
madri conservino nel BIOS le utilities di gestione a basso livello
del disco o siano disponibili tools con funzioni analoghe non autorizza
ad utilizzarli; ricordare che NON é possibile formattare a basso
livello i dischi IDE se non con tools specifici del costruttore,
ben raramente disponibili agli utenti.
TORNA SU
Gli errori!
Ma un disco sbaglia? Certo, solo che é organizzato in modo che
il sistema non se ne accorga.
Le cause di errore sono molteplici; le tecnologie moderne hanno spinto
all'estremo i materiali e l'altissima densità di scrittura, la non
perfetta uniformità dei materiali magnetici, l'alta velocitá di rotazione
e l'intenso flusso di dati possono dare origine ad errori nella lettura.
Disturbi elettromagnetici, correnti indotte, problemi termici sono
altre cause di errore.Siccome un errore sui dati salvati sul disco
sarebbe inaccettabile , tutti i costruttori si sono impegnati
a mettere in atto tutte le possibili soluzioni per prevenire questo
problema. Ovviamente non stiamo parlando di errori dovuti a crash
del motore o delle testine o a danni all'elettronica di controllo:
questi mettono fuori uso il disco in parte o totalmente e per la loro
prevenzione sono stati implementati opportuni meccanismi (SMART).Il
sistema base per la rivelazione degli errori e la correzione in modo
trasparente é ECC (Error Correcting Code). Simile a quello
implementato nelle memorie RAM, con funzioni analoghe, consiste in
algoritmi, ad es. il Reed-Solomon, che permettono
all'elettronica di controllo di correggere situazioni di errore dovute
alla lettura errata di uno o piú bit. Solitamente gli algoritmi si
basano sulla ridondanza delle informazioni e prevedono sofisticate
routines software. Un settore contiene tipicamente 512 bytes ovvero
4,096 bit; a questi vengono aggiunti altri bit dedicati all'ECC. La
quantitá dipende dall'algoritmo usato e dalla progettazione del sistema;
si deve mediare tra la sicurezza della correzione e la riduzione dello
spazio e delle prestazioni. Quando viene scritto un settore, viene
scritto anche il relativo numero di bit di ECC; quando il settore
viene riletto, l'algoritmo combina dati ed ECC e, verificato un errore,
lo corregge nei limiti imposti dal progettista. Questa operazione,
come detto, é del tutto trasparente per l'utente, anche se in alcuni
dischi delle famiglie piú recenti, i dati di intervento della correzione
sono monitorati dal circuito di controllo sia per attivare meccanismi
di backup interno (sostituzione di settori difettosi con altri di
riserva) sia per segnalare il possibile futuro guasto grave del disco
(SMART).
Se i sistemi di correzione dell'errore non sono in grado di intervenire
compiutamente, allora il guasto é riportato all'utente.
Una possibile sequenza degli interventi é:
- Rivelazione dell'errore: ai dati letti nel
settore é applicata la procedura ECC e, se non sono verificati
errori, i dati sono inviati all'interfaccia per essere messi a
disposizione del sistema.
- Correzione dell'errore: l'algoritmo ECC
corregge l'errore in lettura utilizzando le informazioni ridondanti.
Un errore corretto a questo livello non é considerato realmente
un errore.
- Ripetizione della lettura: se il sistema
ECC non é stato in grado di correggere l'errore perché troppo
esteso per le sue possibilitá, il passo successivo é un nuovo
tentativo di lettura del settore. Questo puó essere fatto automaticamente
dal circuito di controllo del disco. Spesso un errore é causato
da un problema del campo magnetico o da altre cause non ripetitive
e la rilettura della zona magnetica permette la correzione dell'errore.
In questo caso si parla di dati "recovered"o di errore
corretto dopo un nuovo tentativo.
- Procedure avanzate di correzione dell'errore:
molti costruttori implementano procedure di correzioni che coinvolgono
algoritmi piú sofisticati e, di solito, in grado di correggere
l'errore. Perché, allora, non utilizzarli direttamente? Perché
la complessità della procedura porterebbe ad un rallentamento
del trasferimento dei dati che é accettabile per un errore
saltuario, ma penalizzerebbe le prestazioni nel funzionamento
corrente. A volte le procedure coinvolgono anche l'hardware, sostituendo,
ad esempio, i settori danneggiati con altri tenuti come riserva.
- Errore non correggibile: se nessuna delle
procedure precedenti é in grado di correggere l'errore il driver
segnalerà il guasto al sistema.
Mappa dei settori difettosi
La struttura dei vecchi hard disk in cui la corrispondenza tra parametri
fisici e logici era molto stretta e che non disponevano delle sofisticate
tecnologie attuali, uno degli elementi tipici era la presenza di
una lista di settori difettosi. Il costruttore usualmente forniva
il disco con un foglio di collaudo comprendente la lista dei settori
trovati difettosi al test, ovvero delle aree dei piatti in cui difetti
di metallizzazione rendevano insicura la scrittura dei dati; l'utente
avrebbe poi inseriti questi paramentri nelle oportune tabelle durante
la formattazione a basso livello del'unitá, per permettere al sistema
di escludere le aree difettose dall'assegnazione degli indirizzi
logici.
Allo stato attuale, anche questa funzione non fa parte delle necessitá
di moderni hard disk che sono strutturati in modo differente, con
assegnazioni logiche delle superfici fisiche stabilite durante il
processo produttivo e non accessibili o modificabili dall'utente.
TORNA SU
|