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