1. Noțiuni introductive
	   Încă de la primele calculatoare suportul de memorare a informației 
	    a fost o preocupare permanentă. Calitățile și performanțele acestuia 
	    au constituit adesea criteriu de judecată cu pondere importantă atât 
	    pentru lumea specialiștilor, cât și pentru cumpărătorii (avizați) 
	    de tehnică de calcul. Progresul uluitor din lumea calculatoarelor 
	    este de fapt progresul tuturor elementelor de bază ale acestei lumi. 
	    Iar hard discurile constituie astăzi un element de referință al domeniului. 
	    Articolul acesta prezintă un aspect al progresului în acest domeniu, 
	    acela realizat prin ariile de discuri.
	  Una dintre metodele prin care datele sistemelor de calcul pot fi 
	    accesate mai repede este aceea prin care se renunță la varianta single 
	    disk în favoarea multi-spidle volume, adică a utilizării a mai 
	    multor discuri aflate pe aceeași axă. Această tehnică permite accesarea 
	    simultană a datelor cu ajutorul a două (sau mai multor) brațe de citire 
	    /scriere, teoretic micșorând timpul de acces. Partiția sistem rezultată 
	    este folosită de aplicație ca și cum ar fi o singură partiție logică. 
	    De fapt, în mod fizic, partiția sistem este împărțită pe discurile 
	    fizice existente, dar acest lucru este transparent oricărei aplicații. 
	    Această tehnică a dus la creșterea performanțelor intrărilor/ieșirilor, 
	    dar are dezavantajul că dacă un disc, care este folosit pentru a crea 
	    un volum virtual, cade întreaga informație de pe acest volum virtual 
	    se pierde.
	  
	  Pentru a depăși inconvenientele descrise mai sus a fost dezvoltat 
	    conceptul RAID. Termenul de RAID (Redundant Array of Inexpensive Disks) 
	    a fost folosit pentru prima dată la începutul anilor '80 de către 
	    F.D. Lawlor, dar el a fost popularizat cu adevărat de către un grup 
	    de oameni de știință, format din David A. Patterson, Garth Gibson 
	    și Randy H. Katz, toți de la Universitatea Berkeley din California, 
	    care au publicat un articol intitulat A case for Redundant Arrays 
	    of Inexpensive Disks (RAID), în care defineau cinci modele de arii 
	    de discuri, cunoscute ca RAID Levels 1-5. Conceptul RAID implică trei 
	    concepte ale stocării și recuperării datelor:
	    Zonarea discului;
	    Performanță ridicată;
	    Redundanța datelor.
	  
	  Aceste trei componente sunt combinate în mai multe feluri pentru 
	    a forma diferitele nivele RAID. Nivelele RAID reprezintă toate arhitecturi 
	    de arii de discuri care memorează informație redundantă despre datele 
	    utilizatorilor și pot regenera aceste date în eventualitatea defectării 
	    unei singure unități de disc. Totuși, este important de înțeles că 
	    redundanța asupra datelor furnizată prin aceste RAID-uri este numai 
	    o parte a soluției totale de memorare tolerantă la defectări pe discuri.
	  
	  RAID-urile asigură utilizatorului posibilitatea de a opta pentru 
	    soluții care pot varia foarte mult în gama raporturilor preț/performanță 
	    și din punctul de vedere al disponibilității. Astfel, spre exemplu, 
	    RAID 1 (cunoscut și sub denumirea de oglindire (mirroring)) furnizează 
	    cea mai ridicată performanță din punctul de vedere al redundanței 
	    datelor, dar cu costul cel mai ridicat, deoarece toate datele sunt 
	    duplicate, acest lucru necesitând de două ori mai mult spațiu pe disc. 
	    Nivelele 1- 5 asigură disponibilitatea continuă a datelor, chiar în 
	    eventualitatea defectării unei singure unități de disc, prin regenerarea 
	    datelor utile din datele redundante. Totuși, din cauza operațiilor 
	    de intrare/ieșire suplimentare, cerute pentru a regenera datele memorate 
	    pe unitatea de disc defectată, performanța este mai scăzută pe timpul 
	    operațiilor de restabilire.
	  
	  2. Caracteristicile principale ale tipurilor de arii de discuri
	  
	  2.1. RAID 0: DISK STRIPPING
	    RAID 0 nu este o arhitectură RAID propriu-zisă, deoarece ea nu asigură 
	    nici o redundanță a datelor. Ea este utilizată doar pentru a maximiza 
	    performanța la lucrul cu discurile hard. În această organizare de 
	    arii de discuri neredundante, datele sunt întrețesute (stripping) 
	    în mod secvențial pe mai multe discuri, care sunt tratate ca un singur 
	    disc virtual sau volum (de obicei 4 discuri = volum). Câteva implementări 
	    RAID 0 utilizează această tehnică de întrețesere, prin divizarea volumelor 
	    în felii și scrierea datelor în felii consecutive, localizate 
	    fizic pe fiecare disc din cadrul ariei de discuri. Mărimea uzuală 
	    a feliilor este definită de utilizator și ar putea fi, de exemplu, 
	    de 512 sectoare, dimensiunea uzuală a sectoarelor putând fi, de exemplu, 
	    de 512 octeți. Operațiile de citire/scriere au loc în paralel, de 
	    pe/pe toate discurile aflate în volum. Utilizând această tehnică de 
	    întrețesere se obține o rată de transfer a datelor foarte ridicată, 
	    îmbunătățindu-se în felul acesta și performanța efectivă a sistemului. 
	    Totuși RAID 0, neoferind nici o redundanță a datelor, în eventualitatea 
	    defectării unui singur disc al ariei, datele care se găsesc pe acel 
	    disc nu mai pot fi regenerate și deci pot fi considerate ca pierdute. 
	    Pentru acest motiv RAID 0 nu este utilizat în aplicațiile de înaltă 
	    disponibilitate. O reprezentare a modului în care sunt distribuite 
	    blocurile de date într-o configurație RAID 0 este arătată în fig. 
	    Repartiția blocurilor de date.
	  
	  2.2. RAID 1: DISK MIRRORING
	     Implementarea RAID 1 folosește oglindirea (mirroring) datelor 
	    pentru a asigura redundanța. Tehnica crează și menține pe discuri 
	    separate, două sau mai multe copii ale acelorași date, fiecare dintre 
	    copii constituindu-se ca o imagine în oglindă a celeilalte. Comparativ 
	    cu alte nivele de arii de discuri, RAID 1 poate scădea performanța 
	    generală a sistemului deoarece fiecare scriere pe disc trebuie să 
	    fie efectuată de n ori unde n este numărul de copii. Performanța 
	    în cazul citirii este însă mult îmbunătățită deoarece cererile de 
	    citire sunt trimise simultan controlerelor de discuri ale tuturor 
	    copiilor. Discul care este capabil să răspundă primul cererii de citire 
	    va returna datele sistemului. Sistemele de operare (în general de 
	    tip UNIX) ale sistemelor de calcul tolerante la defectări oferă însă 
	    un alt tip de RAID 1, prin intermediul unei componente software numită 
	    Logical Volume Manager. Această componentă crește performanța sistemului 
	    oferind posibilitatea scrierii în paralel pe toate copiile, fără a 
	    se mai aștepta ca scrierea pe o copie să se facă cu succes și apoi 
	    să se altereze conținutul altei copii. Comparativ cu scrierea secvențială, 
	    această metodă este mai puțin sigură, dar realizează o creștere semnificativă 
	    a performanței la scriere. Deoarece RAID 1 asigură redundanța datelor 
	    de 100%, ea este cea mai scumpă implementare dintre tipurile de arii 
	    de discuri, dar asigură și cea mai mare disponibilitate a datelor 
	    prin utilizarea celui mai mic număr de discuri în configurația. În 
	    fig. Repartiția blocurilor de date este arătat modul cum sunt repartizate 
	    datele într-o configurație RAID 1.
	  
	  2.3. RAID 2: PARALLEL ARRAY WITH ERROR CORECTION CODE RAID 2 
	    distribuie datele pe mai multe discuri cu întrețesere la nivel de 
	    bit, iar în cadrul ariei de discuri sunt utilizate și discuri de verificare. 
	    Pentru a asigura detecția și corecția erorilor, scrierea și citirea 
	    datelor se face utilizând tehnici de codificare bazate pe coduri corectoare 
	    de erori de tip Hamming. Aceste tehnici fac însă necesară utilizarea 
	    unor grupuri mari de discuri pentru a asigura consistența (4 discuri 
	    de verificare pentru 10 discuri de date, sau 5 discuri de verificare 
	    pentru 25 de discuri de date). Un alt dezavantaj al lui RAID 2 este 
	    acela că pentru fiecare operație de intrare/ieșire trebuie să fie 
	    accesate toate discurile deoarece datele sunt scrise sau citite la 
	    o singură mișcare paralelă a tuturor capetelor de acces la discuri. 
	    Deoarece această tehnică de codificare este foarte complexă și mai 
	    scumpă, RAID 2 este mai puțin interesant pentru mediul comercial, 
	    în comparație cu RAID 3.
	  
	  2.4. RAID 3: PARALLEL ARRAY WITH PARITY
	     Spre deosebire de RAID 2, RAID 3 utilizează un singur disc dedicat 
	    pentru a memora informația de paritate (nu cod corector de erori, 
	    ci .SAU EXCLUSIV. asupra datelor), celelalte discuri din cadrul ariei 
	    de discuri fiind utilizate pentru a memora informația utilă, care, 
	    ca și la RAID 2, este împrăștiată pe toate discurile ariei. Dacă 
	    unul dintre discurile cu date se defectează, se poate utiliza discul 
	    de paritate pentru a reconstitui datele. Dat fiind faptul că transferul 
	    datelor de pe/pe un disc individual se face la dimensiunile unor sectoare 
	    unitare, cantitatea minimă de date care este citită/scrisă într-o 
	    operație de intrare/ieșire este egală cu numărul de discuri din arie 
	    înmulțit cu numărul de octeți ai sectorului discului. Aceasta este 
	    cunoscută ca unitate de transfer. Deoarece capetele de acces se mișcă 
	    în paralel în aria de discuri la un moment de timp dat, poate fi activă 
	    numai o singură cerere de intrare/ieșire. Acest lucru contribuie la 
	    o foarte bună rată de transfer a datelor atunci când datele accesate 
	    sunt dispuse secvențial pe disc, dar face ca RAID 3 să fie destul 
	    de nepractic pentru aplicații cu date dispuse aleator în aria de discuri. 
	    În același timp, rata de transfer a datelor este foarte bună atunci 
	    când dimensiunile blocurilor de date care se scriu sau citesc sunt 
	    apropiate de mărimea unității de transfer, dar ea scade cu atât mai 
	    mult cu cât blocurile transferate sunt de dimensiuni mai mici. Spre 
	    deosebire de RAID 1 care datorită redundanței de 100% ocupa o suprafață 
	    mare de discul hard, cu o redundanță de numai 20% RAID 3 asigură o 
	    relativ bună disponibilitate a datelor și este mult mai economic. 
	    Deoarece datele pot fi reconstituite, în cazul defectării unui singur 
	    disc, prin utilizarea discului de paritate, RAID 3 oferă și facilitatea 
	    înlocuirii la cald a unui disc și restabilirea datelor după defectare. 
	    În fig. Repartiția blocurilor de date este prezentat modul în care 
	    sunt repartizate blocurile de date și de paritate într-o configurație 
	    RAID 3.
	  
	  2.5. RAID 4: STRIPED ARRAY WITH PARITY
	     La RAID 4 datele se distribuie, ca la RAID 3, pe mai multe discuri 
	    de date și pe un disc de paritate. Doar că în acest caz datele sunt 
	    scrise fiecare bloc pe un singur disc, astfel încât la operația de 
	    citire este implicat doar un singur disc. Deoarece discurile nu se 
	    mai utilizează în paralel, aria de discuri poate prelucra mai multe 
	    cereri deodată. Cerințele mai mici pot fi executate astfel mai repede. 
	    Deoarece discul de paritate este implicat însă în toate operațiile 
	    de scriere, el devine un element de scădere a performanței, deoarece 
	    paritatea, pentru fiecare operație de scriere, se calculează având 
	    în vedere și informația existentă pe celelalte discuri, în sectoarele 
	    de date asociate. Din acest motiv RAID 4 este considerat ca nepractic. 
	    În fig. Repartiția blocurilor de date este prezentat modul în care 
	    sunt repartizate blocurile de date și de paritate într-o configurație 
	    RAID 4.
	  
	  2.6. RAID 5: STRIPED ARRAY WITH DISTRIBUTED PARITY
	     La RAID 5 datele se distribuie, ca la RAID 4, pe mai multe discuri 
	    de date și pe un disc de paritate, iar datele sunt scrise fiecare 
	    bloc pe un singur disc, astfel încât la operația de citire este implicat 
	    doar un singur disc. Însă RAID 5 nu are dedicat un disc special numai 
	    pentru informația de paritate ci distribuie pe toate discurile ariei 
	    informația de tip date și informația de paritate. Și în cazul lui 
	    RAID 5 sunt permise accese concurente multiple la dispozitivele din 
	    cadrul ariei de discuri, fiind satisfăcute astfel cereri concurente 
	    multiple de intrare/ieșire. Acest lucru crește mult performanța transferurilor 
	    pentru aceste arii de discuri și le face cele mai potrivite și utile 
	    în cazul lucrului cu blocuri de mărime mică, sau cu datele dispuse 
	    în mod aleator pe discuri. În cazul lui RAID 5 ciclul de scriere se 
	    realizează în 3 pași:
	    Pasul 1: Se citește paritatea existentă și data ce urmează 
	    a fi schimbată;
	    Pasul 2: Se scade vechea dată din valoarea parității existente 
	    și se memorează această paritate corectată într-un buffer;
	    Pasul 3: Se calculează noua paritate pe baza valorii din buffer 
	    și a valorii noii date de memorat și se scriu pe discurile corespunzătoare 
	    noua dată și paritatea actualizată.
	    În fig. Repartiția blocurilor de date este prezentat modul în care 
	    sunt repartizate blocurile de date și de paritate într-o configurație 
	    RAID 5.
	  
	  2.7. CRITERII DE ALEGERE A UNEI CONFIGURAȚII RAID
	     Alegerea uneia dintre configurațiile RAID este direct dependentă 
	    de cerințele funcționale ale sistemului din care aria de discuri va 
	    face parte. Dacă în cadrul sistemului se urmărește realizarea unei 
	    mari disponibilități a datelor se vor utiliza RAID 1, RAID 3, sau 
	    RAID 5. RAID 3 este cel mai potrivit pentru acele aplicații care utilizează 
	    blocuri mari de date, sau transfer secvențial de date. RAID 5 este 
	    cel mai potrivit pentru acele aplicații care utilizează blocuri mai 
	    mici de date și care nu efectuează un număr mare de scrieri pe disc 
	    (restricție datorată algoritmului de calcul a parității). Acolo unde 
	    se dorește cea mai mare siguranță a datelor se va utiliza RAID 1, 
	    acceptându-se însă și costuri mult mai mari. Dacă nu există cerințe 
	    de înaltă disponibilitate se poate utiliza RAID 0 sau chiar discuri 
	    independente înlănțuite. O schemă logică care ar putea fi utilă este 
	    prezentată în fig. Schema logică de alegere a unei configurații RAID.
	  
	  3. Configurații și performanțe ale ariilor de discuri.
	  
	  3.1. NOȚIUNI INTRODUCTIVE
	     Toleranța la defectări de la nivelul suportului de memorare este 
	    numai unul dintre aspectele care au făcut ca subsistemele RAID să 
	    devină tot mai atractive în anii din urmă. Multe alte caracteristici 
	    ale subsistemelor RAID asigură ele însele redundanță, fiind argumente 
	    în plus în utilizarea ariilor de discuri în sistemele de calcul. În 
	    continuare vor fi prezentate unele dintre acestea.
	    Evident caracteristica cea mai prețuită este redundanța datelor. Ea 
	    se bazează pe posibilitatea de a grupa logic mai multe discuri în 
	    acel ceva ce este definit ca o unitate logică de memorare. Dacă datele 
	    de pe o unitate de disc devin indisponibile atunci ele pot fi reconstituite 
	    cu ajutorul celorlalte discuri și a discului de paritate, toate componente 
	    ale aceleiași unități logice.
	    Multe dintre implementările RAID au însă încorporate surse de alimentare 
	    de rezervă, astfel încât dacă sursa activă se defectează să poată 
	    fi asigurată alimentarea prin utilizarea surselor de rezervă.
	    În subsistemele RAID sunt incluse și ventilatoare de rezervă, care 
	    să poată înlocui la nevoie un ventilator distrus.
	    Multe dintre subsistemele RAID oferă și facilitatea înlocuirii unui 
	    disc defectat cu unul bun, fără a fi necesar ca pentru aceast lucru 
	    să fie întreruptă alimentarea subsistemului. După înlocuire, pe discul 
	    înlocuitor se reconstituie datele corecte, folosind pentru aceasta 
	    discul de paritate și celelalte discuri de date, componente ale unității 
	    logice.
	    Ariile de discuri oferă și un potențial de transfer al datelor foarte 
	    ridicat, beneficiind de capacitatea deosebită a controllerelor de 
	    intrare/ieșire diferențiale de tip Fast/Wide SCSI-2, ale sistemului 
	    de calcul la care aria de discuri este conectată. În general, RAID 
	    permit 3 configurații tolerante la defectări:
	    cu un singur controller;
	    cu două controllere, dintre care unul în rezervă;
	    cu două controllere, amândouă active.
	    Fiecare configurație adaugă un nou nivel de tolerare a defectelor, 
	    față de nivelul anterior.
	  
	  3.2. CONFIGURAȚIA CU UN SINGUR CONTROLLER
	     Toleranța la defectări în configurația cu un singur controller 
	    este furnizată de către următoarele caracteristici:
	    redundanța datelor (RAID 1, 3, și 5);
	    redundanța surselor de alimentare;
	    redundanța ventilatoarelor de răcire;
	    unitătile de discuri pot fi schimbate când sistemul este operațional;
	    mentenanța concurentă asupra surselor de alimentare, sistemului de 
	    răcire și modulelor de discuri.
	    Controllerul de arie de discuri, în configurația cu un singur controller, 
	    este conectat la un controller de intrare/ieșire SCSI-2, de mare performanță. 
	    În fig. Configurația tolerantă la defectări cu un singur controller. 
	    este prezentată o configurație de acest gen.
	  
	  3.3. CONFIGURAȚIA CU DOUĂ CONTROLLERE, DINTRE CARE UNUL ÎN REZERVĂ
	     În configurația cu două controllere, dintre care unul în rezervă, 
	    cele două controllere sunt utilizate ca o pereche activ/rezervă. 
	    Controllerul în rezervă rămâne inactiv până când softul de management 
	    al ariei, care rulează pe sistemul gazdă detectează o eroare în primul 
	    controller. Când este detectată această eroare softul va activa controllerul 
	    în rezervă și va comuta în mod automat controlul tuturor unităților 
	    de discuri la acest nou controller. Toleranța la defectări în configurația 
	    cu două controllere, dintre care unul în rezervă, este furnizată de 
	    către următoarele caracteristici:
	    două controllere în arie;
	    mentenanță concurentă asupra controllerelor din arie;
	    redundanța datelor (RAID 1, 3, și 5);
	    redundanța surselor de alimentare;
	    redundanța ventilatoarelor de răcire;
	    unitățile de discuri pot fi schimbate când sistemul este operațional; 
	    
	    mentenanța concurentă asupra surselor de alimentare, sistemului de 
	    răcire și modulelor de discuri.
	    Cele două controllere ale ariei de discuri, din configurația cu un 
	    două controllere sunt conectate la două controllere de intrare/ieșire 
	    SCSI-2, de mare performanță separate, așa cim se vede în fig. Configurația 
	    tolerantă la defectări cu două controllere, dintre care unul în rezervă.
	  
	  3.4. CONFIGURAȚIA CU DOUĂ CONTROLLERE ACTIVE
	     Cea de-a treia configurație tolerantă la defectări include două 
	    controllere active. Fiecare dintre aceste controllere active este 
	    dedicat unor bank-uri specificate de discuri. În eventualitatea 
	    că un controller se defectează, softul de management a configurației 
	    va ruta automat toate cererile de intrare/ieșire spre controllerul 
	    operațional. Cele două controllere ale ariei din configurația cu două 
	    controllere active pot fi atașate la două controllere separate, SCSI-2 
	    de mare performanță, dar mult mai important este faptul că cele două 
	    controllere de arie pot fi atașate la controllere SCSI-2, de mare 
	    performanță, din două sisteme separate. De aceea, toleranța la defectări 
	    din această configurație cu două controllere active furnizează nu 
	    numai toate facilitățile de toleranță la defectări ale lui RAIDiant 
	    Array, ci și cele oferite de abilitatea de a utiliza două procesoare 
	    gazdă. Toleranța la defectări în configurația cu două controllere 
	    active, este deci furnizată de către următoarele caracteristici:
	    două procesoare gazdă;
	    două controllere în arie;
	    mentenanță concurentă asupra controllerelor din arie;
	    redundanța datelor (RAID 1, 3, și 5);
	    redundanța surselor de alimentare;
	    redundanța ventilatoarelor de răcire;
	    unitățile de discuri pot fi schimbate când sistemul este operațional;
	    mentenanța concurentă asupra surselor de alimentare, sistemului de 
	    răcire și modulelor de discuri.
	  
	  Configurația cu două procesoare active, de asemenea, va îmbunătății 
	    puterea subsistemului și de asemenea timpul său de răspuns la intrări/ieșiri, 
	    deoarece fiecare controller manevrează cererile de intrare/ieșire 
	    numai pentru trei bancuri de discuri. În fig. Configurația tolerantă 
	    la defectări cu două controllere active este arătată o configurație 
	    cu două controllere, ambele active.
	  
	  Tehnologia RAID aduce cu sine o îmbunătățire substanțială a disponibilității, 
	    securității și performanței suportului de memorare al sistemelor de 
	    calcul. Datorată prețului relativ mai ridicat, în momentul de față 
	    ea nu se utilizează în sistemele de calcul de uz curent. Sunt însă 
	    anumite clase de aplicații la care ea se impune ca singura alternativă 
	    rațională. Anii care vin vor impune însă, cu siguranță, tot mai mult 
	    principiile tehnologiei RAID ca lucruri comune în toate sistemele 
	    de calcul .