Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу 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
Прежде всего оговоримся: 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

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


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


Ссылка


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

Можно ли на Seagate (конкретно серии 7200.9 и 7200.10) просто перенести сектора из G в P list
и пересчитать транслятор, не выполняя полный комплекс self-scan (даже с N4)?

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

Просто хотелось бы избавиться от задеожек, связанных с позиционированием в резервную
зону, не делая полный комплекс тестирования.
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
i8088, перечитав весь справочник по командам, я не нашёл там пересчёта транслятора. Отсюда могу сделать вывод, что возможности переноса G->P нет. Теоретически, её можно было бы найти, изучив часть скрипта селфскана, отвечающую за дефектоскопию, но это выше моих навыков.

i8088 написал:
[q]
Иногда попадаются диски с небольшим количеством remap (нерастущим длителеное время,
и в целом в хорошем состоянии). Собственно из-за плохой эксплуатации предыдущим
владельцем (плохой БП, контакты итп) эти remap-ы могут быть и ложными.
[/q]
Однако G-List можно очистить: сначала T>V4 - просмотр, затем T>i4,1,22 - очистка. Сам не пробовал, попробуйте.
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH, большое спасибо!

Да, есть смысл попробовать очистить G list, тк есть вероятность, что remap-ы
ложные (диски скорее всего работали ранее с ужаснами блоками питания).
Подготовлю тестовый стенд с терминалом и проверю!

Позавчера приобрел Quantum AS 20.5 (я давно искал рабочий AS) с дикой
наработкой, было 2 записи в Glist и заметные задержки на них, при чтении
(точнее верификации) в MHDD. Но сканирование по физическим
параметрам не нашло проблем в них. Ну я просто средствами PC3K добавил
один из них в дефект лист, в результате все бывшие в Glist записи оказались
в Plist. Сделал erase, сейчас диск тестируется.

PS. Попутно выяснилось, что ASUS TR-DLS умеет UDMA на встроенном
IDE под DOS (те через int13), что редкость для плат Pentium3. Она еще и
LBA48 тоже поддерживает.
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Заканчиваем теоретический курс по максторам, а то мне пора переходить к практике.

Вопрос: По какому алгоритму считается контрольная сумма у модулей Maxtor?
Ответ: У DSP и Poker/Ardent по-разному. Вроде бы так:
[q]
для н40п, а может и для всех покеров
Можно в ФАК

WORD Max_CS(char *b,WORD len)
{
WORD csm=0;
WORD l=len/2-1;
_asm {
push esi
push ebx
push edx
xor edx,edx
xor eax,eax
mov esi,b
mov dx,1
mov ecx,l
mov ebx,csm
ll:
rol bx,1
xor bx,dx
lodsw
add bx,ax
loop ll

rol bx,1
xor bx,dx
neg bx

mov csm,ebx

pop edx
pop ebx
pop esi

}
return csm;
}
[/q]
[q]
а на ДСП подскажите
Если не ошибаюсь, то там просто суммирование, минимальная модификация кода
[/q]
[q]
K.C = FFFF-(X без последнего слова)
X - сумма по словно, с учетом что-
"Следует так же принять во внимание,что байты в слове
хранятся в виде младший байт_старший байт" © Хрюша
[/q]
В: А какой программой это можно сделать?
О: Была такая прога - PokerCRC.exe, кто найдёт - молодец.
UPD: По моей просьбе друг написал по двум вышеописанным алгоритмам две программки, для Poker и для DSP. Я проверил - обе считают правильно. Вот, пожалуйста: https://drive.google.com/file/...sp=sharing
Для пересчёта КС модуля просто перетащите бинарник на значок программы.

В: После манипуляций со служебкой (перенос G->P) винт ушёл в вечный BUSY, и ни сейфмод с лоадером, ни хот-свап ему не помогают!
О: Попробуйте замкнуть канал чтения - точки RDN и RDP на плате. Замыкать конденсатором примерно на 1000 пф, иначе есть риск спалить коммутатор! Порядок действий такой: замкнуть канал чтения - подать питание - слать лоадер.
Serg_T написал:
[q]
"Второй" транслятор SA зоны слетел.
Первопричина скорее всего аппаратная, глюки системной головы.
[/q]
В: Как отключить головки?
О: Пока не знаю, инструкция в разработке.

