menu
shopping_cart
0
KOSÁR

4. lecke

A merevlemez

lightbulb_outlineMegismerjük a merevlemez működését, az adatok tárolásának, olvasásának és írásának mikéntjét.

A merevlemez, angolul hard disk drive (HDD) digitális információ tárolására alkalmas eszköz. Kikapcsolás után is megtartja a ráírt adatokat.

A két népszerű megnevezésen kívül a magyar nyelvben a winchester név is elterjedt egy 1970-es modell miatt, aminek kódneve "winchester" volt és Magyarországon nagy népszerűségnek örvendett. A modell a kódnevét a benne található két darab 30 mb-os forgólemezről kapta ezért a szakzsargonban 30-30-nak hívták - ugyanúgy ahogy a vadnyugati Winchester puskák 30-30 elnevezésű töltényét (a töltények mérete 30mm és 30 mm volt), ezért esett a választás erre a kódnévre.

Rövid története

Az első merevlemez, az IBM RAMAC 350 egy 1955-ben kifejlesztett 5 millió karakter tárolására alkalmas eszköz, amely technológiai vívmányait a mai merevlemezek is megörökölték. Súlya 1 tonna, kapacitása 4-5 megabyte. Ez az eszköz alkalmazta először a forgólemezes adattárolás technikáját, amikor az adatok egy korong alakú mágneses réteggel bevont felületre kerültek. 50 darab 60 cm átmérőjű forgólemezből állt, amihez egy mozgó olvasófej is kapcsolódott, ami az adatokat olvasta le a lemezek felületéről.

Az idő előrehaladtával a technológia nem változott, és ugyanezen elveket követve sikerült 1982-ben a Hitachi cégnek elérnie az 1 gigabyte-os kapacitást. A 90-es évek elején a merevlemezek fizikai mérete szabványosodott és a 3,5"-os méret lett az asztali pc-kben elterjedt. Ezen 3,5"-os szabvány lemezek kapacitása egyre csak nőtt, jelenleg (2014) a Segate cég tartja a rekordot 10 terrabyte-tal.

Forgólemezes adattárolás

A forgólemezes adattárolás lényege, hogy az adatok 1 vagy több forgó korongon tárolódnak. Mindegyik korong felett egy olvasófej található, amit mozgatva a korong középpontjától távolodhatunk, vagy közeledhetünk. A korong és az olvasófej mozgatásával bármely a lemez felületén tárolt adatot elérhetjük. A forgólemezes adattárolás képviselői közé tartozik:

  • bakelit lemez és lejátszó, ahol mechanikai úton olvassa le az olvasófej a lemez felületén található mélyedések által reprezentált zenei adatokat
  • cd lemez és lejátszó, ahol optikai úton történik az adatok leolvasása
  • merevlemez, ahol mágneses úton történik az adatok tárolása és leolvasása

Az adat helyét a lemezen három paraméterrel lehet jellemezni:

  • középponttól mért távolság
  • referenciaponthoz képesti elfordulás szöge
  • hányadik korongon helyezkedik el

Jellemzők

A számítástechnikában az adatok hosszú távú tárolására a merevlemezt használják, amelyet több paraméterrel is lehet jellemezni:

  • Felpörgési idő (spin up time): Időmennyiség ami megmondja, hogy az eszköz a bekapcsolás után mennyi idő múlva üzemkész, azaz mennyi idő alatt éri el azt az optimális forgási sebességet, amikor megkezdődhet az adatok leolvasása. Ez a mai lemezeknél milliszekundumban mérhető idő. Az adatelérési idő javítása érdekében csak egyszer, bekapcsoláskor kell számolni ezzel, mivel a lemez végig a használat során folyamatos pörgésben marad a gyorsabb kiszolgálás érdekében.
  • Keresési idő (seek time): Időmennyiség, ami leírja, hogy hány milliszekundum alatt találja meg az olvasófej a keresett adatot (mennyi idő alatt fordul a megfelelő szögbe a korong, és kerül feléje az olvasófej). Ez egy átlagos idő -- természetesen ha a lekért adat közelebb van az olvasófejhez vagy éppen alatta van, akkor a keresési idő lehet 0 is.
  • Forgási sebesség (rpm, rotate per minute): Megadja, hogy 1 perc alatt hány fordulatot tesz a lemez. Minél gyorsabb, annál jobb. A mai lemezek általában 7200 rpm-esek. A forgási sebesség nagyon fontos: A forgás miatt egy kis légpárna keletkezik az olvasófej alatt. Ez a légpárna tartja fent az olvasófejet, ami nagyon közel, pár ezred milliméter távolságra repül csak a korong felett.
    • Ha nem lenne megfelelően gyors a forgási sebesség, akkor az olvasófej hozzáérne a lemezhez, ezzel károsítva a felületét és adatvesztést okozna. Áramszünet esetén a megszűnő légpárna miatt keletkezett károk enyhítése érdekében egy rugó vagy más mechanika az olvasófejet gyorsan kihúzza oldalra, a korong felületén kívülre, megakadályozva ezzel a karcolást.
  • Fizikai méret: Eszközfüggő, az asztali számítógépekbe 3,5" inch méretű, a laptopokba 2,5" inch méretű lemezeket szerelnek.
  • Lemez cache méret: A merevlemezek a gyorsabb elérés érdekében kisebb méretű SSD memóriákat is tartalmaznak, amibe a lemezről kiolvasott adatok bekerülnek a kiszolgálás előtt (előtöltik ide az adatokat), majd a tényleges kiszolgálás innét történik. Ez azért jó, mert ha nem folyamatos az adatkérés, akkor sem kell a lemeznek megszakítania az adatolvasást, hanem folyamatosan írhatja ezt a memóriát és az adatok elérési ideje is csökken, ha előtölti a merevlemez ide a szerinte legközelebb elérni kívánt adatokat. Például: Ha elkezdtünk olvasni egy fájlt, és beolvastuk az első byte-ját, akkor nagy valószínűséggel az utána következő bájtokat is olvasni fogjuk, ezért -- amíg az adatátvitel folyik a merevlemez csatlakozóján -- célszerű előtölteni a cache-be ezeket az adatokat.
  • Csatolófelület: SATA, PATA, USB, SCSI

Kapacitás

A számítástechnikában az adatmennyiségek közötti váltószám legtöbbször az 1024.

  • 8 bit = 1 byte
  • 1024 byte = 1 kilobyte
  • 1024 kilobyte = 1 megabyte
  • 1024 megabyte = 1 gigabyte
  • ...

Azaz a prefixumok növekedése kettő hatványain alapul: 210 , 220, 230... A számítástechnikai köznyelvben ezek a váltószámok terjedtek el, a kilo, mega, giga... kezdetű megnevezésekkel együtt. AZONBAN: A nemzetközi szabványügyi hivatal szerint a kilo, mega, giga prefixumok -- ahogy az élet minden területén (kilogram, megatonna ...) -- nem kettő hatványainak felelnek meg, hanem 10 hatványainak. 101, 102, 103 ...

Tehát hivatalosan, ha SI szabvány szerint értelmezzük például az 1 kilobyte-ot, akkor az nem 1024 byte, hanem csak 1000 byte.

Az SI prefixumok helyett a használandó megnevezés a kibibyte, mebibyte, gibibyte lenne. Csakhogy a köztudatba elterjedt szokásokat nehéz megváltoztatni.

  • 1000 byte = 1 kibibyte
  • 1000 kibibyte = 1 mebibyte
  • 1000 mebibyte = 1 gibibyte
  • ...

A merevlemezek kapacitásának leírására, például amikor azt mondjuk, hogy "Vettem a boltban egy 100 gigabyte-os winyót" nem az SI, hanem a bináris megnevezéseket kellene használni, tehát a most említettt mondat így hangzana helyesen: "Vettem a boltban egy 100 gibibyte-os winyót". A köznyelvben nem ez terjedt el.

A merevlemezgyártók az SI mértékegységekkel számolnak (1000-es váltószámmal az 1024 helyett) "gazdasági okokból", így "kapacitáscsökkenést" tapasztalunk: Egy 100 gigabyte-os (100 gibibyte-os) merevlemez kapacitását kétféleképpen értelmezhetjük:

1000*1000*1000 byte = 1'000'000'000 byte

illetve

1024*1024*1024 byte = 1'073'741'824 byte

A különbség éppen 73'741'824 byte, azaz kerekítve 7 gigabyte.

Természetesen a merevlemezgyártók azt a megnevezést részesítik előnyben (gigabyte, azaz 1000-es váltószám), amely számukra gazdasgilag jobban megéri és a gyártás költségeit minimalizálja. Ennek eredménye a "kapacitáscsökkenés", a megvett merevlemezünk, amiről azt hittük 100 gigabyte igazából csak 93 gigabyte. Természetesen ez csak akkor helyes kijelentés, ha hibásan elvárjuk az 1024-es váltószámot.

Az adatok olvasása

