Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 8 * 9 10 11 12 .. 75 76 77 78 79 80 | Печать |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 14 февраля 2018 11:31 Сообщение отредактировано: 22 марта 2018 20:39
i8088, перечитав весь справочник по командам, я не нашёл там пересчёта транслятора. Отсюда могу сделать вывод, что возможности переноса G->P нет. Теоретически, её можно было бы найти, изучив часть скрипта селфскана, отвечающую за дефектоскопию, но это выше моих навыков. i8088 написал: Однако G-List можно очистить: сначала T>V4 - просмотр, затем T>i4,1,22 - очистка. Сам не пробовал, попробуйте. Иногда попадаются диски с небольшим количеством remap (нерастущим длителеное время, |
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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 14 февраля 2018 18:55 Сообщение отредактировано: 11 марта 2018 22:09
Заканчиваем теоретический курс по максторам, а то мне пора переходить к практике. Вопрос: По какому алгоритму считается контрольная сумма у модулей Maxtor? Ответ: У DSP и Poker/Ardent по-разному. Вроде бы так: для н40п, а может и для всех покеров а на ДСП подскажите В: А какой программой это можно сделать? K.C = FFFF-(X без последнего слова) О: Была такая прога - PokerCRC.exe, кто найдёт - молодец. UPD: По моей просьбе друг написал по двум вышеописанным алгоритмам две программки, для Poker и для DSP. Я проверил - обе считают правильно. Вот, пожалуйста: https://drive.google.com/file/...sp=sharing Для пересчёта КС модуля просто перетащите бинарник на значок программы. В: После манипуляций со служебкой (перенос G->P) винт ушёл в вечный BUSY, и ни сейфмод с лоадером, ни хот-свап ему не помогают! О: Попробуйте замкнуть канал чтения - точки RDN и RDP на плате. Замыкать конденсатором примерно на 1000 пф, иначе есть риск спалить коммутатор! Порядок действий такой: замкнуть канал чтения - подать питание - слать лоадер. Serg_T написал: В: Как отключить головки? "Второй" транслятор SA зоны слетел. О: Пока не знаю, инструкция в разработке. В: О: На платке калипсы в КЗ погорел 8-ми ногий дип-транзюк обозначеный как Q500. Cудя по всему это формирователь -5 в банку. На нем маркировка 20PFS20V. Есть еще платка с калипсы, там на ентой деталюхе маркировка W503 4G. Есть платка от антенны плоской, там стоят полевики по выходам VCM и SD. Маркировка PHN210T. Вопрос в том - кого и как туда поставить взамен дохлятины? _AND_ написал: Сталкивался с такой поломкой лично. Это сборка полевиков. На ней собран преобразователь -5в. B: Maxtor CALYPSO издаёт на удивление громкие мелодичные звуки, похожие на телефонную трель! О: Да, калипсы могут Залипли головки, клин шпиндельного двигателя или КЗ в его обмотках. Неремонтопригодно, в общем-то. Подноготная: http://nazyura.hardw.net/000004.htm (четвёртый слайд) В: Что такое "служебка C" и "служебка A"? О: Основная и альтернативная соответственно. А названы они так по отображаемой второй букве серийника. Поэтому "B" нету Хотя "служебкой B" иногда назвают группу альтернативных оверлеев в основной. В: Что такое "группы критичности модулей" (A, B, и т.д.). В обсуждениях встретилось. О: Читайте доки к PC3000. Я эту терминологию использовать не стал. В: О: Отвечает Sable: Я на днях ARES боролся, заголовки поправил, бобик вроде ожил, начал по логике сканить, а там... Короче чем больше заносишь дефектов тем становиться хуже. С пустыми листами и то вроде картина получше. В:Calypso при попытке чтения дефектов в P-list выдает "Ошибка идентификации". При этом проверка служебки говорит что все "Ок". Дам один намек... (Больше - религия не позволяет): О: В: Можно ли на 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 и потом сделал перенос дефектов. Теперь винт висит! Что делать? О: Обсуждение на тему: Цитата: Делаем перенос из G в P. Висим Висим 5 часов. Висим 10 часов. Мне это надоеает и передёргиваю питание. После этого кроль дохнет полностью Стук, никакие лоадеры, игрушки с памятью и даже своп не могут их вывести из стука А переносим как....утилей от АСЕ? Там был глюк на старых версиях, даже на зарегенных. Больше определенного колличества, винт именно впадал в транс. Я про перенос из Г листа в П лист. приходилось по немногу...по 50..проходило всегда. В: Селфскан завис на 38 тесте! (в смысле, это ID теста, а не порядковый номер) У подопытного накопителя поверхность примерно 3 процент в начале диска и процентов 10 в конце убиты в хлам. Дефектов примерно 5 тысяч. Так вот примерно когда этой цифры достигаю, то накопитель глюковать начинает. Уходит в бизи при любых операциях с дефектами. Скрывать в п-лист не получается никаким способом. Вот я и подумал что может быть п-лист уже под завязку забит, отсюда и глюки. (ещё интересно, г - лист заполняется только до 636 дефектов и ни одним больше, хотя утилита пишет что г-лист на 3000 с чем то дефектов) О: Я не знаю... Где-то читал об этом, но не сохранил. Резюмируя: максторы (особенно последние, на новых процессорах) - очень мало раскопанные и недоизученные винты. После покупки Сигейтом все разработки был брошены как неперспективные. Плюс очень капризная и "сырая" микропрограмма. Самих винтов было относительно мало, по большей части они давно попередохли, так что нынче найти что-то по теме можно только в старых, 10-15-летней давности, обсуждениях. Отлитчительные черты Maxtor: 1)Четыре разных ПЗУ из четырёх возможных источников: маска, флеш и два в служебке 2) Большое разнообразие (проще говоря, бардак) в микропрограмме, глючный код 3) Транслятор в нескольких модулях 4) На каждый чих нужен лоадер 5) Лоадер содержит адаптивы |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
KALDYH написал: i8088, зато я нашёл подсказку, как найти неописанные команды: Теоретически, её можно было бы найти, изучив часть скрипта селфскана, отвечающую за дефектоскопию, но это выше моих навыков.http://nazyura.hardw.net/Part02.htm (во 2 половине заметок) Попробуйте, может, у вас получится. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
KALDYH, спасибо! Надо будет какой-нибудь полудохлый накопитель найти, чтобы почти исправный не запортить, по моему на работе должен быть. Немножко освобожу рабочее мето от текущих дел и займусь! |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Не могу не похвастаться: выпросил в дар Maxtor D740X-6L квантумообразный. Изрядная редкость в наше время - они давно попередохли... Будет теперь на основе чего статью по квантумам дополнить. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Поздравляю! Эти диски намного лучше "нативного" Maxtor, у меня есть два 20GB, с большой наработкой и без remap. Только этот дурацкий ATA133 там ни к чему, только проблемы создает. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 февраля 2018 19:47 Сообщение отредактировано: 1 марта 2018 21:08
Переходим к практической части. Дано: Maxtor Diamondmax Plus 8 6E040L0, на гидродинамических подшипниках процессор Ardent, фирмварь NAR61590, s/n E1DW42QE, материалы K,M,C,A 168 реаллокейтов в смарте и куча ещё не скрытых бэдов. Задача: 1) изучить структуру микропрограммы и дополнить статью, 2) прогнать на нём селфскан Действия: 1) Загружаем PC-3000, выбираем "N40P", "Стандартный режим" 2) Смотрим и сохраняем G-List и P-List 3) Проверяем структуру служебной информации - проблем не обнаружено. Сохраняем по F2. 4) Читаем все модули 5) Читаем все группы модулей 6) Читаем ПЗУ 7) Создаём лоадер Изучаю слитую служебку: Служебная зона является первой в таблице зон, расположена в начале диска и имеет пониженное число секторов.
Модули разбиваются на группы, расположенные одна за другой. PC-3000 сохраняет их как *.SMB. В порядке возрастания UBA:
Дальше пустое пространство и в самом конце служебной зоны, с адреса 7E6F - вторая копия ULIST (8h секторов). Кроме того, по адресу 5EB6 обнаруживается модуль PN=AD с заголовком TRACER, длиной 529h секторов, ася про него не знает. После длительного изучения слитых модулей и групп было установлено, что PCMX_PKR показывает таблицу модулей с ошибками. Часть модулей пропущена, у некоторых не соответствуют длины. HDD Repair, однако, обрабатывает её верно (нумеруя, правда, с единицы и размер показывает десятичный), но в нём не работает групповое сохранение модулей и сохранение списка, поэтому бэкапить служебку им неудобно. Здесь и далее - нумерация по верной таблице, начиная с нуля. А теперь поищем эту самую таблицу, опираясь на следующую цитату: Проверяем сказанное и расшифровываем этот ребус. "сектор служебки, начинающийся дампом 4D 4F 0E 00" - это оверлейный модуль MO номер 03 (первый по порядку). "Прибавьте к нему 1Bh секторов" - попадаем в тело оверлея 0E. "Зная что pn1F - это ДИСК, зная что лежит он на УБА 0008 и длиной он 0001 - поищите в считанных секторах цифирки 08 00 01 00..." - обнаруживается в теле оверлея 0F. "Понимая, что на запись об одном модуле у вендора отводится 4 байта, умножте 1F на 4, циферки эти макстор придумал и на них сам лично ссылается, более того карта посторена на основе цифирок, а названия типа DISK и MFIT это всего лишь дополнение к циферкам и проверка валидности модуля и не более, тем более что макстор сам читает модули по циферкам от смещения, где вы нашли 08 00 01 00 отнимите получиненное" - действительно, находим начало таблицы модулей. Итак, Таблица модулей Таблица модулей (у N40P) находится в оверлейном модуле 0F по смещению 26D8h и состоит из 4-байтовых записей: первое слово - UBA начала модуля, второе - длина в секторах. Соответственно, PN модуля - его номер в этой таблице. Не забываем, что порядок байт в слове - от младшего к старшему. Группа модулей ULIST состоит из 4 копий RCT0 длиной 1 и за ними - 4 копии U_LIST00 длиной 1. Все копии идентичны. RCT0 не имеет отношения к своему "тёзке" из группы данных - скорее всего, это адаптивы служебной зоны. Структуру U_LIST разобрать не получится, т.к. он у меня не содержит дефектов и сравнивать его не с чем. В начале группы оверлеев идёт ПЗУ, длиной 100h секторов. Заголовка оно не имеет. За ним идут программные оверлеи, которые делятся на модули длиной 20h секторов, всего 30 штук. В заголовке каждого - буквы MO, далее байт 3 - номер (от 03h до 20h) , байт 4 - 00, байты 5-6 - контрольная сумма ПЗУ - по этой контрольной сумме определяется соответствие версий. Итого ПЗУ с модулями занимает 4A0h секторов. Далее - заполненный нулями промежуток в 400h секторов, с сектора 8A0h от начала группы (D58 от начала зоны) пошли вторые копии ПЗУ и модулей и в конце - ещё 400h пустых секторов. Мало того, что КС (как и положено) записывается в конце (последние 2 байта) модуля-образа ПЗУ, она еще есть и в каждом оверлее. Стандартно любой оверлей начинается с MO (2 байта), далее 2 байта - номер оверлея и следующие 2 байта - искомое. PC3000 показывает это в меню "структура служебной информации" (без учёта копий)
а сохраняет, группируя в модули следующим образом:
Оверлей 20 в модуль не сохраняется, его можно извлечь только из группы модулей. А что же лоадер, который создала PC-3000? Изучение показало, что внутри всё то же самое - пустой сектор вначале, за ним ПЗУ, еще один пустой сектор, и далее все (включая 20h!) оверлеи. Вот что ещё имеет сказать Sable по поводу кодовых оверлеев: Т.е. в первом пункте он говорит о второй микропрограмме (которая НЕ альтернативка). Надо проверить, есть ли она у меня. UPD: Проверил - нету. Обе копии идентичны. В данном повествовании я не буду говорить о назначении каждого модуля и оверлея. Но на 2-х моментах акцентирую внимание. Ещё о назначении отдельных оверлеев от Sable и Zong: Цитата: Есть такое предположение, что загрузкой УБА-секторов, критичных для работы винта и подсчетом их КС занимается модуль #0F (в случае с N40P). #06 в моем понимании это своего Тока что проверил, без загрузки #06 нормальной загрузки не получается. Команды работы с памятью появятся после загрузки MO3...6. Имена модулей данных, как выяснилось, местами хранятся в формате big-endian, соответсвенно, для просмотра текстовых фрагментов байты должны попарно меняться местами. "MO" читается как "OM" (Overlay Module), "ZRBT L1 " читается как "RZTBL 1" и т.д. Возможно то, что часть имеет заголовок big-endian, а часть - заголовок little-endian, связано с архитектурой DualWave. Кстати, лог проверки служебной информации неправильно отображает версию загружаемого ПЗУ - забывает перевернуть байты. Группа модулей данных навскидку разбивается следующим образом (все координаты - в секторах, в hex):
Это всё, что найдено в этой группе. Как видно, структура соответствует описанной в доках на PC3000. Также, если посчитать, видно, что между многими модулями и от последнего модуля до конца есть пустые промежутки. Они заполнены нулями. PC-3000 сохраняет их как модули различной длины (не соответствующей фактическому расстоянию), возможно, у других семейств на их месте что-то было, позже разберусь. Также пц3к не находит и не сохраняет ARREH, FW и EVTLG. Тапок - часть транслятора... Далее, разберём структуру AT_POL.
Разбираем структуру RZTBL 00-07 - имя модуля 0C - кол-во головок (выяснено не мной) 08-0B, 0D-0F - не установлено Начиная с байта 10h идут записи длиной 14 байт:
Каждая запись описывает до 918 дорожек Структура AT_PDL: В начале и в конце - некие дескрипторы 2*4 байт. С адреса 4Ch - записи по 4 байт, организованные в группы. 00-01 - возрастающая последовательность байт. Старшие 4 бита в слове - некая битовая карта. 02-03: возрастающая последовательность 16-битных слов. Деление на группы - по их переполнению. Группы записей разделяются последовательностями FE FF FF FF 00 00 00 00 Группа модулей Selfscan состоит только из HLUTL и цепочки HUSR. Заглянул в группу модулей SWAP1. Выяснено, что там заголовок (0x55 0xAA) и контрольную сумму имеет каждый сектор, таким образом представляя собой "модуль". Ещё установлено, что многие модули несут в себе текстовые строки, предположительно комментарии к тестам. В группе модулей SWAP2 модулей не содержится, там найден только кусок данных в середине, без чёткой границы и контрольной суммы. Группа модулей Defect log включает в себя модули 00-0С, 2A-2D, 4D-4E, 5A-5F, 74-76, 79, 82-8F, 9D, 9F, A2. По большей части там пусто (нули). Заполнены модули:
Также наблюдаются заголовки и КС нескольких пустых модулей (например, после 08-го, длиной 1) Пока я экспериментировал, винт ушёл в стук. Что я там говорил про надёжность "тонких"? Ничего страшного - буду на нём отлаживать загрузку лоадера, потом устрою ему вивисекцию... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Винт из коматоза с лёгкостью вывел, продолжаю эксперименты. Попробуем инициировать на нём селфскан и посмотреть, что получится. В HDD Repair 2.0 жмякаем Start Selfscan сливаем модули, и тут же останавливаем Modul: 4633 Во-первых, что за модули он трогал? Предположительно это чистка логов. У моего тестового N40P им соответствуют в том же порядке PN *, 5, 7, 8, 9, A, 44, 19, *, 5F, 74, 75, 76, 84, 85, *, 87, *, 95, *, 9D (всё это логи), конец и начало зоны. Звёздочкой помечены те UBA, для которых нет соответствия в таблице модулей. Ошибка ли это в подсчёте или программа ориентируется на неподходящую этому винту статическую таблицу, но факт остаётся фактом - HDD Repair 2.0 чистит логи неправильно. Хорошо ещё, что отсутствующие в таблице модулей затираемые UBA всё равно попадают на пустые участки, так что этим можно пренебречь. Как, впрочем, и вообще все затрагиваемые модули - так что смысл действий программы остаётся загадкой. Modul: 0 Во-вторых, сравниваем слитые до и после старта модули. В DISK обнаруживается различие:
Так как я попытался пустить скан из основной служебки, переводим в safe mode и в PC-3000 возвращаем всё на место. Только для начала делаем проверку служебной зоны. Обнаруживаются следующие отличия: 1. У всех затронутых модулей повреждена контрольная сумма. Хм, странно, вроде переключатель DSP/Poker в HDD Repair правильно стоит... 2. Системные головки стали 2 3. Вот я и узнал назначение байта 1FC в модуле DISK - это карта системных головок! И китайская утилита правит его совершенно зря - винт-то одноголовый! Теперь попробуем запустить честно, из альтернативной служебки. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Просто любопытная ссылка - статистика надёжности жёстких дисков 1999-2003: http://www.hardw.net/forum/arc...index.html |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 8 * 9 10 11 12 .. 75 76 77 78 79 80 | Печать |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |