Sunteți pe pagina 1din 42

Memoria extern a calculatoarelor

7. Discuri fixe
Discul fix se regsete sub denumiri ca disc amovibil, disc dur, dar cel mai adesea se folosete denumirea de hard disk (HD). Hard disk-ul este principalul dispozitiv de stocare a datelor. Nici un alt periferic nu se apropie de utilitatea pe care o confer hard disk-ului viteza, rata de transfer i capacitatea. El stocheaz toate programele i toate fiierele utilizatorului i trebuie s le furnizeze sistemului ntr-un timp foarte scurt dup ce aceast operaie i-a fost solicitat. Hard disk-urile difer ca tehnologie de fabricaie, interfa, vitez i capacitate de stocare a datelor, toate aceste elemente fiind interdependente.

7.1. Mediul de memorare al hard disk-ului


Mediul de memorare al hard disk-ului este alctuit dintr-un numr de platane circulare din aluminiu. n timp, pe msura creterii vitezei platanelor, au nceput s se utilizeze alte materiale ca sticla, compui de ceramic i sticl sau aliaje de magneziu. Aceste platane au dus la denumirea de disc dur, spre deosebire de floppy-disk, care are suportul de memorare pe discuri flexibile. De asemenea, platanele nu pot fi extrase din unitate, motiv pentru care unitatea se mai numete unitate de disc fix (nu sunt amovibile). Hard disk-urile mai sunt denumite uneori i discuri Winchester, denumire care dateaz din anii 60, cnd IBM a realizat un disc cu capacitatea de 30 MB pe platane fixate n unitate, i 30 MB pe volume interschimbabile (ce puteau fi introduce sau extrase din unitatea de hard disk). Unitatea avea platane ce se roteau cu vitez mare i capete de citirescriere care glisau pe pern de aer deasupra platanelor, toate acestea fiind 236

situate ntr-o cutie etan. Aceast unitate numit 30-30 a primit denumirea de disc Winchester, dup faimoasa carabin Winchester 30-30. Dup aceea, denumirea s-a extins la toate unitile de disc care aveau mai multe platane i capete de citire-scriere glisante pe pern de aer. Termenul nu are, deci, un neles tehnic sau tiinific, fiind o denumire argotic. Informaia pe disc se stocheaz pe piste i sectoare logice. Fiecare platan are ambele fee acoperite cu un strat magnetic. Mulimea pistelor care au aceeai distan fa de centru formeaz un cilindru. Ansamblul tuturor cilindrilor formeaz un volum. Un cilindru poate fi imaginat ca o stiv vertical de piste. Unitatea de disc are cte un cap de citre/scriere pentru fiecare pist. Toate capetele sunt montate pe un mecanism special ce asigur deplasarea lor pe orizontal. Capetele sunt deplasate simultan. Cea mai mare parte a discurilor au cteva platane (2, 3 sau4), dei sunt discuri cu nlime redus ce au un singur platan, dup cum sunt discuri i cu 12 platane. Platanele au dimensiuni de 5,25 inch, 3,5 inch, iar pentru Notebook, PalmPC i Laptop 1,8 inch, 1,3 inch sau chiar 1 inch. Dou tipuri de suport magnetic sunt utilizate pentru platanele discurilor: strat de oxid i pelicul subire. Tehnologia de pelicul subire este folosit pe discurile actuale deoarece permite distane mai mici ntre capete i disc. Acoperirea platanelor n aceast tehnologie se realizeaz prin dou modaliti: placare electrolitic i metalizare n vid. Viteza de rotaie a platanelor este de 3600 rpm (rotaii pe minut), 4500 rpm, 5400 rpm, 7200 rpm i 10000 rpm. Att timp ct discul se afl n rotaie, capetele nu ating platanele. La viteza nominal a discului, se creeaz o pern de aer ntre capul de citire i disc ca urmare a efectului planar. Capul plutete deasupra discului la o distan de 0,1-0,2 microni, care este determinat de viteza de rotaie, forma capului i tensiunea braului. Capetele de citire-scriere utilizate n unitile de hard-disk-uri sunt: - capete de ferit, - capete cu ntrefier metalizat, - capete cu film subire - capete magneto-rezistive. Pentru discurile de capaciti mari (cu densitate mare de nregistrare) sunt utilizate capetele magneto-rezistive. Un cap magneto-rezistiv este o construcie format dintr-un cap inductiv obinuit cu pelicule subiri pentru scriere i un cap special magneto-rezistiv pentru citire. Deoarece sunt de fapt dou capete separate, fiecare poate fi optimizat pentru scopul su. Astfel, capul de scriere scrie o pist mai lat dect capul de citire. Capul de citire este mai puin susceptibil s citeasc informaia parazit de pe suportul magnetic de la pistele alturate. 237

Mecanismul de poziionare a capetelor este realizat n urmtoarele dou variante constructive: - mecanisme cu motor pas cu pas, - mecanisme cu bobin vibratoare. Influena alegerii mecanismului de poziionare a capetelor nu se limiteaz numai la vitez, ci i la sensibilitatea la vibraii i temperatur.

7.2. Organizarea i adresarea datelor


Combinaia ntre controlerul HD i soft-ul care l echipeaz determin modul n care sunt aezate datele pe disc. Am vzut c discul este divizat n cilindri i piste. Fiecare pist este divizat la rndul ei n arcuri de cerc numite sectoare, sectorul fiind unitatea de stocare de baz a HD-ului. Unele sisteme de operare folosesc sectorul ca unitate de baz (de exemplu High Performance File System al lui OS/2). DOS-ul ns unete mai multe sectoare pentru a forma unitatea de baz cluster-ul. Sectoarele pot fi marcate soft sau hard. In industria HDurilor dimensiunea unui sector este prin convenie 512 bytes. Numrul de sectoare de pe o pist depinde de construcia discului. Majoritatea HD-urilor utilizeaz nregistrarea prin zone multiple care permite existena unui numr variabil de sectoare pe o pist. Un disc cu numr fix de sectoare pe o pist stocheaz date la densiti mai sczute pe pistele exterioare ale discului dect n cele dinspre centru, cele mai apropiate de axul discului stocnd datele la cea mai mare densitate permis de mediul magnetic. nregistrarea prin zone multiple (MZR Multiple Recording Zone) permite discului s menin o densitate de nregistrare relativ constant. Drive-urile MZR trebuie s-i mascheze caracterisricile fizice astfel nct s par c au formate standard piste a cte 17 sectoare, sectoare de cte 512 bytes de date. DOS nu poate opera cu discuri ce i modific numrul de sectoare de pe o pist: de la 17 la 23, de la 23 la 31. Nici pistele, nici sectoarele nu sunt marcate fizic pe suprafaa platanelor. Ele sunt definite magnetic prin intermediul unor abloane bit (informaii de amplasare) codificate, nregistrate pe disc. Procesul prin care sectoarele sunt definite pe disc se numete formatare la nivel sczut deoarece are loc la un nivel de control sub cel care opereaz comenzile DOS normale. n definirea pistelor exist trei metode: - prin numrarea lor pist cu pist, operaie ce se realizeaz de ctre mecanismul de acionare a capetelor, - prin servo-date permanent nregistrate pe piste, n servo-suprafee speciale, 238

- prin servo-date ncorporate. n HD-urile clasice, bii ablon speciali de pe disc servesc drept identificatori. abloanele indic nceputul sectorului i conin un numr de identificare (ID) care codific sectorul i pista. ID-ul precede fiecare sector, iar datele pentru corectarea erorilor se afl la sfritul sectorului. La o operaie normal, servo-sistemul caut o anumit pist, apoi drive-ul citete ID-urile pn gsete sectorul solicitat. ID-ul de sector poate s consume o parte semnificativ din spaiul disponibil pe fiecare pist, aa c productorii au cutat modaliti s-l elimine. IBM a dezvoltat un format care elimin ID-ul prin introducerea unei hri de format n RAM. Harta specific unde este localizat fiecare sector de pe fiecare pist i care sectoare au fost marcate ca fiind defecte. Adresarea HD-urile sunt dispozitive cu acces aleator, dar accesul aleator este la nivel de sector, nu la nivel de byte. HDD-ul localizeaz i identific fiecare sector cu ajutorul poziiei cilindrului, unde mut capul, al numrului corepunztor capului i al numrului sectorului n cadrul pistei. Aceste trei valori cilindru, cap, sector furnizeaz adresa fizic a fiecrui sector de pe disc. CHS HD-urile mai vechi necesitau ca sistemul de operare s identifice fiecare sector prin adresa sa fizic exact. Cele trei valori pentru cilindru, cap i sector au dat numele de adresare CHS (Cylinder-Head-Sector). Adresarea fizic conferea sistemului de operare stabilitate i posibilitatea de acces direct la HDD. Dac un sector este defect, sistemul de operare are rspunderea s nu permit folosirea lui. Sistemul a devenit depit odat cu creterea capacitii discurilor (acest sistem permitea existea a doar 1024 de cilindri, ceea ce nsemna spaii de adresare CHS de pn la 80-120 MB). Translatarea sectoarelor Principala strategie folosit de productori pentru a depi limita de 1024 cilindri impus de adresarea CHS a fost translatarea sectoarelor. Partea electronic a HD-ului translateaz valorile CHS, trimise de sistemul de operare, n diferite valori pe care le folosete pentru adresarea fizic a sectoarelor. Dei un PC trimite valori CHS rmnnd astfel compatibil cu hardware-ul i software-ul convenional - acestea nu corespund direct sectoarelor de pe disc. Translatarea sectoarelor permite unui drive de pe disc s par c are o aranjare a cilindrilor, pistelor i sectoarelor diferit de cea real.

239

Adresarea n blocuri logice O dat ce un HD are suficient inteligen pentru a traduce adresarea CHS, nu mai este nevoie s fie urmat convenia CHS la trimiterea adreselor ctre un disk drive. Drive-ul poate transforma orice valoare n adres fizic CHS a sectoarelor individuale. Cea mai popular metod de adresare de pe HD este acum adresarea n blocuri logice (LBA Logical Block Adressing). n LBA fiecare sector este numerotat, de la primul la ultimul. Pentru a adresa un sector, UC trimite un numr de sector pe care drive-ul l transform n adresa fizic CHS pentru a accesa datele solicitate. Adresarea LBA are o flexibilitate mai mare dect adresarea CHS. LBA poate fi utilizat pentru a adresa i alte dispozitive hard dect HD. Orice dispozitiv care fragmenteaz datele n blocuri, care pot fi practic de orice mrime, poate utiliza LBA.

7.3. Detalii de funcionare 7.3.1. Sincronizarea ceasului de citire/scriere


Odat ce capetele de citire/scriere sunt poziionate corect pe cilindrul corespunztor, urmtoarea operaie este ajustarea ceasului de citire/scriere pentru sincronizarea acestuia cu rata datelor de pe disc. n acest caz nu exist ns mecanism servo, toate operaiile fiind efectuate electronic. Atunci cnd nu exist tranziii de flux pe o anumit distan, delimitarea biilor se realizeaz prin msurarea timpului. Exist un sistem de eantionare care detecteaz o tensiune datorit schimbrilor de polaritate ale fluxului, d/dt. Dac n fereastra de timp corespunztoare unui bit are loc o schimbare, bitul este 1, n caz contrar bitul fiind 0. Aceste semnale sunt ilustrate n Figura 7.1, mpreun cu ceasul care indic momentele n care trebuie eantionat d/dt. n exemplul prezentat, ceasul are frecvena corespunztoare ratei biilor, momentul eantionrii fiind frontul cresctor al ceasului. Sistemul testeaz dac amplitudinea tensiunii detectate este mai mare dect un anumit prag n momentul eantionrii. Prin introducerea acestui prag se obine o margine fa de zgomotele inevitabile provenite de la diferite surse. n Figura 7.1 irul de bii detectat este 1001 0100 0101 0001 0100 0001 0010 0001. n figura 7.1 ceasul este sincronizat corect cu irul de bii. Pentru asigurarea sincronizrii o posibilitate ar fi prenregistrarea informaiilor de ceas. Nu se procedeaz aa deoarece canalele de sincronizare ar ocupa spaiu pe disc. 240

Bra

ir de bii

0,1 m

Cap

2m

v=

d dt

Ceas

Figura 7.1. Semnalul de tensiune (v) detectat de capul de citire i semnalul de ceas reconstruit din irul de bii. Semnalul de ceas este generat cu ajutorul unui oscilator controlat n tensiune care utilizeaz chiar irul de bii ca un semnal de comparaie n ceea ce reprezint un sistem servo electronic, i anume bucla cu calare de faz (PLL - Phase-Locked Loop). PLL compar diferena de timp, t, dintre frontul cresctor al ceasului i vrful tensiunii induse, comandnd apoi oscilatorul pentru a reduce aceast diferen. Prin reducerea tensiunii care controleaz oscilatorul frecvena acestuia va scade, iar prin creterea tensiunii frecvena va crete. Prin utilizarea acestui control, eroarea de faz i de frecven poate fi redus n mod semnificativ. PLL nu poate asigura sincronizarea dect pe o perioad scurt de timp, fiind necesare tranziii relativ frecvente ale fluxului, asigurate de o metod de codificare adecvat.

Date Adugare utilizator ECC

Disc

Codificare RLL

Decodificare RLL

Eliminare ECC

Date utilizator

Figura 7.2. Codificarea i decodificarea datelor transferate pe disc i citite de pe disc 241

Figura 7.2. indic etapele prin care trec datele iniiale n cursul transferului lor pe disc i de pe disc. Pentru corectarea erorilor de scriere i de citire care pot apare, datelor li se adaug coduri corectoare de erori (ECC - Error Correction Code). Se adaug att coduri ECC lungi (Reed-Solomon) ct i scurte. Dac la o citire se detecteaz o eroare i aceasta nu poate fi corectat printr-un cod ECC simplu, local, se efectueaz un numr de ncercri pentru recitirea datelor. Dac nu se poate efectua o citire fr erori, se utilizeaz codul ECC lung pentru a ncerca corectarea erorii.

7.3.2. Detectarea biilor


Determinarea valorii bitului dintr-o fereastr de timp necesit circuite electronice complexe. Semnalul va conine zgomote de la canalul nsui, de la canalele adiacente i de la circuitele electronice. Pentru a avea o anumit imunitate la zgomote i a se putea lua o decizie asupra valorii bitului, semnalul de intrare este filtrat, i se detecteaz valoarea maxim, i n final este difereniat. Dac nu este detectat un vrf cu o amplitudine suficient, bitul are valoarea 0. Dac valoarea de vrf este deasupra valorii de prag, este detectat poziia trecerii prin zero a semnalului difereniat. Bitul din fereastra n care se detecteaz trecerea prin zero va avea valoarea 1. Prelucrarea semnalelor este prezentat n figurile 7.3 i 7.4. O tranziie de flux, fr zgomote, provine direct de la semnalul de la capul de citire. Acest semnal este trecut printr-un filtru trece jos care elimin o mare parte din zgomote, dar lrgete de asemenea impusul. Impulsul este apoi redresat pentru ca att tranziiile pozitive ct i cele negative s fie reprezentate ca pozitive. Dac impulsul rezultat depete pragul de detecie, rezult c bitul detectat este 1 logic.

Prag de detecie

Trecere prin zero

d dt

Filtrare i redresare

d dt

Figura 7.3. Diferitele semnale utilizate pentru citirea datelor de pe disc

242

Difereniere amplitudine Semnal analogic Egalizor

d dt

Detector de trecere i PLL

1 sau 0

Figura 7.4. Prelucrarea semnalelor implicate n translatarea semnalului d/dt ntr-un ir de bii 1 i 0. Impulsul filtrat este apoi difereniat i trecerea prin zero a semnalului este utilizat pentru a determina momentul apariiei impulsului. Exist o anumit imprecizie n determinarea momentului trecerii prin zero. De asemenea, exist o anumit probabilitate de a atribui valoarea 1 sau 0 unei poziii eronate. Codul RLL trebuie construit astfel nct o astfel de eroare s nu se propage prea departe. Aceast propagare poate apare deoarece interpretarea bitului succesor depinde n mare parte de interpretarea predecesorului acestuia. Dac propagarea erorii este redus, codul ECC va permite reconstruirea biilor care nu au fost determinai n mod corect.

7.4. Reprezentarea i organizarea fizic a datelor 7.4.1. Metode de codificare a datelor


Informaiile digitale sunt codificate cu ajutorul unui circuit numit codificator/decodificator (Endec-Encoder/Decoder), cu rolul de a optimiza plasarea impulsurilor utilizate pentru nregistrarea magnetic. La citire, acelai circuit inverseaz procesul i decodific trenul de impulsuri, refcnd trenul de impulsuri iniiale. La interpretarea formelor de und de la scriere sau citire, este foarte important existena unei sincronizri corecte ntre dispozitivele care emit i cele care recepioneaz datele. Aceast sincronizare se poate realiza prin adugarea unei linii separate, pe care se transmite semnalul de sincronizare (un semnal de ceas) ntre cele dou dispozitive. Semnalele de date i cele de 243

ceas se pot combina ntre ele i se pot transmite apoi pe o singur linie. Cele mai multe metode de codificare a informaiilor utilizeaz o astfel de combinaie de date i semnale de ceas. Impulsurile de ceas sunt folosite pentru a delimita nceputul i sfritul celulelor de bit. Fiecare celul de bit este delimitat de cte dou celule de ceas pe durata crora se transmit tranziiile de ceas. Prin transmiterea informaiilor de ceas mpreun cu datele, ceasurile vor rmne sincronizate, chiar dac se transmite un ir lung de zerouri. Celulele de tranziii utilizate pentru sincronizare ocup ns un spaiu pe disc. Deoarece pentru un suport de nregistrare dat numrul tranziiilor de flux care poate fi nscris este limitat de calitatea stratului magnetic i de tehnologia de fabricaie a capetelor de citire/scriere, s-a ncercat utilizarea diferitelor metode de codificare a informaiilor, astfel nct numrul de tranziii de flux s fie minim. Dintre metodele de codificare, cele mai cunoscute sunt urmtoarele: - FM (Frequency Modulation); - MFM (Modified Frequency Modulation); - RLL (Run Lenght Limited).

7.4.1.1. Metoda FM
Aceast metod de modulaie n frecven este numit i nregistrarea n simpl densitate (Single Density). Este una din cele mai simple metode de codificare a informaiilor, fiind utilizat la primele uniti de discuri flexibile utilizate de calculatoarele personale. Metoda nu mai este folosit n prezent. n fiecare celul de bit se nregistreaz o tranziie de flux pentru un bit egal cu 1, sau nu se nregistreaz nici o tranziie pentru un bit egal cu 0. Datele sunt nscrise mpreun cu un semnal de ceas pentru a pstra sincronizarea ntre controler i unitatea de disc, mai ales n cazul citirii unei serii lungi de zerouri, cnd nu apare nici o tranziie pe o perioad mai lung. Pentru fiecare bit sunt necesare dou celule de tranziii. Un bit de 1 este nregistrat ca o tranziie de flux de ceas, urmat de o tranziie de flux de date, care apar din punctul de vedere al unitii ca dou tranziii de flux consecutive. Pentru un bit de 0, numai celula de ceas conine tranziie de flux. Pentru ambele cazuri, tranziia de flux iniial reprezint semnalul de ceas, iar a doua celul de bit conine o tranziie numai dac bitul nregistrat este un bit de 1. Tabelul 7.1 prezint codificarea prin aceast metod, unde: T - indic existena unei tranziii de flux; N - indic lipsa unei tranziii de flux. 244

Bit de informaie 1 0

Codificarea n tranziii de flux TT TN

Tabelul 7.1. Metoda de codificare FM Folosind aceast metod, un octet de zerouri se codific prin "TNTNTNTNTNTNTNTN", iar un octet care conine doar bii de 1 se codific prin "TTTTTTTTTTTTTTTT". Rezult c n cazul irului de bii de 1 frecvena tranziiilor de flux este dubl comparativ cu frecvena tranziiilor n cazul irului biilor de 0, de unde numele de modulaie n frecven. Dei metoda este simpl, apare dezavantajul c fiecare bit de informaie necesit dou tranziii de flux, ceea ce duce la njumtirea capacitii poteniale a discului.

7.4.1.2. Metoda MFM


Aceast metod de modulaie n frecven modificat (Modified Frequency Modulatiom MFM) este numit i nregistrarea n dubl densitate (Double Density), deoarece conduce la nregistrarea unei cantiti de informaie duble fa de cea a metodei FM. Ideea este a minimiza numrul celulelor de tranziii de ceas pentru a ctiga spaiu pentru date. Tranziiile de ceas sunt nregistrate numai dac un bit de 0 este precedat de un alt bit de 0, aa dup cum reiese din tabelul 7.2. Din cauza minimizrii numrului de tranziii de ceas, frecvena real a ceasului poate fi dublat fa de metoda FM, deci ntr-un numr de tranziii de flux egal cu cel utilizat de metoda FM se pot nregistra un numr dublu de bii. Dublarea frecvenei ceasului conduce i la dublarea vitezei cu care sunt scrise i citite informaiile, chiar dac din punct de vedere al unitii de tranziie de flux acestea au aceeai frecven ca n cazul metodei FM. Sincronizarea tranziiilor de flux trebuie s fie ns mult mai precis dect n cazul metodei FM, ceea ce a necesitat mbuntirea circuitelor unitii i ale controlerului. Bit de informaie 1 0 precedat de 0 0 precedat de 1 Codificarea n tranziii de flux NT TN NN

Tabelul 7.2. Codificarea MFM 245

7.4.1.3. Metoda RLL


Este metoda cea mai rspndit astzi i permite ca pe disc s fie nregistrate cu 50% mai multe informaii dect cu metoda MFM i de trei ori mai multe informaii dect prin metoda FM. A fost utilizat pentru prima dat de firma IBM pentru discurile instalate n sistemele de tip mainframe. La sfritul anilor '80, metoda a nceput s fie utilizat i de productorii discurilor pentru calculatoarele personale. Astzi practic toate unitile de discuri existente utilizeaz una din formele metodei RLL. Deosebirea principal fa de metodele anterioare este aceea c prin metoda RLL nu se codific un singur bit, ci un grup de bii n acelai timp. Aceast metod reprezint de fapt o familie de tehnici de codificare, deoarece exist doi parametri care definesc modul de codificare, i prin urmare exist mai multe variante posibile. Numele metodei, Run Length Limited, provine de la aceti parametri, care sunt numrul minim (run length) i numrul maxim (run limit) de celule de tranziie permise ntre dou tranziii de flux reale. Limita minim, care indic gradul de apropiere ntre dou tranziii de flux consecutive, este necesar din cauza densitii de nregistrare limitate a suportului magnetic. Limita maxim este necesar pentru pstrarea sincronizrii ntre unitate i controler. Varianta metodei RLL este exprimat sub forma "RLL X,Y", unde X indic lungimea (run length), iar Y indic limita (run limit). Dintre variantele posibile numai dou sunt mai rspndite: RLL 2,7 i RLL 1,7. Metodele FM i MFM pot fi considerate ca metode ale variantei RLL. Metoda FM mai poate fi numit RLL 0,1 deoarece folosete cel puin zero i cel mult o celul de tranziii ntre dou tranziii de flux. Metoda MFM poate fi numit RLL 1,3 pentru c folosete cel puin una i cel mult trei celule de tranziie ntre dou tranziii de flux. n varianta RLL 2,7, care a fost la nceput cea mai rspndit form a metodei RLL, densitatea informaiei nscrise ntr-o zon egal cu cea folosit de metoda MFM este mai mare de aproximativ 1,5 ori fa de metoda MFM. Totui metoda RLL 2,7 nu este suficient de fiabil pentru unitile de mare capacitate [5]. Multe din unitile de mare capacitate utilizate n prezent folosesc varianta RLL 1,7 care ofer o densitate de 1,27 ori mai mare dect metoda MFM ntr-o detecie a tranziiilor mai mare dect cea de la MFM. Fa de varianta RLL 2,7 densitatea este ceva mai mic, dar fiabilitatea este mult mai mare, deoarece zona n care poate fi detectat o tranziie este mai mare. Pentru fiecare variant a metodei RLL se pot construi numeroase tabele de codificare. Pentru varianta RLL 2,7 s-a ales ca exemplu tabela utilizat de IBM, fiind cea mai rspndit. Conform acestei tabele, grupuri specifice 246

de 2, 3 sau 4 bii sunt codificate n tranziii de flux avnd 4, 6 respectiv 8 celule de tranziii. Tranziiile utilizate pentru codificarea unei secvene de bii sunt alese astfel nct tranziiile de flux s nu fie nici prea apropiate, nici prea deprtate unele fa de altele. Pentru varianta RLL 2,7 au fost alese pentru a codifica grupuri de bii conform tabelului 7.3. Bii de informaie 10 11 000 010 011 0010 0011 Codificarea n tranziii de flux NTNN TNNN NNNTNN TNNTNN NNTNNN NNTNNTNN NNNNTNNN

Tabelul 7.3. Codificarea RLL Pentru toate cele trei metode de codificare prezentate, distana minim i cea maxim ntre dou tranziii de flux consecutive este aceeai. Densitatea tranziiilor de flux este deci neschimbat, dei cantitatea informaiilor codificate este diferit, ceea ce nsemn c acelai disc poate avea capaciti diferite n funcie de metoda de codificare utilizat.

7.4.1.4. Metoda de codificare i detecie PRML


Metoda PRML (Partial Response Maximum Likelihood - rspuns parial, probabilitate maxim) nu este nou. A fost descoperit de un grup de cercettori de la IBM la nceputul anilor '70. Aceast tehnologie a fost utilizat timp de aproape dou decenii n domeniul comunicaiilor de date, una din aplicaiile acesteia fiind mbuntirea performanelor modemurilor. PRML nu este o tehnologie complet nou nici pentru tehnologia discurilor fixe, IBM a introdus prima generaie de canale de detecie bazate pe aceast metod n 1990. Formele mai avansate ale acestei tehnologii au fost introduse de firma Quantum Corporation. O prim generaie a unui canal de detecie a fost inclus n 1993 de aceast firm n unitile de discuri Empire 1440/2160, iar a doua generaie a fost utilizat n unitile Grand Prix 2130/4270. 247

Canalele de detecie PRML permit productorilor unitilor de discuri s satisfac principalele cerine pentru noile uniti de discuri: performane mbuntite i o integritate ridicat a datelor. Aceste canale reprezint un avans tehnologic major fa de canalele de detecie tradiionale, la care creterea densitii datelor sau a ratelor de transfer pot afecta n mod negativ integritatea datelor. Tehnologia canalelor de detecie PRML utilizeaz o metod eficient de codificare a datelor pe lng tehnici avansate de filtrare digital i de detecie a datelor. Ca rezultat, a devenit posibil creterea densitii de nregistrare cu 3040% fa de metodele tradiionale, ca i creterea ratelor interne de transfer ale unitilor de discuri n aplicaii legate de multimedia i grafic. Principiul metodei Canalele de detecie PRML elimin efectele negative ale fenomenului de interferen ntre simboluri, care poate aprea la citirea datelor n cazul unitilor de discuri cu densiti ridicate de nregistrare. Pe msura creterii densitii de nregistrare, vrfurile formelor de und ale semnalului analogic care sunt detectate n timpul operaiilor de citire se succed n faa capului de citire cu rate ridicate. La aceste rate apare posibilitatea ca vrfurile semnalului s fie prea apropiate, ducnd la apariia interferenei ntre simboluri, ceea ce conduce la rndul ei la erori de citire. Canalele PRML previn asemenea erori de citire la unitile cu densiti de nregistrare ridicate prin utilizarea unor tehnici de filtrare digital care modific forma semnalului citit astfel nct acesta s aib caracteristicile dorite de frecven i sincronizare (obinnd aa numite caracteristici de "rspuns parial" a PRML). Aceste canale utilizeaz apoi prelucrarea digital i detectarea digital pentru a determina secvena cea mai probabil a biilor de date care au fost nregistrai pe disc (componenta de "probabilitate maxim" a PRML). Aceast metod de detectare cu acuratee ridicat este implementat utiliznd algoritmul Viterbi, dup numele lui Andrew Viterbi, cel care a inventat algoritmul. Deci, canalele PRML asigur integritatea ridicat a datelor i, n acelai timp, creteri semnificative ale densitii de nregistrare. Asemenea creteri conduc, la rndul lor, la rate interne de transfer mai ridicate, deoarece cu creterea densitii liniare de nregistrare, msurat n bii pe inch (bpi), crete numrul de bii care pot fi transferai ntr-un interval de timp dat de la un disc al unitii la canalul de citire. Metoda PRML este complet diferit de metodele de detecie utilizat de canalele tradiionale de citire, care nu compenseaz efectul interferenei ntre simboluri. Aceste canale tradiionale reduc posibilitatea unor interferene semnificative prin utilizarea n timpul operaiilor de scriere a unei metode de codificare a datelor care separ n mod eficient vrfurile semnalului analogic n timpul operaiilor de citire. Circuitele de detecie 248

analogic ale canalului de citire pot detecta cu acuratee fiecare vrf al semnalului. Principala problema care apare n cazul deteciei tradiionale este c metoda de codificare a datelor reduce cantitatea datelor utile fa de cantitatea total a datelor care pot fi memorate pe un disc. Aceast reducere are dou efecte asupra unitilor de discuri, deci sunt necesare mai multe discuri pentru a obine capacitatea necesar, iar scderea densitii de nregistrare reduce rata de transfer a datelor. Prin utilizarea canalelor avansate de detecie PRML se pot obine aceleai rate reduse ale erorilor ca i n cazul deteciei tradiionale, utiliznd aceleai capete de citire/scriere i acelai tip de suport, obinndu-se ns densiti i capaciti mai ridicate. Operaii executate de un canal PRML S considerm mai nti funcionarea unui canal tradiional. n timpul unei operaii de scriere, datele codificate sunt convertite n semnale analogice, care sunt utilizate de capul de citire/scriere al unitii pentru generarea tranziiilor de flux magnetic pe suport. n timpul unei operaii de citire, capul de citire/scriere detecteaz schimbrile de flux magnetic de pe disc i genereaz un semnal analogic care este transmis la canalul de citire. Canalul de citire analizeaz semnalul pentru a detecta vrfurile pozitive i negative ale acestuia (fiecare din aceste vrfuri reprezint un bit de date), convertete datele n informaii digitale i n final decodific datele n secvena original de bii de 1 i 0 conform figurii 7.5.

Conversie analog-digital Date digitale

Figura 7.5. Detectarea vrfurilor la canalele de citire uzuale Detecia PRML se bazeaz pe dou presupuneri: - forma semnalului citit, provenit de la tranziie izolat, este cunoscut cu exactitate i determinat, 249

- suprapunerea semnalelor de tranziii adiacente este liniar. Schema bloc a unui sistem PRML tipic este ilustrat n Figura 7.6.
Semnal analogic de la cap de citire Eantioane ale semnalului analogic egalizat
Detector de probabilitate maxim (Viterbi)

Semnal analogic egalizat Convertor analog-digital Ceas regenerat Regenerare ceas i ctig

Amplificator cu ctig variabil Ctig regenerat

Egalizator

Egalizator digital opional

Date NRZ detectate

Figura 7.6. Structura unui canal de citire PRML Semnalul analogic provenit de la capul de citire trebuie s aib un anumit nivel constant de amplificare. Acest nivel se asigur cu ajutorul unui amplificator cu factor de amplificare variabil. Pentru a menine constant nivelul semnalului, acest amplificator primete un semnal de control de la un sistem de regenerare a ceasului i a amplificrii. Forma semnalului provenit de la capul de citire trebuie de obicei modificat. Aceast modificare a formei poate fi considerat ca o ajustare a limii impulsului pentru ca acesta s fie proporional cu distana ntre tranziii. Modificarea formei semnalului este realizat cu ajutorul unui egalizator. Un egalizator este un filtru liniar programabil avnd un rspuns bine definit n frecven. Semnalul analogic de la ieirea egalizatorului are form uor modificat fa de semnalul nemodificat provenit direct de la capul de citire. Semnalul de la ieirea egalizatorului este eantionat cu ajutorul unui convertor analog-digital. Eantionarea este iniiat de semnalul de ceas o dat n fiecare perioad corespunztoare unui bit. Frecvena i faza semnalului de ceas este ajustat cu un sistem de regenerare a ceasului. Fa de metoda tradiional la care se detecteaz numai vrfurile semnalului analogic, n acest caz semnalul este eantionat n mai multe puncte ale formei de und ca n figura 7.7. n urma eantionrii canalul PRML poate determina forma semnalului citit, i astfel poate detecta cu acuratee ridicat vrfurile pozitive i negative care reprezint bii de date. Semnalul de la ieirea convertorului analog-digital este un ir de valori numerice. Acestea sunt filtrate uneori cu un filtru digital suplimentar. Aceast nou operaiune de filtrare poate mbunti calitatea egalizrii 250

analogice. Filtrul modific eantioanele de date astfel nct ele se vor grupa n jurul a trei valori: zero, o valoare negativ i o valoare pozitiv. Eantioanele de la ieirea convertorului analog-digital sunt utilizate pentru a detecta prezena tranziiilor n semnalul citit. n cazul n care calitatea semnalului este bun, se poate utiliza un simplu detector de prag pentru a se detecta o tranziie, prin compararea valorilor eantioanelor cu o valoare de prag. Totui o detecie mai bun poate fi asigurat cu un detector de probabilitate maxim, care poate fi implementat printr-un detector Viterbi.

Eantionare de date

Conversie analogdigital

Date digitate

Figura 7.7. Eantionarea semnalului analogic la un canal de citire PRML Diferena esenial dintre detecia vrfurilor i detecia Viterbi este c circuitele de detecie a vrfurilor detecteaz un bit de date la un moment dat, n timp ce algoritmul Viterbi detecteaz simultan o ntreag secven de bii. Atunci cnd circuitele digitale care execut detecia Viterbi recepioneaz un eantion de date, acestea nu trebuie s decid imediat dac eantionul reprezint un bit de 1 sau de 0 n cadrul datelor originale. Aceste circuite compar secvene de eantionare cu secvene de eantionare posibile, i pe baza acestei comparaii determin cea mai probabil secven de bii de date care a fost nregistrat pe disc. Dup detecia Viterbi, canalul PRML decodific datele n secvena original de date care au fost transferate pe disc. Att canalele de citire care utilizeaz detecia vrfurilor, ct i canalele PRML utilizeaz metoda RLL de codificare a datelor, varianta utilizat de obicei fiind RLL 1,7. Aceast metod impune restricii asupra datelor care 251

sunt nregistrate pe disc. Astfel, n cazul variantei RLL 1,7 trebuie s existe cel puin o celul de tranziie ntre dou tranziii de flux consecutive, ceea ce nseamn cel mult 7 celule de tranziii ntre dou tranziii de flux consecutive, sau un interval de timp corespunztor pentru cel mult opt bii. Restriciile metodei de codificare RLL sunt cele care separ vrfurile ntr-un canal de citire bazat pe detecia vrfurilor i reduc interferena ntre simboluri n timpul citirii datelor. Datorit acestor restricii se evit erorile de citire. Dezavantajul cerinei ca s existe o celul de tranziie ntre dou tranziii de flux consecutive l constituie spaiul mare ocupat pe disc. Rezultatul este c n cazul unitilor de discuri care utilizeaz detecia tradiional raportul ntre datele utile i datele nregistrate este de numai 2/3, ceea ce conduce la densiti i rate de transfer relativ reduse. n cazul canalelor PRML mai avansate, metoda de codificare RLL 1,7 este nlocuit cu metoda RLL 0,k. Aceasta nseamn c pe disc pot exista tranziii de flux separate de o perioad de timp corespunztoare unui singur bit, vrfurile semnalului analogic citit nefiind separate. Rezultatul acestei metode de codificare mai eficiente este c raportul ntre datele utile i datele nregistrate crete la 8/9 n cazul canalelor PRML din generaia a doua i la 16/17 n cazul canalelor PRML din generaia a treia. Aceste raporturi contribuie la rndul lor la creterea densitii de nregistrare i deci a capacitii discului cu pn la 30%, conducnd i la creterea ratei interne de transfer a datelor.

7.4.2. Piste, cilindri i sectoare


Pistele sunt numerotate ncepnd de la 0, pornind de la partea exterioar a platanului spre interior. Un disc modern conine mai multe mii de piste pe fiecare platan. Fiecare pist este divizat n uniti mai mici numite sectoare care sunt numerotate ncepnd de la 1. Numrul de sectoare de pe o pist variaz n funcie de tipul unitii de discuri. Dac la primele uniti existau 17 sectoare pe pist, la discurile actuale o pist conine mai multe sute de sectoare. La calculatoarele PC, sectoarele create prin procedura de formare standard conin 512 octei de date, la care se adaug un numr de octei utilizai pentru controlul intern al unitii i pentru detecia i corecia erorilor. O unitate de discuri fixe este format din mai multe platane, pentru fiecare existnd de obicei dou capete de citire/scriere. Toate capetele de citire/scriere formeaz un ansamblu de capete care se deplaseaz simultan, astfel nct la un moment dat toate capetele sunt poziionate deasupra aceleiai piste. Din aceast cauz, poziia capetelor este indicat de obicei nu prin numrul pistei, ci prin numrul cilindrului. Un cilindru este format din setul tuturor pistelor deasupra crora se afl capetele de citire/scriere la 252

un moment dat. Pentru cele mai multe scopuri, nu exist o diferen ntre piste i cilindri. Adresarea sectoarelor individuale ale discului se realizeaz de obicei prin specificarea numrului cilindrului, capului i sectorului (CHS - Cylinder, Head, Sector) aa dup cum am meninat deja.

7.4.2.1. Structura pistelor i a sectoarelor


La formatarea fizic sau de nivel sczut a unui disc fix, se creeaz anumite zone de control care sunt utilizate pentru numerotarea sectoarelor i identificarea nceputului i sfritului fiecrui sector. Aceste zone preced i urmeaz dup zona de date a fiecrui sector, existena lor explicnd diferena dintre capacitatea neformatat i cea formatat a unitii. Zonele de control sunt independente de sistemul de operare i de sistemul de fiiere. Noile uniti de discuri nu utilizeaz asemenea zone de control, astfel nct la acestea practic ntregul spaiu de pe disc este utilizat pentru memorarea datelor. Fiecare sector de pe disc are o zon de prefix, sau antet, care identific nceputul sectorului i conine numrul sectorului. Urmeaz apoi zona de date, care este iniializat la formatarea fizic cu o anumit valoare, iar apoi o zon de sufix. Structura exact a acestor zone difer n funcie de tipul unitii de discuri. n mod tipic, zonele de control corespunztoare unui sector ocup 59 de octei, astfel nct un sector va ocupa n total 512 + 59 = 571 octei. n continuare se prezint structura simplificat a pistelor i a sectoarelor. nceputul fiecrei piste este indicat de o marc de index, dup care urmeaz un interval post-index (Post-Index Gap). Acest interval asigur un anumit timp pentru comutarea ntre capete, astfel nct la trecerea de la o pist la alta sectoarele consecutive pot fi citite fr a se atepta o rotaie suplimentar a discului. La cele mai multe uniti acest timp nu este suficient i de aceea se asigur timp suplimentar prin decalarea sectoarelor aflate pe piste diferite, astfel nct apariia primului sector s fie ntrziat. Dup intervalul post-index, urmeaz zonele de control i de date ale sectoarelor. Pentru fiecare sector, zona de prefix conine identificatorul sectorului. Acest identificator este precedat de un octet de sincronizare, care este utilizat de controler, i o marc de adres, care indic faptul c urmeaz identificatorul de sector. Identificatorul este format din cmpuri separate pentru numrul cilindrului, al capului i al sectorului. Exist de asemenea un cmp de control ciclic redundant (CRC - Cyclic Redundancy Check) pentru verificarea identificatorului de sector. Controlerele de disc utilizeaz de obicei bitul 7 al cmpului rezervat pentru numrul capului n scopul marcrii sectorului ca fiind defect, n timpul formatrii fizice sau al testrii suprafeei discului. Apoi exist un interval pentru separarea identificatorului de sector de zona de date a sectorului. Urmeaz un octet de 253

sincronizare, utilizat de controler, o marc de adres, care indic faptul c urmeaz datele din sector, iar apoi zona de date, de 512 octei. Zona de sufix care urmeaz poate conine un cmp de doi octei pentru controlul ciclic redundant (CRC), sau un cmp pentru un cod de corecie a erorilor (ECC - Error Correction Code), care necesit un numr mai mare de octei. Cmpul ECC poate asigura detecia i corecia erorilor din zona de date a sectorului. Posibilitile de detecie i de corecie a erorilor depind de codul ECC utilizat i de implementarea controlerului. ntre dou sectoare consecutive exist un interval (Inter-Record Gap), prevzut pentru ajustarea diferenelor de lungime a sectoarelor din cauza variaiilor vitezei de rotaie a motorului. O pist poate fi formatat n timp ce discul se rotete cu o anumit vitez, i apoi sectorul poate fi nscris n timp ce discul se rotete cu o vitez puin diferit. Acest interval previne suprascrierea accidental a informaiilor din sectorul urmtor n astfel de cazuri. La sfritul fiecrei piste exist un interval pre-index (Pre-Index Gap), care permite o toleran a vitezei de rotaie a motorului pentru ntreaga pist.

7.4.2.2. Parametri i translatarea parametrilor


Parametrii unitii de discuri indic modul n care sunt structurate datele n cadrul platanelor, n piste i sectoare. Pentru primele uniti de discuri, aceti parametri erau reprezentai de numrul efectiv de capete, de piste pe o suprafa, i de sectoare pe pist pe care le aveau unitile. Aceti parametri erau memorai de BIOS, indicnd modul n care trebuie accesat fiecare unitate de discuri. n cazul unitilor mai noi, datele sunt organizate ntr-un mod mai complex, capacitatea acestor discuri fiind mult mai mare. Parametri fizici Aceti parametri reprezint numrul real de capete, cilindri i sectoare utilizate de unitatea de discuri. La unitile mai vechi, aceti parametri erau singurii care erau utilizai. Parametrii care puteau fi setai prin BIOS erau alei dup parametri acestor uniti mai vechi, i se bazau pe faptul c fiecare pist coninea acelai numr de sectoare. Unitile mai noi care utilizeaz nregistrarea zonat trebuie s utilizeze parametrii fizici doar intern, deoarece BIOS-ul permite specificarea unui singur numr de sectoare pe pist. De asemenea, pentru BIOS exist o limit de 63 sectoare de pist, iar unitile mai noi au peste 200 de sectoare pe pist. Sistemul trebuie s realizeze accesul la aceste uniti utiliznd 254

parametrii logici, cei fizici fiind cunoscui doar dup consultarea specificaiilor tehnice ale unitii. Parametri logici Parametrii care sunt returnai n urma execuiei rutinei de autodetecie din BIOS, sau cei care se specific de utilizator pentru a fi memorai de BIOS, reprezint parametrii logici ai unitii de discuri. Din motive amintite anterior, n cazul unitilor mai noi specificaia parametrilor fizici nu este posibil. Controlerul acestor uniti dispune de capacitatea de a realiza translarea automat a parametrilor logici n parametri fizici. Parametrii fizici sunt total diferii, dar acetia nu sunt cunoscui de ctre BIOS sau de sistem. Diferena dintre parametrii fizici i cei logici este pus n eviden prin tabelul 7.4, care conine unele specificaii ale unitii de discuri Quantum Fireball EX cu capacitate de 12,7 GB. Specificaie Cilindri Capete de citire/scriere Sectoare pe pist Total sectoare Parametri fizici 11.550 8 208...349 24.901.632 Parametri logici 24.704 16 63 24.901.632

Tabelul 7.4. Parametrii fizici i cei logici ai unitii Quantum Fireball EX 12.7 GB [2] Numrul total de sectoare este acelai pentru ambele tipuri de parametrii. Se pune n eviden faptul c prin utilizarea parametrilor logici, care sunt recunoscui de BIOS, este posibil accesul la ntregul disc. Este posibil ca n urma utilizrii parametrilor logici s rezulte un numr mai mic de sectoare, dar aceasta nseamn c exist un spaiu pe disc care nu poate fi utilizat. Translatarea ntre parametrii logici i cei fizici reprezint translatarea de nivel inferior care se realizeaz atunci cnd se utilizeaz o unitate modern de discuri. Aceasta difer de translatarea de nivel mai nalt efectuat de BIOS, care este descris n continuare. Translatri efectuate de BIOS Utilizarea parametrilor logici ai unitilor de discuri rezolv problema care apare datorit faptului c parametrii fizici nu pot fi specificai utiliznd setrile standard ale BIOS. n cele mai multe cazuri, pe lng translatarea 255

parametrilor logici n cei fizici efectuat de unitate, sunt necesare i translatri de nivel mai nalt, deoarece exist i alte probleme legate de decizii de proiectare mai vechi. Asemenea probleme sunt barierele de capacitate datorate BIOS-ului sau sistemului de operare, cum este de exemplu bariera de capacitate de 504 MB la unitile de discuri IDE/ATA. Pentru depirea acestor bariere de capacitate, se efectueaz o alt translatare, de obicei de ctre BIOS.

7.4.3. Formatarea discurilor fixe


Exist dou tipuri de formatri: - formatare fizic (de nivel sczut); - formatare logic (de nivel nalt). n cazul unui disc flexibil, comanda FORMAT a sistemului de operare DOS execut simultan ambele tipuri de formatri. n cazul unui disc fix, cele dou tipuri de formatare trebuie executate separat. Comanda FORMAT va executa n acest caz numai formatarea logic. n plus, pentru discurile fixe este necesar o a treia operaie, cea de partiionare, care trebuie executat ntre cele dou operaii de formatare. Formatarea fizic Formatarea fizic (sau de nivel sczut) reprezint operaia propriu-zis de formatare, deoarece prin aceast formatare se creeaz structurile fizice utilizate pentru nregistrarea datelor pe disc. n timpul acestei operaii, se definesc poziiile pistelor i se mpart pistele ntr-un numr de sectoare, fiind nscrise structurile de control corespunztoare pistelor i sectoarelor. Aceste structuri cuprind zonele de prefix i de sufix ale sectoarelor, intervalele dintre sectoare i intervalele de la nceputul i sfritul pistelor. Octeii din zona de date a fiecrui sector sunt iniializai cu o anumit valoare. La primele uniti de discuri, controlerele nu erau incluse n unitate. Formatarea fizic era executat n aceste cazuri de controlerele de interfa. Un anumit controler de interfa utiliza acelai numr de sectoare de pist, indiferent de tipul unitii conectate la interfa. Controlerele interfeei ESDI au permis utilizarea unui numr de sectoare pe pist cuprins ntre 32 i 80. Unitile de discuri cu interfa IDE sau SCSI, care au controlerul inclus n unitate, pot avea un numr de sectoare pe pist care depinde de tipul controlerului inclus. Unitile mai noi utilizeaz structuri interne complexe, ca de exemplu nregistrarea zonat, pentru a plasa un numr mai mare de sectoare pe pistele exterioare fa de cele interioare, i informaii servo dedicate sau ncorporate pentru controlul mecanismului de poziionare. Datorit acestei 256

complexiti, toate unitile moderne sunt formatate fizic de ctre productor. Observaie: Discurile cu interfa IDE/ATA sau SCSI nu trebuie formatate fizic de ctre utilizator, cu excepia cazului n care productorul recomand acest lucru, caz n care se vor utiliza programele de formatare indicate de productor. Pentru aceste uniti nu se vor utiliza utilitarele de formatare fizic bazate pe BIOS. Partiionarea n timpul partiionrii, se creeaz pe disc anumite informaii necesare pentru toate sistemele de operare i sistemele de fiiere care utilizeaz unitatea de discuri. Aceste informaii cuprind un program pentru ncrcarea sistemului de operare i o tabel de partiii plasat pe primul sector, numit "Master Boot Sector" (MBS) sau "Master Boot Record" (MBR). Partiionarea permite segmentarea discului n mai multe uniti logice, numite partiii, fiecare utiliznd un anumit sistem de fiiere. Prin aceast operaie, o unitate de discuri poate fi utilizat de mai multe sisteme de operare, fiecare cu propriul sistem de fiiere. De asemenea, diferitele partiii pot fi utilizate de ctre un singur sistem de operare, ele fiind considerate ca volume sau uniti logice separate. Formatarea logic Distincia dintre formatarea logic i cea fizic este important. De exemplu pentru tergerea complet a unui disc nu este necesar formatarea fizic a acestuia, formatarea logic fiind suficient. Prin iniializarea structurilor de date utilizate de sistemul de fiiere, dei datele rmn pe disc, ele nu mai pot fi accesate. n timpul formatrii logice (sau la nivel nalt) sistemul de operare creeaz structurile de date necesare sistemului de fiiere utilizat. Aceste structuri de date permit sistemului de operare gestionarea spaiului de pe disc, gestionarea fiierelor i marcarea zonelor defecte de pe disc astfel nct ele s nu fie utilizate pentru memorarea datelor. Diferitele sisteme de operare utilizeaz diferite utilitare de formatare logic, deoarece ele utilizeaz diferite sisteme de fiiere. De exemplu, n cazul sistemului de operare DOS, care utilizeaz sistemul de fiiere FAT, formatarea logic este executat prin comanda FORMAT. Aceast comand creeaz pe fiecare unitate logic un sector de boot al volumului (VBS Volume Boot Sector), o tabel de alocare a fiierelor (FAT - File Allocation Table), i un director rdcin.

257

Tratarea erorilor Pe msura mbuntirilor tehnologice, pistele i sectoarele discurilor sunt plasate la distane din ce n ce mai reduse unele fa de altele, se utilizeaz semnale mai slabe pentru evitarea interferenelor, iar viteza de rotaie crete, toate acestea conducnd la creterea probabilitii de apariie a erorilor de citire. Unitile de discuri utilizeaz tehnici speciale pentru detecia i corecia erorilor, astfel nct acestea s nu fie vizibile pentru utilizator. Cu ct tehnologia utilizat pentru nregistrarea datelor este mai avansat, cu att procedurile de corecie a erorilor trebuie s fie mai complexe pentru a se menine acelai nivel al fiabilitii.

7.4.4. Coduri corectoare de erori


Exist diferite tipuri de proceduri pentru corecia erorilor care pot fi utilizate, dar tipul utilizat n mod obinuit este algoritmul Reed-Solomon. Aceast tehnic este utilizat de asemenea pentru detecia i corecia erorilor la discurile CD-ROM, iar uneori i pentru memoria sistemului. Principiul de baz pentru detecia i corecia erorilor este utilizarea informaiilor redundante. Fiecare sector de pe disc conine de obicei 512 octei (4.096 bii) de date. n plus fa de aceti bii, exist un numr de bii prevzui pentru codul corector de erori. Numrul de bii utilizai n acest scop este stabilit printr-un compromis: cu ct numrul de bii este mai mare, cu att detecia i corecia erorilor este mai sigur, dar numrul de sectoare pe pist se reduce. Majoritatea discurilor actuale utilizeaz peste 200 bii pentru codul ECC n fiecare sector. De exemplu, unitile de discuri din seria Quantum Fireball EX utilizeaz 288 de bii pentru codul corector de erori, iar cele din seria Quantum Atlas IV utilizeaz 352 de bii pentru acest cod. Atunci cnd un sector este scris pe disc, se genereaz codul corector de erori i acesta este nregistrat mpreun cu datele. La citirea sectorului, pe baza datelor citite i a codului ECC controlerul poate determina dac a aprut erori de citire. Marea majoritatea a erorilor pot fi detectate i corectate.

7.5. Interfee pentru unitile de discuri


Sarcina principal a unei interfee sau a unui controler de disc este de a transmite i de a prelua date la i de la unitatea de disc. Diferitele tipuri de interfee limiteaz viteza cu care se transmite datele ntre unitatea de disc i sistem, avnd performane diferite n funcionare. Tipul interfeei 258

determin n mare msur tipul unitilor de disc care pot fi utilizate i viteza final a subsistemului format din unitatea de disc, interfa i controler.

7.5.1 Interfaa IDE/ATA


Cea mai rspndit interfa pentru unitile de discuri fixe este numit att IDE, ct i ATA. Denumirea IDE (Integrated Drive Electronics) este mai des utilizat, i se refer la unitile de discuri care au un controler integrat n unitate. Aceast denumire este improprie, deoarece actualmente toate unitile de discuri au controlerul integrat n unitate. Denumirea ATA (AT Attachment) reprezint standardul ANSI care definete interfaa de conectare la calculatoarele AT. Interfaa IDE/ATA este de 16 bii, ca i magistralele de date i de I/E ale primelor calculatoare IBM PC/AT. Aceast dimensiune de 16 bii se menine i la variantele mai performante ale interfeei ATA, de exemplu ATA-2. Ansamblul format din unitate i controler este conectat la unul din conectorii de pe placa de baz sau la o plac adaptoare pentru magistral. Prin combinarea unitii i a controlerului rezult mai multe avantaje: - Prin plasarea controlerului (inclusiv a circuitelor Endec) n unitate se reduce numrul de componente i crete imunitatea la zgomote, crescnd sigurana n funcionare. - Este posibil creterea frecvenei ceasului circuitelor de codificare i creterea densitii de nregistrare a unitii. Primele uniti cu interfa IDE/ATA au fost realizate de firmele CDC, Western Digital i Compaq, care au stabilit asignarea semnalelor la pinii conectorului pentru interfaa IDE/ATA. Pentru eliminarea incompatibilitilor i a problemelor legate de interfaarea unitilor IDE cu sisteme ISA i EISA, n 1988 s-a nfiinat comisia CAM (Common Access Method) a organizaiei ANSI. Prima specificaie ATA a fost elaborat de aceast comisie n 1989, iar ulterior au aprut alte versiuni ale acestei specificaii. Specificaia ATA definete semnalele din conectorul cu 40 pini, rolul acestor semnale, modul de configurare al unitilor i comenzile care pot fi transmise acestora. Specificaia original ATA definete urmtoarele caracteristici i moduri de transfer: Dou uniti de discuri Se specific un singur canal, partajat de dou uniti de discuri care sunt configurate ca master i slave. Moduri PIO Specificaia ATA definete modurile de tranfer PIO 0, 1 i 2, descrise succint n seciunea urmtoare. 259

Moduri DMA Modurile de transfer DMA definite sunt modurile 0, 1 i 2 cu cuvnt unic i modul 0 multicuvnt, descrise succint n 7.5.1.1..

7.5.1.1. Moduri de transfer


Specificaiile ATA definesc protocoalele utilizate pentru transferurile de date ntre sistem i dispozitiv i durata ciclurilor de citire i scriere. Aceast durat determin rata de transfer. Exist 5 moduri de transfer PIO (Programmed Input/Output) i 4 moduri de transfer DMA (Direct Memory Access). Moduri de transfer PIO n modul de transfer PIO cel mai lent, PIO modul 0, durata unui ciclu nu poate depi 600 ns. ntr-un singur ciclu se transfer 16 bii (un cuvnt). Deci, ntr-o secund se transfer 2/600 109 B, rata de transfer teoretic fiind de 3,3 MB/s. ntr-un sector exist 256 de cuvinte, 1 MB fiind format din 2048 de sectoare. Se prezint n Tabelul 7.11 modurile PIO, mpreun cu ratele lor teoretice de transfer. Primele trei moduri sunt prezentate att n standardul ATA, ct i n standardul ATA-2. Modurile PIO 3 i 4 sunt specifice standardului ATA-2 i utilizeaz semnalul IORDY pentru controlul transferului. Unitatea poate activa acest semnal pentru a ntrzia interfaa, dac este necesar. Fr acest semnal, transferul poate fi incorect n modurile PIO rapide. Mod PIO 0 1 2 3 4 Durata ciclului (ns) 600 383 240 180 120 Rata de transfer (MB/s) 3,3 5,2 8,3 11,1 16,6 Observaii ATA ATA ATA ATA-2, IORDY necesar ATA-2, IORDY necesar

Tabelul 7.6. Modurile de transfer PIO

260

Moduri de transfer DMA Transferurile de date care utilizeaz comenzile DMA (Read DMA i Write DMA) difer de transferurile PIO prin dou aspecte: - transferurile de date se efectueaz printr-un canal DMA; - se genereaz o singur ntrerupere la terminarea comenzii. Exist dou tipuri de transferuri DMA: cele obinuite i cele de tip bus mastering. Cele obinuite sunt executate de controlerul DMA al sistemului aflat pe placa de baz. Cele de tip bus mastering sunt executate de logica interfeei, care preia controlul asupra magistralei i execut transferul. Complexitatea i preul acestor interfee este ns mai mare. Controlerul DMA al sistemelor cu magistral ISA este lent, i nu se poate utiliza n mod eficient pentru discurile moderne. n cazul sistemelor cu magistral VL Bus, transferul prin DMA poate fi numai de tipul bus mastering. Singurele interfee care pot executa transferuri DMA obinuite n mod eficient sunt cele bazate pe magistralele EISA i PCI. Pentru magistrala EISA, transferul DMA de tip "B" asigur o rat de 4 MB/s, iar pentru magistrala PCI, tranferul DMA de tip "F" asigur o rat cuprins ntre 6 i 8 MB/s. Modurile de transfer DMA sunt prezentate n tabelul 7.7. Mod PIO 0 (cuvnt) 1 (cuvnt) 2 (cuvnt) 0 (multicuvnt) 1 (multicuvnt) 2 (multicuvnt) 3 (multicuvnt) Durata ciclului (ns) 960 480 240 480 150 120 60 Rata de transfer (MB/s) 2,1 4,2 8,3 4,2 13,3 16,6 33,3 Observaii ATA ATA ATA ATA ATA-2 ATA-2 Ultra ATA

Tabelul 7.7. Modurile de transfer DMA

7.5.2. Tipuri de interfee bazate pe standardul ATA


ATA-2 Este un standard de extensie pentru interfaa IDE/ATA, care a fost elaborat de comitetul Small From Factory (SFF), ca urmare a mbuntirilor tehnologice ale unitilor de discuri i a cererii crescute de capaciti de memorare. Standardul pstreaz compatibilitatea cu 261

specificaia ATA, aducnd mbuntiri ale acesteia, fr a fi necesare modificri ale dispozitivelor instalate sau ale sistemelor software existente. Specificaia ATA-2 definete urmtoarele mbuntiri ale standardului ATA, cu care este de altfel compatibil: - Moduri PIO mai rapide. Pe lng modurile existente n cadrul standardului ATA, au fost adugate modurile PIO 3 i 4. - Moduri DMA mai rapide. Au fost adugate modurile DMA multicuvnt 1 i 2. - Transferuri pe blocuri. Au fost adugate comenzi care permit transferuri pe blocuri, n scopul creterii performanelor. - Adresarea logic pe blocuri (LBA - Logical Block Addressing). ATA-2 definete suport de ctre unitatea de discuri pentru adresarea logic pe blocuri. Utilizarea LBA necesit un BIOS corespunztor. - Comand "Identify Drive" este mbuntit. Aceast comand permite unitii de discuri raportarea unor informaii despre caracteristicile unitii. mbuntirea a fost necesar pentru sistemele "Plug and Play" i pentru compatibilitatea cu reviziile viitoare ale standardului. Specificaia ATA-2 a fost aprobat de ANSI, astfel nct ATA-2 reprezint un standard real. Pentru cele mai multe uniti de discuri, se utilizeaz ca denumiri ale interfeei termeni ca Fast ATA, Fast ATA-2 sau Enhanced IDE, care nu sunt standarde reale, ci termeni de marketing ale diferitelor firme. Toate acestea se bazeaz pe standardul ATA-2, dar difer de acest standard prin diferite aspecte. Fast ATA i Fast ATA-2 Fast ATA i Fast ATA-2 reprezint termeni de marketing care au fost introdui de firmele Segate i Quantum pentru a se referi la diferite poriuni ale standardului ATA-2. Aceti termeni produc confuzii, deoarece numele Fast ATA sugereaz c se bazeaz pe standardul ATA, iar Fast ATA-2 sugereaz c se bazeaz pe standardul ATA-2. De fapt, att Fast ATA ct i Fast ATA-2 se bazeaz pe standardul ATA-2. Interfeele Fast ATA i Fast ATA-2 se caracterizeaz prin urmtoarele: Moduri rapide de transfer PIO n modul 3 (i modul 4 pentru Fast ATA-2) Moduri de transfer multicuvnt DMA n modul 1 (i modul 2 pentru Fast ATA-2) Transferuri de blocuri Prin comenzile Read/Write Multiple Mod de adresare LBA ATA-3 Standardul ATA-3 este o revizie minor a standardului ATA-2, definind urmtoarele mbuntiri comparativ cu ATA-2 (cu care este compatibil): 262

- fiabilitate mai ridicat la modurile de transfer cu vitez ridicat; - utilizarea tehnologiei SMART. Productorii unitilor de discuri evit de obicei utilizarea termenului ATA-3, deoarece aceast revizie nu definete noi moduri de transfer cu performane mai ridicate, acestea fiind cele care intereseaz att productorii, ct i pe utilizatori. De menionat c ATA-3 nu este acelai lucru cu Ultra ATA, pentru care se utilizeaz diferite denumiri, inclusiv ATA-33. Unii utilizatori, presupun n mod eronat c, deoarece Ultra ATA este urmtoarea versiune mai rapid dup ATA-2, aceasta ar fi denumit ATA-3. Ultra ATA/Ultra DMA/ATA -33/DMA-33 Ultra ATA nu este un standard formal, ci un termen care se refer la utilizarea modului de transfer DMA-33 (modul 3 DMA multicuvnt), avnd o rat maxim de 33,3 MB/s. Deoarece la viteze de transfer mai ridicate pot apare erori, cablul utilizat fiind acelai cablu standard IDE/ATA, se utilizeaz o logic de detecie i corecie a erorilor de transfer (cod CRC). Ultra ATA menine compatibilitatea standardelor anterioare pe care se bazeaz (ATA-2 i ATA). Unitile cu o interfa Ultra ATA permit utilizarea modului de transfer DMA-33 cu vitez ridicat, dar n rest sunt similare cu alte uniti ATA-2. Interfaa Ultra ATA necesit att o unitate de discuri, ct i o plac de baz (un set de circuite) care implementeaz protocolul Ultra ATA. ATAPI Iniial, interfaa IDE/ATA a fost proiectat pentru a permite conectarea doar a unitilor de discuri fixe. Unitile CD-ROM i unitile de band utilizau fie interfee brevetate (implementate adesea pe plcile de sunet), fie interfaa de disc flexibil. Ulterior, a devenit evident c ar fi foarte avantajoas utilizarea interfeei standard IDE/ATA i pentru alte tipuri de periferice, datorit performanelor ridicate i a simplitii relative a acesteia. Din cauza structurii comenzilor ATA, acestea nu pot fi utilizate pentru alte tipuri de periferice, diferite de unitile de discuri fixe. De aceea pentru aceste periferice a fost elaborat un protocol special, care a fost denumit ATA Packet Interface (ATAPI). Acest protocol permite conectarea direct a altor tipuri de periferice printr-un cablu IDE standard. Pentru comunicarea cu aceste periferice se utilizeaz un driver special ATAPI. Acest driver este ncrcat intern de unele sisteme de operare, ca de exemplu Windows 95/98. EIDE Reprezint o propunere pentru extensia standardului ATA, introdus de firma Western Digital n 1993. Deoarece aceast propunere a fost o 263

mbuntire a standardului ATA (IDE) existent, a fost numit EIDE (Enhanced IDE). S-a extins setul de registre i de comenzi, astfel ca sistemele mai vechi (fr interfa EIDE) s poat funciona cu noile uniti EIDE. Propunerea se bazeaz pe standardul ATA-2 i ATAPI. Interfaa EIDE, conform firmei Western Digital, aduce urmtoarele mbuntiri ale interfeei IDE/ATA: - ATA-2: EIDE cuprinde toate mbuntirile care fac parte din specificaia ATA-2, inclusiv modurile de transfer mai rapide. - ATAPI: EIDE permite conectarea pe canalul IDE/ATA a perifericelor diferite de discurile fixe. - Adaptoare IDE/ATA duale: EIDE permite utilizarea a pn la patru dispozitive IDE/ATA/ATAPI, conectate la dou adaptoare. Din caracteristicile interfeei EIDE se amintesc urmtoarele: - eliminarea limitei de 504 MB pentru capacitatea adresabil a discurilor, capacitatea maxim a unei uniti fiind de 8,4 GB; - BIOS mbuntit, care utilizeaz translatarea; - adresarea logic a unitilor, n modul LBA; - posibilitatea conectrii a pn la 4 dispozitive la aceeai interfa, inclusiv a unitilor CD-ROM i a unitilor cu band; - moduri de transfer mai rapide: PIO n modul 3 sau n modul 4, DMA n modul 1; transferuri de date pe 32 bii; - se menine compatibilitatea "Plug and Play", introdus de interfaa IDE/ATA. EIDE este un termen de marketing i nu un standard real. Dei acest termen este utilizat pe scar larg n industrie, a fost criticat din mai multe motive. Cele mai multe critici se refer la faptul c sfera de cuprindere a specificaiei EIDE este prea mare, cuprinznd caracteristici care reprezint o funcie a BIOS-ului. De exemplu, utilizarea adaptoarelor IDE/ATA duale, deci a unui canal IDE/ATA secundar, nu are legtur cu unitatea de discuri. De asemenea, ATAPI este un standard definit pentru utilizarea unitilor CD-ROM i a altor tipuri de periferice, care necesit un BIOS i un driver adecvat, i nu are legtur cu unitatea de discuri. Acesta este motivul pentru care ali productori de discuri nu au inclus aceste faciliti n cadrul standardelor lor (Fast ATA, Fast ATA-2). Pe de alt parte EIDE este criticat pentru faptul c specific adresarea LBA ca parte a standardului, dar aceast adresare este de fapt o parte a standardului ATA-2. Firmele Segate i Quantum, care utilizeaz termenii Fast ATA i Fast ATA-2 n cadrul programelor lor de marketing, afirm c posibilitatea adresrii LBA nu reprezint o parte a unui standard ATA. O problem legat de termenul EIDE este c acest termen este utilizat pentru diferite componente, astfel nct este dificil de neles semnificaia exact a acestuia. De exemplu, o unitate de discuri EIDE poate permite 264

adresarea LBA, dar aceast adresare nu poate fi utilizat fr un BIOS adecvat. Anumite controlere de discuri sunt numite controlere EIDE, dar aceasta nu nseamn neaparat c ele dispun de toate facilitile specificaiei EIDE.

7.5.3. Sumarul interfeelor IDE/ATA


Toate interfeele amintite n seciunea anterioar au rezolvat problema limitei de 504 MB (sau 528.000.000 octei) a capacitii discurilor, care aprea la accesarea unitilor IDE/ATA prin BIOS. Aceasta se datoreaz modului de adresare CHS (Cylinder, Head, Sector) utilizat de unitile IDE/ATA i de interfaa BIOS prin ntreruperea 13h. Att interfaa IDE/ATA, ct i BIOS-ul permit utilizarea unor discuri de capaciti mari. Deoarece sistemul de operare DOS utilizeaz n continuare rutine BIOS pentru accesul la disc, se consider n mod eronat c aceasta este o limitare a DOS. Un BIOS mbuntit utilizeaz translatarea pentru rezolvarea acestei probleme, utiliznd parametri reali pentru accesul la disc i parametri modificai pentru comunicarea cu sistemul de operare. De exemplu, dac unitatea are 1500 de cilindri i 16 capete, un BIOS care utilizeaz translatarea poate determina ca programele s utilizeze 750 cilindri i 32 de capete. Exist mai multe tipuri de translatri utilizate. Standardul de facto este reprezentat de documentul "IN 13 Extensions" al Microsoft/IBM. Firma Phoenix, productoare important a ROM BIOS, a prezentat o extensie a acestui standard. Un alt tip de translatare, n care se nu utilizeaz unele faciliti importante ale standardelor Microsoft/IBM i Phoenix, se bazeaz pe documentaia "Western Digital Enhanced IDE Implementation Guide". Primele specificaii amintite sunt cele mai utilizate, pe lng translatare ele adugnd noi structuri de date i de apeluri ale ntreruperii 13h. Aceste interfee au rezolvat i problema limitei de dou uniti care se pot conecta la interfaa IDE/ATA. A fost adugat un port secundar la cel primar, deci un nou canal care utilizeaz o ntrerupere diferit i adrese diferite. Cele mai multe interfee actuale dispun de ambele porturi pe aceeai plac, i permit conectarea unui al doilea cablu, pentru nc dou dispozitive (disc fix, CD-ROM ATAPI sau unitatea de band ATAPI).Un BIOS care poate gestiona patru uniti se poate recunoate prin faptul c permite introducerea a patru seturi de parametri n procedura de Setup. n tabelul 7.8 se prezint un sumar al diferitelor interfee IDE/ATA i principalele caracteristici ale acestora. 265

