Protocoalele SATA
Asa cum va spuneam si in articolul anterior, saptamana aceasta este dedicata protocoalelor SATA.
Specificatia SATA defineste trei straturi distincte de protocol: fizic, link si transport.
Physical layer
Stratul fizic defineste caracteristicile electrice si fizice ale SATA (cum ar fi dimensiunile cablului, nivelul tensiunii si intervalul de functionare), precum si subsistemul de codificare fizica (codarea la nivel de biti, detectarea dispozitivului pe fir si initierea legaturii).
Transmisia fizica utilizeaza semnalizarea diferentiala. SATA PHY contine o pereche de transmisie si o pereche de receptie. Atunci cand conexiunea SATA nu este utilizata (exemplu: nici un dispozitiv atasat), emitatorul permite ca pinii de transmisie sa ramana la nivelul de tensiune al modului comun. Cand legatura SATA este activa sau in faza de initiere a legaturii, transmitatorul actioneaza pinii de transmisie la tensiunea diferentiala specificata.
Codarea fizica SATA
Codarea fizica SATA utilizeaza un sistem de codare a liniilor cunoscut sub numele de codificare 8b/10b. Aceasta schema serveste mai multor functii necesare pentru a sustine o legatura seriala diferentiala. In general, semnalizarea SATA reala este semi-duplex, ceea ce inseamna ca poate citi sau scrie date in orice moment.
De asemenea, SATA utilizeaza unele dintre caracterele speciale definite in 8b/10b. In special, stratul PHY utilizeaza caracterul virgula (K28.5) pentru a mentine alinierea simbolurilor.
Semnalele separate de semnalizare diferentiala de joasa tensiune (LVDS) sunt folosite pentru transmisia fizica intre gazda si unitate.
Stratul PHY este responsabil pentru detectarea celuilalt dispozitiv SATA pe un cablu si initierea link-ului. In timpul procesului de initiere a legaturilor, PHY este responsabil pentru generarea locala a semnalelor speciale de iesire din banda prin comutarea emitatorului intre caractere electrice inactive si 10b specifice intr-un model definit, negocind o rata de semnalizare reciproc sustinuta (1.5, 3.0 sau 6.0 Gbit/s) si sincronizeaza in cele din urma cu fluxul de date PHY al dispozitivului de la distanta.
In acest timp, nu sunt trimise date din stratul de legatura.
Dupa finalizarea initializarii legaturii, stratul de legatura intretine transmisia de date, PHY furnizand numai conversia 8b/10b inainte de transmisia de biti.
Link layer
Stratul de legatura este responsabil pentru transmiterea si receptia structurilor de informatii cadru (FIS) peste legatura SATA. Fisierele FIS sunt pachete care contin informatii de control sau date despre incarcaturile utile. Fiecare pachet contine un antet (identificand tipul) si o sarcina utila a carei continut este dependent de tip. Stratul de legatura, de asemenea, gestioneaza controlul fluxului peste link.
Transport layer
Nivelul trei in SATA este stratul de transport. Acest strat are responsabilitatea de a actiona asupra cadrelor si de a transmite/receptiona cadrele intr-o succesiune corespunzatoare. Stratul de transport gestioneaza asamblarea si dezasamblarea structurilor FIS,de exemplu, extragerea continutului din fisierele FIS in fisierul de sarcini si informarea stratului de comandă.
Stratul de transport este responsabil pentru crearea si codarea structurilor FIS cerute de stratul de comandă si eliminarea acestor structuri atunci cand cadrele sunt receptionate.
Atunci cand datele DMA urmeaza sa fie transmise si sunt receptionate de la stratul superior de comanda, stratul de transport adauga antetul de control FIS la sarcina utila si informeaza stratul de legatură pentru a se pregati pentru transmisie. Aceeasi procedura se efectueaza atunci cand sunt primite date, dar in ordine inversa. Stratul de legatura semnaleaza stratului de transport ca exista date disponibile. Odata ce datele sunt procesate de stratul de legatura, stratul de transport inspecteaza antetul FIS si il inlatura inainte de a transmite datele catre stratul de comanda.
Topologie
SATA utilizeaza o arhitectura punct-la-punct. Conexiunea fizica dintre un controler si un dispozitiv de stocare nu este distribuita intre alte controale si dispozitive de stocare. SATA defineste multiplicatori, ceea ce permite unui singur controler SATA sa conduca pana la 15 dispozitive de stocare. Multiplicatorul indeplineste functia unui hub. Controlerul si fiecare dispozitiv de stocare sunt conectate la hub. Acest lucru este conceptual similar cu expenderele SAS.
Sistemele moderne de PC au controlere SATA incorporate in placa de baza, de obicei cu doua-opt porturi. Porturile suplimentare pot fi instalate prin adaptoare gazda SATA, disponibile in mai multe interfete: USB, PCI, PCIe.
In articolul viitor, vom incheia seria de articole dedicate SATA prin prezentarea compatibilitatilor dispozitivelor SATA. Pana atunci nu uitati sa ramaneti conectati la pagina noastra de Facebook si la site pentru a fi mereu la curent cu noutatile Conectica.
Tags: blog, cabluri SATA, conectica, conectori SATA, protocoale SATA, SATA, straturi SATA