Чтение дисков со смещёнными дорожками. Термин, применимый в таких случаях, - "poor align" для дисков в целом и "offset track" для отдельных треков.
Обычно в контексте дорожек (треков) на ГМД обсуждают форматы записи, количество и размеры секторов, служебные поля и т.д. А вот о топологии этих дорожек на поверхности диска почти никогда не говорят. Мы в этом тексте, наоборот, совсем не будем касаться содержимого дорожек, а поговорим об их топологии, то есть, об их "географическом" расположении на поверхности диска.
Казалось бы, всё просто, дорожки будут там, где их создаст дисковод при форматировании. Это да, но где именно он это сделает? Буквально: какое расстояние от центра диска (радиус) должно быть у каждой дорожки?
Есть международный стандарт, призванный обеспечивать координатную совместимость на уровне головка↔дорожка между дисководами и дискетами разных производителей. Например, любой дисковод 5¼″, произведённый на планете Земля (кроме экзотических), должен позиционировать магнитную головку в строго отведённых местах, в соответствии с приведённой ниже таблицей. Движение головкой при этом осуществляется ступенчато, из расчёта 48 или 96 равномерных шагов на дюйм.
| 5¼″ | 96 tpi | 48 tpi | |
|---|---|---|---|
| Радиус внешней дорожки от центра шпинделя | Верхняя головка (если есть) | 2.1667″ | |
| Нижняя головка (единственная) | 2.2500″ | ||
| Ширина дорожки | 0.006″ | 0.012″ | |
| Размер шага | 0.0104″ | 0.0208″ | |
Таким образом, при форматировании образуются дорожки в виде концентрических колец вокруг центра (диск же вращается). За каждой дорожкой, получается, закреплено фиксированное место с точным радиусом. Между дорожками образуются промежутки - тоже в виде концентрических колец. Эти области остаются свободными, у головки дисковода (по стандарту) нет к ним физического доступа.
А теперь представим, что диск по какой-то причине оказался отформатирован с отклонением от стандарта. Причём величина смещения такова, что дорожки расположились там, где должны были быть промежутки, и наоборот! На качество хранения информации это никак не повлияет. Но "нормальным" дисководом прочитать такой диск будет невозможно. Дисковод будет "шагать" мимо фактических дорожек, не захватывая информацию с них.
Тут важно понимать: диску вообще-то всё равно, с какими координатами на нём создадут дорожки и будет ли это осуществлено по какому-либо стандарту или без него. Поверхность диска - это всего лишь сплошной однородный магнитный слой: универсальное поле, позволяющее равноценно использовать любую координату своей поверхности. Да и процесс формирования дорожек - это всего лишь смена порядка (намагничивания) магнитных частиц там, где во время форматирования прошла головка.
Очевидно, что для успешного чтения таких нестандартно записанных дисков нужно как-то совместить положение головки дисковода с фактическим расположением смещённой дорожки на нём (на диске).
К сожалению, у любых НГМД с интерфейсом 34pin нет возможности наводить головку на любую координату поверхности диска, например, как это реализовано для CD/DVD. Интерфейс обычного дисковода допускает только понятие "STEP" и перемещает каретку кратно стандартизированному шагу. Отсюда - фиксированные места позиционирования магнитной головки и зоны чтения под ней. И никаких "вольностей" дисковод себе позволить не может чисто конструктивно, кто бы им не управлял.
С давних времён известен способ, ставший классическим: механически (то есть, руками и отвёрткой) смещать юстировку головки под конкретный нестандартно записанный диск. Не всякий дисковод, конечно, позволит с собой такое проделать. Да и процесс этот требует элементов творчества, одновременно являясь довольно нудным. Кроме того, после таких выкрутас дисковод перестанет читать нормальные диски, и вам неизбежно придётся возвращать стандартную юстировку на место.
Рассмотрим подробнее различные варианты смещений и примерим на них этот классический способ решения проблемы. А потом перейдём к современным способам решения проблемы.
(A) На рисунке-1 показаны доступные для дисковода зоны чтения (то есть, куда он физически способен поставить магнитную головку) и дорожки "правильного" диска. Точное совпадение.
(B) Диски, записанные на "травмированном" дисководе. Ситуация: дисковод упал (да, буквально: на пол!) и теперь не читает никакие диски, кроме тех, что сам записал. Как говорят в таких случаях, у дисковода "сбилась головка" или "нарушилась заводская юстировка". Очевидно, что дискеты, записанные на подобном "сбитом" дисководе, тоже будут получаться так сказать "сбитые". На рисунке-2 условно изображена суть проблемы.
Диск с небольшим смещением треков к внешней стороне диска. Чтение будет неуверенное, со значительным количеством ошибок.
Следующий рисунок-3 иллюстрирует более значимое смещение, но уже в сторону центра диска. Здесь кроме шумов навряд ли что-то удастся получить.
Видно, что в обоих случаях дорожки равномерно смещены в сторону. То есть, ширина шага не изменилась. На дисководе, который это записывал, смещено начальное положение головки или каретки.
При механической корректировке дисковода под такие диски достаточно добиться устойчивого чтения любой дорожки и тогда все остальные будут читаться стабильно. У двухсторонних дисководов встречается не только общее смещение, но и смещение одной головки относительно другой.
(C) Диски, записанные с нестандартным шагом головки. Такая топология встречается редко. Например, "Micropolis 100tpi" и советские "специальные решения для особых назначений". У них с каждым шагом смещение то увеличивается, то уменьшается. Соответственно, результативность чтения отдельных дорожек будет то падать, то подниматься. Иногда происходит полное совпадение головки и дорожки, но номер не будет совпадать с ожидаемым. Далее на диске ситуация будет повторяться.
При чтении такого диска механическую корректировку дисковода придётся сделать несколько раз.
(D) Диск записан с использованием микрошагов. Это самый сложный и часто встречающийся тип смещения дорожек. Такое могут исполнять специализированные дисководы, у которых в интерфейсе есть раздельное управление фазами шагового двигателя. Это некоторые модели Roland, Brother, Apple, Агат и другие. Такие системы умеют делать микрошаги, которые в 4-8 раз чаще, чем полные шаги обычного дисковода. Некоторые из них умеют записывать спиральные дорожки и несколько различных ширин шага на одном диске.
Умеют - это ещё не значит, что обязательно будут так делать. Тема требует более глубокого описания. Предлагаем изучить отдельную статью - Чтение дисков Apple II и ранних АГАТ.
На рисунке показан самый безобидный вариант. В реальности всё может быть значительно изощрённее. Очень похожие диски могут получаться в результате записи на изношенных дисководах с "гуляющими" люфтами.
При механической корректировке дисковода под такие диски, придётся перенастраивать головку практически под каждую дорожку диска! А в некоторых случаях подстраивать по несколько раз на каждую дорожку!
* * *
Как видите, диски со смещёнными дорожками - далеко не редкость. В целом, из практики, их до 20 процентов от всех. Но способ ручной юстировки годится, скорее, только для простых случаев (A). Для сложных случаев (D) он становится неоправданно времязатратным. Приходится ювелирно подбирать настройку много раз при чтении одного диска, а потом сводить результаты чтения в общий файл-образ. А если таких дисков очень много - способ становится неподъёмным.
Но основная проблема кроется даже не в этом. Как распознать диск со смещёнными треками? Хотя бы просто, как отличить нечитаемый диск от диска, действительно утратившего информацию? Если смещение небольшое и при чтении мы получаем шум или мусор - это одно. А если смещение большое и диск "притворяется" пустым? Нам опять придётся много раз руками смещать головку и делать попытки чтения диска. Тут уже без мгновенной визуализации, например, спектрограммы, не обойтись.
Можно немного упростить себе жизнь - для более удобной настройки магнитной головки. Модифицировать соответствующий узел дисковода так, чтобы он стал регулируемым, например, на основе винта с мелкой резьбой и контргайки. Однако способ ручной подстройки головки в любом случае чрезвычайно трудоёмкий и доступен немногим.
Ах да, ещё свои коррективы вносит разница в ширине магнитопровода головки у того дисковода, который записывал диски и того, которым читаем. Иногда это сильно прибавляет проблем, а иногда становится помощником (если хорошо понимать всю "географию" диска). В будущем не исключено добавление дополнительной информации по этой особенности.
Кратко коснёмся варианта использования для чтения именно того дисковода, на котором когда-то диск и был записан. Ведь у него смещение как раз то, что надо. Это может сработать. Но владельцы дисков часто даже не знают, что их диски со смещением треков - у них-то всё прекрасно читалось! :) И, соответственно, бесценный дисковод не хранят. А уж если диск записан на экзотическом дисководе с оригинальным интерфейсом - просто найти такой будет мало, его надо как-то подключить и правильно им управлять, а бюджетные устройства этого не предполагают.
Что могут предложить для решения этой проблемы бюджетные устройства (Greaseweazle, SuperCardPro и т.п.)?
Увы, ровным счётом ничего. Их разработчики в таких случаях рекомендуют всё ту же ручную юстировку головки.
Эти устройства, на самом деле, многое что умеют при получении данных от дисковода. Лишь бы дисковод прежде сам смог захватить данные с поверхности диска. Но этого не происходит с дисками, имеющими смещённые дорожки. Как и было описано выше, обычные дисководы, на работу с которыми рассчитаны бюджетные устройства, не способны поставить головку напротив смещённых дорожек на диске. Значит он не захватит информацию с диска, и, следовательно, не передаст полезные данные в тот же Greaseweazle. Нечего будет обрабатывать или помещать в файл с RAW данными. Увы...
Вы уже догадались, почему владельцы бюджетных устройств частенько считают, что диски со смещёнными дорожками большая редкость? И даже иногда утверждают, что из сотен дисков им не попалось ни одного такого. Вот с периодичным мусором - попадались, со странным шумом - попадались, а со смещёнными дорожками - никогда...
Очень опасное заблуждение! Вот интересно, откуда это на диске взяться куче мусора и шума? И как это видавший виды диск вдруг оказался ни разу в своей жизни не форматированным? Удивительно, но такие очевидные вещи не всегда настораживают.
На самом деле такие диски попадаются постоянно, ведь причин для их существования достаточно. Но люди часто не понимают или не готовы принять, что их аппаратура не способна прочитать или хотя бы просто отличить подобные случаи от чего-либо другого.
Всё это обычно заканчивается "песнями" из популярного репертуара "диск размагнитился". В результате диски, имеющие смещение дорожек, но по-прежнему хранящие всю записанную на них информацию, просто пропадают.
Поймите правильно, мы не собираемся уронить значимость этих замечательных устройств, которые во многом помогают сохранять историю. Мы хотим показать, что в конкретной проблеме они беспомощны и вы должны знать об этом и не пытаться сваливать всё на пресловутое "размагнитились". Не нужно стесняться передавать такие диски более опытным коллегам. Это полезно со всех сторон: вам - для опыта, истории - для сохранения информации.
Так что, безнадёга?
Только механическая юстировка?
А вот как здорово было бы иметь дисковод, который умеет делать шаги в 4, 8 или 16 раз чаще, чем обычный! Тогда можно было бы позиционировать головку на любом мыслимом смещении дорожек от центра диска. Но нам понадобится устройство, которое сможет управлять таким странным дисководом. Кроме того, понадобится специальный софт, который всё это учитывает и умеет находить фактическое положение каждой дорожки, анализируя результаты чтения при передвижении головки. Тогда и опознание смещённых дорожек, и их чтение можно сделать полностью автоматическим.
Это не мечты. Варианты есть, но бюджетные устройства не имеют к таким вариантам никакого отношения. Вы можете посмотреть возможности разработанного нами устройства МОСТ N3.
О возможных способах программной подстройки головки дисковода у нас запланирована отдельная статья. А пока краткое их описание:
1) Подключить экзотический дисковод, где в интерфейсе есть раздельное управление шаговым двигателем. Например, Apple Disk II, желательно поздние варианты с шириной магнитопровода как у 96tpi. Ещё пример - ЕС 5088.02, желательно с головкой от ЕС 5088м2. Получаются шаги в 4-8 раз чаще.
2) Не использовать внутреннюю логику и интерфейс обычного дисковода. То есть, демонтировать плату управления логикой и подключаться напрямую к датчикам и исполнительным механизмам. В том числе, иметь прямой доступ к шаговому двигателю и управлять его фазами раздельно. Получаются шаги в 4-8 раз чаще.
3) Модифицировать механизм связи каретки с шаговым двигателем у обычного дисковода. Этот узел - по сути редуктор, изменив его передаточное число, можно добиться более точного позиционирования. В простейшем случае, изготовить червяк или улитку с более мелким шагом. Получаются шаги в 8 раз чаще. Комбинирование этого варианта с пунктами 1 и 2 выше, даёт шаги в 32 и более раз чаще.
Любой вариант возможен только как комплексное, аппаратно-программное решение. Так сказать - стык электроники и кода.
Мы как всегда говорим: если среди ваших дисков что-то прочиталось с ошибками, или какой-то диск не прочитался вовсе - не торопитесь ставить неутешительный диагноз. Как говорят врачи, возьмите второе мнение. Иначе у нас есть риск стать утилизаторами части собственной истории.