Logical Block Address LBA: Difference between revisions
Line 20: | Line 20: | ||
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. <ref>http://www.pcguide.com/ref/hdd/bios/modesLBA-c.html</ref> | 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. <ref>http://www.pcguide.com/ref/hdd/bios/modesLBA-c.html</ref> | ||
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) <ref>http://www.linuxquestions.org/questions/linux-general-1/what-exactly-is-lba48-174457/</ref> | |||
48-bit Logical Block Addressing (LBA) extends the capacity of IDE ATA/ATAPI devices beyond the limit of 137.4 GB. This limit applies to IDE ATA/ATAPI devices only and not to SCSI interface devices. The original design specification for the ATA interface only provided 28-bits with which to address the devices. This meant that a hard disk could only have a maximum of 268,435,456 sectors of 512 bytes of data thus limiting the ATA interface to a maximum of 137.4 gigabytes. With 48-bit addressing the limit is 144 petabytes (144,000,000 gigabytes). | |||
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. | Järgnevalt lihtsustatud skeem aitab võib-olla natuke paremini mõista, kuidas LBA arvuti ja kõvakettaga suhestub. |
Revision as of 21:14, 6 December 2015
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]
48-bit Logical Block Addressing (LBA) extends the capacity of IDE ATA/ATAPI devices beyond the limit of 137.4 GB. This limit applies to IDE ATA/ATAPI devices only and not to SCSI interface devices. The original design specification for the ATA interface only provided 28-bits with which to address the devices. This meant that a hard disk could only have a maximum of 268,435,456 sectors of 512 bytes of data thus limiting the ATA interface to a maximum of 137.4 gigabytes. With 48-bit addressing the limit is 144 petabytes (144,000,000 gigabytes).
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]
Viited
- ↑ http://gerardnico.com/wiki/data_storage/lba
- ↑ http://gerardnico.com/wiki/_detail/data_storage/lba.jpg?id=data_storage%3Alba
- ↑ http://www.pcguide.com/ref/hdd/bios/modesLBA-c.html
- ↑ http://www.linuxquestions.org/questions/linux-general-1/what-exactly-is-lba48-174457/
- ↑ http://unix.stackexchange.com/questions/106861/what-is-the-relationship-of-inodes-lba-logical-volumes-blocks-and-sectors
- ↑ http://whatis.techtarget.com/definition/logical-block-addressing-LBA
- ↑ http://www.dewassoc.com/kbase/hard_drives/lba.htm
- ↑ http://www.dewassoc.com/kbase/hard_drives/bios_translation.htm