Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Документация »   Програмный ремонт жёстких дисков HDD
RSS

Програмный ремонт жёстких дисков HDD

Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung /IBM /Hitachi /HGST /Western Digital

<<Назад  Вперед>> Страницы: 1 2 3 * 4 5 6 7 .. 75 76 77 78 79 80
Печать
 
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Все остальные винчестеры Seagate, кроме перечисленных выше, диагностируются и ремонтируются через последовательный терминал. О подключении терминала - см. выше или тут:
http://www.stankorb.com/articles.php?article_id=5
https://people.overclockers.ru...e_Muhi_CC/
Технологические команды ATA у них тоже есть, но их возможности весьма скудны (в основном это штатное обновление прошивки, и у старых моделей - дублирование последовательного терминала), и ими практически никто не пользуется. А для работы по терминальному соединению в диске есть целая интерактивная командная оболочка, называемая TMOS (тест-мониторная операционная система).

Примечание: используемый набор управляющих последовательностей соответствует терминалам Wyse либо ADM. Рекомендуемая программа-эмулятор для Windows - ZOC (внимание, программа коммерческая!). Рекомендуется она также потому, что поддерживает REXX скрипты.

Итак, подключаем наш выбранный винчестер, например Barracuda 7200.7, к последовательному порту, открываем терминал, подаём питание на диск и видим, как на экране постепенно появляются стартовые сообщения:

1024k x 16 buffer detected
ALPINE - 1_Disk    M-21  11-25-03 18:53
Head Mask FFFF - Switch to full int.
              Spin Ready
8.01  09-28-04 15:05
(P)PATA Reset
Master

Расшифровка:
  • 1024k x 16 buffer detected - определение размера ОЗУ на плате
  • ALPINE - имя семейства (имена семейств и рассказ об их особенностях для всех Barracuda будут ниже)
  • 1_Disk - кол-во дисков, для которого предназначена эта версия ПЗУ (может не совпадать с фактическим)
  • M-21 11-25-03 18:53 - версия ПЗУ и дата его компиляции. M - масочное, S - последовательное. Масочная версия ПЗУ может быть прошита и в последовательную флешку.
  • Head Mask FFFF - обнаружение коммутатора-предусилителя головок и карты подключенных голов
  • Switch to full int. - раскрутка диска
  • Spin Ready - раскрутка завершена
  • 8.01 09-28-04 15:05 - версия прошивки и дата ее компиляции
    (P)PATA Reset - получена команда сброса с ATA интерфейса (если винт был к нему подключен)
  • Master - диск определил, что перемычка стоит как Master.


Кроме этого, винт в процессе работы будет выдавать туда различные диагностические сообщения. Пример (не помню для какой модели):

CE Log ErrCode=43  LBA=7db69ea  Type=5  Add To Pending 7db69ea
AT Er 00 Nwt Er 43 RdWr 0b9cd.01.0007
ATA St 80 Er 01 Op 00 0,0000/0/00,00 01 00
Niwot:  9ff79ff7  b6  9ff79ff7.1.6b4 0000  005f 0000 0002
DiskAccess ReadSector EC=43 at 00b9cd.01.0007

- в ходе оффлайн-самотестирования обнаружен дефектный сектор и занесён в кандидаты на ремап.

Попробуем набрать что-нибудь в терминале. Ничего не происходит. Почему? Дело в том, что винчестеры Seagate одновременно могут работать только в одном из режимов: либо интерактивная командная строка, либо работа по интерфейсу. Для перехода в режим командной строки нажмите Ctrl+Z или отправьте байт 0x1A (далее в тексте нажатия клавиш с Ctrl обозначаются значком крышечки, например ^Z). Винчестер перестанет отзываться на интерфейс, а в терминале появится приглашение:

T>

Команды имеют длину один байт (т.е. односимвольные). Команды чувствительны к регистру! Формат команды: один байт команды, за ней без пробела вводится один или несколько параметров, параметры между собой отделяются запятыми. То есть команда N, например, имеет вид Nxx,yy,zz. Команды, которые критичным образом меняют состояние накопителя, последним параметром имеют подтверждение - число 22 (появилось в серии Barracuda). Ввод команды подтверждается нажатием Enter. Есть возможность стереть забоем неправильные данные и ввести заново (т.е. управляющий символ 0x08 (Backspace) обрабатывается), стрелки для перемещения по тексту не работают. Так как 256 команд явно недостаточно, блоки команд разделены на диагностические уровни (levels). Для переключения между уровнями служит команда / (прямой слэш), после которой вводится номер уровня, например:

