http://ru54.com/~nostalgy
http://nostalgy.net.ru
©М.Бабичев
28 января 2010 г.
(добавления и исправления от 13 августа 2012 г.)

Статья
Винчестеры-"динозавры" с интерфейсом ST506/412

Введение

Несколько лет назад на "Ностальгии" были опубликованы мои небольшие и достаточно наивные статьи, посвященные древним жестким дискам - "Гибель динозавра" и "Динозавр возвращается". Несмотря на то, что в последующие годы мировое "винчестеростроение" достигло значительных успехов, заставив "динозавров" устареть еще больше, мой "компьютерный парк юрского периода" по-прежнему здравствует и даже изредка пополняется новыми "живыми ископаемыми" емкостью 40 и менее мегабайт. Если рассматривать только действующие экземпляры с интерфейсом ST-506/ST-412, то в их числе окажутся два Seagate ST-251 (40 Мб), один ST-225 (20 Мб), два ST-4053 (40 Мб), один Kalok KL-320 (20 Мб), один NEC D3126 (20 Мб) и даже один ST-4097 (аж 120 Мб). Для подключения "динозавров" к компьютерам имеются различные дисковые контроллеры для шин ISA 8 бит (XT) и ISA 16 бит (286 AT и выше). Кроме того, одна 286-я материнская плата оснащена соответствующим встроенным дисковым контроллером.

В прошлом мои опыты ограничивались подключением винчестеров с интерфейсом ST-506/ST-412 к компьютерам класса AT. А недавно, наконец-то удалось, установить винчестер на XT-шку (XT - это древняя машина с 8086, 8088 или, иногда, 80286 процессором, оборудованная 8-разрядной шиной ISA, не имеющая CMOS-памяти, часов реального времени и утилиты BIOS Setup). Возможно, кому-то из читателей будет интересно узнат, как обращаться с вышеописанными жесткими дисками и прочим оборудованием. Достаточно развернутому описанию этого и посвящена настоящая статья (постепенно разросшаяся до размеров небольшой книжки).


Происхождение названия интерфейса

Накопители с интерфейсом ST506/412 называют также MFM-винчестерами. Строго говоря, это неправильно. MFM - не разновидность физического интерфейса, а метод кодирования данных, записываемых на магнитные диски. Этот метод и по сей день используется, например, во флоппи-дисководах. Впрочем, поскольку почти все жесткие диски с ST-506/412 были рассчитаны на MFM, а более современный метод RLL (позволявший увеличить плотность записи информации раза в полтора) получил распространение уже в эпоху интерфейсов ESDI и IDE, то, делая обозначения ST506/412 и MFM синонимами, мы не сильно ошибемся.

Название же физического интерфейса "динозавров" ST-506/412 происходит от наименования моделей первых 5-дюймовых НЖМД, оснащенных данным интерфейсом. ST-506 - накопитель емкостью 5 Мб, выпущенный фирмой Seagate в 1980 году. 10-мегабайтовый ST-412 появился в 1981 году, и использовался в первых машинах IBM PC XT (см. Golden oldies - Drives we used to love and hate).


Шлейфы и разъемы

Диски с интерфейсом ST-506/412 подключаются к контроллеру при помощи двух шлейфов, состоящих из 34 и 20 жил. Со стороны контроллерной платы разъемы - штыревые, двухрядные, такие же как у контроллера дисковода 3.5" или устройства IDE. Со стороны винчестера разъемы - ножевые, двусторонние, как у шлейфа дисковода 5.25", или (более грубая аналогия) как у слотов ISA. К одному контроллеру можно присоединить один или два винчестера. 34-жильный кабель общий для двух накопителей и обычно содержит 3 разъема. Подобно дисководному, часть жил (с 25-й по 29-ю) между двуям дисковыми разъемами у него перекручена на 180 градусов. Если винчестер один, то он подключается к среднему разъему на шлейфе (до перекрутки жил). Впрочем, встречаются 34-жильные кабели с одним дисковым разъемом, рассчитанные на подключение только одного винчестера - без перекрутки жил.

20-жильный кабель - отдельный для каждого винчестера, без перекрутки. Первый (или единственный) винчестер обозначается нулем (drive 0), второй - единицей (drive 1). На контроллерных платах разъемы чаще всего располагаются следующим образом: 34-контактный разъем и 20-контактный для drive 0 располагаются соосно, на одной линии; 20-контактный для drive 1 - рядом с разъемом для drive 0, параллельно ему, обычно сбоку. Если все разъемы расположены на одной линии, то drive 0 надо подключать к тому разъему, который ближе к 34-контактному. 1-я ножка разъема на контроллерной плате должна соответствовать цветному (обычно красному) проводу на шлейфе. Разъемы со стороны винчестера имеют ключ (перемычку в разъеме шлейфа и вырез в разъеме винчестера), поэтому подключить их неправильно вряд ли удастся.


Контроллерные платы

Контроллерные платы (контроллеры) для подключения винчестеров ST-506/412 весьма разнообразны. Но все они (по крайней мере, те, что известны мне в теории или на практике) предназначены для 8 или 16-разрядной шины ISA*. Эти варианты шины совместимы между собой "сверху вниз": платы для 8-битной ISA можно вставлять в 16-битную, но, как правило, не наоборот. Плата для 8-битной шины содержит ножевой разъем (проще говоря, на нижнем краю платы с двух сторон сделаны печатные дорожки-контакты) в виде одной секции с 62 контактами (по 31 с каждой стороны платы). Плата для 16-битной шины дополнительно оборудована еще одной секцией с 36 контактами (по 18 с каждой стороны), которая отделена от "8-битной" секции небольшим вырезом. Плата 16 бит быстрее: позволяет за один такт передавать два байта данных, вместо одного; кроме того, она позволяет использовать большее число прерываний - от 1-го до 15-го (8-бит - от 1-го до 7-го). Один и тот же винчестер ST-251 с 16-битным контроллером обеспечивает пропускную способность около 200-300 кбайт/с, а с 8-битным - немногим более 100 кбайт/с.

*Это можно объяснить тем, что практически на всех компьютерах класса IBM PC, с начала 1980-х до начала-середины 1990-х годов встречалась только шина ISA, а винчестеры ST-506/412 с их емкостью 5...40 Мб и быстродействием не более 300...400 Кбайт/с выпускались в 80-х годах, и устарели задолго до того, как шина ISA производительностью 5 Мбайт/с исчерпала свои возможности и уступила место 32-разрядным шинам EISA, VLB, PCI быстродействием 33 Мбайт/с и более.

Контроллерные платы для ST-506/412 можно разделить на три группы:
- 8-битные, со встроенным BIOS и утилитой форматирования (Seagate ST-11, NCL-5427, LCS-6210D, HX-100, WDXT-GEN...)
- 16-битные, со встроенным BIOS и утилитой форматирования (Seagate ST-21/22...)
- 16-битные, без встроенного BIOS и утилиты форматирования (ASK-1003W, KP2000...)

Большинство контроллерных плат конструктивно независимы от жесткого диска (т.е. устанавливаются отдельно от него, и поддерживают несколько разных моделей "винчестеров"). Но изредка встречаются контроллеры, объединенные с винчестером в единый модуль. Так, давным-давно у меня на Tandy 1000 стоял такой модуль с винчестером KALOK емкостью 32 Мб и с 8-битным контроллером. Это все было закреплено в одной плоскости на общем каркасе. Винчестер брал питание через шину ISA. Вообще, довольно практичная конструкция: вставляешь такой модуль в слот любого старого компьютера, и он тут же готов к работе с жестким диском. Увы, из-за моей небрежности редкий дисковый модуль вышел из строя.

Все известные мне 8-битные контроллеры, предназначающиеся для машин класса XT, оснащены ПЗУ, в который записан дополнительный BIOS (программа базовой системы ввода-вывода), необходимый для обнаружения подключенного к контроллеру диска и считывания с него загрузочного сектора, из которого затем стартует DOS. Главный BIOS машины типа XT (на материнской плате) "умеет" загружаться только с флоппи-дисковода. Этим объясняется необходимость в своем BIOSе на XT-шных контроллерах.

16-битные платы более разнообразны. Машины AT, для которых они предназначены, оснащены более сложным BIOS, в котором есть поддержка жестких дисков, а также встроенная утилита для пользовательских настройки и (не всегда) тестирования компьютера. Обычно утилита вызывается клавишей DEL до начала загрузки операционной системы. Поэтому некоторые контроллерные платы ST506/412 16 бит не содержат ни BIOS, ни другого встроенного ПО. Для того, чтобы заставить жесткий диск работать с такой платой, нужно (также, как и в случае с винчестером типа IDE) задать в BIOS Setup компьютера параметры накопителя:
- число дорожек (tracks, cylinders)
- число головок (heads)
- параметр Write precomp cyl (WPC)*
- параметр Landing zone cyl (LANDZ)*
- число секторов на дорожке (sectors per track)

