Главная
Новости
Строительство
Ремонт
Дизайн и интерьер

















Яндекс.Метрика

LBA

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

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

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

LBA для жёстких дисков

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

L B A = [ ( c ⋅ H + h ) ⋅ S ] + ( s − 1 ) {displaystyle LBA=[(ccdot H+h)cdot S]+(s-1)} ,

где L B A {displaystyle LBA} — адрес блока по LBA, c , h , s {displaystyle c,h,s} — номер цилиндра, головки, сектора соответственно, H {displaystyle H} — количество головок, S {displaystyle S} — количество секторов на одной дорожке.

Адреса LBA в кортеж ( c , h , s ) {displaystyle (c,h,s)} преобразовывается следующим образом:

s = ( L B A mod S ) + 1 {displaystyle s=(LBA,{mod {,}}S)+1} , h = L B A − ( s − 1 ) S mod H {displaystyle h={frac {LBA-(s-1)}{S}},{mod {,}}H} , c = L B A − ( s − 1 ) − h ⋅ S H ⋅ S {displaystyle c={frac {LBA-(s-1)-hcdot S}{Hcdot S}}} .