venerdì 28 agosto 2009

IDE, ATA, 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, progettata per durare dieci anni

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.

Nessun commento:

Posta un commento