Принципы работы
Магнитные дисковые накопители (логическое устройство и принципы работы)
Принцип работы магнитных запоминающих устройств основаны на способах хранения информации с использованием магнитных свойств материалов. Как правило, магнитные запоминающие устройства состоят из собственно устройств чтения/записи информации и магнитного носителя, на который, непосредственно, осуществляется запись и с которого считывается информация. Магнитные запоминающие устройства принято делить на виды в связи с исполнением, физико-техническими характеристиками носителя информации и т.д. Наиболее часто различают: дисковые и ленточные устройства. Общая технология магнитных запоминающих устройств состоит в намагничивании переменным магнитным полем участков носителя и считывания информации, закодированной как области переменной намагниченности. Дисковые носители, как правило, намагничиваются вдоль концентрических полей – дорожек, расположенных по всей плоскости дискоидального вращающегося носителя. Запись производится в цифровом коде. Намагничивание достигается за счет создания переменного магнитного поля при помощи головок чтения/записи. Головки представляют собой два или более магнитных управляемых контура с сердечниками, на обмотки которых подается переменное напряжение. Изменение полярности напряжения вызывает изменение направления линий магнитной индукции магнитного поля и, при намагничивании носителя, означает смену значения бита информации с 1 на 0 или с 0 на 1.
Дисковые устройства делят на гибкие (Floppy Disk) и жесткие (Hard Disk) накопители и носители. Основным свойством дисковых магнитных устройств является запись информации на носитель на концентрические замкнутые дорожки с использованием физического и логического цифрового кодирования информации. Плоский дисковый носитель вращается в процессе чтения/записи, чем и обеспечивается обслуживание всей концентрической дорожки, чтение и запись осуществляется при помощи магнитных головок чтения/записи, которые позиционируют по радиусу носителя с одной дорожки на другую. Дисковые устройства, как правило, используют метод записи называемый методом без возвращения к нулю с инверсией (Not Return Zero – NRZ). Запись по методу NRZ осуществляется путем изменения направления тока подмагничивания в обмотках головок чтения/записи, вызывающее обратное изменение полярности намагниченности сердечников магнитных головок и соответственно попеременное намагничивание участков носителя вдоль концентрических дорожек с течением времени и продвижением по окружности носителя. При этом, совершенно неважно, происходит ли перемена магнитного потока от положительного направления к отрицательному или обратно, важен только сам факт перемены полярности.
Для записи информации, как правило, используют различные методы кодирования информации, но все они предполагают использование в качестве информационного источника не само направление линий магнитной индукции элементарной намагниченной точки носителя, а изменение направления индукции в процессе продвижения по носителю вдоль концентрической дорожки с течением времени. Такой принцип требует жесткой синхронизации потока бит, что и достигается методами кодирования. Методы кодирования данных не влияют на перемены направления потока, а лишь задают последовательность их распределения во времени (способ синхронизации потока данных), так, чтобы, при считывании, эта последовательность могла быть преобразована к исходным данным.
Жесткие диски (винчестеры), физическое устройство
Накопители на жестких дисках объединяют в одном корпусе носитель (носители) и устройство чтения/записи, а также, нередко, и интерфейсную часть, называемую собственно контроллером жесткого диска. Типичной конструкцией жесткого диска является исполнение в виде одного устройства - камеры, внутри которой находится один или более дисковых носителей насаженных на один шпиндель и блок головок чтения/записи с их общим приводящим механизмом. Обычно, рядом с камерой носителей и головок располагаются схемы управления головками, дисками и, часто, интерфейсная часть и/или контроллер. На интерфейсной карте устройства располагается собственно интерфейс дискового устройства, а контроллер с его интерфейсом располагается на самом устройстве. С интерфейсным адаптером схемы накопителя соединяются при помощи комплекта шлейфов.
Информация заносится на концентрические дорожки, равномерно распределенные по всему носителю. В случае большего, чем один диск, числа носителей все дорожки, находящиеся одна под другой, называются цилиндром. Операции чтения/записи производятся подряд над всеми дорожками цилиндра, после чего головки перемещаются на новую позицию.
Герметичная камера предохраняет носители не только от проникновения механических частиц пыли, но и от воздействия электромагнитных полей. Необходимо заметить, что камера не является абсолютно герметичной т.к. соединяется с окружающей атмосферой при помощи специального фильтра, уравнивающего давление внутри и снаружи камеры. Однако, воздух внутри камеры максимально очищен от пыли, т.к. малейшие частички могут привести к порче магнитного покрытия дисков и потере данных и работоспособности устройства.
Диски вращаются постоянно, а скорость вращения носителей довольно высокая (от 4500 до 10000 об/мин), что обеспечивает высокую скорость чтения/записи. По величине диаметра носителя чаще других производятся 5.25, 3.14, 2.3 дюймовые диски. На диаметр носителей несменных жестких дисков не накладывается никакого ограничения со стороны совместимости и переносимости носителя, за исключением форм-факторов корпуса ПК, поэтому, производители выбирают его согласно собственным соображениям.
В настоящее время, для позиционирования головок чтения/записи, наиболее часто, применяются шаговые и линейные двигатели механизмов позиционирования и механизмы перемещения головок в целом.
В системах с шаговым механизмом и двигателем головки перемещаются на определенную величину, соответствующую расстоянию между дорожками. Дискретность шагов зависит либо от характеристик шагового двигателя, либо задается серво-метками на диске, которые могут иметь магнитную или оптическую природу. Для считывания магнитных меток используется дополнительная серво-головка, а для считывания оптических - специальные оптические датчики.
В системах с линейным приводом головки перемещаются электромагнитом, а для определения необходимого положения служат специальные сервисные сигналы, записанные на носитель при его производстве и считываемые при позиционировании головок. Во многих устройствах для серво-сигналов используется целая поверхность и специальная головка или оптический датчик. Такой способ организации серво-данных носит название выделенная запись серво-сигналов. Если серво-сигналы записываются на те же дорожки, что и данные и для них выделяется специальный серво-сектор, а чтение производится теми же головками, что и чтение данных, то такой механизм называется встроенная запись серво-сигналов. Выделенная запись обеспечивает более высокое быстродействие, а встроенная - повышает емкость устройства.
Линейные приводы перемещают головки значительно быстрее, чем шаговые, кроме того, они позволяют производить небольшие радиальные перемещения "внутри" дорожки, давая возможность отследить центр окружности серводорожки. Этим достигается положение головки, наилучшее для считывания с каждой дорожки, что значительно повышает достоверность считываемых данных и исключает необходимость временных затрат на процедуры коррекции. Как правило, все устройства с линейным приводом имеют автоматический механизм парковки головок чтения/записи при отключении питания устройства.
Парковкой головок называют процесс их перемещения в безопасное положение. Это - так называемое "парковочное" положение головок в той области дисков, где ложатся головки. Там, обычно, не записано никакой информации, кроме серво-данных, это специальная "посадочная зона" (Landing Zone). Для фиксации привода головок в этом положении в большинстве ЖД используется маленький постоянный магнит, когда головки принимают парковочное положение - этот магнит соприкасается с основанием корпуса и удерживает позиционер головок от ненужных колебаний. При запуске накопителя схема управления линейным двигателем "отрывает" фиксатор, подавая на двигатель, позиционирующий головки, усиленный импульс тока. В ряде накопителей используются и другие способы фиксации - основанные, например, на воздушном потоке, создаваемом вращением дисков. В запаркованном состоянии накопитель можно транспортировать при достаточно плохих физических условиях (вибрация, удары, сотрясения), т.к. нет опасности повреждения поверхности носителя головками. В настоящее время на всех современных устройствах парковка головок накопителей производится автоматически внутренними схемами контроллера при отключении питания и не требует для этого никаких дополнительных программных операций, как это было с первыми моделями.
Во время работы все механические части накопителя подвергаются тепловому расширению, и расстояния между дорожками, осями шпинделя и позиционером головок чтения/записи меняется. В общем случае это никак не влияет на работу накопителя, поскольку для стабилизации используются обратные связи, однако некоторые модели время от времени выполняют рекалибровку привода головок, сопровождаемую характерным звуком, напоминающим звук при первичном старте, подстраивая систему к изменившимся расстояниям.
Плата электроники современного накопителя на жестких магнитных дисках представляет собой самостоятельный микрокомпьютер с собственным процессором, памятью, устройствами ввода/вывода и прочими традиционными атрибутами присущими компьютеру. На плате могут располагаться множество переключателей и перемычек, однако не все из них предназначены для использования пользователем. Как правило, руководства пользователя описывают назначение только перемычек, связанных с выбором логического адреса устройства и режима его работы, а для накопителей с интерфейсом SCSI - и перемычки, отвечающие за управление резисторной сборкой (стабилизирующей нагрузкой в цепи).
Контроллеры жестких дисков
Собственно контроллер накопителя физически расположен на плате электроники и предназначен для обеспечения операций преобразования и пересылке информации от головок чтения/записи к интерфейсу накопителя. Часто, контроллером называют интерфейс накопителя или интерфейс ПК с накопителем, что в общем не верно. Контроллер жестких дисков представляет собой сложнейшее устройство - микрокомпьютер, со своим процессором, ОЗУ и ПЗУ, схемами и системой ввода/вывода и т.п. Однако, в большинстве случаев, производители размещают их в одном или двух микрочипах.
Контроллер занимается множеством операций преобразования потока данных. Так как длинна дорожек неравна, данные на различные дорожки необходимо записывать неравномерно. Это становится проблемой, по сравнению с гибкими дисками, для носителей с высокой плотностью записи (число дорожек более 1000). Простые контроллеры, как правило, записывают одно и тоже количество информации на каждую дорожку, независимо от ее длинны. Для этого контроллер упаковывает данные более плотно, начиная с определенной по счету дорожки. Цилиндр, с которого начинается более плотная упаковка данных, называется цилиндром начальной прекомпенсации (Starting Cylinder for Precompensation - SCP). Для компенсации искажения информации при чтении, запись данных производится с предварительным смещением битов, которое учитывает искажения.
Многие производители создают устройства, которые записывают различный объем информации на внутренние и внешние дорожки за счет размещения на них разного числа секторов. Это возможно, благодаря аппаратному скрытию от программ и пользователя физических характеристик устройства на уровне его контроллера и/или интерфейса (устройства с IDE, EIDE и SCSI интерфейсами). Поэтому, накопители, как правило, имеют различное физическое и логическое число цилиндров.
Также, в силу исторических причин, многие операционные системы, работающие с накопителями на ЖМД через BIOS, разработаны таким образом, что не могут оперировать числом цилиндров более 1024. Поскольку в настоящее время, накопители больших объемов (более 1Мб) имеют более 1024 физических цилиндра, то применяется программный пересчет, при котором, накопитель определяется его контроллером и процедурами BIOS как имеющий не более 1024 цилиндра, но имеющий некоторое нереальное число головок, поверхностей и секторов. Функция же пересчета для отыскания нужного сектора ложится либо на BIOS ПК, либо на BIOS контроллера, либо на интерфейс.
Данные, записываемые в сектора, защищаются от некоторых ошибок чтения/записи при помощи расчета и записи вместе с ними контрольной суммы - кода контроля ошибок (Error Correction Code - ECC). Записывая байты на диск, адаптер производит накопление циклическим делением входных данных на специальный полином, остатка от деления, который представляет уникальную комбинацию бит и записывается контроллером вместе с данными. Число байт ECC для каждого устройства определяется видом используемого полинома. При считывании данных производится аналогичное накопление и расчет контрольной суммы. В случае несовпадения результатов рассчитываемого и хранимого с данными ECC, производится попытка восстановления - коррекции данных при помощи полинома, имеющихся данных и контрольной суммы. Число байт данных, которое может быть скорректировано, определяется порядком используемого полинома. Чем она выше, тем большее количество байт подряд может быть скорректировано, но тем длиннее и сам код ECC. Используются разные полиномы, и число байт ECC может быть от 4 до 8 и более. Число же бит информации, требуемое для записи одного байта, зависит от используемого метода кодирования. Необходимо отметить, что восстановление данных при помощи полинома и кода ECC происходит на уровне контроллера и прозрачно для программ и пользователя, однако, на основе процедур BIOS программным путем можно получить информацию о том, была ли произведена процедура коррекции.
Большинство современных накопителей поддерживают режимы работы контроллеров Ultra DMA, DMA2, и PIO. DMA - Direct Memory Access - прямой доступ к памяти - режим взаимодействия контроллера накопителя и интерфейса ПК, при котором обмен данными по интерфейсу осуществляется без участия центрального процессора ПК. Режим DMA позволяет заметно разгрузить процессор по сравнению с режимом PIO (Programmed Input/Output - программный ввод/вывод), при котором все пересылки выполняет непосредственно центральный процессор ПК. Это достигается за счет использования специального контроллера и канала прямого доступа к оперативной памяти ПК, без участи центрального процессора. Все современные накопители могут работать в режиме DMA2, если это поддерживается операционной системой, а скорость обмена при этом может достигать, в зависимости от модели, 16.6 Мб/с. А накопители и системы с поддержкой режима Ultra DMA, при использовании соответствующего драйвера, могут передавать и принимать информацию со скоростью 33.3 Мб/с. Однако, это лишь предельно возможные скорости обмена данными контроллера с буфером накопителя. Реальная же скорость чтения/записи даже в лучших моделях с интерфейсом ATA в настоящее время не превышает 10-11 Мб/с. Основная нагрузка при работе ложится именно на чтение/запись, передача данных в буфер и из буфера занимает лишь малую часть этого времени, и сам факт перехода на Ultra DMA, как правило, дает прирост лишь в единицы процентов. Но накопители с Ultra DMA, обычно, имеют высокую скорость вращения шпинделя, а, следовательно - и более высокую скорость чтения/записи.