Logical Block Address LBA

From ICO wiki
Jump to navigationJump to search


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 otsib päringu käigus õige silindri head'i ja sektori numbri, 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.

Vaata joonis 1.[2]

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. Selle asemel aga kujutame ette, et igale majale antakse 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. [3]

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]

Image:lba.jpg

LBA vs CHS

Nagu eelnevalt mainitud, on CHS asendunud LBA'ga seepärast, et CHS ei ole kasutatav suurte mälumahtude 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 otsitakse üles õige silinder, seejärel head'i asukoht ning seejärel rada, millelt üritatakse üles leida korrektne sektor. See ongi ketta reaalne füüsiline aadress.

Peale mälumahtude 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, miks teda saab kasutada suuremate mälumahtude juures kui 528 MB, on tihti valesti mõistetud. Tihti arvatakse, et see on just tema päringuviisi tõttu nii, 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]

Viited