Огляд будови та роботи HDD

Відео про роботy HDD

Description: hdd

Устройство жесткого диска с IDE разъемом

Основные понятия:

Головка (Head) - электромагнит, скользящий над поверхностью диска, для каждой поверхности используется своя головка. Нумерация начинается с 0.

Description: Головка

Головка HDD

Description: параллельная и вертикальная запись

Продольная (верхний рисунок) и перпендикулярная (нижний рисунок) запись информации на диске

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

С 2011-2013 планируется переход на "тепловую магнитную запись", место записи будет предварительно нагреваться лазером, что уменьшит размер домена и повысит надежность хранения. Предположительная максимальная емкость от 30 до 50 ТБ.

Дорожка (Track) - концентрическая окружность, которое может прочитать головка в одной позиции. Нумерация дорожек начинается с внешней (первая имеет номер - 0).

Цилиндр (Cylinder) - совокупность всех дорожек с одинаковым номером на всех дисках, т.к. дисков может быть много и на каждом диске запись может быть с двух сторон.

Маркер - от него начинается нумерация дорожек, есть на каждом диске.

Сектор - на сектора разбивается каждая дорожка, сектор содержит минимальный блок информации. Нумерация секторов начинается от маркера.

Description: sector

Дорожки, цилиндры, сектора, головки

Геометрия жесткого диска - набор параметров диска, количество головок, количество цилиндров и количество секторов.

У современных жестких дисков контроллер встроен в само устройство, и берет на себя большую часть работы, которую не видит ОС.

Например, скрывают физическую геометрию диска, предоставляя виртуальную геометрии.

Description: Физическая и виртуальная геометрия диска

Физическая и виртуальная геометрия диска

На внешних дорожках число секторов делают больше, а на внутренних меньше. На реальных дисках таких зон может быть несколько десятков.

1.1.2 RAID (Redundant Array of Independent Disk - массив независимых дисков с избыточностью)

Более подробная информация - http://ru.wikipedia.org/wiki/RAID

Для увеличения производительности или надежности операций ввода-вывода с диском был разработан стандарт для распараллеливания или дублирования этих операций

Основные шесть уровней RAID:

На практике, как правило, используют RAID 0, 1 и 5.

Description: Системы RAID уровней от 0 до 5.

Системы RAID уровней от 0 до 5.

1.1.3 Компакт-диски

Более подробная информация - http://ru.wikipedia.org/wiki/Компакт-диск

Description: DVD

Фото диска

Description: DVD устройство

Фото устройства для работы с дисками

Description: DVD в работе

Устройство в работе

Запись на CD-ROM диски производятся с помощью штамповки.

Description: Под микроскопом

CD-ROM под электронным микроскопом.
Длина пита варьируется от 850 нм до 3,5 мкм

Сначала CD-диски использовались только для записи звука, стандарт которого был описан ISO 10149 ("Красная книга").

Пит - единица записи информации (впадина при штамповке, темное пятно, прожженное в слое краски в CD-R, область фазового перехода)

Description: Запись на CD-ROM производится спирально

Запись на CD-ROM производится спирально

В 1984 году была опубликована "Желтая книга", в которой описан следующий стандарт.

Для записи данных было необходимо повысить надежность, для этого каждый байт (8 бит) стали кодировать в 14 разрядное число (по размеру почти дублирование записи, но за счет кодирования эффективность может быть, как при тройной записи), чтобы можно было восстановить потерянные биты.

Description: Логическое расположение данных на CD-ROM для режима 1

Логическое расположение данных на CD-ROM для режима 1

Заголовок содержит:

ECC (Error Correction Code) - код исправления ошибок.

В режиме 2 поле данных объединено с полем ECC в 2336-байтное поле данных. Этот режим можно использовать, если не требуется коррекция ошибок, например, видео и аудио запись.

Коррекция ошибок осуществляется на трех уровнях:

Поэтому 7203 байта содержат только 2048 байта полезной нагрузки, около 28%.

В 1986 году была выпущена "Зеленая книга", к стандарту была добавлена графика, и возможность совмещения в одном секторе аудио, видео и данных.

Файловая система для CD-ROM называется High Sierra , которая оформлена в стандарт ISO 9660.

Файловая система имеет три уровня:

Для этого стандарта существуют расширения:

1.1.3.1 Компакт-диски с возможностью записи CD-R

Запись на CD-R диски производятся с помощью локального прожигания нанесенного слоя красителя.

Используются лазеры с двумя уровнями разной мощности, для записи 8-16 мВт, для чтения 0.5 мВт.

В 1989 году была выпущена "Оранжевая книга", это документ определяет формат CD-R, а также новый формат CD-ROM XA , который позволяет посекторно дописывать информацию на CD-R.

CD-R-дорожка - последовательно записанные за один раз секторы. Для каждой такой дорожки создается свой VTOC (Volume Table of Contents - таблица содержания тома), в котором перечисляются записанные файлы.

Каждая запись производится за одну непрерывную операцию, поэтому если у вас будет слишком загружен компьютер (мало памяти или медленный диск), то вы можете испортить диск, т.к. данные не будут поспевать поступать на CD-ROM.

1.1.3.2 Многократно перезаписываемые компакт-диски CD-RW

Запись на CD-RW диски производятся локального перевода слоя из кристаллического в аморфное состояние.

Используются лазеры с тремя уровнями разной мощности.

Эти диски можно отформатировать (UDF), использовать их в место дискет и дисков.

1.1.3.3 Универсальный цифровой диск DVD (Digital Versatile Disk)

Более подробная информация - http://ru.wikipedia.org/wiki/DVD

Были сделаны следующие изменения:

Это позволило увеличить объем с 650 Мбайт до 4.7 Гбайт.

Определены четыре следующих формата:

  1. Односторонний, одноуровневый (4.7 Гбайт)
  2. Односторонний, двухуровневый (8.5 Гбайт), размеры пита второго уровня приходится делать больше, иначе не будут считаны, т.к. первый полуотражающий слой половину потока отразит и частично рассеет.
  3. Двухсторонний, одноуровневый (9.4 Гбайт)
  4. Двухсторонний, двухуровневый (17 Гбайт)

1.1.3.4 Универсальный цифровой диск Blu-ray (blue ray — синий)

Более подробная информация - http://ru.wikipedia.org/wiki/Blu-ray_Disc

Были сделаны следующие изменения:

Определены следующие формата:

  1. однослойный диск 23,3/25/27 или 33 Гб
  2. двухслойный диск 46,6/50/54 или 66 Гб
  3. четырёх слойный 100 Гб
  4. восьми слойный 200 Гб

1.2 Форматирование дисков (программная часть)

1.2.1 Низкоуровневое форматирование

Низкоуровневое форматирование - разбивка диска на сектора, производится производителями дисков.

Каждый сектор состоит из:

Description: Сектор диска

Сектор диска

На диске могут быть запасные сектора, которые могут быть использованы для замены секторов с дефектами (а они почти всегда есть). За счет этого обеспечивается одинаковая емкость на выходе.

При низкоуровневом форматировании часть полезного объема уменьшается, примерно до 80%.

Перекос цилиндров

Перекос цилиндров - сдвиг 0-го сектора каждой последующей дорожки, относительно предыдущей. служит для увеличения скорости. Головка тратит, какое то время на смену дорожки, и если 0-й сектор будет начинаться в том же месте, что и предыдущий, то головка уже проскочит его, и будет ждать целый круг.

Description: Перекос цилиндров

Перекос цилиндров

Перекос цилиндров делают разным в зависимости скоростей вращения и перемещения головок.

Перекос головок - приходится применять, т.к. на переключение с головки на головку тратится время..

Чередование секторов

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

Чтобы этого не случилось, применяют чередование секторов.

Description: Чередование секторов

Чередование секторов

Если копирование очень медленное, может применяться двукратное чередование, или больше.

1.2.2 Разделы диска

Более подробная информация - http://ru.wikipedia.org/wiki/Раздел_диска

После низкоуровневого форматирования диск разбивается на разделы, эти разделы воспринимаются ОС как отдельные диски.

Для чего можно использовать разделы:

Основные разделы диска:

Информация о разделах записывается в 0-м секторе 0-го цилиндра, головка 0. И называется таблицей разделов.

Таблица разделов (Partition Table) - содержит информацию о разделах, номер начальных секторов и размеры разделов. На Pentium-компьютерах в таблице есть место только для четырех записей, т.е. может быть только 4 раздела (к логическим это не относится, их может быть не ограниченное количество).

Этот сектор называется главной загрузочной записью.

Главная загрузочная запись MBR (Master Boot Record) - содержит загрузочную программу и таблицу разделов.

Более подробная информация - http://ru.wikipedia.org/wiki/Главная_загрузочная_запись

Активный раздел - раздел, с которого загружается ОС, может быть и логическим. В одном сеансе загрузки может быть только один активный раздел.

Description: Пример структуры разделов

Пример структуры разделов

В Windows разделы будут называться (для пользователей) устройствами C:, D:, E: и т.д.

1.2.3 Высокоуровневое форматирование

Высокоуровневое форматирование (создание файловой системы) - проводится для каждого раздела в отдельности, и выполняет следующее:

Кластеры и блоки - единица хранения информации в файловых системах, файлы записываются на диск, разбитыми на блоки ли кластеры.

При загрузке системы, происходит следующее:

  1. Запускается BIOS
  2. BIOS считывает главную загрузочную запись, и передает ей управление
  3. Загрузочная программа определяет, какой раздел активный
  4. Из этого раздела считывается и запускается загрузочный сектор
  5. Программа загрузочного сектора находит в корневом каталоге определенный файл (загрузочный файл)
  6. Этот файл загружается в память и запускается (ОС начинает загрузку)

1.3 Алгоритмы планирования перемещения головок

Факторы, влияющие на время считывания или записи на диск:

Для большинства дисков самое большое, это время поиска. Поэтому, оптимизируя время поиска можно существенно повысить быстродействие.

Алгоритмы могут быть реализованы в контроллере, в драйверах, в самой ОС.

1.3.1 Алгоритм "первый пришел - первым обслужен" FCFS (First Come, First Served)

Рассмотрим пример. Пусть у нас на диске из 28 цилиндров (от 0 до 27) есть следующая очередь запросов:

27, 2, 26, 3, 19, 0

и головки в начальный момент находятся на 1 цилиндре. Тогда положение головок будет меняться следующим образом:

Description: Алгоритм FCFS

Алгоритм FCFS

Как видно алгоритм не очень эффективный, но простой в реализации.

1.3.2 Алгоритм короткое время поиска первым (или ближайший цилиндр первым) SSF (Shortest Seek First)

Для предыдущего примера алгоритм даст следующую последовательность положений головок:

Description: Алгоритм SSF

Алгоритм SSF

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

1.3.3 Алгоритмы сканирования (SCAN, C-SCAN, LOOK, C-LOOK)

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

LOOK - если мы знаем, что обслужили последний попутный запрос в направлении движения головок, то мы можем не доходить до края диска, а сразу изменить направление движения на обратное

C-SCAN - циклическое сканирование. Когда головка достигает одного из краев диска, она без чтения попутных запросов перемещается на 0-й цилиндр, откуда вновь начинает свое движение.

C-LOOK - по аналогии с предыдущим.

1.4 Обработка ошибок

Т.к. создать диск без дефектов сложно, а вовремя использования появляются новые дефекты.

Поэтому системе приходится контролировать и исправлять ошибки.

Ошибки могут быть обнаружены на трех уровнях:

Блоки и кластеры не должны содержать дефектные сектора, поэтому система должна уметь помечать дефектные сектора.

Description: Способы замены дефектных кластеров

Способы замены дефектных кластеров