Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67...

36
Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard discurile au fost obiectul unor dezvoltări la capacităţi din ce în ce mai mari (cu o scădere constantă a preţurilor) în ultimii 15 ani. Primul hard disc pentru XT (cu excepţionala capacitate de 10MB!) costa mai mult de 3000$ când a fost introdus; acesta având un timp de acces mai mare de 100 ms. Un alt nume comun pentru hard disc este cel de disc winchester, din motive istorice: în 1960 IBM introducea pe piaţă un dispozitiv hard disc de mărimea unui dulap, cu capacitatea totală de 60MB: 30MB erau instalaţi permanent, iar alt disc (de asemenea de 30MB) putea fi scos şi înlocuit. Ca o prescurtare, acest drive a fost de altfel numit un "30-30" (30MB instalaţi şi 30MB capacitate de memorare amovibilă). Fanii lui John Wayne poate îşi amintesc că el avea întotdeauna al sau Winchester 30 pregătit! Astfel saltul mental de a numi drive-ul 30-30 - Winchester nu a fost prea departe. Bineînţeles, acesta nu are nimic de-a face cu armele, dar termenul a rămas până azi. Avansul tehnologic din ultimii 15 ani poate fi văzut în faptul că drive-ul Seagate ST506, introdus pe piaţă în 1980 cu discul său de 5 1/4", avea capacitatea de numai 5 MB. Succesorul său ST412 avea deja capacitatea de 10MB (numele interfetei ST506/412 vine de la aceste unităţi). Cu cele 4 capete ale sale şi 17 sectoare pe pistă ST412 avea numai 150-300 cilindri. Astăzi, modelele uzuale au peste 100 sectoare pe pistă, şi 5000 cilindri la o mărime a discului între 2" şi 3 1/2". Conceptele avansate de interfaţare care ţin seama de marea dezvoltare a microelectronicii şi noi metode de codificare devin de aceea absolut necesare. În următoarele secţiuni se vor da informaţii privind standardul ST506/412 şi de asemenea despre concepte mai avansate ca IDE, ESDI şi SCSI. III.1 STRUCTURA ŞI FUNCŢIONAREA HARD-DISCURILOR III.1.1 Ansamblul capete-disc Diferenţele între discurile flexibile şi cele dure, principial, nu sunt prea semnificative, dar cele din urmă sunt pe departe mult mai puternice. Într-un

Transcript of Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67...

Page 1: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 67

Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard discurile au fost obiectul unor dezvoltări la capacităţi din ce în ce mai mari (cu o scădere constantă a preţurilor) în ultimii 15 ani. Primul hard disc pentru XT (cu excepţionala capacitate de 10MB!) costa mai mult de 3000$ când a fost introdus; acesta având un timp de acces mai mare de 100 ms. Un alt nume comun pentru hard disc este cel de disc winchester, din motive istorice: în 1960 IBM introducea pe piaţă un dispozitiv hard disc de mărimea unui dulap, cu capacitatea totală de 60MB: 30MB erau instalaţi permanent, iar alt disc (de asemenea de 30MB) putea fi scos şi înlocuit. Ca o prescurtare, acest drive a fost de altfel numit un "30-30" (30MB instalaţi şi 30MB capacitate de memorare amovibilă). Fanii lui John Wayne poate îşi amintesc că el avea întotdeauna al sau Winchester 30 pregătit! Astfel saltul mental de a numi drive-ul 30-30 - Winchester nu a fost prea departe. Bineînţeles, acesta nu are nimic de-a face cu armele, dar termenul a rămas până azi. Avansul tehnologic din ultimii 15 ani poate fi văzut în faptul că drive-ul Seagate ST506, introdus pe piaţă în 1980 cu discul său de 5 1/4", avea capacitatea de numai 5 MB. Succesorul său ST412 avea deja capacitatea de 10MB (numele interfetei ST506/412 vine de la aceste unităţi). Cu cele 4 capete ale sale şi 17 sectoare pe pistă ST412 avea numai 150-300 cilindri. Astăzi, modelele uzuale au peste 100 sectoare pe pistă, şi 5000 cilindri la o mărime a discului între 2" şi 3 1/2". Conceptele avansate de interfaţare care ţin seama de marea dezvoltare a microelectronicii şi noi metode de codificare devin de aceea absolut necesare. În următoarele secţiuni se vor da informaţii privind standardul ST506/412 şi de asemenea despre concepte mai avansate ca IDE, ESDI şi SCSI. III.1 STRUCTURA ŞI FUNCŢIONAREA HARD-DISCURILOR III.1.1 Ansamblul capete-disc Diferenţele între discurile flexibile şi cele dure, principial, nu sunt prea semnificative, dar cele din urmă sunt pe departe mult mai puternice. Într-un

Page 2: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

68 Echipamente periferice

hard disc suportul de memorare al datelor este un disc dur rotitor, spre deosebire de floppy-urile flexibile. Datele sunt organizate în piste şi sectoare, ca şi în cazul floppy-urilor, în timp ce accesul la date este realizat prin mişcarea capului de scriere/citire de un dispozitiv de poziţionare cu braţ oscilant. Dar echipamentul mecanic şi controlul dispozitivului hard disc este pe departe mult mai elaborat pentru a realiza o capacitate mare şi performanţe ridicate. Figura 3.1 prezintă interiorul unui hard disc. În figură, a fost scoasă partea ce acoperea ansamblul capete-disc.

Figura 3.1 Unitate hard-disc Hard discul este alcătuit din componente mecanice şi electronice care sunt special protejate de mediul extern. Discurile, capetele, dispozitivul de poziţionare şi dispozitivul de antrenare a discurilor driver-ului fac parte din ansamblul capete-disc. Controlerul electronic este plasat pe o placă exterioară. Viteza de rotaţie a axului motor al hard discului este stabilizată de un circuit de control cu reacţie negativă (feedback); astfel discurile sunt rotite cu o viteză constantă de peste 3600 rotaţii/minut (până la 15000 rot/min în prezent). Circuitul de control reduce variaţiile de rotaţie cu aproximativ ± 0,3% iar la driver-ele de înaltă calitate chiar la ±0,1%. Aceasta înseamnă ca platanele hard discului se rotesc de peste 10 ori mai repede decât un floppy. Împreună cu creşterea vitezei de rotaţie are loc o creştere de peste 100 ori a cantităţii datelor ce sunt vehiculate pe secundă pe sub capul hard discului comparativ cu un floppy de 1.44 Mb. Astfel, drive-ul şi controlerul electronic au nevoie să fie

Page 3: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 69

mult mai puternice decât dispozitivele floppy. În timp ce într-un floppy drive poţi să introduci un floppy disc cu cel mult 2 feţe, cele mai multe hard discuri găzduiesc 2 până la 8 discuri. Doar hard discurile foarte mici de 2" pentru laptop-uri au un singur disc (de mare capacitate). Cum fiecare disc are două feţe, sunt necesare de la 4 la 16 capete plasate la extremitatea braţului port capete ca şi în cazul driver-ului floppy. Toate capetele sunt fixate pe aceelaşi dispozitiv de poziţionare şi sunt mişcate în comun de acesta. Astfel, capetele se interpun între discuri sub forma unui pieptene sau sub forma unor cleşti. Figura 3.2 prezintă aceasta grafic. Ca şi în cazul floppy drivere-lor, de obicei cel mult un cap este activ pentru a scrie sau citi datele. Doar modelele extrem de puternice pot activa mai multe capete simultan pentru a creşte rata de transfer. Dispozitivul de poziţionare al capetelor este acţionat de un motor pas cu pas sau de un motor liniar. Amândouă realizează poziţionarea capetelor pe pista sau cilindrul corespunzator. Detalii despre discuri, capete şi dispozitivul de poziţionare a capetelor sunt date mai jos.

Figura 3.2 Capete şi discuri. Fiecare suprafaţă de disc este alocată unui cap care este fixat la capătul unui braţ de acces. Toate braţele şi capetele sunt mişcate în comun de un singur dispozitiv de poziţionare.

Page 4: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

70 Echipamente periferice

Discul Astăzi, hard discurile uzuale au o dimensiune a discului de 3 1/2". Pentru laptop-uri sunt de asemena disponibile drivere de 2" şi există chiar discuri miniaturale cu numai 1" diametru (cu o capacitate incredibilă de stocare). Există hard discuri cu platane cu un diametru de 8" sau 14", dar ele sunt utilizate în special în main-frame-uri. Astăzi, aliajele de aluminiu sunt în principal utilizate ca material pentru discuri; pentru că ele sunt uşoare dar mecanic stabile. Masa mică a discurilor din aluminiu comparativ cu discurile realizate din fier, deci inerţia mică, dau importanţă faptului că viteza de rotaţie operaţională este atinsă mult mai repede la pornire. Aceasta este foarte important pentru hard discurile care sunt oprite des pentru a economisi energia, în laptop-uri şi note-book-uri şi care trebuie accelerate iarăşi dacă un acces este cerut. Un înveliş magnetizabil (mediul de stocare al datelor) este depozitat pe discul de aluminiu. Comparativ cu floppy-urile, marea densitate a biţilor necesită substanţe magnetice speciale; uzual cobalt sau anumite substanţe fero-ceramice. Pentru realizarea învelişului discurilor de aluminiu există 2 metode: În metoda cu înveliş de ferită un solvent cu ferită este aruncat aproape de centrul discului şi discul este rotit cu o viteză mare. Datorită forţei centrifuge, solventul şi deci ferita se mişcă spre circumferinţă. După ce solventul s-a vaporizat, un strat regulat de ferită, de grosime 1-2µm rămâne pe dispozitivul de memorare de aluminiu. Apoi, stratul de ferită este întărit, sau un strat protector subţire, dar solid este depozitat pe el. În final, discul este lustruit pentru ca orice mică neregularitate care poate deranja trecera capului să fie şterasă. Datorită feritei discul capătă o culoare roşiatica sau cafenie. Această culoare este un indiciu clar că discul a fost învelit cu ferită. Metoda este folosită la discurile de densitate mică şi medie a datelor. Pentru discurile cu capacitate mai mare de 200MB per faţă, stratul magnetic este depozitat prin galvanizare sau prin stropire. Obiectul care va fi galvanizat este scufundat într-o sare conţinând ioni ai materialului cu care obiectul va fi acoperit. Dacă obiectului care va fi galvanizat i se aplică un potenţial negativ, ionii de metal migrează spre el, se descarcă şi se depun uniform pe obiect. În acest mod se acoperă discul de alumimiu al hard-discurilor cu cobalt. Rezultatul este un strat tare şi neted de cobalt cu o grosime doar de 0.1-0.2 µm. Acesta corespunde unui strat de doar câteva sute de atomi. Grosimea poate fi uşor controlată prin curentul de galvanizare şi durata procesului de galvanizare. La metoda prin stropire, metalul cu care discul va fi acoperit este pulverizat cu o radiaţie de ioni în vid. Atomii se mişcă spre obiectul care va fi acoperit (aici discul de Al) şi se depun pe el într-un strat regulat şi tare de 0.05-0.2 µm. În acest caz grosimea poate fi uşor controlată de forţa de iradiere a

Page 5: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 71

