A kezdeti MFM (Modified Frequency Modulation) illetve RLL (Run Length Limited) lemezek is, valamint illesztőkártyáik is egyszerű felépítésűek voltak. Az illesztőkártya és a lemez között soros vonalon közlekedtek az adatok, azokat az illesztőkártya szedte össze byte-okba. (Ez nagy gátja volt a sebességnövekedésnek is.) Az illesztőkártya néhány parancsot ismert, ezekben a szektor címzését 10 bites cilinder, 4 bites fej, és 6 bites szektor cím adta.
Az IBM-PC és klónjainak BIOS-a ezért (int 13h-s hívások, Disk I/O) egy szavas regisztert (CX) használ a cilinder+szektor cím megadására (10 bites cilinder és 6 bites szektorcímek), és egy byte-os regisztert (DH) a fej címzésére (mivel kisebb nem volt :). Ez, mint látni fogjuk, sok problémához vezetett a későbbiekben.
Az adatátviteli sebesség növelése érdekében később az IDE (Integrated Device Equipment, mások szerint Integrated Drive Electronics) más néve ATA (AT bus Attachment) meghajtókat kezdték alkalmazni. Ezekben már egy beépített processzor végzi a feladatok nagy részét, az egyszerű felépítésű illesztőkártya felé 16 bites párhuzamos adatvonalakon megy az információ. Így még nagyobb kábelhosszak (kisebb kábelsebesség) esetén is jóval nagyobb sebesség érhető el, mint az MFM lemezek soros átvitele esetében.
Az IDE lemezek illesztőkártyája a számítógép (a szoftver) felől nézve kompatibilis maradt a korábbi MFM kártyákkal. A lemez mellé épített processzor viszont egyéb dolgokra is használhatóvá vált, pl. eltakarhatja a lemez fizikai kezelését: A lemezen belül változó szektorszámmal dolgozhat a kapacitás növelése érdekében (a külső, nagyobb kerületű sávokban több információ fér el ugyanis, mint amit a belső, rövidebb sávokra megállapított szektorszám lehetővé tenne), a külvilág felé viszont mondhat egy állandó szektorszámot. Az újabb lemezeknél szokás az is, hogy a lemezterület egy részét fenntartják hibajavításra, és amikor egy szektor bizonytalankodni kezd, a beépített processzor automatikusan lecseréli egy jóra. Így a korábbi szoftverekkel való kompatibilitás megtartásával lehetett a biztonság növelése mellett még tárolókapacitást és átviteli sebességet is növelni.
Tehát IDE lemezek esetében már eléggé bizonytalan dolog geometriáról beszélni, ennek ellenére a lemezek szimulálnak kifelé ilyen adatot. Sőt, lekérdezhető a lemezek geometriája. Az IDE vezérlő kicsit meg is növelte a lehetséges kezelhető lemezméretet: 16 biten címzi a cilindert, továbbra is csak 4 biten a fejet, és 8 bitre nőtt a szektorok címe is.
Ezek szerint IDE lemez esetében a lehetséges maximális kapacitás:
(16 bit + 4 bit + 8 bit = )
65536 cilinder * 16 fej * 255 szektor * 512 byte = 127.5 GigaByte, a
címzés néhány évig még elegendőnek tűnik :-) (Megj: a szektorcím 1-től
indul, ezért 8 bitből csak 255 lehetőség lesz.)
Amennyiben BIOS-t használ az operációs rendszer, akkor annak korlátait is
figyelembe kell venni ilyen maximumok számításánál:
(10 bit + 8 bit + 6 bit = )
1024 cilinder * 255 fej * 63 szektor * 512 byte = 7.8 GigaByte, ez sem
olyan rossz méret azért, bár lesznek sokan, akiknek jövőre már szűk lesz.
(Megj: a fej cím 0...254 lehet csak, ez 255 lehetőség, a szektorcím 1-ről
indul, ez 63 lehetőség.)
Ha viszont összevonjuk a kétféle geometriát, abból maximális kapacitásként 10 bit cilinder, 4 bit fej és 6 bit szektorcím adódik, ez viszont csak 1024 * 16 * 63 * 512 byte = 504 MegaByte, ami már ma mindenkinek szűk keresztmetszet! Ennek feloldására tett lépésekről kicsit később lesz még szó.
Megjegyzés: Van, aki 528 mega / 8.4 giga / 136.9 gigáról beszél 504 mega / 7.8 giga / 127.5 giga helyett: attól lett ,,nagyobb'' a kapacitás, mert megelégedett kilobyte-onként 1000 byte-tal 1024 helyett, és hasonlóképpen kerekített a mega illetve giga váltáskor is. Ilyen könnyű a semmiből néhány tíz/száz/ezer MegaByte-ot csinálni! :)))