Принципы работы накопителей на жестких дисках

Форматирование высокого уровня

Рейтинг:   / 0

При форматировании высокого уровня операционная система создает структуры для работы с файлами и данными. В каждый раздел (логический диск) заносятся загрузочный сектор тома (VBS), две копии таблицы размещения файлов (FAT) и корневой каталог (Root Directory). С помощью этих структур данных операционная система распределяет дисковое пространство, отслеживает расположение файлов и даже во избежание проблем “обходит” дефектные участки на диске.

В сущности, форматирование высокого уровня — это не столько форматирование, сколько создание оглавления диска и таблицы размещения файлов. “Настоящее” форматирование — это форматирование низкого уровня, при котором диск разбивается на дорожки и секторы. С помощью команды FORMAT на гибком диске выполняются сразу оба типа форматирования, а для жесткого — только форматирование высокого уровня. Форматирование низкого уровня на жестком диске выполняет его изготовитель; оно чисто технически не может быть осуществлено конечным пользователем. Правда, некоторые из производителей выпускают свои программы инициализации, которые являются своеобразной заменой низкоуровневого форматирования. Программы инициализации не создают заголовки секторов, однако они перезаписывают все области данных и помечают сбойные секторы (по возможности замещая их запасными, хорошими). Обычно программы инициализации используются, когда необходимо восстановить поврежденное форматирование или уничтожить все данные на диске.

Организация разделов на диске

Рейтинг:   / 0

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

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

  • FAT (File Allocation Table — таблица размещения файлов). Это стандартная файловая система, поддерживаемая DOS и Windows 9х/Me. В разделах FAT под управлением DOS допустимая длина имен файлов — 11 символов (8 символов собственно имени и 3 символа расширения); в Windows версии 9х и выше допустимая длина имен файлов — 255 символов. Стандартная файловая система FAT для идентификации кластеров использует 12- и 16-разрядные числа, что определяет максимальный объем тома в 2 Гбайт. С помощью программы FDISK можно создать только два физических раздела FAT на жестком диске — основной и дополнительный, а в дополнительном разделе можно создать до 25 логических томов. Программа Partition Magic может создавать четыре основных раздела или три основных и один дополнительный.
  • FAT32 (File Allocation Table, 32-bit — 32-разрядная таблица размещения файлов). Эта файловая система поддерживается Windows 95 OSR2 и более поздними версиями. В FAT32 для нумерации кластеров используются 32-разрядные числа, что позволяет поддерживать тома объемом до 2 Тбайт (2048 Гбайт).
  • NTFS (Windows NT File System — файловая система Windows NT). Доступна только в Windows NT/2000/XP/2003/Vista. Длина имен файлов может достигать 256 символов, а размер раздела (теоретически) — 16 Эбайт (16×1018 байт). NTFS предлагает дополнительные возможности, не предоставляемые другими файловыми системами, например средства безопасности.

До появления Windows XP наиболее распространенной была файловая система FAT32. В современных системах более широко используется NTFS, которая является “родной” файловой системой Windows XP и Vista, причем в последнем случае загрузочный том должен быть размечен именно в ней. Тем не менее система FAT поддерживается практически любой операционной системой, что делает ее оптимальным вариантом для использования в смешанных операционных средах. FAT32 и NTFS предоставляют дополнительные возможности, но не являются универсально совместимыми с другими ОС.

Разделы на диске создаются с помощью поставляемой с операционной системой программы. Например, программа FDISK, используемая для решения этой задачи, поставляется в комплекте с DOS и Windows 9x/Me, тогда как программа DISKPART и встроенный компонент Управление дисками оснастки Управление компьютером входят в поставку Windows XP. Программы FDISK и DISKPART, а также различные средства, используемые для создания разделов, позволяют определить объем создаваемого раздела, начиная с одного мегабайта (или 1% пространства диска) и заканчивая полной емкостью жесткого диска; кроме того, они позволяют указать размеры раздела в соответствии с требованиями той или иной файловой системы. Можно создать столько разделов, сколько потребуется, однако многие пользователи предпочитают остановиться на одном-двух разделах. До появления FAT32 сделать это было значительно труднее, поскольку максимальный размер разделов в файловой системе FAT16 составлял всего 2 Гбайт. В FAT32 максимальный размер раздела может достигать 2048 Гбайт.


Внимание!

Программы FDISK и DISKPART, а также различные инструменты для создания разделов, встроенные в операционные системы, не позволяют изменять размер уже существующих разделов (можно только создавать или удалять). При удалении раздела находящиеся в нем данные уничтожаются. Создание раздела приводит к потере доступа к данным, хранившимся в той части диска, которая использовалась для создания нового раздела. Для управления разделами без разрушения данных воспользуйтесь программами сторонних разработчиков, к числу которых относятся Partition Magic от PowerQuest и Partition Commander компании V-Communications.

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

 

Форматирование дисков

Рейтинг:   / 0

Различают два вида форматирования диска:

При форматировании новых гибких дисков с помощью программы Проводник Windows или команды DOS FORMAT выполняются обе операции; если на диске уже выполнялось форматирование, по умолчанию предлагается только высокоуровневое форматирование.

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

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

  1. Форматирование низкого уровня.
  2. Организация разделов на диске.
  3. Форматирование высокого уровня.

Форматирование низкого уровня

Рейтинг:   / 0

В процессе форматирования низкого уровня дорожки диска разбиваются на секторы. При этом записываются заголовки и заключения секторов (префиксы и суффиксы), а также формируются интервалы между секторами и дорожками. Область данных каждого сектора заполняется фиктивными значениями или специальными тестовыми наборами данных. В накопителях на гибких дисках количество секторов на дорожке определяется типом дискеты и дисковода; количество секторов на дорожке жесткого диска зависит от интерфейса накопителя и контроллера.

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

В первых контроллерах ST-506/412 при записи по методу MFM дорожки разбивались на 17 секторов, а в контроллерах этого же типа, но с кодированием RLL количество секторов достигало 26. В накопителях ESDI на дорожке содержится 32 и более секторов. В накопителях IDE контроллеры встроенные, и в зависимости от их типа количество секторов колеблется в пределах 17–2500 и более.

Практически во всех накопителях ATA используется так называемая зонная запись с переменным количеством секторов на дорожке. Дорожки, более удаленные от центра (а значит, и более длинные), содержат больше секторов, чем дорожки, расположенные близко к центру. Один из способов повышения емкости жесткого диска — разделение внешних цилиндров на большее количество секторов по сравнению с внутренними. Плотность данных и скорость вращения остаются постоянными, что влияет на количество битов, записанных на дорожке. На 1-м рисунке схематически представлен диск с одинаковым количеством секторов на всех дорожках.

При стандартной записи данных пространство внешних дорожек используется крайне неэффективно, так как они, отличаясь значительно большей протяженностью, содержат столько же данных, сколько содержат внутренние дорожки. Один из способов увеличения емкости жесткого диска при форматировании низкого уровня состоит в создании большего количества секторов во внешних цилиндрах диска, чем во внутренних. Внешние цилиндры имеют большую длину окружности и поэтому могут содержать больше данных. В накопителях, не использующих метод зонной записи, в каждом цилиндре содержится одинаковое количество данных, несмотря на то что длина дорожки внешних цилиндров может быть вдвое больше длины внутренних. Это приводит к нерациональному использованию пространства запоминающего устройства, так как носитель должен обеспечивать надежное хранение данных, записанных с той же плотностью, что и во внутренних цилиндрах. В том случае, если количество секторов, приходящихся на каждую дорожку, фиксировано, как это бывает при использовании контроллеров ранних версий, емкость накопителя определяется плотностью записи внутренней (наиболее короткой) дорожки.

При зонной записи цилиндры разбиваются на группы, которые называются зонами, причем по мере продвижения к внешнему краю диска дорожки разбиваются на все большее число секторов. Во всех цилиндрах, относящихся к одной зоне, количество секторов на дорожках одно и то же. Возможное количество зон зависит от типа накопителя; в большинстве устройств их бывает 10 и более (см. 2-й рисунок).

 

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

Приведем в качестве примера организацию зон в 2,5-дюймовом жестком диске Hitachi Travelstar 7K60 для портативных компьютеров (см. таблицу ниже).

Этот накопитель имеет 54288 дорожек на каждой поверхности диска; дорожки разделены на 16 зон по 3393 цилиндра. В нулевой (самой внешней) зоне содержится наибольшее количество секторов — 720 на каждую дорожку. Каждая дорожка в этой зоне имеет размер 368640 байт. Самая внутренняя зона содержит только 360 секторов на дорожку; ее емкость — всего 184320 байт.

При использовании метода зонной записи каждая поверхность диска уже содержит в среднем 545,63 сектора на дорожку. Если не использовать метод зонной записи, то каждая дорожка будет ограничена 360 секторами. Выигрыш при использовании метода зонной записи составляет около 52%.

 

Обратите внимание на различия в скорости передачи данных для каждой зоны. Поскольку частота вращения шпинделя — 7200 об/мин, один оборот совершается за 1/120 секунды (т.е. 8,33 миллисекунды). Дорожки во внешней зоне (нулевой) имеют скорость передачи данных 44,24 Мбайт/с, а во внутренней зоне (15) — всего 22,12 Мбайт/с. Средняя скорость передачи данных составляет 33,52 Мбайт/с. Именно это свойство диска объясняет различие в результатах измерения параметров диска с помощью программ тестовых пакетов — каждая программа измеряет скорости передачи данных в различных зонах.

Кроме того, следует отметить, что данный диск соответствует спецификации ATA-6 и поддерживает режим Ultra-ATA/100 (также называемый UDMA-100), а это предполагает скорость передачи данных 100 Мбайт/с. Разумеется, это теоретическое значение, так как реальная скорость передачи данных для данного жесткого диска составляет от 22 до 44 Мбайт/с, а средняя — 33 Мбайт/с. Теоретическая скорость передачи данных соответствует в большей мере возможностям интерфейса, а не реального жесткого диска.

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

В то же время накопители ATA, содержащие встроенные контроллеры дисков, позволяют выполнять форматирование дорожек, имеющих различное количество секторов. Контроллеры, встраиваемые в накопители этих типов, полностью поддерживают алгоритм зонной записи, что позволяет преобразовывать физические цилиндры, головки и секторы в соответствующее количество логических цилиндров, головок и секторов. В результате внешне все выглядит так, что количество секторов на всех дорожках одно и то же. Базовая система ввода-вывода предназначена для обработки дорожек, содержащих одинаковое количество секторов по всей площади жесткого диска, поэтому дисководы, поддерживающие метод зонной записи, должны работать с помощью схемы трансляции секторов.

Метод зонной записи позволил производителям повысить емкость устройств на 20–50% по сравнению с накопителями, в которых число секторов на дорожке фиксировано. Зонная запись используется абсолютно во всех современных накопителях.



Sitelinkx by eXtro-media.de

Дорожки и секторы

Рейтинг:   / 0

Дорожка — это одно “кольцо” данных на одной стороне диска. Дорожка записи на диске слишком велика, чтобы использовать ее в качестве единицы хранения информации. Во многих накопителях ее емкость превышает 100 тыс. байтов, и отводить такой блок для хранения небольшого файла крайне расточительно. Поэтому дорожки на диске разбивают на нумерованные отрезки, называемые секторами.

Количество секторов может быть разным в зависимости от плотности дорожек и типа накопителя. Например, дорожка гибких дисков может содержать от 8 до 36 секторов, а дорожка жесткого диска — от 380 до 700. Секторы, создаваемые с помощью стандартных программ форматирования, имеют емкость 512 байт, но не исключено, что в будущем эта величина изменится. Следует отметить один важный факт: для совместимости со старыми BIOS, независимо от реального количества секторов на дорожке, устройство должно выполнять трансляцию в режим 63 секторов на дорожке, принятый в адресации CHS.

Нумерация секторов на дорожке начинается с единицы, в отличие от головок и цилиндров, отсчет которых ведется с нуля. Например, дискета емкостью 1,44 Мбайт содержит 80 цилиндров, пронумерованных от 0 до 79, в дисководе установлены две головки (с номерами 0 и 1) и каждая дорожка цилиндра разбита на 18 секторов (1–18).

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

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

Помимо указанных областей служебной информации, каждый сектор содержит область данных емкостью 512 байт. При низкоуровневом (физическом) форматировании всем байтам данных присваивается некоторое значение, например F6h. Электронные схемы накопителей с большим трудом справляются с кодированием и декодированием некоторых шаблонов, поскольку эти шаблоны используются только при тестировании дисководов, выполняемом производителем в процессе первоначального форматирования. Используя специальные тестовые шаблоны, можно выявить ошибки, которые не обнаруживаются с помощью обычных шаблонов данных.


Примечание!

Форматирование низкого уровня обсуждается далее. Не путайте его с форматированием высокого уровня, которое выполняется с помощью программы FORMAT в DOS и Windows.

Заголовки и суффиксы секторов не зависят от операционной и файловой систем, а также от файлов, хранящихся на жестком диске. Помимо этих элементов, существует множество промежутков в секторах, между секторами на каждой дорожке и между дорожками, но ни один из этих промежутков не может быть использован для записи данных. Промежутки создаются во время форматирования на низком (физическом) уровне, при котором удаляются все записанные данные. На жестком диске промежутки выполняют точно такие же функции, как и на магнитофонной кассете, где они используются для разделения музыкальных записей. Начальные, завершающие и промежуточные пробелы представляют собой именно то пространство, которое определяет разницу между форматной и неформатной емкостью диска. Например, емкость 4-мегабайтовой дискеты (3,5-дюйма) после форматирования “уменьшается” до 2,88 Мбайт (форматная емкость). Дискета емкостью 2 Мбайт (до форматирования) имеет форматную емкость 1,44 Мбайт. Жесткий диск Seagate ST-4038, имеющий неформатную емкость 38 Мбайт, после форматирования “уменьшается” до 32 Мбайт (форматная емкость).

Форматирование низкого уровня современных жестких дисков ATA/IDE и SCSI выполняется еще на заводе, поэтому изготовитель указывает только форматную емкость диска. Тем не менее практически на всех дисках имеется некоторое зарезервированное пространство для управления данными, которые будут записаны на диске. Как видите, утверждать, что размер любого сектора равен 512 байт, — не вполне корректно. На самом деле в каждом секторе можно записать 512 байт данных, но область данных — это только часть сектора. Каждый сектор на диске обычно занимает 571 байт, из которых под данные отводится только 512 байт. В различных накопителях пространство, отводимое под заголовки и суффиксы, может быть разным, но, как правило, сектор имеет размер 571 байт. Как уже говорилось, многие современные диски используют схему разметки без идентификаторов заголовков секторов, что высвобождает дополнительное пространство для данных.

Для наглядности представьте, что секторы — это страницы в книге. На каждой странице содержится текст, но им заполняется не все пространство страницы, так как у нее есть поля (верхнее, нижнее, правое и левое). На полях помещается служебная информация, например названия глав (на диске это соответствует номерам дорожек и цилиндров) и номера страниц (что соответствует номерам секторов). Области на диске, аналогичные полям на странице, создаются во время форматирования диска; тогда же в них записывается и служебная информация. Кроме того, во время форматирования диска области данных каждого сектора заполняются фиктивными значениями. Отформатировав диск, можно записывать информацию в области данных обычным образом. Информация, которая содержится в заголовках и заключениях сектора, не меняется во время обычных операций записи данных. Изменить ее можно, только переформатировав диск.

В таблице в качестве примера приведен формат дорожки и сектора стандартного жесткого диска, имеющего 17 секторов на дорожке. Из таблицы видно, что “полезный” объем дорожки примерно на 15% меньше возможного.

Эти потери характерны для большинства накопителей, но для разных моделей они могут быть различными. Ниже подробно анализируются данные, представленные в табл. 9.2. Послеиндексный интервал нужен для того, чтобы при перемещении головки на новую дорожку переходные процессы (установка) закончились прежде, чем она окажется перед первым сектором. В этом случае его можно начать считывать сразу, не дожидаясь, пока диск совершит дополнительный оборот.

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

 


Примечание!

Раньше параметр смещения головки устанавливался пользователем вручную при низкоуровневом форматировании. Сегодня такое форматирования выполняется в промышленных условиях, и эти параметры нельзя изменить.

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

В большинстве контроллеров седьмой бит поля номера головки используется для маркировки дефектных секторов в процессе форматирования низкого уровня или анализа поверхности. Однако такой метод не является стандартным, и в некоторых устройствах дефектные секторы помечаются иначе. Но, как правило, отметка делается в одном из полей идентификатора сектора. Интервал включения записи следует сразу за байтами CRC; он гарантирует, что информация в следующей области данных будет записана правильно. Кроме того, он служит для завершения анализа контрольной суммы (CRC) идентификатора сектора.

В поле данных можно записать 512 байт информации. За ним располагается еще одно поле CRC для проверки правильности записи данных. В большинстве накопителей размер этого поля составляет 2 байт, но некоторые контроллеры могут работать и с более длинными полями кодов коррекции ошибок (Error Correction Code — ECC). Записанные в этом поле байты кодов коррекции ошибок позволяют при считывании обнаруживать и исправлять некоторые ошибки. Эффективность этой операции зависит от выбранного метода коррекции и особенностей контроллера. Интервал отключения записи позволяет полностью завершить анализ байтов ECC (CRC).

Интервал между записями необходим для того, чтобы застраховать данные следующего сектора от случайного стирания при записи в предыдущий сектор. Это может произойти, если при форматировании диск вращался с частотой, несколько меньшей, чем при последующих операциях записи. При этом сектор, естественно, всякий раз будет немного длиннее. Поэтому, чтобы он не выходил за установленные при форматировании границы, их слегка “растягивают”, вводя упомянутый интервал. Его реальный размер зависит от разности частот вращения диска при форматировании дорожки и при каждом обновлении данных.

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

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

 



Sitelinkx by eXtro-media.de
Яндекс.Метрика