Mágneslemezes egységek

Az IBM PC-khez meglehetősen sok mágneslemezes egységet is kifejlesztettek. Bár többféle-képpen is csoportosíthatóak, talán érdemes a kapacitásukat, sebességüket, felhasználási területüket és megjelenésüket legjobban meghatározó jellemzőjük, a tároló-médium kezelése és típusa alapján csoportosítanunk őket. E szerint a mágneslemezes meghajtók két nagy csoportra oszthatók: a hajlékonylemezes és merevlemezes meghajtókra, melyek közül idegen szóval az előbbit floppy-, míg utóbbit winchester-meghajtónak is szokás nevezni.

A fent megemlített két típuson kívül természetesen még számos más mágneslemezes tároló egységet is kifejlesztettek. Ezek közül talán még a cserélhető "kazettás" merevlemezt érdemes megemlíteni, melyben a tároló médium (a kemény mágneslemezek) cserélhető.

Fizikai lemezkezelés

A mágneses lemezeken található információ olvasására és azok felírására a lemezegységekben az ún. író-olvasó fejek szolgálnak. Mint nevük is mutatja ezek kombinált alkatrészek, melyek mind elektromágneses mezők keltésére, mind ezen mezők fluxus-változásai által indukált elektromos áram felfogására képesek. A lemez írása során a fej író részében elektromágneses teret keltenek, ami a lemez - éppen a fej alatt elhelyezkedő - mágnesezhető rétegére is kiterjed, ami megőrzi állapotát. Olvasás során az olvasó fejben indukált elektromos áram változásainak dekodólásával nyerhetők vissza az információk a lemezről. Egy adott lemezes egységben használt író-olvasó fejek számát a meghajtóban használt lemezek (pontosabban azok oldalainak száma) száma határozza meg. Az adatok olvasásához és írásához egy időben mindig csak egy fejet használnak fel, bár a fejek - mechanikájukból eredően - általában mind együtt mozognak a lemez(ek) felett.

A digitális információ tárolása a mágneses adathordozókon azonban meglehetős techinkai problémát jelent. Az olvasó fejben ugyanis maga az elektromágneses mező nem, csak annak fluxus-változásai indukálnak áramot ; azonos állapotú szemcsék felett elhaladva az olvasó fej kivezetésein nem mérhető feszültség. Kézenfekvőnek tűnik az ötlet, hogy a digitális 0 és 1 jelek mindegyikének a két pólus egyikét feletessük meg. Ez azonban - mint azt majd a későbbiekben meglátjuk - nem járható út. Ebből erededően egy digitális jel (pl. a bináris 1) tárolásához a két-állapotú mágneses mező mindkét állapotát "fel kell hogy használjuk". Kézenfekvő az ötlet, hogy ha az első digitális jelet a mágneses tér változásával kódoltuk, akkor a másik (bináris 0) digitális jelnek a mágneses mező változatlansága feleljen meg. Így a kódolt jelek közül mindig csak az egyiket (esetünkben az 1-esnek megfelelőt) tudjuk azonosítani - a másikra csak az előző hiányából következtethetünk. Több szomszédos 1 jel diszkréten azonosítható, míg a 0 jelek számát - egyenletes forgási sebességet feltételezve - a határoló jelek (1) olvasása közt eltelt időből állapíthatjuk meg. Csakhogy a lemezek forgási sebessége koránt sem tekinthető egyenletesnek, így több egymást követő "nincs-jel" (0) különböző forgási sebességek mellett - a forgási-olvasási szinkront elvesztve - különböző számú jelnek olvasható. Így az információ tárolása során biztosítani kell, hogy a lemezre vitt jelek információtartalmától függetlenül korlátozva legyen az egymást követő "nincs-jel"-ek száma. E problémára megoldására többfajta kódolási algoritmust is kidolgoztak.

A legkézenfekvőbb ötlet, hogy az egyik digitális jelnek a 10 ("van jel"+"nincs jel"), míg a másiknak az 11 (két "van jel") mágneses kódot feleltessük meg, ezáltal biztosítva, hogy két 1-es ("van jel") között maximum egy darab 0 ("nincs jel") lehessen. Ezt a kódolást hívják FM (frekvencia-modulált) kódolásnak. A kódolás előnye egyszerűsége, hátránya viszont meglehetős helyigénye, hiszen alkalmazása esetén n bit tárolásához 2*n mágneses jel szükséges.

