logo
Материалы по интерфейсам периферий / Для Скрипко / Для пособия ПУ (Восстановлен) (2)

Кодирование с ограничением длины поля записи (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) и достоверности (надежности) их воспроизведения. При этом соотношение размеров зон смены знака и участков с постоянной намагниченностью оставалось тем же, что и при методе MFM. Однако для накопителей очень большой емкости метод RLL 2,7 оказался недостаточно надежным. В большинстве современных жестких дисков высокой емкости используется метод RLL 1,7, который позволяет увеличить плотность записи в 1,27 раза по сравнению с MFM при оптимальном соотношении между размерами зон смены знака и участков с постоянной намагниченностью. За счет некоторого снижения плотности записи (по сравнению с RLL 2,7) удалось существенно повысить надежность считывания данных. Это особенно важно, поскольку в накопителях большой емкости носители и головки уже приближаются к пределу возможностей современной технологии. И так как при разработке современных жестких дисков приоритет принадлежит надежности считывания данных, можно ожидать, что в ближайшем будущем метод RLL 1,7 достигнет наибольшего распространения.

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

Понять сущность RLL-кодирования без наглядных примеров довольно сложно, поэтому рассмотрим метод RLL 2,7, так как именно он чаще всего используется. Даже для этого конкретного варианта можно построить множество (тысячи!) таблиц перекодировки различных последовательностей битов в серии зон смены знака. Остановимся на таблице, которая использовалась фирмой IBM при создании кодеров/декодеров.

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

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

В табл. 9.2 приведена схема кодирования по методу RLL 2,7, разработанная фирмой IBM.

Таблица 9.2. Последовательность зон смены знака при записи по методу RLL 2,7

Бит данных

Последовательность зон смены знака

10

NTNN*

11

TNNN

000

NNNTNN

010

TNNTNN

011

NNTNNN

0010

NNTNNTNN

0011

NNNNTNNN

* T смена знака есть; N смены знака нет.

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