LBA

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

LBA (англ. Logical block addressing) — механизм адресации и доступа к блоку данных на жёстком или оптическом диске, при котором системному контроллеру нет необходимости учитывать геометрию самого жесткого диска (количество цилиндров, сторон, секторов на цилиндре). Контроллеры современных IDE дисков в качестве основного режима трансляции адреса используют LBA.

Привод, способный поддерживать режим LBA, сообщает об этом в информации идентификации привода[1].

Суть LBA состоит в том, что каждый блок, адресуемый на жёстком диске имеет свой номер, целое число, начиная с нуля и т. д. (то есть первый блок LBA=0, второй LBA=1, ...)

LBA 0 = Цилиндр 0/Головка 0/Сектор 1

Еще одно преимущество метода адресования LBA — то, что ограничение размера диска обусловлено лишь разрядностью LBA. В настоящее время для задания номера блока используется 48 бит, что при использовании двоичной системы исчисления даёт возможность адресовать на приводе (248) 281 474 976 710 656 блоков (то есть, при блоке в 512 байт, 128 ПиБ).

LBA заменяет собой более ранние схемы (CHS и Large), в которых нужно было учитывать физические особенности устройства дисков.

Технический комитет X3T10 установил правила получения адреса блока в режиме LBA:

LBA = [(Cylinder \cdot no of heads + heads) \cdot sectors/track ] + (Sector-1)[2]

  • LBA — адрес блока по LBA.
  • Cylinder — номер цилиндра.
  • noofheads — количество головок.
  • heads — номер выбранной головки.
  • sectors/track — количество секторов на одной дорожке.
  • Sector — номер сектора.

Преобразования между CHS и LBA[править | править вики-текст]

Кортежи CHS можно преобразовать в адреса LBA и обратно по следующим формулам:

LBA(c, h, s) = (c \cdot H + h) \cdot S + s - 1

s = (LBA \, \bmod \, S) + 1

h = \frac{LBA - (s - 1)}{S}\, \bmod \, H

c = \frac{LBA - (s - 1) - h \cdot S}{H \cdot S}

где c — номер цилиндра, h - номер головки, s - номер сектора, H — число головок, S — число секторов на дорожке, mod — операция взятия остатка от деления.

Примечания[править | править вики-текст]

  1. Документ технического комитета X3T10 «WORKING X3T10 DRAFT 791D Revision 4c». Раздел 7 Logical interface.
  2. Документ технического комитета X3T10 «WORKING X3T10 DRAFT 791D Revision 4c». Раздел 7 Logical interface. Подраздел 7.1.2 Environment