LBA

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

LBA (англ. Logical block addressing) — стандартизованный механизм адресации и доступа к блоку данных на блочном устройстве (жёстком или оптическом диске, твердотельном накопителе), при котором системному контроллеру нет необходимости учитывать специфику накопителя (например, геометрию жёсткого диска — количество цилиндров, головок, секторов на дорожке, как это требовалось в ранних схемах адресации, таких как CHS и Large). В частности, современные IDE-контроллеры в качестве основного режима трансляции адреса используют LBA, а информация о поддержке LBA содержится в идентификационной информации накопителей[1].

В LBA каждому адресуемому блоку назначается уникальный номер — целое число, начиная с нуля: первый блок — LBA=0, второй LBA=1, и так далее. Для жёстких дисков LBA 0 соответствует первому сектору в нулевом цилиндре и нулевой головке.

Ограничение размера накопителя при использовании LBA обусловлено лишь разрядностью регистра LBA, обычно задания номера блока используется 48 бит, что при использовании двоичной системы исчисления даёт возможность адресовать 248 (128 ПиБ при размере блока 512 байт).

LBA для жёстких дисков[править | править код]

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

,

где  — адрес блока по LBA,  — номер цилиндра, головки, сектора соответственно,  — количество головок, — количество секторов на одной дорожке.

Адреса LBA в кортеж преобразовывается следующим образом:

,
,
.

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

  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

Литература[править | править код]