Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
<<Назад Вперед>> | Страницы: 1 2 3 4 * 5 6 7 8 .. 75 76 77 78 79 80 | Печать |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2017 10:07 Сообщение отредактировано: 23 сентября 2018 23:08
Уроверь 1 - команды работы с памятью. (у коннергейтов - с памятью интерфейса: управляющий и интерфейсный микроконтроллеры имеют разные адресные пространства) Bx,y - отобразить содержимое буфера C - (у коннергейтов) сравнивает адреса 0x1000h-0xFFFFh внешнего ОЗУ с адресами 0x1000h-0xFFFFh ПЗУ. При несоответствии выдаст надпись, с указанием адреса и содержимого. Dx,y,z - печать 256 байт ОЗУ с адреса xxxxyyyy. Если введено z - подсветить байты, совпадающие с z У коннергейтов формат Dx,y - печать 256 байт ОЗУ с адреса xxxx, подсветить байты, совпадающие с yy. Если y не введено - подсвечивается 00. F - форсирование записи. Разрешить на свой страх и риск запись при незагруженных адаптивах (когда выскакивает ошибка Code - 33) H - AT FIFO TEST M - информация о микросхеме Flash ROM. В поздних семействах изъята. Nx,y,z - управление SMART. x - субкоманда: 00 - вкл/выкл SMART 01,04 - инициализация (обнуление) SMART 02 - обновление атрибутов 03 - установить/сбросить биты, сигнализирующие о предотказе накопителя (y - номер атрибута, z - булевое значение) 05 - печать атрибутов SMART 06 - ...допустимых значений SMART 07 - ...G-List 08 - ...лога критических событий 09 - ...списка ожидающих переназначения секторов 0B - запуск короткого внутреннего теста SMART после следующего ^T или включения питания 0С - ...продолжительного теста SMART 10 - печать внутреннего двухчасового лога. P - печать информации о плате (из ПЗУ) (? проверить, как связано с T>$). В поздних семействах изъято. На коннергейтах - перепрограмирование Cert/ATIF и Resident Code во флеш-ПЗУ. Внимание! Выполнение этой команды убивает винт, если код не был предварительно загружен в память! R - (у барракуд) Ram Test (WinC 0,1,2,3....) (у коннергейтов) копирование ПЗУ в буфер. При этом фирмварь (содержимое ПЗУ с 0x800h по 0xFFFFh, до этого адреса ПЗУ содержит 0xFF) кладется, начиная с адреса 0x400h буфера. Всегда в младшие 64K - бит 0x446.2 (старший бит адреса внешнего ОЗУ) не учитывается! Предположительно из этого же буфера производится запись. У совсем старых, типа Lapaz - копирует содержимое ПЗУ из адресов 0x1000h-0xFFFFh во внешнее ОЗУ по тем же адресам. V у коннергейтов - чтение системных переменных с диска Reading System Variables - No Error У поздних барракуд изъято. Y - преобразовать номер цилиндра в соответствующий код Грея сервометки (см. 3>G) y - то же самое наоборот Sx,y,z - редактирование байта в памяти в диалоговом режиме Ux,y,z - то же самое в буфере mx,y,z - то же самое для слова в памяти cx,y,z - сравнение буфера x с буфером y, z - число буферов. dx - очистка (стирание) оверлея на диске. Значения битов x - те же самые, что у команды T>w e - нет сведений. Подача без параметров вызывает рестарт накопителя. p - аналогично T>W s - отправка информации о накопителе (?) r, t, u - загрузить с диска Cert code, Cert tables и SeaDex script соответственно (последний обычно пуст). E, G, H, I, T, V, W, g, j, z - есть в обработчике коннергейтов, не документированы Уровень 2 - чтение/запись по физике (по физическим координатам CHS, без трансляции, но с возможным обходом дефектов) Bx,y - печать 512 байт буфера x, подсветить байты y Cx,y,z - скопировать буфер x в буфер y, z - число буферов Ex,y,z - дублирует команду T>E Hx - выбор головки x. Может быть использован для тестирования и поиска головок: физически отсутствующая головка не выбирается, при выборе совершенно нечитающей головки винт теряет серву, что заметно на слух. Ux,y - раскрутка остановленного шпинделя. x - можно ввести этап, на котором будет остановлена распарковка. Z - останов шпинделя. sx,y,z - позиционирование на физическую дорожку x, головку y. Выполнять перед командами чтения/записи. Внимание: у 7200.7 параметр z - смещение позиционирования, у 7200.9 (скорее всего, ещё с APLUS или PUMA пошло) - ключ подтверждения 22. Учитывайте это при составлении своих скриптов! Появилась у барракуд, у более ранних отсутствует. Вместо неё у них использовать: Sx,y,z - позиционирование на дорожку x, головку y. Если старший бит y равен единице - адресайия по физическим цилиндрам, иначе - по логическим. Параметр z - смещение позиционирования (16 бит со знаком), по умолчанию можно не писать. rx,y,z,a - длинное (вместе с байтами ECC) чтение, а также чтение системной зоны. Чтение производится в буфер чтения. Формат для чтения служебной зоны: x - номер первого сектора y - число секторов z, a не вводятся. Команда 2>Rx,y,z,a (обычное чтение) со служебной зоной не работает. wx,y,z,a - длинная (с байтами ECC) запись, а также запись в служебную область. Запись ведётся из буфера записи. Формат для записи служебной зоны: x - номер первого сектора y - число секторов z, a не вводятся. Внимание! Необдуманная запись в служебную зону может привести накопитель в нерабочее состояние! Команда 2>Wx,y,z,a (обычная запись) со служебной зоной не работает. x - показать границы зон и адреса служебных цилиндров, число секторов в зоне, а также скорость чтения на них в Кбит/с и общее число доступных пользователю секторов на диске. Одна из наиболее необходимых информационных команд. Пример (для диска с адаптивным зонным распределением): Head 00 Reserve - это и есть служебная зона. Видно, что во-первых расположена она в середине диска (кстати, это частично решает проблему с адаптивами записи служебной зоны - в середине азимутальное отклонение головки минимально), и во-вторых, что у неё пониженная по сравнению с соседними плотность записи. Total KBAs - общее число секторов в пользовательской зоне, включая резервные. Полный список команд: K, M, N, O, Q, 7, 9, C, c, D, d, e, f, G, g, h, I, i, j, k, l, m, p, q, T, t, V, X, x, y, z, B, E, F, H, J, P, R, S, U, W, Y, Z, r, s, w, x |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2017 11:09 Сообщение отредактировано: 18 апреля 2018 8:31
Уровень 3 - команды ручного управления сервосистемой. Нужны преимущественно для нужд селфскана. Полный список: C, D, E, H, O, P, Q, S, T, U, V, Z, k, s, G, J, M, R, W, X, Y, f, g, m, p, q Уровень 4 - команды настройки сервосистемы. Нужны преимущественно для нужд селфскана. Отдельно выделим команды: ex - калибровка и принудительное переключение MDW/HDW (точная расшифровка этих аббревиатур мне неизвестна). Параметр x: 0 - произвести калибровку, автовыбор MDW/HDW 1 - печать таблицы радиальных смещений MDW, не проводя калибровку 2 - установить тип диска MDW 3 - установить тип диска HDW Ручное переключение 4>e3 и 4>e2 применяется для устранения некоторых "затыков" при старте селфскана. Прочие команды: 4, D, E, H, K, O, P, R, S, X, d, e, i, r, t, u, x, y, z, B, C, G, I, M, N, T, U, W, Y, Z, a, c, f, g, j, k, l, n, o, p, q, s, v, w, Уровень 5 у коннергейтов - работа с памятью основного управляющего микроконтроллера. Подробнее см. в главе по Conner. По барракудам инфы нет. Уровень 6 - запуск/просмотр/редактирование пакетных файлов задания (batch files). Теоретически, представляют собой мощный инструмент по автоматизации совершаемых с винтом действий, практически - с ними мало кто умеет работать. B - запустить командный файл Dx - отобразить командный файл x. Доступны три возможных файла с номерами от 0 до 2. E - ввести командный файл Внутри командных файлов применяются: * - специальные функции для командных файлов: *1 - приостановить выполнение до ввода *2,x - задержка в x миллисекунд *3,x - переход к метке x *4,x - увеличить head (?) и переход к метке x *5 - очистить дисплей *6 - останов при ошибке *7,x - инициализировать счётчик циала значением x *8,x - декремент счётчика цкла, переход к метке x если не 0. @x - метка. x - единственная цифра. | - прервать выполнение командного файла. Уровень 7 - работа с адаптивами канала чтения. Их настройка может использоваться для восстановления информации, но это к ремонту не относится. Нужны преимущественно для нужд селфскана. Может пригодиться: Dx - отобразить показания термодатчика. Вывод в формате YYZZ, где YY - температура, при которой проводился селфскан (для которой составлены таблицы адаптивов), ZZ - текущая температура. x - если введено, "обмануть" винт, заставив думать, что селфскан проводился при температуре x. Другие команды: G, N, O, T, Q, b, e, f, i, n, o, p, u, y, z, 9, d, C, D, M, O, I, V, g, c, l, q, t, x, 7, B, E, F, H, P, R, S, U, W, Y, Z, r, s, w У коннеров уровень 7 был работой с поверхностью по CHS (чтение, запись, операции с буферами). Позже его команды были перенесены на уровни 2> и A>. Уровень 8 - команды серворайтера. Используются при записи серворазметки и немного процедурой селфскана, пользователю не нужны и даже опасны. Уровень A - команды чтения/записи по LBA. Теоретически, могут быть использованы для вычитывания пользовательской информации через терминал, практически - это крайне медленно. Полезнные команды: P - перенос Alt-list в Slip-list. Проверено на GALAXY, на более ранних не факт что есть. Полный список команд: C, c, D, d, l, Q, R, S, W, M, E, Y Уровень C - отладочные команды селфскана D - отобразить последовательность прохождения тестов из Cert table. C>D Прочие команды: B, C, D, P, s, W, p, c, d, e, t, u, v, w Уровень D - команды отладки SeaDex script. Работать с ним никто не умеет. Полный список: I, E, D, S, T, b, c, l, p, s, t, v, v Уровень E - команды зонного распределения и форматирования. Используются селфсканом. Теоретически, могут быть использованы для вырезания зон, практически никто на это не заморачивается. Самая важная команда: vx - настройка желаемой плотности (TARGET_CAPACITY) для пикера (Picker) - процедуры подбора адаптивного зонного распределения, которая подбирает оптимальную плотность дорожек на дюйм (TPI) и бит на дюйм вдоль дорожки (BPI). Параметр x может плавно меняться примерно Также есть команды: a, b Уровень F - команды, доступные из загрузочного ПЗУ. У старых винтов этот уровень отсутствовал, вместо него служил урезанный T>. Перейти на него командой / невозможно, для выхода на F> необходимо прервать загрузку микрокода, послав ^Z сразу после старта накопителя. Выйти из него возможно, только загрузив App. Доступные на нём онлайн-команды: ^C, ^D, ^L, ^N, ^O, ^], ^Z, !, %, апостроф, точка, точка с запятой, >, >. Команды: +, =, - - чтение/запись байт памяти, см. описание общих команд Bx,y, Cx,y,z, Dx,y,z, Px,y,zzww - работа с буферами, см. описание соответствующих команд на уровне T> Rx - чтение информации из системного сектора x - битовая карта того, что читать: 1 - дефект-лист системных дорожек 2 - бут-адаптивы 4 - Application code (апп). Код автоматически не стартует, запустить можно командой F>j Без параметров - читать всё. U - раскрутить шпиндель V - нет сведений [F>V1,2,400 Memory mismatch = 00000400, Src = 0C2D, Dest = 70FE] Возможно, сравнение содержимого флешки и буфера в ОЗУ. Желательно бы проверить. Y - нет сведений [F>YFF,44,66 (Y flags,data,write)] Z - остановить шпиндель bx,y - установка битрейта. См. описание команды T>B. Обратите внимание - это один из немногих случаев, когда одна и та же команда на двух разных уровнях имеет разные регистры! dx,y - загрузка данных в буферы по SDLD. См. описание T>d. ex,y,z,w - операции с последовательным ПЗУ. x - команда: 0 - показать тип и размер ПЗУ 1 - записать байт z в сегмент w по смещению y 2 - считать байт по смещению y из сегмента z и вывести на экран. 3 - страничная запись всей ПЗУ. y - число страниц, z - страница Window C, w - смещение байт. Примеры записи ПЗУ на уровне F> будут ниже. 4 - читать ПЗУ в буфер, параметры те же. 5 - инициализировать пины для работы с последовательным ПЗУ. Выполнять первым делом. 6 - отключить эти пины 9 - стереть ПЗУ a - переход на свежезаписанное ПЗУ, не передёргивая питание FF - генерировать тестовые сигналы на пинах микроконтроллера для связи с последовательным ПЗУ. f - нет сведений [SFlashWork(Simular[ex,y,z,w]Include Opt "v")???] jx,y - JMP на код по адресу XXXX:YYYY. Без параметров - запуск App. r - аналогично 2>r s - аналогично 2>s tx,y,z - запись в последовательное устройство: x - адрес регистра y - данные z - выбор устройства:
v - нет сведений [SFlashWork(Simular[ex,y,z,w])???] |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
aleksvolgin написал: Странно, а у меня не зажигает... Щас попробую исправить. уже какая-то рожа с мафоном зажигает. |
aleksvolgin
Advanced Member
Всего сообщений: 2123 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 21 нояб. 2010 |
Да, счас всё нормально, спасибо. Щас попробую исправить. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2017 15:13 Сообщение отредактировано: 18 мая 2017 9:48
В ходе работы и тестирования винчестеры Seagate выдают разнообразные сообщения об ошибках, все они закодированы. Вот их расшифровка. Биты Health Health (здоровье) - это кумулятивный показатель исправности накопителя. При прохождении тестов (и при нормальной работе, не забываем - формально это тоже один из тестов) при накоплении определенного количества ошибок биты здоровья устанавливаются в единицу, сигнализируя о неисправности. Здоровья существует два: текущее - выставляется в ходе прохождения теста и сбрасывается при начале следующего, служит показателем успешности теста, и аккумулированное - не сбрасывается и служит показателем успешности селфскана в целом. Посмотреть здоровье можно онлайн-командой "точка". Биты:
Для быстрой расшифровки битов можно воспользоваться программой SigaHLTH Коды ошибок Эти шестнадцатеричные коды используются в выдаче отчётов по командам "точка", "апостроф", "процент", в онлайн-отчётах о бэдах/ремапах и др. Кроме того, выделенные сообщения об ошибках выскакивают в ответ на невозможность выполнения той или иной команды. Пример:
Code - код ошибки (в примере 33 - адаптивы не загружены). Таблицу кодов ошибок можно посмотреть в документации по ссылкам в начале обсуждения сигейтов (приложение A из Diag Commands Alpine), переводить её мне лень. Track - координаты цилиндра, головки и сектора, где произошла ошибка Специальные сообщения об ошибках и повторах Это односимвольные сообщения, которые выводятся на экран немедленно, прерывая общий поток. Полный список сообщений можно найти в приложениях к документации по командам (см. выше), например в файле Diag Commands Alpine это приложение B. Чаще всего встречаются следующие символы: $ - отсутствует AM сигнал для сервосистемы. Проще говоря, головка теряет сервометки и не может ни удержаться на дорожке и стабилизировать скорость шпинделя. Часто сопровождается сообщением "AM Reacquired". Пример: |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 19 мая 2017 22:08 Сообщение отредактировано: 2 июня 2018 21:44
По идее, этой главе полагается быть после главы о разборе служебки, но раз я написал её первой - запощу сейчас. Теперь коротко пробежимся по модельному ряду Barracuda с разбором особенностей и ключевых нововведений отдельных семейств. Таблица соответствия моделей кодовым именам (неполная)
Основное отличие U-шек от Барракуд - модульная (по Filekey), а не трековая структура служебки и в связи с этим имеются отличия от вышеописанной системы команд. Команды для работы с модулями можно посмотреть в документе ниже. Кроме того, многие операции (например, запись ПЗУ) у них доступны через ATA-интерфейс, а не через терминал. Документация по их ремонту от PC3000: http://www.acelab.ru/dep.pc/do...PC-Uxx.pdf Справочник по командам, подходящий именно к U-серии: https://www.itosaka.com/WordPr...ommand.pdf Скановые ПЗУ и программа-прошивальщик U6DLE/ZSDLE: http://www.hddoracle.com/viewforum.php?f=134 |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 20 мая 2017 22:41 Сообщение отредактировано: 4 апреля 2018 9:26
Структура служебной информации накопителей Seagate Barracuda отличается от большинства винчестеров прочих фирм. Она не делится на модули, и каталог модулей в ней отсутствует. Вместо этого используется более простая структура: каждый элемент занимает одну или несколько соседних дорожек, а адресация их происходит по фиксированному смещению относительно начала служебной зоны. Чтобы узнать адрес начала служебной зоны, введите команду % ("процент") :5000001803000001 AX`9RY2FMKH' "000000000000"16BD3-16D14 16BD3-16D14 - это и есть адреса цилиндров служебной зоныили 2>x - показать зонное распределение: ...(часть лога пропущена)... Reserve - это и есть служебная зона. Отсюда узнаём длину треков в секторах.Начиная с APLUS появляется команда T>y для вывода подробной структуры служебной зоны. Пример вывода с 5400.4 Corsair: PhysCyl GrayCyl Служебная зона простирается на все головки накопителя, но информация хранится только по одной системной - 0-й (нижней), и используются только чётные цилиндры (вероятно, для исключения перекрывания дорожек). Однако некоторые объекты занимают больше одного трека - в таком случае остаток находится на треке 1-й головки по тому же цилиндру (у одноголовых накопителей - по единственной 0-й головке через цилиндр). Точную длину объектов из этой таблицы узнать нельзя (рецепт определения длины см. по ссылке ниже). Рассмотрим, какие объекты находятся в служебке, с расшифровкой обозначений из таблицы. Жирным выделены кодовые блоки, необходимые для пересоздания всей служебной информации в ходе селфскана - их необходимо перед селфсканом сохранить:
К сожалению, у более ранних накопителей команды T>y не было, и координаты и длины объектов приходилось узнавать по более сложной методике, описанной здесь: http://forum.ru-board.com/topi...rt=3780#19 Впрочем, для большинства популярных семейств всё это давно определено и сведено в таблицу Offsets.xls (расширенная версия) (версия с моими дополнениями), а также все смещения есть в документации к PC-3000. Так что воспользоваться той инструкцией вам придётся только если у вас редкая не описанная модель или если вы хотите поэкспериментировать, а на остальные случаи есть готовенькое. Но имейте в виду - длины объектов для разных версий прошивок могут различаться, поэтому на всякий случай советую сохранять трек целиком. Ну и наконец к служебке относится код в ПЗУ. У старых моделей с параллельным ПЗУ там содержится большая часть необходимого для работы диска кода, у моделей начиная с Avalanche там только загрузчик (BootCode), который умеет только читать из служебной зоны и подгружать код по кабелю, а остальное вынесено в Application Code. Работа с ПЗУ будет рассмотрена в дальнейших главах. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 20 мая 2017 22:50 Сообщение отредактировано: 1 июня 2018 20:52
Перевод и расшифровка некоторых специфических для Seagate терминов документации и строк из процесса селфскана. Общие для всех винчестеров термины здесь не описыватся – см. в "словарике сленга ремонтников HDD". HM – Head Mask (у последних 7200.10 и 5400.4) SFI – 1) Switch to full int. (у последних 7200.10 и 5400.4), 2) Symbols from index – отсчёт «сырых» байт от индекса начала оборота Wedge – клин, сервометка как таковая и участок за ней. Число их указывается в выводе ^L, например 220 Servos Niwot – предположительно, этим словом называется адресация по физическим цилиндру/головке/сектору. PCF – предположительно файл настроек пикера (Picker Config File). Вот тут, например, пытались разобраться, как и куда его пришить к делу. Cert – то же что и селфскан, а также оверлей, за него отвечающий. Stuff – ATA паспорт накопителя Overlay – подгружаемый с диска код, дополнение к Application code. Их два: ATA overlay и Cert, обычно оверлеем называют только первый. В памяти всегда находится только один из них. Picker – процедура селфскана, отвечающая за подбор оптимальных TBPI – плотности дорожек и числа секторов на дорожке, а также за разбивку на зоны. Пикер настраивается вводом относительной плотности записи, где-то от 0.7000 до 1.1000 Health – слово (два байта) «здоровья» накопителя, бывает текущим (Cur) и кумулятивным (Cum). Содержит битовую карту возникших в процессе работы ошибок. Age – "возраст" накопителя, определяет, какая программа (Pgm) должна при старте на нём работать. Congen – файл настроек накопителя, состоит из переменных. Slip-list – дефект-лист секторов, пропущенных (slipped) при форматировании. Соответствует P-List других производителей Alt-list – дефект-лист секторов, замещённых (alted) из резерва в процессе работы. Соответствует G-List System sector – содержит адаптивы, состояние накопителя и другие настройки SeaDex script - ??? ZAP – Zero Acceleration Path, специальная техника более быстрого и точного позиционирования. Частью её являются специальные поля (zap field), в которые записываются предварительно калиброванные данные для сервосистемы. Подробнее: https://patents.google.com/patent/US6671119 https://pdfs.semanticscholar.o...a1b394.pdf Gray code – код Грея, считываемый сервосистемой с сервометок, определяет физическое положение актуатора. Определенным образом соотносится с номером цилиндра. MDW, HDW - тип накопителя "middle" и "high" (density wedges?) Размышления на эту тему Napa - ??? Packwriter – стойка для группового тестирования накопителей. CSPT (CERT Sequence Parameters Table) – то же, что и cert table SDLD (Seagate DownLoaD) - проприетарный бинарный протокол для быстрой отправки данных в накопители Seagate. Особенности: оперирует блоками размера 1/2/4/8 секторов, число блоков не должно превышать FFh. Описание протокола закрыто, для желающих покопать его и написать свою программу для отправки - вот инфа. Поддерживается в утилите ST_MEM (не FREE), другие 100% рабочие программы мне неизвестны. ID, OD - внутренний диаметр и внешний диаметр соответственно (для сервосистемы) Вечно в процессе дополнения... |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 22 мая 2017 21:05 Сообщение отредактировано: 8 июня 2018 21:54
Как я уже сказал, для большинства манипуляций с Сигейтами достаточно простого терминала. Но некоторые операции было бы удобнее автоматизировать, поэтому по ним был создан ряд программ. К слову, все эти проекты являются давно заброшенными. http://seagatedoctor.narod.ru/SOFT.html - несколько мелких вспомогательных утилит: R_Util: SigaHLTH V1.1http://www.hardw.net/forum/topic7563-60.htm, http://www.artras.narod.ru/r_util3.2D.rar - терминальная программа с возможностями мониторинга, автоматизированного сохранения треков и загрузкой по SDLD (правда, в демо-версии всё это вроде бы не работает). Описание и сведения об авторе - внутри архива. ftp://ftp.seagate.com/pub/techsuppt/ - старый FTP Seagate. Содержит множество полезной информации по древним HDD Seagate, утилиты низкоуровневого форматирования, переключатели режимов ATA и т.п. Неполный список файлов с пояснениями. http://files.hddguru.com/index...te&SID - ещё одна терминалка, глубокая бета http://worksoft.narod.ru/Seagate_Terminal_4.zip - терминалка от ArtNET Mobile Computers. Описание внутри. Обсуждение программы, последняя бета. http://www.hardw.net/forum/topic10426.htm http://forum.hddguru.com/viewtopic.php?t=11980&start= SeDiv - создавалась как любительский "комбайн" наподобие PC-3000. Платная, но иногда попадаются демо- и альфа-версии, вот у меня, например, 2.0.1.0 alpha завалялась и русский хелп к ней. Старый сайт программы (http://sediv2008.narod.ru/) давно помер, однако гугль находит некий http://www.sediv.net STR-3000 - творение китайских товарищей из China HDD Union. Пощупать можно тут: http://malthus.mooo.com/viewforum.php?f=31 Также попадатется на китайских файлообменниках, я находил по ней видеогайды, но с этими источниками нужно быть осторожнее - я вместе с ними вирусни понатащил. ST_MEM_WIN (ст_мем) - широко известная в узких кругах ремонтников программа за авторством Victor_UJ. Довольно кривой и незаконченный проект, но равных ему по возможностям нету, потому как: - умеет автоматизированно сохранять и записывать треки, читать-писать буферы, автоматизированно вычитывать служебку (корректно работает только во FREE версии) - поддерживает какие-никакие скрипты - умеет отправлять файлы по SDLD (только в коммерческой версии). Почему это так важно? Это единственный способ передать бинарный объект для записи в накопитель за вменяемое время, и это же наиболее корректный способ это сделать. В общем, это самая необходимая для подъёма сигейтов программа. Далее все работы будут производиться с её помощью. Программа изначально планировалась как коммерческий проект, поэтому у неё существуют две версии: полнофункциональная и бесплатная (ST_MEM_FREE). В бесплатной отключены самые "вкусные" функции. http://files.hddguru.com/downl..._12_06.ZIP - последняя FREE версия от 28.12.06г. Размер программы 596 480 байт. В архиве есть документация по скриптовым командам и примеры скриптов. Версию с поддержкой SDLD можно взять тут: http://malthus.mooo.com/viewtopic.php?t=211 или тут: http://algrit.narod.ru/hdd_prog.html . Это утёкшая в сеть предрелизная версия, в ней не работают или работают некорректно некоторые команды, в частности R_TRACKS_MASK, W_SECTORS_SDLD, вместо S_BUF использовать S_BUF_BLK. Зато работает SEND_FILE, и это самое главное. Важный момент: ST_MEM не переваривает концевых пробелов в скриптах! Тщательно вычищайте от них то, что понаписали или скопипастили! В той версии ST_MEM (SDLD), которая ходит по рукам, есть ошибки в обработчике терминала, что периодически вызывает зависание ST_MEM. (Есть предположения, что в ней отлаживалась заливка по SDLD, поэтому этот блок кода в ней наиболее стабилен, а в остальных не все баги выловлены). Поэтому, чтобы устранить баги программы, предлагается все кроме SDLD делать во Free, т.к. это уже практически вылизанный релиз. Полезное дополнение - высокоскоростной драйвер последовательного порта HiSerial |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 22 мая 2017 22:12 Сообщение отредактировано: 8 июня 2018 21:51
Ну вот, спустя многабукаф, добрались наконец до самого главного вопроса - а как же всё-таки программно чинить Seagate? Ответ: Программный ремонт винчестеров Seagate заключается в проведении на них селфскана. Вот его-то мы по всем правилам и будем учиться делать. Что нам для этого потребуется: 1. Вся вышенаписанная справочная информация и максимально возможное её понимание. 2. Датакабель (терминальный адаптер). 3. Терминальная программа. 4. Утилита ST_MEM (в принципе, для накопителей старше 7200.7 можно и без неё обойтись). 5. Скрипты для ST_MEM (будут ниже). Никаких дополнительных файлов для запуска селфскана в Seagate заливать не нужно (в отличие от накопителей других фирм), вся необходимая информация содержится на самом диске (исключение - U6 - будет рассмотрено отдельно). Селфскан состоит из набора отдельных тестов (программ, Pgm). Начальный тест - номер 2. Описание отдельных тестов можете посмотреть здесь. Тесты проходятся по порядку, записанному в Cert table, отобразить порядок прохождения тестов можно командой C>D По окончанию каждого теста номер NN выдаётся сообщение "OkEnd Test NN" в случае успеха или "AbEnd Test NN" в случае провала. Последний по порядку тест (у барракуд это фиксированный номер 50) - работа винта в обычном режиме по интерфейсу, таким образом, винт по факту ВСЕГДА выполняет какой-нибудь "тест". Псевдотест 4F - это аварийный выход в диагностический монитор в случае провала селфскана. В процессе селфскана винт ведёт подробнейшие логи, которые выводятся на терминал и параллельно записываются на диск и могут быть подробно изучены позднее командами T>D и T>E. Во время проведения селфскана МОЖНО отключать питание - промежуточные результаты сохраняются на диске, и при следующем включении винт продолжит с номера незаконченного теста. Исключение составляет тест 02 (подготовка служебной зоны) - на время этого теста вся информация находится только в ОЗУ, а в конце записывается обратно, и если пропадёт питание во время его прохождения либо этот тест будет провален - винт потеряет служебку! Поэтому желательно предварительно её сохранить. Кроме того, начиная с 7200.7 оверлей в 02-м тесте в оперативку уже не помещается, и соответственно при полном селфскане затирается и сохранять его надо обязательно! А начиная с серии 7200.9 это касается ещё и AppCode! Подготовка - получаем информацию о диске, сохраняем служебку Для начала получим возможно полную информацию о винчестере. Создадим (выделить текст, сохранить с расширением *.CMD), откроем в ST_MEM_FREE и запустим следующий скрипт: *позже составлю и выложу на этом месте свою оптимизированную версию* // Script file for ST_MEM_WIN - ©Shark // Сохраним выведенный лог куда-нибудь в папку. Эта информация позже может помочь для решения проблем. Для сохранения служебной информации удобнее всего использовать всё тот же ST_MEM_FREE. Для этого там есть специальная команда READ_TRACKS_MASK - чтение объектов по маске с автоопределением (в доступной версии ST_MEM_SDLD эта команда не работает). Полный её синтаксис можно посмотреть в справке ST_MEM, здесь он приводиться не будет. Скрипт для вычитывания выглядит вот так: (можете попробовать поставить скорость побольше, если порт поддерживает, например SPEED/460800). SPEED/115200 Команда берёт сведения из файла \Mask\trc.txt, формат файла: Название_семейства/Головка*Смещение_трека_в_СА*>Смещение_от_начала_в_секторах*Длина*Имя_объекта/(Следующий объект...) Название семейства – для автодетекта, то, что отдаётся по ^L (чувствительно к регистру!). Головку, смещения и длины можно посмотреть в файле Offsets.xls либо узнать самостоятельно (см. в главе "Описание служебки"). Если длина неизвестна и лень её узнавать, можно считать трек целиком – долго, но надёжно. Имя объекта – имя создаваемого файла, к нему добавятся номера головки и трека, по которым производилось считывание. Пример готовой строки для ALPINE: ALPINE/0*29*>0*244*CERT/0*2a*>0*61*OVL/0*2c*>0*12*VENDOR/0*15*>0*180*APP/0*29*>244*12*TBLМой файл trc.txt с моими дополнениями на основе тех винтов, что прошли через мои руки. Сохраняет треки целиком - дольше, но надёжнее. Скрипт создаёт дампы треков APP, CERT, TBL, VENDOR, OVL в папке \Dir\, расширение .trk. После считывания полезно убедиться, правильно ли всё считалось. Проще всего это сделать, открыв файлы в Hex-редакторе и сравнив с известными, взятыми из баз ресурсов. Рекомендуется вычитывать треки целиком, даже если они содержат лишь небольшой блок данных, потому что длины объектов различаются от версии к версии прошивки и есть вероятность, что они считаются не полностью. Считанные файлы вместе с текстовым файлом информации о винчестере перенесите в другую папку и сохраните в надёжном месте. Ещё раз - для 7200.7 и новее служебку перед селфсканом сохранять обязательно, для всех остальных - желательно. |
<<Назад Вперед>> | Страницы: 1 2 3 4 * 5 6 7 8 .. 75 76 77 78 79 80 | Печать |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |