Hard Disk
Hard disk, in italiano disco rigido, é un dispositivo elettronico e meccanico per la
conservazione dei dati nei computers; altri dispositivi con funzioni analoghe, detti
"memorie di massa", sono i floppy disk, i CD-ROM, i nastri, i rimovibili, come ZIP,
JAZ e LS-120, i dispositivi magneto-ottici, ecc… Essenzialmente il disco rigido é
un dispositivo che conserva i dati sotto forma magnetica, su un supporto rotante
a forma di piatto, su cui agiscono delle testine (una idea iniziale del processo si
puó avere pensando alla registrazione/riproduzione delle normali cassette audio).
Il disco rigido si differenzia da altri dispositivi di memoria di massa per vari
elementi ( elevata velocitá di trasferimento dei dati, ridotto tempo di accesso,
grande quantitá dei dati immagazzinati, buon rapporto tra costo e prestazione)
che ne hanno fatto la principale ed indispensabile unitá di memoria presente su
tutti Con il passare degli anni, l' hard disk é uno dei dispositivi che é stato
soggetto ad uno spettacolare progresso, passando da pochi megabytes di
capacita (il primo Hd per PC era da 10MB!) a molti gigabytes, con una
contemporanea riduzione delle dimensioni fisiche e del costo (da 100 a 0. 1$ per
megabyte nell'arco di 15 anni circa), a cui si é accompagnato un costante
miglioramento delle prestazioni. Pochi altri componenti hanno avuto un cosí
grande sviluppo tecnologico. Il disco rigido é una parte importante del PC perché
svolge alcune funzioni indispensabili:

Conservazione della struttura del sistema operativo. La complessità degli
attuali sistemi operativi non consente piú un caricamento da dischetto,
come poteva essere pensabile per il vecchio DOS, ma richiedono un'
ampia base per i dati e le impostazioni, oltre alla necessitá di spazio per
le funzioni accessorie. Il disco rigido, all' avviamento del PC, rende
immediatamente disponibili questi elementi, con le impostazioni stabilite
dall' Utente per il corretto governo dell' hardware

Conservazione delle applicazioni software. Anche in questo caso, date le
dimensioni assunte dalle applicazioni attuali e la necessitá di accedere in
modo veloce e sicuro alle varie componenti, si rende indispensabile l' uso
del disco rigido come supporto su cui installare le parti fondamentali delle
applicazioni stesse, lasciando magari su supporti piú lenti, come i CDROM, le masse di dati da prelevare solo quando necessario.

Conservazione dei dati dell'Utente. Il lavoro svolto da chi usa il PC (testi,
disegni, immagini, ecc. ) trova la sua naturale collocazione sul disco
rigido, dove il sistema operativo e gli applicativi sono in grado di salvare e
recuperare questi dati con estrema facilita e prontezza
In sostanza, gli elementi principali di uso del disco rigido sono:

Tipo di interfaccia con il sistema: i dischi rigidi sono stati realizzati con
diverse tecnologie di interfaccia verso il sistema, tra cui, attualmente, le
principali sono IDE (EIDE o ATA) e SCSI. La tra le diverse tecnologie
dipende da diversi fattori.

Capacita: misurata in megabytes (1MB=1. 048. 576 bytes) o in gigabytes
(1GB=1. 073. 741. 824 bytes). Ovviamente, maggiore é la capacita,
maggiore Sara' il quantitativo di dati e di programmi immagazzinabile.

Prestazioni: le prestazioni dipendono dalla velocitá e dall' efficienza con
cui il disco riesce a trasferire i dati tra il supporto magnetico ed l' unitá
centrale. Ovviamente, un disco rigido veloce, richiedendo una tecnologia
costruttiva piú raffinata, avrà un costo superiore.
L’HardDisk al suo interno
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 troviamo:

i dischi che possono essere da 2 in su

il motore principale 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 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
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 10MB grandi come una scatola da scarpe, con
tempi di accesso di molte decine di millisecondi ai 6. 4GB 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
200MB ogni 9 secondi ed oggi siano passate ad un disco da 2000MB 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 !).
I Motori
Il drive contiene due motori: uno serve a portare in rotazione i piatti, l'altro a
muovere
le
testine.
elettronicamente
da
Si
tratta
speciali
di
circuiti
motori
di
integrati.
alta
I
precisone,
dischi
controllati
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 6. 4GB e dischi SCSI fino a
9GB, mentre per questi ultimi, con formati meccanici maggiori, le capacita
possono salire a molti GB.
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.
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 ).
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 ).
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.

