FAQ и обсуждение жёстких дисков ST506/412 (MFM и RLL)

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
Гость

Сообщение Гость » 21.02.2011,03:11

uav1606 писал(а):винчестер, отформатированный на одном контроллере, может не читаться на другом - тогда нужно делать low-level переформатирование уже на этом контроллере.
Не "может", а "не будет", ибо все, зависящие от времени, параметры задаются контроллером, а значит - оные немного, но вполне достаточно отличаются для каждого экземпляра. Считать диск можно только на том контроллере, на котором изначально делался LLF этого диска. Более того, не только CHS-геометрию винта, но и прочие параметры инициализации(например, прекомпенсацию записи, интерливинг, зону парковки) хранит в себе биос контроллера. Да, это прообраз "служебки" современных винтов.

Аватара пользователя
arif-ru
Advanced Member
Сообщения: 1778
Зарегистрирован: 08.10.2007,17:35
Откуда: Москва, me[a]alpe.net
Контактная информация:

Конкурсы

Вклад в сообщество

Сообщение arif-ru » 21.02.2011,09:22

uav1606, Fe-Restorator
Да, действительно, прямым текстом, оказывается, нигде не сказано. Добавил в 1-2.

KALDYH
Advanced Member
Сообщения: 2594
Зарегистрирован: 05.06.2009,16:37
Откуда: Кемерово

Вклад в сообщество

Сообщение KALDYH » 21.02.2011,11:32

Еще один редкий советский винт вспомнил.
ЕС5313 (СССР) - предположительно, клон Seagate ST4026. Единственный советский винчестер с приводом головок типа voice-coil. Теоретически, должен иметь автопарковку.
Fe-Restorator писал(а):Не "может", а "не будет", ибо все, зависящие от времени, параметры задаются контроллером,
Экспериментально установлено, что винт, записанный на безбиосном контроллере, будет читаться на другом безбиосном контроллере.
Fe-Restorator писал(а):Более того, не только CHS-геометрию винта, но и прочие параметры инициализации(например, прекомпенсацию записи, интерливинг, зону парковки) хранит в себе биос контроллера.
Спорный вопрос. Где-то они хранятся, это факт (имеются в виду контроллеры с собственным биосом). Но контроллер не имеет на борту ни CMOS памяти, ни EEPROM, поэтому я предполагаю, что они хранятся где-то на винчестере, как и у современных винтов. И формат этой служебки у разных контроллеров таки да, несовместим.

Гость

Сообщение Гость » 21.02.2011,17:41

arif-ru писал(а):By KALDYH:: (крутить рукой привод блока головок при остановленном шпинделе категорически запрещается! Сначала надо раскрутить диски, хотя бы от руки - двигатель шпинделя обычно тоже доступен снаружи).
В обоих случаях отрыв головы от крепления на 90% вероятен. И стоит добавить - самые страшные царапины для пластин жёстких дисков - спиральные. Именно такие и получатся, если раскручивать привода диска вручную: нужной скорости не наберёте, т.е. головки останутся на пластине, и будут её нещадно царапать.
Понимаю фразу KALDYH "сперва раскрутить пластины" ибо прилипшие в парковочной зоне головки имеют шанс повредить только эту самую зону, но не весь диск, и находится эта зона вплотную к шпинделю, что даёт минимальные усилия на головку. Если головы не в парковочном положении - вероятно, повредятся одна-две дорожки, которые легко потом занести в дефект-лист при разметке диска. Главное: стронув головы, нужно именно включить диск и запарковав уже как положено, выключить. Пару раз включить-остановить диск с припаркованными головами, чтоб с них облетели все возможные частицы прилипшего покрытия пластины (попали в фильтр-пылесборник внутри банки). Лишь затем запустить диск в рабочем режиме, проверить поверхность на дефекты и отформатировать.

Аватара пользователя
arif-ru
Advanced Member
Сообщения: 1778
Зарегистрирован: 08.10.2007,17:35
Откуда: Москва, me[a]alpe.net
Контактная информация:

Конкурсы

Вклад в сообщество

Сообщение arif-ru » 21.02.2011,21:29

Товарищи! Проясните всё-таки вопрос с 16-битными контроллерами! Сам не имел с ними дела и не могу проверить сейчас.
Вот так должно быть?