В:
[q]
На платке калипсы в КЗ погорел 8-ми ногий дип-транзюк обозначеный как Q500. Cудя по всему это формирователь -5 в банку. На нем маркировка 20PFS20V. Есть еще платка с калипсы, там на ентой деталюхе маркировка W503 4G. Есть платка от антенны плоской, там стоят полевики по выходам VCM и SD. Маркировка PHN210T. Вопрос в том - кого и как туда поставить взамен дохлятины?
[/q]
О:
_AND_ написал:
[q]
Это сборка полевиков. На ней собран преобразователь -5в.
Недавно тоже была калипса с дохлой 20PFS20V. Но у меня она выгорела вместе
с L7250E и дорожкой где-то внутри платы... Взял с другой калипсы - маркировка
тоже совершенно другая была, поменял - работает :) Так что можно менять.

Прозвони дорожку на землю на дроссель преобразователя -5в. У меня она тоже отгорела.
[/q]
Сталкивался с такой поломкой лично.

B: Maxtor CALYPSO издаёт на удивление громкие мелодичные звуки, похожие на телефонную трель!
О: Да, калипсы могут :) Залипли головки, клин шпиндельного двигателя или КЗ в его обмотках. Неремонтопригодно, в общем-то. Подноготная: http://nazyura.hardw.net/000004.htm (четвёртый слайд)

В: Что такое "служебка C" и "служебка A"?
О: Основная и альтернативная соответственно. А названы они так по отображаемой второй букве серийника. Поэтому "B" нету :) Хотя "служебкой B" иногда назвают группу альтернативных оверлеев в основной.

В: Что такое "группы критичности модулей" (A, B, и т.д.). В обсуждениях встретилось.
О: Читайте доки к PC3000. Я эту терминологию использовать не стал.

