Logical Block Address LBA

From ICO wiki
Revision as of 21:39, 6 December 2015 by Dvajak (talk | contribs)
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]

28-bitise LBA puhul oli maksimum mälumahuks 137,4 GB, kuid mahtude suurenedes tekkis vajadus ka LBA edasiarenduseks ning tänapäevase 48-bitise LBA mälu maksimumäärkas on 144 PB (144 000 000GB) [4]

The kernel, motherboard BIOS and the IDE controller needs to support LBA48. AFAIK the 2.6 kernel shouldn't have a problem with 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 [5]

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).[6] 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.[7]

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

Kokkuvõte

LBA-ta ei kujutaks me enda elu praegu ettegi. Elades ikka CHS'i toel, ei oleks meie infosüsteemid nii arenenud, nagu nad praegu on ning me peaksime omama ulmelistes kogustes 500 MB-seid kettaid, et kasvõi mõeldagi sellisele olevikule nagu seda on praegu. LBA on praeguseks avanud meile uksed, läbi mille saab seda tehnoloogiat kasutada mälumahuga kuni 144 PB, mis on praegusel ajal meile müstiline suurus, kuid sama sai õelda 20 aastat tagasi 500 MB kohta.

Kokkuvõtteks võib õelda, et inimesele, kes varem pole kõvaketastega kokku puutunud võib see teema väga segaseks jääda, sest endalgi on probleeme kõikide lühendite ja mõistete meeldejätmisega ja neist arusaamisega. Sellekohane eestikeelne materjal praktiliselt puudub ning kõik tuleb endale selgeks teha inglise keeles.

Viited