Henger-fej-szektor

a merevlemez geometriájának vázlata

CHS címzés az egyes szektorok (más néven fizikai adatblokkok) azonosítása a lemezen a sávban elfoglalt helyük alapján, ahol a sávot a fej és a henger száma határozza meg. A fogalmakat alulról felfelé magyarázzuk, a lemezcímzésnél a szektor a legkisebb egység. A lemezvezérlők címfordításokat vezethetnek be a logikai és fizikai pozíciók leképezésére, pl. a zónabites rögzítés kevesebb szektort tárol rövidebb (belső) sávokban, a fizikai lemezformátumok nem feltétlenül hengeresek, és a sávban lévő szektorszámok ferdék lehetnek.

SzektorokSzerkesztés

A hajlékonylemezek és vezérlők 128, 256, 512 és 1024 bájt fizikai szektorméretet használnak (pl., PC/AX), a fizikai szektoronkénti 512 bájtos formátumok az 1980-as években váltak uralkodóvá.

A merevlemezeknél ma a legelterjedtebb fizikai szektorméret 512 bájt, de a nem IBM-kompatibilis gépeknél léteztek szektoronkénti 520 bájtos merevlemezek is. 2005-ben egyes Seagate egyedi merevlemezek szektoronként 1024 bájtos szektorméretet használtak. Az Advanced Format merevlemezek 2010 óta fizikai szektoronként 4096 bájtot (4Kn) használnak, de egy átmeneti időszakban képesek lesznek 512 bájtos szektorok (512e) emulálására is.

A mágneses-optikai meghajtók 512 és 1024 bájtos szektorméretet használnak 5. oldalon.25 hüvelykes meghajtókon és 512 és 2048 bájtot a 3,5 hüvelykes meghajtókon.

A CHS címzésben a szektorszámok mindig 1-gyel kezdődnek, nincs 0 szektor, ami zavart okozhat, mivel a logikai szektorcímzési sémák általában 0-val kezdik a számolást, pl., logikai blokkcímzés (LBA), vagy a DOS-ban használt “relatív szektorcímzés”.

A fizikai lemezgeometriák esetében a maximális szektorszámot a lemez alacsony szintű formátuma határozza meg. Az IBM-PC-kompatibilis gépek BIOS-ával történő lemezeléréshez azonban a szektorszámot hat bitben kódolták, ami sávonként 111111 (63) szektor maximális számát eredményezte. Ez a maximum még mindig használatban van a virtuális CHS geometriáknál.

TracksEdit

A trackek a szektorok vékony, koncentrikus kör alakú csíkjai. Egyetlen sáv beolvasásához legalább egy fej szükséges. A lemezgeometriák tekintetében a sáv és a henger kifejezések szorosan kapcsolódnak egymáshoz. Az egy- vagy kétoldalas floppylemezek esetében a track a közös kifejezés; a kettőnél több fej esetében pedig a cylinder a közös kifejezés. Szigorúan véve a sáv egy adott CH kombináció, amely SPT szektorokból áll, míg a henger SPT×H szektorokból.

HengerekSzerkesztés

A henger az adatok felosztása egy lemezmeghajtóban, ahogyan azt a Fixed Block Architecture lemezek CHS címzési módjában vagy a CKD lemezek CCHHR (cylinder-head-record) címzési módjában használják.

A fogalom koncentrikus, üreges, hengeres szeletek a fizikai lemezeken (tányérokon) keresztül, a megfelelő kör alakú sávok összegyűjtése a tányérok halmazán keresztül igazítva. A lemezmeghajtó hengerek száma pontosan megegyezik a meghajtó egyetlen felületén lévő sávok számával. Minden egyes tányéron ugyanazt a sávszámot tartalmazza, az összes ilyen sávot átfogva minden olyan tányérfelületen, amely adatokat képes tárolni (tekintet nélkül arra, hogy a sáv “rossz”-e vagy sem). A hengereket függőlegesen sávok alkotják. Más szóval a 0. tányéron lévő 12. sáv plusz az 1. tányéron lévő 12. sáv stb. a 12. hengert alkotja.

A DASD (Direct Access Storage Device) más formái, mint például a dobmemória-eszközök vagy az IBM 2321 Data Cell, adhatnak olyan blokkcímeket, amelyek tartalmaznak egy hengercímet, bár a hengercím nem az eszköz egy (geometriai) hengeres szeletét választja ki.

FejekSzerkesztés

A fejnek nevezett eszköz a merevlemezen adatokat olvas és ír a hozzá tartozó lemeztányér felületét alkotó mágneses közeg manipulálásával. Természetesen egy lemeztányérnak 2 oldala van, és így 2 felülete, amelyen az adatok manipulálhatók; általában 2 fej van egy lemeztányéron, oldalanként egy. (Néha az oldal kifejezést a fej kifejezéssel helyettesítjük, mivel a lemezlemezek elválaszthatók a fejegységüktől, mint a floppy meghajtók cserélhető adathordozói esetében.)

Az IBM-PC kompatibilis BIOS kódban támogatott CHS címzés nyolc bitet használt – elméletileg legfeljebb 256 fejet számoltak 0-tól 255-ig (FFh). A Microsoft DOS/IBM PC DOS minden verziójában a 7.10-ig bezárólag azonban egy hiba miatt ezek az operációs rendszerek indításkor összeomlanak, ha 256 fejes kötetekkel találkoznak. Ezért minden kompatibilis BIOS csak a legfeljebb 255 fejes (00h..FEh) leképezéseket használja, beleértve a virtuális 255×63 geometriákat is.

Ez a történelmi furcsaság a régi BIOS INT 13h kódban, valamint a régi PC DOS vagy hasonló operációs rendszerekben befolyásolhatja a maximális lemezméretet:

(512 bytes/sector)×(63 sectors/track)×(255 heads (tracks/cylinder))×(1024 cylinders)=8032.5 MB, de valójában 512×63×256×1024=8064 MB adja az úgynevezett 8 GB-os korlátot. Az ebben az összefüggésben releváns 8 GB = 8192 MB meghatározás egy másik helytelen határérték, mert ez CHS 512×64×256-t követelne meg, sávonként 64 szektorral.

A sávokat és hengereket 0-tól számolják, azaz a floppy- vagy más hengeres lemezeken a 0. sáv az első (legkülső) sáv. A régi BIOS-kód tízbites CHS-címzést támogatott 1024 hengerig (1024=210). Hat bit hozzáadása a szektorokhoz és nyolc bit hozzáadása a fejekhez a BIOS 13h megszakítás által támogatott 24 bitet eredményez. A 1024×256 sávokban a tiltott 0 szektorszám levonása 128 MB-nak felel meg 512 bájtos szektorméret esetén (128 MB=1024×256×(512 byte/sector)); és 8192-128=8064 megerősíti a (nagyjából) 8 GB-os korlátot.

A CHS-címzés 0/0/1-nél kezdődik, a maximális érték 1023/255/63 a 24=10+8+6 biteknél, vagy 1023/254/63 a 255 fejre korlátozott 24 bitnél. A lemez geometriájának megadására használt CHS-értékeknek a 0. hengert és a 0. fejet kell számolniuk, ami 24 bit esetén (256 vagy) 255 fejjel legfeljebb (1024/256/63 vagy) 1024/255/63 bitet eredményez. A CHS-tuplikban a geometriát meghatározó S valójában pályánkénti szektorokat jelent, és ahol a (virtuális) geometria még mindig megfelel a kapacitásnak, a lemez C×H×S szektort tartalmaz. Ahogy a nagyobb merevlemezek használatba kerültek, a henger is logikai lemezstruktúrává vált, 16 065 szektorra szabványosítva (16065=255×63).

A 28 bites CHS címzés (EIDE és ATA-2) nyolc bitet enged meg a még mindig 1-gyel kezdődő szektoroknak, azaz az 1…255 szektoroknak, négy bitet a 0…15 fejeknek, és tizenhat bitet a 0…65535 hengereknek. Ez nagyjából 128 GB-os korlátot eredményez; valójában 65536×16×255=267386880 szektor, ami 512 bájtos szektorméret esetén 130560 MB-nak felel meg. Az ATA-2 specifikációban szereplő 28=16+4+8 biteket Ralf Brown Interrupt Listje is lefedi, és ennek az időközben lejárt szabványnak egy régi munkatervezete is megjelent.

A régi BIOS 1024 hengeres korlátja és az ATA 16 fejes korlátja együttesen 1024×16×63=1032192 szektort eredményezett, azaz 512 bájtos szektorméret esetén 504 MB-os korlátot. Az ECHS és a felülvizsgált ECHS néven ismert BIOS-fordítási sémák úgy enyhítették ezt a korlátozást, hogy 16 fej helyett 128 vagy 240 fejet használtak, egyidejűleg csökkentve a hengerek és a szektorok számát, hogy a lemez adott összes szektorszáma 1024/128/63 (ECHS-korlát: 4032 MB) vagy 1024/240/63 (felülvizsgált ECHS-korlát: 7560 MB) méretben férjen el.

Blokkok és fürtökSzerkesztés

A Unix közösségek a blokk kifejezést egy szektor vagy szektorcsoport megjelölésére használják. Például a Linux fdisk segédprogramja a 2.25-ös verzió előtt 1024 bájtos blokkokkal jelenítette meg a partíciók méretét.

A klaszterek az adatok kiosztási egységei a különböző fájlrendszerekben (FAT, NTFS stb.), ahol az adatok főként fájlokból állnak. A klasztereket nem befolyásolja közvetlenül a lemez fizikai vagy virtuális geometriája, azaz egy klaszter kezdődhet egy adott CH sáv végéhez közeli szektorban, és végződhet a fizikailag vagy logikailag következő CH sávban lévő szektorban.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.