четвртак, 18. октобар 2007.

Princip rada hard diska

Za mnoge je hard disk neka vrsta crne kutije - mali uređaj koji "nekako" skladišti podatke. U ovom delu ćemo pokušati da razjasnimo kako ustvari radi hard disk, koji su njegovi osnovni delovi i koja je njihova uloga pri čitanju i pisanju.

Hard disk koristi kružne ravne diskove zvane ploče (platters), koji su sa obe strane presvučeni specijalnim materijalom (media) dizajniranim da skladišti informacije u magnetskoj formi. Ploče imaju otvor u centru i pričvršćene su na valjkasti nosač ploča (spindle). Ploče se okreću velikom brzinom pomoću specijalnog motora (spindle motor) koji služi da okreće nosač, a samim tim i polče. Specijalni elektromagnetski uređaji za čitanje i upis koje se zovu glave (heads) postavljene su na slajdere (sliders) i služe za upisivanje na disk ili čitanje sa njega. Svi slajderi su montirani na nosače slajdera (actuator arms), koji su mehanički spojeni (zajedno se pomeraju) i pozicionirani iznad površine diska pomoću uređaja koji se zove aktuator (actuator). Štampana ploča, tj. kontrolerska logika na njoj, kontroliše aktivnosti svih komponenata diska i komunicira sa ostatkom računara. Ceo hard disk mora biti izrađen sa velikom preciznošću zbog ogromne minijaturizacije komponenata i zbog povećanja pouzdanosti. Unutrašnjost diska je izolovana od spoljašnjeg sveta da se ne bi dopustilo da prašina i ostali vidovi kontaminacije dospeju na površinu ploča, jer to može dovesti do trajnog oštećenja glava ili same površine diska i time dovesti do gubitka podataka.

Svaka ploča ima dve korisne površine od kojih svaka može da primi više milijardi bitova podataka, koji su organizovani u veće grupe da bi bio omogućen lakši i brži pristup informacijama. Svaka ploča ima dve glave, jednu za donju, a jednu za gornju površinu ploče tako da disk sa npr. 3 ploče ima 6 glava. Koncentrične kružnice koje glave opisuju po površinama ploča i na kojima su upisani podaci nazivaju se trakama (tracks), a skup svih takvih kružnica, na svim površinama cilindrima (cylinders). Svaka traka je, dalje, ugaono podeljena na sektore (sectors), koji sadrže po 512 bajtova i predstavljaju najmanji blok kome može da se pristupi. Broj sektora može biti jednak na svim cilindrima, a može biti i manji na unutrašnjim, a veći na spoljnim, da bi se omogućila ravnomernija gustina zapisa i optimalnija upotreba većeg obima spoljnih cilindara. Ta tehnologija, koja se i danas koristi, naziva se ZBR (Zoned Bit Recording) i ima za posledicu neravnomernu brzinu transfera sa različitih delova diska - podaci se brže prenose sa spoljnih nego sa unutrašnjih cilindara.

Postoji još jedno odstupanje od proste organizacije sektora unutar cilindara, koje je uvedeno radi povećanja brzine čitanja ili upisa. Naime, kada disk u sekvencijalnom čitanju sadržaja hard diska pročita sve sektore nekog cilindra glave se pomere na prvi sektor prve trake sledećeg cilindra, a pošto je glavi potrebno neko nezanemarljivo vreme za pomeraj ona bi se našla usred sektora koji treba da pročita ili čak iza njega. Ovo bi dovelo do toga da je potrebno da glava obiđe ceo krug dok ne dođe na traženi sektor, čime se gubi mnogo vremena, pa se uvodi tehnologija cylinder skew: prvi sektor svakog sledećeg cilindra je pomeren za nekoliko mesta u odnosu na poziciju u prošlom cilindru, čime se ovaj problem rešava.

Evo sada primera koji ukratko demonstrira šta se dešava unutar diska svaki put kada sa njega treba da se očita neka informacija (radi lakšeg razumevanja primer je uprošćen i ne uzima u obzir disk keširanje, korekciju grešaka i mnoge druge specifične tehnike koje se koriste za poboljšanje performansi i pouzdanosti):


