Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Документация »   Програмный ремонт жёстких дисков HDD
RSS

Програмный ремонт жёстких дисков HDD

Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung /IBM /Hitachi /HGST /Western Digital

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 * 8 9 10 11 .. 75 76 77 78 79 80
Печать
 
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
Лоадер
Если у накопителя повреждены модули, он переходит в Safe Mode. Паспорт он при этом не отдаёт, служебные команды тоже недоступны. Единственная команда, на которую он отзывается - стандартная команда Download Microcode (92h). По этой команде винту необходимо отправить лоадер (.LDR). Структура лоадера для жёстких дисков с отдельным процессором (до SE включительно):
[q]
(из DISKWARE.TXT)
Лоадер состоит из идущих друг за другом модулей. Структура его такова:
  • модуль 80 - начальный загрузчик. Этот модуль не входит в служебную зону, и присутствует только в лоадере.
  • модуль 82 - загрузчик модулей. Аналогичен соответствующему модулю из служебной зоны.
  • модуль 81 - карта загрузки модулей. Использется вместо CP15, поскольку CP15 в safe mode недоступна. Модуль не входит в служебную зону, поскольку там вместо него есть CP15 :)
  • модули 00, 01, 10-24 - модули, аналогичные имеющимся в служебной области.
Таким образом, можно было бы собрать лоадер на любой винт из имеющихся модулей. Hо - нужны модули 80 и 81, которых нет в служебке. И если с модулем 81 все ясно, то написать модуль 80 пока не представляется возможным - надо дизассемблировать и разобрать работу имеющегося модуля 80, что без дизассемблера сделать никак невозможно. Так что со сборкой своих лоадеров пока придется обождать.
[/q]
У более новых жёстких дисков (EL и новее) лоадер состоит из модулей E0, 05, 06, 01, 00, 07, 73, 09, 11-15, DF (пример для EX). Из них на диске нет только E0.
Файлы обновления прошивки .UPD имеют такой же формат и предположительно могут быть использованы друг заместо друга.
[q]
(из DISKWARE.TXT)
Кроме вышеописанного загрузчика микрокода, поставляемого в файлах *.upd и *.ldr, существует также особый вид лоадера, поставляемый в файлах *.lcp. Это - загрузчик страниц конфигурации. Он предназначен для начального формирования страниц при инициализации служебной зоны, а также для необходимой модификации страниц при обновлении версии микрокода. Часто с программой-апдейтом микрокода вместе с обычным лоадером UPD поставляется также и LCP. В этом случае LCP-файл _обязательно_ должен быть загружен в винт после загрузки UPD-файла. LCP-лоадер состоит из модуля 83 (начальный загрузчик), 40 и 42 (их
полное назначение пока ХЗ, можно только догадываться). Мы пока подробно не разбирали работу lcp-лоадера - не было времени, да и острой необходимости пока не стоит. Hадо будет - займемся.
[/q]
Отправить лоадер можно универсальной программой HDDL или другим ATA-терминалом, с помощью PC-3000, утилитой LOADER.EXE от Лёвы Корягина (описание внутри), а также CP.EXE от него же.
После загрузки лоадера винт позволяет читать и писать служебную информацию, но не работать с пользовательскими данными. Также лоадер загружается только в оперативную память, на диск записываются только отдельные модули (файл обновления в исправный винт можно записать сразу, выполнив команду в режиме permanent).
Откула брались лоадеры? Из обновлений прошивок, фирменных утилит, а также переключалок режимов DMA. Может, ещё откуда доставали. Из этого следует, что лоадеры есть не на все семейства. Есть на следующие: BF, CX, CY, EX, KA, KX, LM, lct08, lct10, lct15, lct20, SE, ST, TM, TR, Maxtor 540/740. Для всех прочих нужно использовать метод HotSwap - для этого нужен исправный донорский винт. Сборник всех лоадеров, что я нашёл: https://drive.google.com/file/...sp=sharing

Восстановление служебки
Итак, винт загружен и дал доступ к служебке. Дальше необходимо произвести проверку структуры служебной информации, определить повреждённые модули и переписать их взятыми из ресурсов (комплектов модулей, слитых с исправных накопителей).
Для функционирования накопителя не критичны модули 60, 2x, 3x, 4x
Для доступа к данным критичны модули 0E, 05, 08, 6x. Первые три критичны для самой возможности чтения/записи, остальные отвечают за адресацию и могут быть сброшены очисткой таблиц дефектов и внутренним форматированием.
Все прочие модули могут быть взяты от любой модели семейства с такой же прошивкой.
Повреждённый модуль 08 восстанавливается записью страниц конфигурации.

В: Maxtor D540X-4K, LDR загружается, все пишется, но после перезагрузки все забывается
О:http://www.hardw.net/forum/archive/topic_659__start_0__index.html
[q]
Похоже что pcmx540k после записи CP и сброса HDD инициализируется не полностью.

Этот метод не поможет если после загрузки LDR модули не читаются!

Не забывайте сохранять родные CP и модули!!!

CP10 желательно изпользовать родной.

Делать надо так:
Запускаем утил, загружаем LDR, записиваем CP07 и CP10 в ОЗУ !!!
!!!Перезапускаем утил!!!
Если таблица модулей не читается, скорее всего проблема в CP10, пробуем другой.
Если модули читаются, записиваем CP07 и CP10 на диск.
Выкл/Вкл HDD.
!!!Перезапускаем утил!!!
Записиваем _поврежденные_ СР в ОЗУ!!! Затем на диск! CP10 уже НЕ трогать.
Делаем проверку структуры служебной информации и записиваем неисправные модули как описано в доках.
После записи модулей Выкл/Вкл HDD.
[/q]
Работа с дефект-листами

(все цитаты - из справочных файлов к CP.EXE, курсивом даны мои пояснения)
Quantum не использует модуль транслятора (поэтому команды его пересчёта нет), физический (PBA) адрес сектора высчитывается из логического "на лету" в памяти по таблицам зонного распределения и таблицам дефектов. Также нету и заголовков секторов, поэтому команды внутреннего форматирования тоже нет - раз нет заголовков, то и переписывать их не требуется.
Есть три дефект-листа: P-List (модуль 60h), G-List (модуль 61h) и servo-list. Располагаются они (у SE/ST/TM) так:
Поле                  ST/SE       TM
                   сек. длина  сек. длина

* Цилиндр -2(-3) *

G-List              17   14     15  12
P-List              31   14     35  10
Servo-list          45   1      45  1

Также есть дефект-лист служебной зоны, расположен на -2 цилиндре в секторе 0. Если он не пуст, работа со служебкой очень сильно затрудняется, и это выходит за рамки моего рассказа.
У поздних накопителей дефект-листы приобретают форму модулей (ID101 - System Area, ID102, ID98 - G-List, ID96 - P-List (номера взяты из QUANTUM.INI, достоверность информации не проверялась) PC-3000 потреково с дефект-листами не работает, только нижеуказанными super-командами.
[q]
В накопителях Quantum Fireball ST выделяется пул из 32 секторов на каждые 65504 секторов. На заводе поверхности тестируются на дефекты. Если сектор признан дефектным, адрес сектора добавляется в дефектлист. Секторам физически следующим за дефектным присваиваются LBA, таким образом, чтобы последовательность логических блоков сохранялась. Такая внутрилинейная
технология замещения служит для устранения замедления передачи данных, которая вызывается одиночным дефектным сектором.
Выше упомянутая технология внутрилинейного замещения применима только к 32 секторам. Если внутри 65504 секторов будет найдено более чем 32 дефектных секторов, оставшиеся сектора будут замещены ближайшим доступным пулом замен.
У TM выделяется 2 замещающих сектора на цилиндр.

Дефект, который возникает во время работы накопителя известен как Ground grown дефект. Если сектор признан дефектным во время работы, то этот сектор замещается соответственно алгоритму используемому при заводском сканировании для секторов признаным дефектными после первых 32 резервных секторов. Т.е. внутрилинейное замещение не выполняется для ground дефектов.

Дефект может находиться или только в G-list или сразу в обоих (только в P-list дефект находиться не может - по крайней мере, наблюдать такое нам не приходилось). G-list содержит в себе полную копию P-list.
[/q]
Также у ST и новее есть возможность добавления трековых дефектов (ST/SE - до 4 штук), формат не знаю.

Для работы с дефектами существуют следующие команды:
  • Super 1F - Reformat In Line, добавить сектор в P-List. Внимание - трансляция при этом разъезжается! Параметром команды идёт полный сформированный блок дефектных секторов
  • [номер не знаю] - Reallocate - добавить единичный физический сектор в G-List (сделать ремап)
  • Super 10 - Reallocate Phys, то же, но в PBA
  • Super 2A - Get defect list
Кроме того, винт автоматически добавляет в G-List дефекты, найденные в ходе алгоритмов AWRE и ARRE (Automatic Write Reallocation и Automatic Read Reallocation, в цитате даны названия битов их включения/выключения).
Также для просмотра дефект-листов есть обычная документированная команда. С ее помощью просмотр умеют делать HDDSpeed, HDDUtil, а также маленькая программа QDL: http://dr-shost.com/freqs/dosutil/qdl.rar (описание к ней) Не забудьте пошариться по самому сайту http://dr-shost.com/ в поисках полезностей
[q]
Каждый дефектлист представляет собой массив из 7-байтовых записей длиной 7168 байт, в конце которого записан 1 байт контрольной суммы. Каждая запись состоит из трех полей. Байты 0-2 определяют PBA (Physical Block Address) дефектного сектора. Байт 3 хранит код ошибки (с этим кодом пока не все ясно - хотелось бы получить полный список возможных кодов и что они означают). Байты 4-6 хранят дополнительную информацию о дефекте. Так, если дефект вводится в режиме переназначения, то это поле хранит PBA замещающего сектора.
Код ошибки, равный FF, означает конец списка. То есть запись с таким кодом всегда присутствует в дефектлисте (если он пуст, то это - единственная запись). Остальные байты в такой записи равны 0.
Дефектлисты используются транслятором при трансляции логических параметров LCHS (или LBA) в PBA. При работе с поверхностями на уровне физических адресов CHS или PBA эти листы игнорируются, и к дефектным секторам открывается полный доступ.
[/q]
У накопителей старше ST формат дефект-листа был другой (см. QUANTUM.INI).
Так как дефект-листы имеют одинаковый формат и G-List дублирует содержимое P-List, у ST и новее возможно их слияние путём их считывания и последующей записи G-List на место P-List, после этого необходимо выполнить Reformat In Line.

Пару слов о серво-дефектлисте. В отличие от P- и G-листа, серводефектлист используется не транслятором, а всей микропрограммой винта. К секторам, адресуемым дефектной сервометкой, блокируется доступ даже по физическим параметрам (что позволяет избежать стуков и срывов серво-синхронизации).
[q]
Дефектлист состоит из 4-байтовых записей. Первые два байта - это номер цилиндра и головы, упакованные следующим образом: частное от деления этого слова на 8 дает номер цилиндра, а остаток - номер головы. Остальные два байта записи - это номера дефектных сервометок. Таким образом, на дорожке может быть скрыто не более 2-х сервометок. Если на дорожке дефектна только одна сервометка, то вместо номера второй сервометки записывается FF. Конец таблицы - четыре подряд идущих байта FF.
Этот дефектлист формируется в процессе прохождения теста 05 (Svfy) селфскана. Аселабовский тест сервометок не имеет к этому дефектлисту никакого отношения. Никаких команд для манипуляции этим дефект-листом нет.
[/q]
Скрытие дефектов
Итак, алгоритм избавления от бэдов получается следующий:

Для начала - оценить состояние накопителя сканированием поверхности по логике (можно универсальными программами). Дело в том, что объём дефект-листа у Quantum довольно невелик (у ST/SE/TM - 1024 дефекта, к тому же сгруппированных в пулы по 32, или вовсе по одному-два на дорожку). Если число дефектов меньше указанного количества и они не образуют группы, достаточно сделать reassign дефектных секторов, а затем перенос (у Quantum - фактически, слияние) G-List в P-List.

Если дефектов много, стоит попробовать выполнить последовательно "Тест сервометок" и "Тест поверхностей" в PC-3000. Фактически, это пара тестов из Selfscan. Назначение и смысл этих тестов соответствуют аналогичным у PC-FUJITSU (см. предыдущую главу). Для более подробного описания этих тестов - см. документацию к PC-3000 (ссылки в начале главы). Прибавлю к ней пару слов от Izyum:
[q]
У всех Мухтаров/Кваксторов, которые ко мне попадали, полсе теста сервометок нужно было либо в МХДД делать erase, либо в ПС3000АТ операцию стирания....
без этого не проходили ни тесты по физике, ни тесты по логике, ни скан в МХДД...

А операции ЛЛФ для них, как таковой, в утилях нет - при скане сервы по ходу выполняется потрековое форматирование финта...
по сему эту оперцию нужно выполнять до конца по всем головкам (нельзя ее останавливать на пол пути).

Транслятор у них пересчитывается автоматом после добавления в дефект-лист. По сему, при изменении геометрии винта, обнулении дефект листа, etc, для вступления в силу сделанных изменений нужно добавить в дефект-лист хотя бы один дефект.

К слову, перед тестом сервы нужно было бы обнулить дефект-лист...
А, соответсвенно, после теста скан по физике+скан по логике...Или, хотя бы, тест по логике с записью...На моей 80-тке на все это ушло около двух суток непрерывной работы:)
[/q]
Если дефекты располагаются большим блоком (задир, кольцевая царапина), скрытие их в дефект-лист может оказаться неэффективным или вовсе невозможным. В таких случаях применяют отключение зон. Существование этой методики возможно в силу отсутствия транслятора.
Для полного отключения зоны следует установить число секторов на дорожку (SPT) для неё в 0 (у ST и новее, для TM - 1, в связи с отличающимся механизмом скрытия дефектов - резервный сектор на дорожку). Нельзя (?) отключать зоны в середине, только в начале или в конце. В середине диска можно уменьшить SPT (оставить не менее половины от исходного, иначе возможен срыв синхронизации). Начиная с lct08, отключение зон делается для каждой головки индивидуально.

Если множественные дефекты идут по одной голове, следует принимать вопрос о её отключении.

Отключение головок
Отключать головки на старых семействах можно, начиная со старших (в середине пакета - перекоммутацией шлейфа). В старых семействах для отключения старших головок необходимо переписать микропрограмму от младшей модели. Начиная с TM, такой метод не работает - винт опрашивает подключенные головки. Для них делается аппаратная (на шлейфе БМГ) или программная переконфигурация. Об аппаратной переконфигурации можно прочесть в файле q_stsetm.pdf.

Программное отключение головок осуществляется правкой CP8 и CP14. CP8 содержит количество физических головок, а CP14 - битовую карту используемых. Ремонтные утилиты предоставляют механизм отключения головок в удобной форме. По отключаемой головке не должно быть записей в таблицах дефектов! Также отключаемая головка должна хоть чуть-чуть "держаться" за сервометки.

Младшей моделью в большинстве семейств является двухголовая, однако в ремонтных целях возможно получение одноголовых накопителей. 0-ю головку правкой CP8 и CP14 отключить нельзя - микропрограмма самостоятельно переправит изменения и отключит 1-ю. Для отключения нулевой сигналы выбора головок нужно поменять местами на шлейфе.

Таблицы конфигурации прописываются в копии по обеим системным головкам, а считываются, начиная со старшей. Поэтому после отключения 1-й головы обратно включить её будет затруднительно (см. q_stsetm.pdf) - изменения-то в неё больше не записываются, а в ней по-прежнему одна нулевая настроена! Так что, отключая 1-ю головку, будьте на 100% уверены в своих действиях. Ещё про первую:

BlackCat написал:
[q]
Итак пример, берем квантум ТМ , или что то вроде , 1.08 например ... 2 головы, первая полудохлая .... т.е. например много бедов, или по ней читает, но не пишет ... отключаем , затем пересчет лог параметров .... Вроде все ничего , но тут вся прелесть , Мы меняем паспорт а он не меняется ....
И так ... причина ... винт читает служебку по 1 голове, но она отключена .... и мы не можем на нее записать .... т.о. надо перед отключением скорректировать паспорт/ лог. праметры а потом отключать иначе споткнемся:)
[/q]
Для семейств начиная с EL (?) отключение головок вступает в силу только после прохождения "Теста сервометок". Также в P-List должен присутствовать как минимум один дефект.

Начиная с lct08, отключение головок через CP14 сделать нельзя, т.к. коммутатор при старте опрашивает подключенные головки. Там отключение головок заменяется отключением зон. Однако для отключения зон требуется, чтобы головка хотя бы более-менее читала и держала серву. Если и этого нет, головка выкусывается физически - не в прямом смысле, конечно: вскрывается гермоблок и отрезаются провода, идущие от головки (напоминаю, 0-я - нижняя).

Как после отключения головок, так и после отключения зон, не забудьте поправить Max LBA! Желательно также скорректировать название модели (хотя на работоспособность это не влияет).
Третья цифра серийного номера означает количество физических головок, чтобы не возиться с её подбором - выставьте её в 0.

Если же винт в принципе работает скверно, или хочется добиться идеального результата, или есть желание поэкспериментировать - винту делается селфскан.

Selfscan

Скрипт селфскана
Для запуска селфскана в служебную область накопителя должен быть залит скрипт селфскана (файл .SSO). Он создан производителем и скомпилирован в двоичную форму. Скрипт состоит из отдельных тестов, CP.EXE умеет раскладывать его в читаемом виде. Формат скрипта и основные тесты описан в DISKWARE.TXT, список всех возможных тестов можно найти в модуле 20. CP.EXE может запускать некоторые тесты поодиночке в исследовательских целях, а также выводить лог селфскана в читабельной форме.

В начале скрипта селфскана по смещению 8 содержится ключевое слово. Его значения:
SELFSCAN - селфскан должен быть запущен
RunNoMor или deadbeef - селфскан деактивирован
Также по смещению 30h находится признак активности селфскана - буква "S" (у неактивного скрипта - байт 00).

Чтобы селфскан не прерывался при выключении питания, скрипт селфскана остаётся где-то (не в модулях) на диске, откуда его и можно добыть, исправить ключевое слово и отправить для запуска.

Модули селфскана
Для работы селфскана необходимы следующие модули:
  • 20-28 - код и стартовые данные селфскана
  • 30-37, 40-43 - логи и промежуточные данные, создающиеся в процессе, среди них:
  • 31 - основной лог селфскана. В начале - результат (PASS или FAIL)
  • - временный дефект-лист селфскана
  • - временный серво-дефект-лист селфскана
  • - Отчет тестов настройки адаптивов
  • - Результаты селфскана
  • - Результаты селфскана
  • - Отчет теста Performance

В процессе прохождения селфскана винт стирает многие служебные модули и создаёт их в процессе прохождения, поэтому перед началом селфскана обязательно сохраните служебку!

Запуск селфскана
Перед запуском селфскана необходимо (?) очистить таблицу(-ы?) дефектов. Собственно запуск селфскана осуществляется командой Super 85 и(или?) передёргиванием питания. После включения винт, как обычно, инициализируется, рекалибруется и делает паузу в одну минуту (за это время можно обратиться к нему и отменить запуск селфскана), после чего зажигает светодиод и запускает процедуру самотестирования. Светодиод при этом вымаргивает номер теста, а в последовательный порт выводится диагностическая информация. Также процесс прохождения селфскана можно мониторить по интерфейсу. Время выполнения 4-8 часов, в зависимости от модели и состояния поверхностей. По окончании процедуры селфскана накопитель останавливает шпиндель и начинает моргать светодиодом. 1 раз в сек. - FAIL, 3-4 раза в сек. - PASS. Без скрипта селфскан проваливается сразу же по истечению минуты, служебка при этом не затрагивается.

Принудительный останов селфскана
В большинстве накопителей (чем новее, тем вероятнее) модули Selfscan находятся в нерабочем состоянии, поэтому успешное завершение селфскана на них маловероятно. Также селфскан может "забуксовать" из-за большого количества дефектов. Если селфскан не проходит, после передёргивания питания он запускается снова, и его необходимо остановить принудительно, изменив ключевое слово на RunNoMor, и залить обратно недостающие модули.

Итак, синопсис. Для проведения селфскана на Quantum необходимо:
1) Раздобыть скрипт селфскан (в файлах или в служебке самого диска), при необходимости исправить ключевое слово на SELFSCAN
2) Залить скрипт в накопитель
3) Подать команду Super 85 "Запуск Selfscan"
4) Передёрнуть питание и ждать завершения, наблюдая за прохождением по светодиоду и в терминале.
PC-3000 содержит скрипты на СR, CX, EL, ST, TM, lct08, lct10. CP.EXE содержит в комплекте скрипты на ST и TM.
Где брать скрипты селфскана на все другие семейства - не знаю.

Программы и утилиты
Ну и наконец - самое главное: какими программами чинить.

В-нулевых, следует обязательно упомянуть фирменные утилиты, которые можно найти в составе пакетов обновления прошивки. Именно на их базе разрабатывались все прочие.
A6B2DNR.ZIP - апдейтилка для TM. Содержит:
[q]
CFGCNTR.EXE - Config Center test executable, основная утилита для работы со служебкой
CFGCNTR.PRM - текстовый файл параметров к ней, содержит скрипты
EXITCODE.ERR - файл описания кодов выхода
GENERAL.ERR - общий файл кодов ошибок (устаревший)
TEMPEST.ERR - коды ошибок TM
DW.CPG - пакет обновления, состав описан в заголовке. Содержит UPD, LCP, SSO, страницы конфигурации и прочее.
[/q]
а такде прочие скрипты, командные и справочные файлы, которые дают проедставление о внутренней "кухне" Quantum в 93-94 годах.
BF_firmware_A103.zip и BF_firmware_A104.zip - обновления для BF. Содержат:
[q]
VORTEX.EXE - по сути тот же немного причёсаный CFGCNTR
.CPG, .ERR, .PRM, .OUT - см. выше
.MAP - параметры линковки программного кода
.LDR и .UPD - есть отдельно в архиве A103
HX.PRO - профиль к тестовому стенду
[/q]
Прочие пакеты обновления содержат только .UPD файлы (что тоже полезно как лоадер) и специфический для каждой модели заливальщик.

Во-первых, поддержка большинства моделей Quantum есть в PC-3000 DOS. Конкретно - AS, BF, CR, CX, EL, EX, FB, KA, KX, LM, LT, LV, RR, SE, SG, SR, ST, TM, TB, TR, всех lct и Maxtor D540/D740.

Во-вторых, есть такая программа - CP.EXE http://yura.projektas.lt/files/quantum_maxtor/cp.rar , авторы - Александр Степанов и Лёва Корягин. Предназначена для SE/ST/TM, ограниченно может применяться и для более старых семейств. Гораздо большие возможности, чему PC3000. Состав архива:
[q]
README.TXT - описание программы
DISKWARE.TXT - описание структуры микропрограммы винта и служебной информации
TM_DW.TXT - отличия служебки TM от более поздних ST/SE
SERVO.TXT - описание сервосистемы и формата секторов
CP.EXE - сама программа
EXT_RSC.EXE - утилита для разборки файлов ресурсов .RSC от PC-3000
Файлы, взятые из фирменных пакетов обновлений:
*.ERR - расшифровка кодов ошибок
*.SSO - скрипты селфскана
*.LCP - лоадер страниц конфигурации
*.UPD - файлы апдейтов (они же лоадер)
[/q]
В-третьих, можно попробовать использовать HDD.EXE. Я нашёл файлы конфигурации (скрипты) для него:
  • QUANTUM.INI - основной файл настроек: структура служебки, зонное распределение и др.
  • QU_SUPER.INI - ключ Super-On и форматы суперкоманд.
Советую в любом случае изучить эти файлы, если желаете заняться самостоятельными раскопками.


Коротко основные особенности и отличительные черты архитектуры Quantum:
1) Configuration Pages
2) На старых моделях - архаичный механизм скрытия дефектов (по сектору на дорожку)
3) Паспорт в явном виде не хранится
4) Транслятор на диске не хранится, собирается в ОЗУ "на лету" из таблицы зонного распределения и дефект-листов
5) G-List содержит копию P-List
Всё остальное - типично для большинства прочих HDD.
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
Уф, дописал раздел по квантумам, пару недель в несколько заходов заняло... Потом ещё будут мелкие добавления и исправления по результатам личных экспериментов.
Почему столько подробностей и такое внимание уделяю теории? Это всё будет использоваться также как опорный материал по более сложным в ремонте производителям. Там тоже всё это применяется - модули, оверлеи, бинарные скрипты, суперкоманды, сложная система скрытия дефектов... Старые Seagate в этом плане стоят особняком, у них не очень много общего с остальными.

Ребят, интересно хоть? Напишите что ли какой-нибудь отзыв, пожелания, предложения, вопросы по материалу.
zatimof
Newbie


Всего сообщений: 3
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 фев. 2018
Очень интересно, правда. Чертовски теперь жалею, что около года назад провел ревизию своих дисков и все дохлые, полудохлые и глючные безжалостно раздраконил на магниты((((. А ведь там были интересные экземпляры, которые еще можно было оживить благодаря Вашим статьям.
ATauenis
Advanced Member


Откуда: Москва
Всего сообщений: 2904
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 апр. 2015
Материалы интересные и понятные, как появятся подходящие трупы, попробую их помучить. Пока что история 1:1 как у zatimof, только я раздербанил свою стопку стучащих стариков на магниты и выменял их на 20ГБ U Series X и горсть процессоров Coppermine ещё 5 лет назад. Хотя, стоп, какие 5, уже 8. :)
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
От Квантума естественным путём переходим к Макстору ("мухтары").

Maxtor Corporation — бывший американский производитель жёстких дисков, штаб-квартира - Милпитас, Калифорния. Компания была основана тремя бывшими сотрудниками IBM в 1982 году в Сан-Хосе, Калифорния. В 1983 году Maxtor представила свой первый продукт, Maxtor XT-1140 (5.25"/FH MFM, 15 пластин, 140 Мб). За 9 лет разработки оригинальная серия XT достигла ёмкости в 1 Гб. В середине 90-х права на эту серию были проданы компании Sequel (Санта-Клара, Калифорния) Эта компания, ответвление от Unisys, не был производителем жёстких дисков, а занималась лишь их восстановлением для корпоративного рынка. Под угрозой банкротства в 1992, Maxtor покинул рынок серверных жёстких дисков. К тому времени 7000 серия SCSI была признана устаревшей и снята с производства, и к концу 1993 года все инженерные подразделения в Сан-Хосе были закрыты, осталась только команда разработчиков из бывшего MiniScribe.
В 1990 году Maxtor купила производителя жёстких дисков MiniScribe, вступив на потребительский рынок. Последняя модель этой фирмы, Miniscribe 8051A, некоторое время выпускалась под брендом Maxtor (у меня в коллекции есть такой винт), и отдельные его черты прослеживаются в последующих разработках. Поглощение прошло не особенно гладко, и первые продукты объединённой компании (например 7120AT на 120 MB) страдали от множества конструктивных и производственных дефектов (подтверждаю, у меня 7131AT был списан из-за обилия бэдов). В 1996 году линейка продуктов была полностью переработана, и была представлена серия DiamondMax с процессорной архитектурой Texas Instruments DSP. В 2000 году Maxtor приобрела Quantum в качестве подразделения, которое изобрело для Maxtor интерфейс ATA/133 и помогло Maxtor снова вступить на рынок серверных жёстких дисков. В декабре 2005 года, незадолго до приобретения, Maxtor был третьим в мире по величине производителем жестких дисков. В 2006 году Maxtor была приобретена компанией Seagate. Влияния разработок макстора на продукцию сигейта мной не замечено.
Также жёсткие диски Maxtor продавались под маркой Nikimi. Эти диски - ремонт в заводских условиях, т.н. рефаб.

Семейства
Помимо имени, все семейства Maxtor имеют кодовое имя. "Новые" модели отдают его в паспорте вместо номер модели при ошибках в служебке. Также оно написано на плате (правда, не всегда совпадает с фактическим), так что с опознанием проблем не возникает. Римские цифры на плате после номера - скорее всего ревизия семейства, на специфику ремонта не влияет. Интересная особенность маркировки - на плате нарисован символ. Символика некоторых моделей:

7171AT "GTO IV" - "автомобиль Pontiac GTO"
7120А, 7080A, 7060A, 7040A - "штурмовик Warthog"
71084A, 71336A, 71626AP - "круглая рыба"
7213AT - "хамелеон"
71687AP - "птица в полёте"
7850AV "Triumph III" - "мотоцикл"
7121, 7213, 7245AT - "самолёт анфас" (или что-то в этом роде)
7345AT - "вздыбленные кони"
7420AV, 7540AV - "два клетчатых флага"

По старым моделям, архитектуры 7000, информации немного (вот, например, текстовые описания: http://lorien.alyon.org/InfosT...axtor/ide/ ). Служебки как таковой они не имеют, вся информация, кроме таблиц дефектов, хранится в ПЗУ. Процессорная архитектура - Intel MCS-96. PC3000 поддерживает их ограниченно: низкоуровневое форматирование, просмотр таблицы дефектов, их поиск и скрытие.

PCMX7120.pdf - для моделей 7120А, 7080A, 7060A, 7040A "Cheyenne"
PCMX7XXX.pdf - руководство по ремонту 7131A, 7135AV, 7170A, 7213A, 7245A, 7270AV, 7345A, 7420AV, 7425AV, 7540AV, 7541A, 7546A, 7850AV, 71050A, 71084A, 71260A, 71626А.
PCMXLXT.pdf - по семействам LXT-xxxA (LXT-200A, LXT-213A, LXT-340A, LXT-535A) (двойной высоты) и MXT-xxxA (MXT-540A). Вот ещё есть программа низкоуровневого форматирования MFORMAT2 для них, и всякие прочие программы: ftp://ftp.mpoli.fi/pub/hardware/HDD/MAXTOR/INDEX.HTM

Из этого поколения у меня есть только 7850AV

Рабочий, только подшипники подозрительно звенят. Вот прошивка от него для желающих покопаться. Судя по ней, у винта есть диагностический терминал с диалоговыми меню (!) (терминал выведен на контактные отверстия на плате и подписан), осталось только разузнать, как его активировать. Вот ещё для анализа прошивка, модули, логи и фото на Maxtor 71084A
Ещё по ним могу предложить Maxtor Low level format Uyility (MAXLLF) 1996 года.

Начиная с 1996 года, Maxtor полностью переделывает модельный ряд и вводит новую платформу на процессорах TI DSP. Одной из отличительных особенностей топовых накопителей Maxtor являлась технология DualWave - отдельное DSP ядро для обработки потока данных и отдельное RISC ядро для обработки команд, что долгое время (практически до заката Maxtor) обеспечивало дискам этой фирмы лидирующие показатели практически во всех тестах. Также компанией Maxtor (вернее, командой из поглощённого Quantum) был разработан и впервые введён стандарт ATA-133.
Семейства до DiamondMax 60/VL30 включительно PC-3000 официально не поддерживаются (хотя можно попробовать). Дело в том, что c выхода 8000 серии до поглощения Quantum винчестеры Maxtor в Россию практически не поставлялись. Это же означает, что шанс встретиться с ними - минимален.
Семейство Кодовое имя Процессор Макс. число пластин Ёмкость пластины, Гб Скорость шпинделя, об/мин.Примечания

CrystalMax 8754875M4480Также фигурирует как "8000 series". Анонсированы в сентябре 1996 года. Плата похожа на предыдущее семейство, рисунок на ней - "голова льва".

CrystalMax 1080SOLARDSP41.084480

DiamondMax 1280DSP41.2

DiamondMax 1750SOLARDSP41.75200

DiamondMax 2160NORTHSTARDSP42.15400Символ на плате - "N-образная стрелка и две звёздочки"

DiamondMax 2880GALAXYDSP42.85400На плате рисунок "планетная система". Не путать с Seagate GALAXY. Обновление прошивки от Dell

DiamondMax 3400VEGADSP43.45400Рисунок на плате - "звезда"

DiamondMax Plus 2500VEGADSP42.57200По-видимому, первая серия на 7200 об/мин.

DiamondMax 4320VEGADSP44.35400

DiamondMax Plus 5120NOVADSP45.17200На плате рисунок - "стилизованная надпись NOVA". Обновление прошивки от Dell

DiamondMax (Plus) 6800METEORDSP46.85400 (7200)Предположительно, первый с технологией DualWave

DiamondMax 36INT V-3DSP48.75400

DiamondMax VL17INT V-3DSP28.75400VL означает Value Line - потребительская серия (малое число дисков, нет DualWave). Упрощённая версия DiamondMax 36.

DiamondMax (Plus) 40DRACO (или DRAGO?)DSP8105400 (7200)

DiamondMax VL20Millenium TNT VDSP4105400Удешевлённая параллель 40-й серии

DiamondMax Plus 45NEBULADSP7200

DiamondMax VL30ALTAIRDSP2155400 Параллельна 60-й

DiamondMax (Plus) 60RIGELDSP8155400 (7200)Патч SMART от Compaq

DiamondMax VL40PROXIMADSP2205400Параллельна 80-й

DiamondMax 80LEODSP4205400Надпись на плате - BLUE-FISH3 - названием семейства не является.

D531X (DiamondMax VL15)NIKEDSP110/15*5400"Тонкий", 1 голова (т.е. пластина по 30Гб технологии), внешняя парковка. Разная ёмкость достигается разной плотностью записи.

D536DXVULCANDSP3307200

D540XDSP4405400Надпись на плате - BLUE-FISH, скорее всего, названием семейства не является. Не путать с D540X-4K!

D540-4DROMULUSDSP/Poker2407200Выпускалась на двух типах процессоров

D540-4GNEPTUNEPoker440Впервые в индустрии - LBA48, первая модель макстора с ATA133

D541XATHENADSP/Poker110/15/20*5400"Антена". "Тонкая" одноголовая модель (т.е. пластина по 40Гб технологии). Выпускалась на двух типах процессоров, 16-разрядном DSP и новом 32-разрядном Poker. Отличается бажным микрокодом. Существовала модель на 40 Гб - 2B040H1, инженерные образцы, которые не должны были пойти в серию, но каким-то образом попали в продажу.

Fireball 3ARES 64KPoker40*7200"Тонкий" (технология 80 Гб/пластина). К накопителям Quantum Fireball отношения не имеет, просто эксплуатация раскрученной марки. Первая модель на новом процессоре (более старые разработки потом частично перевели на новую электронику) Первый накопитель с кол-вом цилиндров больше 64к, отсюда цифра в названии.

DiamondMax Plus 8N40PArdent807200"Тонкий" одноголовый (ёмкость 40 Гб, модель на 30 Гб - понижение плотности, модель на 20 - обрезание последних зон). Мелкая надпись на плате - Apollo. Патч прошивки от IBM

DiamondMax Plus 9CALYPSOArdent360/807200"Клипса". Очень популярное (и очень проблемное) семейство. Также выпускалось как MaxLine Plus II - с максимальной ёмкостью в 250 Гб. Обновление прошивки до версии YAR51EW0 для 6Y080M0 (SATA)

DiamondMax 16FALCONPoker4805400
Также выпускался как Maxline II.
DiamondMax Plus 10 (SATA), MaxLine IIISABRE(2)Beagle (Oscar)380, 1007200Этот и все последующие PC3000 DOS не поддерживаются

DiamondMax 11, MaxLine Pro 500GRIZZLYSeaglet4100/1257200Выпускался как дополнение к 10-й серии, емкость минимум 400 Гб. Обновление прошивки для них

DiamondMax 17(производства Marvell)1607200Внешне выделяется увеличенным кругляшом на крышке над шпинделем. Плата установлена деталями к гермоблоку. По-видимому, последняя собственная разработка Maxtor.

Семейства D540X-4K и D740X-6L относятся к Quantum и уже рассмотрены выше. Серии DiamondMax 20-23 являются перемаркированными Seagate и рассмотрены в главе про ремонт сигейтов.
2.5" и PCMCIA винчестеры на старой платформе также выпускались, под маркой MobileMax, но редкость это несказанная. На новой платформе готовилось к выпуску, но так и не вышло семейство Janus.

Особенности и типовые неисправности отдельных семейств

Все "тонкие" Maxtor ("шоколадки") - очень неудачная конструкция:
[q]
HDD эти мертворожденные, в принципе. Из-за бюджетной направленности с целью удешевления, в накопителях Maxtor slim присутствует ряд инженерных просчетов. Основное слабое место дисков - подшипник шпиндельного двигателя. При включении и раскручивании ШД диск издает характерный шипящий шум. Проблемы с двигателем приводят к проблемам в позиционировании головы из-за всеразличных микробиений. И как следствие - многочисленные сектора с задержками чтения и ошибками чтения. Исправить проблему не помогает даже заводской скан, который автоматически способен снижать плотность записи по поверхности. Вывод - диски такие ремонту не подлежат.
[/q]
[q]
Инфа нужная есть? Тогда в сервис. Если нет - то выкинуть его. Все "плоские" максторы (да и не "плоские" времен до Сигейта) - позор хардостроения. Для интереса можешь его разобрать и посмотреть как там блин крепится к двигателю шпинделя - это просто позорище.
[/q]
Я не поленился разобрать один такой неремонтопригодный винт и сфотографировать:

Как видно, одним-единственным винтом диск крепится. А ещё у них ненадёжная герметизация корпуса, верхней наклейкой.
Интересный факт: так как у этих моделей: 1) Один блин, 2) Одна головка (нижняя), 3) Упрощёное крепление диска, 4) Парковка на рампе (внутренней); то для снятия данных при проблемах с головками/шпинделем/коммутатором проще всего оказывается переставить блин в донора. С другими винтами такой фокус вот так запросто не пройдёт.
Низкое качество "тонких" максторов невзначай подмечали даже в позитивно предвзятых обзорах: https://fcenter.ru/online/hard...st_pervaya

ATHENA - характерный баг модификации DSP: в случае неисправности P-List винт раскручивается, распарковывается, а потом останавливает шпиндель, забывая запарковать головки! При аварийной остановке шпинделя начинает калиться один из трёх полевиков - осторожно, не спалите!
Для этого очень глючного винта (особенно в модификации POKER) есть бесплатная "однокнопочная" утилита для починки служебки Maxtor HDD Firmware Repairот SalvationData (также фигурировала как "китайская утилита от xlysoft") - демо-версия полной платной утилиты, поддерживающая только одну эту модель. Я пробовал - прога рабочая. Обсуждение: http://www.rom.by/forum/Proshc...nyj_podvid
Ещё для него же от той же фирмы есть HDD Software Repair, можете попробовать использовать для скрытия бэд-секторов.
Разбор упомянутого бага и действитй HFR2.0 от Tomset

N40P - используется внешнее SPI Flash ROM типа 25С010 (только с процом C5). ПЗУ содержит адаптивы, при замене платы необходима его перепайка. Аналогично с лоадером - для нормальной инициализации нужен подбор подходящего.
Накопитель нередко портит себе P-List. Меняется заголовок (см. выше про блокировку модулей), и один или несколько секторов становятся софт-бэдами.
[q]
К слову сказать максторы все почти голвоами болеют - что аресы, что н40п, что калипсы, что ромулусы до кучи... И D540x-740x болели, и аненны но чаще всего они таки дохли от нарушения центровки блина и запилов.
[/q]
Для диагностики проблем с головками и считывания информации с такого винта - попробовать винт нагреть или охладить.

CALYPSO - также флеш-ПЗУ.
Есть модели с плотностью 60 Гб/пластина и 80 Гб/поластина, лоадеры и платы у них несовместимы. Специфическая неисправность при выходе из строя одной или нескольких головок: определяется заводским псевдонимом, но при этом есть доступ к служебке и все модули целые.
При нерабочей записи (см. выше) есть вероятность испортить критичные водули и при следующем старте незаметно вылететь в альтернативную служебку. Она будет выглядеть целой ("я всё починил!"), но это не та служебка.
Могут иметь два возможных формата G-List. По умолчанию PC-3000 показывает "новый". Для просмотра в "старом" формате выбрать накопитель как N40P. Подсказку по структуре форматов можно глянуть в доке hrt_maxtor.pdf, если интересно.

ARES 64K - Нередко встречается такое поведение:
[q]
программы , пишущие в сектора работают без проблем с нормальной скоростью, но чтение этих же секторов в MHDD и др.
показывает скорость 137 кб\сек и поливает все красным.
Иногда начинает работать нормально, но потом снова впадает в кому.
[/q]
Причины: http://www.hardw.net/forum/arc...index.html
[q]
Это стандартаная болячка FB3. Поверхность у него деградирует. А на трудно читаемых секторах он надолго задумывается. Если все трудно читаемые сектора перенести в P-лист, какое-то время поживет, пару недель-месяц при интенсивной работе. Потом опять. Если банку открыть - видно, что фильтр у него уже темный, хотя явных задиров и не видно.

да действительно. уже 3 таких FB3 проскакивало.. и у всех одно и тоже.
я так понял- банку в помойку.
Один поставил на ночь скрывать огромную кучу дефектов.. так он с утра уже просто клацал головой) помер.
выходит , что FB3 в плане поднятия и дальнейшего юзания совсем не интересны.
[/q]
Маркировка
Старая система обозначений:

Расшифровка модели:
2-4 цифры - ёмкость в десятках Мб
6 буква - тип интерфейса (D - ATA33, U - ATA66, H - ATA100)
7 цифра - число головок/рабочих поверхностей
К сожалению, определить принадлежность к какой-либо серии по обозначениям на крышке невозможно, используйте поиск в интернете.

Новая система обозначений:

Номер модели (7 символов) подчёркнут красным. Расшифровка:
1 цифра - предположительно, скорость шпинделя (4,5 - 5400, 6,7 - 7200, 8 - 10k/15k)
2 буква - семейство:
  • W - D536DX
  • D, K - D540X
  • J - D540X или Atlas 15k V ROHS
  • R - DiamondMax 16 (младшие модели семейства)
  • T - DiamondMax Plus 60
  • E - DiamondMax Plus 8, Atlas 15k II
  • Y - DiamondMax Plus 9
  • F - Fireball 3
  • K - D540X-4K "квакстор", Atlas 15k II ROHS, DiamondMax Plus 8 ROHS
  • L - D740X-6L "квакстор", DiamondMax 10 ROHS
  • V - DiamondMax 10 (SATA2), MaxLine III SATA2
  • G - D540X-4G, DiamondMax 17
  • H - DiamondMax 11, Maxline Pro, QuickView
  • N - DiamondMax 8S ROHS
  • A - Maxline II или старшие DiamondMax 16
  • B - Atlas 10k IV, DiamondMax 10
  • C - Atlas 15k
  • D - Atlas 10k V

3-5 цифры - ёмкость в Гб
6 буква - конструктивное исполнение (J - шарикоподшипники, L - гидродинамические, P - кэш 8 Мб (против 2), R - кэш 16 Мб, M - SATA/8M кэш, S - SAS или SATA/16M), E - SATA2/8M, F - SATA2/16M
7 цифра - неизвестно
Дополнительно:
9 цифра - число головок. Также число головок - 2-я цифра серийника. Есть мнение, что при отключении головок она должна быть скорректирована.

В обеих системах маркировки версия прошивки - после слова Code. Также отдаётся в паспорте, для которого берётся из ПЗУ (наплатного или подгружаемого образа). При этом выводимая версия может видоизменяться:
2 символ: A - основная служебная зона (см. ниже), С - альтернативная
8 символ (последний): 0 - микропрограмма загружена, Z - оверлейный код не загружен, работает ПЗУ

Под версией Code - четыре буквы через запятую.
[q]
буквовки K.M.B.A.
K - код производителя головок
M - код производителя блинов
B - код производителя моторчика
А - код вендора предусилителя
[/q]
Кто-то из гуру утверждал, что лучше всего подходят лоадеры от дисков с такими же кодами компонентов.