ionilor şi de timpul de stropire. Apoi, un strat subţire de grafit este depus pentru a proteja mediul magnetic împotriva defectelor mecanice. Un hard-disc acoperit prin metoda galvanizarii sau stropirii străluceşte ca o oglindă şi este mult mai rezistent la o zgâriere a capului (datorată de exemplu unei trepidaţii puternice şi atingerea de către capete a discului în timp ce acesta se roteşte) decât discurile acoperite cu ferită. Uzual, biţii datelor sunt înregistraţi într-un mod liniar astfel că forma magnetizarii în interiorul discului este plană. Dacă vă imaginaţi magnetizarea pentru un bit de date ca o bară magnetică atunci acesta înseamnă că fiecare bară magnetică este aliniată pe direcţia pistei sau în direcţie opusă ei, depinzând de valoarea bitului. În afară de aceste metode, există de asemenea hard-discuri cu înregistrare verticală. Aici barele magnetice nu mai sunt coliniare cu pista, ci sunt perpendiculare sau verticale pe discul de Al. Astfel, înregistrarea este plasată în adancime în mediul de memorare al datelor şi poate fi realizată o densitate mult mai mare a bitilor. Numărul schimbărilor de flux care poate fi suportat este decisiv pentru capacitatea unui disc. De amintit că doar schimbarea magnetizarii (un flux alternant) poate genera un semnal în capetele de citire/scriere. Numărul schimbărilor de flux este indicat de parametrul FCI (Flux Change per Inch). De notat că densitatea biţilor (BPI) nu depinde numai de numărul schimbărilor de flux ci şi de metoda de codificare folosită. La hard-discurile RLL numărul schimbarilor de flux este cu 50% mai mic decât numarul BPI-urilor. Metoda de codificare RLL este atât de puternică încât un bit poate fi codificat cu mai puţin de o singură schimbare de flux. În contrast, vechea metoda FM cere două schimbări de flux pentru fiecare bit, şi anume: una pentru ceas şi una pentru dată. Fără creşterea calităţii mecanice a discului (care este exprimată de FCI) doar folosirea unei alte metode de înregistrare poate creşte cantitatea de date stocabilă de 3 ori. Discul rămâne la fel; doar componentele electronice folosite devin mai complexe din cauza metodei de codificare mult mai extinse.

Capetele Ca şi în cazul floppy-discurilor, capetele de citire/scriere înscriu date pe disc sub forma unei magnetizări scurte sau detectează aceste magnetizări ca biţi de date. Dar creşterea semnificativă a densităţii de pe hard-disc necesită noi tehnologii comparativ cu floppy-urile. Cum am văzut deja în figura 3.3 pentru fiecare faţă a discului este disponibil un cap dedicat, dar toate capetele sunt mişcate în comun de un singur dispozitiv de poziţionare.Cu cât capul este mai

Page 6: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

72 Echipamente periferice

mic se obţine o magnetizare mai fină. Un cap mic înseamnă de asemenea masă mică şi deci inerţie mică. Astfel, capetele pot fi poziţionate mai rapid. Pentru a genera şi detecta zone de magnetizare mică pe suportul de memorare a datelor este necesar ca, capetele să fie la o distanţă cât mai mică posibil de suprafaţa discului. Figura 3.3 ne prezintă motivele.

Figura 3.3 Distanţa cap-suprafaţă disc şi dimensiunea regiunii de magnetizare. Câmpul magnetic nu este emanat din fantă într-o anumită direcţie ci mai mult sub formă de semicerc. Astfel distanţa dintre cap şi disc determină regiunea elementară de magnetizare Câmpul magnetic generat de capul de citire/scriere nu trebuie să fie focalizat aşa cum este prezentat în figura 3.3 (partea stângă). În schimb, el trebuie să se întindă în exterior aproape emisferic cu o concentraţie verticală uşoara către disc (figura 3.3 -dreapta). Se poate vedea că dimensiunea orizontală a câmpului magnetic pe suprafaţa discului este aproape aceeaşi ca distanţa dintre cap şi disc dar, dimensiunea câmpului magnetic determină direct cea mai mică regiune a mediului care poate fi magnetizată într-o direcţie. Aceasta înseamnă că densitatea de înregistrare poate fi crescută doar prin reducerea distanţei cap - disc. De aceea se încearcă să se facă capetele cât mai mici posibil şi, de asemenea, poziţia lor să fie cât mai aproape de disc. Desigur, mediul magnetic trebuie de asemenea să fie de o granulaţie suficient de fină.

Page 7: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 73

Există mai multe tehnologii pentru fabricarea capetelor: capete cu ferită, capete peliculare şi capete magneto-rezistive. Capetele cu ferită au un preţ de cost mic şi aparţin vechii generaţii de capete. Ele generează câmpul magnetic printr-o bobină cu miez de ferită ca cea descrisă la floppy. Capetele lucrează ca un simplu electromagnet convenţional. Bobinarea nu poate fi miniaturizată pentru orice suporţi astfel că mărimea capetelor cu ferită este limitată la mărimi mici. Astfel consumul de energie al dispozitivului de poziţionare se măreşte. Capetele peliculare sunt virtual un produs al microelectronicii şi al metodelor sale de fabricaţie. Cipurile semiconductoare sunt realizate prin depunerea şi gravarea unor straturi diferite de siliciu. Acestă tehnică se aplică şi capetelor de citire/scriere ale hard-discurilor. Capetele nu se mai formează prin bobinarea firelor în jurul miezului de ferită ci prin intermediul unor straturi subţiri. Rezultatul este un cap microscopic ca mărime şi foarte uşor care totuşi este capabil să genereze un câmp magnetic destul de puternic. Din cauza distanţei mici dintre cap şi disc, câmpul generat de cap nu trebuie să fie la fel de puternic ca în cazul capetelor cu ferită. Astfel, pe suportul de date capetele cu peliculă subţire generează un câmp suficient de puternic pentru a magnetiza zonele de cobalt. Capetele magneto-rezistive reprezintă cea mai nouă tehnologie, oferind cea mai înaltă performanţă la ora actuală. Capetele magneto-rezistive se bazează pe faptul că rezistenţa unui conductor scade puţin în prezenţa unui câmp magnetic extern. În loc de a detecta tranziţiile de flux emiţând o tensiune, ca un cap obişnuit, capul magneto-rezistiv detectează schimbarea de flux şi îşi schimbă rezistenţa. Pentru că principiul magneto-rezistiv se aplică numai la citirea datelor şi nu este folosit la scriere, capetele magneto-rezistive sunt de fapt două capete într-unul: un cap pelicular inductiv standard pentru scrierea datelor şi un cap magneto-rezistiv pentru citire. Fiecare cap poate fi optimizat pentru rolul său: capul de citire va avea un întrefier îngust pentru rezoluţii mari, iar capul de scriere va avea un întrefier mai lat pentru o penetrare mai adâncă a fluxului magnetic. Întrefierul de scriere va înregistra o pistă mai lată decât citeşte întrefierul de citire. Astfel, capul de citire nu riscă să culeagă informaţie magnetică parazită de pe pistele adiacente. Când drive-ul este oprit capetele sunt în contact cu discul. Majoritatea drive-lor de azi "parchează" capetele pe o pistă rezervată acestui scop, pistă care nu este folosită pentru înregistrarea datelor. Aceast lucru previne zgârierea de către capete, a zonei ocupate de datele stocate, pe durata accelerării, la conectarea tensiunii. Când motorul începe să rotească discul, acesta scoate în afară aerul înconjurător asemeni unui ventilator şi se produce un curent de aer. Acest curent de aer este suficient de puternic pentru a genera o pernă de aer

Page 8: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

74 Echipamente periferice

deasupra discului; astfel capetele se ridică de pe suprafaţa discului şi se plimbă la o distanţă microscopică de suprafaţa discului pe această pernă de aer fără să atingă discul. Distanţele tipice sunt 1µm pentru capetele de ferită şi 0.2-0.5µm în cazul capetelor cu peliculă subţire. Figura 3.4 ne prezintă o comparaţie între mărimi cum ar fi capul cu peliculă subţire, distanţa lui faţă de disc, părul uman şi diferite particule de praf.

Figura 3.4 Compararea diferitelor mărimi tipice ale capului, distanţei dintre cap şi disc, şi diferite impurităţi Distanţa disc-cap este în principal dependentă de forma capului. Datorită proprietăţilor sale aerodinamice acesta pluteşte deasupra suprafeţei hard-discului. Astfel, un hard-disc poate opera în vid cu dificultate deoarece perna de aer elastică dintre cap şi disc lipseşte. Grosimea pernei este dependentă de presiunea aerului: presiune mică înseamnă pernă subţire. Astfel, pe vârfurile munţilor capetele plutesc mai jos decât la nivelul marii.

Dizpozitive de poziţionare Aşa cum am menţionat deja, capetele de citire/scriere sunt mişcate în comun. Un dispozitiv de poziţionare înseamnă toate componentele mecanice necesare pentru mişcarea capetelor. Au fost folosite dispozitive cu motor pas cu pas, iar în prezent sunt folosite dispozitive cu bobină şi magnet permanent.

Particula de fum (aprox. 0,003mm)

Fir de par (aprox. 0,01mm)

Amprenta digitala

(aprox 0,003mm)

impuritati din aer

(aprox. 0,0003mm)

Cap pelicule

subtiri

Page 9: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 75

Figura 3.1 prezintă un dispozitiv cu motor pas cu pas. În figură se poate vedea doar axul motorului pas cu pas. Ca şi în cazul floppy drivere-lor, motorul din driverele hard-disc este rotit pas cu pas într-o direcţie sau alta prin intermediul impulsurilor. Aceşti paşi sunt ficşi ceea ce înseamnă o modificare fixă a poziţiei axului motorului. Unghiurile de rotaţie intermediară sunt imposibile; dacă, de exemplu motorul pas cu pas poate executa o rotaţie completă cu 180 paşi, aceasta înseamnă că fiecare pas întoarce axul motor cu 2 grade. Astfel, pot fi realizate doar rotiri de 0,2,4,...358 grade; o poziţie intermediară, de exemplu de 3 grade nu este posibilă. Rotaţia axului motorului este transferată dispozitivului de poziţionare prin frecare. În figura 3.1 dispozitivul se poate roti în jurul axului său. Rotaţia motorului pas cu pas este transferată unui element al dispozitivului care se roteşte în jurul axului său. Astfel, capetele fixate la capătul braţului port capete sunt mişcate radial şi are loc poziţionarea capetelor. Prin rotaţia motorului pas cu pas şi capetele sunt de asemenea mişcate pas cu pas. Uzual, unui pas motor îi corespunde o mişcare a capetelor cu o pistă spre interior sau exterior. De exemplu, dacă motorul trebuie să mute capetele de pe pista 0 pe pista 219, controlerul motorului va genera simplu 219 impulsuri. La fiecare impuls motorul este rotit un pas şi astfel capul se mişca cu o pistă. După 219 impulsuri capul ajunge pe pista 219. Este evident că acest mecanism nu poate lucra foarte exact şi sigur. La floppy, cu o lăţime a pistei mai mică de 0.1mm, rareori apar probleme: o astfel de precizie poate fi controlată foarte uşor. Dar chiar şi la un simplu hard-disc cu motor pas cu pas (de exemplu pe Seagate ST225, utilizat acum 10-15 ani, cu 615 piste, lăţimea pistei ajunge până la 1/10 din lăţimea pistei floppy-urilor). O astfel de precizie de poziţionare poate fi obţinută cu motorul pas cu pas. Pentru discurile mici de 3 1/2" cu mai mult de 1000 de piste, motorul pas cu pas nu este potrivit deoarece precizia de poziţionare este mică. Cuplarea între axul motorului pas cu pas şi braţul port capete este făcută prin frecare. Deşi axul este acoperit uzual cu un strat de cauciuc sau plastic pentru a menţine alunecarea cât mai mică, este posibil ca dispozitivul de poziţionare să alunece temporar pe axul motorului, în special pe durata unei accelerari îndelungate a braţului. Dar acum, stricta corespondenţă între unghiul de rotaţie şi poziţia braţului nu mai este valabilă şi se produc erori de poziţionare deoarece capetele se mişcă pe piste greşite sau cel puţin pe marginile pistelor. Această problemă poate fi rezolvată destul de uşor prin repoziţionarea braţului pe o poziţie corespunzatoare pistei 0. Pentru a realiza acest lucru se utilizează comanda "recalibrare driver", poziţia rezultată este asignată pistei 0, controlerul dispozitivului de poziţionare ştergând numărătorul de piste şi numărătorul de impulsuri.

Page 10: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

76 Echipamente periferice

O problemă mult mai neplăcută privind dispozitivele cu motor pas cu pas o reprezintă deformarea datorită căldurii. Presupunem următoarea situaţie: imediat după conectarea tensiunii vă formataţi hard-discul. Toate componentele dispozitivului sunt reci în acel moment. Dupa ce PC-ul dumneavoastră a fost operativ câteva ore, apar brusc poziţionări şi citiri eronate. Motivul este simplu: deformarea datorată căldurii, a componentelor mecanice. De exemplu, dispozitivul se dilată cu creşterea temperaturii şi deci şi braţul dintre axul dispozitivului şi cap devine mai lung. Aceasta înseamnă că mişcarea capetelor de pe pistă pe pistă devine uşor mai mare decât distanţa pistei generată în avans prin formatare cu un drive rece. Deşi deformările capului sunt foarte mici şi producătorii încearcă să compenseze aceste deformări prin anumite combinaţii de materiale, ele sunt suficiente să facă inaccesibili cel puţin cilindrii cu un număr ridicat. Pe de altă parte, dacă dumnevoastră formataţi hard-discul într-o stare caldă, PC-ul poate raporta erori de poziţionare în timpul pornirii când toate componentele mecanice sunt încă reci. Cauza principală pentru asemenea erori este că nu există implementat feedback-ul între poziţia capului şi controlul motorului. Controlul motorului trimite aparent către motor numărul cerut de impulsuri de pasi iar motorul pas cu pas poziţionează capul la întâmplare. Dacă capul este localizat între 2 piste, atunci un acces este imposibil, deşi numai o mişcare suplimentară de o jumătate de pistă ar fi necesară. Alt dezavantaj al hard-discurilor cu motor pas cu pas este că producătorii nu implementează un dispozitiv de parcare automată a capului deoarece acestea sunt modele cu un cost mic. Dispozitivul de parcare automată mută braţul port capete într-o poziţie de transport prin intermediul unui resort. Pentru a deplasa capul, în funcţionarea normală motorul pas cu pas depăşeşte forţa resortului. Unele dispozitive utilizează motorul ca un generator care generează un curent suficient de puternic pentru a deplasa braţul în poziţia de parcare atunci când driver-ul este oprit. Fără un dispozitiv de parcare capetele ating pistele care de obicei conţin date. La pornire, capetele, care "se odihnesc", zgârie suprafaţa discului până în momentul când perna de aer este suficient de puternică pentru a ridica capetele. Se pot recunoaşte hard-discurile care îşi parchează capetele automat la căderea tensiunii printr-o scurtă pocnitură care indică poziţionarea capetelor în poziţia lor de parcare. Hard-discurile de înaltă calitate utilizează un motor liniar în locul motorului pas cu pas. Adiţional, este implementat un circuit de control care compară poziţia curentă a capului cu cea dorită. Astfel, capetele de citire/scriere sunt întotdeauna poziţionate deasupra pistei corecte. Pot fi distinse 2 tipuri de dispozitive de poziţionare cu motor liniar (figura 3.5): liniar şi rotativ.

Page 11: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 77

Principiul operaţional: o bobină înconjoară un magnet permanent sau se mişcă între 2 magneţi permanenţi. Dacă un curent străbate bobina se produce un câmp magnetic dependent de direcţia curentului, paralel cu câmpul magnetului permanent sau antiparalel cu el. În primul caz bobina este împinsă; în ultimul caz ea este atrasă. Aceasta conduce la o mişcare liniară a bobinei şi implicit a braţului care este conectat la bobină. Prin intermediul controlului electronic rapid al curentului bobinei, bobina şi braţul pot fi mutate şi poziţionate de-a lungul magnetului permanent. Cu dispozitivul liniar, bobina se mişcă pe 2 şine într-o direcţie liniară. Capul plasat la extremitatea braţului este direct mişcat în acelaşi fel ca bobina şi radial deplasat relativ la disc. Chiar şi un curent relativ slab prin bobină generază forţe magnetice remarcabile şi acceleraţii ale braţului. Totuşi, din ce în ce mai mult, dispozitivul rotativ cu bobină este utilizat ca standard. În acest caz braţulul port capete este menţinut în rotaţie în jurul axului său similar ca la dispozitivul cu motor pas cu pas. La unul din capete sunt montate capetele de citire/scriere; la celălalt este bobina care realizează o mişcare sub forma de arc de cerc împrejurul unui magnet permanent şi el sub formă de arc.

Figura 3.5 Dispozitive de poziţionare cu motor liniar

Page 12: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

78 Echipamente periferice

Din cauza lungimii mari a braţului dintre axul său şi cap comparată cu distanţa ax-bobină, o mişcare mică a bobinei este convertită într-o mişcare amplă a capului. Este avantajos ca bobina şi partea corespunzătoare a braţului să fie mai degrabă grele şi deci inerte, în special comparativ cu capetele uşoare cu peliculă subţire. În acest mod, o mişcare modestă a părţilor masive cu un consum mic de putere poate fi convertită într-o mişcare rapidă de poziţionare a capetelor. Astfel, braţul rotativ permite timpi mici de poziţionare cu un consum mic de putere de către bobină. Din nefericire, motorul liniar descris are un dezavantaj semnificativ comparativ cu motorul pas cu pas: poziţionarea nu este absolută. Un impuls scurt de curent în bobină mută actuatorul, dar nu poate fi prevăzut cu precizie cât anume. Pe lângă aceasta câmpul magnetic generat de bobină alterează uşor proprietăţile magnetice ale magnetului permanent. Astfel s-a ales o altă strategie şi s-a implementat o buclă activă pentru feedback ce conduce întotdeauna la o poziţionare absolută a capului de citire/scriere. Aceasta este realizată de aşa-numitele servo-piste şi de un servo cap (numite şi piste index, respectiv cap index). Poate veţi fi surprins de faptul că unele hard-discuri au un număr impar de capete. De ce nu s-a adăugat pur şi simplu alt cap pentru a folosi ultima faţă de disc când toate celelalte componente sunt deja prezente? Răspunsul este simplu: de fapt, capul este prezent dar este dedicat pentru detecţia servo-pistelor şi este deci parte a buclei feedback pentru poziţionarea capului. Din punctul de vedere al producătorilor, faţa discului, aparent neutilizată, este marcată foarte precis cu numărul servo-pistelor. Când drive-ul încearcă un acces la o anumită pistă, servo-capul este poziţionat deasupra servo-pistei dorite. Astfel, toate celelalte capete de citire/scriere care intenţionează citirea/înregistrarea datelor sunt de asemenea localizate pe acestă pistă. Ca utilizator nu poţi altera servo-pistele. De asemenea, toate programele de formatare la nivel jos se orientează după aceste servo-piste şi generează pistele de date pe toate discurile cu aceeaşi poziţie radială cu a servo-pistelor. Dacă drive-ul aşteaptă poziţionarea capului deasupra unei anumite piste atunci controlul drive-ului acţionează bobina motorului liniar şi servo-capul detectează permanent numărul pistei care este actual prezentă sub servo-cap. Când servo-capul a atins pista dorită, drive-ul opreşte curentul prin bobină şi efectuează o poziţionare fină. Pentru acest scop servo-capul este mutat înapoi şi înainte în paşi mici cu ajutorul unor impulsuri mici de curent până când semnalul de la servo-pistă este maxim. Deci, capul este exact în mijlocul pistei urmărite. Este evident că poziţionarea cu un servo cap şi servo piste este mult mai precisă şi nu depinde de temperatură. Totuşi, feedback-ul semnalului servo către controlul drive-ului necesită mult echipament electronic. Pe deasupra,

Page 13: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 79

generarea precisă a servo pistelor este complicată. Astfel, hard-discurile de capacitate mare cu motor liniar şi servo piste sunt mult mai costisitoare decat cele cu motor pas cu pas. Pentru o capacitate mai mare de 20MB per faţă disc, o astfel de tehnologie nu poate fi evitată prea mult. Trebuie de asemenea menţionat că există drivere cu capacităţi mari, pentru supercalculatoare care realizează detecţia optică a servo-pistelor. Principiul este similar cu acela al CD-ului sau CD ROM-ului, unde o rază laser cu un diametru de doar 1µm scanează suprafaţa discului şi furnizează informaţii despre servo piste către controlul drive-ului. Capetele magnetice de citire/scriere pot fi astfel poziţionate cu o mai mare precizie decât este posibil cu servo piste magnetice şi servo cap magnetic. Totuşi, să nu se confunde această metodă cu metoda driver-elor optice; înregistrarea şi citirea datelor se face într-o manieră pur magnetică şi nu optică. III.1.2 Filtrarea aerului şi ventilaţia Toate hard-discurile au două filtre de aer. Aceste filtre nu servesc pentru a filtra aerul din exterior care pătrunde în ansamblul disc-capete, ci pentru o filtrare internă a aerului deja existent. O schimbare a aerului cu mediul are loc treptat dacă presiunea aerului se modifică. Figura 3.6 prezintă o schemă pentru circulaţia aerului în dispozitivul hard-disc. Pentru a se evita umflarea ansamblului disc-capete datorită unei presiuni mici a mediului ambiant sau presarea acestuia de către o presiune mare a aerului, fiecare ansamblu are o deschizatură pentru ventilaţia care conduce către un filtru barometric sau de ventilare. Depinzând de presiunea mediului, aerul poate pătrunde înspre filtru sau de la filtru spre exterior. Filtrul de recirculare al hard-discului serveşte pentru a filtra aerul deja existent în ansamblul capete disc. Datorită atingerii uşoare de către capete a discului sau datorită uzurii generale a elementelor de rotaţie, se formează particule microscopice de murdărie ce sunt suficient de mari pentru a acţiona ca o pudră abrazivă dacă ele ajung între cap şi disc. Filtrul de aer este localizat în interiorul zonei de circulaţie a aerului şi reţine aceste particule mici.

Page 14: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

80 Echipamente periferice

