Tecnologia degli hard disk Dario Maio Generalità
Transcript
Tecnologia degli hard disk Dario Maio Generalità
Tecnologia degli hard disk 36 GB, 10,000 RPM, IBM SCSI server hard disk. (IBM Ultrastar 36ZX.) Dario Maio http://www.csr.unibo.it/~maio/ [email protected] hard disk 1 Generalità ¾ Un hard disk (HD) è un dispositivo elettro-meccanico per la conservazione di informazioni sotto forma magnetica, su supporto rotante a forma di piatto su cui agiscono delle testine di lettura/scrittura. hard disk Page 1 2 Il progresso tecnologico ¾ ¾ ¾ ¾ ¾ Negli ultimi 20 anni sono stati compiuti molti progressi nella tecnologia degli hard disk, in termini di capacità, velocità e prezzo. Per capacità e costo si registrano miglioramenti di 1000000% in 20 anni, con un incremento cumulativo di circa il 67% all’anno. Notevoli anche i miglioramenti in termini di velocità e interfacce. Il primo HD per PC IBM aveva una capacità di 10 MB e un costo di circa 100$ per MB memorizzato. Gli hard disk di ultima generazione hanno capacità comprese tra qualche decina di gigabyte e a 1 terabyte con costi dell’ordine di qualche decina di cent per GB. Il primato lo detiene il modello Deskstar 7K1000 di Hitachi presentato il 5 gennaio 2007, 1 terabyte su 5 piatti, con una densità di 23 miliardi di bit per centimetro quadro, parallelamente scende anche il costo per GB, il prezzo annunciato di questa unità è inferiore a 400$. Il tempo di accesso tipico per un disco rigido di media qualità è attorno ai 10 millisecondi. Per uno ad alte prestazioni (15.000 giri) è di 3 o 4 millisecondi. hard disk 3 Breve storia degli HD hard disk Page 2 4 disk drive (meccanismo) ¾ Include organi di registrazione, di posizionamento e di rotazione. Struttura della superficie di un piatto: A) Traccia B) Settore C) Settore di una traccia D) Cluster, insieme di settori contigui ¾Varianti principali: ¾testine ¾dischi mobili vs testine fisse fissi vs asportabili (disk pack) hard disk 5 Caratteristiche costruttive (1) ¾ ¾ ¾ ¾ ¾ ¾ Piatti di alluminio ricoperti da materiale ferromagnetico. Recentemente introdotti piatti in materiale vetroso, più resistenti agli urti (accidentali) con le testine. Diametri : 1, 1.8, 2.5, 3.5, 5.25 pollici. A parità di densità, minore è la superficie, minore risulta la capacità di registrazione, minore la potenza assorbita, minore la distanza tra tracce, maggiore la velocità di rotazione. La densità lineare è di fatto limitata dalla difficoltà delle operazioni di registrazione/lettura delle variazioni del campo magnetico sulla superficie del disco. Sono state ottenute densità di area superiori a 10 Gbits/in2, e nel 1999 i laboratori IBM hanno raggiunto 35.3 Gbits/in2 – 524000 bpi di densità lineare, 67300 tpi di densità di traccia. In contrasto, il primo HD per PC aveva una densità d’area di circa 0.004 Gbits/in2! Poiché i dischi ruotano a velocità angolare costante, un numero fisso di settori per traccia implica che la densità è minore per le tracce più esterne. Velocità di rotazione tipiche: 3600, 5400, 7200, 10000, 15000 rpm. hard disk Page 3 6 Caratteristiche costruttive (2) ¾ ¾ ¾ La densità inter-traccia è dell’ordine di qualche micron. La densità complessiva è cresciuta di un fattore 10 ogni 10 anni. Legge di Hoagland valida per gli anni dal 1970 al 2000. (anno-1970)/10 Densità_Area_Magnetica(anno)=10 Mb/inch2 ¾Oltre le previsioni: Ottenute densità di oltre 35 Gbits/in2; i dischi moderni possono contenere 20 GB su un singolo piatto di 3.5” hard disk 7 L’evoluzione della densità hard disk Page 4 8 Formati hard disk per PC Platter Diameter Typical Form Factor Application 5.12 5.25" Oldest PCs, used in servers through the mid-1990s and some retail drives in the mid-to-late 1990s; now obsolete 3.74 3.5" Standard platter size for the most common hard disk drives used in PCs 3.0 3.5" High-end 10,000 RPM drives 2.5 2.5", 3.5" Laptop drives (2.5" form factor); 15,000 RPM drives (3.5" form factor) 1.8 PC Card (PCMCIA) PC Card (PCMCIA) drives for laptops 1.3 PC Card (PCMCIA) Originally used on hand-held PCs (no longer made) 1.0 CompactFlash Digital cameras, hand-held PCs and other consumer electronic hard disk 9 Era il più piccolo.... IBM's Microdrive singolo piatto, diametro di 1”, progettato per essere inserito in telecamere e in personal organizer, capacità di 340 MB I dischi rigidi della dimensione di un pollice recentemente immessi sul mercato corrispondono al formato compact flash di tipo II, grandi solo due o tre centimetri e spessi quanto una carta di credito, ma capaci di memorizzare comunque alcuni gigabyte di dati. hard disk Page 5 10 Metodi di memorizzazione (1) Per settori (caso più comune) ¾ La traccia è divisa in settori di dimensione fissa (es. 512 byte) e l’inizio di ogni settore è rilevato dall’Hw (hardsectored disk) o via Sw (soft-sectored disk), previa “formattazione” del disco. ¾Un blocco è memorizzato in un numero intero di settori, ciò vincola il BF (Blocking Factor) e incide, di conseguenza, sull’utilizzazione del settore e della traccia. ¾ Esempio: Con registrazioni di 130 byte e settori di 512, un BF=1 porta a una utilizzazione del settore pari al 25%. BF = 3 eleva l’utilizzazione al 76%. Infine, BF = 7 porta all’ 89%, con 2 settori per blocco. ¾N.B. Non sempre è possibile occupano tracce diverse. avere blocchi che hard disk 11 Metodi di memorizzazione (2) Con informazioni di riferimento software ¾ Soluzione disponibile su alcuni dischi per mainframe IBM. Ogni applicazione determina la dimensione dei blocchi (qui sinonimo di settori), a seconda delle proprie necessità. ¾ Ogni blocco memorizza all’inizio alcune informazioni di servizio necessarie al reperimento del blocco stesso. ¾ ¾ Come nei nastri, sono necessari dei gap, per dare al sistema il tempo di controllare se il blocco è quello cercato. hard disk Page 6 12 Settori, tracce, cilindri Modello Fujitsu MPF3XXXAT 5400 rpm, 3,5” Storage Capacity (formatted) Disks Heads (read / write) MPF3102AT 10.2GB MPF3153AT 15.3GB MPF3204AT 20.4GB MPF3102AT 1 MPF3153AT 2 MPF3204AT 2 MPF3102AT 2 MPF3153AT 3 MPF3204AT 4 Tracks capacity (formatted) 188,416 to 344,046 bytes Bytes / sectors 512 Cylinders 20,020 Sectors/Track 368 to 672 hard disk 13 Le testine ¾ ¾ In scrittura, le testine svolgono il lavoro di conversione dei bit in impulsi magnetici che vengono quindi registrati sulle superfici dei dischi; in lettura attuano la conversione inversa. Sono componenti molto critici per gli effetti che hanno sulle prestazioni e costituiscono le parti più costose di un HD. diametro capello umano 80 micron impronta digitale 15 micron particella di polvere 30 micron altezza particella di volo di fumo 6 micron della testina 0.5 micron Piatto Strato magnetico hard disk Page 7 14 Evoluzione delle testine hard disk 15 Codifica e decodifica dei dati ¾ ¾ ¾ ¾ Contrariamente all’intuizione, non è possibile usare una semplice tecnica di codifica che fa corrispondere le polarità N-S e S-N rispettivamente a 1 e a 0. Infatti: Le testine misurano le inversioni di flusso magnetico Vi è necessità di distinguere tra la fine di un bit di informazione e l’inizio di un altro bit I campi magnetici sono in realtà addittivi hard disk Page 8 16 FM: Frequency Modulation ¾ FM è stata la prima tecnica utilizzata. Un bit di valore 1 viene scritto come due consecutive inversioni di flusso, mentre un bit di valore 0 è costituito da un’inversione seguita da nessuna inversione. Bit Pattern Encoding Pattern Flux Reversals Per Bit Bit Pattern Commonality In Random Bit Stream 0 RN 1 50% 1 RR 2 50% 1.5 100% Weighted Average R: inversione di flusso N: nessuna inversione All’inizio di un bit c’è un’inversione di flusso per rappresentare il clock, e un’aggiuntiva inversione viene aggiunta nel mezzo di ogni bit di tipo 1, mentre è omessa per un bit a 0. hard disk 17 MFM Bit Pattern Encoding Pattern Flux Reversals Per Bit Bit Pattern Commonality In Random Bit Stream 0 (preceded by 0) RN 1 25% 0 (preceded by 1) NN 0 25% 1 NR 1 50% 0.75 100% Weighted Average Il numero medio di inversioni di flusso per bit è la metà rispetto alla tecnica FM, dunque la frequenza di clock può essere raddoppiata, raddoppiando la capacità di registrazione a parità di area. hard disk Page 9 18 RLL: Run Lenght limited Bit Pattern Encoding Pattern Flux Reversals Per Bit Bit Pattern Commonality In Random Bit Stream 11 RNNN 1/2 25% 10 NRNN 1/2 25% 011 NNRNNN 1/3 12.5% 010 RNNRNN 2/3 12.5% 000 NNNRNN 1/3 12.5% 0010 NNRNNRNN 2/4 6.25% 0011 NNNNRNNN 1/4 6.25% 0.4635 100% Weighted Average hard disk 19 Peak detection ¾ L’analisi delle variazioni di campo diventa problematica al crescere della densità e della velocità di rotazione. I metodi tradizionali si basano sul rilevamento “al volo” attraverso la testina. il metodo tradizionale di lettura delle variazioni di campo si basa sull’identificazione dei picchi hard disk Page 10 20 PRML: Partial Response, Maximum Likelihood (PRML) ¾ La ricerca prosegue nella direzione di tecniche di analisi dei segnali tramite l’uso di DSP. Non si cerca più di identificare i singoli campi, ma si trasformano blocchi di dati analogici letti dalle testine (partial response) per determinare la sequenza di bit che presenta maggiore probabilità di aver generato quella particolare sequenza di segnali analogici (maximum likelihood) hard disk 21 Zoned Bit Recording ¾ Negli hard disk di vecchia generazione ogni traccia presenta lo stesso numero di settori. La densità decresce dal centro alla periferia del piatto. Le tracce sono raggruppate in zone in base alla loro distanza dal centro, e a ogni zona corrisponde un certo numero di settori per traccia. Muovendosi dal centro verso la periferia le zone contengono un maggior numero di settori per traccia. Ciò consente un’utilizzazione migliore dello spazio. La velocità di trasferimento dati è più elevata nelle zone più esterne. In generale, la densità presenta ancora valori più elevati al centro. hard disk Page 11 22 ZBR e geometria logica di un HD ¾ Il BIOS dei PC consente di specificare solo un numero di settori per traccia (al massimo 63); nel caso di HD che usano ZBR si deve allora utilizzare un mapping da geometria logica a geometria fisica del disco. Specification Physical Geometry Logical Geometry Read/Write Heads 6 16 Cylinders (Tracks per Surface) 6,810 7,480 Sectors Per Track 122 to 232 63 Total Sectors 7,539,840 7,539,840 3.8 GB Quantum Fireball TM La traslazione delle richieste è demandata al controllore del disco. hard disk 23 Prestazioni ¾ ¾ ¾ Le prestazioni possono essere classificate in: Interne fattori che influenzano le prestazioni interne: ¾ Caratteristiche meccaniche ¾ Tecniche di memorizzazione e codifica dei dati ¾ Caratteristiche del controller e cache Esterne fattori che influenzano le prestazioni esterne: ¾ Tipo di interfaccia ¾ Architettura del sottosistema di I/O ¾ File system hard disk Page 12 24 Prestazioni interne (1) ¾ ¾ Definizione (non universalmente rispettate): Access Time = Command Overhead Time + Seek Time + Settle Time + Latency indica il tempo impiegato di raggiungimento delle informazioni di interesse. Command Overhead Time: si riferisce al tempo necessario a impartire comandi al drive, è dell’ordine di 0.5 ms e può essere trascurato. hard disk 25 Seek Time & Settle Time ¾ ¾ ¾ ¾ ¾ ¾ Rappresentano rispettivamente il tempo necessario a spostare le testine sul cilindro desiderato e il tempo necessario a stabilizzare le testine: un’operazione di seek comporta le seguenti fasi: speedup (accelerazione) Seek Time coast (velocità costante) slowdown (rallentamento) Settle Time settle (stabilizzazione) Il Settle Time è dell’ordine di 0.1 ms, trascurabile rispetto al Seek Time. Alcuni costruttori inglobano nel Seek Time anche il Settle Time. hard disk Page 13 26 Seek Time ¾ ¾ ¾ ¾ Per seek brevi (meno di 200-400 cilindri) prevale la fase di accelerazione, il cui tempo è proporzionale alla radice del numero di cilindri attraversati. Per seek lunghe prevale la seconda fase a velocità costante, e il tempo risulta proporzionale al numero di cilindri attraversati più una costante. I costruttori forniscono in genere: Average Seek : 8-10 ms (di solito si riferisce a letture) Track-to-Track : 1 ms Full-stroke : 15-20 ms (dalla traccia più interna alla traccia più esterna) Il seek time per scritture è superiore di circa 1 ms rispetto al seek time per letture hard disk 27 Average Seek Time ¾ Normalmente calcolato considerando la richiesta di ogni traccia ugualmente probabile. Ciò equivale, adottando un modello lineare, a considerare il seek time corrispondente a una distanza pari a 1/3 dei cilindri. ¾ Sia n=N_Cyl il numero di cilindri, e siano X e Y, rispettivamente, il cilindro corrente e quello di destinazione. Per la distanza d = |X-Y| tra i due cilindri (seek distance) si hanno n2 possibilità, così suddivise: d 0 1 2 ... d ... n-1 n. casi n 2 (n1) 2 (n-2) ... 2 (nd) ... 2 hard disk Page 14 28 Average seek distance n−1 ∑ d× E[d]= d=0 Poiché: n −1 ∑ 2× (n−d) 2 n−1 2 n−1 2 = d − ∑ 2 2 ∑d n n d=1 n d=1 d2 = (n d =1 E [d ] = 2 (n -1) × n n 2 = ( n - 1) − − − 1 ) × (n − 1 2 ) × n 3 2 ( n - 1) × (n - 1 2 ) × n 3 n2 ( n - 1) × ( 2 × n - 1) 3× n ⎡ 3 × n − (2 × n - 1 ) ⎤ = ( n - 1) ⎢ ⎥ ⎣ ⎦ 3× n = n n2 −1 ≈ 3 3× n hard disk 29 Un modello per il seek time t s (d) = a × d -1 + b × (d -1) + c Il primo termine modella le fasi di accelerazione/decelerazione, il secondo la fase a velocità costante, e il terzo corrisponde al minimo tempo di seek. 0 < d < N_Cyl Attenzione: E(ts(d)) = ts(E(d)) a = (−10× ts (min) +15× ts (aver) − 5× ts (max)) (3× N_ Cyl) b = (7 × ts (min) −15× ts (aver) +8× ts (max)) (3 ×N_ Cyl) c = ts (min) valide per N_Cyl>200 hard disk Page 15 30 Esempio di seek time 30 Seek Time (msec) 25 20 15 1997 trend 10 IBM Fujitsu 5 Seek distance (cylinders) 0 0 500 1000 1500 2000 2500 hard disk Latency 31 (60/Spindle Speed)* 0.5 * 1000 Spindle Speed (RPM) Worst-Case Latency (Full Rotation) (ms) Average Latency (Half Rotation) (ms) 3,600 16.7 8.3 4,200 14.2 7.1 4,500 13.3 6.7 4,900 12.2 6.1 5,200 11.5 5.8 5,400 11.1 5.6 7,200 8.3 4.2 10,000 6.0 3.0 12,000 5.0 2.5 15,000 4.0 2.0 Rotational Latency rappresenta il tempo necessario affinché il settore interessato dall’operazione passi sotto la testina hard disk Page 16 32 Esempio: IBM 34GXP drive Attribute Best-Case Figure (ms) Worst-Case Figure (ms) Command Overhead 0.5 0.5 Seek Time 2.2 15.5 Settle Time <0.1 <0.1 Latency 0.0 8.3 Total 2.8 28.4 hard disk 33 Cylinder and head skew Due piatti adiacenti (o due superfici dello stesso piatto). A sinistra il concetto di cylinder skew (offset di 3 settori tra tracce consecutive); a destra il concetto di head skew (offset di 1 settore tra piatti adiacenti). Rispettivamente per compensare i ritardi cylinder switch time e head switch time. hard disk Page 17 34 Prestazioni interne (2) ¾ ¾ Internal Media Transfer Rate (media rate) rappresenta la velocità massima alla quale il drive può leggere o scrivere bit, espressa in Mbit/sec or Mb/s. Tipicamente dell’ordine di qualche centinaio di Mb/s, si riferisce alla velocità con cui si trasferiscono bit dai (sui) piatti sulla (dalla) cache del controller. Si può stimare come: (bytes/sector)x(sectors/track) rotation time ¾ Sustained Transfer Rate include overhead per head switch time e cylinder switch time, misurata in Mbytes/s. hard disk 35 Disk controller (1) ¾ Un controllore di disco normalmente include un microprocessore, una memoria cache, e un’interfaccia al bus di I/O (ad es., SCSI), su cui possono essere connessi più dispositivi (si parla spesso di stringa SCSI) ed, eventualmente, la stessa CPU e memoria centrale. ¾ Le principali funzioni tipicamente svolte da un controllore sono: ¾ • ¾ • • mapping tra indirizzi logici dei blocchi e settori su disco controllo del meccanismo correzione di errori hard disk Page 18 36 Disk controller (2) to the host string SCSI bus disk controller disk mechanism A volte il rapporto controller/mechanism non è 1:1 ma m:n, ovvero si fa uso di più controllori, ognuno dei quali può operare su più dischi, in modo che vi siano percorsi alternativi per il trasferimento dei dati hard disk 37 Controller per PC ¾ ¾ Esistono diversi tipi di interfaccia: ST506, ESDI, SCSI, AT-Bus, IDE,EIDE,ATA, SATA IDE e derivati (EIDE, ATA) : 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). SATA: l’interfaccia trasmettei dati in modo seriale e quindi invece di utilizzare quaranta fili per trasmettere i dati ne utilizza solo due, uno per trasmettere i dati e uno per ricevere, oltre a due fili per le masse. In realtà il cavo è a sette fili dato che lo standard utilizza anche alcuni fili come segnali di controllo. 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 sistema, aumentando il numero di unità hard disk installabili. Page 19 38 Read-ahead, Command Queuing ¾ Read-ahead Il controllore “anticipa” le richieste di lettura, caricando nella sua cache (di dimensione variabile tra 64 KB a 1MB) il contenuto di una o più tracce, e andando poi a verificare se una richiesta può essere soddisfatta dalla cache. Se la cache è “segmentata”, è possibile mantenere nella cache dati da zone diverse del disco. ¾ Command Queuing I drive SCSI permettono la gestione di più richieste in contemporanea da parte del controllore, che può quindi decidere autonomamente in quale ordine sia meglio servirle. hard disk 39 write-back vs write-through ¾ ¾ ¾ ¾ Con la tecnica “standard” write-through la scrittura si considera eseguita solo dopo che i dati sono stati effettivamente scritti su disco. Con la tecnica write-back il controller segnala che la richiesta di scrittura è stata soddisfatta quando i dati sono stati scritti nella sua cache. Poiché la cache è normalmente volatile, la tecnica di write-back non è esente da rischi. I problemi possono nascere nel caso di errori (transitori) nella circuiteria del controllore, cadute di tensione, settori danneggiati, ecc. Esistono diversi accorgimenti per garantire che una scrittura avvenga realmente. hard disk Page 20 40 Read after write o Il controller, dopo aver scritto un blocco, aspetta una rotazione completa e rilegge il blocco. In caso di discordanza ripete il ciclo di scrittura, eventualmente su altro settore di disco. done (2) from host (1) disk mechanism write (3) read (4) cache disk controller hard disk 41 I/O Controller Il percorso disco-memoria centrale include dispositivi e schemi di interconnessione variamente caratterizzati. I/O controller: gestisce uno o più dispositivi e fornisce l’interfaccia con il bus di sistema (o con quello di I/O nel caso di calcolatori a bus multipli). È anche detto Host-Bus Adapter (HBA) e, nel caso di grossi calcolatori, I/O Processor o I/O Channel Processor (canale). CPU main memory cache system bus (VME, EISA, MicroChannel, ...) SCSI string HBA hard disk Page 21 42 DMA – Direct Access Memory Molti controllori sono di fatto processori specializzati che sollevano (parzialmente) la CPU dalla gestione diretta del trasferimento (byte a byte) dei dati dal buffer del controllore alla memoria centrale, o viceversa. Con la tecnica detta di DMA, il controllore (canale) accede direttamente alla memoria e gestisce autonomamente il trasferimento dei dati da/per la memoria centrale. Il trasferimento è in generale avviato dalla CPU che comunica al canale: tipo di operazione sul dispositivo: lettura (scrittura) • indirizzo iniziale di memoria dove scrivere (leggere) • indirizzo dell’unità esterna dove leggere (scrivere) • dimensione dei dati da trasferire Al termine dell’operazione il canale invia un’interruzione alla CPU. hard disk 43 Struttura logica di un HD ¾ ¾ ¾ ¾ La struttura logica adottata influenza notevolmente le prestazioni, la compatibilità, l’espandibilità e l’affidabilità di un hard disk. DOS, includendo DOS 7.0 di Windows95 usa una FAT (File Allocation Table) che organizza i settori in cluster and usa indirizzi di cluster a 12 o 16-bit. Si possono indirizzare al massimo 65526 cluster (alcuni sono riservati). Un cluster può essere al più 32 KB, e dunque una partizione al massimo può essere di 2 GB. Windows95 OEM service Realease 2 (Version 4.00.1111, DOS 7.1) adotta una FAT a 32 bit. 4 Bit sono riservati, dunque si possono indirizzare 228 cluster. Ciò consente di ottenere partizioni fino a 8 GBs con cluster di 4 KB. La dimensione massima di una partizione è 2 TB (2048 GB). Windows NT offre supporto per NTFS, un file system evoluto che usa un direttorio organizzato come un b-tree per tenere traccia dei cluster la cui dimensione va da 512 B a 64 KB. Si possono gestire file di dimensione molto grande fino a 264B. hard disk Page 22 44 Riferimenti in Internet http://www.pcguide.com/ref/hdd/index.htm http://consult.cern.ch/cnl/236/disk_partition.html http://www6.tomshardware.com/storage/97q3/970728/index.html http://it.wikipedia.org/wiki/Hard_disk hard disk Page 23 45