1. Prvi korak pre samog pristupa disku je da se odredi na kojoj poziciji na disku se nalazi tražena informacija. To je zadatak same aplikacije koja traži podatak, operativnog sistema, sistemskog BIOS-a i specijalnih drajvera za disk, ukoliko isti postoje.

2. Ta pozicija se kroz više koraka prevođenja prevodi u geometrijsku poziciju na disku izraženu rednim brojem cilindra, glave i sektora ili apsolutnog rednog broja sektora od početka diska koji sistem (ili aplikacija) želi da pročita. Zahtev se šalje disku kroz interfejs hard diska tako što se disku počalje ovako stvorena adresa i zahtev za čitanje.

3. Kontrolerska logika hard diska prvo proverava da li je tražena informacija možda već u internom baferu hard diska ili u njegovom kešu. Ako jeste kontrolerska logika odmah prosleđuje informaciju preko hard disk interfejsa do odredišta bez potrebe da čita sa površine diska i time se završava operacija čitanja. Ako traženi podatak nije u baferu ili kešu prelazi se na sledeći korak.

4. U većini slučajeva ploče diska se već okreću. Ako to nije slučaj (npr. kod prenosnih računara power management šalje instrukcije disku da zaustavi rotaciju da bi se uštedela energija) onda će kontroler diska aktivirati spindle motor da dovede disk do operacione brzine.

5. Kontrolerska logika diska interpretira primljenu adresu, analizira je i ako je potrebno sprovodi dodatne korekcije adrese uzevši u obzir fizičke karakteristike konkretnog diska. Broj cilindra određuje koju stazu na površini ploče treba da nađe i kontrolerska logika daje instrukcije aktuatoru da pomeri glave za čitanje i pisanje na odgovarajući cilindar (stazu).

6. Kada glave dođu tačno do tražene pozicije kontrolerska logika aktivira odgovarajuću glavu, koja počinje da očitava brojeve sektora sa tražene staze. Glava čeka dok se ispod nje ne nađe odgovarajući sektor i kada se to dogodi pročita sadržaj tog sektora.

7. Kontrolerska logika diska preusmerava tok informacija iz hard diska u privremeni bafer ili keš. Kada se sve to završi kontrolerska logika šalje informacije preko hard disk interfejsa do traženog odredišta (najčešće sistemske memorije) čime je operacija čitanja završena.

Proces upisa je obrnut.


Tehnologije izrade savremenih hard diskova

Ovde ćemo navesti kratak pregled tehnologija koje se danas koriste u izradi pojedinih delova hard diskova:

Hard disk ploče (platters): Svaki hard disk ima jednu ili više ploča koje se koriste za smeštanje podataka. One se sastoje od dva glavna materijala: supstrata (substrate), koji predstavlja osnovu ploče (nalazi se unutra) i daje joj čvrstinu i magnetskog medija (magnetic media coating), koji se nalazi spolja, i koji se koristi za skladištenje magnetskih impulsa, koji predstavljaju podatke.

Materijal za izradu supstrata treba da bude čvrst, stabilan, lak, jeftin i široko dostupan, a najčešće se koristi aluminijumska legura koja ispunjava sve ove kriterijume. Međutim, kako tehnologija napreduje sve više se smanjuje razmak između glava i ploče, a brzina rotacije povećava, pa ploče trebaju da budu jako glatke, ravne i izdržljive. Zbog toga počinju da se koriste i drugi materijali u izradi supstrata kao što su: staklo, stakleni kompoziti i magnezijumske legure, ali kod njih postoje problemi kao što su veća cena, teškoće oko proizvodnje i (u slučaju stakla) lomljivost.