Avantaje i dezavantaje ale interfeei IDE/ATA Avantajele principale ale interfeei IDE/ATA i ale unitilor IDE/ATA sunt urmtoarele: Preul unitilor IDE/ATA este redus, deoarece adaptorul din sistem sau controlerul separat sunt eliminate, iar legturile prin cabluri sunt simplificate. Unitile IDE/ATA au de obicei performane ridicate, existnd ns i uniti cu performane reduse. Modelele de vrf pot asigura performane egale celor pe care le pot asigura alte tipuri de uniti, pentru un sistem de operare de tip utilizator unic i care nu folosete multitaskingul. Interfa Tip Modur ModurI mbuntiri standar i PIO DMA introduse fa de d IDE/ATA IDE/ATA ANSI 0,1,2 Cuvnt unic 0,1,2; multicuvnt 0 ATA-2 ANSI 0,1,2,3 Cuvnt unic Transferuri pe ,4 0,1,2; blocuri, adresare multicuvnt logic pe blocuri, 01,2; comand "Identify Drive" mbuntit Fast Marketi 0,1,2,3 Cuvnt unic Ca i pentru ATA ng 0,1,2; ATA-2 multicuvnt 0,1; Fast Marketi 0,1,2,3 Cuvnt unic Ca i pentru ATA-2 ng ,4 0,1,2; ATA-2 multicuvnt 0,1,2; ATA-3 Neoficia 0,1,2,3 Cuvnt unic Ca i pentru l ,4 0,1,2; ATA-2 plus multicuvnt fiabilitate 0,1,2; ridicat, tehnologie SMART Ultra Neoficia 0,1,2,3 Cuvnt unic Ca i pentru ATA l ,4 0,1,2; ATA-3 multicuvnt 0,1,2; ATAPI ANSI 0,1,2,3 Cuvnt unic Posibilitatea ,4 0,1,2; conectrii altor 266

EIDE

Marketi ng

0,1,2,3 ,4

multicuvnt 0,1,2; Cuvnt unic 0,1,2; multicuvnt 0,1,2;

tipuri de periferice Ca i pentru ATA-2 plus ATAPI i adaptoare duale

Tabelul 7.8. Sumarul diferitelor interfee IDE/ATA Dezavantajele principale ale interfeei IDE/ATA i a unitilor IDE/ATA sunt urmtoarele: Unitile IDE/ATA nu sunt potrivite pentru sistemele mari i foarte performante, care au nevoie de uniti de mare capacitate i de nalt performan. Extinderea numrului unitilor de disc este uneori dificil, din cauza incompatibilitilor care exist ntre standardele diferiilor productori. Din cauza controlerului inclus, pentru a aduga o a doua unitate de disc, controlerul noii uniti trebuie dezactivat, iar aceasta trebuie s foloseasc controlerul primei uniti. Deoarece unitile au diferite controlere incluse, din motive de compatibilitate trebuie utilizat de multe ori o a doua unitate de acelai tip ca i prima. Deoarece unitile IDE/ATA sunt proiectate pentru un anumit tip de magistral, mutarea unei uniti IDE/ATA ntr-un sistem care nu are tipul respectiv de magistral este dificil. De asemenea, unitile IDE/ATA sunt specifice pentru calculatoarele compatibile IBM i nu pot fi utilizate n alte sisteme, ca de exemplu Apple Macintosh.

7.6. RAID
n ceea ce privete creterea ratei de transfer n dispozitivele de stocare secundar, aceasta a crescut mult mai puin dect cea a procesoarelor sau a memoriei. Aceasta a fcut ca sistemul de stocare pe disc magnetic s se afle n centrul preocuprii pentru mbuntirea performaei calculatoarelor n ansamblu. Ca i n alte zone ale sistemului de calcul, atunci cnd vorbim de performana, proiectanii recunosc c dac una din componente nu mai poate aduce un spor de performan semnificativ, singura posibilitate de a crete performana este de a aduga mai multe componente n paralel. Acest concept conduce n cazul discurilor fixe la arii de discuri ce pot opera independent i n paralel. 267

Prin utilizarea discurilor multiple, rezult o varietate de modaliti n care datele pot fi organizate i n care redundana poate fi adugat pentru a crete fiabilitatea. La baza conceptului de RAID st mprirea datelor pe discuri, fiecare dintre ele stocnd o cantitate prestabilit (stripe). Discurile sunt, astfel, concatenate i apar pentru sistem ca un singur disc. Timpul pn la prima defeciune (MTBF) se poate calcula dup formula:
MTBFRAID = MTBFDisc numarul de discuri

Astfel acesta are o valoare prea mic pentru a putea face fa aplicaiilor care necesit acest gen de configuraie. Datele pot fi stocate redundant pentru a obine un sistem rezistent la erori. Alt criteriu care definete o arie RAID este viteza de transfer a datelor. Evident, comparaia trebuie fcut cu performana unui singur hard disc. Mai muli factori influeneaz comportamentul ariei, dar este important ca discurile s fie identice. Pentru ca o operaiune de I/O s fie complet, toate discurile trebuie s acceseze datele corespunztoare, cel mai lent fiind cel care va stabili timpul necesar, n final, pentru operaiune (dac discurile sunt cu performane diferite). Iniial au fost definite 5 nivele de RAID, toate avnd ca scop stocarea redundant i creterea vitezei. Totui, mprirea datelor pe discuri fr a oferi i sigurana acestora a fost luat n considerare, fiind una din cele mai rapide metode de stocare.

7.7.1. Nivele RAID


Acest mod a fost denumit RAID 0 (striping) i este cel mai des ntlnit n sistemele moderne pentru jocuri i multimedia. Nu sunt necesare calcule suplimentare pentru sume de control, deci pentru dou sau 3 hard discuri Paralel ATA sau Serial ATA transferul este mai mare de 2, respectiv 3 ori. Dezavantajul este c, dac RAID 0 nu ofer nici un fel de redundan, n cazul defectrii unui disc datele vor fi pierdute, imposibil de recuperat (sunt mprite pe toate discurile). Poate fi utilizat i n sisteme destinate produciei i editrii video, aplicaiile pre-press sau oriunde este necesar un transfer foarte bun, fr ca datele s fie critice.

268

Disc 1
Segment 1 Segment 5 Segment 9

Disc 2
Segment 2 Segment 6 Segment 10

Disc 3
Segment 3 Segment 7 Segment 11

Disc 4
Segment 4 Segment 8 Segment 12

Figura 7.8. RAID 0 Primul nivel RAID care ofer redundan este RAID 1 (mirroring), bazat pe scrierea identic a datelor pe dou sau mai multe discuri, n perechi. Acest mod ofer o redundan 100%, n cazul unei defeciuni, reconstrucia fcndu-se automat. n cazul unui RAID 1 cu mai multe perechi, sistemul poate susine cderea mai multor drive-uri, cu condiia ca acestea s se gseasc pe mirror-uri diferite. Viteza de scriere este (teoretic) egal cu viteza unui singur hard disc, oferind o slab performan. n schimb, viteza de citire este de 2 ori mai mare, dac avem discurile conectate la un controller care permite operaii simultane pe mai multe discuri. Ideal ar fi s conectm hard discurile dintr-un mirror la controllere separate, pentru mrirea redundanei (n eventualitatea unei defeciuni la un controller, RAID-ul rmne "n picioare"), acest mod fiind denumit "duplexing". Dei costul per GB este destul de ridicat (capacitatea util este jumtate din cea total), acest mod este utilizat n servere i staii de lucru entrylevel, unde datele au o importan mare. Foarte uor de implementat, se regsete ca facilitate a multor controllere P-ATA i S-ATA moderne. RAID 2 este un nivel care utilizeaz coduri Hamming pentru corecia erorilor, construind sume de control (la nivel de octet) pe discuri separate. Tehnologia este similar cu cea utilizat pentru corectarea erorilor n memoria sistemului (ECC). Costul per GB este foarte mare n cazul unui numr mic de discuri, dar eficiena crete o dat cu acesta. Un model de 269

implementare ar putea utiliza 10 discuri pentru date i 4 pentru ECC. Reconstrucia se face automat, singura problem fiind nlocuirea discului defect. Cum un controller hardware ar fi foarte specializat i complex, un asemenea echipament nu i-a dovedit eficiena economic pentru a fi implementat ca atare, dar tehnologia ECC este utilizat chiar n controllerul hard discului.

Disc 1 Segment 1 Segment 2 Segment 3 Segment 4

Disc 2 Segment 1 Duplicated Segment 2 Duplicated Segment 3 Duplicated Segment 4 Duplicated

Figura 7.9. RAID 1 Nivelul 3 de RAID mparte informaia la nivel de octet pe un numr de minim 3 discuri. Redundana este asigurat prin stocarea de sume de control pe ultimul disc, sistemul suportnd pierderea unui disc din configuraie. O a doua defeciune este fatal, iar datele nu mai pot fi recuperate.
Capac.utila a ariei = Capac.cel mai mic disc (nr. de discuri 1)

Dac viteza de citire secvenial este foarte bun, datele putnd fi transferate simultan de pe mai multe discuri, faptul c sumele de control sunt stocate pe un singur disc (acesta trebuie accesat la fiecare operaiune I/O) mpiedic RAID 3 s aib o bun performan i la scriere. Acelai motiv, dar i calculul sumelor de control, determin ineficiena n cazul 270

stocrii de date de dimensiuni mici (hard discurile trebuie sincronizate pentru obinerea vitezei maxime). Este de obicei utilizat n acelai timp de aplicaii ca i RAID 0, pentru citirea/ scrierea de date de dimensiuni mari (editare video, DTP), acolo unde este necesar i sigurana datelor.

Paritate

Disc 1 Segment 1 Segment 3 Segment 5 Segment 7 etc.

Disc 2 Segment 2 Segment 4 Segment 6 Segment 8 etc.

Disc 4 Segment 1 Segment 2 Segment 3 Segment 4 etc.

Figura 7.10. RAID 3 Urmtorul nivel, RAID 4, se deosebete de nivelul 3 doar prin mprirea datelor n blocuri care sunt apoi stocate pe discuri, sumele de control fiind pstrate tot pe un singur disc. Fiierele mai mici dect mrimea stabilit a blocului se pstreaz pe un singur disc. Capacitatea de stocare este similar cu cea a nivelului 3, avnd nevoie de minim 3 discuri pentru implementare. Nu este orientat ctre un anumit segment al pieei i poate fi utilizat foarte bine ntr-un server de fiiere sau ntr-un server de baz de date. Timpul de recuperere a unei defeciuni este destul de mare i, n general, este necesar un controller hardware specializat. Dac RAID 4 nu este foarte utilizat nivelul 5, care mparte informaia n blocuri de mrimi prestabilite i stocheaz sumele de control pe toate discurile (avnd o bun rat de scriere, mai ales pentru fraciuni mici de informaie), este foarte popular n serverele moderne i n staiile de lucru performante. 271

Mrimea optim a blocului pentru o aplicaie dat poate fi gsit prin ncercri succesive. Fr un disc dedicat pentru informaii de verificare, problema limitrii ratei de transfer datorit accesrii acestuia la fiecare scriere dispare. Calculul paritii rmne, totui, o problem. n cazul defectrii unui disc, timpul de refacere a datelor pe un disc nou este relativ bun, dar dac nu este suportat facilitatea "hot-swap", computerul va trebui oprit pentru nlocuire. Chiar i aa, n timpul reconstruciei unui disc performana se degradeaz destul de mult. Multe sisteme de operare moderne (Linux, Windovs 2000 Server, Windovs 2003 Server, etc.) suport implementri software ale RAID 5. Toate calculele pentru paritate sunt efectuate de ctre procesor, iar n cazul unei defeciuni, operaiunile I/O sunt de pn la 3 ori mai consumatoare de resurse (memorie, putere de calcul). Avnd o performan medie foarte bun i un cost relativ sczut per GB util (totui, este nevoie de cele mai multe ori de un controller hardware dedicat care crete TCM), RAID 5 este utilizat cu succes pentru toate tipurile de transfer (server de baz de date relaionale, server de fiiere).

Disc 1 Segment 1 Paritate Segment 5

Disc 2 Segment 2 Segment 3 Paritate

Disc 4 Paritate Segment 4 Segment 6

Figura 7.11. RAID 5 Modelul RAID 6 este identic cu nivelul 5, cu excepia faptului c se calculeaz i se stocheaz paritate dubl pentru date, deci sunt necesare cel puin 4 discuri, performana scznd datorit calculului dublu de paritate, dar redundana crete, aria suportnd 2 discuri defecte. Reconstrucia 272

datelor poate consuma foarte multe resurse, performana fiind puternic afectat dar redundana dubl creeaz posibilitatea de a amna procesul pentru un plus de vitez. Pentru crearea de nivele la etaje de RAID, oricare nivel poate fi combinat cu alt nivel, dar cel mai uzual sunt utilizate nivelele 0 i 1. Orice controller hardware (chiar i cele Parallel ATA sau Serial ATA, foarte accesibile astzi, chiar incluse pe placa de baz) suport RAID 0, RAID 1 i RAID 01, mai rar 10, n funcie de implementare. Din punct de vedere al redundanei, RAID 01 este vulnerabil, o defeciune transformndu-l ntr-un RAID 0, fr protecie. RAID 10 suport cu mai mult succes cderea unui disc. Datorit costului sczut al unui controller IDE cu suport pentru RAID 01 i al preului n continu scdere al capacitilor de stocare pe hard disc, este foarte uor de configurat pentru un sistem care necesit mare vitez i redundan, fr a fi nevoie de un procesor puternic pentru calculul paritii. Desigur, exist i combinaii ca RAID 15 sau 51, dar acestea atrag un cost imens (minim dou controlere i ase discuri pentru o capacitate util egal cu dublu capacitii unui disc!), iar datele pot fi asigurate i prin alte metode.

DATE RAID 1 Disc 1 Segment 1 Segment 5 Segment 9 Disc 2 Segment 2 Segment 6 Segment 10

RAID 1 Disc 3 Segment 3 Segment 7 Segment 11 Disc 4 Segment 4 Segment 8 Segment 12

RAID 0

Figura 7.12. RAID 10 273

Viteza cost Cum RAID este o soluie n care viteza este unul din factorii importani, trebuie stabilit de la nceput c acesta depinde nu doar de viteza de transfer (susinut!) a unui disc, ci i de rata de transfer a controller-ului, de limea de band a slot-ului PCI i de mrimea memoriei tampon. Nici un hard disc modern nu poate atinge rata de transfer teoretic a magistralei: transferuri la 100 MB/s pe o interfa Ultra ATA 133 se fac doar pe durate foarte scurte, datele fiind servite din memoria cache. Pentru SCSI se aplic aceleai reguli, diferena constnd n valoarea ratei maxime de transfer. Lucrurile se schimb dac avem o arie RAID cu mai multe hard discuri, fiecare capabil s susin un transfer de 40 MB/s. Dac avem un controller Ultra ATA 133, patru discuri instalate n RAID 0 vor fi ineficiente, depind limea de band a controller-ului. Controlere capabile de rate de transfer mai mari sunt concepute pentru plci de baz care asigur slot-uri PCI cu lime de band de 64 de bii ce pot lucra la frecvene de pn la 133 MHz (fa de cei 33 MHz ai PCI-ului obinuit) O soluie pentru mrirea ratei de transfer este un controller cu mai multe canale (pentru SCSI, un controller cu dou canale este uzual). Relativ proaspetele controlere Serial ATA 150, care ofer i ele suport pentru RAID 0, 1 i 0+1 au o rat teoretic de 150 MB/s pe fiecare canal i ofer maxim dou canale S-ATA. Dou discuri S-ATA 150, chiar n RAID 0, nu pot depsi 150 MB/s. Pentru un RAID 0 cu mai multe discuri, un controller S-ATA cu patru sau opt canale rezolv problema, dar acesta este mult mai scump i are nevoie de un slot PCI 64. n cazul unor discuri SCSI, n general mai rapide dect cele P-ATA sau SATA, exist i posibilitatea transferului simultan de pe mai multe discuri, rata maxim de transfer a magistralei fiind repede acoperit de cteva discuri n RAID 0 sau 5. Dei controllere SCSI U320 (limitate la 320 MB/s) sunt foarte obinuite astzi, pentru editare multimedia vom avea nevoie de mai multe discuri foarte rapide i acestea vor solicita la maxim controller-ul i magistrala PCI (64 bit, 66/100/133 MHz). Instalarea discurilor pe dou canale separate este o practic ce mbuntete transferul, fiecare canal suportnd 320 MB/s. Lucrurile stau la fel i pentru controller-ele IDE (dou controlere PCI cu dou discuri fiecare vor fi mai rapide dect un controller cu patru discuri IDE) sau S-ATA (avem posibilitatea instalrii a dou controlere Serial ATA cu cte dou canale). Evitarea fiecrui "bottleneck" aduce costuri suplimentare. Un controller cu patru porturi S-ATA e mai scump, la fel i cel SCSI (controller-e SCSI RAID cu patru porturi sunt scumpe). Apoi, slot-urile PCI 64 se gsesc pe 274

plci de baz mai scumpe i acestea au nevoie de carcase speciale (nu obligatoriu!). "n picioare" Pentru meninerea funcional a unui RAID, n cazul defectrii unui disc, ar fi foarte util posibilitatea de a nlocui discul defect fr oprirea sistemului, mai ales dac e vorba de un server. Pentru aceasta, putem dota sistemul cu discuri SCSI sau Serial ATA care suport "hotswap" (conectaredeconectare din mers). Dac Serial ATA suport nativ aceast facilitate, pentru SCSI a fost introdus SCA (Single Connector Attacahment) ca o alternativ la conectarea standard. Acesta utilizeaz un conector special, unic pentru date i alimentare, cu faciliti avansate de mpmntare pentru a evita problemele legate de alimentare. Mai multe discuri pot fi, astfel, instalate ntr-un spaiu restrns (utiliznd un panou cu mai muli conectori) evitnd cablurile lungi greu de manevrat, iar aerisirea acestora se face n bloc. Avem aceiai posibilitate i pentru Serial ATA, discurile putnd fi nlocuite fr a mai desface carcasa. Acest lucru este greu de realizat pentru servere montabile n rack de exemplu. Pentru scderea timpului necesar refacerii unui RAID (cu paritate), se poate instala un disc de rezerv. Acesta nu face parte din arie, dar, dac un disc se defecteaz este automat nlocuit de controler i refacerea RAID-ului se face fr nici o intervenie. Cel mai des ntlnit caz este cel al unui RAID 5 cu patru discuri: trei discuri active i un "hot-spare". RAID 0 nu suport o astfel de configuraie, pentru c nu are nici o facilitate de redundan. Cele de mai sus sunt specifice controller-elor RAID hardware, SCSI, i nu se pot aplica pentru cele IDE, dect n eventualitatea unui RAID 5 sofware pe discuri instalate n sertare SCA, iar nlocuirea discurilor se poate face cu altele cu caracteristici similare (interfa, performan) i o capacitate cel puin egal cu a discurilor iniiale. RAID Hardware vs. Sofware Chiar dac este la nivelul sistemului de operare RAID-ul sofware consum putere de calcul i memorie, procesorul sistemului fcnd toat treaba. n cazul unei defeciuni, resursele necesare pot s scad (RAID 1) sau s creasc (RAID 5, de ex.). Cum o arie software are nevoie de un program care s o controleze, rezult dependena acesteia de sistemul de operare dar i imposibilitatea de a o utiliza pentru boot, excepie fcnd ariile RAID 1, care copiaz identic datele pe discurile membre. Alte nivele RAID necesit un disc separat pentru boot, crescnd, astfel costul implementrii. Un RAID care are suportul unui controller hardware (chiar i P-ATA sau S-ATA) are software-ul necesar administrrii stocat ntr-o memorie nevolatil, deci utilizarea sa nu este dependent de resursele sistemului. 275

Ct vreme exist un procesor dedicat, procesorul sistemului va putea oferi resursele sale altor aplicaii care necesit putere de calcul (multitasking). Numrul de discuri Dup ce am stabilit c avem nevoie de un RAID i am ales cel mai potrivit nivel, capacitatea total este urmtorul obstacol. Dac pentru un utilizator obinuit cele dou, trei-discuri care fac parte dintr-un RAID 1 sau 0 nu creeaz mari probleme, n cazul unui server de fiiere cu necesiti mari de stocare i vitez, instalarea a 8 discuri este o problem real (de spaiu, de alimentare, de conectare). Dac avem de ales ntre 4 discuri cu o capacitate echivalent cu cea a 8 discuri, soluia cu 4 discuri va costa mai puin, va consuma mai puin spaiu i mai puin energie electric (sursa va trebui s suporte mai puine echipamente, iar sistemul de ventilaie va fi mai eficient), dar va fi mai lent (desigur depinznd de aplicaia care necesit configuraia RAID).

276

Bibliografie
1. Brey, B., "The Intel Microprocessors", Fith Edition, Prentice Hall, Inc., Upper Saddle River, New Jersey, 2000. 2. Baruch Zoltan Francisc, Sisteme de intrareieire ale calculatoarelor, Editura Albatros, Cluj-Napoca, 2000. 3. Mranu, R., "Calculatoare persoanale-elemente arhitecturale", Editura BIC ALL, Bucureti 2001. 4. Murdocca, M.J., Heuring, V.P., "Principles of Computer Arhitecture", Prentice Hall, 1999. 5. Norton, P., "Sectrete PC", Editura Teora, Bucureti 1998 (traducere dup SAMS Publisluig USA, 1995). 6. Patterson, D., Hennessy, J., Organizarea i proiectarea calculatoarelor: Interfaa hardware/software (traducere dup Morgan Kaufmann Publishers, Inc., 1998), Editura ALL Educational, Bucureti, 2002. 7. Stallings, W., "Computer Organization and Architecture", Fifth Edition, Prentice Hall, Inc., Upper Saddle River, New Jersey, 1999. 8. Tanenbaum, A., "Organizarea structurat a calculatoarelor", Ediia a IVa, Editura Agora, Tg. Mure, 1999. 9. Wilkinson, B., "Computer Architecture: Design and Performance", Second Edition, Prentice Hall Europe, 1996.

277

S-ar putea să vă placă și