Logical Block Address LBA

From EIK wiki


Info

Koostaja: Daniel Toomas Vajak

Rühm: A21

Esitamise kuupäev: 6. detsember 2015

Sissejuhatus

LBA - Logical Block Addressing (eesti keeles lineaarne bloki aadress) on üldlevinud lahendus leidmaks andmeblokkide asukohta mäluseadmetel, eriti välistel kõvaketastel. Kõik kõvakettad on jaotatud blokkideks, kus igal blokil on oma unikaalne aadress. LBA on tänapäevasem lahendus varem levinud CHS - Cylinder-Head-Sector lahenduse väljavahetamiseks. Peamine põhjus, miks LBA CHS'i tänapäeval asendab on see, et CHS'i ei saa kasutada pidevalt kasvavate mälumahtude juures. [1]

LBA tehnoloogia

Kui CHS'i tehnoloogia puhul otsitakse päringu käigus õige silindri head'i ja sektori numbrit, siis LBA puhul antakse igale sektorile unikaalne number. Sektoreid on nummerdatud 0'st alates kuni N-1'ni, kus N tähistab sektorite arvu kettal.

Väga lihtsa analoogia saab tuua reaalse elu näitel. Inimese koduaadress koosneb riigist, maakonnast, linnast/külast ja tänava nimest ja numbrist. Selline otsinguviis on analoogne CHS'i puhul. Seda ette kujutades antakse igale majale ainulaadne number. Just sellisel viisil töötab LBA. LBA töötamiseks on vajalik BIOS'e ja oparatsioonisüsteemi tugi ning kuna see on ühtlasi ka uus viis kõvakettaga suhtlemiseks, on LBA töötamiseks vajalik ka kõvaketta tugi, mida kõik uuemad kõvakettad omavad. [2]

28-bitise LBA puhul oli kõvaketta maksimum suuruseks 137,4 GB, kuid mahtude suurenedes tekkis vajadus ka LBA edasiarenduseks ning tänapäevase 48-bitise LBA kõvaketta mälu maksimummääraks on 144 PB (144 000 000 GB) [3]

Kernel, emaplaadi BIOS ja IDE controller peavad toetama LBA48.

Järgnevalt lihtsustatud skeem aitab võib-olla natuke paremini mõista, kuidas LBA arvuti ja kõvakettaga suhestub.

inode -> ext4 -> logical volume (LV) -> volume group (VG) -> /dev/<device> -> logical block addressing (LBA) -> blocks/sectors -> HDD [4]

LBA vs CHS

Eelnevalt mainitu järgi on CHS asendunud LBA'ga seepärast et CHS ei ole kasutatav suurte mäludega kõvaketaste juures, täpsemalt suuremate kui 528 MB (504MiB).[5] CHS'i tehnoloogia töötas sellisel viisil, et kui saadi päring, siis esimese asjana põõrduti registrisse, kust saadi teada, milline on bloki number, mida otsiti. Saadud vastuse põhjal otsiti üles õige silinder, seejärel head'i asukoht ning seejärel rada, millelt üritati üles leida korrektne sektor. See oligi ketta reaalne füüsiline aadress.

Peale kõvaketaste mälu jätkuvat suurenenemist ei olnud selline tehnoloogia enam võimalik, kuna CHS loogika järgi mahutasid välimised rajad samapalju sektoreid kui sisemised rajad. Selle tõttu sai selline füüsiline aadress eksisteerida, kuna ükskõik, kust rajalt lugema hakati, sektorite arv oli limiteeritud samasuguselt nii sise- kui välisringis. Uute ketastega kaasnenud muutus tõi kaasa selle, et välistele radadele sai paigutada rohkem sektoreid, mis muutis eelmise CHS'i loogika mitte töötavaks.

LBA tehnoloogiat ja põhjust, miks teda saab kasutada suuremate kõvaketaste juures kui 528 MB, on tihti valesti mõistetud. Tihti arvatakse, et see on just tema päringuviisi tõttu, et seda saab suuremate mäluseadmetega kasutada. See ei ole küll täielikult vale, küll aga ebatäpne, kuna see on lihtsalt erinev viis pärida infot sama geomeetriaga seadmelt. LBA'l võimaldab 528MB piiri ületada automaatne geomeetria teisendus, mis on vajalik, sest operatsioonisüsteemil, mis rakendab BIOS 13h routine'i, ei ole LBA'st mingit aimu. Sellest lähtudes võimaldab 528MB piiri ületada LBA teisenduse osa. Kasutajale on see kõik aga märkamatu.

Kui LBA on võimaldatud, siis BIOS võimaldab ka geomeetria teisenduse. Erinevus LBA ja CHS'i vahel on see, et kasutades CHS'i, BIOS teisendab teisendatud geomeetria poolt kasutatud parameetrid ketta loogilisse geomeetriasse, LBA'ga aga teisendatakase teisendatud geomeetria otse loogilise bloki (sektori) numbrisse.[6]

LBA puhul esitatakse loogiline geomeetria BIOS'ele ainult seepärast, et see teisendaks selle operatsioonisüsteemi jaoks kasutatavaks.[7]

Kokkuvõte

LBA-ta ei oleks tänapäevane elu ettekujutatav. Kui CHS oleks ikka kasutuses, ei oleks infosüsteemid nii arenenud, nagu nad praegu on ning inimesed peaksid omama ulmelistes kogustes 500 MB-seid kettaid, et kasvõi mõeldagi sellisele olevikule nagu seda on praegu. LBA'ga saab kõvakettaid kasutada mälumahuga kuni 144 PB, mis on praegusel ajal müstiline suurus, kuid sama arvati 20 aastat tagasi 500 MB kohta.

Kokkuvõtteks, on inimesele, kes varem pole kõvaketastega kokku puutunud, see teema keerukas, sest kõikide lühendite ja mõistete meeldejätmise ja neist arusaamine on aeganõudev õppimine. Sellekohane eestikeelne materjal praktiliselt puudub ning kõik tuleb endale selgeks teha inglise keeles.

Kasutatud kirjandus