Другие, более сложные 16-битные контроллерные платы (Seagate ST-21/22), содержат свой BIOS, определяющий наличие подключенного диска. Если диск правильно отформатирован, BIOS подключает логические диски и производит с диска C: загрузку DOS. Если формат диска не соответствует контроллеру, BIOS вызывает встроенную утилиту, позволяющую отформатировать накопитель на низком уровне. С таким контроллером параметры винчестера в BIOS SETUP компьютера прописывать не нужно (как будто жесткого диска вообще нет)! Кроме того, если на материнской плате или на мультикарте имеется контроллер IDE, его нужно отключить во избежание конфликта с контроллером ST506/412.

* Write precomp - предкомпенсация записи, нужна для того, чтобы учитывать ощутимое уменьшение геометрической длины секторов на дорожках с большими номерами. На тех дорожках, где write precomp включена, запись данных осуществляется с большей плотностью.

* Landing zone - минимальный номер дорожки, на которой осуществляется парковка головок накопителя.


Особенности устройства накопителей ST506/412

Что прежде всего бросается в глаза при взгляде на жесткие диски данного типа? Крупные габариты - самые компактные из известных мне приводов по ширине и длине совпадают с современными винчестерами для отсека 3.5", но по высоте они соответствуют устройству 5.25". Кроме того, встречаются приводы размером 5.25" (как соответствующий дисковод или привод CD-ROM), или даже 5.25" удвоенной высоты. Под стать габаритам и потребляемая мощность. Так, ST-4053 размером 2x5.25" может потреблять до 4 ампер по шине 12 вольт! Звук, издаваемый такими накопителями, разительно отличается от легкого шума, издаваемого новыми винчестерами. "Динозавры" при включении ревут и жужжат, как набирающий обороты реактивный двигатель, а при чтении и записи издают своими головками самые разные звуки, от глухих металлических стуков и звонких лязганий, до забавного "бульканья" или "цвирканья".

Шпиндель вала, вращающего магнитные пластины, нередко выведен наружу. Порой он используется в качестве крыльчатки, охлаждающей накопитель. К шпинделю по центру прижимается заземляющий контакт. На плате с электроникой множество микросхем малой степени интеграции и "дискретных" элементов (резисторов, конденсаторов, диодов...). Порой там можно увидеть вручную припаяные детали и провода - это следы заводской доводки: в стародавние времена каждый винчестер был, по сути, изделием "ручной работы".

Магнитные головки чаще всего перемещаются шаговым двигателем (Stepper), аналогичным тем, которые используются в дисководах. Ротор этого двигателя имеет сотни фиксированных положений, а его перемещение осуществляется с помощью подачи определенного числа импульсов. Рычаг, на котором закреплены головки, связан с валиком двигателя напрямую (угловое перемещение головок по хорде диска), или через зубчатую передачу (линейное перемещение головок по радиусу диска). Шаговый двигатель виден снаружи, и его валик зачастую можно даже поворачивать с помощью отвертки (это полезная возможность, впрочем, о ней позже). На некоторых дисках, например, у NEC D3126, валик шагового двигателя снабжен зубчатым маховичком (!), стопорящимся при выключении питания защелкой.

Помимо шагового двигателя, на поздних моделях дисков MFM встречается (например у ST-4053) привод головок с помощью магнитной катушки (т.н. Voice Coil). Из названия ясно, что головки связаны с легкой катушкой, перемещающейся в постоянном магнитном поле, что напоминает устройство громкоговорителя ("динамика"). Достоинства Voice Coil - относительно высокое быстродействие, точность позиционирования (по сервометкам - как и на современных винчестерах IDE) и автоматическая парковка головок накопителя при выключении (о парковке будет рассказано далее).

В отличие от дисков IDE (аббревиатура, означающая "встроенную в накопитель электронику"), накопители ST506/412 имеют более простую электронную схему, способную выполнить лишь простейшие, низкоуровневые команды, такие как выбор накопителя, выбор головки, перемещение головки определенным числом шаговых импульсов...). Через интерфейс передаются не только данные, но и синхроимпульсы. По 20-контактному шлейфу передаются данные, по 34-контактоному - сигналы управления. Зато контроллерные платы ST506/412 устроены сложнее, чем контроллеры IDE.

Быстродействие накопителей ST506/412, обусловленное низкой плотностью записи данных на дорожке и медленным перемещением головок, с точки зрения современного пользователя, ничтожно. Так, теоретически максимальная скорость передачи данных (transfer rate) накопителя с 17 секторами по 512 байт на дорожку при частоте вращения дисков 3600 об/мин составляет ((17*512)*3600)/60 = 510 Кбайт/сек. Реально накопитель типа ST-4053, подключенный к относительно быстрому 16-битному контроллеру ST21/22, обеспечивает скорость передачи данных около 360 Кб/сек. Накопитель ST-225 с тем же контроллером имеет transfer rate около 336 Кб/сек. XT-шный 8-разрядный контроллер ограничивает transfer rate до 100-150 Кб/сек.

