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