Supstrat od koga su napravljene ploče čini bazu na koju se postavlja magnetski medijum - veoma tanki sloj (nekoliko mikroinča debljine) magnetskog materijala, na koga se upisuju podaci. Kako tehnologije izrade diskova napreduju razvijaju se novi magnetski materijali koji dozvoljavaju veću gustinu upisa podataka i koji se mogu proizvoditi sa visokim tolerancijama. Ovde se koriste specijalne tehnologije proizvodnje od kojih su najkorišćenije electroplating (tehnologija slična onoj koja se koristi u izradi nakita - pozlate) i sputtering (tehnologija slična tehnologiji proizvodnje poluprovodnika). Sputtering tehnologija je bolja, jer stvara uniformnije i ravnije površine, ali je skuplja od electroplating-a. Površina svake ploče je pokrivena sa još jednim, ekstra tankim, zaštitnim slojem, koji štiti površinu ploče od oštećenja.

Glave za čitanje i upis: Glave za čitanje i upis predstavljaju interfejs između magnetskog medijuma diska na kome su upisani podaci i elektronskih komponenata koje sačinjavaju ostatak hard diska. Zbog toga predstavljaju veoma kritičnu komponentu u određivanju ukupnih performansi diska i predstavljaju jedan od najskupljih delova diska.

Konceptualno, hard disk glave su konvertori energije: transformišu električne signale u magnetske signale i obratno. Svaki bit podatka koji treba da se upiše je "snimljen" na površinu hard diska koristeći specijalne metode kodiranja (encoding methods) koje prevode nule i jedinice u razne oblike magnetskog fluksa. Starije, konvencionalne (ferrite, metal-in-gap i thin film) glave rade koristeći dva osnovna principa elektromagnetike. Prvi, koji se koristi pri upisu na disk je da se propuštanjem električne struje kroz namotaje stvara magnetno polje čiji smer zavisi od smera proticanja struje kroz namotaje. Drugi, suprotan, princip, koji se koristi se za čitanje sa diska kaže da će kroz namotaj u magnetnom polju teći struja odgovarajućeg intenziteta i smera.

Tehnologija koja se danas koristi predstavlja radikalnu promenu u radu glava hard diska. Novije (MR/AMR - (Anisotropic) MagnetoResistive) glave koriste princip magnetorezistivnosti upotrebom specijalnih materijala koji menjaju svoju otpornost kada se podvrgnu različitim magnetnim poljima. Upotrebom MR glava omogućene su mnogo veće gustine zapisa jer su mnogo osetljivije, pa se dozvoljavaju slabiji signali što znači da se bitovi podataka mogu postaviti bliže jedan drugom (povećava se gustina, a time i kapacitet). Druga velika promena je što se umesto jedne glave (za čitanje i upis) sada koriste dve odvojene - jedna za čitanje, a druga za upis. Ovo je dobro jer sada više nema kompromisa između poboljšanja čitanja i poboljšanja pisanja, već se svaki deo može odvojeno poboljšavati. MR glave predstavljaju senzore koje mere promene u rezistivnosti i tako čitaju podatke sa diska, dok se za upis koriste thin film glave. GMR (Giant MagnetoResistive) glave, koje se danas najviše koriste, predstavljaju poboljšane MR glave i sastoje se iz četiri tanka sloja spojena u jednu sendvič-strukturu. One imaju znatno veću osetljivost pri čitanju od MR glava, manje su osetljive na šumove i interferencije i dozvoljavaju još veće povećanje kapaciteta (dozvoljavaju gustine do 35Gbit/in2).

