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

Полигон-2

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

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

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

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

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

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

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

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
По идее, этой главе полагается быть после главы о разборе служебки, но раз я написал её первой - запощу сейчас.

Теперь коротко пробежимся по модельному ряду Barracuda с разбором особенностей и ключевых нововведений отдельных семейств. Таблица соответствия моделей кодовым именам (неполная)
  • Barracuda 1 (или просто Barracuda ATA). Кодовое имя семейства - Durango. 1-4 диска, 6.8 Гб/пластина. Первый потребительский накопитель на 7200 об/мин у Seagate первым был редкий Medalist Pro 7200 на базе SCSI семейств.
  • Barracuda II - Vali. 1-3 диска, 10 Гб/пластина. Впервые появляется протокол ATA-100. Начиная с этой модели поддерживается команда T>V.
  • Barracuda III - Aspen. 1-2 диска, 20 Гб/пластина. Начиная с этого семейства служебная зона перемещается в середину диска, ранее она размещалась на дорожках 06-0F (это общие координаты зоны, заняты только некоторые).
  • Barracuda IV - Snowmass ("снеговик"). 1-2 диска, 40 Гб/пластина. Новая конструкция гермоблока, первая модель с гидродинамическими подшипниками, в связи с чем начала встречаться такая поломка, как клин этого самого подшипника (инструкция по его расклиниванию).
  • Barracuda V - Avalanche. 1-2 диска, 60 Гб/пластина. В этом семействе исчезает ATA-терминал. Начиная с этого семейства, происходит переход с параллельного ПЗУ на последовательное и появляется BootCode (уровень F>;). Подпрограммы для работы накопителя перестают помещаться в ПЗУ и часть этого кода переносится в служебку как Application Code. Впервые появляются SATA-модели.
  • Barracuda 7200.7 - три подсемейства - Alpine (80 Гб/пластина), APLUS (Alpine Plus, 100 Гб/пластина) и Puma (80 Гб/пластина, новая конструкция платы), 1-2 пластины в гермоблоке. На пути старых методик селфскана встали две новые проблемы:
    1. Появляется адаптивное зонное распределение (общее для всех головок), положение служебной зоны перестаёт быть константой.
    2. В ходе селфскана затирается ATA оверлей, и его необходимо предварительно сохранять, а потом - заливать обратно через терминал.
    Начиная с APLUS, начинает поддерживаться команда T>y, начиная с Alpine прошивок x.5x поддерживается команда T>k. Для альпин существуют downsize-прошивки для рефаба (версии x.7x, с пониженной до 60 Гб/пластина плотностью).
    Начиная с семейства Puma появляются следующие особенности:
    1. Серт перестаёт помещаться на одной дорожке и частично занимает дорожку с тем же номером по первой голове (у одноголовых моделей - по той же нулевой голове через дорожку).
    2. Появляется индивидуальное для каждой головки адаптивное зонное распределение.
    3. В связи с этим в селфскане появляется такой компонент как Picker, а начальный тест пользовательской зоны меняет номер с 4 на 10, при этом перед ним (после 99 теста) появляется пауза с выходом в TMOS.
    4. Downsize-прошивок больше нет, появляется команда E>v, задающая желаемую плотность для пикера.
    5. Команда T>F перестаёт поддерживать ввод нескольких ключей подряд.
  • Barracuda 7200.8 - Tonka. 2-3 пластины (однопластинных нет), 133 Гб/пластина. Выпускалось параллельно с 7200.7 и дополняло его.
  • Barracuda 7200.9/Maxtor Diamondmax 20 - разбивается на подсемейства:
    Tonka2 - в обычном корпусе с одним диском, на крышке есть выштамповка, 160 Гб/пластина
    Tonka4D - четырёхдисковая модель на 500 Гб, 125 Гб/пластина
    Tonka15 - 2-3 диска, 125 Гб/пластина
    Tonka40 - единственная 40-гиговая ATA модель, гермоблок подобен TONKA2
    TLite1HD, TLite2HD (Tonka Lite) - "тонкие" модели, 1 диск, 160 Гб/пластина, одноголовые и двухголовые соответственно.
    У этого и дальнейшего семейства есть следующие особенности:
    1. В результате селфскана. кроме оверлея, затирается и App code.
    2. Используются не один, а два файла оверлея.
  • Barracuda 7200.10/Barracuda ES (не путать с ES.2!)/Maxtor Diamondmax 21 - первое семейство с перпендикулярной записью, последнее с поддержкой PATA. Делится на подсемейства:
    Galaxy2D, Galaxy3D, Galaxy4D - два, три и четыре диска соответственно, плотность от 160 до 188 (у четырёхдисковой 750-ки) Гб/пластина.
    NHAWK (Nighthawk, "ястребы") - "тонкие" однодисковые модели, 160 Гб/пластина.
    NIGHTHAWKPLUS (NHPLUS2HD) - "тонкие" однодисковые модели, 250 Гб/пластина.