Figura 3.6 Circulaţia aerului într-un hard-disc. Rotaţia discului absoarbe aerul în hard-disc; din cauza acestei circulaţii este generat un curent de aer Schimbarea de aer cu mediul este de obicei nesemnificativă şi uzura internă este de obicei mică. Astfel, filtrele de aer ale hard-discurilor sunt proiectate ca filtre permanente care nu au nevoie să fie înlocuite. La vechile discuri mari pentru mainframe-uri era complet diferit: apăreau aşa numitele pachete-disc ce se puteau înlocui. Aici, aerul era intenţionat presat pe întreaga suprafaţă a discului pentru a scoate afară toate mizeriile care au intrat în disc pe durata schimbării discului. Acest aer trebuia desigur filtrat, şi datorită circulaţiei intense a aerului, filtrele trebuiau înlocuite regulat. III.2 CODIFICAREA RLL Utlilizarea metodei MFM în locul metodei FM conduce deja la o creştere semnificativă a densităţii datelor - BPI (bits per inch) fără a fi nevoie de creşterea densităţii schimbărilor de flux (FCI). Astfel, nu este surprinzător că proiectanţii de hard disc-uri cercetează şi alte căi de realizare a unei capacităţi de memorare din ce în ce mai mare. O cale de a atinge acest scop este metoda RLL. RLL este prescurtarea de la Run Length Limited. Aceasta înseamnă că

Filtru de recirculare

Sensul de circulaţie al aerului

Page 15: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 81

numărul biţilor "0" între doi biţi "1" este limitată. În cazul metodei MFM nu se întâmplă acest lucru. Puteţi umple un sector de 512 octeţi cu 4096 biţi de "0" fără nici o problemă. Cu metoda MFM este înregistrat numai ceasul fără nici un bit de date. Aceasta este principala diferenţă între MFM şi RLL: metoda MFM înregistrează un bit de ceas dacă apar 2 biţi de "0" consecutivi. În cazul metodei RLL se trece mai departe fără a înregistra nici un bit de ceas. Logica RLL determină numai din intervalul de timp dintre 2 biţi "1" cât de mulţi biţi "0" se interpun. Din cauza problemelor de sincronizare, variaţiilor de rotaţie, etc., care duc la apariţia unor variaţii ale perioadei dintre biţii de "0", această metodă nu funcţionează pentru orice număr de biţi de "0". Astfel, numărul lor este limitat (de aici numele de RLL). Cea mai utilizată metodă RLL are, prin definiţie, cel puţin 2 şi cel mult 7 biţi de "0" între doi biţi de "1". De altfel, metoda este numită RLL 2,7. Dar, acum apare o problemă: un întreg pe 16 biţi de valoare 0 constă în 16 zerouri. Aceasta este prea mult pentru RLL. Biţii de date trebuie recodificaţi astfel încât cel puţin 2 şi cel mult 7 biţi de "0" să apară succesiv. Tabelul 3.1 prezintă modul de codificare pentru metoda RLL 2.7. biţii de date codul RLL 2,7 000 000100 10 0100 010 100100 0010 00100100 11 1000 011 001000 0011 00001000 Tabelul 3.1 Codificare RLL 2,7 Se poate observa că grupurile de biţi de date de diferite lungimi sunt codificate în coduri RLL, de asemenea de lungimi diferite. În codurile RLL maxim 4 biţi de "0" sunt în faţă şi maxim 3 biţi de "0" după un "1". Astfel pot fi întâlniţi maxim 7 biţi de "0". Mai mult, după fiecare "1" apar cel puţin 2 de "0". Astfel, între 2 biţi "1" sunt întotdeauna cel puţin 2 biţi de "0" şi cerinţele pentru RLL 2,7 sunt satisfăcute în totalitate. Din tabelul 3.1 se poate observa, de asemenea, dezavantajul metodei RLL: codurile RLL sunt mai lungi decât grupul de biţi de date cu un factor egal cu 2. Vom discuta în continuare, în legatură cu figura 3.7, de ce metoda RLL

Page 16: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

82 Echipamente periferice

permite o densitate a datelor - BPI superioară, cu aceaşi densitate a schimbărilor de flux FCI.

Figura 3.7 Metoda de codificare RLL 2,7 În figura 3.7, acelaşi octet de date 01101001 ca cel din figura 2.7 este codificat în formatul RLL. Am presupus primul bit al octetului de date următor ca fiind "0". Din tabelul 3.1 se poate deduce că, codul RLL pentru 9 biţi de date 01101001|0 este următorul: 001000100100100100. În partea de jos a figurii 3.7 sunt prezentaţi biţii de date şi deasupra densitatea fluxului şi schimbarile de flux pentru cazul în care codul RLL este înregistrat prin metoda MFM. Densitatea fluxului MFM cuprinde de asemenea, pe lângă biţii "1" RLL, biţi de ceas dacă apar doi de "0" consecutiv. Pe de altă parte, metoda RLL înregistrează numai biţi "1" RLL. Conform codului RLL 001000100100100100 are numai 4 biţi de "1". La citirea datelor biţii de "0" consecutivi dintre 2 de "1" sunt generaţi de către logica RLL numai din timpul scurs între 2 biţi "1" RLL şi adaugaţi la biţii de "1". Pentru a înregistra cei 9 biţi cu metoda MFM sunt necesare 12 schimbări de flux; pe de altă parte, cu metoda RLL sunt necesare numai 5 schimbări de flux. O analiză matematică precisă a metodei RLL, arată statistic că în medie metoda MFM necesită de 3 ori mai multe schimbări de flux pentru înregistrarea datelor, în comparaţie cu metoda RLL. Cu aceeaşi densitate a schimbărilor de flux, de trei ori mai multe date pot fi înregistrate cu metoda RLL, în comparaţie cu MFM. Dar, cum deja am menţionat, codurile RLL sunt din nefericire de două ori mai lungi decât grupurile de biţi de date astfel că densitatea de împachetare de trei ori mai mare este înjumatăţită din nou de lungimea dublă a codurilor RLL. Ca şi câstig net rămâne un factor de 1.5, sau, definit altfel: cu metoda

Page 17: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 83

RLL pot fi înregistrate pe disc cu 50% mai multe date decât este posibil cu metoda MFM. În medie, sunt necesare două schimbări de flux pentru a înregistra 3 biţi. Aşa cum a fost şi în cazul înlocuirii metodei FM cu MFM această densitate crescută a datelor nu este atinsă prin densitatea schimbărilor de flux şi astfel calitatea capetelor de citire/scriere ale hard disc-ului nu trebuie îmbunătăţită. Îmbunătăţirile sunt incluse exclusiv în metoda de codificare, adică în logica RLL a controler-ului. Dar logica RLL devine semnificativ mai complicată decât cea pentru codificarea şi decodificarea prin intermediul metodei MFM. Dificultăţile apar din aceea că, cuvintele de cod sunt cuprinse între 4 şi 8 biţi RLL. La metoda MFM lungimea cuvântului de cod este uniform egală cu un bit. O eroare chiar şi numai pentru un bit RLL, va conduce la o eroare în lanţ pentru mai mult de 5 biţi de date. Astfel, controlerele RLL trebuie să aibă o logica ECC mult mai puternică care să fie capabilă să corecteze asemenea erori. Controlerele RLL în general utilizează 6 octeţi în loc de 4 pentru codul ECC. Un controler RLL nu îşi incheie rolul odată cu decodificarea schimbărilor de flux ale datelor RLL, ci, în plus, trebuie să convertească datele RLL în biţii de date efectivi. Aceasta contrastează cu un controler MFM unde fluxul de biţi de după poarta de date pot fi direct utilizaţi ca un flux de date serial. Acelaşi lucru se întâmplă şi cu datele scrise, când fluxul de date ce trebuie scris trebuie mai întâi convertit în date RLL, şi apoi datele RLL pot fi codificate prin schimbări de flux conform biţilor "1" RLL. Pe lângă metoda RLL 2,7 descrisă există şi alte metode RLL numite Advanced RLL (ARLL). De exemplu metodele RLL 1,7 şi RLL 3,9. În ambele cazuri "balastul" de codificare pentru grupul de biţi de date în coduri RLL este mai mare, şi în plus numărul mai mare de biţi de "0" dintre doi biţi de "1" RLL implică creşterea condiţiilor de stabilitate ale schemelor RLL. Cu ARLL densitatea datelor creşte cu mai mult de 90% în comparaţie cu MFM, astfel că o singură schimbare de flux codifică aproape doi biţi de date. III.3 CONTROLERE ŞI INTERFEŢE Pentru selectarea şi poziţionarea capetelor discului este nevoie de un controler care să efectueze comenzile primite de la CPU, precum şi să codifice şi decodifice datele. În figura 3.8 este prezentată schema bloc a unui ansamblu controler-disc. Interfaţa cu magistrala stabileşte conectarea controler-ului la calculator. Datele ce trebuiesc citite sau scrise pe disc precum şi comenzile pentru

Page 18: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

84 Echipamente periferice

controler sunt transferate prin intermediul interfeţei. Controler-ul constă dintr-un microprocesor pentru interfaţa cu discul şi logica internă. Pentru acest scop, un program maşină este memorat în ROM-ul pe care îl utilizează microprocesorul. Datele care trebuie scrise sau citite de la un sector sunt memorate în buffer-ul de sector, care totdeauna poate memora un sector întreg. Interfaţa cu discul poate fi foarte diferită depinzând dacă este un controler ST412/506, ESDI, sau un controler integrat în hard disc. Interfaţa de disc furnizează discului conectat toate semnalele de control şi semnalele de date. Discutăm funcţionarea principială a unui controler de hard disc pentru o operaţie de citire. Pentru a citi un sector, CPU transmite un bloc de comandă care are câţiva octeti cu comenzi şi parametri către un registru din interfaţă. Microprocesorul controler-ului detectează blocul de comandă şi interpretează codul. Controler-ul îndeplineşte comanda (în acest caz citirea unui sector) sub controlul programului din ROM-ul cu microcod. Pentru aceasta, controler-ul poziţionează capul de scriere/citire pe pista dorită prin intermediul unor impulsuri precise de paşi. Capul drive-ului citeşte continuu semnalele ce trec prin faţa sa şi transferă semnalele corespunzătoare prin interfaţa discului către separatorul de date. Depinzând de metoda de înregistrare, separatorul de date converteşte datele codificate MFM sau RLL într-un format intermediar numit NRZ (non-return to zero). Microprocesorul determină, prin intermediul controler-ului programabil, dacă un marker de adresă, un gap, sau un alt câmp trece prin faţa capului. Dacă microprocesorul a detectat un marker de adresă, atunci el determină dacă numărul pistei şi al sectorului coincid cu valoarea dorită (de la care se va face citirea). Dacă numărul pistei nu este cel dorit, atunci se ordonează drive-ului o nouă poziţionare; dacă numai numărul de sector nu coincide, microprocesorul aşteaptă următorul marker de adresă. Dacă numărul de sector devine egal cu cel dorit, controler-ul deschide poarta de citire şi acceptă datele citite de pe disc (şi converteşte datele la formatul NRZ prin separatorul de date). Datele complet decodificate sunt transferate în buffer-ul de sector.

În acelaşi timp, circuitul ECC verifică dacă datele din sector sunt conforme cu octeţii ECC. Dacă acest lucru nu se întâmplă, atunci datele sunt corectate cu ajutorul octeţilor ECC. Spre deosebire de controler-ele de floppy, care din cauza octeţilor CRC sunt capabile să verifice numai dacă datele sunt corecte, controler-ele de hard disc pot nu numai să detecteze erorile, dar şi să le corecteze cu ajutorul ECC (error correcting code).

