MFM-кодирование
Для улучшения этой статьи желательно?:
|
MFM-коди́рование (англ. Modified Frequency Modulation) в схема кодирования информации, которая используется в большинстве форматов гибких дисков. Раньше MFM-кодирование использовалось также и в винчестерах.
MFM-кодирование является модификацией частотной модуляции (англ. frequency modulation, FM), и поскольку MFM в два раза поднимало объем записываемой информации, такие гибкие диски назывались «double density». MFM-кодирование до сих пор используется в дисководах на магнитных дисках. Для жестких дисков вскоре был изобретен более эффективный метод кодирования информации RLL (Run length limited).
В случае с гибкими дисками новые методы уже не использовались в силу отсутствия необходимости в переносе больших паллетных объемов данных на гибких дисках (это было бы недостаточно надежно). Кроме того, в случае с гибкими дисками требуется совместимость новых стандартов кодирования и старых: любой современный дисковод может читать как FM-, так и MFM-кодированные диски, в то время как принцип RLL-кодирования принципиально отличается от двух предыдущих.
[править] Кодирование
При MFM-кодировании изменение тока записи происходит в середине интервала (такта), если передаваемый бит равен 1, и на границе интервала, если оба соседних бита равны 0. Направление переключения тока не имеет значения.
| Данные | в 0 0 в | в 0 1 в | в 1 0 в | в 1 1 в |
|---|---|---|---|---|
| Тактовые биты | в? 1 ?в | в? 0 0в | в0 0 ?в | в0 0 0в |
| MFM-код | в?010?в | в?0010в | в0100?в | в01010в |
Заметим, что тактовые биты, идущие до и после последовательности, иногда известны, а иногда требуют знания дополнительных бит данных. Более длинный пример (полужирным выделены биты данных, остальные в тактовые):
Данные: 0 0 0 1 1 0 1 1 Тактовые: ? 1 1 0 0 0 0 0 0 Код: ?0101001010001010
С целью синхронизации контроллера при считывании данных в начале блока данных записывается специальный маркер, представляющий собой шестнадцатеричный байт A1 (10100001) с пропущенным переключением тока между пятым и шестым битами; полученная таким образом последовательность переключений тока никогда не встречается в потоке обычных записываемых данных.