Также к "барракудообразным" относятся некоторые накопители на 5400 об/мин.:
  • Medalist Hilo
  • U5 (кодовое имя также U5). 1-2 диска, 20 Гб/пластина.
  • U series X - C1. Тонкий корпус, 1 диск, 20 Гб/пластина.
  • 5400.2 - C2. Пример "войны" с этими двумя старичками.
  • Barracuda 5400.1 - Grand 2C. Тонкий, 1 диск, 40 Гб/пластина. Практически аналогичен U series X.
  • U series 7 - Avalanche. 1-2 диска, 60 Гб/пластина.
2.5" накопители Seagate Momentus имеют те же особенности микропрограммы, что и "большие" диски, и могут быть сопоставлены следующим образом:
  • Momentus 54 - Neptune, соответствует Barracuda 7200.7 Alpine
  • Momentus 5400.2 - Mercury и Merc2, соответствует Barracuda 7200.7 APLUS / 7200.8 (данные неточны)
  • Momentus 5400.3 - Venus, соответствует Barracuda 7200.9
  • Momentus 5400.4 - Corsair, подобен Barracuda 7200.10
  • Momentus 7200.1 - M72
  • Momentus 7200.2 - Galileo, Galileo Plus - по этим двум данных нет
К U-серии относятся семейства:
  • U4 - 4.3 Гб/пластина
  • U8, V8 - 8.6 Гб/пластина
  • U10, V10 - 10 Гб/пластина
  • U6 - 40 Гб/пластина. Встречаются чаще всего. Для их селфскана необходимо отдельное скановое ПЗУ.
  • U9 - 80 Гб/пластина