T>/1
1>

Текущий уровень отображается в приветствии командной строки. Для перехода на основной уровент T> введите команду / без параметров. Количество диагностических уровней у разных моделей различно, смотрите документацию или пробуйте методом перебора. Кроме цифровых, есть и буквенные: A, B, C... Многие команды для удобства дублируются на нескольких уровнях. Часть команд обрабатываются аппом (Application code) и работают всегда, часть - сертом (Certification code) и требуют его загрузки командой ^R, а без него выводят сообщение
Command Inactive - No VALID Cert Code Detected
Еще некоторые команды (например ^U) обрабатываются кодом ATA оверлея и они наоборот, при загруженном серте становятся неактивны.
Есть ещё уровень F> - это уровень, обслуживаемый флеш-ПЗУ, у старых винчестеров его не было (вместо него был урезанный T>). На нём действуют очень немногие команды, зато загрузка Application Code и чтение-запись флеш-ПЗУ доступны только с него. Перейти на него с уровня T> нельзя, винт сам выходит на него при невозможности считать App. Чтобы попасть на него при исправном винчестере, необходимо быстро-быстро нажать ^Z сразу после подачи питания на винт, пока он ещё не успел раскрутиться и ничего считать.

Кроме вводимых команд есть ещё и онлайн-команды. Они:
1) действуют на любом уровне
2) состоят из одного байта и не имеют параметров
3) не требуют подтверждения нажатием Enter и исполняются немедленно. Собственно, коды Enter, Backspace, ^Z и т.п. сами к ним относятся.
4) работают в любом режиме работы накопителя: как при работе по интерфейсу, так и в командном режиме и при выполнении тестов. Если винчестер на них не отзывается, значит он ОЧЕНЬ занят или попросту завис.

Информацию о командах терминала и работе с ним можно взять тут:
PCSEAGATE.pdf - руководство по ремонту старых семейств Seagate (Lapaz, Belize, Maui2r, Bali) для PC3000 DOS
PCSeagBara.pdf - инструкция по ремонту от PC-3000 for Windows, для накопителей от Barracuda 1 (Durango) до Barracuda 7200.9 (Tonka2)
Seagate_part1.pdf - руководство от PC-3000 UDMA, включает в себя информацию по всем "классическим" Barracuda и Momentus вплоть до самых последних.
yaxsi_rus-ing_seag_bar.pdf - дока от HDD Repair Tool по ремонту накопителей от Barracuda 2 (Vali) до 7200.7 (APLUS)
Seagate-Diagnostic-Command.pdf - полный справочник по командам, по косвенным свидетельствам (вкрапления русского текста) - утечка от bvg-group. Довольно старый, по моим наблюдениям подходит скорее к U-образным накопителям вроде U6.
Seagate_Diagnostic_Commands.pdf - еще один полный справочник по командам от китайской группы pc3khrt.com
ST Factory Command Function.pdf - DIAGNOSTIC COMMANDS Compatible with Drives with >64k Cylinders, January 13, 2003, Seagate company confidential, for inernal use only - полный справочник по командам самой последней версии, утечка из самой Seagate. Сама пдф-ка из интернета, по-видимому, удалена, есть онлайн-версия на Scribd. По поколениям соответствует Avalanche/Alpine, у более старых и более новых есть отличия.

Все эти документы являются не вполне полными. Исчерпывающий список можно получить, самостоятельно проанализировав микропрограмму винта. Вот пример: http://nazyura.hardw.net/Part02.htm

Далее будет русскоязычное описание наиболее общеупортебительных команд с примерами.
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Начнём с онлайн-команд. Большинство из них - это диагностические или информационные команды, поэтому полезны в первую очередь. Большинство из них безопасны, поэтому знакомство с терминалом можно начать с них.
Все примеры приведены для семейства NIGHHAWKPLUS (7200.10 "тонкий").

^H - забой символа. Так в настройках терминала и укажите.

. (точка) - статус активности. Одна из наиболее употребляемых команд.

Pgm=00 Trk=16BF2(14FE0:17[164D3]<img src="smiles/wink.gif" align=absmiddle alt=";)">.0(0).000(000) Zn=8 Err=00 ErCt=0000 Hlth=0018 CHlth=0000 Ready LBA=13C5C5DF
  • Pgm - выполняемая программа (00 - диагностический монитор, 50 - работа по интерфейсу, остальные - уровни самотестирования)
  • Trk - цилиндр логический(физический).головка лог(физ).сектор (физ). Где-то там ещё номер цилиндра в коде Грея прописан. Обычно там адрес следующего сектора за последним считанным/записанным. Информация полезна для ручного позиционирования.
  • Zn - номер текущей зоны
  • Err - код ошибки текущей операции
  • ErCt - счётчик ошибок с последнего сброса
  • Hlth - битовая карта накопленного здоровья (cumulative health) накопителя. Расшифровка битов будет ниже.
  • CHlth - Current Health - текущее здоровье (то бишь на данном уровне тестирования)
  • Ready - статус готовности. Может быть Ntrdy
  • LBA - адрес текущего LBA. Обычно там адрес следующего сектора за последним считанным/записанным.

; (точка с запятой) - вторая наиболее употребительная команда. Статус накопителя.

Age=50 Type=03 MxCyl=25BC9 MxHd=1 MxSct=7E8 BSz=008M TCode=0201FFFE ThermFlts=0000

  • Age - этап тестирования (номер теста селфскана/Certification) накопителя. 50 - тестирование завершено, запускается нормальная работа по интерфейсу. 4F - тестирование провалено, автоматический выход в TMOS. Меняется по мере прохождения тестов иил принудительно устанавливается командой T>N. По команде ^T номер программы (Pgm) устанавливается в это число. Примечание: в селфскане тесты идут не по порядку номеров.
  • Type - тип накопителя (модель винчестера в семействе, от самой младшей до самой старшей); определяет число головок. Соответствие байта модели смотреть по справочным таблицам.
  • MxCyl - максимальный доступный (вводимый в команды) цилиндр.
  • MxHd - максимальная головка
  • MxSct - максимальный сектор (для первой зоны, остальные - меньше)
    Эти три параметра - физические.
  • BSz - объём ОЗУ в кб/Мб (шестнадцатеричный)

^T - запуск теста (Pgm) с уровня Age. В обычном состоянии винчестера (Age 50) это будет выход из диагностического монитора с перезапуском микрокода. Именно подачей этой команды запускается и перезапускается селфскан.

^Z - прерываение текущего теста и выход в диагностический монитор, про это я уже рассказал.

^U - печать в виде шестнадцатеричного дампа AT Stuff (паспорта диска). Работает только при незагруженном Cert code.

^L - версия микропрограммы, дата/время сборки и функционал накопителя (У коннергейтов - только технологическое имя и версия микропрограммы, то же, что и при при старте).
NHPLUS2HD - 1_Disk    3.AAC  08-09-07 11:00 AAA,NP_1D_2H_S,14
Built for NHPLUS2HD,PITKIN,COPPERHEAD,TI1843 PreAmp,Agere7539 PreAmp,McKinleyDT,1Disk,220 Servos,7200RPM,8Pole,133MHz,RwFeat=0002,VBAR

Расшифровка некоторых пунктов:
  • NHPLUS2HD - имя семейства. Может отличаться от того, что в ПЗУ - так, у NIGHTHAWKPLUS в нём зашифровано, одноголовая или двухголовая (2HD) это версия прошивки.
  • 1_Disk - число дисков, поддерживаемое фирмварью. Фактическое может быть меньше.
  • Built for - кодовые имена основных компонентов, характеристик железа и опций.
    PITKIN - тип интерфейсного контроллера (данный применяется с PUMA по NHAWK PATA; у ALPINE/APLUS - GRAND2, у AVALANCHE - GRANDB, U5/Aspen/Snowmass - Saratogall и т.д.). От производителя чипсета (ST/Agere) не зависит.
    COPPERHEAD - канал чтения-записи (дискретный или встроенный в чипсет, например COPPERHEAD - встроенный в чипсет Agere)
    TI1843 PreAmp,Agere7539 PreAmp - поддерживаемые преампы (те, что в гермоблоке)
    McKinleyDT - тип крутилки (например у TONKA2: MCKINLEY_DT_ST - крутилка SMOOTH, MCKINLEY_DT_TI - SH6960)
    1Disk - число поддерживаемых дисков
    220 Servos - число сервометок (wedges)
    8Pole - число полюсов у ротора шпиндельного двигателя?
    133MHz - скорее всего тактовая частота процессора
    VBAR - адаптивное форматирование, индивидуальное для каждой головки (VBPI - общее для всех головок)
  • 3.AAC 08-09-07 11:00 - версия фирмвари (та, что на этикетке написана) и дата билда.

ПЗУ поддерживает несколько конфигураций железа сразу и таким образом к типу платы не привязано. В прошивке содержатся текстовые строки сразу для нескольких конфигураций, при работе выводится та, которая соответствует железу. Апп содержит свой текст сообщения, который несколько отличается от того, что выводит ПЗУ.

^A - выдать ревизию Cert (оверлейного кода селфскана)
Eng Rev = .05B
Compat/Hardware = .0Q9
NHPLUS2HD - 1_Disk    3.AAC  08-09-07 11:00 AAA,NP_1D_2H_S,14
CERT Rev = .03G
NONE
Mask Rom Rev = S-1A  
Orig Code = AAZ140 NHAWK_NP_140.05B.03G

У коннергейтов - переключатель Display Servo / No Display Servo

^R - загрузить Cert overlay в память с диска. Без него некоторые команды не работают, выводя сообщение об ошибке:
Command Inactive - No VALID Cert Code Detected
Успешная загрузка в подтверждение выводит его версию:
Disk Code Revision # .08F CRC ==> D844
Если Cert повреждён или отсутствует, ответ будет примерно таким:
DiskAccess ReadSector EC=47 at ffffffff.00.0000
DiskAccess ReadSector EC=47 at ffffffff.00.0000
INVALID Cert Disk Code - ROM Resident Revision Required: 3.AAD

У старых винтов - перезагрузка диагностического монитора

^C - сброс микропрограммы (перезапускает работу по интерфейсу, не полный сброс винта)

' (апостроф) - статус трансфера с блинов

Cmd    Cyl   Hd Sct  Cnt  Stbuf Segl Csct Cbuf Actv ErCd RWOp Rd Wr RWOp1 Flags
18  0E600312 00 0000 7FFF 1846  01FF 0000 3462   Y   00  00F7.28.40.0004  800

  • Cmd - код последней выполненной команды
  • Cyl - номер цилиндра
  • Hd - головка
  • Sct - сектор
  • Cnt - кол-во блоков
  • Stbuf - начальный буфер (подробнее о буферах ниже в разборе команды "вопрос")
  • Segl - количество буферов
  • Csct - текущий сектор
  • Activ - выполняется ли команда в данный момент
  • ErCd - код ошибки


^D или ^N - переключение отображения активности
e c r = 0 0 1
e c r = 0 1 0

и т.д. по кругу. По умолчанию - 0 0 0. Если отображение включено, выполнение винчестером внутренних команд сопровождается сообщениями вида:
cmd  2A,  params  0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Назначение параметров то же, что и у вывода команды "апостроф" (статус трансфера)

? (знак вопроса) - показать карту буферов. Все операции чтения, записи и прочая производятся через буферы. Величины указана в секторах, чтобы узнать длину буфера, вычитаем его адрес из адреса следующего буфера (7200.10 пишет длину через двоеточие).

BT:0000
PC:0055
AP:0060
RL:0298
AL:029B
SL:02B3
MW:059C
AT:0646
TB:0D00:0020
SO:0D20:0038
FS:0D59:0070
RD:0480:0010
WR:0490:0010
FM:0666:0018
AD:0666:001C
BA:067E:0003
ST:0681:0001
AS:0682:007F
DP:0701:02A6
AC:0701:02A6
SC:09A7:02A7
IO:0C80:0080
CT:3B60
uP:3FC0
MZ:3FE0

logbps :0200
codebps:0200

Буферы:
  • RD - буфер чтения
  • WR - буфер записи
остальные нас мало интересуют. logbps и codebps - длина одного буфера (логов и данных сответственно) в байтах (0200 - 512 байт, один сектор, одинаково у всех семейств и моделей).

^ ("крышечка") - показать время, прошедшее со старта сертификационного теста или с последнего ^Z
Time = 00<img src="smiles/meloman.gif" align=absmiddle alt=":11:">10 Log Type = 00

` (гравис, обратный апостроф) - показать статистику чтения/записи

       Rbit  Hard  Firm  Soft   OTF   Raw  Rhdr    Wbit  Whrd  Wrty  Whdr
Limit  10.2  10.2   9.5   8.0   7.0   4.0   7.4     9.2   9.2   6.5   7.4  
Hd 0    0.0   0.0   0.0   0.0   0.0   0.0   0.0     0.0   0.0   0.0   0.0  
Hd 1    0.0   0.0   0.0   0.0   0.0   0.0   0.0     0.0   0.0   0.0   0.0  

У коннергейтов не было.

^W - вкл/выкл сбор статистики чтения/записи
Rd/Wr Stats On

Rd/Wr Stats Off

У коннергейтов - прерывание программы (в последовательности ^Q ^W ^S):
BRK - Pc=171D A=05 B=B5 C=E0 X=0700 Y=09B0 Sp=07F6

^E - состояние интерфейса
CurrentCHS=ffff/10/3f  MltSiz=110  DMAMod=42
У коннергейтов не было

^F - Read Segment Record(S), выводит кучу малополезной инфы.

^G - очередь записи. У коннергейтов - то же, что и ~ (статус интерфейса).

^I - дамп регистров контроллера

^K - состояние чтения-записи Niwot

^P - (у коннергейтов) переключатель R/W Test Points Enabled/Disabled

^S - приостановить работу по интерфейсу и переключиться на диагностический монитор (Foreground Pause)

^Q - продолжить после ^S (Foreground resume)

^V - вкл/выкл эхо команд и отслеживания активности
EchoInterfaceCmds: On
EchoInterfaceCmds: Off


^X - история команд Niwot и интерфейса

~ (тильда) - состояние команд интерфейса
ATA St 50 Er 00 Op 35 e,  06127f8,08 00 d8
Niwot:  00010000  a4  00010000.0.036 0000  10c9 0001 005c  ca9e1e

У коннергейтов не было

^Q - вкл/выкл показ отладки Cert (не работает на Age 50)

! (восклицательный знак) - показать текущие настройки канала чтения-записи (дамп регистров Read channel и Preamp)

% (знак процента) - показать статус Mux
:5000001803000001  AX`9RY2FMKH'  "000000000000"16BD3-16D14
SRAM Ovly = Diag

(в диагностическом мониторе)
Расшифровка, по порядку (описание пунктов см. выше):
  • 50 - Age
  • 00 - Pgm
  • 0018 - Health
  • 03 - Drive Type (модель накопителя)
  • 00 - байт флага ошибок, принимает несколько табличных значений
  • 00 - байт кода ошибок
  • 01 - максимальное число головок для этой модели
  • AX - тип интерфейса (AT с авто-трансляцией)
  • 9RY2FMKH - серйный номер винчестера (совпадает с тем, что на крышке). Второй и третий символы серийного номера определенным образом (смотреть по таблицам) соотносятся с типом.
  • 000000000000 - серийный номер платы
  • 16BD3-16D14 - адреса служебных цилиндров

:5000001803000001  AX`9RY2FMKH'  "000000000000"16BD3-16D14
SRAM Ovly = AT

(работа по интерфейсу)
:000000010000  AX'         '  "         "00016BD3-00016D14
(на уровне F)

> и > (знак больше и знак меньше) - уменьшить-увеличить положение синхроимпульса чтения-записи

Esc - прервать цикл, командный файл или скрипт SeaDex
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Господа, вы уже можете доставать свои сигейты и начинать потихоньку экспериментировать - потому как писанины впереди будет ой как много... Я пока описываю безопасные для винта процедуры.
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
После некоторого перерыва продолжу.
Вот основные команды, которые понадобятся при диагностике и ремонте 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
User Slip Defect List
Num Entries = 0670    Checksum = BD3B
Hd 0        Span
00000.0.000 000
01211.0.470 006
01212.0.470 006
01213.0.470 006
01214.0.470 006
01215.0.470 006
   --- дальнейший вывод обрезан ---
T>V2
Reserved Slip Defect List
Num Entries = 0000    Checksum = 02FE
T>V4
Alt Defect List
Num Entries = 0000    Checksum = E373

"Битовая карта" означает, что складывая, ключи объединяются. Так, например, 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
Enter Drive S/N  4JV0A0WK
Enter Packwriter S/N 9W2003-371


$ - ввести серийный номер платы 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
Вангую, всё это в скором вермени появится на руборде в профильных темах =^_^=

И ещё, можно как нить публиковать текст без поддержки скриптов в сообщениях, а то здесь
[q]
^ ("крышечка") - показать время, прошедшее со старта сертификационного теста или с последнего ^Z
[/q]
уже какая-то рожа с мафоном зажигает.
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Уроверь 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

System Variables Read from Disk    

У поздних барракуд изъято.

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
Zone 00:  0000A - 01BCF  1466 (05BA) 699.792
Zone 01:  01BD0 - 03006  1430 (0596) 681.818
Zone 02:  03007 - 041C7  1393 (0571) 664.399
Zone 03:  041C8 - 05388  1364 (0554) 654.377
Zone 04:  05389 - 07B15  1320 (0528) 626.261
Zone 05:  07B16 - 09816  1246 (04DE) 593.984
Zone 06:  09817 - 0A97D  1210 (04BA) 575.660
Zone 07:  0A97E - 0BA8A  1173 (0495) 560.090
Zone 08:  0BA8B - 0C9A8  1144 (0478) 549.922
Zone 09:  0C9A9 - 0EAB4  1100 (044C) 522.166
Zone 0A:  0EAB5 - 0FDDD  1045 (0415) 501.930
Zone 0B:  0FDDE - 118EF   990 (03DE) 476.190
Zone 0C:  118F0 - 132F3   935 (03A7) 451.246
Zone 0D:  132F4 - 14F40   880 (0370) 420.890
Zone 0E:  14F41 - 16188   825 (0339) 400.656
Zone 0F:  16189 - 17862   770 (0302) 373.433

Head 01
Zone 00:  0000A - 01959  1496 (05D8) 716.190
Zone 01:  0195A - 02B74  1466 (05BA) 700.280
Zone 02:  02B75 - 03DE9  1430 (0596) 681.818
Zone 03:  03DEA - 05577  1393 (0571) 666.666
Zone 04:  05578 - 0662A  1375 (055F) 656.314
Zone 05:  0662B - 08682  1320 (0528) 626.261
Zone 06:  08683 - 0A275  1246 (04DE) 593.984
Zone 07:  0A276 - 0B571  1210 (04BA) 576.074
Zone 08:  0B572 - 0D623  1155 (0483) 552.754
Zone 09:  0D624 - 0F513  1100 (044C) 522.166
Zone 0A:  0F514 - 107E2  1045 (0415) 501.930
Zone 0B:  107E3 - 122C7   990 (03DE) 476.190
Zone 0C:  122C8 - 13B90   935 (03A7) 451.428
Zone 0D:  13B91 - 156CF   880 (0370) 421.052
Zone 0E:  156D0 - 16863   825 (0339) 400.793
Zone 0F:  16864 - 17862   770 (0302) 373.433

Head 02
Zone 00:  0000A - 018E5  1540 (0604) 729.559
Zone 01:  018E6 - 02D63  1485 (05CD) 709.956
Zone 02:  02D64 - 04D4D  1430 (0596) 682.215
Zone 03:  04D4E - 06552  1393 (0571) 666.666
Zone 04:  06553 - 06F3B  1375 (055F) 658.891
Zone 05:  06F3C - 08A9C  1320 (0528) 626.261
Zone 06:  08A9D - 0A6D4  1246 (04DE) 593.984
Zone 07:  0A6D5 - 0BAFC  1210 (04BA) 576.074
Zone 08:  0BAFD - 0D78A  1155 (0483) 552.754
Zone 09:  0D78B - 0F23F  1100 (044C) 522.448
Zone 0A:  0F240 - 10590  1045 (0415) 502.333
Zone 0B:  10591 - 11EED   990 (03DE) 476.190
Zone 0C:  11EEE - 13519   935 (03A7) 451.428
Zone 0D:  1351A - 14E76   880 (0370) 421.052
Zone 0E:  14E77 - 15E96   825 (0339) 401.001
Zone 0F:  15E97 - 167A8   792 (0318) 387.030
Reserve:  0F45C - 0F589   823 (0337) 408.424
Total KBAs = 13CC1411

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
Уровень 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
02,83,84,03,06,07,90,93,98,9C,AA,81,09,74,E3,0F,82,94,56,99,
10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,2A,DA,DC,D6,D7,
D8,D9,7C,B9,7D,78,58,23,8F,40,47,31,AB,32,AB,33,AB,34,AB,A5,
AB,A6,AB,36,A8,37,3A,8A,3B,3C,3D,3E,A9,3F,20,77,9D,74,E0,87,
88,41,4B,44,48,49,53,4A,4D,8B,61,28,62,29,63,59,85,35,6F,4E,
00

Прочие команды: 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 может плавно меняться примерно от 1,1000 до 0,5900 (точно не знаю), нормальная - 1,0000, в качестве пониженной обычно используют 0,7500. Недопустимое значение выдаёт ответ Illegal Value. Сброс к исходному значению - vFF. Команда используется для понижения плотности при невозможности пройти селфскан из-за слишком низкого качества магнитного слоя (ошибка FAIL_CAPACITY). Команда появляется начиная с семейства 7200.8.

Также есть команды: 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 - выбор устройства:
  • 00 - PREAMP
  • 01 - CHANNEL
  • 02 - SERVO_CHIP
  • 03 - SATA

v - нет сведений [SFlashWork(Simular[ex,y,z,w])???]
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
aleksvolgin написал:
[q]
уже какая-то рожа с мафоном зажигает.
[/q]
Странно, а у меня не зажигает... Щас попробую исправить.
aleksvolgin
Advanced Member


Всего сообщений: 2123
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
21 нояб. 2010
[q]
Щас попробую исправить.
[/q]
Да, счас всё нормально, спасибо.
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
В ходе работы и тестирования винчестеры Seagate выдают разнообразные сообщения об ошибках, все они закодированы. Вот их расшифровка.

Биты Health
Health (здоровье) - это кумулятивный показатель исправности накопителя. При прохождении тестов (и при нормальной работе, не забываем - формально это тоже один из тестов) при накоплении определенного количества ошибок биты здоровья устанавливаются в единицу, сигнализируя о неисправности. Здоровья существует два: текущее - выставляется в ходе прохождения теста и сбрасывается при начале следующего, служит показателем успешности теста, и аккумулированное - не сбрасывается и служит показателем успешности селфскана в целом. Посмотреть здоровье можно онлайн-командой "точка".
Биты:
  • 15 - число бэдов слишком велико
  • 14 - ошибка оборудования
  • 13 - серьёзная ошибка чтения/записи
  • 12 - частота ошибок слишком велика
  • 11 - потеря дорожки
  • 10 - ошибка актуатора
  • 9 - ошибка сервосистемы
  • 8 - ошибка привода шпинделя
  • 7 - (внутр. использование) флаг прерывания теста
  • 6 - (внутр. использование) ошибка 13 или 14
  • 5 - (внутр. использование) слишком много дефектов на дорожке
  • 4 - предупреждение сервосистемы
  • 3 - предупреждение канала чтения-записи
  • 2 - невозможно скрыть (пропустить или переназначить) бэд
  • 1 - предупреждение тока мотора
  • 0 - ошибка вращения при позиционировании

Для быстрой расшифровки битов можно воспользоваться программой SigaHLTH

Коды ошибок
Эти шестнадцатеричные коды используются в выдаче отчётов по командам "точка", "апостроф", "процент", в онлайн-отчётах о бэдах/ремапах и др. Кроме того, выделенные сообщения об ошибках выскакивают в ответ на невозможность выполнения той или иной команды. Пример:


#,,22
Enter Drive S/N  ********
Enter Packwriter S/N ******-***
    Code - 33  Track 0E31B.0.180  Sns 000  Rty F7FF.FF.80FF  Rtf 1800  LBA 00000000

Code - код ошибки (в примере 33 - адаптивы не загружены). Таблицу кодов ошибок можно посмотреть в документации по ссылкам в начале обсуждения сигейтов (приложение A из Diag Commands Alpine), переводить её мне лень.
Track - координаты цилиндра, головки и сектора, где произошла ошибка

Специальные сообщения об ошибках и повторах
Это односимвольные сообщения, которые выводятся на экран немедленно, прерывая общий поток. Полный список сообщений можно найти в приложениях к документации по командам (см. выше), например в файле Diag Commands Alpine это приложение B. Чаще всего встречаются следующие символы:
$ - отсутствует AM сигнал для сервосистемы. Проще говоря, головка теряет сервометки и не может ни удержаться на дорожке и стабилизировать скорость шпинделя. Часто сопровождается сообщением "AM Reacquired". Пример:

$Switch to full int.
              AM Reacquired
<<Назад  Вперед>> Страницы: 1 2 3 * 4 5 6 7 .. 75 76 77 78 79 80
Печать
Полигон-2 »   Документация »   Програмный ремонт жёстких дисков HDD
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS