Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 8 .. 75 76 77 78 79 80 | Печать |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 мая 2017 22:05 Сообщение отредактировано: 1 апреля 2018 14:36
После некоторого перерыва продолжу. Вот основные команды, которые понадобятся при диагностике и ремонте Seagate: Действуют на всех уровнях: /x - сменить уровень на x +x,y - считать байт из ОЗУ по адресу xxxxyyyy =x,y,z - записать байт zz в ОЗУ по адресу xxxxyyyy -x,y - считать слово из ОЗУ по адресу xxxxyyyy остальные команды полезны только для скриптов (batch files). Уровень T - самотестирование накопителя A - разрешить/запретить приостановку вывода информации на экран при заполнения буфера терминала. По умолчанию приостанавливает. a - переключает приостанов вывода при заполнении буфера сообщений / перезапись старого вывода в буфере новым. Bx,y - установить битрейт x. Допустимые значения: 0 - значение по умолчанию (обычно 9600) 1 - вывести таблицу поддерживаемых значений 24, 48, 96... 921, 1228 - битрейты от 2400 до 1228000 бит/с. Разумеется, лучше использовать максимальное возможное. y - задержка в миллисекундах. Если y введено, накопитель ждёт y миллисекунд прихода символа CR (0x13) в подтверждение того, что хост тоже переключил битрейт, и если подтверждение не поступило - устанавливает битрейт по умолчанию. У коннергейтов - команда bx. Параметр - коэффициент, вводимый в рег. BAUD (0x2Bh) процессора, по умолчанию (для Maui2) - 0x24h, для Belize - 32 Структура регистра: бит 7 6 5 4 3 2 1 0 TCLR 0 SCP1 SCP0 RCKB SCR2 SCR1 SCR0 SCR2..0 - делитель, от 1 до 128 SCP1..0 - предделитель: 00 - 1 01 - 3 10 - 4 11 - 13 Остальные биты оставлять равными нулю. Таким образом, команды задания битрейтов для Belize: b32 - 7200 (скорость по умолчанию) b31 - 14400 b30 - 28800 Большие скорости задать не удалось, возможно, у применяемого микроконтроллера отличаются от стандартного коэффициенты предделителя. C,,22 - сбросить селфскан. Сбрасывает здоровье (Health), выставляет возраст (Age) в 1. Dx,y,z - печать логов селфскана начиная с теста x. Если x не введено - то вывести только логи проваленных тестов. y - если введено, печатать только логи с кодом ошибки y z=40 - быстрый неформатированный вывод лога для автоматизированного учёта Для начала рекомендую смотреть сводный лог (последний) под номером 4E. Ex,y,z - печать/редактирование одного лога x. J - то же, что и E, но ожидает нажатия Enter после каждой строки (?) F - ввод ключей паспорта (Stuff). Описание команды см. ниже, в руководстве по прохождению селфскана. Внимание! Ни в коем случае не ошибитесь с регистром! Команда f (в нижнем регистре) затирает ПЗУ! Gx - показ лога компонентов, страница x (может быть незаполнен) Hx,,z - показать/сбросить биты Health. x (введено произвольное значение) - текущие, (пустое) - аккумулированные. z=22 - если введено, то сбросить биты. I,y,22 - инициализация (калибровка, форматирование, поиск дефектов) системной области, подготавливает ее к записи служебки. Аналогично (вроде как) команде T2. y - если введено, считать серийный номер Nx,y,22 - установить возраст (Age) накопителя в x. Например, N2,,22 подготавливает к запуску селфскана с самого начала. Внимание! Не запускайте селфскан, не изучив внимательно инструкцию по его прохождению - иначе, возможно, вам придётся ломать голову, где достать недостающие куски служебки! Основные используемые значения: 0 - после рестарта всегда будет выходить в TMOS 2 - тест служебной и пользовательской областей, полный селфскан 4 (начиная с 7200.8 - 10) - тест только пользовательской области, "облегчённый" селфскан 50 (у совсем старых семейств 40) - принудительный вывод на интерфейс, перевод в нормальный режим Ввод номеров остальных тестов используется для принудительного "проталкивания" селфскана при большом количестве нефатальных ошибок. R - считать системный сектор в системную область ОЗУ. Системный сектор содержит серийный номер, тип накопителя и адаптивы служебной зоны. Для возможности записи в служебную зону этот сектор должен быть в памяти, иначе ошибка Code - 33 W,,22 - записать системное ОЗУ в системный сектор. S - проверить Slip list на заполненность и упорядоченность Tx - запустить одиночный тест x. Внимание! Команда не требует ввода ключа подтверждения и начинает выполняться сразу же, не дожидаясь ^T ! Vx,y - печать дефект-листов. x - битовая карта выбора листов: 1 - slip-list (то же, что и p-list) пользовательской области 2 - slip-list резервных дорожек 4 - alt-list (то же, что и g-list), ремапы. y - если введено, выводить только по голове y Примеры: T>V1 "Битовая карта" означает, что складывая, ключи объединяются. Так, например, T>V7 соответственно выведет сразу все три списка. Yx,y - установить тип накопителя "x". y - если введено, не пытаться читать/писать на диск (операция только в ОЗУ). У старых накопителей это был единственно возможный способ отключения головок. b,,22 - инициализировать область оверлеев в служебной области (проще говоря, затереть их) с - записать на диск предварительно загруженные в память оверлеи ATA. Используется только после прохождения теста 2. Если оверлеи загружены в память до теста 2, в конце теста они будут записаны автоматически (?). dx,y,z - загрузить данные в буфер по протоколу SDLD (Seagate DownLoaD). x - номер буфера y - размер блока передачи (0 - 512, 1 - 1024, 2 - 2048, 3 - 4096). Размер блока выбирается исходя из того, что общее их число не должно превышать FFh. z=1 - не раскручивать диск после завершения команды. Этой же командой грузится в память Cert code, x при этом не указывается. ex,y - загрузить ATA оверлеи (на жаргоне - просто "оверлеи") в память по протоколу SDLD x - номер оверлея (подробнее об их количестве - в разборе семейств) y - если указано, передать управление оверлею немедленно K - загрузить (по SDLD) файл Congen j - загрузить (по SDLD) скрипт SeaDex h - загрузка таблиц Cert (на жаргоне - "таблички") по протоколу SDLD f - записать предварительно загруженные данные в последовательное флеш-ПЗУ (у новых семейств). Данные грузятся в буфер 400h командой d. У семейств с параллельным ПЗУ (старые Durango/Vali/Aspen/Snowmass и др.) данные для записи отправляются после посылки команды по SDLD (см. работу с предыдущими командами). Для записи параллельного ПЗУ у коннергейтов служит другая команда. gx,y,z - вызов программной функции из оверлея. x - ID функции y - 16k сегмент для параметров оверлейной функции z - смещение в сегменте для параметров оверлейной функции ix,y,22 - инициализация (очистка) дефект-листов). x - см. команду V y - если введено, записать на диск (иначе только в памяти) Внимание! Не путать с командой I (заглавная)! kx,y,z - отключение головок. Есть у накопителей, начиная с 7200.7 (прошивка с цифрой "5" в середине) и более старших (все прошивки). У более ранних возможно только отключение верхних головок выбором младшей модели семейства (см. команду Y). Использование команды будет далее. lx - инициализация и запись в память зонных буферов. x - битовая карта: 01 - копировать дефолтный зонник из оверлея в память 02 - пересоздать PBA 04 - установить в памяти адаптивы по зонам 08 - запустить калибровку VCO 10 - сохранить всё это на диск m,,22 - дефектоскопия служебной зоны (Внимание! Затирает служебку!) o - (у коннергейтов) нет сведений p - нет сведений r - перезагружает Cert code (на жаргоне "серт") с диска и выводит его версию. sx,,22 - сохранить дефект-листы из памяти на диск x - битовая карта: 1 - трек-лист пользовательской зоны 2 - трек-лист служебной зоны 4 - ??? 7 - всё вместе t - (у коннергейтов) нет сведений v - (у коннергейтов) нет сведений wx,y - записать оверлеи на диск. x - битовая карта выбора оверлеев: 1 - Cert code (серт) 2 - Cert tables (таблички) 4 - Application code (апп) 8 - SeaDex script (в любительском ремонте не используется) Если не введено - записать всё. y - номер буфера, в котором оверлеи хранятся У старых без-оверлейных винтов эта команда не имела параметров и сохраняла единственный подгружаемый код - Cert xll,ss,nn - чтение файла лога ll через последовательный порт (в двоичной форме, без форматирования). ss - начальный буфер nn - число буферов y - вывод карты служебной зоны. Появился в накопителях начиная с APLUS. Разбор вывода команды см. ниже в описании структуры служебной информации Seagate. #,,22 - ввести серийный номер накопителя HDA (8 символов, написан на этикетке) и номер packwriter'а (ни на что не влияет, можно просто нажать Enter на его запрос. Обычно вводят строку с этикетки после серийника). Вводится в диалоговом режиме. Пример: T>#,,22 $ - ввести серийный номер платы PCBA. Хранится на треке vendor. [x,y - управление ASCII логированием. Ключ x: 9 - писать до конца строки, пока не нажат Enter A - разрешить ASCII логирование B - запретить ASCII логирование С - писать в лог номер y D - отобразить ASCII лог E - дописывать к логу F,1 - разрешить логирование горячих клавиш F - запретить логирование горячих клавиш |
aleksvolgin
Advanced Member
Всего сообщений: 2123 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 21 нояб. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2017 10:04 Сообщение отредактировано: 17 мая 2017 10:05
Вангую, всё это в скором вермени появится на руборде в профильных темах =^_^= И ещё, можно как нить публиковать текст без поддержки скриптов в сообщениях, а то здесь уже какая-то рожа с мафоном зажигает. ^ ("крышечка") - показать время, прошедшее со старта сертификационного теста или с последнего ^Z |
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 - внутренний диаметр и внешний диаметр соответственно (для сервосистемы) Вечно в процессе дополнения... |
<<Назад Вперед>> | Страницы: 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 тем | |