Как уже говорилось, информация на поверхностях накопителя хранится в виде последовательности мест с переменной намагниченностью, обеспечивающих непрерывный поток данных при считывании их при помощи последовательного чтения. Вся информация и места ее хранения делятся на служебную и пользовательскую информацию. Служебная и пользовательская информация хранится в областях дорожек называемых секторами. Каждый сектор содержит область пользовательских данных - место, куда можно записать информацию, доступную в последующем для чтения и зону серво-данных, записываемых один раз при физическом форматировании и однозначно идентифицирующих сектор и его параметры (используется или нет, физический адрес сектора, ЕСС код и т.п.). Вся серво-информация не доступна обычным процедурам чтения/записи и носит абсолютно уникальный характер в зависимости от модели и производителя накопителя.
В отличие от дискет и старых накопителей на ЖД, диски современных накопителей проходят первичную, или низкоуровневую, разметку (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. Выпускаются также устройства с аппаратной компрессией данных на уровне интерфейса или контроллера в которых используется простое арифметическое сжатие информации перед записью и после считывания.
Назад | Содержание | Вперед