I dischi serial ATA

annuncio pubblicitario
Approfondimenti
Come funziona il Serial ATA
Dopo vent'anni di sviluppi, l'interfaccia ATA ha raggiunto il limite della sua evoluzione e cede il
passo alla sua versione seriale, progettata per durare dieci anni
Giorgio Gobbi
gennaio 2005 L'interfaccia parallela che viene usata dal 1984 per la connessione degli hard disk prese il
nome ATA (AT Attachment) perché disco e controller, combinati, si collegavano al bus di I/O del PC AT
IBM di quel tempo.
Alcuni produttori hanno quindi chiamato questa interfaccia IDE (Integrated Drive Electronics) per
indicare che l'elettronica era integrata nel drive (sotto forma di circuito stampato applicato sul fondo
dell'hard disk), a differenza dei primi dischi che avevano bisogno di un controller separato su scheda.
Prima del Serial ATA (SATA), i termini IDE (e il successivo EIDE, Extended IDE) e ATA sono stati usati
come sinonimi, anche se, a voler essere precisi, IDE si riferisce al fatto che l'elettronica di controllo è
integrata nel drive e ATA, con le sue varianti, si riferisce a una specifica implementazione di IDE.
La cronologia delle interfacce per hard disk vede la ST-506/412 dal 1978 al 1989, l'ESDI dal 1983 al
1991, versioni IDE non ATA dal 1987 al 1993, SCSI dal 1986 a oggi, ATA (IDE) dal 1986 a oggi, SATA dal
2003 e SAS (Serial Attached SCSI, la versione seriale dello SCSI) a partire dal 2004.
Dal parallelo al seriale
L'interfaccia ATA originaria è parallela a 16 bit, quindi trasporta due byte per ciclo di trasferimento.
Fino al 1998 ha utilizzato un cavo a 40 connettori (16 per i dati, 8 fili di terra e il resto per indirizzi e
segnali di controllo).
Con la piattina a 40 fili la velocità di trasmissione è cresciuta dagli 8,33 MBps (megabyte/secondo)
dell'ATA-1 ai 33,33 MBps dell'ATA-4.
Con l'ATA-4 hanno avuto origine le modalità Ultra DMA (Direct Memory Access), chiamate anche Ultra
ATA (per es. l'ATA-4 UDMA Mode 2 da 33 MBps è anche chiamato Ultra-ATA/33 o ATA-33).
Con l'Ultra DMA viene introdotto il doppio data rate (due cicli di trasferimento per ciclo di clock), per cui
la capacità della connessione raddoppia a parità di frequenza di clock (4 byte per ciclo di clock).
Con i successivi livelli ATA, dal 5 al 7, la velocità è cresciuta a 66, 100 e 133 MBps, usando le modalità
UDMA Mode 4 (Ultra-ATA/66), Mode 5 (Ultra-ATA 100) e Mode 6 (Ultra-ATA/133).
Tutte le modalità a partire dall'ATA-66 richiedono un cavo a 80 fili, anche se i connettori restano quelli
standard a 40 piedini.
I cavi ATA sono lunghi da 25 a 45 cm (ne esistono di più lunghi, ma sono da evitare perché non
garantiscono la trasmissione corretta dei dati) e solitamente presentano tre connettori, uno dal lato
motherboard e due per i drive (hard disk e CD/DVD).
I drive possono essere configurati come master (primo o unico drive), slave (secondo drive installato) o
cable select (autoconfigurazione di master e slave), il sistema più comodo.
Oggi la maggior parte dei bus e connessioni è di tipo seriale, perché è molto più facile trasportare un
bit alla volta ad altissime frequenze di clock che diversi byte in parallelo a frequenze comunque alte.
Le interferenze e le differenze di propagazione tra i segnali paralleli sono tra le cause delle difficoltà.
Mentre la connessione ATA è un bus a cui sono connessi uno o due drive, l'ATA seriale utilizza un
collegamento punto a punto; un controller può supportare più drive, ma ciascuno ha il suo cavo SATA
separato.
L'ATA-133, per supportare 133 MBps, utilizzava un bus largo 16 bit, un clock di 33 MHz e due
trasferimenti per ciclo di clock.
La connessione SATA utilizza sette fili: due coppie di conduttori, una per trasmettere e una per
ricevere, e tre fili di terra. I dati sono trasmessi con un clock che, nella versione SATA attuale, è di 1,5
GHz.
Dato che viene usata la codifica detta 8B/10B, che impiega 10 bit per ogni byte trasmesso, la
larghezza di banda della connessione è di 150 MBps.
Questa versione di SATA si chiama quindi SATA-150; nei prossimi anni sono previsti il SATA-300 (ormai
vicino) e in seguito il SATA-600.
Connettore dati
Nel corso degli anni abbiamo visto diminuire progressivamente la tensione di alimentazione dei
processori, delle memorie e degli altri componenti della motherboard.
Il cavo ATA parallelo, con i suoi 26 segnali a 5 volt, era diventato problematico anche a causa
dell'ingombro dei connettori e delle relative piste sulla motherboard fino al chipset.
Per di più, le piattine che attraversano lo spazio del telaio per connettere la motherboard agli hard disk e
CD/DVD (oltre al floppy disk) tendono a ostacolare i flussi di ventilazione.
Il limite di 45 cm non facilita una disposizione ordinata dei cavi, spesso troppo corti per aggirare la zona
centrale del telaio.
Oltre a usare basse tensioni (250 mV) e pochi fili, i cavi SATA hanno il vantaggio di poter essere lunghi
fino a un metro.
Anche nel più voluminoso dei telai trovano quindi posto senza interferire con altre connessioni e con i
flussi d'aria.
Il numero ridotto di conduttori e le piccole dimensioni del connettore e del cavo facilitano il progetto delle
motherboard e l'utilizzo degli hard disk in computer e altri dispositivi di piccole dimensioni.
La codifica 8B/10B usata dal SATA e da altre interfacce (tra cui Gigabit Ethernet, Fibre Channel e
Firewire), garantisce che non vengano mai trasmessi più di quattro 0 o 1 consecutivi in ciascun carattere
di 10 bit.
Dato che 0 e 1 sono trasmessi come variazioni di tensione, questa codifica assicura un buon
bilanciamento elettrico a vantaggio dell'uniformità di carico sui circuiti e dell'affidabilità.
La conversione dei caratteri da 8 a 10 bit lascia libere diverse combinazioni di bit, che sono utilizzate per
controllare il flusso dei dati, delimitare i pacchetti, eseguire controlli di errore e altri usi speciali.
I segnali sono di tipo differenziale, sono cioè trasmessi come differenze di tensione tra due fili (una
coppia in trasmissione e una in ricezione), così da eliminare il rumore elettrico comune ai due conduttori.
La codifica è di tipo NRZ (Non Return to Zero): tra i due fili di ogni coppia c'è sempre 0,5V di
differenza e i dati sono trasmessi scambiando le polarità; quando un filo è a +0,25 V, l'altro è a -0,25V e
viceversa.
Alimentazione
Nel progetto del Serial ATA, un hard disk dovrebbe avere due connettori affiancati: quello del segnale, a
sette piedini, e quello dell'alimentazione a 15 piedini.
Questi ultimi comprendono tre pin per 5 V, tre per 12 V, tre (di uso opzionale) per 3,3 V e sei per la
terra.
In realtà i produttori non sono affatto entusiasti di fornire anche il 3,3 V, quindi spesso si usano cavetti di
conversione dai quattro poli tradizionali (5V, 12 V e due di terra) ai 15 piedini oppure si possono
continuare a usare i vecchi cavetti a quattro poli con i drive che presentano sia il vecchio sia il nuovo
connettore di alimentazione.
Gli alimentatori di produzione recente forniscono comunque i cavetti con i connettori a 15 piedini. Con tre
piedini per ciascun livello di tensione, nonostante le piccole dimensioni, il nuovo connettore assicura fino
a 4,5 ampere di corrente per ogni tensione, sufficienti anche per il più famelico dei drive.
Approfondimenti
Come funziona il Serial ATA - parte 2

LINK
Come funziona il Serial ATA
SATA II
Quanto descritto sopra appartiene alla specifica Serial ATA 1.0. Lo standard SATA si basa sull'ATA
parallelo ed è stato definito in modo da essere compatibile a livello software con i driver ATA. Perciò, la
transizione da ATA a SATA dovrebbe essere trasparente per il sistema operativo.
I primi hard disk SATA non erano dotati di interfaccia seriale nativa, ma includevano un bridge tra ATA
parallelo e seriale; ora gli hard disk supportano il SATA in modo nativo.
Terminata la fase iniziale dell'ATA 1.0, ora si è entrati nella fase 1 della seconda versione SATA, ovvero
SATA II Phase 1.
Il SATA 1.0, infatti, non include certi aspetti necessari per configurazioni con server e storage di rete e
per workstation ad alte prestazioni. SATA II è un superset delle specifiche 1.0 e viene introdotto in due
fasi, di cui la prima è di un certo interesse per chi acquista un nuovo computer.
La Fase 1 (Phase 1), in corso di attuazione, prevede:
1) miglioramenti di prestazioni che sotto il nome di Native Command Queueing (accodamento nativo dei
comandi) comprendono l'accodamento dei comandi e il riordino della sequenza di esecuzione dei
comandi,
2) la gestione del o dei telai (Enclosure Management), che include controllo delle ventole, indicatori di
attività, controllo di temperatura, notifica dei nuovi dispositivi ecc. (per esempio, in caso di guasto a un
disco in RAID, viene individuata l'unità interessata) e
3) una soluzione per la scheda di interconnessione dei drive (backplane) nei server, che estende la
lunghezza massima delle tracce ad uso dei rack e dei drive hot-swappable (sostituibili a macchina
accesa).
La fase 2 del SATA II prevede ulteriori estensioni sempre per server e storage di rete e la seconda
generazione di velocità, ovvero 300 MBps trasferibili lungo la connessione.
Le reali prestazioni dei dischi dipendono da fattori come densità di registrazione, velocità di rotazione,
tempo di accesso delle testine, capacità del buffer e supporto NCQ (Native Command Queueing).
Inizialmente non si noterà un vantaggio nella transizione da ATA a SATA, a meno che non utilizziate
intensamente (con molte attività in multitasking e multithreading) un sistema equipaggiato con dischi e
chip-set con supporto NCQ.
La roadmap SATA è comunque progettata per un periodo di 10 anni, quindi prevede estensioni e crescita
di prestazioni al di là dei prodotti attualmente in vendita.
Native Command Queueing
Di tutte le caratteristiche del Serial ATA sopra citate, l'unica che porta un salto di qualità nella
realizzazione dei PC è la riduzione di dimensioni dei cavi e dei connettori unita all'incremento della
lunghezza massima dei cavi.
Dal punto di vista degli acquisti a breve termine, vi può interessare il supporto NCQ. Le linee più recenti
di hard disk SATA ne sono dotate, come pure i controller SATA inclusi nei nuovi chipset per PCI-Express
(per esempio di Intel e VIA).
Tuttavia facciamo notare che i primi test mostrano incrementi di prestazioni nei test sintetici ma non con
le reali applicazioni.
Nell'uso quotidiano del desktop, con tutta probabilità, non avrete benefici tangibili dall'uso di dischi SATA
con NCQ.
Se dovete acquistare un nuovo sistema e volete avere le tecnologie più recenti, accertatevi che il chipset
e gli hard dischi supportino l'NCQ (SATA II Fase 1), ma se state usando dischi ATA e volete migliori
prestazioni, la strada maestra è quella di passare allo SCSI, non al SATA.
Sgombrato il terreno da false aspettative, diamo un'occhiata a come funziona l'NCQ, che dagli anni '90 è
supportato dai dischi SCSI e finalmente approda anche sui comuni desktop.
Normalmente, per accedere ai dati su disco, la CPU invia una richiesta e, se il dato non è presente in una
delle cache, viene comandato alle testine di posizionarsi in modo da potere iniziare la lettura dei dati.
Trascurando i dettagli (una lettura logica può richiedere parecchie letture fisiche), se occorre accedere a
una serie di dati non sequenziali distribuiti in varie zone del disco, le testine dovranno saltare da un
cilindro all'altro, avanti e indietro.
Per esempio, se la sequenza di accesso è A, D, B, F, G, C, E (immaginando che la sequenza alfabetica
corrisponda all'angolo di rotazione), si perderanno parecchi cicli di rotazione prima che le testine abbiano
visitato tutti i blocchi di dati.
Con il NCQ, il disco immagazzina una coda delle richieste di accesso, quindi le riordina (ne cambia la
sequenza) per ridurre al minimo il numero di rotazioni e il tragitto delle testine in modo da eseguire tutti
gli accessi nel più breve tempo possibile.
La rotazione dei piatti e il posizionamento sulla traccia (seek) sono i due criteri per ottimizzare
l'esecuzione dei comandi in coda, così da compiere il tragitto più breve per visitare tutti i blocchi di dati
che la coda di comandi prevede di leggere e scrivere.
Questo meccanismo di accodamento e riordino è paragonabile all'ottimizzazione delle consegne da parte
di un corriere che debba consegnare decine di colli in diverse zone di una città; anziché esaminare una
consegna per volta in sequenza e saltare continuamente da un capo all'altro della città, il corriere
stabilisce il percorso che richiede il tempo minore per eseguire tutte le consegne.
Per sfruttare il NCQ occorre che le applicazioni creino code di comandi, il che non succede se è in
esecuzione una singola applicazione che attende la risposta a una richiesta di dati prima di inviare la
richiesta successiva.
L'alternativa è utilizzare parecchie applicazioni in esecuzione simultanea, oppure applicazioni
multithreaded o anche, secondo Intel, applicazioni scritte per sfruttare l'HyperThreading.
Visto il modesto successo dell'HyperThreading, possiamo supporre che l'imminente introduzione delle CPU
dual-core incoraggi gli sviluppatori a scrivere software con più thread paralleli, che potrebbero contribuire
a creare code di comandi di accesso a disco.
In definitiva, l'NCQ, come tutte le funzioni introdotte nel SATA II, avvantaggia server e network storage
più che i desktop di tutti noi.
In ogni caso, per sfruttare le potenzialità dei dischi ad alte prestazioni occorre anche disporre di
piattaforme hardware capaci di supportare la crescente larghezza di banda messa a disposizione dai
dischi SATA (come avviene anche per lo SCSI) e dalle altre connessioni su cui vengono fatti scorrere i
dati (USB, FireWire, Gigabit Ethernet ecc.).
Uno degli elementi chiave di questa crescita è la connessione PCI-Express (vedi articolo pubblicato sul
numero scorso), che mette ordine tra i vari tipi di connessione e porta sui desktop prestazioni prima
riservate ai server.
Approfondimenti
Come funziona il Serial ATA - parte 3

LINK
Come funziona il Serial ATA
RAID e server
Con il SATA II, che prevede tra l'altro backplane, gestione dei telai, moltiplicatori di porta e connessioni
multiple, diventa facile assemblare telai per lo storage in RAID con connessioni multiple compatte
(attraverso appositi connettori per backplane).
Il SATA si appresta quindi a occupare lo spazio dei server di fascia medio-bassa di costo contenuto,
lasciando allo SCSI la fascia delle applicazioni ad alte prestazioni e prezzo decisamente più alto.
Il confronto fra i vari tipi di bus
Interfaccia ATA
SATA
SCSI
SCSI
seriale
Fibre
Channel
parallela
seriale
seriale
Tipo di
interfaccia
parallela seriale
Indirizzam.
(n. drive)
2
1 o 16 con
SATAII
16
128
16 milioni
Distanza
(metri)
0,5
1
12
10
10 Km
80
Connessione fili/40
pin
7 pin
68 pin,
interno/
esterno
7 pin
rame/ottico,
interno/
esterno
Doppia
porta
no
no
no
sì
sì
Topologia
bus
punto a
punto
bus
punto a
punto con loop, fabric
espansioni
Duplex
half
half
half
full
Max n.
dispositivi
2
1 o 15 con
port
multiplier
16
4.096 con 127 loop,
espansioni 2*24 fabric
Lunghezza
cavo
0,45 m
storage
Applicazioni
interno
1m
12 m
server di
ATA RAID,
fascia
server e
media/
workstation
enterprise
10 m
full
30 m
(rame)/
300 m
(ottico)
server di
SAN e
fascia
server
media/
enterprise
enterprise
Informazioni
Trovate abbondanza di informazioni sul Serial ATA sia nei siti dei produttori (Maxtor, Seagate, Adaptec
ecc.) sia nel sito del Serial ATA Working Group (www.serialata.org).
Scarica