Kontrolerska logika diska: Svi moderni hard diskovi imaju na sebi integrisanu inteligentnu kontrolersku logiku. Prvi hard diskovi su bili "glupi", tj. skoro sva kontrolna logika koja kontroliše rad hard diska je bila smeštena izvan njega, na kontroleru. Zbog toga je kontroler morao da zna sve važnije karakteristike svih mogućih diskova, pa je bilo teško i nepraktično optimizovati kontroler za rad sa specifičnim diskom. Moderni hard diskovi sadrže kontrolersku logiku na samom disku, na štampanoj ploči na donjem delu diska. Ispod je prikazana štampana ploča sa Seagate SCSI diska.
Štampana ploča kontrolera na disku sadrži mikroprocesor, internu memoriju i ostale komponente koje kontrolišu rad diska. Ona predstavlja pravi računar u malom, koji je sofisticiraniji od prvih PC-a, ima više memorije i koristi brže mikroprocesore. Kako diskovi postaju napredniji i brži sve više funkcija se dodaje na štampanu ploču, pa se koriste sve moćniji procesori i prateći čipovi i veća memorija, da bi mogle da se implementiraju komplikovanije tehnologije izrade glava, brži interfejsi i veći propusni opseg. Mikroprocesor diska između ostalog obavlja i sledeće funkcije:
# Kontroliše rad spindle motora
# Kontroliše rad aktuatora i njegovo pomeranje na tačan broj staze
# Upravlja tajminzima signala za operacije čitanja i upisa
# Implementira power management funkcije
# Koordiniše i kontroliše ostale funkcije potrebne za rad hard diska
Pošto moderni diskovi imaju interne mikroprocesore, oni imaju i interni "softver" koji ih pokreće. Te rutine, koje se nazivaju firmware, upravljaju kontrolnom logikom diska i smeštene su u ROM čipu na štampanoj ploči.
RAM memorija na štampanoj ploči se koristi za keš, koji služi kao bafer između interfejsa (relativno brz uređaj) i same mehanike diska (relativno spor uređaj) kao i za smeštanje rezultata prethodnih čitanja sa diska (prefetch informacije), koji će najverovatnije biti traženi u budućnosti. Upotreba keša značajno povećava performanse bilo kog diska smanjujući broj fizičkih pristupa disku (za pogodak u kešu) i dozvoljavajući podacima sa diska da se neprekidno prebacuju u keš (ili iz keša), bez obzira na to da li je bus slobodan ili zauzet. Danas se na mainstream diskove ugrađuje između 512KB i 2MB keša, dok se za high-end primene koristi i do 16MB keša.
Pošto su signali očitani sa diska veoma slabi, potrebna su specijalna kola za čitanje low-voltage signala koji dolaze sa glava za čitanje i upis, njihovu amplifikaciju i interpretaciju da bi se odredilo da li je pročitani signal jedinica ili nula. Kako se gustina zapisa povećava signali postaju slabiji (da ne bi došlo do interferencije sa susednim signalima), pa ovaj posao postaje sve kompleksniji. Danas se koristi PRML (partial response, maximum likelihood) tehnologija čitanja koja totalno menja način na koji se signal čita i dekoduje omogućavajući korišćenje još slabijih signala i samim tim povećanje gustine zapisa podataka. Ova tehnologija koristi digitalnu obradu signala i sofisticirane algoritme za manipulaciju analognim podacima pročitanim sa površine diska (partial response) i onda određuje najverovatniju sekvencu bita koju oni predstavljaju (maximum likelihood). Njen naslednik EPRML, koja poboljšava pouzdanost data dekodovanja i dozvoljava još veće povećanje gustine zapisa, postala je danas standard.
Iako se danas sve veći deo kontrole diska prebacuje na kontrolersku logiku integrisanu na sam disk još uvek se postoje kontroleri diska (na kartici ili integrisani na matičnu ploču) pomoću kojih disk komunicira sa ostatkom računara. Stariji "eksterni" kontroleri su kontrolisali i interni rad diska, dok novi predstavljaju samo interfejs između diska i ostatka sistema. Kontrolerska logika na disku sadrži interfejs koji kontroliše tok informacija između sebe i (eksternog) kontrolera sa kojim komunicira. Ovaj interfejs može biti relativno prost (stariji IDE/ATA interfejsi) ili relativno kompleksan (noviji IDE/ATA interfejsi i SCSI interfejsi).
Evo mislim da je ovo sasvim dovoljno o hard diskovima,sledeće nedelje ili čak možda i pre ću postovati nešto o matičnim pločama
Ovaj tekst je preuzet sa http://www.elitesecurity.org/