Page 19: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 85

Figura 3.8 Controler şi drive Principiul de generare a codurilor ECC este similar cu cel al generării sumei de control CRC, dar sunt utilizaţi generatori polinomiali mai complecşi. Corespunzător, octetii datelor originale sunt refăcuţi din datele eronate şi octeţii ECC. Un controler de hard disc cu o interfaţă ST412 utilizează în mod uzual un ECC pe 4 octeţi cu generatorul polinomial :

ECC=x32+x28+x26+x19+x17+x10+x6+x2+1 Hard disc-urile cu codificare RLL funcţionează de asemenea cu coduri ECC lungi, de până la 6 sau chiar 8 octeţi. Dar chiar şi un ECC pe 4 octeţi poate corecta un şir de erori de până la 11 biţi. Dacă datele citite în buffer-ul de sector sunt stocate într-o formă corectă sau corectate, atunci ele pot fi transferate în memoria principală. Controlerele XT utilizează 3 canale DMA pentru acest scop. Astfel, similar drive-lor floppy, are loc un transfer de date prin intermediul DMA. Pe de altă parte, controlerele AT folosesc transfer de date prin întreruperi cu comenzi IN şi OUT. Pentru acest scop, controler-ul generează o întrerupere hardware prin IRQ14 după ce sectorul a fost citit în buffer-ul de sector. Apoi rutina de tratare a întreruperii transferă toţi cei 512 octeţi de date citiţi din buffer-ul de sector în memoria principală prin instrucţiuni I/O. Când se scrie un sector, procesul are loc în sens invers. Mai întâi, cei 512 octeţi de date ce trebuiesc scrişi sunt transferaţi din memoria principală în buffer-ul de sector. Apoi controler-ul realizează poziţionarea capului şi căutarea

da

te N

RZ

Bit

date

Microprocesor

Mic

roc

od

RO

M

Inte

rfata

bu

s

Bu

ffer

secto

r

Chip

controler

Lo

gic

a E

CC

Sep

ara

tor

date

Inte

rfata

ST

412/5

06

HD

D1

HD

D2

date MFM sau RLL

Page 20: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

86 Echipamente periferice

pistei corecte şi a sectorului dorit în acelaşi mod ca şi în cazul citirii datelor. Dacă microprocesorul a detectat marker-ul de adresă al sectorului corect prin semnalele de la capul de scriere/citire, se deschide poarta de scriere şi sunt transferate continuu datele prin controler. Controlerul generează acum marker-ele de adresă ale datelor şi gap-urile, calculează octeţii ECC, converteşte datele din sector în format NRZ, şi transferă fluxul de date NRZ separatorului de date. În separatorul de date are loc codificarea MFM sau RLL a datelor, şi apoi separatorul de date le transferă către drive, iar acesta va activa capul de scriere/citire prin intermediul interfeţei drive-ului. Capul înscrie datele primite de la separatorul de date, fără alte modificări suplimentare, pe disc. Dacă toţi marker-ii de adresă, datele de sector, şi gap-uri au fost scrise, atunci procesul de scriere este complet, şi microprocesorul poate primi şi efectua următoarea comandă. III.4 UNITĂŢI CU INTERFAŢĂ IDE Ulterior interfeţei ST 412/506 a fost lansată o altă interfaţă pentru hard-discuri aşa numita interfaţă IDE sau AT BUS (IDE = Intelligent Drive Electronics). Scăderea preţurilor echipamentelor electronice, în paralel cu creşterea remarcabilă a performanţelor, au dat naştere unei soluţii simple: hard-discurile moderne includ controlerul care nu mai este plasat pe o placă separată de interfaţă. Drumul semnalelor de la disc la controler e foarte scurt şi performanţele pot fi astfel optimizate. Interfeţele IDE şi SCSI folosesc această metodă care permite integrarea unităţii şi a controlerului într-o singur echipament. Interfaţa IDE se plasează ca performanţe între ST412/506 şi SCSI. La sfârşitul anului 1984 COMPAQ a iniţiat dezvoltarea interfeţei IDE. Aveau nevoie de un controler ST506 care să fie montat direct pe unitate şi care să fie conectat cu restul sistemului prin circuite simple. Astfel, în colaborare cu fabricanţi de hard-discuri, cum ar fi WESTERN DIGITAL sau SEAGATE, s-a născut interfaţa AT BUS. Datorită fabricanţilor numeroşi au apărut incompatibilităţi, eliminate prin apariţia standardului ATA în martie 1989. A fost definit de asemenea setul de comenzi pentru unităţi IDE. Pe lângă cele 8 comenzi deja existente au fost adăugate alte 19 noi, care se referă în principiu la controlul optimizat al unităţii. De exemplu, comanda "sleep" dezactivează controlerul şi opreşte drive-ul dacă pentru un anumit timp nu s-a efectuat nici un acces.

Page 21: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 87

III.4.1. Interfaţa fizică CPU - drive IDE este o dezvoltare a controlerului AT cu o interfaţă ST506, astfel, IDE este o interfaţă logică între sistem şi hard disc, acceptând comenzi de nivel înalt (cum ar fi: citire sector, formatare pistă). ST412/506 pe de altă parte sunt interfeţe fizice şi se referă la semnalele de comandă a motoarelor şi capetelor. Deoarece la IDE controlerul şi discul formează o unitate inseparabilă, este responsabilitatea producătorului să proiecteze un controler optim pentru hard-discul său. Conexiunea fizica între magistrala PC-ului şi unităţile IDE este realizată printr-un adaptor gazdă. Placa de bază reprezintă gazda; adaptorul gazdă conţine doar câteva buffere şi circuite de decodificare necesare pentru conectarea la magistrală. Plăcile de bază mai noi integrează aceste adaptoare, spre deosebire de cele vechi unde adaptorul trebuia montat într-un slot de extensie de bus. Din punctul de vedere al programatorului sistemul se comportă identic în cele două situaţii. Spre deosebire de hard-discurile ESDI sau SCSI nu sunt necesare extensii BIOS. Pentru conectarea unităţilor se foloseşte un cablu plat de 40 fire. Interfaţa IDE poate servi maxim două drive-uri. Unitatea master are asignată adresa 0, iar unitatea slave adresa 1. Cablul este descris în tabelul 3.2. Majoritatea liniilor din cablul IDE pot fi conectate direct la magistrala sistemului. Între adaptorul gazdă şi unităţile IDE circulă doar 5 semnale în logică negativă: -CS1Fx, -CS3Fx, -SPSYNC, -DASP, -PDIAG, care controlează unitatea IDE şi nu sunt conectate la magistrală. -CS1Fx şi -CS3Fx sunt semnale de "chip select" generate de adaptorul gazdă pentru a selecta un grup de registre cu adresa de bază 1F0h sau 3F0h. Semnificaţia acestor regiştrii este descrisă în secţiunile următoare. Semnal IDE Pin Semnificaţie semnal Semnal bus ISA Direcţie semnal RESET 1 resetează drive RESET DRV gazdă->drive GND 2 masă ---- ---- DD7 3 mag. de date SD7 bidirecţional DD8 4 mag. de date SD8 bidirecţional DD6 5 mag. de date SD6 bidirecţional DD9 6 mag. de date SD9 bidirecţional DD5 7 mag. de date SD5 bidirecţional DD10 8 mag. de date SD10 bidirecţional DD4 9 mag. de date SD4 bidirecţional DD11 10 mag. de date SD11 bidirecţional DD3 11 mag. de date SD3 bidirecţional DD12 12 mag. de date SD12 bidirecţional DD2 13 mag. de date SD2 bidirecţional

Page 22: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

88 Echipamente periferice

DD13 14 mag. de date SD13 bidirecţional DD1 15 mag. de date SD1 bidirecţional DD14 16 mag. de date SD14 bidirecţional DD0 17 mag. de date SD0 bidirecţional DD15 18 mag. de date SD15 bidirectional GND 19 masă ---- --- rezervat 20 utilizat pt. evitarea introducerii incorecte a cablului în conector DMARQ*) 21 cerere DMA DRQx drive->gazdă GND 22 masă ---- ---- DIOW 23 scriere date prin canal I/O IOW gazdă->drive GND 24 masă ---- ---- DIOR 25 citire date prin canal I/O IOR gazda->drive GND 26 masă ---- ---- IORDY*) 27 acces complet I/O IOCHRDY drive->gazda SPSYNC 28 sincronizare motoare ---- drive->drive DMACK*) 29 acceptare DMA DACKx gazdă->drive GND 30 masă ---- ---- INTRQ 31 cerere întrerupere IRQx drive->gazdă IOCS16 32 transfer I/O pe 16 biţi I/OCS16 drive->gazdă DA1 33 mag. de adrese SA1 gazdă->drive PDIAG 34 diagnosticare corectă de la slave drive->drive DA0 35 mag. de adrese SA0 gazdă->drive DA2 36 mag. de adrese SA2 gazdă->drive CS1Fx 37 selecţie chip pt.adr.de bază 1F0h gazdă->drive CS3Fx 38 selecţie chip pt.adr.de bază 3F0h gazdă->drive DASP 39 dispozitiv activ/ slave prezent ---- drive->gazdă GND 40 masă ---- ---- *) opţional

Tabelul 3.2 Definirea cablului IDE Semnalul SPSYNC este folosit pentru sincronizarea motoarelor unităţilor master şi slave. Aceasta este avantajos pentru realizarea de arii de drive-uri sau drive-uri oglindă (majoritatea unităţilor IDE nu utilizează acest semnal). Semnalele -DASP şi -PDIAG sunt folosite în faza de iniţializare pentru a identifica master-ul şi slave-ul. Aceste semnale nu sunt prezente la unele modele mai vechi, înaintea apariţiei standardului ATA. Un semnal opţional, dar important este -IORDY. Acest semnal informează unitatea centrală că drive-ul are nevoie de cicluri I/O suplimentare. În acest caz unitatea centrală inserează stări de wait. În majoritatea unităţilor IDE acest semnal este inactivat.

Page 23: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 89

Pentru creşterea performanţelor, IDE introduce încă două semnale: DMARQ şi -DMACK. Folosind chipuri DMA, rata de transfer între buffer şi memoria principală creşte de cel puţin 2 ori, lucru necesar o dată cu apariţia sistemelor multitasking. Unele sisteme AT permit alegerea modului de transfer al datelor între DMA sau I/O programat (în general în sistemele AT transferul informaţiei cu hard discul se face prin instrucţiuni I/O). Integrarea controlerelor în hard-discuri a facut posibilă optimizarea logicii de control. Astfel, multe unităţi IDE conţin rutine pentru tratarea sectoarelor defecte. Dacă în timpul unei formatări de nivel scăzut un sector este găsit defect, acesta nu mai poate fi folosit. Controlerul încearcă mai multe formatări în astfel de cazuri. Deoarece această funcţie este inclusă în controler, ea este transparentă sistemului de operare. Unele unităţi IDE păstrează unele piste de rezervă pentru a realoca eventualele sectoare defecte. Astfel, dacă se încearcă accesarea unui sector defect controlerul îşi consultă tabela de realocări şi accesează sectorul de rezervă în mod corect. Unităţile IDE inteligente rezolvă acest lucru transparent. Utilizarea hard discurilor în laptop-uri a dus la necesitatea optimizarii hard-discurilor din punct de vedere al consumului de energie. Hard discurile inteligente, care au controlerul integrat, pot translata în mod transparent adresele logice de sector în adrese fizice corespunzătoare geometriei drive-ului. Densitatea mare de înregistrare permite hard discuri cu peste 100 de sectoare pe pistă pentru pistele exterioare. Hard discurile IDE folosesc un factor de întreţesere de 1:1. Pentru a reduce timpul de acces la disc majoritatea unităţilor IDE sunt echipate cu o memorie cache ce poate memora cel puţin două piste. Pentru hard discuri de capacitate mare este folosită codificarea RLL. Hard discurile IDE performante permit rate de transfer între disc şi memorie ce se apropie de limitele de vârf ale SCSI. Aceste caracteristici recomandă hard discurile IDE ca soluţie ideală pentru PC-uri de capacitate medie. Pentru cele de mare performanţă se recomandă cele de tip SCSI, care sunt mai flexibile. O restricţie importantă la IDE este lungimea cablului, care este de maxim 18" (46 cm). Unii producători însă permit cabluri de 24" (61 cm). Aceste lungimi sunt suficiente pentru PC-uri, însă insuficiente pentru sisteme mai mari ce ocupă mai multe cabinete. Un alt dezavantaj este acela că modelele IDE mai vechi sunt relativ lente, şi este posibil să apară probleme de timing dacă se utilizează pe sisteme cu procesoare rapide.

Page 24: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

90 Echipamente periferice

III.4.2 ATA RAID Performanţele CPU au crescut exponenţial în ultimii 10 ani, dublându-

se la aproximativ fiecare 18 luni. Nu acelaşi lucru s-a întâmplat cu performanţele unităţiilor de discuri.

Prelucrarea paralelă a datelor este utilizată din ce în ce mai mult pentru a creşte performanţele CPU. A apărut ideea că şi un sistem de I/O paralel ar putea duce la creşterea performanţelor calculatoarelor. În 1988, Patterson, a propus 6 modele de organizare a unităţilor de discuri ce pot fi utilizate pentru a îmbunătăţii performanţele şi fiabilitatea acestora. Aceste idei au fost rapid adoptate de industrie şi au condus la o nouă clasă de dispozitive I/O numite RAID - Redundant Array of Independent (inexpensive) Disks.

Ideea de bază a conceptului RAID constă în gruparea unor unităţi de discuri de capacitate mică şi ieftine, care printr-o interconectare specială hardware şi software, să fie văzute în sistem ca o singură unitate de capacitate mare. Folosirea mai multor unităţi mici în locul uneia mari permite creşterea performanţelor sistemului şi o fiabilitate crescută.

În afara faptului că apar ca un singur disc pentru software, toate RAID au propietatea că datele sunt distribuite pe unităţile de discuri, pentru a permite operaţii paralele.

Modelele de organizare definite de Patterson sunt astăzi cunoscute sub

numele de RAID de nivel 0, până la RAID de nivel 5. Termenul de „nivel” este oarecum impropriu deoarece nu este efectuată o ierarhie, ci sunt doar 6 moduri de organizare posibile.

Nivelul 0 – Împărţire (Striping). Datele fişierelor sunt înscrise simultan în mai multe unităţi de discuri. Acest nivel oferă viteză mărită în opereţiile de citire/scriere, dar are o fiabilitate scăzută.

Nivelul 1 – Oglindire (Mirroring). Datele înscrise într-o unitate sunt copiate şi în altă unitate, asigurând o foarte bună toleranţă la defecţiuni, dar nu este obţinută o creştere a performanţei faţă de situaţia folosirii unei singure unităţi.

Nivelul 2 –ECC la nivel de bit (Bit-level ECC). Datele sunt împărţite pe biţi între mai multe unităţi, iar pe celelalte unităţi sunt înscrise coduri corectoare de erori - ECC. Asigură rate bune de transfer, cu o toleranţă bună la erori, dar sunt necesare multe unităţi pentru implementarea acestui model.

Nivelul 3 – Împărţire cu paritate (Striped with parity). Acest model rezultă dintr-o combinaţie a Nivelului 0 cu unităţi adiţionale folosite pentru informaţii de paritate. Este o adaptare a Nivelului 0 în care se pierde ceva din capacitate, pentru aceleaşi număr de unităţi combinate în reţea. Asigură un grad înalt de integritate a datelor şi toleranţă bună la erori, pentru că datele pot fi

Page 25: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 91

reconstituite dacă se defectează o unitate. Necesită cel puţin trei unităţi pentru a fi implementat, două pentru date şi una pentru paritate.

Nivelul 4 – Blocuri de date cu paritate (Blocked data with parity). Este similar Nivelului 3, cu diferenţa că datele sunt înscrise în blocuri mai mari pe unităţi independente, oferind performanţe mai bune la citire în cazul fişierelor mari.

Nivelul 5 – Blocuri de date cu paritate distribuită (Blocked data with distributed parity). Este asemanător Nivelului 4, dar realizează o creştere a performanţei prin distribuirea benzilor de paritate între o serie de unităţi hard.

Până de curând, practic toate controlerele RAID foloseau unităţi SCSI.

Acum există controlere ATA RAID disponibile, ceea ce permite implementarea RAID cu costuri scăzute. ATA RAID este destinat mai degrabă utilizatorilor individuali care vor un sistem mai performant, sau doresc dublarea unităţii (rezervare în oglindă) pentru redundanţă. Când se doreşte performanţă ATA RAID lucrează pe nivel 0, iar când se urmăreşte fiabilitatea lucrează, de obicei, pe nivel 1. Dacă se urmăreşte îmbunătăţirea atât a performanţei cât şi a fiabilităţii trebuie apelat nivelurile RAID 3 sau 5. Practic toate controlerele profesionale RAID destinate serverelor de reţea sunt proiectate să lucreze pe nivelul RAID 5. Aceste sunt mai scumpe şi trebuiesc conectate cel puţin trei unităţi.

Pentru un cost mai scăzut, multe controlere ATA RAID permit

implementarea combinată a nivelelor RAID 0 cu RAID 1. Această combinaţie necesită, de regulă, folosirea a patru unităţi, două pentru împărţirea datelor pe nivelul RAID 0 şi încă două pentru scrierea redundantă din nivelul RAID 1. Această implementare asigură aproape o dublare a performanţei sistemului (faţă de varianta cu o singură unitate) şi o rezervare a datelor în cazul unei defecţiuni.

Page 26: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

92 Echipamente periferice

Figura 3.9 Modelele de organizare definite de Patterson III.5 UNITĂŢI CU INTERFAŢĂ SCSI O opţiune foarte flexibilă şi puternică pentru conectarea hard discurilor la un PC este SCSI (small computer systems interface - interfaţă pentru sisteme de calcul mici). Temenul deja indică faptul că SCSI este destinat pentru PC-uri şi alte sisteme mici (de exemplu staţii de lucru sau Mac). SCSI a fost derivat din interfaţa SASI a lui Shugart Associates (Shugart Associates systems

RAID level 1

RAID level 0

RAID level 2

RAID level 4

RAID level 5

Page 27: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 93

interface). SCSI a apărut cu un standard ceva mai vechi SCSI-I, care nu este îndeajuns de strict în anumite aspecte, rezultând probleme de incompabilitate la implementarea SCSI-I. Standardul SCSI-II determină proprietăţile mult mai precis, şi în plus defineşte mai multe comenzi şi moduri de operare. SCSI urmează o filozofie diferită de interfeţele de hard discuri deja discutate. SCSI defineşte o magistrală între maxim 8 unităţi, precum şi protocolul pentru schimbul de date între ele. Ca unităţi SCSI pot fi hard discuri, benzi magnetice, discuri optice sau orice alt dispozitiv care îndeplineşte specificaţia SCSI. Astfel, SCSI sunt inteligente, după cum sunt şi hard discurile IDE, iar controler-ul unităţii este întotdeauna integrat în drive. Pentru conectarea la un PC este necesar un adaptor gazdă SCSI, care stabileşte conectarea la magistrala sistem a PC-ului similar cu interfaţa IDE. Adaptorul gazdă însuşi este de asemenea o unitate SCSI, deci rămân doar şapte unităţi "libere". Spre deosebire de un adaptor IDE, adaptorul gazdă SCSI este astfel destul de complex, deoarece trebuie să recunoască toate funcţiile magistralei SCSI şi să fie capabil să le îndeplinească. Dar avantajul este că SCSI nu este limitat la magistrala AT. Există de asemenea adaptoare gazdă pentru EISA, VL-bus, PCI sau Mac. Astfel magistrala SCSI serveşte doar pentru un schimb de date între unităţi SCSI conectate la magistrală. Maxim două unităţi pot fi active şi să schimbe date la un moment dat. Schimbul de date poate fi îndeplinit între adaptorul gazdă şi un drive, sau (ca trăsătură specială a SCSI) de asemenea între două alte dispozitive SCSI (de exemplu, o bandă magnetică şi un hard disc). Este remarcabil că schimbul de date este îndeplinit fără cea mai mică intervenţie a CPU; dispozitivele SCSI sunt suficient de inteligente ca să facă asta singure. Figura 3.10 prezintă schema magistralei SCSI în cazul integrării SCSI într-un PC.

Page 28: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

94 Echipamente periferice

Magistrala SCSI

Unitate SCSI

Adaptor

gazda

SCSI

Unitate SCSI

Unitate SCSI

Bus

System

Figura 3.10 Magistrala SCSI şi integrarea în PC. Magistrala SCSI este conectată la magistrala sistem a PC printr-un adaptor gazda SCSI. Pot fi servite până la şapte unităţi SCSI Fiecare unitate SCSI are asignată o adresă SCSI, care se poate seta cu un jumper de pe drive. Adresele în domeniul 0-7 sunt valide; în conformitate cu standardul SCSI, adresa 7 este rezervată pentru o bandă (cartuş) magnetică. Adresa este formată din octeţi unde cel mai puţin semnificativ bit 0 corespunde cu adresa sau SCSI-ID 0, iar cel mai semmnificativ bit 7 cu adresa sau SCSI-ID 7. Adresele SCSI sunt transferate via secţiunea de date a magistralei SCSI. A nu se confunda adresa SCSI sau SCSI-ID cu numărul unităţii logice (LUN-logical unit number). Fiecare ţintă poate găzdui până la opt unităţi logice, care se pot identifica într-o comanda SCSI cu LUN. Un exemplu de aceasta ar fi controler-ul SCSI care serveşte câteva drive-uri. Controler-ul stabileşte conectarea la magistrala SCSI, şi mai departe îndeplineşte toate funcţiile de control. Astfel controler-ul este ţinta. În plus, ţinta este asignată la câteva drive-uri (unităţi logice), care sunt evidenţiate de LUN. Astăzi, controler-ele externe SCSI sunt rare; cele mai multe hard discuri şi de asemenea alte drive-uri integrează controler-ul SCSI direct. Dacă se încearcă să se acceseze aceste hard discuri întotdeauna trebuie setat LUN la valoarea 0, deoarece drive-ul este primul şi unica unitate logică a ţintei. Trebuie avut grija să nu se producă un conflict de adresă între două drive-uri. Controler-ul unui drive determină adresa sa SCSI la punerea sub tensiune, şi atunci răspunde la comenzi care interesează această adresă SCSI. Deoarece adaptorul gazdă este o unitate SCSI, de asemenea, cu o adresă SCSI corespunzătoare, câteva adaptoare gazdă pot accesa aceeaşi magistrala SCSI. În acest caz, este posibil pentru câteva PC-uri să împartă o magistrală SCSI comună, şi astfel aceleaşi drive-uri. Ele pot schimba date via adaptoarele gazdă fără utilizarea reţelei uzuale. Din păcate magistrala SCSI este limitată la o