В:
[q]
Я на днях ARES боролся, заголовки поправил, бобик вроде ожил, начал по логике сканить, а там... Короче чем больше заносишь дефектов тем становиться хуже. С пустыми листами и то вроде картина получше.:(
[/q]
О: Отвечает Sable:
[q]
Дам один намек... (Больше - религия не позволяет):
При ОТСУТСТВИИ одного из оверлеев, точно не помню (какогото из 1х, но не 1С и 1В) при прогоне записью по всей поляне дефекты в дефект-листы НЕ заносятся, но транслятор пересчитывается накопителем вполне исправно.
После чего работает как часики. Помогает при описанной проблеме
[/q]
В:Calypso при попытке чтения дефектов в P-list выдает "Ошибка идентификации". При этом проверка служебки говорит что все "Ок".
О:
[q]
Это калипса.
Это асина утиля, которая калипсин п-лист не идентифицирует.
Кароче, ничего страшного.
[/q]
В: Можно ли на ATHENA/ROMULUS заменить плату DSP на Poker и наоборот?
О: Можно, народ делал. Только кодовые модули переписать соответствующей микропрограммой и у остальных КС пересчитать. Какие ещё модули кроме кодовых надо заменить - с ходу не скажу, надо думать.

В: У меня CALYPSO SATA!
О: Если есть какие-то трудности с этим - можно прикрутить плату PATA с такой же маркировкой процессора.

В: У меня бэды в служебке!
О: Скорее всего, это не бэды, а мусор в U_LIST00. Настоящие, с завода, бэды в служебной зоне у Maxtor - громадная редкость. Однако - если это действительно бэды, то дело плохо. Я столкнулся с невозможностью восстановить служебку на CALYPSO (которую сам же и попортил), где служебная зона содержала бэды. Запись проходит нормально, все модули читаются нормально, но винт при рестарте выпадает в альтернативку. Проверка поверхности при этом (еще на рабочей служебке) никаких бэдов не показывала. Предполагаю, что чтение выполняется с обходом дефектов, а запись - без. Ну, или есть еще какой-то неописанный подводный камень.

В: А у меня настоящие бэды в служебке нашлись при проверке поверхности служебной зоны! Как их в U_LIST добавить?
О: Никак :( Способов не найдено, диск на полку. Если есть Alt-SA и она цела - можно попробовать пустить селфскан из неё.

В: "SMPORT pissed off!"
О: http://forum.hddguru.com/viewtopic.php?t=6788&start=

В: Как вы и советовали, не стал скрывать дефекты в P-List, а скрыл в P-List и потом сделал перенос дефектов. Теперь винт висит! Что делать?
О: Обсуждение на тему:
[q]
Цитата: Делаем перенос из G в P. Висим Висим 5 часов. Висим 10 часов. Мне это надоеает и передёргиваю питание. После этого кроль дохнет полностью Стук, никакие лоадеры, игрушки с памятью и даже своп не могут их вывести из стука
DOS-лабой делал перенос видимо? Я ещё пару-тройку месяцев тому назад подобную ситуацию обрисовал. Тогда мне помог метод с замыканием входов проца(с комутатора) некоторой ёмкостью и подгрузкой нужного лодыря(сейчас знаю более цивилизованый метод). Отстучался он немного, потом ввалился в утиль . Убитым оказался в том числе и модуль DISK(ID1F). Поэтому конфигурацию головок крол неправильно понимал - вот и стук! Поправил я ему всё что померло, вобщем поднял крола.Больше не использую эту функцию на Калипсах(особо в DOS-лабе) и другим не советую - методы есть и получше.
p.s. Реанимация производилась уже WIN-лабой.
[/q]
[q]
А переносим как....утилей от АСЕ? Там был глюк на старых версиях, даже на зарегенных. Больше определенного колличества, винт именно впадал в транс. Я про перенос из Г листа в П лист. приходилось по немногу...по 50..проходило всегда.

Перенос из Г в П лист одной командой проходит. Так что если дефектов много скорее глюк прошивки/дефект поверхности СЗ в том месте куда пытается писать фирмваря. Мое мнение. Места под П лист достаточно - 139h(313) секторов.
На ДСП ромулусе 500 дефетов секунд за 30 переносило за один раз.
[/q]
[q]
У подопытного накопителя поверхность примерно 3 процент в начале диска и процентов 10 в конце убиты в хлам. Дефектов примерно 5 тысяч. Так вот примерно когда этой цифры достигаю, то накопитель глюковать начинает. Уходит в бизи при любых операциях с дефектами. Скрывать в п-лист не получается никаким способом. Вот я и подумал что может быть п-лист уже под завязку забит, отсюда и глюки. (ещё интересно, г - лист заполняется только до 636 дефектов и ни одним больше, хотя утилита пишет что г-лист на 3000 с чем то дефектов)
[/q]
В: Селфскан завис на 38 тесте! (в смысле, это ID теста, а не порядковый номер)
О: Я не знаю... Где-то читал об этом, но не сохранил.


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

Отлитчительные черты Maxtor:
1)Четыре разных ПЗУ из четырёх возможных источников: маска, флеш и два в служебке
2) Большое разнообразие (проще говоря, бардак) в микропрограмме, глючный код
3) Транслятор в нескольких модулях
4) На каждый чих нужен лоадер
5) Лоадер содержит адаптивы
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
KALDYH написал:
[q]
Теоретически, её можно было бы найти, изучив часть скрипта селфскана, отвечающую за дефектоскопию, но это выше моих навыков.
[/q]
i8088, зато я нашёл подсказку, как найти неописанные команды: http://nazyura.hardw.net/Part02.htm (во 2 половине заметок)
Попробуйте, может, у вас получится.
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH, спасибо!

Надо будет какой-нибудь полудохлый накопитель найти, чтобы почти исправный не запортить, по моему на работе должен быть. Немножко
освобожу рабочее мето от текущих дел и займусь!
<<Назад  Вперед>> Страницы: 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