Логическая структура диска. Все дисковые накопители (магнитные, оптические и комбинированные) характеризуются своим диаметром (форм-фактором)

Все дисковые накопители (магнитные, оптические и комбинированные) характеризуются своим диаметром (форм-фактором). Наибольшее распространение получили диски с форм-факторами 2,5" (64 мм), 3,5" (89 мм) и 5,25" (133 мм).

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

Рис. 3.9. Логическая структура поверхности диска

Каждая дорожка диска разбита на секторы. В один сектор дорожки может быть помещено определенное количество байтов информации (обычно 512). Обмен данными между диском и оперативной памятью осуществляется последовательно целым числом секторов, образующих кластер. Кластер – минимальная единица размещения информации на диске, состоящая из нес­кольких смежных секторов дорожки.

При чтении и записи информации диск вращается вокруг своей оси, а механизм управ­ления головкой подводит ее к дорожке, выбранной для чтения или записи.

Данные на дисках хранятся в файлах, которые обычно отождествляют с областью памяти на этих носителях информации.

Файл – именованная область внешней памяти, выделенная для хра­нения данных.

Область памяти для создаваемого файла кратна определенному количеству кластеров. Кластеры, выделяемые одному файлу, могут находиться в любом свободном месте дисковой памяти и необязательно являются смежными. Файлы, хранящиеся в разбросанных по диску кластерах, называются фрагментированными. Наличие большого количества фрагментированных файлов способствует преждевременному физическому износу головок чтения/записи и выходу диска из строя. Поэтому рекомендуется периодически проводить дефрагментацию диска. Для этого существует специальное программное обеспечение, в частности одноименная служебная программа операционной системы Microsoft Windows.

Для пакетов магнитных дисков, когда диски установлены на одной оси, а также для двухсторонних и многослойных дисков существует понятие «цилиндр». Цилиндром называется совокупность дорожек, находящихся на одинаковом расстоянии от его центра.

Минимальной адресуемой областью данных на диске является сектор (в отличие от оперативной памяти, в которой адресуется байт). Существуют два основных способа вычисления физического адреса сектора:

■ по его физическому положению на диске (CHS);

■ с помощью линейного логического адреса (LBA).

Метод CHS адресует сектор по его физическому положению на диске тремя координатами: номером цилиндра, номером головки и номером сектора. От этого и произошла аббревиатура CHS – Cylinder-Head-Sector. Использование метода CHS ограничивает емкость диска величиной 504 Мб (1024 цилиндра × 16 головок × 63 сектора × 512 байт в секторе = 528 482 304 байта = 504 Мб). По мере роста емкости выпускаемых дисков их физическая геометрия перестала вписываться в указанное ограничение. В результате контролеры дисков стали сообщать не физические, а логические координаты, вписывающиеся в ограничения аппаратных и программных интерфейсов, но не соответствующие действительности. В частности, максимальные номера головок и секторов берутся равными 15 и 63 соответственно, а число цилиндров подбирается исходя из емкости диска. Сама же физическая геометрия диска не может быть получена в штатном режиме работы компьютера и другим частям системы неизвестна.

При использовании метода LBA адрес блока данных на диске задается с помощью линейного логического адреса (Logical Block Addressing). Данный тип адресации начал внедряться в 1994 г. совместно с интерфейсом EIDE (ATA-2). Поскольку в то время применялась также более старая версия интерфейса – IDE (ATA), то необходимо было согласовать режимы CHS и VBA. Поэтому линейный логический адрес блока можно определить через номер цилиндра, головки и сектора по формуле:

,

где LBA – линейный логический адрес;

, , – номера цилиндра, головки и сектора соответственно;

– число головок диска;

– число секторов на дорожке.

Существует и возможность обратного преобразования – получения номеров цилиндра, головки и сектора по линейному логическому адресу. Для этого используются следующие формулы:

, , .

где mod – операция вычисления остатка от деления (например, – вычисление остатка от деления числа на число ).

Метод LBA имеет очень серьезное преимущество по сравнению с CHS – ограничение размера диска может быть обусловлено лишь разрядностью LBA. В настоящее время для задания номера блока используется 48 разрядов, что обеспечивает адресацию 248 блоков. Следовательно, максимальный объем диска будет равен

248 блоков · 512 байт в блоке = 248·29 байт = 257 байт = 27·250 байт = 128 Пб.