Адресация данных HDD.

 

Минимальной адресуемой областью данных на жёстком диске является сектор. Размер сектора традиционно равен 512 байт.
Существует 2 основных способа адресации секторов на диске: цилиндр-головка-сектор (англ. Cylinder – head - sector, CHS) и линейная адресация блоков (англ. Linear block addressing LBA).

CHS (от англ. Cylinder, Head, Sector — цилиндр, головка, сектор) — система адресации сектора, как минимальной единицы хранения данных в накопителях на жёстких магнитных дисках, накопителях на гибких магнитных дисках и т.п, основанная на использовании физических адресов геометрии диска.

В этой системе сектор адресуется кортежем из трёх координат: цилиндр-головка-сектор (Cylinder, Head, Sector), именно так, как он физически расположен на диске.

Контроллер жесткого диска интерпретирует значение в радиус, на который передвигается магнитная головка чтения. С каждой магнитной поверхности магнитного диска чтение производит только одна головка, следовательно, указывая головку, мы также указываем ту поверхность, с которой следует считывать информацию. Сектор диска, как понятно из геометричекого определения, интерпретируется как диапазон градуса поворот диска.

Очевидно, что такая схема плохо подходит к не дисковым устройствам хранения (ленты, сетевые хранилища), потому и не используется для них. Схема CHS и её расширенная версия ECHS использовались на ранних приводах АТА использующих интерфейс ESDI.

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

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

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

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

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

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