A FM továbbfejlesztett változata az MFM (módosított frekvencia-moduláció) kódolás, mely során - az FM-val szemben - csak egymást követő digitális 0 jelek esetén illesztenek szinkron 1-eseket a jelek közé. A kódolás előnye az FM-mel szemben kisebb helyigénye, hiszen azonos területen utóbbival átlagosan 1,5-ször annyi információ tárolható.

A egyre növekvő igények a háttérkapacitások növelése iránt újabb kódolási algoritmusok kidolgozását tették szükségessé.

A lemezen az adatok nem folyamatosan, hanem logikai egységekbe, ún. szektorokban találhatóak. A szektor a lemezes egységek által kezelhető legkisebb egység. A szektorok két részből állnak: a szektor pozícióját (oldal, sávszám, szektorsorszám) és hosszát tartalmazó fejlécből, valamint az adatblokkból. A fejlécet és az adatblokkot egy-egy speciális jel vezeti be, ami egyértelműen azonosíthatóvá teszi kezdetüket. A szektor felírásakor a vezérlő mindkét blokkot ellenőrző összeggel látja el ezáltal biztosítva az adatintegritást. Az ellenőrzőösszeg generálásának módja eltérő lehet: floppy-lemezeken általában a csak a hibák detektálására alkalmas ún. CRC (Cyclic Redundancy Check - ciklikus redundancia-vizsgálat) módszert, míg merevlemezes meghajtók esetén az esetlegesen adatok javítását is lehetővé tevő ECC-t (Error Cheking and Correcting - hibaellenőrző és -javító) alkalmazzák. Mivel a meghajtók minden sávon azonos szektorszámmal és -mérettel dolgoznak, így a lemez szektorainak számát a legkisebb sávgyűrű és a szektor mérete határozza meg. A szektorok között elhelyezkedő kitöltő területek (GAP) célja a meghajtó számára a következő szektor adatainak fogadására való felkészüléséhez szükséges idő biztosításán kívül, a nagyobb sávokon a szektorok közötti "űr" kitöltése is.

Régebbi típusú meghajtókon az első szektor pozíciójának meghatározásához a lemezen egy fizikai jelet, egy ún index-lyukat helyeztek el. A lemez forgása közben a fénykibocsájtó dióda fölé érő lyukon át előbbi fénye a fotocellára esett, jelezvén az első szektor kezdetét.

Az adatátviteli sebesség növelésére nyújt lehetőségét az ún. szektor-fésűlés (interleaving). Egy szektor beolvasása után a meghajtónak ellenőriznie a szektor tartalmának helyességét ellenőrzőösszegén keresztül, el kell küldenie azt a gépnek, valamint újabb műveletek elvégzéséről kell döntenie. Mindezen folyamatok időt vesznek igénybe, ami alatt a lemez a fej alól továbbfordul. Ha fizikailag is szigorúan sorszámuk szerint helyeznénk el egymás után a szektorokat a lemezen, akkor - a lemez továbbfordulásának köszönhetően - minden szektor beolvasása után egy teljes fordulatot kellene kivárnunk, amíg a következő szektor kezdete újból a fej alá érkezne. Ha azonban ezeket a szektorokat már eleve az egyik szektor beolvasásának kezdete és a következő szektor olvasásának megkezdése közötti elfordulás mértékének megfelelően eltolt sorrendben sorrendben írjuk fel a lemezre, a következő szektor a teljes fordulat kivárása nélkül beolvasható. Ekkor a meghajtó olvasó része - több szektorra kiterjedő műveletek esetén is - közel 100%-os kihasználtsággal működhet.A két, sorszámukban egymást követő szektor között elhelyezkedő szektorok száma (plusz 1) adja meg az interleave faktorát (tehát pl. ha az interleave-faktor 2 és a szektorok száma 17, akkor a szektorok 0,9,1,10,2,11,3,12,4,13,5,14,6,15,7,16,8 fizikai sorrendben kerülnek felírásra).
 

- STING -
eMail:PC-XUser@FREEMAIL.C3.HU, Subject: "Kommunkiáció"
STING2@FREEMAIL.C3.HU