A merevlemez felülete felmágnesezhető (vas vagy kobalt vagy nikkel) anyaggal van bevonva és kis cellákból áll. Ezen kis mágneses cellák különböző irányba lehetnek felmágnesezve.Ha mindegyik cella mágneses iránya más, akkor nem tárol adatot (nincs mégneses tere), ha mindegyik egy irányba áll, akkor van mágneses tere, ami adat jelenlétére utal. A felmágnesezéstől függően különböző mágneses tér tud kialakulni a cella felett.

Felmágnesezés előtt és után:

Egy felmágnesezett felületrésznek mágneses tere van. Az olvasófej ezt a mágneses teret olvassa le. Mivel a fő cél az, hogy a mágneses adatok elektromos jellé alakuljanak, amit továbbítani lehet vezetékeken keresztül más feldolgozó alkatrészekhez a számítógépen belül, ezért az olvasófej az indukció fizikai jelenséget használja fel.

"Mozgási indukció: Egy vezetőben elektromos áram indukálódik (jön létre) a vezető körüli mágneses tér változása miatt."

Az indukció jelenségét használja ki a merevlemez olvasófeje, ami a mágneses cellák felett repül: Celláról cellára lépve a mágneses mező vagy megváltozik vagy sem, azaz vagy indukálódik áram az olvasófejhez kötött vezetőben, vagy sem. Az olvasófej nem magát a mágneses mezőt detektálja, hisz az detektálhatatlan, hanem annak változását! Nem 1 darab mágneses cella jelképez egy bitet, hanem 2 teszi ezt. Például:

Az ilyen adattárolás hátulütője, hogy ha meg akarunk változtatni egy bitet, akkor a szomszédos biteket is módosítanunk kell: az ellentettjükre kell változtatni őket. Miért? Próbáljuk megváltoztatni a középső bitet, azaz ezentúl az 111-et szeretnénk eltárolni.

Ezt úgy tehetjük meg, hogy a jelenlegi (fenti) ábrán 0-ás bitet reprezentáló kettő középső (piros) cella közül az egyik mágnesezési irányát megváltoztatjuk, hogy változás jöjjön létre a középső biten. A középső cella amit meg akartunk változtatni tényleg 1-es lett, viszont a szélső is megváltozott, mivel ott egy irányba mutató mágneses tér jött létre.

Láthatjuk, hogy adatmódosításkor nem csak 1 értéket kell átírnunk, hanem többet is. Egy érték átírása láncreakció-szerűen sok más érték módosulását időzi elő, amit javítani kell. Erre találták ki a merevlemez felületén a szektorokat!

A szektor

A szektor sok kis mágneses cella (általában 512 byte-nyi (512 x 8 darab)) képzeletbeli összefogása. Ezt nevezik elemi foglalási egységnek, ennél kisebb rész nem írható. Ez egy elemi adategység, ami egy egészet képez. Ha egy szektoron belül 1 bit módosítására van szükség, akkor a fent írtak miatt a szektor összes többi bitje (legalábbis nagy részül) is módosul az adat megőrzése céljából.

Nagyon fontos a megfelelő szektorméret beállítása, mert egy alapszabály szerint egy fájl a merevlemezen csak egy szektor elején kezdődhet. Ez még nem probléma, de ha sok fájlunk van, és mindegyike kisebb, mint maga a szektorméret, akkor nagyon sok helyet elpazarolunk feleslegesen. Az ábrán 100\'000 darab kicsi, szektorméretnél kisebb fájlt láthatunk. Lehet, hogy együtt a méretünk csak pár megabyte-ot (ábrán: size) foglalnak, de a lemezre írva mindegyik fájl csak egy szektor elején kezdődhet, ezért "szétterjedve" nagyon sok helyet foglalnak (ábrán: size on disk).

Ha ábrázoljuk a szektorok nagyságát, a benne található fájlokhoz képest, akkor látszik, hogy sok kis fájl tényleges összmérete lehet, hogy nagyon kicsi - de a szektorokba szétterítve már sok helyet foglalnak.

Az adatok írása

Az adatok írása az író egységgel történik, ami szintén a lemez felett mozgó karon található az olvasófej mellett. Ez ha leegyszerűsítve tekintjük a dolgokat egy vasmag és rajta egy tekercs. A tekercsben folyó áram által keltett mágneses teret a vasmag felerősíti. A vasmag egy helyen meg van szakítva, itt ki tudnak lépni a mágneses erővonalak, amik a változást előidézik. Az áram irányától függően lehet más-más irányba felmágnesezni egy mágneses cellát.

A lemez felületére az adatok kör alakban kerülnek fel, sávok jönnek létre. Ezeken a sávokon fut a fej. Mivel ez nagyon nagy pontosságú vezérlést igényel (a távolságok aprósága miatt), minden HDD-n találhatóak információs sávok, amik felett elsuhanva a fej ki tudja olvasni, hogy mely sávban tartózkodik épp, és korrigálni tud esetleges eltérés esetén:

Biztonsági megoldások

Az olvasófejet egy légpárna tarja távol a forgólemez felületétől. Levegőre szükség van, ám semmilyen más idegen anyag nem kerülhet be a HDD belsejébe (például por, ami károsíthatja a forgólemez felületét), ezért minden lemezen található egy porszűrő.

Egyéb (például leejtésből vagy hirtelen megmozdításból származó) sérülések elkerülése érdekében a modern merevlemezek, vagy a hordozható készülékekbe épített lemezek gravitációs szenzort tartalmaznak, ami érzékeli a gyorsulást is, és hirtelen mozdításkor vagy szabadeséskor az olvasófejet azonnal eltávolítják a forgólemez felől a becsapódás következtében létrejövő rázkódás miatti adatvesztés elkerülése érdekében. Ilyen pl az Apple által kifejlesztett SMS (Sudden Motion Sensor).

A merevlemez felfogható egy fekete dobozként is: Elfedi a belső hibákat. Például keletkezett egy hibás szektor a lemez felületén. Ezt nem fogja közvetíteni a külvilág felé, az operációs rendszer ebből semmit nem fog látni, hanem magában megjelöli ezt a szektort hibásnak és a jövőben íráskor átugorja. Az idő múlásával egyre csak romlik a lemez, de a rendszerünk mindig azt látja, hogy ép a teljes felület.

Ez nem jó, ezért a legtöbb HDD tartalmaz egy kis memóriát, ami szoftveresen kiolvasható. Ebben találhatóak a S.M.A.R.T. adatok, az a Self-Monitoring, Analysis and Reporting Technology adatok. Le lehet kérdezni a lemez százalékos hibátlanságát, hőmérsékleti adatokat, felpörgések számát és még sok minden mást, így az operációs rendszer -- vagy mi emberek el tudjuk dönteni, hogy még sokáig működőképes lesz a lemezünk vagy megérett a cserére.

Fájlrendszer

Ahhoz, hogy fájlokat tudjunk tárolni a merevlemezek szükségünk van egy fájlrendszerre, ami megadja a fájlok helyét. Olyan ez, mint egy katalógus, mint egy tartalomjegyzék. Pontos megnevezése a FAT, File Allocation Table ami leírja a fájlok helyét a merevlemezen. Egy fájl lekérésekor nem kell az olvasófejnek átvizsgálnia a lemez teljes felületét, hanem elég, ha megnézi a fájl kezdetének szektorcímét a FAT táblában, és odaugik.

Több fájlrendszer létezik, legfőbb különbség köztük a címzési mód és a hibatűrési határ (milyen struktúrában tárolja az adatokat). A legnépszerűbbek:

  • FAT16 -- 16 bites számot használ egy szektor címzésére, így összesen 2\^16 = 65536 szektorunk lehet. Egy szektor 64 kilobyte-os, tehát egy partíció mérete maximum 4 gigabyte. Ez elegendő volt a 1990-es évek elején, a Windows 3.1 ... 95 korában, amikor népszerű volt ez a fájlrendszer.
  • FAT32 -- 32 bites számot használ egy szektor címzésére, Windows 95 ... napjainkig
  • NTFS -- New Technology File System, 48 bites számot használ egy szektor címzésére, Windows XP ... napjainkig
  • EXT4 - "Unix alapú" rendszerek fájlrendszere (Linux, OSX, Android). 60 byte-os szektorcím. 1992-től ... napjainkig használatos.

Formázás: A fájlrendszer kialakítása. Ha még nincs fájlrendszerünk, akkor létrejön, ha van akkor letörlődik és az adataink elvesznek.

  • Gyorsformázás: csak a FAT tábla (csak a "tartalomjegyzék") törlődik, így maguk az adatok nem vesznek el, csak "nem tudjuk hol található" az adatok visszaállíthatók speciális szoftverek segítségével, amelyek újraépítik a FAT táblát.
  • Mélyformázás: a FAT tábla is törlődik, ÉS az adatokat is kinullázza vagy véletlenszerű adatokkal felülírja a formázó. Ilyenkor nem lehet visszaállítani a letörölt adatokat.

Formázás során lehetőségünk van létrehozni logikai egységeket a merevlemezen, úgynevezett partíciókat. Az operációs rendszer ezeket a partíciókat úgy jeleníti meg, mintha különálló eszközök, külön merevlemezek lennének -- a felhasználó számára ez esetenként praktikus lehet.