Содержание

 

Способы кодирования данных.


   Частотная модуляция(FМ).

   Способ кодирования FM (Frequency Modulation — частотная модуляция) был разработан одним из первых и использовался при записи на гибкие диски так называемой одинарной плотности (single density) в первых ПК. Емкость таких односторонних дискет составляла всего 80 Кбайт. В 70-е годы запись по методу частотной модуляции использовалась во многих устройствах, но сейчас от него полностью отказались.


   Модифицированная частотная модуляция (MFM).

   Основной целью разработчиков метода MFM (Modified Frequency Modulation— модифицированная частотная модуляция) было сокращение количества зон смены знака для записи того же объема данных, по сравнению с FM-кодированием, и, соответственно, увеличение потенциальной емкости носителя. При этом способе записи количество зон смены знака, используемых только для синхронизации, уменьшается. Синхронизирующие переходы записываются только в начало ячеек с нулевым битом данных, и только в том случае, если ему предшествует нулевой бит. Во всех остальных случаях синхронизирующая зона смены знака не формируется. Благодаря такому уменьшению количества зон смены знака при той же допустимой плотности их размещения на диске, информационная емкость, по сравнению с записью по методу FM, удваивается. По этой причине диски, записанные по методу MFM, часто называют дисками двойной плотности (double density). Поскольку при рассматриваемом способе записи на одно и то же количество зон смены знака приходится вдвое больше "полезных" данных, чем при FM-кодировании, скорость считывания и записи информации на носитель также удваивается. При записи и воспроизведении данных по методу MFM требования, предъявляемые к точности синхронизации, являются более жесткими, чем при FM-кодировании. Однако все сложности были успешно преодолены, и метод MFM был самым популярным способом кодирования в течение долгих лет.


   Кодирование с ограничением длины поля записи (RLL).

   Кодирование с ограничением длины поля записи (Run Length Limited— RLL)— это самый популярный на сегодняшний день способ кодирования. Он позволяет разместить на диске в полтора раза больше информации, чем при записи по методу MFM, и в три раза больше, чем при FM-кодировании. При использовании этого метода происходит кодирование не отдельных битов, а целых групп, в результате чего создаются определенные последовательности зон смены знака. Метод RLL был разработан фирмой IBM и сначала использовался в дисковых накопителях больших машин. В конце 80-х годов его стали использовать в накопителях на жестких дисках, а сегодня он применяется почти во всех ПК. Как уже было сказано, при записи по методу RLL одновременно кодируются целые группы битов. Термин Run Length Limited (с ограничением длины пробега) составлен из названий двух основных параметров, которыми являются минимальное число (длина пробега) и максимальное число (предел пробега) ячеек перехода, которые можно расположить между двумя зонами смены знака. Изменяя эти параметры, можно получать различные способы кодирования, но на практике используются только два из них: RLL 2,7 и RLL 1,7.

   Методы FM и MFM, в сущности, являются частными вариантами RLL. Так, например, FM-кодирование можно было бы назвать RLL 0,1, поскольку между двумя зонами смены знака может располагаться максимум одна ячейка перехода и минимум - нуль ячеек. Соответственно, метод MFM в этой терминологии можно было бы обозначить RLL 1,3, так как в этом случае между двумя зонами смены знака может располагаться от одной до трех ячеек перехода. Однако при упоминании этих методов обычно используются более привычные названия FM и MFM.

   До последнего времени самым популярным был метод RLL 2,7, поскольку он позволял достичь высокой плотности записи данных (в 1,5 раза больше по сравнению с методом MFM) и достоверности (надежности) их воспроизведения. Однако для накопителей очень большой емкости метод RLL 2,7 оказался недостаточно надежным. В большинстве современных жестких дисков высокой емкости используется метод RLL 1,7, позволяющий увеличить плотность записи. Еще один редко используемый вариант RLL — метод RLL 3,9. Иногда его называют усовершенствованным RLL, или ARRL (Advanced RLL). С его помощью можно достичь еще большей плотности записи данных, но надежность ARRL-кодирования очень невысока; его пытались использовать в некоторых контроллерах, но их выпуск был вскоре прекращен.

   Понять сущность RLL-кодирования без наглядных примеров довольно сложно, поэтому рассмотрим метод RLL 2,7, так как именно он чаще всего используется в контроллерах. Группы данных длиной 2, 3 и 4 бит преобразуются в серии зон смены знака длиной 4, 6 и 8 битовых ячеек соответственно. При этом кодирование последовательностей битов происходит так, чтобы расстояние между зонами смены знаков было как можно меньшим.

   Первое ограничение вызвано тем, что величины разрешений головки и магнитного носителя, как правило, являются фиксированными. Второе ограничение необходимо для того, чтобы обеспечить синхронизацию устройств.
Примеры:
10 - NTNN
11 – TNNN
000 – NNNTNN
010 – TNNTNN
011 – NNTNNN
0010 – NNTNNTNN
0011 – NNNNTNNN
T – смена знака есть; N – смены знака нет.

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

 
Содержание