Для любых 16-битных контроллеров процедура низкоуровневого форматирования есть в BIOS старых материнских плат, или можно использовать старые досовские программы низкоуровневого форматирования (например, ADM).
У некоторых 16-битных контроллеров есть свой биос - в таком случае форматирование можно провести утилитой, автоматически вызывающемся при попытке загрузки с неотформатированного диска.
Диск, отформатированный любым способом на 16-битном контроллере с биосом, может быть прочитан только с этим контроллером.
Диск, отформатированный любым способом на 16-битном контроллере без биоса, может быть прочитан только с этим контроллером или с любым другим 16-битным контроллером без биоса.
У всех 8-битных контроллеров есть свой биос, хотя утилита форматирования есть не всегда.
Диск, отформатированный любым способом на 8-битном контроллере, может быть прочитан только с этим контроллером.
Контроллеры дисков многих IBM-несовместимых компьютеров не имеют собственного биоса. Информация с них может быть прочитана только с этим контроллером или с любым 16-битным контроллером без биоса.

Аватара пользователя
alecv
Advanced Member
Сообщения: 6993
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Сообщение alecv » 21.02.2011,22:50

arif-ru Давай сначала разберемся с 8-битными контроллерами. Итак, у машины IBM PC, PC/XT и близких клонов есть BIOS. :) А BIOS в первую очередь - набор драйверов, грубо говоря (не вдаваясь в подробности). Дак вот, у IBM PC, PC/XT и т.д. в BIOS-е встроена только поддержка флопиков 180/360К. Поэтому любое дисковое устройство должно иметь свой набор драйверов, лучше в ПЗУ. Это относится к флопиками 1.2/1.44 (неродным для XT), контроллерам MFM и SCSI и т.д.

Теперь насчет набора процедур дискового драйвера. Понятное дело, имеются процедуры чтения-записи. И также хорошим тоном считается положить процедуры Low-level форматирования. Обратите внимание - положить процедуры (INT 13H), а не программу. А вот уже любезные производители некоторых контроллеров кладут туда и целую программу форматирования (с8000:0005). Кстати, например в первом историческом родном контроллере Xebec для IBM PC XT программы не было, и поэтому была внешняя программа, которая дёргала процедуры форматирования и форматила винт.

Так что имеется даже некоторая совместимость. "Честная" программа форматирования винта, которая работает через BIOS должна форматить винт на любом контроллере.

Отдельный вопрос насчет параметров С/H/S винта. У 99% они определяются перемычками на плате контроллера (тип и количество флопов тоже определяются свитчами на мамке XT, если кто помнит, только их читает встроенный в BIOS драйвер флопа). Обычно это маленькая табличка на 4 предустановленных типа винта, изредка на 8 или 16. Табличка прошита там же в BIOS контроллера, так что сменить ее можно, но сложно (с программатором). Программа форматирования, внешняя или внутренняя или их читает, либо просто спрашивает у юзера и тупо начитает дёргать вызовы BIOS INT13 "отформатировать дорожку NN". Что будет если геометрия не соответствует реальности - целиком на совести оператора и автора программы... А кстати, были извращённые контроллеры Longshine которые хранили параметры на нулевом секторе диска, делая его скрытым. Но чтобы прочитать параметры, диск должен быть отформатирован, ну ты понял...

Аватара пользователя
uav1606
Advanced Member
Сообщения: 5969
Зарегистрирован: 16.01.2008,22:04
Откуда: Енакиево
Контактная информация:

Вклад в сообщество

Сообщение uav1606 » 22.02.2011,02:49

KALDYH писал(а):Экспериментально установлено, что винт, записанный на безбиосном контроллере, будет читаться на другом безбиосном контроллере.
Но далеко не всегда. Вот сейчас проверял - диск ST-251, был отформатирован (через AMI BIOS материнки) на контроллере неизвестного производителя ASK-1003W (на чипах WDC, 89-го года выпуска). Контроллер 16-бит ISA, без BIOS'а. Параметры прописаны в BIOS Setup - тип 40. После этого диск был переподключён к контроллеру WD1003-RA2 (тоже 16 бит ISA, без BIOS, 85-го года выпуска). В результате - C: drive error. После переформатирования - всё нормально, причём диск стал читаться даже на первом контроллере.
Именно поэтому я и написал, что диск может не читаться.

Гость

Сообщение Гость » 22.02.2011,04:56

arif-ru писал(а):Для любых 16-битных контроллеров процедура низкоуровневого форматирования есть в BIOS старых материнских плат, или можно использовать старые досовские программы низкоуровневого форматирования (например, ADM).
Давай-ка не разделять контроллеры по битности их шин - мать, с программой LLF прошитой в ейный биос, размечает диски подключённые к обоим типам контроллеров, но на 8-битных делает сие значительно медленнее. Более того, на контроллерах с биосом, встроенный в мать LLF столь-же медленен. Вывод: для всех контроллеров с биосом, независимо от битности шины выгоднее пользовать встроенный в контроллер LLF !!!
arif-ru писал(а):У некоторых 16-битных контроллеров есть свой биос - в таком случае форматирование можно провести утилитой, автоматически вызывающемся при попытке загрузки с неотформатированного диска.
Диск, отформатированный любым способом на 16-битном контроллере с биосом, может быть прочитан только с этим контроллером.
Прога LLF не всегда вызывается автоматически (это - раз), именно она прошита в биос контроллера по c800:5(это - два), и либо сам контроллер, либо биос мамки передаёт управление на этот адрес(это - три). Диск, отформатированный на любом контроллере с биосом, независимо от битности шины, может быть опознан и прочитан только с этим экземпляром контроллера, ни с каким иным, даже - той-же модели. Зависит сие от запомненных контроллером параметров подключённого винта, неважно, где они хранятся - в EPROM, в секторе диска или в неких регистрах сигнального процессора, что на плате контроллера.
arif-ru писал(а):Диск, отформатированный любым способом на 16-битном контроллере без биоса, может быть прочитан только с этим контроллером или с любым другим 16-битным контроллером без биоса.
Этот вариант не проходит по двум параметрам: безбиосные контроллеры понимают команды форматирования "мамкиного LLF" немного по-разному, в зависимости от ревизии платы/чипов, и по-разному их отрабатывают, что даёт несовместимость связки "диск-контроллер" при перемене одной из составляющих. Второе - есть контроллеры, нечувствительные к матерь-биосному LLF, и таким экземплярам нужна собственная, "заточенная" под них программа.

KALDYH
Advanced Member
Сообщения: 2594
Зарегистрирован: 05.06.2009,16:37
Откуда: Кемерово

Вклад в сообщество

Сообщение KALDYH » 22.02.2011,06:23

arif-ru писал(а):Вот так должно быть?
Насколько знаю я - да, все так. Но я могу и ошибиться.
uav1606 писал(а):После переформатирования - всё нормально, причём диск стал читаться даже на первом контроллере.
Именно поэтому я и написал, что диск может не читаться.
uav1606, спасибо за эксперимент.


Вот, еще один вопрос-ответ из личного опыта:
Q: Можно ли как-нибудь прочесть на IBM PC-совместимом компьютере жесткий диск, записанный на машине другой архитектуры? Например, ДВК или Электроника-85?
A: Применительно к этим двум - нет, никак нельзя. Путем изучения документации установлено, что у них отличается структура секторов.

Аватара пользователя
uav1606
Advanced Member
Сообщения: 5969
Зарегистрирован: 16.01.2008,22:04
Откуда: Енакиево
Контактная информация:

Вклад в сообщество

Сообщение uav1606 » 23.02.2011,00:14

Fe-Restorator писал(а): Диск, отформатированный на любом контроллере с биосом, независимо от битности шины, может быть опознан и прочитан только с этим экземпляром контроллера, ни с каким иным, даже - той-же модели. Зависит сие от запомненных контроллером параметров подключённого винта, неважно, где они хранятся - в EPROM, в секторе диска или в неких регистрах сигнального процессора, что на плате контроллера.
Вы пробовали это делать (переподключать диски между контроллерами одной модели, например), или это просто теоретические размышления? По поводу параметров - какие именно параметры Вы имеете в виду? Тут же писали, что на многих 8-ми битных контроллерах (с BIOS'ом) параметры винта выставляются перемычками на плате. Тогда, по идее, больше никакие параметры нигде не хранятся...

Гость

Сообщение Гость » 23.02.2011,06:24

uav1606 писал(а):Вы пробовали это делать (переподключать диски между контроллерами одной модели
Да, пробовал. Три контроллера ST11M, все 8-битные, с биосом, и никаких перемычек "определяющих геометрию диска" на них нет и в помине! Отформатированный под одним экземпляром контроллера, диск "неразмечен" при чтении другими экземплярами. Даже, если под каждым из контроллеров форматить диск с одинаковыми параметрами - он всё-равно не опознаётся на остальных контроллерах, кроме последнего, на ком формачён!

Ответить