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 в кортеж преобразовывается следующим образом:
- ,
- ,
- .
Примечания
Литература
- Скотт Мюллер[англ.]. Интерфейс ATA/IDE: Методы адресации CHS и LBA // Модернизация и ремонт ПК / пер. с англ. — 17-е изд. — М.: «Вильямс», 2008. — С. 606–610, 621. — 1360 (+147 на CD) с. — ISBN 978-5-8459-1126-1.