Differenze sata e IDE
SATA = Serial ATA è il nuovo sistema seriale di trasferimento dati molto più veloce e sicuro di quello tradizionale (ATA).
ATA = o anche IDE, EIDE, ATAPI, UDMA, PATA, che in effetti sono la stessa cosa, e rappresentano il sistema di trasferimento dati in modo parallelo, ormai sostituito dalla nuova tecnologia seriale (SATA).
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
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.
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'<b>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.
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.

 
                       
                       
                       
                       
                       
                      