Documente Academic
Documente Profesional
Documente Cultură
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.
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.
- 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.
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.
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.
Prag de detecie
d dt
Filtrare i redresare
d dt
242
d dt
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.
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
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.
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.
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.
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
Egalizator
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.
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.
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.
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.
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.
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.
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..
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
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.
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
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.
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.
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
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).
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 0
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