Накопители на жестких дисках - Кибернетика - Скачать бесплатно
работе ложится именно на чтение/запись, передача данных в
буфер и из буфера занимает лишь малую часть этого времени, и сам факт
перехода на Ultra DMA, как правило, дает прирост лишь в единицы процентов.
Но накопители с Ultra DMA, обычно, имеют высокую скорость вращения
шпинделя, а следовательно - и более высокую скорость чтения/записи.
Физическое хранение, методы кодирования информации
Как уже говорилось, информация на поверхностях накопителя хранится в виде
последовательности мест с переменной намагниченностью, обеспечивающих
непрерывный поток данных при считывании их при помощи последовательного
чтения. Вся информация и места ее хранения делятся на служебную и
пользовательскую информацию. Служебная и пользовательская информация
хранится в областях дорожек называемых секторами. Каждый сектор содержит
область пользовательских данных - место, куда можно записать информацию,
доступную в последующем для чтения и зону серво-данных, записываемых один
раз при физическом форматировании и однозначно идентифицирующих сектор и
его параметры (используется или нет, физический адрес сектора, ЕСС код и
т.п.). Вся серво-информация не доступна обычным процедурам чтения/записи и
носит абсолютно уникальный характер в зависимости от модели и производителя
накопителя.
В отличие от дискет и старых накопителей на ЖД, диски современных
накопителей проходят первичную, или низкоуровневую, разметку (Low Level
Formatting) на специальном заводском высокоточном технологическом стенде. В
ходе этого процесса на диски записываются служебные метки - серво-
информация, а также формируются привычные дорожки и сектора. Таким образом,
если когда-то новый накопитель нужно было "форматировать на низком уровне",
то сейчас этого делать не то чтобы не нужно - это просто невозможно без
специального сложнейшего оборудования, а различные "программы
низкоуровневого форматирования" чаще всего просто обнуляют содержимое
секторов с проверкой их читаемости, хотя порой могут и необратимо испортить
служебную разметку и серво-информацию служебных секторов.
Появление различных методов кодирования данных секторов связано, прежде
всего, с техническими особенностями устройств хранения и передачи
информации и желанием производителей наиболее полно использовать физическое
пространство носителей информации. В настоящее время используется несколько
различных методов кодирования данных.
Частотная модуляция (Frequency Modulation - FM) - метод, используемый в
накопителях на сменных магнитных дисках. Иначе, кодирование методом FM
можно назвать кодированием с единичной плотностью. Метод предполагает
запись на носитель в начале каждого битового элемента данных бита
синхронизации. Битовый элемент определяется как минимальный интервал
времени между битами данных, получаемый при постоянной скорости вращения
диска носителя. Метод гарантирует, по меньшей мере, одну перемену
направления магнитного потока за единицу времени вращения. Такой временной
интервал соответствует максимальной продольной плотности магнитного потока
2330 перемен на 1 см и скорости передачи данных – 125 Кбит/сек. Простота
кодирования и декодирования по методу FM определяется постоянной частотой
следования синхроимпульсов. Однако, наличие этих бит синхронизации и
является одним из недостатков данного метода, т.к. результирующий код
малоэффективен с точки зрения компактности данных (половина пространства
носителя занимается битами синхронизации). Это один из первых методов, не
используемый в настоящее время в накопителях на ЖД.
Модифицированная частотная модуляция (Modified Frequency Modulation - MFM)
- улучшенный метод FM. Модификация заключается в сокращении вдвое
длительности битового элемента - до 4 мкс и использовании бит синхронизации
не после каждого бита данных, а лишь в случаях, когда в предшествующем и
текущем битовых элементах нет ни одного бита данных. Такой способ
кодирования позволяет удвоить емкость носителя и скорость передачи данных,
по сравнению с методом FM, т.к. в одном и том же битовом элементе никогда
не размещаются бит синхронизации и данных, а на один битовый элемент
приходится только одна перемена направления магнитного потока. Также, в
настоящее время не используется.
Запись с групповым кодированием (Run Limited Length - RLL) - метод,
полностью исключающий запись на диск каких-либо синхронизационных бит.
Синхронизация достигается за счет использования бит данных. Однако, такой
подход требует совершенно иной схемы кодирования, т.к. простое исключение
бит синхронизации приведет к записи последовательностей из одних нулей или
единиц в которых не будет ни одной перемены полярности магнитного потока.
Метод RLL происходит от методов, используемых для кодирования данных при
цифровой записи на магнитную ленту. При этом, каждый байт данных
разделяется на два полубайта, которые кодируются специальным 5-ти разрядным
кодом, суть которого – добиться хотя бы одной перемены направления
магнитного потока для каждой пары его разрядов. Что означает, необходимость
наличия в любой комбинации 5-ти разрядных кодов не более двух стоящих рядом
нулевых бит. Из 32 комбинаций 5 бит такому условию отвечают 16. Они и
используются для кодирования по методу RLL. При считывании происходит
обратный процесс. При применении метода кодирования RLL скорость передачи
данных возрастает с 250 до 380 Кбит/с, а число перемен полярности
магнитного потока до 3330 перемен/см. При этом длительность битового
элемента снижается до 2.6 мкс. Поскольку, максимальный интервал времени до
перемены магнитного потока известен (два последовательно расположенных
нулевых бита), биты данных могут служить битами синхронизации, что делает
метод кодирования RLL самосинхронизирующимся и самотактируемым. Интересным
является тот факт, что метод MFM является частным случаем метода RLL. Для
обозначения типа используемого RLL метода применяется аббревиатура вида:
RLL2,7, RLL1,7, RLL2,8, RLL1,8, где первая цифра - минимальная, а вторая -
максимальная длина последовательности бит - нулей, содержащихся между
соседними единицами. Аббревиатура метода MFM в терминологии RLL
записывается как RLL1,3.
Модифицированная запись с групповым кодированием (Advanced Run Limited
Length – ARLL) – улучшенный метод RLL, в котором, наряду с логическим
уплотнением данных, производится повышение частоты обмена между
контроллером и накопителем.
В настоящее время в накопителях на жестких дисках используются различные
методы кодирования информации, разрабатываемые и патентуемые фирмами-
производителями на основе метода с групповым кодированием - ARLL.
Выпускаются также устройства с аппаратной компрессией данных на уровне
интерфейса или контроллера в которых используется простое арифметическое
сжатие информации перед записью и после считывания.
Интерфейсы жестких дисков
Интерфейсом накопителей называется набор электроники, обеспечивающий обмен
информацией между контроллером устройства (кеш-буфером) и компьютером. В
настоящее время в настольных ПК IBM-PC, чаще других, используются две
разновидности интерфейсов ATAPI - AT Attachment Packet Interface
(Integrated Drive Electronics - IDE, Enhanced Integrated Drive Electronics
- EIDE) и SCSI (Small Computers System Interface).
Интерфейс IDE разрабатывался как недорогая и производительная альтернатива
высокоскоростным интерфейсам ESDI и SCSI. Интерфейс, предназначен для
подключения двух дисковых устройств. Отличительной особенностью дисковых
устройств, работающих с интерфейсом IDE состоит в том, что собственно
контроллер дискового накопителя располагается на плате самого накопителя
вместе со встроенным внутренним кэш-буфером. Такая конструкция существенно
упрощает устройство самой интерфейсной карты и дает возможность размещать
ее не только на отдельной плате адаптера, вставляемой в разъем системной
шины, но и интегрировать непосредственно на материнской плате компьютера.
Интерфейс характеризуется чрезвычайной простотой, высоким быстродействием,
малыми размерами и относительной дешевизной.
Сегодня на смену интерфейсу IDE пришло детище фирмы Western Digital -
Enhanced IDE, или сокращенно EIDE. Сейчас это лучший вариант для
подавляющего большинства настольных систем. Жесткие диски EIDE заметно
дешевле аналогичных по емкости SCSI-дисков и в однопользовательских
системах не уступают им по производительности, а большинство материнских
плат имеют интегрированный двухканальный контроллер для подключения четырех
устройств. Что же появилось нового в Enhanced IDE по сравнению с IDE ?
Во-первых, это большая емкость дисков. Если IDE не поддерживал диски свыше
528 мегабайт, то EIDE поддерживает объемы до 8.4 гигабайта на каждый канал
контроллера.
Во-вторых, к нему подключается больше устройств - четыре вместо двух.
Раньше имелся только один канал контроллера, к которому можно было
подключить два IDE устройства. Теперь таких каналов два. Основной канал,
который обычно стоит на высокоскоростной локальной шине и вспомогательный.
В-третьих, появилась спецификация ATAPI (AT Attachment Packet Interface)
дающая возможность подключения к этому интерфейсу не только жестких дисков,
но и других устройств - стриммеров и дисководов CD-ROM.
В-четвертых - повысилась производительность. Накопители с интерфейсом IDE
характеризовались максимальной скоростью передачи данных на уровне 3
мегабайт в секунду. Жесткие диски EIDE поддерживают несколько новых режимов
обмена данными. В их число входит режим программируемого ввода-вывода PIO
(Programmed Input/Output) Mode 3 и 4, которые обеспечивают скорость
передачи данных 11.1 и 16.6 мегабайт в секунду соответственно.
Программируемый ввод-вывод - это способ передачи данных между контроллером
периферийного устройства и оперативной памятью компьютера посредством
команд пересылки данных и портов ввода/вывода центрального процессора.
В пятых - поддерживается режим прямого доступа к памяти - Multiword Mode 1
DMA (Direct Memory Access) или Multiword Mode 2 DMA и Ultra DMA, которые
поддерживают обмен данными в монопольном режиме (то есть когда канал ввода-
вывода в течение некоторого времени обслуживает только одно устройство).
DMA - это еще один путь передачи данных от контроллера периферийного
устройства в оперативную память компьютера, от PIO он отличается тем, что
центральный процессор ПК не задействуется и его ресурсы остаются свободными
для других задач. Периферийные устройства обслуживает специальный
контроллер DMA. Скорость при этом достигает 13.3 и 16.6 мегабайта в
секунду, а при использовании Ultra DMA и соответствующего драйвера шины -
33 мегабайт в секунду. EIDE-контроллеры используют механизм PIO точно так
же, как это делают и некоторые SCSI-адаптеры, но скоростные адаптеры SCSI
работают только по методу DMA.
В шестых - расширена система команд управления устройством, передачи данных
и диагностики, увеличен кеш-буфер обмена данными и существенно доработана
механика.
Фирмы Seagate и Quantum вместо спецификации EIDE используют спецификацию
Fast ATA для накопителей, поддерживающих режимы PIO Mode 3 и DMA Mode 1, а
работающие в режимах PIO Mode 4 и DMA Mode 2 обозначают как Fast ATA-2.
Интеллектуальный многофункциональный интерфейс SCSI был разработан еще в
конце 70-х годов в качестве устройства сопряжения компьютера и
интеллектуального контроллера дискового накопителя. Интерфейс SCSI является
универсальным и определяет шину данных между центральным процессором и
несколькими внешними устройствами, имеющими свой контроллер. Помимо
электрических и физических параметров, определяются также команды, при
помощи которых, устройства, подключенные к шине осуществляют связь между
собой. Интерфейс SCSI не определяет детально процессы на обеих сторонах
шины и является интерфейсом в чистом виде. Интерфейс SCSI поддерживает
значительно более широкую гамму периферийных устройств и стандартизован
ANSI (X3.131-1986).
Сегодня применяются в основном два стандарта - SCSI-2 и Ultra SCSI. В
режиме Fast SCSI-2 скорость передачи данных доходит до 10 мегабайт в
секунду при использовании 8-разрядной шины и до 20 мегабайт при 16-
разрядной шине Fast Wide SCSI-2. Появившийся позднее стандарт Ultra SCSI
отличается еще большей производительностью - 20 мегабайт в секунду для 8-
разрядной шины и 40 мегабайт для 16-разрядной. В новейшем SCSI-3 увеличен
набор команд, но быстродействие осталось на том же уровне. Все
применяющиеся сегодня стандарты совместимы с предыдущими версиями "сверху -
вниз", то есть к адаптерам SCSI-2 и Ultra SCSI можно подключить старые SCSI-
устройства. Интерфейс SCSI-Wide, SCSI-2, SCSI-3 - стандарты модификации
интерфейса SCSI, разработаны комитетом ANSI. Общая концепция
усовершенствований направлена на увеличение ширины шины до 32-х, с
увеличением длинны соединительного кабеля и максимальной скорости передачи
данных с сохранением совместимости с SCSI. Это наиболее гибкий и
стандартизованный тип интерфейсов, применяющийся для подключения 7 и более
периферийных устройств, снабженных контроллером интерфейса SCSI. Интерфейс
SCSI остается достаточно дорогим и самым высокопроизводительным из
семейства интерфейсов периферийных устройств персональных компьютеров, а
для подключения накопителя с интерфейсом SCSI необходимо дополнительно
устанавливать адаптер, т.к. немногие материнские платы имеют
интегрированный адаптер SCSI.
Логическое хранение и кодирование информации
Для обеспечения наиболее оптимальной производительности и работы накопителя
как запоминающего устройства, а также, для улучшения программного
интерфейса, накопители не используются системами в первичном виде, а в них,
на основе физически присутствующих структур - дорожек и секторов,
используется логическая структура хранения и доступа к информации. Ее тип и
характеристики зависят от используемой операционной системы и называется
она - файловой системой. В настоящее время имеется достаточно много типов
различных файловых систем, практически столько же, сколько и различных
операционных систем, однако, все они основывают свои логические структуры
данных на нескольких первичных логических структурах. Рассмотрим их
подробнее.
Первый сектор жесткого диска содержит хозяйственную загрузочную запись -
Master Boot Record (MBR) которая, в свою очередь, содержит загрузочную
запись - Boot Record (BR), выполняющуюся в процессе загрузки ОС.
Загрузочная запись жестких дисков является объектом атаки компьютерных
вирусов, заражающих MBR. За загрузчиком расположена таблица разделов -
Partition Table (PT), содержащая 4 записи - элементы логических разделов -
Partitions. Завершается MBR специальной сигнатурой - последовательностью из
2-х байт с шестнадцатиричными значениями 55H и ААH, указывающая на то, что
данный раздел, после которого расположена сигнатура, является последним
разделом в таблице. Ниже представлена структура MBR.
|Название записи в MBR |Длина, байт |
|Загрузочная запись – Boot Record |446 |
|Элемент таблицы разделов 1 – Partition 1 |16 |
|Элемент таблицы разделов 2 – Partition 2 |16 |
|Элемент таблицы разделов 3 – Partition 3 |16 |
|Элемент таблицы разделов 4 – Partition 4 |16 |
|Сигнатура окончания Partition Table |2 |
Каждый элемент таблицы разделов содержит информацию о логическом разделе.
Первым байтом в элементе раздела идет флаг активности раздела (0 - не
активен, 128 (80H) - активен). Он служит для определения, является ли
раздел системным загрузочным и необходимости производить загрузку
операционной системы с него при старте компьютера. Активным может быть
только один раздел. Небольшие программы, называемые менеджерами загрузки
(Boot Manager), могут располагаться в первых секторах диска. Они
интерактивно запрашивают пользователя с какого раздела производить загрузку
и соответственно корректируют флаги активности разделов. За флагом
активности раздела следует байт номера головки с которой начинается раздел.
За ним следует два байта, означающие соответственно номер сектора и номер
цилиндра загрузочного сектора, где располагается первый сектор загрузчика
операционной системы. Загрузчик операционной системы представляет собой
маленькую программу, осуществляющую считывание в память начального кода
операционной системы во время ее старта. Затем следует байт – кодовый
идентификатор операционной системы, расположенной в разделе. За байтом кода
операционной системы расположен байт номера головки конца раздела, за
которым идут два байта – номер сектора и номер цилиндра последнего сектора
распределенного разделу. Ниже представлен формат элемента таблицы разделов.
|Название записи элемента Partition Table |Длина,б|
| |айт |
|Флаг активности раздела |1 |
|Номер головки начала раздела |1 |
|Номер сектора и номер цилиндра загрузочного сектора раздела |2 |
|Кодовый идентификатор операционной системы |1 |
|Номер головки конца раздела |1 |
|Номер сектора и цилиндра последнего сектора раздела |2 |
|Младшее и старшее двухбайтовое слово относительного номера |4 |
|начального сектора | |
|Младшее и старшее двухбайтовое слово размера раздела в секторах|4 |
Завершают элемент раздела младшее и старшее двухбайтовое слово
относительного номера первого сектора раздела и размер раздела в секторах
соответственно.
Номера сектора и номер цилиндра секторов в разделах занимают 6 и 10 бит
соответственно. Ниже представлен формат записи, содержащей номера сектора и
цилиндра.
Биты номера цилиндра Биты номера сектора
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Как было показано выше, для жестких дисков типичной является ситуация,
когда имеется четыре записи в таблице разделов и соответственно четыре
раздела. ОС MS-DOS использует только два из них, остальные резервируются на
случай параллельного использования других операционных систем.
Благодаря наличию такой структуры как MBR на одном физическом жестком
носителе может располагаться несколько файловых систем различного типа
различных операционных систем.
Структуры MBR представляют собой важнейшую информацию, повреждение которой
приводит к частичной или полной потере доступа к данным логических
устройств жесткого диска и возможно, к невозможности загрузки операционной
системы с поврежденного носителя.
Логические разделы тоже имеют некоторую иерархическую структуру в
зависимости от типа и вида ОС и ее файловой системы.
Так, первый раздел жесткого диска в MS-DOS называется главным разделом
(Primary Partition), а второй расширенным (Extended Partition). Главный
раздел всегда должен присутствовать на диске, с него происходит загрузка MS-
DOS. Расширенного же раздела может не быть, он создается лишь в том случае,
когда необходимо получить более одного логического устройства на физическом
диске. Логический раздел размещает в себе такие структуры файловой системы
как логические диски или устройства, или тома (оформленные как подразделы),
загрузчик операционной системы, таблицы распределения файлов, области
пользовательских данных в которых размещаются записи о каталогах и файлах и
данные файлов. По своей структуре логические подразделы или диски схожи с
разделами. Основным отличием является то, что их число может быть более
четырех, а последний элемент каждого показывает является ли он последним
логическим подразделом раздела, или указывает на следующий элемент таблицы
логических устройств или подразделов. Таблица подразделов строится только
на расширенной таблице разделов, каждый ее элемент соответствует
логическому устройству с односимвольным именем D:, E: и т.д.. Главная
таблица разделов содержит только одно логическое устройство – диск С:.
Таблица подразделов создается при создании расширенной таблицы разделов, а
число элементов таблицы подразделов определяется пользователем. При
определении числа логических устройств пользователь определяет и долю
дискового пространства расширенного раздела, отводимую каждому логическому
устройству – задает объем логических дисков. В дальнейшем, число и объем
логических устройств не может быть изменено без потери данных,
расположенных на перераспределяемых логических устройствах. На основе
разделов в MS-DOS и Windows 95 ориентированных ОС создается дальнейшая
структура. Так в таких системах основной единицей хранения информации
является кластер (cluster) - группа секторов. В таком случае, для
распределения минимального дискового пространства в один байт выделяется
целый кластер, содержащий много секторов и еще больше байт (килобайты), что
приводит к нерациональному использованию пространства ЖД для мелких файлов.
Для доступа к каждому кластеру создается таблица соответствия номеров
кластеров файлам на логическом разделе - таблица распределения файлов (File
Allocation Table - FAT). Поэтому, файловые систем такого типа называют типа
FAT, или построенные по принципу FAT. Это не самый оптимальный, но довольно
быстрый способ организации информации на разделах, поэтому он "дожил" до
наших дней с незапамятных времен зори цивилизации ПК, где использовался
исключительно для накопителей на гибких магнитных дисков. Все остальные
логические структуры - файлы или каталоги связаны локализацией с FAT.
Для других ОС, например, UNIX - использование разделов происходит иначе.
Как правило, их может быть более четырех, все они равноправны и одинаково
могут быть загрузочными, содержат собственные файловые системы на основе i-
узлов. Такие файловые системы являются теговыми и не имеют таблиц
распределения порций информации. Дисковое пространство распределяется
посекторно, что дает максимально возможное использование пространства
раздела, но несколько снижает производительность. Весь раздел разбивается
на иерархически связанную цепочку узлов разного уровня, которым
соответствует некоторое количество секторов. На основе узлов строится
понятие файлов и каталогов, и в таких системах файлы и каталоги
действительно не различаются, т.к. каталог является файлом, содержащим
структуру узлов. Один раздел отводится для дискового свопа и имеет
упрощенную структуру, т.к. никогда не содержит файлов и каталогов.
Существуют и другие принципы организации логической структуры дискового
пространства разделов накопителей на ЖД.
Все разделы могут содержать загрузчик операционной системы, который
располагается, как правило, в первом секторе и занимает один сектор. В этом
секторе располагаются структуры - записи, имеющие отношение лишь к
конкретной операционной системе и следовательно они могут отличаться для
разных разделов и версий операционных систем. Многие специализированные
программы (например, защиты данных, по борьбе и профилактике вирусов и др.)
могут изменять структуру или отдельные части загрузчика операционных
систем. Загрузчик большинства персональных однопользовательских
операционных систем является объектом заражения вирусами, которые заражают
загрузочные сектора жестких дисков.
Физическое и логическое подключение жестких дисков
Какие же необходимо подключить разъемы и установить перемычки и другие
операции при физической установке накопителя на жестких дисках? Это -
интерфейсный шлейф, кабель питания, перемычки выбора статуса логического
устройства и, возможно, индикатор состояния устройства (обращения к
устройству), а также программное распознавание процедурой BIOS компьютера.
Интерфейсный шлейф. Как правило, интерфейсный шлейф соответствующего
интерфейса (ATA или SCSI) входит в состав поставки материнской платы (если
на ней интегрирован интерфейсный адаптер) или в состав отдельного адаптера
и представляет собой плоский одинарный или двойной шлейф. Многие шлейфы
комплектуются двумя разъемами для подключения двух устройств, что может
быть полезно при добавлении еще одного накопителя в будущем. Один из
концевых разъемов на шлейфе подсоединяется к разъему контроллера на плате
(материнской или внешнего контроллера, подключаемого к шине материнской
платы как устройство расширения через слот расширения шины PCI, ISA или
VLB), а два других предназначены для накопителей. Как и на всех других
шлейфах, первый проводник на IDE-кабеле помечен красным цветом. Его следует
подключать к первому контакту разъемов на плате и на самом накопителе,
которые хорошими производителями помечаются цифрой "1". Как правило, первый
контакт интерфейсного кабеля на плате накопителя приходится на ту сторону
разъема, что ближе к разъему питания. Если интерфейсный шлейф подсоединить
неправильно, то, обычно, BIOS накопителя и интерфейса не могут стартовать и
зависают на начальной стадии тестирования дисковой системы, при этом ПК не
грузится и не отрабатывает процедура "Post". Шлейфы интерфейсов ATA и SCSI
подключаются аналогично, хотя многие SCSI контроллеры подключаются не
одним, а двумя шлейфами.
Кабель питания подключается аналогично на всех устройствах посредством 4-х
контактного стандартного разъема и четырехпроводного кабеля. Питание
практически невозможно подключить неправильно, т.к. разъем
|