Ещё есть наклейка на разъёме, с пятью буквами, например, A8FFA. Sable про нё писал:
[q]
A8 - суть версия МП
FF - имеет отношение к блоку головок (зависимости как нить по случаю распишу)
а вот что есть последняя "А" я так и не поонял...
Кстати, господа ремонтники, у меня крайне интересная статистика по этим самым буквовкам, с точки зрения сколько каких прошло через мои руки.
Грубо говоря... версии типа D6 или G8 в ремонт по случаю слетевших G-листов (к примеру) практически не попадают... А вот всяких A8, B2, B8 - как грязи...
[/q]
[q]
На наклейке – B8FEA, т.е. Версия МП – B8, FE – код конфигурации HDA (Head Disk Assembly), A – это значит основное производство, не заказное.
[/q]
Ссылки
Страница техподдержки Maxtor
https://www.unix-ag.uni-kl.de/~pcfe/Html/ftpfiles.html - каталог Maxtor FTP за 7.10.1996г. Ссылки не работают, ищите файлы по именам.
Справочник по HDD: Maxtor `2003
Maxtor Storage Products Guide - путеводитель по последним моделям самостоятельной фирмы
Escalibur
Advanced Member


Откуда: Москва
Всего сообщений: 945
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
12 окт. 2017
По-моему, тема давно достойна прикрепления.
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
Прежде всего оговоримся: 7000 серию далее не рассматриваем. Я по ней кратко прошёлся выше, больше по ней сказать нечего. Если что всплывёт - выше и добавлю.

Процессоры
Прежде всего, как вы могли заметить в таблице моделей, первоначальный процессор DSP позже сменяется POKER/ARDENT. Слово предоставляется главному макстороведу Sable: http://hardw.net/forum/topic6299.htm#61803
[q]
Так, давайте раз и навсегда определимся с аресами с64к.

ARES C64K - первый опыт макстора с числом цилиндров (нарезкой) более 65536, т.е. для адресации цилиндра нужно уже не слово (WORD, 16 разрядов), а как минимум двойное слова (DWORD, 32 разряда). В связи с этим был осуществлен переход с 16-ти разрядных процессоров (лицензированных у Ti, производства Lucent/Agere) на 32-х разрядные процессоры от той же Ti, производства все той же Agere. Если 16-ти разрядные процессоры шли под логотипом DSP, то 32-х разрядные - под торговой маркой Poker/Ardent, не сосредотачивая все силы на производстве накопителей с более 64К цилиндров, продолжалось производство накопителй "старого образца", т.е. ATHENA - с новым процем, старой БМГ и заново перекомпилированой микропрограммой под 32-х разрядной процессор - вот почему эти самые афины (плоский представитель) и полноразмерные ROMULUS встречаются двух типов. Ну да ладно, отвлекся от злополучных аресов.
Введение стольких новшеств не могло не отразиться на собственно микропрограмме накопителя, т.е. на программном обеспечении. На накопителях ARES фирмой Maxtor было впервые применено понятие "обкаточной версии блинвари", которая в дальнейшем трансформировалась в пресловутую "С-варь" или "альтернативку". Но на АРЕСах и первых N40P обкаточная версия блинвари находилась в логическом пространстве основной служебки, и переключение между ними производилось путем определенных манипуляций с модулем DISK. Отличие варей типа "А" и типа "В" значительны, в силу тех задач, которые им приходится выполнять. К примеру в "В" напрочь отсутствуют процедуры трансляции LBA-CHS для юзер арии и совершенно по иному обрабатываются механизмы трансляции UBA-CHS, в "В" отсутствуют многие АТА-вещи типа SMART, системы паролирования и проч. Но самое главное, там совершенно по иному реализованы механизмы обработки дефектов поверхности!!! (тут быстро вспомнили, что цилиндровую нарезку до 64К отрабатывали годами, а 64К - дело новое, нехоженное)...
Это предыстория. Теперь, собственно, сама история....
Чтобы не отстать от конкурентов и не ударить в грязь лицом Макстор как сумашедший носится по производителям блинов (platter), головок (head) и предусилителей-коммутаторов (preamp). На каждую комбинацию вендоров (правда потом сошлись на TDK - производитель голов, Agere - производитель преампов) инженерам приходилось переписывать МП с учетом всех тонкостей для каждого вендора. Делалось это все в невообразимой спешке! (чтобы успеть за конкурентами)... Да, совсем забыл... Очередное веяние моды - гидродинамические подшипники! Тоже накладывающие свои нюансы в слаженность всей сервосистемы...
В итоге, что мы имеем для накопителей ARES C64K фирмы Maxtor:
1. Первый опыт в нарезке более 64К цилиндров
2. Новый 32-х разрядный процессор
3. Новая идеология микропрограммы накопителя
4. Суета с поставщиками блинов/голов/преампов
5. Куча версий этих самых МП
6. Новый гидродинамический подшипник
Куда ни кинь - кругом "новое", "новое" и "новое"...
Выводы:
- накопители ARES C64K лучше всего характеризует гондурасская народная поговорка "первый блин - комом".
- ремонтировать таких моральных уродцев по прошествии 5-ти лет с даты изготовления - бессмысленная трата времени и нервов.
Из плюсов - ремонтировать(?) их можно ... но с целью получения бесценного экпиринса в деле ремонта накопителей. Ибо все технологии, которые будут отработаны на аресах - с небольшой адаптацией применимы к ЛЮБОМУ натив-макстору.
И в догонку - экспиринс тем выше и действенней - если вы САМИ восстановите такой накопитель, с помощью небольших пинков нужном направлении от истинных мастеров этого дела и огромного объема информации, рассыпанного по бесчисленным спец-форумам.
[/q]
Итак:
1) Все Maxtor делятся на две категории: старые DSP и новые Poker/Ardent (для ещё более новых - бесплатных утилит нету). Для их починки используются разные утилиты, но архитектура служебки в целом у них одинакова, и далее они описываются вместе.
2) Часть старых серий (ROMULUS и ATHENA) позже стали выпускаться с новой электроникой и процессором.
3) У Poker только у Ardent есть две служебки: основная и альтернативная тестовая, или Alt-SA. Из альтернативной служебки пользовательская зона не доступна. Подробности далее.

Руководства по ремонту
Изложенный материал - в основном их переложение в сжатой и сокращённой форме, дополненное и исправленное инфой с форумов.
От PC-3000 DOS: http://files.hddguru.com/downl...Maxtor.pdf
От PС-3000 PCI (Win): http://files.hddguru.com/downl...s_ver2.pdf
От HRT: hrt_maxtor.pdf

Структура служебной информации
Порядок загрузки
Микропрограмма хранится в ОЗУ. Первым делом копируется в память и стартует ПЗУ размером 128 кбайт (1 Мбит или 256 секторов). Их два: если на плате есть последовательное или параллельное флеш-ПЗУ, используется оно, если нет - стартует масочное ПЗУ из проца. Масочное ПЗУ при этом может относиться к другому семейству: так, например, без ПЗУ CALYPSO может определяться как N40P.
Как в масочном, так и в последовательном ПЗУ есть загрузочные адаптивы (только для чтения, не для записи!).
Далее проверяется положение перемычки safe mode. Если она установлена, шпиндель не раскручивается и винт отвечает только на две команды: выдачу паспорта (отдаётся технологическим именем семейства, а версию МП - пишет версию ПЗУ) и загрузку микрокода 92h. По этой команде в винт можно загрузить лоадер для дальнейшей работы со служебной зоной на диске. О работе с лоадером расскажу далее.
Если перемычка не установлена, с диска считываются таблица дефектов служебной зоны, модули оверлеев, полные адаптивы служебной зоны и копия ПЗУ, которая полностью замещает считанное с флешки/из маски.
Далее считываются прочие модули, необходимые для нормальной работы, и винт выходит на готовность в обычном режиме.
Если в ходе загрузки модулей служебки произошла ошибка, винт ищет на диске альтернативную служебную область, и если она есть - загружается с неё.
В случае полной невозможности чтения или ошибки по обеим областям, винт переходит в состояние FAIL - подобно safe mode, но выйти из него нельзя и лоадер грузить бесполезно: надо ставить перемычку safe mode и передёргивать питание.
Возможна частичная инициализация: винт определяется своим именем, но последняя буква в версии микпропрограммы - Z. Обычно при этом он даёт доступ к служебке без лоадера (?).

Модули
Служебка Maxtor - классическая, модульная. Служебная зона расположена на внешних цилиндрах (у тонких дисков с внешней парковкой - на внутренних). Адресация секторов в служебке - логическая, по UBA (Unit Block Addressing). Обращение к модулям - по однобайтному позиционному номеру (PN) в карте модулей (Road Map) (где эта карта находится - см. расследование ниже). PN ни в заголовке, ни в теле модуля не прописан. Заголовок состоит из имени (длина 2, 4 или 8 байт), у табличных вместо имени - байты 55 AA. Байты имени - в порядке big-endian (так, RCT0 видно как CR0T), при просмотре в редакторе - переставить местами байты в слове. Имя (если место позволяет) включает в себя номер копии. Сразу за именем начинается тело модуля. Все модули, кроме SMART, защищены контрольной суммой. Нумерация в ходе эволюции не менялась, однако имена у разных поколений могут различаться. Модули дублируются по нескольким головам и по разным UBA (см. ниже). PC3000 по PN оперирует только с первой копией, остальные доступны потреково в режиме "Чтение групп модулей". Системная голова у подавляющего большинства винтов - 3-я (у тонких единственная голова также имеет номер 3)

Назначение модулей (расположены по возрастанию UBA):
Модули данных:

PN Название Назначение
37, 7AU_LISTТранслятор служебной зоны. Копия с PN=37 всегда начинается с UBA 0, копия с PN=7A - в самом конце служебной зоны.
1FDISKПаспорт диска
78RZTBLТаблица распределения дефектов по зонам
37AT_PDLЗаводской дефект-лист (P-List)
21RCTАдаптивы юзер-зоны
1ESRVАдаптивы сервосистемы
1ASECUATA-пароли
2FПороги SMART
30Атрибуты SMART
63Копия атрибутов SMART
22ATAFФлаги настроек ATA (автоскрытие дефектов, парольная защита, поддержка LBA48...)
34ARREH
48LABELИнформация о деталях (диски, головки, преамп...) Также такая информация есть на наклейке на торце.
1DDMCS
1BAT_POLРастущая таблица дефектов (G-List)
35AT_XALУ старых DSP - таблица кандидатов в дефекты
64MAXATG
5EEVTLG_00Лог ремапов
70Суммарный лог SMART
71Лог самотестирования SMART
72Лог SMART Host Vendor
7BFW
95DISKДополнительный DISK, есть только у моделей без Alt-SA. Второе влово (байты 3-4) определяет выбор микропрограммы - 1 или 2 (не путать с альтернативной служебкой!).
93FMTIЗонные таблицы и индивидуальные настройки по каждой голове (используется только у полноразмерных
A7AT_POLКопия 1B (только у Ardent)

Кодовые модули:
У каждой из служебок есть по две выбираемых микропрограммы - 1 и 2.

39ROM_SAПодгружаемая копия ПЗУ 1
38OVL ATAATA оверлей 1
4FOVL TECHОверлей технологических команд 1
97ROM_STПодгружаемое ПЗУ 2
96OVL ST1Оверлей 2
98OVL ST2(в двух частях)

Модули селфскана
Эти модули некритичны для работы, но могут использоваться для ремонта.

33HLUTL & HUSRПромежуточная таблица дефектов служебной и пользовательской зон
11MX_ST_CFG1
43MX_ST_CFG2
0DMX_ST_CFG3
0EMX_ST_SCRIPTСкрипт селфскана
83Информация о компонентах
31DISKКопия 1F
14STRS
46OPTIНастройки самотестирования
47STRS
Ещё по модулям от Sable:
[q]
Модуль 43 являтся НЕ ЛОГОМ!!!! это по сути параметрический модуль.
В нем, например для тестов поверхности, формируются переменные и константы необходимые в первую очередь для самого теста! Т.е. начальный-конечный цилиндры тестирования, шаг прирощения, величины придирчивости, максимальновозможного количества ошибок и пр. Но в этом же модуле (хотя и не только в нем) прописываются, к примеру, текущий цилиндр "действа" и пр.
Хотя по сути логом в чистом виде является "самый большой" модуль из группы скановых ... партнумбер не помню, помню что длиной от больше 800h секторов :). Причем на каждый тест выделяется свое число секторов этом модуле. И ошибка "переполнения лога" именно тем и вызывается, что кое-какие тесты ДОПИСЫВАЮТ логи, а кое-какие - ПЕРЕПИСЫВАЮТ!!!
Для любителей "анализа" - офигительный "простор для творчества".
[/q]
[q]
RZTBL - это с легкой руки AceLab стали назвывать зонной таблицей. На самом деле это распределение дефектов по зонам.
Реальный зонник в MFIT.
[/q]
Индивидуальны для каждого накопителя и критичны для его работы: 37, 78, 18, 93
Критичны, заменяемы с подбором по модели/версии/итд.: 1F, 22, 1D, 95, 39, 38, 4F
Могут быть восстановлены или пересозданы: 1A, 2F, 30, 63, 1B, 35, 70, 71, 72, A7
Остальные данные для работы в обычном режиме не критичны. Среди них:
Модули селфскана: 11, 43, 0D, 0E, 46, 47
Модули второй микропрограммы: 97, 96, 98 (заменяют 39, 38, 4F)
Если адаптивы (модули, их содержащие) потеряны, то диск будет работать в лучшем случае только на чтение. Пересчитывает адаптивы Selfscan (но данные, при этом, естественно, разрушаются). Немного о них:
[q]
ID21 = UBA 0145; ID21(copy1) = UBA 3519 - это адаптивы поверхности данных. Критичен для данных пользователя. Во время selfscan происходит пересчёт адаптивов поверхности.
ID1E = UBA 016d; ID1E(copy1) = UBA3541 - это сервоадаптивы. После записи от другого можно навсегда лишиться возможности дальнейшей корректной работы со служебкой. В самом начале selfscan происходит пересчёт сервоадаптивов. Вероятно также есть команда для их пересчёта, без запуска selfscan.
[/q]
Разбор отдельных модулей
U_LIST (37) - транслятор служебной зоны. 8 копий, в таблице модулей только 2 (остальные доступны при посекторном чтении). Индивидуальная структура по каждой головке. Также содержит число используемых секторов в модуле AT_PDL, поэтому эти модули должны всегда переписываться вместе. При работе время от времени переписывается, из-за чего может быть разрушен!
[q]
Первая копия ULIST на Калипсе замечено - всегда содержит паспортные данные. Это нормально!
[/q]
DISK (1F) - информация о диске
[q]
Структура модуля DISK.
Авторство чье - точно не помню, так что извините: Авторство - Krogr!

Структура модуля DISK.
Offset 00 - 4 байта заголовка DISK.
Offset 04 – 16 байт номера подключенных голов, от младшей к старшей. 2 байта на головку. Остаток добивается FF FF. Вид примерно следующий:
02 00 03 00 04 00 FF FF FF FF …. – 2, 3, 4 головка подключены.
Offset 0x14 – 4 байта – MaxLBA
Offset 0x18 – количество подключенных головок.
Offset 0x1А – (?) максимально возможное количество голов для данной модели(?) На практике равно Offset 0x18.
Offset 0x1С – 4 байта – MaxLBA
Offset 0x20, 0x22 и 0x1FA– двоичная карта голов. Например: 0х1С = 00011100b – присутствуют головки 2, 3 и 4.
Offset 0x24 – 20 байт серийного номера.
Offset 0x38 – 40 байт наименования модели.
Offset 0x7E – 2 байта ?
Offset 0x80 – 2 байта ?
Offset 0x82 – 2 байта ?
Offset 0x84 – 2 байта ?
Offset 0х100 – 2 байта – указатель на выбранную модель из нижеследующего списка.
Offset 0x102 – четыре одинаковых по содержанию структуры-описатели модели по 44 байта каждая:
4 байта – LBA;
40 байт – наименование модели.
Третья обычно забита нулями.
[/q]
Редактировать его в удобном виде позволяют MRT, HDD Repair

HUTL & HUSR (33h) (сокращённо HLists) - промежуточная таблица дефектов. Формируется в ходе селфскана. Состоит из цепочки таблиц. Каждая таблица имеет заголовок (8 байт) и контрольную сумму. Первая - HUTL длиной 16 кбайт, дефекты служебной зоны. За ней идут HUSRxxxx длиной 8 кбайт, где xxxx - порядковый номер. Дефекты - в формате PCHS. Все известные мне программы, работая с таблицей дефектов, опираются именно на этот модуль, потому как основные расшифровывать не умеют.

MX_ST_SCRIPT (0E) - скрипт селфскана. Состоит из 8-словных записей: номер теста и 7 параметров к нему.
[q]
Для запуска селфскана нужно соблюдение как минимум двух условий — наличия в накопителе или его памяти правильной прошивки и наличие правильного задания. Задание — это список тех тестов, которые накопитель должен пройти в процессе самотестирования. Как правило, задание хранится в специализированном модуле, подгружается во время инициализации селфскана и имеет вид скрипта или таблицы. В этом скрипте, обычно в унифицированном формате, приводятся номера (ID) тестов, которые необходимо выполнить, и параметры каждого теста. Вполне естественно, что для параметров в поле скрипта или таблицы зарезервировано определенное количество байт, которые могут либо использоваться, либо не использоваться (в этом случае поле будет заполнено определенным паттерном — например, 00h или FFh). Как пример, приведу фрагмент скрипта селфскана накопителя Maxtor Romulus:

0x0000   F5 00 E0 10 00 00 00 00 03 00 02 00 01 02 01 05   o.a.............
0x0010   36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   6...............
0x0020   81 00 00 02 00 00 00 00 00 00 00 00 14 00 00 00   ?...............
0x0030   11 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00   ................


В данном случае запись об одном тесте в скрипте составляет 8 слов, первые два байта — это ID теста (например, F5 00 — это пропуск теста), следующие 7 слов — это его параметры. В принципе, задания можно изменять вручную, однако стоит помнить, что часто модули служебной зоны НЖМД защищены контрольной суммой.
[/q]
Для удобного редактирования скрипта есть программка KrogrESS от krogr. Также она позволяет мониторить прохождение селфскана.

Блокировка модулей
При неисправностях в некоторых модулях таблиц микропрограмма винчестеров Maxtor "блокирует" эти модули, не давая накопителю запуститься в обычном режиме. Предположительно эта функция предотвращает потерю данных, с целью дальнейшего их восстановления в условиях сервиса. Осуществляется блокировка правкой заголовкой модулей. Обычно блокируются следующие модули:
AT_PDL 0 -> NO_PLIST
AT_POL 1 -> NO_GLIST
U_LIST00 -> NO_ULIST
U_LIST00
(копия) -> U_LIST01
DMCS 1 -> NO_DMCS

Для восстановления заблокированных модулей необходимо считать их, исправить заголовок, пересчитать контрольную сумму и записать обратно. Утилиты умеют делать это автоматически (PC3000 - "восстановление модулей"). Если заголовок нормальный - пользоваться этой функцей не рекомендуется, лучше разобраться вручную.

Вторая микропрограмма
Есть у всех Maxtor. Второе влово (байты 3-4) модуля PN=95h определяет, какая микропрограмма будет загружена - 1 или 2. Соответствие модулей:
МП 1 (основная)МП 2
ПЗУ3997
1-я часть оверлея3896
2-я часть оверлея4F98
Предположительно. вторая микропрограмма используется при селфскане. У тех накопителей, где есть альтернативная служебная зона, в основной служебке 2-я идентична 1-й. У старых, где альтернативки не было, вторая буква версии переключаемой МП будет "B", в отличие от основной "A" (не проверно, надо проверить экспериментально)

Альтернативная служебная зона
Есть у N40P (некоторых), CALYPSO и SABRE. Служит для формирования и дефектоскопии основной служебной зоны в ходе селфскана, "заводская заготовка" для неё. Имеет такую же структуру, но "чистые", немодифицированные для нормальной работы модули. С пользовательской зоной работать не умеет. Оверлеи основной служебки при работе модифицируются, оверлеи альтернативной - всегда неизменны и одинаковы для данной версии ПЗУ. Вторая буква версии - всегда "C" (у основной - "A"). Наличие Alt-SA опознаётся по отсутствию модуля 95.
Переход в альтернативную служебку осуществляется автоматически при повреждении или отсутствии основной. Следовательно, попасть в неё можно, специально "сломав" один из критичных модулей. У меня это правильно сделать так и не получилось - да и зачем, если давно есть набор альтернативных лоадеров на все модели?
Чтобы выйти из неё в основную, нужно починить неисправные критичные модули в основной.
Лоадер может осуществлять вход в ту или иную служебку, смотря из модулей которой он создан.
Важно: Из одной служебной области получить (по PN или UBA) доступ ко второй невозможно!

Транслятор
Транслятор собирается в памяти из модулей U_LIST, DMCS, AT_PDL и RZTBL. Кнопка "Пересчёт транслятора" позволяет пересоздать их из модуля 33. Ещё раз процитирую Sable:
[q]
Лехция...
транслятор махтора предоставлен модулями:
У_Лист, АТ_ПДЛ, АТ_ПОЛ, МДЦС и РЗТБЛ
по крайней мере, статическая его часть, предназначенная для формирования динаймической в памяти.
При улете любого из этих модулей винт буде недоступен по логике.
Мораль:
очищаем нах (командами) фсе дыфект-листы, воззтанавливаем (кто как умеет) дефекты из сводной (33-го модула)...
Если "фсё правилно зделал"... - получаем какие нада модули аффтоматом, в ответ на командочки занесения дыфектов ...
Перерубаем топором шлейфик питания, спаиваем проводочки занова - получаем доступп по локикэ...

Фсе, конечно, ИМХО... Могу и с3.14здеть...
[/q]
Накопитель поддерживает ремап (модуль AT_POL). Кандидаты в дефекты сохраняются в тот же модуль, отличаются пометкой. Есть функция очистки от кандидатов.
Есть команды очистки G-List и всех листов сразу.
Есть функция переноса G-List в P-List командой накопителя (выполняется внутренне), напоминаю - данные при этом разъезжаются.
Также есть возможность сканирования служебной зоны и скрытия в ней дефектов (модули при скрытии разъедутся, и их надо будет переписать отдельно).

В процессе дополнения...
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Очень полезный материал, много нового узнал!

Меня тоже интересует ремонт старых HDD (причем чем диск старее, тем актуальнее
ремонт), было восстановлено несколько Seagate (иногда с усечением емкости), с
Conner тоже много возился, также с другими по интерфейсу IDE посредством PC3000 для DOS.

Остановился я давно на Seagate. где можно было обойтись без чтения служебной информации
для последующего восстановления после self-scan. Возможно, теперь есть повод продолжить!

Так держать!
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
Ресурсы и совместимость микропрограмм
С микропрограммами у макстора полный бардак. Версии ПЗУ даже с одним и тем же кодом версии могут иметь совершенно разное содержимое, аналогично с модулями. Поэтому в ресурсах указывается не имя модуля, а его контрольная сумма - только по ней можно удостовериться о принадлежности микропрограммы к определённой версии и о её совместимости.

PC3000 именует файлы модулей следующим образом: XXXXYYYY.RPM, где
XXXX - UBA адрес начала модуля в HEX,
YYYY - HEX длина модуля в секторах.
Как видно, найти нужный модуль по имени довольно затруднительно.
Также PC3000 создаёт файлы групп модулей с расширением .SMB, формат имени тот же.

Так как идентифицировать всю эту кучу весьма проблематично, есть программа MxHelp for Windows 2_1 (автор - Лалетин Вячеслав). Возможности:
[q]
1. Поиск модуля Паспорта и его отображения.
2. Поиск модуля Спецификации.
3. Поиск загружаемой ПЗУ, выводит:
-\tконтрольной суммы.
-\tверсию микропрограммы. New
-\tстатус загружаемой ПЗУ. New

4. Вывод из LDR:
-\tконтрольной суммы загружаемой ПЗУ в LDR.
-\tконтрольной суммы самого LDR.
-\tверсии микропрограммы. New
-\tстатус загружаемой ПЗУ. New
-\tк какому семейству принадлежит LDR. New

5. Возможность переименования LDR:
-\tв контрольную сумму загружаемой ПЗУ.
-\t+ версию микропрограммы. New (E7CF_VAM51JJZ.LDR)

6. Есть возможность настраивать просмотр Паспорта по вашему желанию в MxHelp.ini и добавлять нужные параметры вывода или убирать ненужные вам. Возможность добавлять новые модели незанесенные в этот список и их параметры.
[/q]
Документация внутри.

Лоадер
Итак, как я уже говорил, если накопитель определяется заводским псевдонимом - его нужно перевести в safe mode установкой перемычек и отправить ему лоадер.

Перемычки для Safe mode: HARD DRIVE MODEL.doc, также положение перемычек есть в доках по PC3000 (выдержка из них)
Для SATA - нужен специальный адаптер: http://forum.acelaboratory.com/viewtopic.php?t=4501

Лоадер, создаваемый PC3000 - по сути, склейка из двух частей. Лоадер собирается из модулей накопителя. Первая часть - оверлейное ПЗУ (256 блоков = 128 кбайт), вторая - склейка из программных модулей. Структура аселабовского лоадера .LDR © krogr:
[q]
[начало лоадера]

512 байт – таблица распределения №1
Оверлей №00
512 байт – таблица распределения №2
Оверлеи в порядке возрастания номеров.

[конец лоадера]

Первые 512 байт – таблица распределения оверлеев в файле лоадера. Ее формат следующий:
01 nn 00 00 00 00 00 00 mm mm mm mm 00 00 00 00
Где nn – номер оверлея, mm – длина его.
Первая таблица, как правило, состоит из описания размещения одного-единственного оверлея – за номером 00, образа ПЗУ. Например:
01 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00
……….
Остальное – нули до 512 байт.
За этой таблицей идет, собственно, сам образ ПЗУ. Длина – 131072 или 0х20000 байта. После него есть еще одна таблица распределения, вторая, тоже длиной 512 байт, в которой расписаны остальные оверлеи. Структура их точно такая же, как и у первой. Только записей будет побольше. ;) Например:
01 03 00 00 00 00 00 00 00 40 00 00 00 00 00 00
01 04 00 00 00 00 00 00 00 40 00 00 00 00 00 00
01 05 00 00 00 00 00 00 00 40 00 00 00 00 00 00
…………………….
Из нее мы видим, что оверлей номер 03 имеет длину 16 К, номер 04 – столько же, и номер 05 по размеру от них не отстал.
Почему именно такая структура? ;) Думаю, что ответ кроется в принципе загрузки лоадера в память посредством стандартной ATA команды. Или я неправ? ;)
Нужно нам, к примеру, найти оверлей за номером 05 в файле. Высчитываем адрес его начала:
512 (длина первой таблицы распределения) + длина образа ПЗУ + 512 (длина второй таблицы распределения) + сумма длин предыдущих оверлеев.
Оверлеи, кстати, идут подряд, один за одним, без какого-либо перерыва. У ХРТ же оверлеи можно сохранять в виде отдельных файлов - *.CP
[/q]
Части отправляются так: ПЗУ - SoftReset - оверлеи - SoftReset. PC3000 умеет делать это одним нажатием или частями. При отправке универсальными программами, например HDDL, лоадер должен быть поделен на эти две части, которые посылаются одна за другой.
У Poker/Ardent алгоритм загрузки ещё более усложняется. Первыми посылаются оверлеи 1B и 1С, а только потом ПЗУ - SoftReset - оверлеи - SoftReset.
После отправки лоадера может выполняться инициализация из служебной зоны. В необходимости этого и условиях для неё я не разобрался.
Версия лоадера должна соответствовать версии ПЗУ. В противном случае таблица модулей не читается и дальнейшая работа невозможна.
Где взять лоадер? Поищите по сайтам с ресурсами HDD. Обычно его кладут в архив вместе со считанной служебкой.
Лоадер содержит в себе только код, но не содержит нужных для работы со служебкой данных - транслятор служебной зоны, адаптивы записи и др. Перед тем, как делать какие-либо попытки записи в служебку, всё это должно быть вычитано с блинов.
Тем не менее, лоадер новых моделей содержит в себе адаптивы чтения. Это приводит к тому, что для успешного старта придётся перебрать их немало в поисках совместимого :(
Ещё сведения:
[q]
ВНИМАНИЕ!!!!! Некоторые Мухтары ОЧЕНЬ ТУГОДУМНЫЕ!!! К чему это я? Да к тому...что когда пустите заливать лодырь.........не все произойдет быстро.....Винт задумаеться, появиться красно голубая "любимая заставка" (PC-3000 DOS), НЕ ОБРАЩАТЬ внимание на это...А просто прислушиваться к винту......сек. через 15-30(по разному) винт рекалибруется..., затем, жмем - ESC и выходим из утиля- ОБЯЗАТЕЛЬНО!!!! Заходим по новой, еще раз, заливаем еще раз, для модулей, теперь все произойдет быстро :-) Ну а дальше - Стандартный режим, тест записи служеб. зоны, восстановление модулей...резет по питанию!!! :-)
[/q]
Тест записи
Из-за несовместимых или незагруженных адаптивов MicroJog записывающая головка может не попадать на нужную дорожку/сектор. В таком случае при попытке записи в служебную зону будут разрушены соседние модули! Поэтому после загрузки лоадера и перед попыткой перезаписи повреждённых модулей обязательно следует:
1) Считать модули данных с диска
2) Провести "Тест записи SA" - пишет один сектор в неиспользуемой области и пытается его считать.
Если нужные модули не читаются или тест не прошёл, нужен другой лоадер - этим чинить бесполезно и опасно.

Итак, алгоритм загрузки лоадера:
1) Ищем лоадер от любой модели того же семейства (лучше сразу пачку). Желательно от экземпляра с такими же буквами на четырехбуквенной наклейке на гермоблоке (в ней зашифрованы коды головок, пластин и коммутатора).
2) Ставим перемычки Safe Mode
3) Получаем доступ к служебке. Если не удалось - пробуем другой лоадер.
4) Вычитываем все родные модули винта, создаём из них родной лоадер. На этом этапе НИЧЕГО НЕ ПИШЕМ!
5) Загружаемся с родного лоадера
6) Проводим тест записи. Смещение должно быть=0!
7) После этого уже можно делать любые операции, связанные с восстановлением битой служебки.

Образ RAM
PC-3000 позволяет снимать образ памяти и заливать его обратно. Имея образ ОЗУ от своего винчестера, всегда можно вывести его на готовность при любых проблемах в служебке, и записать её обратно при потерянных модулях адаптивов (т.к. они уже и так в RAM).
[q]
На антене последовательность такая:
лодырь-память-проверка модулей
[/q]
Также может пригодиться для анализа микропрограммы.

Программы и утилиты для ремонта
Во-первых, большая часть винчестеров Maxtor до DiamondMax Plus 9 поддерживается досовcкой версией PC-3000. PC-3000 UDMA поддерживает также DiamondMax 10, но нам она не доступна. Примечание: в комплекте самой популярной ломаной 14.0 идёт утилита pcmx_pkr.exe версии 2.01, настоятельно рекомендуется найти и использовать pcmx_pkr.exe версии 2.06 (разыскивается!) от PC3K 14.5, "хотя кривость и в нем есть :(" © Версию 2.03 не использовать, она ещё более глючная, чем 2.01
tomset написал:
[q]
Даже самая последняя версия утилиты 14.5 на самом PC3000-ISA работала очень плохо.
Более менее нормально утилиту доделали только в PC3000 UDMA
Да и то, так и не закончили, прекратили поддержку максторов, как неактуальное направление.
[/q]
[q]
вообще запомните раз и навсегда: ася криво работает с P-list на максторах!

Надо в G-List помещать, а потом делать перенос из G в P. Тогда всё будет правильно.

можно сказать совсем не работает, ИМХО это работой не назовёшь :( А вот с глистом нормально, а перенос можно осуществить и другими средствами.
[/q]
Во-вторых, есть китайская утилита с английским переводом HDD Repair 2.0. Работает под Windows.

В-третьих, у меня завалялась предположительно "китайская утилита от xlysoft вся в иероглифах"
[q]
These are just the .exe's from the pro version of MFR. These are in chinese language. You can still use it though if you get the english manual from the salvationdata website as the menus are the same (from what I can tell, the versions are different though...)
[/q]
. Инструкция к ней (тоже на китайском, разумется). Я ее запустить не смог.

UPD: В-четвёртых, за время моей работы над практической частью igor_me залил в сеть Maxtor Repair Tool (MRT) от krogr. Предположительно, эту прогу увели у него китайцы из China HDD Union и впоследствии предлагали как свою, дело тёмное (авторство krogr подтверждает структура меню selfscan, аналогичная KrogrESS). В архиве две версии, каждая глючит по-своему. Ещё копия: http://www.mediafire.com/file/dokctmpx04e8fy2/MRT+Maxtor.rar Переключатель Poker/DSP отсутствует, есть предположение, что она чисто для DSP.

Алгоритм восстановления
Версия от SRUTSSSSSSSS80 (цитата из аселабовской документации)
[q]
служебка востонавливается легко при условии что не были задеты модули критичности А
1. Запуск накопителя без установки перемычки “safe mode”.
Данный способ будет работать, если при входе в утилиту накопитель определяется своим заводским
псевдонимом и перемычка safe mode не установлена. Суть этого метода в загрузке только части “модули” LDR-файла. При этом модули должны быть такие же точно, как были в накопителе. Пошаговый алгоритм:
1. Подаем питание и запускаем утилиту pcmx_dsp.exe или pcmx_pkr.exe.
2. В меню режима выбираем пункт “Загрузить LDR-файл”.
3. Загружаем LDR-файл в режиме “Загрузчик модулей”. В случае успешной загрузки накопитель дает возможность работы со служебной зоной.
Отличие этого метода от метода загрузки с вводом накопителя в safe mode заключается в том, что при старте накопителю удается подгрузить из служебной зоны таблицу дефектов служебной зоны и адаптивные параметры. В случае же с запуском через safe mode этого не происходит. Данный метод не будет работать, когда испорчены модули, относящиеся к критичности A (см. таблицу 2).

Перед тем, как приступить к ремонту модулей, следует убедиться в корректности записи секторов в
служебную область. Дело в том, что при запуске накопителя при помощи LDR-файла не полностью
выполняется инициализация микропрограммы, что приводит к сбоям ее работы. Чтобы проверить корректность записи, необходимо запустить команду “Тест записи служебной информации” (п. 5.2.2.2). Этот тест состоит из двух частей: загрузка адаптивов из модуля PN=1Eh и проверка возможности записи в служебную зону путем записи одного сектора случайного содержания в неиспользуемую область служебной зоны, названную “swap1”. В случае успешности проверки записи будет выдано сообщение «Смещение записи: 0», что сигнализирует о корректности операций записи в служебной зоне.
Достаточно частая неисправность накопителей Maxtor – это искажение информации в модулях
служебной зоны. Модули портятся в результате возникновения сбоев при операциях чтения/записи. Сбои могут быть вызваны неконтактом двигателя/коммутатора, неисправной магнитной головкой, запилами на поверхности, или, чаще всего, сбоями в электропитании накопителя. Во всех этих случаях симптомы одинаковые – повреждение модулей транслятора.
Обычно повреждение модулей сводится только к неверной строке идентификации при верной
контрольной суме. Чтобы восстановить такой модуль (например, P-List), достаточно записать верный заголовок
1
и пересчитать контрольную сумму. Такое повреждение могут иметь следующие модули: P-List (PN=18h), G-List (PN=1Bh), DMCS (PN=1Dh). Когда они повреждены, то идентификационная строка заменена на следующие: NO_PLIST, NO_GLIST, NO_DMCS. Похожее повреждение возможно еще у модуля U_LIST00 (PN=37h), но оно встречается очень редко. Если у этого модуля заголовок верный, то исправлять его при помощи автоматического восстановления не рекомендуется.
[/q]
Ссылки
http://maxtor-hdd.narod.ru/ - ресурсы на макстор от Sable
http://www.scspb.ru/pchdd/index.html - ещё немножко старых ресурсов
http://www.hardw.net/forum/arc...index.html - архивный раздел форума hardw.net. Все ссылки битые. Чтобы перейти на нужную страницу, вручную добавляйте "/forum/archive/" после доменного имени.
В процессе дополнения...
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
Selfscan
Ну и наконец у Maxtor есть селфскан.
Для понимания этой главы ознакомьтесь с параграфами "Модули", "Лоадер", "Альтернативная служебная зона" предыдущих частей.

Подготовка
Перед запуском селфскана из основной служебной зоны - очистить модули таблиц дефектов - 78, 37, 1B, A7, 33, иначе неправильно отработают процедуры скрытия дефектов. Обязательно очистить логи - без очистки скан не стартанёт.
[q]
ессно почистить логи, потом забить _нулями_целиком_
AT_PDL, AT_POL, ZBRT, DMCS, HUTIL\HUSR передернуть питание
дать вендор-команду очистки листов(при этом сабж сам соберет нужные структуры дефект-мененжмента)
ну и ессно пнуть скан
(С) Sable
[/q]
HDD Repair при старте автоматически чистит ряд логов, причём не совсем корректно. Разбор дальше.

Если винт тестируется не подключенным к интерфейсу, к 39 и 40 ноге советую подключить светодиод индикации работы диска.
Рекомендуется подключить винт к отдельному блоку питания.

Тесты
Описание модуля 0E скрипта селфскана - см. выше
Номер тестаНазваниеПримечание

01Начало самотестированияПроизводит инициализацию логов и подготовку программы

00Конец тестированияВывод в обычный режим. Может использоваться для отладки прохождения

06ОЖИДАНИЕ ВНЕШНЕГО СОБЫТИЯНакопитель ожидает команды от стенда. Т.к. мы не знаем зачем - закомментировать

38КалибровкаВыполняет большую часть адаптивных настроек

90Настройка служебной зоныЕсли он зависает, то может быть закоментирован (см. документ ниже)

89Рестарт накопителяПараметр 7 - переключение между программой A (значение 0) и программой B (значение 100h), осуществляемое изменением модуля 95.

0С,31,32...Пустой тестНичего не делает

F5КомментарийАналогичен пустому тесту, но в параметрах записаны строковые комментарии

Назначение прочих тестов можно глянуть в файле HDDMaxtor.ini
Дополнительные сведения от Sable:
[q]
Flaw Scan... Тест ID 75. Какой-то из 7-ми параметров - очевидно "придирчивость" теста, а какой-то - допустимое количество ошибок.
замечено, что в линейке тестов 70-75-70 он обычно проходит без проблем, а вот следующий 75-й тест в крипте - бывает, что и затыкается (по переполнению логов?) Различаются они 2-мя параметрами, 1-м и 5-м.
Но.. на SABRE отсутствует как класс линейка 70-75-70, там линейка 70-70 (с разными значениями (на единичку) в 1-м параметре. Дальше ожидание внешнего события (с каким-то бредом в параметрах, причем два раза... - очень непонятный момент... может он тут чего по терминалу ждет ?), загрузка сервопараметров, 75-й тест, снова загрузка сервопараметров и тот-же 75-й тест. Различаются только 1-м параметром.

А вот про "тест сжатия треков", ID 7D который... ничего умного сказать не могу... :( Но на нем, в том числе, режется объем. По всей видимости какой-то из параметров (возможно 1-й) - тоже пиковое значения для анализа результатов 38-го теста (оптимизации).

"ждать до упора" есть в параметрах теста ИД06 (wait for external event).
он-же Infinty bit в 6-м параметре, если ничего не путаю.
[/q]
Ещё добавлю:
Тест 2C стучит башками.
Тест 38 - один из самых длительных

Модификация скрипта перед запуском
У старых накопителей для запуска селфскана скрипт брался как есть. Однако у накопителей ARES 64K, ATHENA POKER, требуется правка параметров теста 89 - седьмой параметр ставится в 0. Или же можно его не ставить, но тогда нужно выполнить "Сброс конфигурации SA" в PC3000 (какие действия выполняет эта команда - не знаю).
Для CALYPSO обязательно закомментировать в скрипте все тесты ожидания внешнего события 06h (обычно их два), тесты начала и конца цикла, обрамляющие тест ожидания внешнего события, а также первый по порядку тест 90h. Подробности - в доке Maxtor4Windows_ver2.pdf

Запуск

PC3000 умеет пускать селфскан только на DSP, HDD Repair - также и на Poker. Запуск производится технологической командой - стартанёт немедленно, или в модуле 1F DISK изменить байт 1FC с 00 на FF - селфскан запустится после следующего включения. Также HDD Repair на N40P меняет байт 1FA с 08 на 0C - это активные системные головки, и меняет он его зря (этот винт всегда одноголовый). После передёрга питания винт берёт паузу в 30 сек. (большинство моделей) или паузу в 10 мин. (некоторые прошивки ARES 64K, N40P), во время которой светодиод моргает с частотой в 2 Гц. Если в течение этого времени подать сброс или команду чтения паспорта, винт перейдёт в обычный режим до следующего включения. О назначении пауз можно узнать в комментариях скрипта.

Запуск из альтернативной служебки
Если у винта есть альтернативная служебка (некоторые N40P, все CALYPSO) - скан пускается из неё. Делается это так:

1. Винт переводится в альтернативную служебку. Можно лоадером из safe mode, можно порчей модулей основной (но тогда перейти обратно в основную сложнее). Лоадер должен соответствовать служебке - сравнить контрольные суммы. Если не соответствует - создать свой из своих модулей.
2. Проверяем доступность и целостность альтернативной служебки.
3. Чистим логи, если надо - правим скрипт.
4. Либо:
а) ставим перемычку в нормальный режим и нажимаем "запуск селфскан немедленно" (стартует без паузы), либо
б) настраиваем селфскан на запуск при следующем включении питания (правка модуля DISK), передёргиваем питание, если на шаге 1 использовался лоадер - снова грузим его из safe mode и ставим перемычку в нормальный режим. Выжидаем паузу, мониторим прохождение. Первая стадия проходит около 2 минут.
5. В конце первой части тестом 89h винт перезагружится и переключится на основную служебку.
6. Ждём 30 секунд/10 минут, мониторим прохождение второй половины селфскана. Никакого лоадера грузить уже не нужно.

Запуск из основной служебки
Так он делается на всех DSP и на тех Poker, у которых нет альтернативной (ATHENA, ROMULUS, ARES C64)
1. Проверяем целостность основной служебки
2. Чистим логи и дефект-листы
3. Пускаем тест:
а) командой
б) правкой DISK и передёргивания питания (после чего выжидаем 30 сек.)
4. Мониторим прохождение

Урезанная Alt-SA
У CALYPSO есть ряд прошивок, у которых есть Alt-SA, но запуск селфскана из неё ни к чему не приводит. Отличить их можно, просмотрев скрипт Selfscan в ней. Если он короткий (порядка 7 тестов) - то селфскан следует пускать из основной служебки. Кроме того, в их служебке нету копий модулей основной служебки, и собрать A-loader из неё невозможно.
Цитата от Sable:
[q]
Да, есть такие звери без модулей группы "А" в "С".
Наглядный пример лежит на столе.
D6FYP1, YAR41VW0, 6Y060L0620411, KGCD, в сейфе - YAR428WZ
Пока пасиент сам себе адаптивы пересчитывает попробую описать свою точку зрения на это дело.
Итак, исходные данные:
1. "Заветным ключиком" в "завестом листе" винт в "С" не вываливается. БИЗИ.
2. Да и фик с ним, пытаемся вычитать альтернативку из основной - ну.... почти удачно. За одним исключением: Читается она, мягко говоря, странно... Теряет серву, зависает... Бубен, танцы.. прочитали ПОЧТИ все. Но: после чтения последнего сектора в 1-й копии модулей - зависает наглухо, не снимая зависон даже резетом. Делаем вывод... там не то, чтобы неотформатировано... Там похоже банально просто НЕТ сервы... Или фирмварь "её готовить не умеет". Или я что-то делаю не так. Хрен с ним, делаем лодыря, попадаем нормально в "С". Выясняем, что то, что после "первой копии" - суть приколы транслятора УБА. Реально там нету нифига.
3. Начинаем анализ считанного альт-трека. ДИСКРОМ и все оверлеи группы "С" присутствуют. Дефолтные модули дефект-менеджмента присутствуют. Скановые модули присутствуют. Версия скана - cal_tz13.
В "С" определился как YCR41VW0, 6Y080L2.
4. Начинаем анализ скрипта скана. В нем 8 шагов:
0. 0001 - Старт тестирования
1. 20F6 - "пустой тест"
2. 20F6 - "пустой тест"
3. ххF5 - Комментарий, "Wait to move Rack"
4. 0006 - Ожидание внешнего события N минут, очевидно 15
5. ххF5 - Комментарий, "Read to Trim 2"
6. 0090 - Подготовка служебки
7. 0000 - Конец тестирования
Итак, Больше всего нам интересен тесты 4,6 и комментарий к тесту нумбер 5.
Уж очень много "смыслов" у слова "trim". Остановимся на "готовность".
Дальше идет чистое "ИМХО".
Ху из "ожидание внешнего события"? Осознавая, что у макторов тоже есть COM-терминал, могу предположить, что это самое "внешнее событие" - ничто иное, как ожидание сигнала от терминала и, возможно, потоковая SLDL загрузка базиса "А" служебки. 6-й тест в скрипте - ничто иное как эта самая "потоковая заливка" служебки "А", возможно напрямую "терминал - буффер-блин". Дальше винт просто резетится (возможно тоже по терминалу). И пинается скан из "А", без упоминаний о "С".
Все такие калипсы - ПЕРВЫЕ у Макстора, на них отрабатывалась идеология...
[/q]


Назначение Alt-SA - пересоздание чистой немодифицированной основной служебной зоны. Если запустить селфскан из основной, она в ходе тестов затрёт саму себя. Тем не менее, скан можно пускать и из основной.
[q]
Альтернативная нужна только для формирования основной. Так что, если в служебке А все в порядке, ну и запускайте из нее. Из С имеет смысл запускать только при наличии разрушений модулей, которые не удается восстановить. Селфскан все равно после теста Рестарт накопителя переключится в А и основные тесты пойдут уже оттуда. ;)
[/q]
[q]
1. Пускаем винт _стандартно_ в основную варь.
2. Проводим тест записи(мне правда непонятно зачем. но как я уже говорил, АСЕ -рекомендует )
3. Записываем "вытащеные" из альт модули: 1f/37/1b/1d/18/78/33/93 ("чистые" паспорт/транслятор служебки/G-List/DMCS/итд.)
(пишем все сразу не передергивая питания и т.д.), на системную голову(в нашем случае - 3_я.
4. Дергаем питание и переопределяем винт(изменилась модель, зонник и т.д.), на всякий случай. заглянем в дефектлисты. Они должны быть девственно чистыми и вся конфигурация винта, должна быть старшей моделью для этого типа.
5. В конфиге винта, так же убираем способность реллокейта и защитного стирания, разумеется сохраняем эти изменения. перегружаем винт.
6. По ВСЕМ головам(в нашем случае, по 2 и 3_ей) "чистим" модули:
11,43,4С(в принципе можно его не чистить) и правим по ВСЕМ головам модуль скрипта(0Е). Ремапим все тесты по 89(включительно) кроме 01. ПРОВЕРЯЕМ ПРОДЕЛАНОЕ!!! И только после этого, переходим к пункту 7.
7. тут есть два варианта:
а) пихаем скан командой(АСЕ_вая утила может)
в) правим модуль 1f(АСЕ_вая утила может)
8. Мониторим прохождение скана.(желательно пользоваться альтернативной "смотрелкой". У АСЕ_вой нет возможности подглядеть, по какой голове проблемы, а это не хорошо
9. если скан где-то встал\завис. смотрим состояния регистров в этот момент...и...долго думаем, думаем, ну а что непонятно, спрашиваем!
[/q]
Я, пожалуй, не рекомендую использовать эту методику как основную.

Мониторинг
Мониторить процесс прохождения селфскана можно по морганию светодиода активности, либо по данным, выводимым в регистры ATA интерфейса. Функцию мониторинга имеют почти все сервисные программы.
На ARES 64K, N40P, появляется последовательный порт для мониторинга. Почитать о нём можно здесь: http://www.hardw.net/forum/arc...index.html
Я провёл исследования на N40P. Это ни разу не асинхронный интерфейс (читай - не терминал по компорту). Раз так, значит должен быть синхронным. Скорость порядка 1000 бит/с, поддаётся анализу через аудиовход. Длины импульсов скачут. На роль синхросигнала может претендовать сигнал INDEX, выведенный на соседний пин. Дальнейшие исследования вести не буду - времени тратит много, а толку мало.

Дополнительные файлы
N4onN40P.pdf - дока как пустить укороченный селфскан (только юзер-зона) на максторах. Когда-то лежала тут. Я попробовал её на CALYPSO - не получилось (возможно, я что-то напутал).
Разыскивается файл 6E0X.pdf с того же сайта.
Разыскивается китайская прога под названием selfscan.exe (осторожно, содержит троян!) Сведения о ней: https://forum.hddguru.com/viewtopic.php?f=1&t=5749

В процессе дополнения...
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 * 8 9 10 11 .. 75 76 77 78 79 80
Печать
Полигон-2 »   Документация »   Програмный ремонт жёстких дисков HDD
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS