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 es …
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.