Page 29: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 95

lungime de 6m; o valoare care este destul de mare comparând cu cablurile IDE, cu lungimea maximă de aproximativ 0.5 m. Conexiunea între unităţile SCSI este stabilită prin cablu plat cu 50 fire. Se pot de asemenea întâlni cabluri răsucite cu 25 perechi; aici o linie de masă este întotdeauna răsucită în jurul unei linii de semnal. Tabelul 3.3 prezintă asignarea liniilor şi pinii conectorului. După cum se poate vedea din tabel, opt biţi de date DB(0)-DB(7) împreună cu un bit de paritate DB(P) precum şi nouă semnale de control sunt transferate. SCSI generează bitul de paritate automat dacă unitatea suportă paritate; nu este întotdeauna cazul. Folosind un jumper, se poate adesea determina dacă bitul de paritate trebuie generat şi verificat. Toate semnalele sunt active în 0. Deşi magistrala de date are doar 8 biţi, SCSI este proiectat pentru o rată de transfer a datelor de până la 6 Mbytes/s în modul asincron şi 7 Mbytes/s în modul sincron. În modul asincron, semnale pentru handshake sunt folosite pentru schimbul de date; în modul sincron transferul de date este îndeplinit utilizând semnalele pentru handshake ca semnale de ceas, care conduc la o rată de transfer mai mare. De notat că nu toate unităţile SCSI suportă modul sincron. Doar în drivele mai noi aliniate la standardul SCSI-II este implementat modul sincron. Pe deasupra, ratele de transfer indicate se referă doar la magistrala SCSI. La ce viteză datele sunt transferate din sau într-o memorie principală a PC-ului via magistrala sistem este altă problemă, şi nu este determinată de rata de transfer a SCSI. Rata de transfer globală depinde esenţial de calitatea adaptorului gazda şi de firmware din ROM BIOS-ul adaptorului; o valoare realistă este 1 Mbyte/s. De asemenea, este decisiv, desigur, la ce viteză data poate fi citită de pe disc sau bandă. Principiul transferului datei pe o magistrală SCSI este prezentat în figura 3.11.

Figura 3.11 Transferul de date pe magistrala SCSI Orice unitate SCSI poate îndeplini funcţia unui iniţiator şi să preia controlul magistralei SCSI prin controlul semnalelor. Cu o adresă SCSI iniţiatorul activează o anumită unitate numită ţintă care îndeplineşte anumite funcţii. Iniţiatorul ocupă magistrala SCSI doar pentru comandă şi transfer de date, altfel magistrala este liberă şi poate fi folosită de altă unitate SCSI.

Cererefunctie

Controlinitiator

Controltinta

Executiefunctie

Initiator Tinta

SCSI Bus

Page 30: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

96 Echipamente periferice

Aceasta se aplică de asemenea dacă unitatea ţintă îndeplineşte o comandă (de exemplu, citirea unui bloc), şi în acest timp nu cere o conectare cu iniţiatorul. Urmărind execuţia comenzii, unitatea ţintă stabileşte conectarea la iniţiator încă o dată şi transferă data. Controlul magistralei este realizat de următoarele semnale de control: - BSY (busy): semnalul indică dacă magistrala este ocupată. - SEL (select): semnalul este folosit de iniţiator să selecteze dispozitivul ţintă; contrar, ţinta poate de asemenea să folosească semnalul SEL pentru ca să restabilească conexiunea cu iniţiatorul după o eliberare temporară a magistralei de control. - C/D (control/data): semnalul este exclusiv controlat de ţintă şi indică dacă informaţia de control sau data este prezentă pe magistrala SCSI. Un semnal activ (cu nivel 0) indică o informaţie de control. - I/O (input/output): semnalul este exclusiv controlat de dispozitivul ţintă şi indică direcţia de transfer a datei pe magistrala de date relativ la iniţiator. Un semnal activ (cu nivel 0) înseamnă un transfer de date la iniţiator. - MSG (message): semnalul este activat de ţintă în timpul fazei mesaj a magistralei SCSI. - REQ (request): semnalul este activat de unitatea ţintă pentru a indica cererea de handshaking în cursul unui transfer de date REQ/ACK. - ACK (acknowledge): semnalul este activat de iniţiator să indice acceptarea handshaking în cursul unui transfer de date REQ/ACK - ATN (attention): un iniţiator activează semnalul să indice condiţia de atenţionare - RST (reset): un semnal activ resetează toate dispozitivele SCSI conectate. Semnal Pin Semnificaţie Semnal Pin Semnificaţie GND 1 masa TERMPWR 26 termination -DB(0) 2 bit de date 0 GND 27 masa GND 3 masa GND 28 masa -DB(1) 4 bit de date 1 GND 29 masa GND 5 masa GND 30 masa -DB(2) 6 bit de date 2 GND 31 masa GND 7 masa -ATN 32 attention -DB(3) 8 bit de date 3 GND 33 masa GND 9 masa GND 34 masa -DB(4) 10 bit de date 4 GND 35 masa GND 11 masa -BSY 36 busy -DB(5) 12 bit de date 5 GND 37 masa GND 13 masa -ACK 38 acknowledge -DB(6) 14 bit de date 6 GND 39 masa

Page 31: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 97

GND 15 masa -RST 40 reset -DB(7) 16 bit de date 7 GND 41 masa GND 17 masa -MSG 42 message -DB(P) 18 paritate GND 43 masa GND 19 masa -SEL 44 select GND 20 masa GND 45 masa GND 21 masa -C/D 46 command/data GND 22 masa GND 47 masa GND 23 masa -REQ 48 request GND 24 masa GND 49 masa 1) 25 - -I/O 50 I/O

1) fără conexiune Tabelul 3.3 Cablul interfeţei SCSI

III.6 CARACTERISTICI ALE HARD-DISCURILOR III.6.1 Capacitatea de memorare Bineînteles, principala caracteristică a unui hard-disc este capacitatea

de memorare. Aici, sunt posibile două combinaţii diferite: capacitatea discului neformatat şi formatat. Cum deja se cunoaşte de la discurile flexibile, controler-ul generează câteva câmpuri de adresă şi de gap aparţinând zonei datelor. Astfel capacitatea discului formatat este, în medie, cu aproximativ 20% mai mică. Deci atenţie când se indică capacitatea brută (disc neformatat) sau netă (disc formatat). În calitate de utilizator numai capacitatea discului formatat prezintă, bineînţeles importanţă. Depinzând de parametrii formatării şi de mărimea sectorului, capacitatea discului formatat poate varia foarte puţin. Astăzi, în PC-uri sunt folosite numai hard disc-uri cu mărimea sectorului de 512 octeţi, astfel capacitatea discului formatat dă cele mai bune comparaţii între diferite hard disc-uri. III.6.2 Timpul de acces O altă caracteristică importantă, este timpul de acces. Dar ce înseamnă acesta? Sunt mai mulţi timpi de acces distincţi: pistă-pistă, de poziţionare, aleator. Primul timp indică intervalul de timp necesar pentru a deplasa capul de la pista curentă la o pistă adiacentă. Acest timp include aşa-numitul timp de

Page 32: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

98 Echipamente periferice

stabilizare. Când braţul port capete şi capul sunt accelerate şi apoi decelerate într-un timp scurt, înainte de pista destinaţie, au tendinţa să oscileze. O dată ce această oscilare s-a stabilizat (adică capul s-a stabilizat), capul poate accesa corect pista. Valorile tipice pentru timpul de acces pistă-pistă sunt astăzi în jur de 2.5-5 ms. O valoare scazută pentru acest timp este importantă când o mare cantitate de date este memorată în sectoare succesive. Dacă capacitatea unui cilindru este depaşita, atunci fişierul continuă pe cilindrul următor. Astfel, capul trebuie mutat o pistă. În acest caz, este favorabil un timp de acces pistă-pistă scăzut. Timpul mediu de poziţionare indică timpul mediu necesar pentru a deplasa capul de la pista curenta la o pistă destinaţie selectată aleator. Valoarea acestui timp include timpul de stabilizare al capului, dar nu şi aşa-numită latenţă. Când se doreşte să se acceseze un anumit sector al discului printr-o comandă a controler-ului, hard disc-ul trebuie să poziţioneze capul mai întâi deasupra pistei respective. Dar acum, de obicei, sectorul nu este încă accesibil. Numai în cazuri rare sectorul va apare în faţa capului de citire/scriere imediat dupa stabilizarea sa. Oricum, este posibil ca sectorul respectiv să fi fost tocmai depăşit şi controler-ul să aştepte o rotaţie completă. În medie acest timp de aşteptare sau latenţă este chiar intervalul de timp necesar pentru o jumătate de rotaţie a discului. Cum majoritatea hard-discurilor au o viteză de rotaţie de 7200 rpm, latenţa este uzual egală cu 4.15 ms. Latenţa devine dominantă în special la discurile cu timp de poziţionare mic. Timpul de poziţionare împreună cu latenţa conduc la timpul de acces

aleator sau timpul mediu de acces. Acesta este timpul necesar pentru un acces aleator la un anumit sector, deci timpul mediu pentru o deplasare complet întamplătoare a capului de la pista curentă la pista destinaţie, şi perioada de aşteptare până ce sectorul respectiv ajunge în faţa capului dupa trecerea timpului de latenţă. Vechiul şi frecvent utilizatul drive ST225 necesită 65 ms; valorile tipice sunt astăzi sub 7 ms. Un timp mediu de acces scăzut este important dacă se lucrează cu multe aplicaţii care utilizează date distribuite aleator sau conţin date indexate (aplicaţiile cu baze de date fac parte din acest grup). Pentru a localiza un octet într-o bază de date pot fi necesare câteva accese de disc şi deci de deplasari ale capului. Atunci, un timp de acces scăzut este foarte important. De asemenea, interpretarea timpului mediu de acces trebuie făcută cu atenţie. Există o posibilitate de a reduce în mod remarcabil acest timp: disc-cache-ul. Acestea sunt memorii cache integrate în disc sau controler care pot memora o pistă completă sau sectoare individuale înainte ca datele pistei sau sectorului să fie transferate în memoria principală, sau datele furnizate de memoria principală să fie scrise pe disc. Accesul la disc-cache este, bineînţeles, foarte rapid; timpii de acces sunt în mod semnificativ sub 1ms. Oricum, timpul

Page 33: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 99

mediu de acces mecanic rămâne acelaşi, şi este compus din timpul mediu de poziţionare (mecanic) şi din latenţă. În particular, accesul secvential la disc este mult îmbunatăţit de disc-cache-uri. Anumiţi fabricanţi presupun, mai degrabă arbitrar, că 40% din accese sunt secvenţiale, cu timpul de acces cache, 40% sunt accese aleatoare cu timpul mediu de acces mecanic, şi 20% sunt accese de scriere, de asemenea cu timpul mediu de acces mecanic. Valoarea medie este astfel egală cu: 40% * timpul de acces cache + 60% * timpul mediu de acces mecanic

Cu un timp mediu de acces mecanic de 20ms rezultă un timp mediu de acces de 12ms - o valoare mult mai bună. Se poate constata că un disc cu timpul mecanic de acces mai mic cu 30% conduce de obicei la performanţe mai bune ale sistemului în comparaţie cu sistemele la care micşorarea timpului de acces s-a realizat numai cu ajutorul memoriei cache. Memoria cache a discului devine într-adevăr eficientă începând cu capacităţi ale sale mai mari de 1Mbyte. O alternativă sunt cache-urile software care emulează un disc cache în memoria principală. Pe un PC la o frecvenţă mare aceste cache-uri software sunt chiar rapide, astfel că o mare cantitate de date este deja prezentă în memoria principală - memorie rapidă, şi nu mai este necesară aducerea lor de la controler-ul de cache al hard discului prin intermediul bus-ului sistem care are un ceas cu o frecvenţă mai scazută. Dar un dezavantaj semnificativ este că o blocare a PC-ului datorată unei căderi a sistemului, conduce la pierderea datelor tocmai scrise pe “disc”, dacă acestea au fost temporar memorate în cache şi blocarea apare înainte ca acestea să fie scrise pe disc. Numai o strategie write-through poate evita această problemă, dar aceasta este dezavantajoasă dacă programele modifică frecvent blocurile de date, caz în care cache-ul virtual nu are practic nici în efect. Cache-urile hardware de pe controler nu sunt afectate de această prabuşire a sistemului. Logica lor este separată de sistemul principal, şi funcţionează chiar şi atunci când PC-ul este deja blocat. Trebuie aşteptat numai câteva secunde după ultimul acces în scriere înainte de a opri PC-ul şi a întrerupe sursa de tensiune pentru cache înainte ca toate datele din cache să fie scrise. Pe lângă aceşti timpi de acces, fabricanţii indică adesea şi timpul de

poziţionare maxim. Acesta este timpul necesar pentru a deplasa capul de pe pista 0 pe pista cu numărul de cilindru maxim, sau invers. Valoarea este semnificativă pentru accese la date care sunt foarte depărtate una de cealaltă. Asemenea date foarte puternic fragmentate pot apare, de exemplu, dacă se extinde un fişier mai vechi şi toate clusterele apropiate şi până la sfârşitul discului sunt deja ocupate de către alte fişiere şi directoare. DOS-ul alocă atunci

Page 34: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

100 Echipamente periferice

un sector pe o pistă într-o zonă foarte interioară a discului pentru datele suplimentare. Astfel capetele trebuie mutate destul de departe. III.6.3 Rata de transfer a datelor Rata de transfer a datelor se referă în general la raportul dintre cantitatea datelor transferate şi timpul necesar pentru acest transfer. Prin termenul rată de transfer a datelor vom înţelege o valoare cu care un fişier de mărime medie este transferat de pe disc în memoria principală. Trei componente principale contribuie la rata de transfer: transferul disc - controler, procesarea în controler şi transferul controler - memoria principală. Prima componentă este limitată de numărul de octeţi ce sunt vehiculaţi prin faţa capului de citire/scriere în fiecare secundă. Cu 17 sectoare pe pistă la 3600 rpm aceasta valoare (împreună cu câmpurile de adresă, gap-urile, etc.) ajunge la aproximativ 600 kbytes/s. Aceasta corespunde la 5 Mbits/s - specificaţie pentru interfaţa ST412 cu codificare MFM pentru date. Controler-ul separă toţi octeţii care nu aparţin câmpului de date din sector, astfel rămânând numai în jur de 510 kbytes. Mai întâi aceşti 510 kbytes/s sunt valizi numai pentru un singur sector; ar trebui să scriem 512 bytes/980µs căci un sector cuprinde 512 octeţi de date, iar sectorul împreună cu toate câmpurile de adresă şi gap-urile trec prin faţa capului în aproximativ 980µs. Acum datele sunt în bufferul de sector şi vor fi transferate în memoria principală. Dacă controler-ul şi sistemul principal sunt suficient de rapide să realizeze această sarcină înainte ca următorul sector să apară (aceasta înseamnă un factor de întreţesere de 1:1) atunci această rată de transfer rămâne aceaşi pentru întreaga pistă. Rata de transfer este efectiv egală cu 510 kbytes/s. Dar cu un factor de întreţesere de 2, sunt deja necesare 2 rotaţii complete pentru a transfera toate datele de pe o pistă în memoria principală. Astfel rata de transfer este redusă la 255 kbytes/s. La un XT utilizarea unui factor de întreţesere de 6:1 ducea la o rată de transfer ridicolă de numai 85 kbytes/s; aceasta valoare este aproape atinsă de un floppy-drive de 1.44 Mbyte. Timpul de prelucrare în controler este de obicei foarte scurt deoarece verificările CRC şi ECC şi corecţiile ECC sunt realizate într-un timp foarte scurt. Astfel timpul de prelucrare are o foarte mică influenţă asupra ratei de transfer. Dar rata de transfer între controler şi memoria principală via bus-ul sistem va avea o influenţă destul de mare, deoarece, în intervalul scurt până ce următorul sector apare, toate datele trebuie transferate de la controler în memoria principală. Distanţa între două câmpuri de date dintr-un sector este de numai 100 µs. Astfel, rata de transfer în memoria principală trebuie să fie egală cu 512 bytes/100 µs, sau de aproximativ 5 Mbytes/s! De aceea magistrala sistem a PC-ului trebuie să fie în măsură să lucreze la cel puţin o asemenea rată,

Page 35: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

Capitolul III: Unităţi de hard-disc 101

astfel încât să fie posibilă o valoare de întreţesere 1. Magistralele ISA şi EISA lucrează numai la o frecvenţă de cel mult 8.33 Mhz, în acord cu specificaţiile lor. Împreună cu o lărgime de 16 biţi pentru ISA şi 32 biţi pentru EISA, rata de transfer a datelor pentru magistrala sistem este astfel limitată la maxim 8.33 Mbytes/s şi respectiv 16.67 Mbytes/s, deoarece procesorul necesită pentru un ciclu de bus două cicluri ale ceasului de bus. De aceea, o codificare a datelor RLL cu o interfaţă ST412 şi 26 sectoare pe pistă depăşeşte capacitatea magistralei ISA. Acum devine clar de ce drive-urile de mare capacitate cu peste 70 sectoare/pistă şi o întreţesere de 1:1 au un disc cache (sau cel puţin un bufer de o pistă în loc de un bufer de un sector). Cache-ul operează mult mai repede decât transferul via magistrala ISA sau EISA şi poate astfel înregistra o pistă întreaga. Transferul în memoria principală via magistrala PC poate fi realizat continuu şi capacitatea de transfer de 8.33 MB/s sau 16.67MB/s poate fi folosită pentru un timp mai mare de 100 µs între 2 sectoare, ca în cazul hard disc-urilor cu metoda de codificare MFM şi controler ST412. III.6.4 Fiabilitatea şi MTBF Intervalul de timp între 2 defecţiuni complete ale drive-ului care necesită anumite reparaţii este descris prin timpul mediu între defecţiuni - MTBF. Timpul MTBF trebuie interpretat astfel: dacă presupunem o mulţime de hard disc-uri identice, atunci, în medie, o defecţiune apare la MTBF. Astfel MTBF este o cantitate statistică. Cum se calculează MTBF? De exemplu considerăm o valoare a MTBF de 150000 de ore care înseamnă mai mult de 17 (!) ani de funcţionare neîntreruptă 24 de ore din 24. Pentru a obţine o valoare în care se poate avea încredere pentru MTBF, ar trebui să operăm cu o mulţime de hard disc-uri identice un timp mai lung decât MTBF indicat. Cum este posibil să se indice o valoare medie de timp, dacă timpul de test este mult sub aceasta? Testarea este bineînţeles imposibilă pentru un MTBF de 17 ani, deoarece hard-disc-ul ar fi demult depăşit după timpul de test MTBF. În schimb, fabricanţii fac anumite presupuneri şi elaborează statistic modele de defecţiuni care se bazează într-adevar pe experienţa cu alte discuri mai vechi. După aceea, este realizat un test care poate dura nu mai mult de 6 luni. Din rata defectărilor din acest interval de timp şi din compararea cu rata defectelor ale hard disc-urilor mai vechi pentru care există o anumită experienţă se extrapolează MTBF pentru hard discul investigat.

Page 36: Capitolul III UNITĂŢI DE DISCURI DURE de discuri dure...Capitolul III: Unităţi de hard-disc 67 Capitolul III UNITĂŢI DE DISCURI DURE Alături de memorii şi procesoare, hard

102 Echipamente periferice

Pe lângă defecţiunile complete caracterizate de MTBF, există şi alte tipuri de defecţiuni obişnuite, precum erori de citire şi erori de poziţionare. Erorile de scriere nu sunt detectate de dispozitiv în cele mai multe cazuri. Ele se vor manifesta mai târziu ca erori de citire. În medie, pentru un hard disc bun

numărul erorilor de citire corectabile, este în jur de 1 la 1010 biţi citiţi. Observaţi că rata erorilor este indicată ca eroare per bit citit, dar întotdeauna un acces de citire este realizat la un sector, cu 512 octeţi/sector, 8 biţi/octet. Convertind în număr de accese pentru citire, rezultă un număr mai mare de

4000. Numărul erorilor recuperabile ajunge astfel la 1 la 2*106 accese pentru citire. Deci se poate citi 1 Gbyte de date fără a întâlni o eroare corectabilă, dar un utilizator nu poate recunoaşte o astfel de eroare deoarece circuitul ECC o corectează. Erorile de citire care nu se pot corecta sunt mult mai supărătoare.

Rata tipică pentru un hard disc de înaltă calitate este de o eroare la 1014 biţi

citiţi sau o eroare la 2*1010 comenzi de citire. Astfel de tipuri de erori caracterizează aşa-numitele erori soft. Ele presupun că dispozitivele mecanice nu au erori şi de asemenea că pe suprafaţa hard disc-ului nu există erori. Defecţiunile de natură mecanică - datorate uzurii sau cauzate de prăbuşirea capetelor - cunoscute ca erori hard, cresc rata erorilor cu câteva puteri ale lui 10. Cele mai probabile cauze de erori sunt poziţionările incorecte ale capului de citire/scriere. Rata acestor erori de poziţionare este în

jur de 1 la 106 poziţionări pentru hard disc-urile cu motoare liniare. Motoarele pas cu pas prezintă o rată a erorilor de aproape 10 ori mai mare. Toate aceste valori par a fi destul de bune, dar trebuie ţinut cont şi de faptul că, capetele unui hard disc trebuie mutate frecvent şi rapid, astfel că un milion de poziţionări apar într-un timp scurt. Dar ca o compensare, strategia de detectare a erorilor integrată în controler gestionează automat astfel de erori de poziţionare. De exemplu, în cele mai multe cazuri, este suficient să se mute capul înapoi pe pista zero pentru recalibrare şi apoi să se repete poziţionarea.