U5, U7 и U series X относятся к барракудоподобным, однако доступ по Filekey у них тоже есть.
Основное отличие 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
Структура служебной информации накопителей Seagate Barracuda отличается от большинства винчестеров прочих фирм. Она не делится на модули, и каталог модулей в ней отсутствует. Вместо этого используется более простая структура: каждый элемент занимает одну или несколько соседних дорожек, а адресация их происходит по фиксированному смещению относительно начала служебной зоны.
Чтобы узнать адрес начала служебной зоны, введите команду % ("процент")
:5000001803000001  AX`9RY2FMKH'  "000000000000"16BD3-16D14
SRAM Ovly = Diag
16BD3-16D14 - это и есть адреса цилиндров служебной зоны

или 2>x - показать зонное распределение:
...(часть лога пропущена)...
...
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 - это и есть служебная зона. Отсюда узнаём длину треков в секторах.

Начиная с APLUS появляется команда T>y для вывода подробной структуры служебной зоны. Пример вывода с 5400.4 Corsair:
                  PhysCyl   GrayCyl
1st Sys Cyl      0000F45C  00011015
1st 0 Offset Cyl 0000F466  0001101F
1st App Code Cyl 0000F472  0001102B
2nd App Code Cyl 0000F474  0001102D
2nd 0 Offset Cyl 0000F480  00011039
3rd App Code Cyl 0000F48C  00011045
4th App Code Cyl 0000F48E  00011047
1st Adaptive Cyl 0000F490  00011049
1st UsrDfect Cyl 0000F492  0001104B
1st Alt Pool Cyl 0000F49A  00011053
2nd UsrDfect Cyl 0000F4BA  00011073
1st CertCode Cyl 0000F4C2  0001107B
1st IntfCode Cyl 0000F4C8  00011081
1st Intf Sys Cyl 0000F4CC  00011085
1st Cert Log Cyl 0000F4F6  000110AF
1st File Sys Cyl 0000F556  0001110F
1st Thermal  Cyl 0000F56E  00011127
1st Decay    Cyl 0000F56E  00011127
1st SPLASH   Cyl 0000F588  00011141
Last System  Cyl 0000F589  00011142
Copy    PhysCyl     StartSec length    Name
0000    000F466    0000    0002     BA
0001    000F466    0112    0002     BA
0002    000F466    0224    0002     BA
0003    000F480    0000    0002     BA
0004    000F480    0112    0002     BA
0005    000F480    0224    0002     BA
0000    000F466    0002    0003     RDL
0001    000F466    0114    0003     RDL
0002    000F466    0226    0003     RDL
0003    000F480    0002    0003     RDL
0004    000F480    0114    0003     RDL
0005    000F480    0226    0003     RDL
0000    000F472    0000    0238     AC
0001    000F474    001E    0238     AC
0002    000F48C    0000    0238     AC
0003    000F48E    001E    0238     AC
0000    000F490    0000    0001     ServoAdaps
0001    000F494    0112    0001     ServoAdaps
0002    000F4BA    0224    0001     ServoAdaps
0000    000F490    0001    0014     DriveAdaps
0001    000F494    0113    0014     DriveAdaps
0002    000F4BA    0225    0014     DriveAdaps
0000    000F490    0015    0189     UsrSlipDftLst
0001    000F494    0127    0189     UsrSlipDftLst
0002    000F4BC    0000    0189     UsrSlipDftLst
0000    000F490    019E    0189     UsrSlipKBALst
0001    000F496    0000    0189     UsrSlipKBALst
0002    000F4BC    0189    0189     UsrSlipKBALst
0000    000F490    0327    000A     MediaZonTbl
0001    000F496    0189    000A     MediaZonTbl
0002    000F4BC    0312    000A     MediaZonTbl
0000    000F492    0000    000A     ACFCTbl
0001    000F496    0193    000A     ACFCTbl
0002    000F4BC    031C    000A     ACFCTbl
0000    000F492    000A    000A     BackUpACFCTbl
0001    000F496    019D    000A     BackUpACFCTbl
0002    000F4BC    0326    000A     BackUpACFCTbl
0000    000F492    0014    0018     AltLst
0001    000F496    01A7    0018     AltLst
0002    000F4BE    0000    0018     AltLst
0000    000F492    002C    0074     DosTbl
0001    000F496    01BF    0074     DosTbl
0002    000F4BE    0018    0074     DosTbl

Служебная зона простирается на все головки накопителя, но информация хранится только по одной системной - 0-й (нижней), и используются только чётные цилиндры (вероятно, для исключения перекрывания дорожек). Однако некоторые объекты занимают больше одного трека - в таком случае остаток находится на треке 1-й головки по тому же цилиндру (у одноголовых накопителей - по единственной 0-й головке через цилиндр). Точную длину объектов из этой таблицы узнать нельзя (рецепт определения длины см. по ссылке ниже).
Рассмотрим, какие объекты находятся в служебке, с расшифровкой обозначений из таблицы. Жирным выделены кодовые блоки, необходимые для пересоздания всей служебной информации в ходе селфскана - их необходимо перед селфсканом сохранить:
  • 1st Sys Cyl - первый цилиндр служебной зоны
  • App code - Application code (апп), часть программного кода и данных, необходимых для внутренних операций винчестера (чтение, запись, позиционирование). В силу своей важности имеет четыре идентичных копии, сохранять можно любую.
  • CertCode - Certification code (серт, церт). Программный код тестов селфскана. За ним на том же треке (треках) хранятся Cert tables ("таблички") с порядком и параметрами запуска тестов.
  • IntfCode - ATA overlay (оверлей) - код работы по интерфейсу и подсистемы SMART
  • Intf Sys - т.н. вендор (Vendor track). Отдельные сектора этого трека содержат паспорт, пароли и иногда - текстовые сведения о компонентах накопителя.
  • 0 offset cyl - – трек таблицы дефектов служебной зоны и бут-адаптивов (6 копий на двух треках, длина 2 сектора - см. расшифровку второй части таблицы)
  • AdaptiveCyl - адаптивы (параметры настройки тракта чтения-записи и сервосистемы) зоны пользовательских данных
  • UsrDfect - таблица дефектов пользовательской зоны
  • Alt Pool - предположительно, карта резервных секторов
  • Cert Log - текстовый лог селфскана
  • Назначение дорожек File Sys, Thermal, Decay и SPLASH я не знаю. Есть подозрение, что часть из них используется для тестирования магнитных свойств поверхности и настройки головок, и они не отформатированы.
Вторая часть этой таблицы появляется только начиная с Barracuda 7200.10/Momentus 5400.4 и более подробно (начальный сектор и длина в секторах) описывает координаты следующих объектов:
  • BA – BootAdaptives – бут-адаптивы
  • AC – AppCode
  • RDL – RsvTrackDefLst – дефект-лист служебной зоны
  • ServoAdaps - адаптивы сервосистемы
  • DriveAdaps - адаптивы чтения-записи юзер-зоны
  • UsrSlipDftLst и UsrSlipKBALst – P-List
  • AltLst – G-List
  • MediaZonTbl – предположительно таблица зонного распределения
  • ACFCTbl и BackUpACFCTbl – предположительно транслятор LBA
  • DosTbl – предположительно транслятор CHS?
Впрочем, для целей ремонта такая подробность практически не нужна, всё самое нужное - в первой части.

К сожалению, у более ранних накопителей команды 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
Перевод и расшифровка некоторых специфических для Seagate терминов документации и строк из процесса селфскана. Общие для всех винчестеров термины здесь не описыватся – см. в "словарике сленга ремонтников HDD".
HM – Head Mask (у последних 7200.10 и 5400.4)
SFI – 1) Switch to full int. (у последних 7200.10 и 5400.4), 2) Symbols from index – отсчёт «сырых» байт от индекса начала оборота
Wedge – клин, сервометка как таковая и участок за ней. Число их указывается в выводе ^L, например 220 Servos
Niwot – предположительно, этим словом называется адресация по физическим цилиндру/головке/сектору.
PCF – предположительно файл настроек пикера (Picker Config File). Вот тут, например, пытались разобраться, как и куда его пришить к делу.
Cert – то же что и селфскан, а также оверлей, за него отвечающий.
Stuff – ATA паспорт накопителя
Overlay – подгружаемый с диска код, дополнение к Application code. Их два: ATA overlay и Cert, обычно оверлеем называют только первый. В памяти всегда находится только один из них.
Picker – процедура селфскана, отвечающая за подбор оптимальных TBPI – плотности дорожек и числа секторов на дорожке, а также за разбивку на зоны. Пикер настраивается вводом относительной плотности записи, где-то от 0.7000 до 1.1000
Health – слово (два байта) «здоровья» накопителя, бывает текущим (Cur) и кумулятивным (Cum). Содержит битовую карту возникших в процессе работы ошибок.
Age – "возраст" накопителя, определяет, какая программа (Pgm) должна при старте на нём работать.
Congen – файл настроек накопителя, состоит из переменных.
Slip-list – дефект-лист секторов, пропущенных (slipped) при форматировании. Соответствует P-List других производителей
Alt-list – дефект-лист секторов, замещённых (alted) из резерва в процессе работы. Соответствует G-List
System sector – содержит адаптивы, состояние накопителя и другие настройки
SeaDex script - ???
ZAP – Zero Acceleration Path, специальная техника более быстрого и точного позиционирования. Частью её являются специальные поля (zap field), в которые записываются предварительно калиброванные данные для сервосистемы. Подробнее: https://patents.google.com/patent/US6671119
https://pdfs.semanticscholar.o...a1b394.pdf
Gray codeкод Грея, считываемый сервосистемой с сервометок, определяет физическое положение актуатора. Определенным образом соотносится с номером цилиндра.
MDW, HDW - тип накопителя "middle" и "high" (density wedges?) Размышления на эту тему
Napa - ???
Packwriter – стойка для группового тестирования накопителей.
CSPT (CERT Sequence Parameters Table) – то же, что и cert table
SDLD (Seagate DownLoaD) - проприетарный бинарный протокол для быстрой отправки данных в накопители Seagate. Особенности: оперирует блоками размера 1/2/4/8 секторов, число блоков не должно превышать FFh. Описание протокола закрыто, для желающих покопать его и написать свою программу для отправки - вот инфа. Поддерживается в утилите ST_MEM (не FREE), другие 100% рабочие программы мне неизвестны.
ID, OD - внутренний диаметр и внешний диаметр соответственно (для сервосистемы)

Вечно в процессе дополнения...
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Как я уже сказал, для большинства манипуляций с Сигейтами достаточно простого терминала. Но некоторые операции было бы удобнее автоматизировать, поэтому по ним был создан ряд программ. К слову, все эти проекты являются давно заброшенными.
http://seagatedoctor.narod.ru/SOFT.html - несколько мелких вспомогательных утилит:
[q]
SigaHLTH V1.1
Программа для расшифровки битов здоровья “hlth “

Buff dump converter
Конвертор дампа буферов в HEX и BIN файлы, пакетная обработка файлов.

RadMapper V1.1
Построение карты поверхности диска.
[/q]
R_Util: http://www.hardw.net/forum/topic7563-60.htm, http://www.artras.narod.ru/r_util3.2D.rar - терминальная программа с возможностями мониторинга, автоматизированного сохранения треков и загрузкой по SDLD (правда, в демо-версии всё это вроде бы не работает). Описание и сведения об авторе - внутри архива.

ftp://ftp.seagate.com/pub/techsuppt/ - старый FTP Seagate. Содержит множество полезной информации по древним HDD Seagate, утилиты низкоуровневого форматирования, переключатели режимов ATA и т.п. Неполный список файлов с пояснениями.

http://files.hddguru.com/index...te&SID - ещё одна терминалка, глубокая бета

http://worksoft.narod.ru/Seagate_Terminal_4.zip - терминалка от ArtNET Mobile Computers. Описание внутри. Обсуждение программы, последняя бета.

http://www.hardw.net/forum/topic10426.htm
http://forum.hddguru.com/viewtopic.php?t=11980&start=
SeDiv - создавалась как любительский "комбайн" наподобие PC-3000. Платная, но иногда попадаются демо- и альфа-версии, вот у меня, например, 2.0.1.0 alpha завалялась и русский хелп к ней. Старый сайт программы (http://sediv2008.narod.ru/) давно помер, однако гугль находит некий http://www.sediv.net

STR-3000 - творение китайских товарищей из China HDD Union. Пощупать можно тут: http://malthus.mooo.com/viewforum.php?f=31 Также попадатется на китайских файлообменниках, я находил по ней видеогайды, но с этими источниками нужно быть осторожнее - я вместе с ними вирусни понатащил.

ST_MEM_WIN (ст_мем) - широко известная в узких кругах ремонтников программа за авторством Victor_UJ. Довольно кривой и незаконченный проект, но равных ему по возможностям нету, потому как:
- умеет автоматизированно сохранять и записывать треки, читать-писать буферы, автоматизированно вычитывать служебку (корректно работает только во FREE версии)
- поддерживает какие-никакие скрипты
- умеет отправлять файлы по SDLD (только в коммерческой версии). Почему это так важно? Это единственный способ передать бинарный объект для записи в накопитель за вменяемое время, и это же наиболее корректный способ это сделать.
В общем, это самая необходимая для подъёма сигейтов программа. Далее все работы будут производиться с её помощью.

Программа изначально планировалась как коммерческий проект, поэтому у неё существуют две версии: полнофункциональная и бесплатная (ST_MEM_FREE). В бесплатной отключены самые "вкусные" функции.
http://files.hddguru.com/downl..._12_06.ZIP - последняя FREE версия от 28.12.06г. Размер программы 596 480 байт. В архиве есть документация по скриптовым командам и примеры скриптов.
Версию с поддержкой SDLD можно взять тут: http://malthus.mooo.com/viewtopic.php?t=211 или тут: http://algrit.narod.ru/hdd_prog.html . Это утёкшая в сеть предрелизная версия, в ней не работают или работают некорректно некоторые команды, в частности R_TRACKS_MASK, W_SECTORS_SDLD, вместо S_BUF использовать S_BUF_BLK. Зато работает SEND_FILE, и это самое главное.
[q]
В той версии ST_MEM (SDLD), которая ходит по рукам, есть ошибки в обработчике терминала, что периодически вызывает зависание ST_MEM. (Есть предположения, что в ней отлаживалась заливка по SDLD, поэтому этот блок кода в ней наиболее стабилен, а в остальных не все баги выловлены). Поэтому, чтобы устранить баги программы, предлагается все кроме SDLD делать во Free, т.к. это уже практически вылизанный релиз.
[/q]
Важный момент: ST_MEM не переваривает концевых пробелов в скриптах! Тщательно вычищайте от них то, что понаписали или скопипастили!

Полезное дополнение - высокоскоростной драйвер последовательного порта HiSerial
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Ну вот, спустя многабукаф, добрались наконец до самого главного вопроса - а как же всё-таки программно чинить Seagate? Ответ:

Программный ремонт винчестеров Seagate заключается в проведении на них селфскана.

Вот его-то мы по всем правилам и будем учиться делать.
Что нам для этого потребуется:
1. Вся вышенаписанная справочная информация и максимально возможное её понимание.
2. Датакабель (терминальный адаптер).
3. Терминальная программа.
4. Утилита ST_MEM (в принципе, для накопителей старше 7200.7 можно и без неё обойтись).
5. Скрипты для ST_MEM (будут ниже).

Никаких дополнительных файлов для запуска селфскана в Seagate заливать не нужно (в отличие от накопителей других фирм), вся необходимая информация содержится на самом диске (исключение - U6 - будет рассмотрено отдельно).
Селфскан состоит из набора отдельных тестов (программ, Pgm). Начальный тест - номер 2. Описание отдельных тестов можете посмотреть здесь. Тесты проходятся по порядку, записанному в Cert table, отобразить порядок прохождения тестов можно командой C>D По окончанию каждого теста номер NN выдаётся сообщение "OkEnd Test NN" в случае успеха или "AbEnd Test NN" в случае провала. Последний по порядку тест (у барракуд это фиксированный номер 50) - работа винта в обычном режиме по интерфейсу, таким образом, винт по факту ВСЕГДА выполняет какой-нибудь "тест". Псевдотест 4F - это аварийный выход в диагностический монитор в случае провала селфскана. В процессе селфскана винт ведёт подробнейшие логи, которые выводятся на терминал и параллельно записываются на диск и могут быть подробно изучены позднее командами T>D и T>E. Во время проведения селфскана МОЖНО отключать питание - промежуточные результаты сохраняются на диске, и при следующем включении винт продолжит с номера незаконченного теста. Исключение составляет тест 02 (подготовка служебной зоны) - на время этого теста вся информация находится только в ОЗУ, а в конце записывается обратно, и если пропадёт питание во время его прохождения либо этот тест будет провален - винт потеряет служебку! Поэтому желательно предварительно её сохранить. Кроме того, начиная с 7200.7 оверлей в 02-м тесте в оперативку уже не помещается, и соответственно при полном селфскане затирается и сохранять его надо обязательно! А начиная с серии 7200.9 это касается ещё и AppCode!

Подготовка - получаем информацию о диске, сохраняем служебку
Для начала получим возможно полную информацию о винчестере. Создадим (выделить текст, сохранить с расширением *.CMD), откроем в ST_MEM_FREE и запустим следующий скрипт:
[q]
// Script file for ST_MEM_WIN - ©Shark //
// Full info about HDD Seagate Barracuda //
//Begin
TIME/Time:
//Restart
HEX/14////0
SLEEP/7000/0
//ctrl+Z
HEX/1A/1////1/1
SLEEP/3000/0
//STUFF
HEX/15/0
HEX/0D
//ctrl+L
HEX/0C////0
HEX/0D
//ctrl+R
HEX/12
//Eng Rev
HEX/01////0
HEX/0D
STR/.
STR/;
STR/%
STR/?
STR/k
STR/y
HEX/0D
SLEEP/3000/0
//Zone map
LEVEL/2
STR/x
HEX/0D
LEVEL/0
//Cert time @ health
STR/D4E
HEX/0D///1/1
//G-List
STR/V4
HEX/0D///1/1
TIME/Time:
//End
[/q]
*позже составлю и выложу на этом месте свою оптимизированную версию*
Сохраним выведенный лог куда-нибудь в папку. Эта информация позже может помочь для решения проблем.
Для сохранения служебной информации удобнее всего использовать всё тот же ST_MEM_FREE. Для этого там есть специальная команда READ_TRACKS_MASK - чтение объектов по маске с автоопределением (в доступной версии ST_MEM_SDLD эта команда не работает). Полный её синтаксис можно посмотреть в справке ST_MEM, здесь он приводиться не будет. Скрипт для вычитывания выглядит вот так:
[q]
SPEED/115200
R_TRACKS_MASK/dir//////8
SPEED/9600
[/q]
(можете попробовать поставить скорость побольше, если порт поддерживает, например SPEED/460800).

Команда берёт сведения из файла \Mask\trc.txt, формат файла:
Название_семейства/Головка*Смещение_трека_в_СА*>Смещение_от_начала_в_секторах*Длина*Имя_объекта/(Следующий объект...)
Название семейства – для автодетекта, то, что отдаётся по ^L (чувствительно к регистру!). Головку, смещения и длины можно посмотреть в файле Offsets.xls либо узнать самостоятельно (см. в главе "Описание служебки"). Если длина неизвестна и лень её узнавать, можно считать трек целиком – долго, но надёжно. Имя объекта – имя создаваемого файла, к нему добавятся номера головки и трека, по которым производилось считывание.
Пример готовой строки для ALPINE:
[q]
ALPINE/0*29*>0*244*CERT/0*2a*>0*61*OVL/0*2c*>0*12*VENDOR/0*15*>0*180*APP/0*29*>244*12*TBL
[/q]
Мой файл trc.txt с моими дополнениями на основе тех винтов, что прошли через мои руки. Сохраняет треки целиком - дольше, но надёжнее.

Скрипт создаёт дампы треков APP, CERT, TBL, VENDOR, OVL в папке \Dir\, расширение .trk. После считывания полезно убедиться, правильно ли всё считалось. Проще всего это сделать, открыв файлы в Hex-редакторе и сравнив с известными, взятыми из баз ресурсов. Рекомендуется вычитывать треки целиком, даже если они содержат лишь небольшой блок данных, потому что длины объектов различаются от версии к версии прошивки и есть вероятность, что они считаются не полностью.
Считанные файлы вместе с текстовым файлом информации о винчестере перенесите в другую папку и сохраните в надёжном месте.

Ещё раз - для 7200.7 и новее служебку перед селфсканом сохранять обязательно, для всех остальных - желательно.
<<Назад  Вперед>> Страницы: 1 2 3 4 * 5 6 7 8 .. 75 76 77 78 79 80
Печать
Полигон-2 »   Документация »   Програмный ремонт жёстких дисков HDD
RSS

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

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

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