Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 42 43 44 45 46 * 47 48 49 50 .. 75 76 77 78 79 80 | Печать |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
marinovsoft написал: Относительно команды w4, >номер буфера>? Перечитал фак и нашел ответ на свой вопрос. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
marinovsoft написал: Ну правильно, в ходе N2 затёрлись транслятор, таблицы дефектов, зонник и калибровки сервосистемы и канала чтения-записи. В общем, всё, что имеет отношение к юзер-зоне. При попытках чтения - ошибки. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 12 мая 2018 23:45 Сообщение отредактировано: 13 мая 2018 9:14
Попалась PATA ALPINE 80GB, PATA FW 3.06. И да, на верификации "гонит", скорость R/W в начале диска порядка 56-57 MB/s, а скорость верификации порядка 36MB/s На FW 8.x (для PATA) такой большой разницы R/W и Verify не наблюдается (разница есть, но небольшая). |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 13 мая 2018 23:06 Сообщение отредактировано: 14 мая 2018 23:20
Вдохновившись статьёй Шаклеина об анализе микропрограмм коннергейтов, я решил попробовать сам - и у меня кое-что получилось! Спустя много бессоных ночей и ещё больше потраченного на другие дела времени, я готов выложить предварительные результаты анализа микропрограммы Conner на примере семейства Jaguar, прошивка 4HT2.61. Вычитывалась и анализировалась голая плата, результат выполнения некоторых команд потом перепроверялся на исправном накопителе. Система команд, по результатам анализа. Цветом выделены команды, не совпадающие с вышеописанными для Seagate Barracuda. Команды приводятся в порядке расположения в таблицах в прошивке. Список команд - полный, но назначение установлено не для всех и не везде точно. Разбирался где-то по аналогии с другими уровнями тестирования у Seagate, где-то по известной таблице команд для CFS540, где-то чистым анализом кода. Онлайн-команды . (точка) - статус активности Pgm 00 Target 200.0.1D Rd Op Err 10 Health 0000.0000 Ready ' (апостроф) - таблица статистики ошибок
> > - изменить положение синхроимпульса чтения-записи ; (точка с запятой) - статус накопителя Age Typ Ftr Hds Gn Thd Grey Itg Ofs Spin Rwctl " - статус трансфера (см. команду ` барракуд) Cyl Hd Sct Cnt Rel Xfr Err Rf Rc Rty.ctl Rw Ef Mf Sf Spc Error ` - не выяснено, некие внутренние переключения % - статус Mux :40000000A60100000001 AT`ALCC5SE ' & - вывод BAR CODE T>BAR CODE # `' ! - отобразить регистры каналов чтения-записи (а может, и не только этих) Adr D0 - 00100800 7F801510 580018B7 000001FF ~ - статус команды интерфейса (интересно, что выводится без переноса строки) Cmd=E0.01.00.00 at=0000.00.01.00.01 Cm=0008.00.00.0001 Fl=00.00.00.0000 [ ] - увеличить/уменьшить слово, адрес которого хранится в переменной F8 (значение не выяснено) { } - увеличить/уменьшить адрес, который хранится в переменной F8 0x04 (^D) - переключатель Action code Display/no display (отключение отображается стиранием строки) 0x09 (^I) - см. 3>i 0x0C (^L) - печать версии прошивки 0x10 (^P) - Toggle power chop (в подтверждение ничего не выводит) 0x11 (^Q) - Foreground resume 0x12 (^R) - реинициализация и рекалибровка винта (не сброс всей микропрограммы) 0x13 (^S) - Foreground pause. При этом печатается содержимое регистров процессора: BRK - Pc=2429 A=00 B=0D C=C5 X=1000 Y=10E0 Sp=13EF 0x14 (^T) - начать тестирование с уровня Age 0x15 (^U) - печать флагов ошибок сервосистемы (в текстовом виде) 0x16 (^V) - Toggle interface command echo display (в подтверждение ничего не выводит) 0x17 (^W) - не выяснено (выводит два байта, только при работе по интерфейсу) 0x18 (^X) - показать содержимое каких-то регистров по определенному адресу (только при работе по интерфейсу, не в командной строке) At 10AE - 08 00 00 00 03 D7 09 11 0x19 (^Y) - не выяснено 0x1A (^Z) - прерывание текущей программы, запуск теста 00. По ^T на интерфейс не выйдет! 0x05 (^E) - состояние интерфейса Interface State 0x06 (^F) - статус сегментов (полагаю, то же, что и буферы) BUFFER SEGMENT TABLE Общие команды (действуют на всех уровнях) 0x03 - забой символа /x - смена уровня. Уровни TMOS - 0 (T), 1, 2, 3, 4, 6. Специальные параметры - A, B, D - производят некие внутренние переключения, но уровень не меняют. L - зациклить следующую комнаду 0x0D - Еnter @x - метка | - конец пакетного файла =x,y - ввести байт y по адресу x в память микроконтроллера +x - считать байт по адресу x из памяти микроконтроллера \ - быстрый вызов пакетного файла * - специальные функции для пакетных файлов: _x,y - ввести байт y по адресу x в буферную памятьУровень T - основной уровень тестирования B - ввести Bar Code S/N. Хранится в EEPROM Dx - вывести логи начиная с x Ex - печать одного лога x, без параметров - текущего. Если x=0 - очистка лога Fx,y - выставляем feature бит номер x (0..F) в y (0,1) H - печать битов Health в текстовом виде. H,,22 - сбросить биты health J - аналогично ENx - установить Age P - ввести PCB S/N. Хранится в EEPROM Yx - установить тип Tx - запустить одиночный тест # - ввести Drive S/N. Хранится в EEPROM Уровень 1 - команды работы с памятью микроконтроллера Ax - установить адрес стека (граница - 4000) Bx - установить breakpoint C - продолжить после break'а Dx - вывод 256 байт памяти E - не выяснено Fx,y - найти слово x с адреса y (по умолчанию - 2000) Gx - запустить код на выполнение с адреса x (>1000) H - тест оборудования (в случае ошибки пишет "12 Volts unsafe") M - переместить ПЗУ в ОЗУ (адреса 1000-1200 и 1E00-2000), по сути - инициализация переменных Px,y - запрограммировать данные y в EEPROM по адресу x (0..3F) R - производит инициализацию неких портов и подаёт импульс в некий порт Sx - не установлено Уровень 2 - работа с подсистемой чтения-записи (микроконтроллер CL-SH359) Ax,y - показать/изменить тестовое пространство (x - битовая карта опций), см. общую команду A у барракуд Показ:Single trk - Hd 0 Bx - отобразить буфер x Cx,y - сравнение буферов. При несовпадении - ошибка Code - 10 D - последовательно выполняет тесты 47, 43, 48, 46, 45? Возможно аналогично 3>D барракуд Ex - см. T>E F - добавление/удаление дефектов. Точный формат параметров не установлен, см. также команду 9>F у барракуд Gx - выводит Log 01 = 01 Skp=0 , (при x=1) - какое-то преобразование номера лога во что-то Hx - выбор головки Ix,y,z - показать/изменить адаптивные параметры (хранятся в EEPROM) x - номер головки y,z=EITW - четыре полубайта параметров, макс. 3377, для внешней и внутренней зоны соотв. Без аргументов - просто вывод >I У живого винта: Outer Zone Inner Zone Jx - аналогично E Kx - устанавливает некую флаговую переменную (один байт) Mx,y,z - быстрый тест границ адаптивов (см. также 7>M барракуд) N - тест адаптивов (см. также 7>N барракуд) Ox,y - см. 3>O Px,y - заполнение паттерном x буфера y (по умолчанию - буфер 2) Qx,y - запись/чтение дорожки, x - начальный сектор, z - число секторов Rx,y - чтение дорожки, x - начальный сектор, z - число секторов Sx,y - позиционирование на цилиндр x, головка y Ux - раскрутка шпинделя. x - опции: 0 или без аргумента - обычное 22 - печать меняющегося Pwr E - останов и печать некоей таблицы (выбега?) F - печать той же таблицы, но шпиндель при этом не пищит 1 - не менять состояние Vx,y - чтение/верификация: x - начальный сектор, y - число секторов Wx,y - запись, параметры те же X - печать ID секторов на дорожке. На голой плате: 2>X (второе число - Pwr) На живом винте: Sct 00 0500.00.00 FF Sct 10 0500.00.10 FF Sct 20 0500.00.20 FF Yr,x,yyzz - отобразить/установить управление повтором: r - биты, x - число повторов, см. документацию по барракудам На пустой плате:Hdr, OTF, ECC, Servo, Window, Splash, Oftk rd, Eqlizr, Dta rty=40, Wrt rty=40 Z - останов шпинделя bx - то же что и 2>B ex - обменять местами младший и старший байт аргумента (регистровой пары d) p - не выяснено, нечто сложное rx - длинное чтение сектора x s - то же что и 2>Z wx - длинная запись сектора x y z - не выяснено, возможно Write bad data field sync byte и ещё что-то в тот же байт (комады различаются одним внутренним параметром) Уровень 3 - команды работы с сервосистемой A - см. 2>A B - расчёт неких констант для сервосистемы: Cyl 500 Cx,y - Acceleration Constant Measurement Test: x - внутренний цилиндр (ID), y - внешний цилиндр (OD) Dx,y,z - тест времени доступа 3>D E - см. T>E F - построение графика Moror acceleration
Gx,y - ввести/отобразить параметры Gain и еще какой-то Tf=AA AB=CB CD=2E Hx - см. 2>H I - тест Gain на цилиндре Cyl 37C J - см. T>J Kx - тест переключения головок Head switch test x - если введено, сбросить offset Mx,y - перемещение актуатора без обратной связи по положению: x - значение DAC, y (=00,01,01,11) - направление Nx - построение графика, поиск смещения позиционирования и ширины трека (похоже на команду 7>7 у барракуд) x - сектор o Ox,y - тест позиционирования от цилиндра x до y. С настройками Retry по умолчанию выполняется однократно. P - предположительно график отклонения позиционирования Qx,y - сертификационная запись/чтение. x - начальный сектор, y - число секторов R - не установлено S - см. 2>S T - тест магнитного замка 3>T U - печать флагов ошибок сервосистемы (в виде сообщений). На исправном винте не печатает ничего. На голой плате: Spin lock err, Init err, Spin error, То же самое что онлайн-команда ^U V - (ничего не выводит, хотя должен) возможно, тест тока потребления шпинделя Xx - показать амплитуду сервовспышек A, B, C, D и ошибку позиционирования для данного сектора (см. 4>X у барракуд) x - номер сектора (0..2E) и за ним сразу же селектор A или B (что значит - не знаю) 3>X2EB Y - тест гистерезиса актуатора
Zx,y - предположительно, Zap servo burst на текущей дорожке (см. 4>Z у барракуд) Параметр x тот же самый, что у 3>X i - график Intg dsply
b - не устанвлено (должен выводить CHS = .5.6..7..8 ABCD = .Ц_.Ч_.._.Щ avg = .о_.-_.-_.+ Fidv = .Ъ Favg = .Ы..-) Уровень 4 I - см. 2>I Mx - некий тест Без параметров: C00A H0 P1 Wc2 Th3 . . . . . . . . G=4096 x - головка N - какой-то долгий тест, возможно Napa Servo Adaptive Test Vx,y - неясно, что-то с чтением/записью Sx,y - см. 2>S Y - см. 2>Y Уровень 6 - работа с пакетными (batch) файлами Bx - запустить пакетный файл x. В прошивке 4HT2.61 доступны 5, 7, 9, 11, 30, 31, 50 Ex - ввести пакетный файл x. Пользователю есть место в EEPROM на 3 файла. Dx - отобразить пакетный файл x K - не выяснено N - не выяснено Таблица тестов Таблица тестов в прошивке выглядит так: $2C, $34, $32, $1A, $19, $29, $38, 1, 2, 3, 4, 5, 6, 7, 8, 9, $F, $10, $11, $12 $13, $14, $15, $16, $17, $18, $1A, $1B, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $2E, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $3A, $3B, $40, $3F, $3F, $A, $B, $C, $D, $E, $2A, $2B, $2C, $2D, 0 Тесты до 1-го и после 3F-го не используются: 0A..0E совпадает с 01..05, 2A..2С - с 06/07/09, 2С - с 1A, 19 - с 00. Соответствующие тестам цепочки подпрограмм найдены, но их назначение точно не установлено. Пост будет редактироваться с целью исправления найденных ошибок. Далее будет выложен проект IDA и описана структура микропрограммы: карта памяти, переменные, объекты, особенности вызова подпрограмм, и т.п., а также некоторая информация о самом диске. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 14 мая 2018 9:46 Сообщение отредактировано: 14 мая 2018 9:47
KALDYH, класс, очень полезное исследование!! KALDYH написал: Это у U-series, у barracuda тоже 2>F F - добавление/удаление дефектов. Точный формат параметров не установлен, см. также команду 9>F у барракуд |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Тем временем сделал небольшое открытие. В Jaguar применялись как интерфейсный контроллер CL-SH359, как у меня: так и CL-SH360 а на CL-SH360 есть даташит с описаниями регистров! http://datasheet.datasheetarch...3X1198.pdf Также по фото глянул, какие существовали версии прошивок. Вижу 4HT2.05A, 4HT2.17, 4HT2.35. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
i8088 написал: У барракуд есть как 2>F, так и 9>F. Скорее всего, это одна и та же команда, но в справочниках на них разные описания, и на 9 уровне оно более полное. Это у U-series, у barracuda тоже 2>F |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
KALDYH написал: Я не припоминаю уровня /9 у Barracuda, сейчас перепроверил на AVALANCE, нет /9 уровня. У барракуд есть как 2>F, так и 9>F. Скорее всего, это одна и та же команда, но в справочниках на них разные описания, и на 9 уровне оно более полное.
Или у каких-то моделей имеется /9? AVALANCE у меня завис при попытке просмотреть последовательность тестов C>D, Вы не знаете, это нормально для него? С диском я ничего не делал, собственно в первый раз подключил его к терминалу. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
i8088 написал: Не, не знаю, никогда аваланчей не пытал. AVALANCE у меня завис при попытке просмотреть последовательность тестов C>D, Вы не знаете, |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Жаль что он у меня один всего (на 30GB, одноголовый), сравнить не с чем. Попался потертый жизнью, но без единого remap-а. У нас вообще Barracuda до 7200.7 очень редки, MFM-ки и то чаще встречаются. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 42 43 44 45 46 * 47 48 49 50 .. 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 тем | |