Способы кодирования данных
Данные на магнитном носителе хранятся в аналоговой форме. В то же время сами данные представлены в цифровом виде, так как они являются последовательностью нулей и единиц. При выполнении записи цифровая информация, поступая на магнитную головку, создает на диске магнитные домены соответствующей полярности. Если во время записи на головку поступает положительный сигнал, магнитные домены поляризуются в одном направлении, а если отрицательный — в противоположном направлении. Когда меняется полярность записываемого сигнала, происходит также изменение полярности магнитных доменов.
Если во время воспроизведения головка регистрирует группу магнитных доменов одинаковой полярности, она не генерирует никаких сигналов; генерация сигнала происходит только тогда, когда головка обнаруживает изменение полярности. Эти моменты изменения полярности называются сменой знака. Каждая смена знака приводит к тому, что считывающая головка выдает импульс напряжения; именно эти импульсы устройство регистрирует во время чтения данных. Но при этом считывающая головка генерирует не совсем тот сигнал, который был записан; на самом деле она создает ряд импульсов, каждый из которых соответствует моменту смены знака.
Чтобы оптимальным образом расположить импульсы в сигнале записи, необработанные исходные данные пропускаются через специальное устройство, которое называется кодером/декодером (encoder/decoder). Это устройство преобразует двоичные данные в электрические сигналы, оптимизированные с точки зрения размещения зон смены знака на дорожке записи. Во время считывания кодер/декодер выполняет обратное преобразование: восстанавливает из сигнала последовательность двоичных данных. За прошедшие годы было разработано несколько методов кодирования данных, и главной целью их разработчиков было достижение максимальной эффективности и надежности записи и считывания информации.
При работе с цифровыми данными особое значение приобретает синхронизация Во время считывания или записи очень важно точно определить момент каждой смены знака Если синхронизация отсутствует, то момент смены знака может быть определен неправильно, в результате чего неизбежна потеря или искажение информации. Чтобы предотвратить это, работа передающего и принимающего устройств должна быть строго синхронизирована Существует два пути решения данной проблемы. Во-первых, синхронизировать работу двух устройств, передавая специальный сигнал синхронизации (или синхросигнал) по отдельному каналу связи. Во-вторых, объединить синхросигнал с сигналом данных и передать их вместе по одному каналу. Именно в этом и заключается суть большинства способов кодирования данных
Если данные и синхросигнал передаются по одному каналу, то можно осуществить их взаимную временную привязку при передаче между любыми двумя устройствами Простейший способ сделать это — перед передачей ячейки данных послать синхронизирующий сигнал. Применительно к магнитным носителям это означает, что, например, ячейка, содержащая один бит информации, должна начинаться с зоны смены знака, которая выполняет роль заголовка. Затем следует (или не следует) переход, в зависимости от значения бита данных. Заканчивается рассматриваемая ячейка еще одной зоной смены знака, которая одновременно является стартовой для следующей ячейки. Преимуществом этого метода является то, что синхронизация не нарушается даже при воспроизведении длинных цепочек нулей (или единиц), а недостатком — то, что дополнительные зоны смены знака, которые нужны только для синхронизации, занимают место на диске, которое могло бы использоваться для записи данных.
Поскольку количество зон смены знака, которые можно записать на диске, ограничено возможностями технологий производства носителей и головок, инженеры при разработке дисковых накопителей стараются изобрести такие способы кодирования данных, с помощью которых можно было бы "втиснуть" как можно больше битов данных в минимальное количество зон смены знака. При этом приходится учитывать то неизбежное обстоятельство, что часть из них все равно будет использоваться только для синхронизации