SCA. Una variazione di SCSI in cui i segnali di interfaccia e l'
alimentazione sono condotti su uno stesso cavo. Questo é stato pensato
per poter rendere facilmente rimovibili i dischi in sistemi tipo RAID.
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).
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.
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)
La voce (vibrazione dell'aria) viene
trasformata in segnale elettrico
Disco magnetico (scrittura)
Il software trasforma i dati in segnali
logici binari
attraverso il microfono
il circuito di registrazione elabora il
il circuito di controllo del disco elabora il
segnale e lo invia al controller delle
segnale e lo invia alla testina
testine
la testina converte il segnale elettrico in la testina converte il segnale elettrico in
un campo magnetico e lo "incide" sul
un campo magnetico e lo "incide" sul
nastro, sotto forma di campo magnetico 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
la superficie del disco ruota davanti alla
variazioni del campo magnetico inciso
testina e le variazioni del campo
sono trasformate in variazioni di livello
magnetico inciso sono trasformate in
elettrico
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
il software consente di estrarre da questi
elettrico in suono udibile (come
segnali digitali le informazioni
movimento meccanico dell' aria)
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.
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 disk
Run 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.
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.
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.
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.
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.
I parametri dei dischi
Geometria del disco e struttura a basso livello
Ogni piatto di un moderno disco é in grado di contenere miliardi di informazioni
ed ogni anno le possibilitá di immagazzinamento si moltiplicano. All' apparire del
primo PC, un hard disk da 10MB era una delle soluzioni tecnologiche di
avanguardia; attualmente un disco IDE da 1000MB non é neppure piú in
produzione ! Il problema che si pone, a seguito dell'avanzare rapido delle
tecnologie, é quello di un anon concomitante evoluzione del software, dipendente
anche dalla maledetta necessitá della compatibilitá con quanto giá installato.
Anche per i dischi si sono verificati problemi di transizione: mentre le capacitá
fisiche aumentavano rapidamente, le capacitá logiche dei sistemi operativi
progredivano piú lentamente. Si é verificata, quindi, la necessitá di definire come
utilizzare lo spazio sul disco in modo da consentire lo sfruttamento migliore e
completo delle disponibilitá fisiche da parte delle strutture logiche che governano
la lettura e la scrittura delle informazioni.
I dischi sono costituiti, come dice il nome, da uno o piú piatti rotanti, che sono
scritti e letti da testine magnetiche. I dati principali del disco saranno quindi il
numero delle testine (heads), dei cilindri (cylinders) e dei settori (sectors) in cui
sono suddivise le superfici dei dischi. Questo era corrispondente con la realtà
fisica solo per le unitá piú vecchie in cui l'indicazione di 6 testine corrispondeva,
ad es. , alla presenza reale di queste.
In passato, le geometrie fisiche dei dischi erano piuttosto limitate ed i costruttori
dei BIOS avevano introdotto una tabella che riportava le combinazioni correnti,
composta di solito da 45 o 46 possibilitá. Attualmente le possibilitá sono molto
maggiori e cambiano con grande rapidità per cui la vecchia tabella a numeri fissi
é stata completata con un'area (tipicamente identificata con il 47 o User) in cui
l'utente puó impostare i parametri del proprio disco. Inoltre, dato che, purtroppo,
solo recentemente e non per tutti i modelli, i costruttori si sono decisi ad indicare
sui dischi i parametri tipici, i BIOS dispongono di una utility per auto-determinare
le caratteristiche del disco installato. Questa utility richiede al disco, con un
opportuno comando sull' interfaccia IDE, di comunicare i parametri con cui é
stato predisposto, conservati nel disco in una flash o in una spazio riservato (area
di controllo). I parametri cosí rilevati, sono trasferiti alle tabelle interne del BIOS
(da osservare che se é impostato Auto, ad ogni riavvio del sistema o reset
hardware viene rilevata nuovamente la caratteristica delle unitá IDE collegate ). I
dati rilevati con l'auto-detect sono quelli relativi alla geometria logica, ovvero ai
termini di uso del disco, mentre i dati costruttivi (geometria fisica) non sono
assolutamente importanti e spesso il costruttore li indica esclusivamente nelle
documentazioni tecniche piú dettagliate.
Attualmente, i parametri reali (fisici) del disco possono discostarsi grandemente
da quelli utilizzati dal sistema di controllo (logici); questo é dovuto alle nuove
tecnologie impiegate che permettono una densità molto elevata, con alte velocitá
trasferimento di dati e bassi tempi di accesso. Quindi, nei moderni hard disk,
principalmente IDE/EIDE/ATA, bisogna parlare di geometria fisica e geometria
logica (per i dischi SCSI il discorso é differente, in quanto il controllo delle unitá
SCSI é differente da quelle IDE). La cosa puó creare problemi perché le
indicazioni fornite dai costruttori devono essere lette con cura, altrimenti
risulterebbe incomprensibile come, ad es. , un disco con 2 soli piatti possa
disporre di 16 testine ! In questo caso 2 sono i piatti fisici, ma sono utilizzate dal
software
le
4
testine
come
se
in
realtà
fossero
16.
I
parametri
testine/cilindri/settori tipici di ogni disco devono essere comunicati al BIOS del PC
per poter utilizzare correttamente il disco stesso. Se nella tabella del setup
relativa a questi elementi i parametri sono inseriti in modo errato, il disco puó
risultare inaccessibile o utilizzato parzialmente. La tabella seguente riporta la
differenza tra parametri fisici e logici per un Hd disk (Fujitsu MPA3052AT):
Specifica
Geometria fisica
Geometria logica
Dischi
3
3
Testine (Heads)
6
16
Cilindri (Cyl)
8713
10172
Settori per traccia (Sect)
da 132 a 250
63
Totale
5. 25GB
5. 249. 728. 512 bytes
Spesso si puó notare che le traslazioni delle geometrie danno un totale di settori,
e quindi di capacita del disco, non equivalenti. In effetti, lo scopo della traslazione
da geometria fisica a geometria logica é essenzialmente quello di rendere
accessibile il disco nel modo piú efficiente possibile da parte del BIOS, il che puó
portare ad alcuni limiti, visto che, solitamente, le geometrie logiche lavorano su
un numero basso di settori aumentando il numero delle testine rispetto alla realtà
fisica. Un' altro elemento che deve essere considerato é la necessitá di adattare i
dischi recenti, potenzialmente di grande capacita, alle disponibilitá dei BIOS e dei
sistemi operativi, di vecchia concezione ed adatti a trattare dimensioni molto piú
ridotte. Queste contorsioni matematiche sono dovute alla necessitá di mantenere
la compatibilità con tutto quanto prodotto e venduto nel passato (la tristemente
famosa compatibilità all' indietro che tanto ha contribuito a limitare il possibile
progresso tecnologico, soprattutto per quanto riguarda i sistemi operativi).
LBA e CHS
I moderni dischi rigidi sono in grado di raggiungere dimensioni superiori ai 10GB
per unitá; al contrario, i sistemi operativi ed i BIOS sono centrati per la gestione di
capacita molto minori, sia come MB, sia come numero di testine/cilindri/settori. Il
principale limite in passato é stato quello dell' incapacità di BIOS di gestire dischi
IDE maggiori di 1024 cilindri, ovvero 504MB. Per superare questa barriera, si é
utilizzato uno stratagemma basato sulla conversione delle geometrie, gestendo,
attraverso delle tabelle, dei parametri equivalenti. Attualmente tutti i BIOS piú
recenti dispongono di questa funzione, spesso in modo automatico. Nel setup dei
BIOS si potrá trovare un' area del menu che permette queste impostazioni. In
generale, vengono presentati:

dimensione in MB (Size)

cilindri (cyl)

testine (Head)

area di corrente ridotta (Precomp)

zona di parcheggio testine (LandZ)

settori (Sector)

modo di traslazione delle geometrie (Mode)
Il BIOS puó offrire piú di una configurazione possibile, a seconda delle dimensioni
dell' hard disk. La scelta consigliata e quella di default di solito corrispondono alla
traslazione LBA, che risulta la piú adatta nella maggior parte dei casi. Le altre
scelte possono venire accettate a seconda del sistema operativo e del dispositivo
installato. La tabella seguente riporta le traslazioni tipiche generate dalle tabelle
interne del BIOS:
Modo
Descrizione
Massima dimensione
é il modo generico di accesso al
disco usando i parametri
prelevati dall' interfaccia del
controller, senza alcuna
Normal
modifica. Il modo Normal é
adatto solo per dischi con
capacita massima di 528MB,
costituiti da 1024 cilindri, 16
Cilindri (Cyls) 1024 x
Testine (Head) 16 x
Settori (Sector) 63 x
Bytes per settore 512 =
------------------------------------------------528. 482. 304 bytes = 528Mbytes
testine e 63 settori
acronimo di Logical Block
Addressing (indirizzamento
LBA
logico a blocchi) é il modo
Cilindri (Cyls) 1024 x
generico di accesso al disco per
Testine (Head) 255 x
le unitá sopra i 528MB, usando
Settori (Sector) 63 x
una conversione dei parametri
Bytes per settore 512 =
prelevati dall' interfaccia del
-------------------------------------------------
controller. Il modo LBA permette 8. 422. 686. 720 bytes = 8. 4Gbytes
al sistema di operare con dischi
fino a 8. 4GB.
é un modo, usato marginalmente
dopo la standardizzazione di
Large
LBA, che permette una
traslazione dei parametri del
disco fino ad un massimo di 1GB
Cilindri (Cyls) 1024 x
Testine (Head) 32 x
Settori (Sector) 63 x
Bytes per settore 512 =
------------------------------------------------1. 056. 964. 600 bytes = 1Gbytes
AVVERTENZE:
1. Le indicazioni di questo paragrafo sono riferite solo ad unitá collegate a
controller IDE/EIDE/ATA o AT-bus. Unitá SCSI sono gestite unicamente
attraverso il controller SCSI, il suo BIOS o i suoi drivers specifici.
2. Si deve utilizzare la modalità corretta per il disco installato. In generale,
per i moderni HDD maggiori di 528MB, la scelta é LBA. La scelta Normal
va fatta se il disco é inferiore a 528MB oppure é stato giá preparato con
un driver software di conversione della geometria, tipico per sistemi con
BIOS senza LBA. Si consiglia di usare il modo Large solo nel caso di
dischi giá formattati con questo sistema.
3. Un disco preparato con una modalità potrá non essere accessibile, del
tutto o in parte, se installato in un sistema con una modalità differente
4. I modi LBA o Large coinvolgono la routine INT13H del BIOS. Possono
verificarsi problemi con sistemi operativi o programmi che alterano la
struttura dell' INT13H. Ad es. , UNIX, che puó supportare dischi maggiori
di 1GB, richiede la modalità Normal, in quanto la conversione da BIOS
puó creare conflitti e non é comunque necessaria.
5. Se la ricerca automatica non da risultati corretti, puó essere sintomo di
problemi ad uno o piú dispositivi o alla gestione dei canali IDE.
La formattazione
La superficie del disco nuovo é come un foglio bianco; per poter scrivere in modo
ordinato, il sistema operativo deve stabilire dei limiti, come una quadrettatura. La
formattazione consiste appunto nella scrittura sul disco di "headers"o "marks",
ovvero dei segnali magnetici, che stabiliscono le aree in cui scrivere, oltre ad altri
segnali di controllo e di verifica della superficie. La formattazione si esegue in due
passi, a basso e ad alto livello, che spesso sono fonte di confusione per gli
Utenti.
Formattazione a basso livello
La prima operazione, detta low-level formatting ovvero formattazione a basso
livello, é la vera formattazione della superficie magnetica, ancora completamente
"pulita", e che crea la struttura fisica del disco. Questa operazione. stabilisce la
posizione fisica sulla superficie dei dischi delle tracce e dei settori e scrive la
struttura di controllo che stabilisce quali parti del disco sono utilizzate e come.
Avviare una operazione di formattazione a basso livello su un disco giá operativo
cancella completamente ed in modo irrecuperabile tutti i dati contenuti sul disco e
lo rende come nuovo. Purtroppo questa operazione é molto critica e, anche a
causa della struttura delle geometrie dei moderni dischi, é possibile in modo
corretto SOLO AL COSTRUTTORE, che utilizza appositi programmi, non di
pubblico dominio. Considerate con attenzione questo fatto, perché una
operazione di formattazione a basso livello di un disco IDE, se non va a buon
fine, puó causare l' impossibilita di usare il disco, in quanto vengono cancellati o
scritti in modo incorretto i settori di controllo, rendendo inutilizzabile, senza
rimedio, l' intera superficie. Questa avvertenza, particolarmente importante, deve
essere presa in seria considerazione per i dischi IDE/EIDE/ATA delle generazioni
piú recenti. Utilities per il low level formatting sono disponibili sul WEB e nelle
BBS e, purtroppo, ancora presenti in molti BIOS, per cui l' Utente si chiede per
quale motivo ci deve essere questa opposizione netta da parte di molti alla
riformattazione a basso livello per cercare di recuperare un disco che fa i capricci,
come si poteva fare con i vecchi dischi ST506. Si deve considerare che i vecchi
dischi con interfaccia ESDI o ST506 richiedevano la formattazione a basso livello
prima dell' uso, in quanto il costruttore consegnava spesso il disco vergine ed,
comunque, i dati cyl/sect/heads erano reali, ovvero corrispondevano alla realtà
fisica, per cui il processo di scrittura che si indirizzava ad una zona specifica
andava a colpire proprio quella zona; inoltre il controller del disco era uno
standard, esterno al disco stesso (sulla scheda inserita negli slot del PC) ed il
software poteva governarlo correttamente. Poteva, allora, essere utile anche
saltuariamente, in caso di problemi, in quanto poteva rendersi necessario
riscrivere la struttura del disco, non piú adeguata in seguito ad usura delle parti
meccaniche in seguito al movimento o agli stress termici, non piú correggibili dai
sistemi di ricalibrazione interni. Attualmente le tracce sono riallocate secondo
tabelle di conversione della geometria, i dati cyl/sect/heads sono virtuali, le
meccaniche dispongono di sofisticati sistemi di ricalibrazione e correzione
automatica ed i controllers sono integrati nei dischi e sono proprietari, ovvero
ogni costruttore dispone del suo modello e non esiste un software generico in
grado di gestire integralmente questi circuiti (*); per cui É VIVAMENTE
SCONSIGLIATO CERCARE DI EFFETTUARE UNA FORMATTAZIONE A
BASSO LIVELLO DEI DEI DISCHI IDE/EIDE/ATA. Se tentata, puó spesso
produrre la cancellazione delle aree di controllo, rendendo completamente
inaccessibile il disco ! Differente é la posizione dei dischi SCSI, dove le strutture
di comando consentono, attraverso il BIOS dei controller, anche se NON
NECESSARIO, un corretto format a basso livello.
(*) il controller non é da confondere con l' interfaccia; sono due cose differenti. Il
circuito del controller, realizzato da ogni produttore in base a differenti criteri e
controllato da uno o piú microprocessori o circuiti custom, gestisce il disco in tutte
le sue funzioni fisiche ed elettriche, in seguito ai comandi che gli pervengono da
una interfaccia; questa interfaccia costituisce lo standard. Per esemplificare,
all'interno di ogni disco si parla una lingua differente, ma verso l'esterno tutto
viene tradotto nella lingua comune dell'interfaccia.
Formattazione ad alto livello
High-level formatting, ovvero formattazione ad alto livello, é un comando tipico
del sistema operativo che definisce la struttura logica del disco. Ad esempio, il
DOS della Microsoft é il comando FORMAT. Dopo la formattazione basso livello,
che é indipendente dal sistema operativo, essendo sostanzialmente un fatto di
allocazione e controllo della superficie, la posizione di settori e tracce é indicata
sul disco, ma esse sono prive di contenuto. La formattazione ad alto livello scrive
la struttura del file system che É RELATIVA AL SISTEMA OPERATIVO USATO.
Nel; MS-DOS di Microsoft, per esempio, il comando FORMAT scrive il master
boot record (MRB) e la tabella di allocazione dei files (File Allocation Table o
FAT). La formattazione ad alto livello cancella i riferimenti per l'accesso al
contenuto del disco e puó essere effettuata in qualsiasi momento, trattandosi di
un comando del sistema operativo che il controller del disco, qualunque esso sia,
riceve attraverso l'interfaccia ed esegue basandosi sui parametri fisici impostati
dalla formattazione a basso livello. Da osservare che la formattazione rende
indisponibili i dati contenuti nel disco, che risulta completamente vuoto. In effetti,
la maggior parte dei dati magnetici non viene cancellata, ma vengono ripuliti i
puntatori per l'accesso a queste aree, per cui il disco 'é come se fosse cancellato;
questo fa si che il contenuto del disco SIA PERSO COMPLETAMENTE PER
L'UTENTE, IN MODO IRRIMEDIABILE, DOPO UN COMANDO FORMAT, anche
se, attraverso opportune strutture, sia possibile recuperarlo. Differenti sistemi
operativi utilizzano differenti strutture per la scrittura dei files, molto spesso non
compatibili tra di loro. Con un esempio si puó dire che sul foglio quadrettato del
disco formattato a basso livello, ogni sistema operativo scrive nella lingua propria.
Differenza c' é tra la capacita non formattata e
quella formattata
Il disco arriva con l'indicazione del produttore che dichiara una certa capacita;
dopo la formattazione con il sistema operativo, si verifica che il numero di bytes
disponibili é leggermente minore di quello indicato. Questo si verifica perché una
parte piú o meno rilevante del disco é impiegata dal sistema operativo per le
informazioni necessarie a definire i parametri di controllo del disco. Questo
spazio dipende dal sistema operativo, dalle modalità di formattazione ed anche
dalla struttura costruttiva del disco. In passato era comune che la differenza
risultasse anche del 20%; questo perché il costruttore dichiarava, per motivi
commerciali, uno spazio "abbondante", che poi la formattazione riduceva
drasticamente. É ovvio che nessuno utilizza un disco non formattato ed
attualmente i costruttori dichiarano un valore molto prossimo alla realtà oppure
addirittura la capacita formattata.
Sul disco é scritta una capacita, il PC ne riporta
un' altra. Chi ha ragione ?
Tutti e due. Una delle cose che spesso creano confusione nell'Utente é il
riferimento a unitá di misura decimali e binarie, come ad esempio per la memoria
e per la capacita dei dischi, dove esse vengono usate con una certa disinvoltura.
La capacita dei dischi é normalmente espressa in megabytes (milioni di bytes) o
gigabytes (migliaia di milioni di bytes). I numeri che impieghiamo usualmente
sono Decimali, o in base dieci, per cui ogni spostamento delle cifre verso o
sinistra (o destra) corrisponde ad una moltiplicazione (o divisione) per 10. I
prefissi
delle
unitá
di
misura
indicano
quindi
delle
potenze
di
10.
Nei computers, e nell' elettronica digitale in generale, si utilizzano numerazioni
differenti, ad esempio in base 2 (binario), in base 8 (ottale) o in base 16
(esadecimale), ovvero con multipli e sottomultipli che sono potenze di 2. Per
confrontare:
molt.
Decimale
binario
1k
10^3 = 1000
2^10 = 1,024
1M
10^6 = 1. 000. 000.
2^20 = 1,048,576
1G
10^9 = 1. 000. 000. 000
2^30 = 1,073,741,824
In molte parti del PC sono utilizzati riferimenti ai numeri binari, per cui, ad
esempio, un disco da 100MB avrà una capacita di 100x1. 048. 576 bytes e non di
100x1. 000. 000 bytes. La differenza é piuttosto piccola, intorno al 5% e molto
spesso gli stessi costruttori, per semplificazione, utilizzano indifferentemente
entrambe le numerazioni; il problema si incontra quando sullo stesso PC, ad es. ,
il BIOS della mainboard ed il sistema operativo utilizzano due diversi sistemi
numerici per indicare la capacita dello stesso componente. Questo non
pregiudica in alcun modo l' uso del componente, ma si riflette esclusivamente in
una differenza di indicazione dello stesso oggetto. (per esemplificare é come se
si dicesse mille e one thousend: le parole sono diverse, ma la cosa é la stessa;
non é che il 1000 in inglese, perché é scritto con un maggior numero di lettere,
sia piú grande di quello in italiano !
Settori difettosi
É normale che sulla superficie dei dischi ad alta densità si trovino delle aree
difettose, dove il supporto magnetico non é distribuito uniformemente. Durante la
costruzione del disco, con tools opportuni, il produttore puó creare una tabella
delle aree difettose (defect mapping); nei vecchi dischi questa tabella era
consegnata all' Utente assieme all'unitá, per poter essere inserita manualmente
durante le operazioni di formattazione. Nei moderni dischi IDE queste aree
difettose sono identificate durante la formattazione a basso livello e vengono
isolate e sostituite da altre mantenute come riserva per questo scopo; in questo
caso la capacita complessiva del disco non é ridotta. Puó darsi, peró, che il
problema si ripeta anche al di fuori della formattazione a basso livello. In tal caso
é il sistema operativo che isola, marcandole opportunamente, le zone difettose e
le esclude cosí dalle operazioni; in questo caso le arre difettose vengono sottratte
alla capacita complessiva del disco. Normalmente la quantitá di settori difettosi é
estremamente ridotta rispetto al volume complessivo del disco, non é un difetto
del disco e non comporta alcun problema nell'uso. Diventa un problema serio se
il numero dei cluster difettosi é in aumento. Come verificarlo ? Facendo
periodicamente (periodicamente, non ogni 5 minuti !) uno SCANDISK oppure
usando tools simili. Se il numero dei cluster difettosi é stabile, non ci sono
problemi; se é in aumento, allora ci si puó preoccupare. Nel caso di cluster
difettosi, solo un graduale e deciso aumento del loro numero puó giustificare la
sostituzione del disco. In ogni caso e su ogni tipo di disco, é importante
provvedere periodicamente a queste operazioni di verifica e manutenzione
logica, sia con le utilities SCANDISK e DEFRAG dei sistemi operativi di Microsoft
che con altri assimilabili o piú raffinati, tipo Norton, che verificano la situazione del
contenuto del disco e riallocano e riassestano, se necessario, le aree dati.
Questo perché i problemi creati dal sistema operativo e dai suoi bugs, dai bugs
degli applicativi, sia seri che games, dai disastri e disastrini prodotti dall' utente
con manovre kamikaze o semplicemente da mancanze di corrente e da chiusure
incorrette del sistema operativo, possono essere fonte di problemi anche grossi.
Da osservare che i moderni dischi dispongono di raffinati sistemi di correzione
degli errori (che a volte funzionano anche!); ad esempio, dispongono una certa
quantitá di aree di riserva che vanno a sostituire quelle difettose in modo
automatico e senza che l' Utente si accorga di nulla. Oltre a questo sono stati
aggiunti nuovi metodi di previsione dei difetti gravi, come ad es. S. M. A. R. T.
Resta comunque il fatto che ancora oggi l'hard disk é una delle parti del PC
soggetta alla maggiore probabilitá di guasti e che una corretta utilizzazione del
disco non puó prescindere dal costante salvataggio dei propri dati (backup).
Installare un nuovo hard disk
Nel caso di dischi IDE, per avere una risposta sicura, verificare le seguenti
condizioni:

Sulle mainboard sono presenti due port IDE che permettono di collegare
fino a quattro dispositivi.

E’ opportuno considerare la disponibilità di spazio nel case e la potenza
dell’ alimentatore prima di aggiungere altri dispositivi.

Ricordarsi che le unitá IDE/EIDE/ATA/ATAPI hanno dei ponticelli
(jumper) per selezionare il master e lo slave: verificare che questi jumper
siano posizionati correttamente

É possibile che alcune combinazioni di hard disk di diversi produttori non
siano compatibili tra di loro, soprattutto se si tratta di vecchi modelli.
Provare a collegare i dischi prima singolarmente, poi provando una
combinazione master/slave diversa.

Il BIOS deve avere disponibili nelle sue tabelle i parametri del disco da
aggiungere oppure avere una linea programmabile con i parametri dati
dall' Utente oppure un sistema di auto-determinazione (auto-detect) del
tipo di disco installato. Questo perché vecchi sistemi oppure sistemi
proprietari (leggi grandi marche) hanno problemi in questo senso

Il BIOS deve prevedere la modalità LBA se il disco da aggiungere lo
richiede, oppure é necessario disporre di una utility software per ovviare
al problema.
Se il numero di unitá IDE/ATAPI é superiore a 4 é consigliabile non tentare piú o
meno esoterici controller addizionali, ma pensare seriamente al passaggio a
dischi SCSI. Nel caso di dischi SCSI sono installabili fino a 6 unitá per controller
singoli o 15 per controller a doppia porta, piú che adeguati per qualsiasi
applicazione PC.
Problemi posso incontrare installando un
nuovo hard disk
Se avete nuovi HDD IDE non partizionati e formattati con il sistema operativo
utilizzato, occorrerà' farlo, consultando per ulteriori informazioni ai manuali degli
HDD medesimi e/o del sistema operativo usato. L' Enhanced Drive Parameter
Table (EDPT) nel setup CMOS e' tipicamente riferita al modo LBA mode,
modalità' di emulazione per dischi oltre 528MB in ambiente DOS. Per maggiori
dettagli sulla modalità LBA, consultate il Bollettino Tecnico riguardante l’
installazione dei dischi SEAGATE. Il settaggio di default per IDE PIO e' Mode-3;
se il vostro drive EIDE ha problemi con il boot, provate con un PIO mode
differente. PIO mode 0 e' il più' lento, PIO mode 4 e' il più' performante. Se il drive
era partizionato e formattato usando una tecnica proprietaria e la capacita' totale
della partizione e' inferiore alla capacita' totale del drive fisico, può' essere
necessario ri-partizionare e ri-formattare il drive quando la sua configurazione
non viene riconosciuta valida dal sistema di autodetect del BIOS. Collegando due
dispositivi IDE sullo stesso port, uno dovrà avere i jumper come Master e l’altro
come Slave. Verificate l’esatta disposizione sul manuale di istruzione dei
dispositivi. Considerate che spesso i vecchi hard disk hanno seri problemi ad
essere utilizzati in configurazione Master/Slave con nuovi modelli, in quanto non
pienamente corrispondenti alle specifiche ATA/ Enhanced IDE.
!!!ATTENZIONE!!!: - NON EFFETTUARE FORMAT A BASSO LIVELLO
DELLE UNITA' IDE/EIDE.
I parametri cilindri/testine/settori di questi dischi non sono quelli reali, ma
vengono fatti corrispondere a quelli fisici attraverso una tabella di emulazione e
comandi non corretti ai motori delle testine possono danneggiarle; inoltre il
controllo del disco e' effettuato utilizzando tracce dette di servizio; un qualunque
danno a queste tracce rende completamente inutilizzabile il disco stesso.
Format a basso livello non sono necessari e comunque possono essere effettuati
con sicurezza solo dal costruttore o con utilities messe a disposizione dallo
stesso.
Se la mia mainboard non ha LBA. . . ? Se il sistema operativo che sto
usando non permette partizioni maggiori di 2. 1GB, cosa faccio? Moltissime
"vecchie" mainboard non hanno la possibilitá di supportare dischi maggiori di
528MB e molti sistemi proprietari hanno un numero limitatissimo di combinazioni
testine/cilindri/settori nelle tabelle del BIOS. Inoltre, Windows 3. x e Windows95
(nelle versioni anteriori a OSR2) non possono effettuare partizioni superiori a 2.
1GB.
Poiché attualmente il taglio minimo dei dischi commerciali é superiore ad 1 GB,
occorre utilizzare drivers software adeguati, di solito forniti a richiesta con i dischi
oppure acquistabili sul mercato retail. Seagate offre diverse soluzioni.
La lunghezza del cavo che collega i dischi con
la mainboard
Nel caso di sistemi bus ad alta velocitá, maggiore é la lunghezza dei cavi, minori
saranno le prestazioni. Bisogna ricordare che i dischi IDE/EIDE/ATA hanno il
controller a bordo e sulla mainboard c' é solo un canale di comunicazione, o
interfaccia. Con le mainboards o i controller, sono forniti usualmente cavi, adatti
per il collegamento di unitá IDE o ATAPI. E' opportuno non superare la lunghezza
di 30/40 cm tra la scheda ed il disco e, nel caso di un solo disco, utilizzare il
primo e l' ultimo dei connettori, lasciando liberi gli eventuali intermedi.
particolarmente importante la lunghezza dei cavi nel caso di sistemi overclockati.
Meno problemi ci sono con i dischi SCSI, dove la lunghezza dei cavi puó essere
anche di qualche metro e dove sono disponibili variazioni del tipo di interfaccia
fisica (ad es. il tipo differenziale) che consentono elevate prestazioni anche su
tratte piuttosto lunghe di conduttore.
Windows95
Windows 95 OSR-2, con la FAT-32, puó gestire dischi fissi di capacita superiore
a 2 GB ( fino a 2 Terabyte! ) in un' unica partizione, limite di DOS e delle versioni
di Windows precedenti, che hanno FAT-16. Il vantaggio essenziale sta, peró, in
un altro aspetto della gestione dei dischi, cioè quello della dimensione dei cluster.
La FAT-16, dovendo gestire blocchi da 32kb, non é in grado di definire grandezze
inferiori nel caso in cui un file occupi solo una parte di questo blocco, che gli
viene comunque interamente assegnato, con uno spreco di spazio; piú il file é
piccolo, piú lo spreco sará grande. La nuova FAT-32 gestisce blocchi di soli 4kb,
per cui lo spreco é mediamente molto piú basso, anche 1:100, anche se FAT-32
utilizza una quota fissa di circa 4MB per il suo " consumo interno ". La gestione a
cartelle di Windows95 rende meno interessante la suddivisione del disco in
volumi quindi la soluzione di una sola partizione é anche logicamente
vantaggiosa. Inoltre, altro vantaggio, la FAT-32 risulta piú performante della FAT16, anche di un 10%, oltre ad offrire numerosi bonus nella gestione di CD-ROM,
multimedia, PCMCIA, PnP Internet, ecc. . Quindi chi ha dischi di dimensioni
inferiori a 2GB puó comunque trarre notevoli vantaggi dall' uso della nuova
struttura. Per contro, c'é da segnalare che MS-DOS 6. x, Windows 3. x,
Windows95 OSR-1, Windows NT, OS/2, UNIX e simili non sono in grado di
accedere a FAT-32. Quindi ad es. non é piú possibile installare due sistemi
operativi con dual boot. Altro problema puó essere il fatto che, attualmente, OSR2 é disponibile solo in versione installazione, venduta assieme ad un nuovo
hardware.
Riconoscimento dei dischi
Se il chipset delle due mainboard é diverso e nell' installazione originale era
attivato il bus mastering e caricato il driver relativo, il sistema operativo non sará
in grado di riconoscere correttamente i canali IDE del nuovo chipset e le
periferiche collegate saranno inaccessibili oppure presenteranno problemi nel
funzionamento. Occorre caricare i driver adeguati. Facendo un upgrade di
qualunque tipo é indispensabile considerare la questione dei driver relativi al
vecchio ed al nuovo hardware. La via migliore é quella di disinstallare i vecchi
driver, cambiare l' hardware e poi reinstallare i nuovi driver.
Differenza tra ATA, ATA-2,ATA-3, IDE, EIDE
Prima del 1986, la struttura dell’interfaccia delle memorie di massa era piuttosto
differenziata ed i principali standard erano ST506, ideato da SEAGATE e
TANDON, ed il successivo ESDI, con prestazioni maggiori. In entrambi i casi il
controller era situato su un a scheda e comunicava con il disco con una coppia di
cavi, più quello di alimentazione. I controller disponevano di BIOS a bordo ed
erano adatti alle prime macchine PC di tipo XT. Con lo standard AT di IBM, il PC
cominciava a richiedere maggiori prestazioni dal disco rigido, tanto da spingere
alcuni costruttori, tra cui WESTERN DIGITAL, a proporre un nuovo standard,
detto IDE.
I nuovi dischi disponevano di controller intelligente a bordo e richiedevano
solamente una interfaccia passiva con il bus dei sistemi AT, da cui il nome ATbus dato alle prime versioni. I comandi erano standardizzati in una specifica di
gestione detta ATA (AT Attachment). Poiché il disco diventava un componente a
se stante, i costruttori poterono dedicarsi al miglioramento delle prestazioni, a
basso costo e con la sicurez za della compatibilità, trasformando in poco tempo
IDE-ATA nello standard di mer cato.
Purtroppo, all’ epoca, 528MB, limite del DOS, sembravano un traguardo notevole
! Invece, in poco tempo, lo svilupparsi dei programmi, la nascita di local bus
(VESA e PCI), il miglioramenti delle tecnologie produttive e la corrispondente
riduzione dei costi ed infine, ma non ultimo, la crescente richiesta di spazio del
software, rendeva no necessarie capacità maggiori e prestazioni più spinte.
Intorno al 1993, WESTERN DIGITAL ha presentato una estensione di IDE,
chiamata EIDE (Enhanced IDE) che supera i limiti di IDE pur mantenendo la
compatibilità, mentre SEAGATE estendeva con ATA-2 le possibilitá del protocollo
di gestione. Attualmente lo standard Seagate e' ATA-3. Le differenze essenziali
sono:
IDE
EIDE, ATA, ATA-2, ATA-3
1 port disponibile
2 port disponibili
massimo 2 hard disk
massimo 4 hard disk
capacità partizione 528MB
capacità partizione 8,4GB
possibilità di collegare altre memorie di
massa
Programmabilitá del transfer rate
La possibilità di avere 2 port fisici consente di collegare 2 dispositivi per ogni port,
per un totale di 4 dispositivi; inoltre, grazie ad uno standard detto ATAPI (ATA
Packet Interface) si è reso possibile collegare ai port altri dispositivi, come ad
esempio nastri o CD-ROM. Le temporizzazioni di accesso al disco e di
trasferimento dei dati da parte del sistema ospitante sono programmabili a scelta
tra 4 modalità PIO (Pro grammed I/O) in cui 0 è la più lenta e 4 la più veloce.
Così un progresso nella tecnologia dei dischi, con un passaggio alla possibilità di
gestire i dati con una modalità più evoluta non penalizza i sistemi: una modifica
del setup del BIOS della mainboard rende i gestori dei port adatti ad accogliere il
nuovo disco. A questo riguardo c’è da notare che le più recenti versioni di
mainboard dispongono dei port direttamente integrati e gestiti dal chipset, oltre
alla funzione di Autodetect che identifica automaticamente il tipo di disco
collegato ed i suoi parametri, PIO Mode compreso.
EIDE/ATA-2 utilizza, come IDE, il sistema Master/Slave per identificare i due
devices collegati ad un port. La configurazione è stabilita con jumper sui devices
stessi.
IDE dual port
Le moderne mainboard contengono due collegamenti (port) per IDE/PCI,
ciascuna in grado di collegare 2 dispositivi, per un totale di 4 dispositivi
IDE/ATAPI. Il vecchio standard PC prevedeva un port IDE primario, per collegare
due dispositivi IDE. Poiché è diventata comune la possibilità di avere più di due
dispositivi IDE, si è introdotta la possibilità di disporre di un altro port, detto
secondario, che è ormai integrato come parte del chipset di tutte le mainboard
moderne. (In teoria sarebbero possibili quattro port IDE, ma in pratica solo due
sono implementati. ) Ogni port IDE utilizza la convenzione Master/Slave per
identificare e accedere ai drives. Agendo sul SETUP del BIOS si possono
abilitare o disabilitare i port e controllare le loro configurazioni.
Il port primario usa l’indirizzo di I/O 1F0H-1F7H. Il suo interrupt è tipicamente
IRQ14 (default). Il port secondario usa l'indirizzo di I/O 170H-177H. L'interrupt e'
tipicamente IRQ15 (default). Solo se non è attivato il port secondario, IRQ15 può
essere utilizzato da schede su ISA/PCI.
Spesso schede addizionali, come schede audio, hanno a bordo un port IDE,
configurabile con jumper o via software in uno dei 2 (o 4) indirizzi ammessi. Se la
mainboard ha il dual port on board, è conveniente utilizzare questo ed escludere
il port addizionale della scheda.
!!!ATTENZIONE!!!: abilitando due port allo stesso indirizzo o interrupt o
disponendo in modo errato i port si impedisce l’accesso alle unità IDE collegate o
si blocca l’intero sistema, cosi pure assegnando indirizzi e IRQ dei canali IDE ad
altri dispositivi.
Dopo l'installazione di un nuovo drive, il sistema operativo provvederà' a
posizionare la partizione fisica nella sequenza di assegnazione delle lettere dei
drive logici (al momento del boot). Pertanto si deve prestare attenzione all'uso dei
comandi di gestione dei dischi come FORMAT e FDISK per evitare di formattare
una unita' non desiderata; inoltre lo spostamento delle lettere delle unita' logiche
avrà' effetti sui comandi tipo PATH. Questo diventa molto importante usando
unitá su cassetti estraibili o rimovibili a cartuccia. Nell' esempio seguente una
possibile situazione
SITUAZIONE INIZIALE: 3 hard disk, di cui due sul canale IDE primario e 1 sul
secondario. Assegnazione iniziale lettere drive DOS

Primary Master 500MB - singola partizione da 250MB assegnata da DOS
la label C: (spazio non usato 250MB )

Primary Slave 210MB - singola partizione 210MB, assegnata dal DOS la
label D:

Secondary Master 1,2GB - prima partizione 500MB, assegnata dal DOS
la label E:

Secondary Master - seconda partizione 700MB, label F:
MODIFICA: Aggiunta di una partizione con FDISK al primario master. Dopo il
reboot DOS assegnerà' le lettere ai drives come segue:

Primary Master 500MB - prima partizione 250MB = label C: - seconda
partizione 250MB = label E:

Primary Slave 210MB - singola partizione 210MB = label D:

Secondary Master 1. 2GB - prima partizione 500MB = label F:

Secondary Master - seconda partizione 700MB = label G:
Le lettere al secondary port sono assegnate in modo differente che per il primary
port. I drives sul primary port drives hanno le assegnazioni:

Primary Master C:

Primary Slave (se esistente) e' D:

Primary Master Logical drives sono assegnati partendo dalla prima
lettera disponibile (es. D: o E:)

Primary Slave Logical drives sono assegnati partendo dalla prima lettera
disponibile.
I drives sul secondary port sono assegnati come segue:

Secondary Master drive e' assegnato alla prima lettera disponibile

Secondary Master Logical drives sono assegnati in ordine crescente

Secondary Slave drive e' assegnato alla prima lettera disponibile

Secondary Slave Logical drives sono assegnati in ordine crescente
!!!AVVERTENZA: e' necessario che nei files di configurazione del sistema
operativo siano disponibili sufficienti lettere (ad es. DOS richiederà' il comando
LASTDRIVE=n aggiornato con n = almeno ultima lettera usata. Nell'esempio
precedente, almeno LASTDRIVE=G, ma vanno bene anche indicazioni maggiori,
ad es. LASTDRIVE=L). Per informazioni più precise, consultare il manuale del
sistema operativo utilizzato. Il problema diventa meno sensibile in Windows 95
dove é possibile forzare dal Pannello di Controllo una lettera univoca per ogni
unitá.
I modi PIO
I dischi IDE sono governati con comandi dati sul bus IDE sotto il controllo diretto
della CPU in una modalità di I/O parallelo (PIO mode); il processore utilizza
differenti cicli di tempo per inviare i comandi al disco e per trasferire i dati.
Impiegando
tempi
diversi
si
hanno
prestazioni
piú
o
meno
elevate.
I modi PIO vanno da 0 a 5 (0 il piú lento, 5 il piú veloce): piu' l' indice del PIO
mode é alto, piú é basso il tempo dei cicli di trasferimento e quindi é maggiore la
prestazione.
Un disco lento, ovvero che richiede tempo per leggere e scrivere dati, necessita
di piú tempo per organizzare una risposta alle richieste della CPU e quindi un
PIO mode basso. Un disco moderno richiede meno tempo e quindi puó lavorare
con
un
PIO
mode
alto
e
trasferire
maggiori
quantitá
di
dati.
IIn PIO mode la CPU é impegnata nella gestione del disco e quindi non é libera
per altre attivitá; PIO mode puó occupare anche il 90% della CPU per la gestione
del disco. Per ovviare a questo si puó ricorrere ai modi DMA in cui la CPU é piú
libera e le prestazioni sono molto maggiori
Il PIO mode dipende dalle caratteristiche del disco. Di solito i BIOS lo
determinano automaticamente. Si puó forzare a mano scegliendo una
impostazione manuale per i parametri del disco, usualmente nella prima finestra
del setup del BIOS. La tabella seguente riporta le velocitá di trasferimento delle
varie modalità:
Modo EIDE
Trasferimento [MB/s]
Tempo di ciclo [ns]
PIO 0
3. 3
600
PIO1
5. 2
383
PIO2
8. 3
240
PIO3
11. 1
180
PIO4
16. 6
120
DMA0
4
DMA1
13
DMA2
16. 6
Attenzione: la velocitá di trasferimento si riferisce alle prestazioni massime dell'
interfaccia e non a quelle complessive del trasferimento dei dati dal disco alla
memoria del sistema, che é notevolmente inferiore. Il modo DMA, una volta
attivato, libera la CPU dal controllo del ciclo operativo sul disco, ma richiede piú
tempo per essere avviato ed é conveniente rispetto ai PIO mode solo nelle
applicazioni che in cui il trasferimento di dati avviene in blocchi; se il trasferimento
é relativo a numerosi files di piccole dimensioni é possibile che il modo PIO sia
piú conveniente.
Il PIO mode dipende dalle caratteristiche del disco. Di solito i BIOS lo
determinano automaticamente. Si puó forzare a mano scegliendo una
impostazione manuale per i parametri del disco, usualmente nella prima finestra
del setup del BIOS. Il PIO mode é dipendente anche dalle caratteristiche del'
interfaccia, dalla lunghezza dei cavi (cavo piú corto, PIO mode piú alto), dal
carico sul canale IDE (piú carico, meno prestazione, ovvero un disco solo su un
canale ha piú probabilitá di avere PIO mode piú elevato che non se ne sono
collegati due). Inoltre, visto che le temporizzazioni di PIO mode dipendono dal
clock del sistema, in condizioni di overclock i parametri impostati sono alterati e
quindi puó essere richiesto di ridurre il PIO mode. In questi casi in effetti non é
detto che il PIO mode sia realmente ridotto: se un PIO mode 4 con clock a
66MHz ha in tabella alcuni tempi, questi tempi con il clock a 75MHz sono ridotti
del 14%, per cui il PIO mode reale non é piú il 4, ma piú veloce, ad es. un 4,5 o 5
o piú; se il disco non lo supporta occorre abbassare l' indice del mode, ovvero
usare la tabella di un PIO mode piú lento, che, con il clock maggiorato, finisce per
dare valori simili.
In relazione al numero di giri, il trasferimento é direttamente proporzionale,
ovvero piú giri, piú passaggi di un' area sotto le testine, piú velocitá nel
trasferimento dei dati
Velocitá di rotazione
Trasferimento dati testina-host
3600 rpm
4. 2 MB/s
4500 rpm
5. 2 MB/s
5200 rpm
6. 1 MB/s
Il driver di BUS Master IDE
Il Bus Master IDE è implementato attraverso il componente del chipset Intel
indicato col la sigle PIIX3, detto South Bridge. La sua funzione è quella di ridurre
il tempo di CPU nel trasferimento di dati dei dischi in concorrenza con altre
attivitá PCI. Bus Master supporta sia ATA (H drives) che ATAPI (CD-ROM), fino a
PIO mode 4 con una velocitá di 16MB/s, anche in DMA MW2. Per attivarlo
occorre caricare il driver software opportuno, fornito direttamente da Intel e
presente in numerosi siti, tra cui la ns. BBS.
Dopo aver fatto un upgrade sul sistema (cambio della mainboard) ho
problemi con il riconoscimento dei dischi
Se il chipset delle due mainboard é diverso e nell' installazione originale era
attivato il bus mastering e caricato il driver relativo, il sistema operativo non sará
in grado di riconoscere correttamente i canali IDE del nuovo chipset e le
periferiche collegate saranno inaccessibili oppure presenteranno problemi nel
funzionamento. Occorre caricare i driver adeguati. Facendo un upgrade di
qualunque tipo é indispensabile considerare la questione dei driver relativi al
vecchio ed al nuovo hardware. La via migliore é quella di disinstallare i vecchi
driver, cambiare l' hardware e poi reinstallare i nuovi driver. Vedi anche la
domanda seguente.
Ho installato i driver di bus master e l' hard disk IDE é visto da Windows95
come SCSI !!
Il problema dipende dai driver che o non sono adatti al chipset o sono difettosi.
Se il PnP di Windows95 non riconosce i canali IDE a seguito di un driver inadatto,
i dispositivi collegati non sono accessibili. Siccome il BIOS, a monte del sistema
operativo, ha riconosciuto i canali IDE ed i dispositivi collegati, Win95, non
sapendo piú bene che fare, puó piazzarli come unitá SCSI. Se nessuno dei due
canali IDE é configurato correttamente dai driver, nessuna delle unitá é
accessibile correttamente; se il canale primario é almeno parzialmente
riconosciuto mentre il secondario no, i dispositivi collegati al primario sono
accessibili come IDE, mentre possono venir segnalati come SCSI oppure sparire
completamente dalle risorse i dispositivi collegati al secondario. Questo fatto si
verifica facilmente nel seguente caso: mainboard con chipset Intel VX, sistema
operativo Win95 con driver PXII3 installato, hard disk sul primario IDE e CDROM
sul secondario; sostituendo la mainboard con un altro modello con chipset TX,
senza sostituire il driver software (PXII4 al posto di PXII3), il CDROM é
identificato al prompt del BIOS, ma poi sparisce nelle risorse di Windows95 o
diventa il device 0 o 7 in una inesistente catena SCSI.