При чтении/записи разрозненных участков в разных местах накопителя скорость передачи данных начинает сильно зависеть также от скорости позиционирования головок. Это время перемещения между соседними дорожками, т.н. track-to-track seek time (напр., 9 мсек для ST-4053, или 23 мсек для ST-225) и среднее время доступа к случайной дорожке, т.н. average seek time (напр. 70 мсек для ST-225).

Накопители ST506/412 используют "прозрачную" физическую адресацию CHS (cylinders/heads/sectors). Сокрытие физической геометрии и использование вместо нее "абстрактной" логической адресации (LBA), необходимой для использования накопителей объемом более 528 Мб, начали применять гораздо позже, в накопителях EIDE (ATA).

Диски ST506/412, ввиду архаичности конструкции, отличаются сравнительно небольшим средним временем наработки на отказ (Mean time before failure, MTBF). Обычно оно составляет от 11000 (ST-412) до 100000 (ST-251) часов. Для сравнения, современные диски IDE и SCSI в среднем нарабатывают 300000...1000000 часов. Однако, благодаря низкой плотности записи, "динозавры" довольно живучи. Так, можно на короткое время снять крышку накопителя, впустив внутрь пыльный воздух (не касаясь пальцами дисков и головок!) - и количество сбойных участков после этого может остаться на прежнем уровне. Наличие сбойных участков не критично, однако, нулевая дорожка (index track) должна быть от них свободна. Иначе винчестер откажется работать - например, Rodime RO-252 после включения пытается прочитать нулевую дорожку; если это невозможно, он останавливает шпиндель и подает сигнал ошибки с помощью светодиода на передней панели (даже у такого древнего диска есть свой процессор!).

Практика показывает, что жесткие диски ST506/412 при правильном хранении вполне способны "прожить" 20-25 лет, а то и больше. Чтобы они не "ржавели" от бездействия, иногда (хотя бы раз в год) их желательно включать и проверять. Вообще, за столько лет может засохнуть смазка в подшипниках шпинделя и оси головок, а заменить ее непросто. Но к счастью, подшинпики обычно все же сохраняют свою работоспособность.

Следует отметить, что, в отличие от современных винчестеров, многие накопители ST506/412 требуют правильной ориентации в пространстве*. Как их надо ориентировать - указано в спецификациях справочника Total Hardware 99 (th99); если информации об этом нет, накопитель следует устанавливать горизонтально, крышкой вверх, платой электроники вниз. Форматировать диск желательно в том положении, в котором он и дальше будет использоваться. Это связано с тем, сила тяжести немного смещает головки и магнитные пластины, и если ее направление меняется, позиционирование головок несколько нарушается, что ухудшает надежность чтения/записи данных.

*Впрочем, и более современным жестким дискам IDE бывает небезразлично, в каком положении работать. Так, эксперименты с Quantum Bigfoot показали, что если расположить накопитель горизонтально, но "вверх ногами", программа MHDD показывает гораздо худшее состояние поверхности диска, чем если установить "винт" в "нормальное" положение (платой электроники вниз).


Парковка головок

Парковка головк (parking) означает перемещение их перед выключением питания в т.н. парковочную область (Landing Zone), как можно ближе к центру дисков, то есть, на дорожку с максимальным номером. Это вызвано тем, что во время раскрутки или остановки шпинделя воздушный поток, увлекаемый дисками, недостаточен для поднятия головок над поверхностью пластин, и головки касаются поверхности, вызывая ее ускоренный износ*. Парковочная область выбирается из следующих соображений. Во-первых, вблизи вала шпинделя линейная скорость диска (при постоянной угловой скорости, соответствующей 3600 об/мин) минимальна, следовательно, и износ минимален. Во-вторых, дорожки вблизи центра дисков имеют минимальную длину, а поскольку количество секторов на дорожку не зависит от номера дорожки, линейная плотность записи на дорожках с большими номерами максимальна, вероятность же сбоев там также максимальна. Поэтому часть внутренних дорожек не используют для записи, паркуя там головки. В-третьих, внутренние дорожки наиболее удалены от самой важной нулевой дорожки.

*Для уменьшения времени остановки дисков, вращающихся по инерции после отключения питания, в некоторых накопителях используется автоматический "тормоз" шпинделя. Это снижает износ диска и головок во время выключения. На наиболее "древних" дисках "тормоза" нет, и поэтому пластины вращаются после выклочения еще секунд 10, что хорошо слышно.

Современные винчестеры автоматически паркуют головки, когда исчезает питание. При этом обычно слышится негромкий щелчок. Однако, древние накопители ST506/412 (равно как и первые винчестеры IDE, например ST-351A/X или KALOK KL3120), оснащенные шаговым двигателем, сами эту операцию выполнить неспособны. Поэтому на пользователя, желающего продлить жизнь старого винчестера, возложена обязанность перед выключением компьютера запускать специальную парковочную утилиту. Несколько таких утилит есть на нашем сайте в разделе "Дисковые утилиты", кроме того, винчестер паркует Нортоновская утилита DISKMON с ключом "/P".

Следует учесть, что не каждая утилита может правильно запарковать ваш винчестер. Чтобы проверить утилиту, воспользуйтесь доступностью валика шагового двигателя. Определите направление, в котором валик вращается в сторону дорожки с максимальным номером. Запустите парковочную утилиту и попробуйте повернуть валик отверткой или иным подходящим инструментом. Если валик не вращается или почти не вращается в сторону парковки, но поворачивается с мелкими щелчками в обратную сторону, значит, парковочная утилита работает правильно. Бывает, что на торце валика шлица нет, а просто сделано круглое углубление - тогда можно попробовать повернуть его отверткой типа "торкс" с шлицом в виде звездочки.

Кстати, ручное перемещение валика может быть полезно в том случае, если вы испытываете винчестер без контроллера, либо контроллер с винчестером несовместим - то есть, программное перемещение головок невозможно. В таких случаях желательно предусмотрительно ориентировать жесткий диск до включения так, чтобы у вас был доступ к валику шагового двигателя (обычно накопитель поворачивают платой электроники кверху). И парковать его вручную.

Как определить направление парковки? Есть разные способы. Например, можно нанести на торец валика метку спиртовым маркером, и, запустив низкоуровневое форматирование или подорожечную проверку диска, пронаблюдать, в какую сторону движется валик шагового двигателя при увеличении номеров дорожек. В крайнем случае, можно ненадолго приподнять крышку дискового отсека и посмотреть, в какую сторону надо вручную вращать валик, чтобы головки перемещались к центру диска. Но это, конечно, не лучший способ. А если у диска привод головок типа Voice Coil, парковать его вообще не нужно.


Низкоуровневое форматирование

В отличие от более современных винчестеров IDE, многие ST506/412 перед использованием нуждаются в форматировании на низком уровне (Low-Level Format, LoFormat, LLF). Надо заметить, накопители SCSI тоже допускают низкоуровневое форматирование. А вот винчестеры IDE без шагового двигателя форматировать на низком уровне не нужно! Это даже опасно, поскольку LLF может повредить магнитные сервометки, нанесенные на заводе на одной из пластин винчестера (по этим меткам позиционируются головки).

LLF нужен для того, чтобы разметить жесткий диск для работы с конкретным дисковым контроллером. Не очень приятная особенность накопителей ST506/412 - слабая взаимозаменяемость дисков и контроллеров: если отключить диск от одного контроллера и подключить к другому - прочитать его, скорее всего, не удастся (но бывает и обратное - например, контроллеры WDXT-GEN и HX-100 с похожими наборами микросхем оказались совместимы). Чтобы заставить накопитель работать с другим контроллером, придется делать LLF, при этом все данные на жестком диске будут утеряны.

Сделать LLF можно тремя способами, используя специальную утилиту, которая находится:
- на загрузочной дискете
- в BIOS компьютера
- в BIOS дискового контроллера

Существуют программы для LLF, которые можно запустить, загрузившись с системной дискеты DOS. Они подходят не для каждого жесткого диска и не для каждого контроллера. В-основном, такие программы нужны для форматирования старых винчестеров IDE или SCSI. Впрочем, есть утилиты, предназначенные именно для LLF накопителей ST506/412. Пара таких программ есть на нашем сайте в разделе "Дисковые утилиты". Если вы используете 16-разрядный дисковый контроллер, не имеющий своего BIOS (параметры накопителя приходится указывать в BIOS Setup материнмской платы), вышеупомянутые утилиты вполне могут пригодиться. Однако, в других случаях лучше использовать иные способы форматирования, о которых сказано ниже.

В программе CMOS Setup (BIOS Setup), записанной в BIOS типа AWARD или AMI 286-х, 386-х и более новых компьютеров, обычно можно найти пункт "Low Level Format". Но он предназначен разве что для ранних жестких дисков IDE с шаговыми двигателями. Некоторые старые компьютеры, обычно 286-е, специально рассчитанные на использование винчестеров ST506/412, содержат особый, "расширенный" BIOS, включающий в себя не только программу для редактирования настроек CMOS-памяти, но и средства для тестирования памяти, клавиатуры, видеоадаптера, портов, гибких и жестких дисков... Если в такой BIOS-утилите есть непривычные для современного пользователя пункты - такие как "Auto Interleave", "Media analysis", "Performance test", "Check test cylinder", "Force bad tracks", "Low level format", "Re-format", "Preformat" и т.п. - надо полагать, что такая утилита способна производить LLF накопителя типа ST506/412. Однако такая, встроенная в AT BIOS утилита зачастую бывает несовместима с 8-битными XT-шными дисковыми контроллерами. Поэтому, в случае несовместимости, следует прибегнуть к третьему способу форматирования, описанному ниже.

Если в вашем распоряжении имеется дисковый контроллер ST506/412 со своим BIOS'ом, вам следует знать, что самая надежная утилита для LLF у вас, скорее всего, уже есть. Ее не надо искать на дискетах или в Интернете. Она записана в ПЗУ контроллера! Чтобы ей воспользоваться, понадобится стандартная MSDOS-утилита DEBUG. Нужно загрузить DOS с системной дискеты и запустить DEBUG.EXE. Появится командная строка программы с приглашением в виде дефиса. В командной строке DEBUG нужно ввести:
G=C800:5
После чего запустится утилита, позволяющая отформатировать на низком уровне жесткий диск. В некоторых контроллерах утилита также позволяет парковать диск.


Пример встроенной программы LLF контроллера LCS-6210D

Рассмотрим использование встроенной утилиты на примере контроллера LCS-6210D.

Прежде всего, BIOS контроллера при инициализации компьютера (до начала загрузки DOS с диска) обнаруживает правильно подключенные к нему исправные винчестеры, и выводит на экран соответствующие сообщения, например:
1 HARD DISK(S) INSTALLED
(Обнаружен один жесткий диск)
или:
SPLIT DISK
2 HARD DISK(S) INSTALLED

(Подключен один винчестер, отформатированный с использованием DSF, о котором будет рассказано позже)

Чтобы подготовить накопитель к работе, запустим через DEBUG встроенную утилиту. Она отобразит следующий текст:
HARD DISK CONTROLLER UTILITY. Version 12
1.Low-level format
2.Parking
3.Quit
Choose?

(1.Низкоуровневое форматирование, 2.Парковка, 3.Выход)

Выберем первый пункт меню, нажав цифру "1". Программа спрашивает:
Do you want to split hard disk drive (y/n)?
(Желаете ли вы разделить дисковый накопитель? да/нет)

Drive Splitting Feature (DSF) - это возможность разделения одного физического диска на два "логических". Речь идет не о логических разделах, создаваемых FDISK. Сам контроллер, поддерживающий DSF, форматирует винчестер так, что воспринимает его, как два отдельных диска вдвое меньшей емкости, и подключает их, как C: и D:. Древние дисковые контроллеры не такие простые, как может показаться! Если современный RAID-контроллер может соединить два физических диска в один, то многие XT-шные контроллеры наоборот, разделяют физический диск на два логических. Например, диск ST-225 емкостью 21 Мб преобразуется в два отдельных "диска" по 10.5 Мб. В одних контроллерах (NCL 5427) DSF включается перемычкой, а в других (LCS-6210, WDXT-GEN, HX-100) эту опцию можно включить с помощью встроенной утилиты. Можно предположить, что DSF появилась из-за того, что MS-DOS до версии 3.3 поддерживала не более одного логического диска на винчестерее, а емкость этого диска была ограничена 32 Мб, что создавало проблему при подключении "больших" 42-мегабайтных накопителей. В 1987 году была создана MS-DOS версии 3.3, позволявшая с помощью FDISK создавать на винчестере несколько логических разделов. Начиная с этого времени, DSF стала практически ненужна.

Однако, вернемся к описанию встроенной утилиты контроллера LCS-6210D. После вопроса о разделении жесткого диска на два логических, следует:

Do you want to use default parameter:
[20 MB, cylinder:612, heads:4, step rate:17.6us] (y/n)?

(Желаете ли вы использовать параметры накопителя, автоматически определенные программой?)

Если параметры определены правильно (не забудьте уточнить их в справочнике th99 или в таблице, имеющейся на нашем сайте), лучше оставить их без изменений, ответив "y". После этого нужно выбрать фактор чередования (Interleave factor):

Interleave selection:
a.Interleave 4 (for 8 MHz, 10 MHz Turbo mainboard)
b.Interleave 5 (for 4.77 MHz Normal mainboard)

(Выбор чередования:
а.Чередование 1:4 для материнских плат Turbo XT c частотой 8...10 МГц
б.Чередование 1:5 для "классических" плат XT с частотой 4.77 МГц)

Interleave factor, или фактор чередования - хитрый прием, позволяющий ускорить медленный дисковый накопитель, подключенный к "задумчивому" дисковому контроллеру, который, в свою очередь, подключен к медленной системе через малопроизводительную шину. Дело в том, что чтение данных с диска ST506/412 осуществляется посекторно. Допустим, надо прочитать всю дорожку. Система дает контроллеру команду считать первый сектор дорожки. Контроллер позиционирует головки диска и ждет, когда диск повернется, чтобы первый сектор оказался под головками. Сектор считывается и передается через шину в память компьютера. Система дает команду считать второй сектор и т.д. Однако, за это время диск успевает повернуться и пропустить, по крайней мере, начало второго сектора. Поэтому теперь контроллер должен подождать, пока диск сделает почти полный оборот, и второй сектор снова подойдет к головкам. Допустим, в одной дорожке 17 секторов. В этом случае, чтобы прочитать одну дорожку, диск должен будет сделать 17 оборотов!

Так будет, если сектора будут размещаться строго последовательно, друг за другом. В этом случае, фактор чередования равен 1:1. Чтобы уменьшить ненужные задержки, сектора записывают не подряд, а через один, два и т.д. сектора. Для фактора 1:2, например, сектора на дорожке будут располагаться следующим образом:
1 10 2 11 3 12 4 13 5 14 6 15 7 16 8 17 9
Для 1:3 - так:
1 7 13 2 8 14 3 9 15 4 10 16 5 11 17 6 12
...и так далее. С фактором 1:2 чтение одной дорожки выполняется всего за 2 оборота. Однако, для этого электронные схемы диска, контроллера и компьютера должны иметь достаточное быстродействие, чтобы проделывать все нужные операции в течение паузы, за которую диск поворачивается на один сектор. Если этого времени недостаточно, считывание одной дорожки опять будет происходить за 17 оборотов. В этом случае используют фактор 1:3, дающий паузу, равную времени поворота диска на два сектора, и т.д.

Слишком малый фактор резко уменьшает скорость винчестера (17 оборотов на дорожку), слишком большой - тоже ее снижает (5, 6, 7, 8... оборотов на дорожку). Поэтому для правильного низкоуровневого форматирования жесткого диска ST506/412, нужно знать оптимальный фактор чередования, зависящий не только от модели диска, но и от модели контроллера, типа процессора, его тактовой частоты... Многие утилиты для LLF позволяют осуществлять т.н. Media analysis, то есть, тестировать быстродействие накопителя в зависимости от фактора чередования. Вот, например, как меняется пропускная способность (transfer rate) накопителя ST-225 (компьютер AT286, 16 МГц, 16-битный контроллер ASK-1003W) при изменении фактора чередования:
1:1 - 28.5 Кбайт/с
1:2 - 194.1 Кбайт/с
1:3 - 140.9 Кбайт/с
Отсюда программа находит, что в данном случае оптимальный фактор равен 1:2.

Более того, существует т.н. Re-format, то есть, такой способ LLF, при котором меняется фактор чередования, а данные на жестком диске сохраняются. Это позволяет делать не только Calibrate из комплекса Нортоновских утилит, но и другие утилиты, в том числе, встроенные в BIOS Setup.

Но продолжим рассмотрение встроенной утилиты контроллера LCS-6210D. Выбрав фактор чередования, нужно ответить "y" на вопрос "Are you sure?" ("Вы уверены?"), после чего начнется низкоуровневое форматирование: "Formatting ...." Завершив LLF ("LOW-LEVEL FORMAT COMPLETED"), программа спросит: "Do you want to set more bad tracks?" ("Вы желаете еще указать сбойные дорожки?"). Это одна из особенностей эпохи накопителей ST506/412 - к сбойным дорожкам и производители, и пользователи относятся безо всякого ложного стыда. Производитель на заводе тестирует винчестер, и... пишет список найденных бэд-блоков на бумажку, которую затем клеят на корпусе накопителя*. Пользователь же, сделав LLF, может вручную ввести в программу список дефектных дорожек с этой бумажки, и программа заносит их в т.н. "defect list" на винчестере. Можно этого не делать, возложив поиск и отбраковку дефектных участков диска на программу DOS Format, которая занесет сбойные кластеры в собственную FAT.

Кстати, о количестве бэд-блоков. Если на диске емкостью порядка 20 Мб программа FORMAT обнаружит сотни килобайт "сбойных кластеров" - тут одно из двух. Или ваш винчестер при последнем издыхании (так было с моим RO-252, износ которого принял прогрессирующий характер и привел к сбою 0-й дорожки), или в системе "винчестер - контроллер - утилита LLF" есть некая несовместимость. Например, у меня был такой случай, когда ST-225, подключенный к одному 16-разрядному контроллеру, форматировался, но утилита FORMAT находила мегабайт "бэдов", а DOS с него почему-то не загружалась. Подключив ST-225 к другому 16-битному контроллеру, и повторив LLF, я убедился, что никаких "бэдов" на нем нет, и все заработало.

* Стесняться тут, действительно, не надо. К сожалению, даже самый новый, только вышедший из стен завода жесткий диск уже содержит небольшое количество сбойных участков - по причине несовершенства технологии изготовления магнитных пластин. Это касается и современных накопителей. Однако, современные винчестеры хранят это список только в своей электронной памяти (дорожек так много, что дефект-лист на наклейку уже не поместится), и даже автоматически помещают в него новые обнаруженные "бэд-блоки". Пользователю кажется, что диск в идеальном состоянии, однако утилита типа MHDD позволяет увидеть значительное количество т.н. "remapped"-секторов. Приятно заметить, что некоторые древние винчестеры и через 20 с лишним лет сохраняют хорошую форму: например, мой ST-225 был изготовлен с пустой наклейкой, но и теперь в нее писать нечего.


Пример встроенной программы LLF контроллера ST-21/22

Это достаточно распространенный и весьма удачный 16-разрядный дисковый контроллер. Он содержит свой BIOS, имеет сравнительно высокое быстродействие и хорошо совместим как с винчестерами фирмы Seagate, так и со многими дисками других производителей. В ходе запуска системы, после приглашения войти в BIOS Setup компьютера, но до загрузки DOS контроллер выводит на экран свое сообщение:
SEAGATE ST21/22 BIOS REVISION 1.3
(c)Copyright 1989 SEAGATE

Если подключенных дисков обнаружить не удалось (их нет, они несовместимы, неисправны или неправильно подключены), контроллер сообщает:
ST21/22 Controller Reset Failed - No Drives Installed
Если винчестер обнаружен, но не отформатирован на низком уровне под контроллер ST21/22, на экране появляется надпись:
MFM Controller V1.5 Identified
Drive C is a Unknown Type

После этого предлагается сделать LLF:
Drive C has not been installed, and does not contain installation software.
Do you want to install this unit? (Y/N)

("Логический диск C не был подключен, и не содержит установочного ПО. Вы желаете установить это устройство?)
Если "Y", то запускается "HARD DISC INITIALIZATION UTILITY". Эта утилита, позволяющая форматировать MFM-диски, предупреждает о потере данных в ходе LLF. Затем она предлагает выбрать винчестер из предлагаемого списка накопителей фирмы Seagate (ST125, ST130, ST151, ST225, ST251, ST1100, ST4096). Если у вас винчестер другой модели, надо выбрать пункт "U_DEFINE". В этом случае придется вручную задать параметры накопителя:
- Total cylinders on the drive
(Общее число дорожек на диске)
- Total heads on the drive
(Общее число головок на диске)
- Numbers of sectors per track
(Число секторов на дорожке)
- Write precomp cyl (<space>=NONE)
(Начальная дорожка предкомпенсации записи - нажмите "пробел", если она не указана в описании винчестера)
- Drive model
(Модель диска - нужно по своему усмотрению ввести модель подключаемого инчестера; модель будет отображаться BIOS'ом контроллера на экране при каждой перезагрузке системы)
- Interleave (default = 1)
(Фактор чередования - по умолчанию 1:1)
- Drive serial number (optional)
(Серийный номер диска - необязательный)
И подтвердить правильность введенных данных.

Как и полагается, контроллер ST21/22 предлагает ввести список сбойных дорожек, напечатанный на бумажке, приклеенной к корпусу накопителя:
No defect list is currently present on the drive
Do you want to enter the default map which is supplied on your drive cover (Y/N)?

После очередного предупреждения о потере данных на диске, контроллер начинает LLF, отображая номера дорожки и головки, форматируемых в данный момент. Затем производится проверка диск (Verifying...). Отформатированный диск должен обнаруживаться и подключаться контроллером, который в ходе инициализации системы будет выводить сообщения, наподобие:
MFM Controller V1.5 Identified
Drive C is a ST225


Заключение

После того, как тем или иным способом был осуществлен LLF диска, нужно запустить DOS-утилиту FDISK, которая создаст на винчестере один или более логических разделов (обычно хватает одного, особенно, если использовать DSF), а затем отформатировать их на "высоком" уровне программой FORMAT (format c:, format d: ...), перенести системные файлы DOS с дискеты на диск c: (format c: /s или sys a: c:), и не забыть про утилиту парковки. Проделав все это, получим жесткий диск, готовый к эксплуатации. Желаю приятной работы со старым компьютером!

Антиквар

вернуться к списку текстов