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.