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

Полигон-2

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

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

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

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

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

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

<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 15 16 17 18 19 20 21 22 23 .. 75 76 77 78 79 80
Печать
 
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH написал:
[q]
VIA 82C686B. Перепаять, что ли?
[/q]
Не спешите. 686B (UDMA100 max) отличается от 686A (UDMA66 max) наличием cabal bit
(именно cabal, стр 71 datasheet:). А вот 686A использует GPIO, на разных платах они
отличаются, по сути несколько вариантов. Мне однако попадались платы (правда с 686A),
использующие detect cable from device, в таком случае при пробое конденсатора кабель будет
определяться как 40pin, при обрыве как 80pin.

Можно проверить, как у вас работает, подавая уровни 1 и 0 на контакт CBLID (обычно можно и
просто замыкать на корпус, но например ASUS может не ставить подтягивающие резисторы) и
наблюдая за битами нужного регистра. Бит устанавливается в зависимости от типа кабеля один раз
при сбросе устройства (а потом можно менять его программно)!

Для ремонта HDD по любому лучше брать плату на VIA
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
На работе прогнал график чтения для восстановленного 7200.7 с прошивкой 8.54


Видно, что в самом начале поверхность не очень, но тем не менее пользоваться можно.
В общем, если сделать скидку на косяк в начале и на разные масштабы графиков, прошивки 3.06 и 8.54 имеют одинаковую скорость линейного чтения. Возможно, разница проявится в синтетических тестах - но мне их гонять лень, и нужен экземпляр с идеальной поверхностью.

До кучи, график с восстановленного 7200.9, тоже на 80 Гб


Плотность выросла ровно вдвое, а скорость линейного чтения - даже меньше чем в √2 раза, с 56 до 72 Мбит/с.

Да, небольшой хинт: чтобы график был без ложных провалов, а компьютером параллельно можно было пользоваться, надо задать процессу Victoria приоритет realtime.

wrenchrox написал:
[q]
Оченно хотелось бы почитать часть опуса про Samsung-и! :)
[/q]
Окей, ближайшее время займусь.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
А сектора с задержками (больше 150ms) у восстановленного 7200.7 есть? Я думаю скорость вначале
меньше из-за большого количества скрытых в P-list дефектов в начале поверхности, соответственно
нужно какое-то время на проворот диска для пропуска этих секторов в P-list.

На моем экземпляре 7200.7 (который после сброса G-list) один сетор с задержкой 150ms, но
появляется в разных местах, пока списал на внутренние дела накопителя (как у старых Fujitsu)
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH, вопросы по отправке cert (в данном случае для TONKA40).

В Вашем примере для TONKA2
[q]
CREATE_FILE/track\cert1.bin/track\cert.bin/1/0/280/1
CREATE_FILE/track\cert2.bin/track\cert.bin/0/0/188/1

Скрипт сливает два файла в один (cert.bin), беря 280h секторов из cert1.bin и 188h из cert2.bin.

Для его посылки и запуска используется скрипт следующего вида (пример для TONKA2 - длина серта 520h секторов):

SPEED/115200
STR/d,3,1/0
SLEEP/4000
SEND_FILE/4096/track\Cert.bin/>0/>520
STR/r/0
BAUDRATE/9600
[/q]
Почему при объединении cert1 и cert2 280h + 188h получаем 520h, а не 408h?
А можно ли просто соединить cert1 и cert2, и записать 500h секторов?


Для моего TONKA40 я получил:

1>r

cmd  58,  params  0032 0000 0000 0408 0B80 0408 0000 0000 000A 6201 0032
DiskAccess ReadSector EC=43 at ffffffff.00.0000

cmd  58,  params  0032 0000 0000 0408 0B80 0408 0000 0000 000A 6201 0032
DiskAccess ReadSector EC=43 at ffffffff.00.0000
INVALID Cert Disk Code - ROM Resident Revision Required: 2AAAQ0
    Code - 70  Track FFFFF(0B9DE).0.000  Sns 000  Rty F7FF.24.80FF  Rtf 1800  LBA 00000037
1>


Те, трек с CERT 0x32, а длина 0x408, как в таблице offsets.xls.

В таблице offset.xls для cert1/cert2 TONKA40 указано 2FDh 10Bh, но по ссылке: http://files.hddguru.com/downl...e/Tonka40/
Cert1 заполнен полностью, а у cert2 нулевые байты начинаются с адреса 26800h, те длина 134h?
Как тогда правильно сделать cert для отправки, и какую длину записывать?

И еще, где в той ссылке cert tables?
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
i8088 написал:
[q]
Почему при объединении cert1 и cert2 280h + 188h получаем 520h, а не 408h?
[/q]
Я по запарке скопипастил скрипт не для TONKA2, а для CORSAIR. Исправил.

i8088 написал:
[q]
А можно ли просто соединить cert1 и cert2, и записать 500h секторов?
[/q]
Данный скрипт отправляет именно в память. Можно записать церт напрямую на диск через буферы записи, но это неудобно и особой необходимости в этом нет.

i8088 написал:
[q]
у cert2 нулевые байты начинаются с адреса 26800h, те длина 134h?
[/q]
Скачал, изучил. По адресам 21600-24600 (сектора 10B-123) и 25800-26800 (сектора 12С-134) лежат таблички (опознаются по характерным заголовкам, версия .065). Данным из Offsets.xls - верить. Почему табличек две - другой вопрос.

i8088 написал:
[q]
И еще, где в той ссылке cert tables?
[/q]
Таблица говорит - трек 0x66 (обрати внимание - это трек второго куска серта), с сектора 10Bh (ровно там, где он кончается), длина 18h.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
OK, спасибо за разъяснения!

Диск с Win2000 и ST_MEM сейчас отключен, да и для лучшего понимания процесса (тк
рассматривается идея написания новой программы) уточню по ручному получению файлов
для отправки в накопитель (один из множества вариантов):

1. У TONKA40, в отличие от TONKA2, cert_1 больше 1 трека, зато cert_2 меньше, суммарная же
длина cert-а не изменилась.

2. Для получения cert-а, пригодного для отправки по SDLD, достаточно например соединить оба
трека в один файл, и отрезать (в отдельный файл, для будущего получеия cert tables) все что
начинается с сектора 408h (81000h). Можно и не отрезать, а просто отправить 408h секторов
в накопитель из объединенного файла.

3. Отрезанная часть (начало бывшего 10bh) будет содержать 2 шт cert table, и байты заполнители.
Из этого вырезаем первую из cert table (можно и не вырезать, а просто переставить сектора), и
меняем местами 0 и 17 сектор, те перемещаем первые 512 байт в конец файла. И отправляем 18h
секторов в накопитель.

4. А что делать со второй табличкой? Насколько я понял из приведенного Вами скрипта,
переставляются сектора в первой таблице, и отправляется 18 секторов.

5. Можно в принципе просто записать имеющиеся треки по известным смещениям от начала SA,
но это менее корректно, и уже без использования SDLD будет медленнее.

Правильно ли я понял?

upd.
Эта перестановка секторов в cert tables, есть у всех Barracuda, или начиная с какого-то семейства?
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
i8088 написал:
[q]
1. У TONKA40, в отличие от TONKA2, cert_1 больше 1 трека
[/q]
У обоих семейств серт занимает трек с хвостиком. Просто длины служебных дорожек у них разные.

i8088 написал:
[q]
суммарная же длина cert-а не изменилась.
[/q]
Да, суммарная длина та же.

2. Да, именно так.

3. Да. Только не байты-заполнители, а просто нули. Все незанятые сектора в служебке записаны нулями, если виден кусок, записанный другим паттерном - он чему-то принадлежит.

4. А ничего не делать. Можно сохранить и сравнить с первой. Это может быть её копия, а может ещё какая-то другая, я хз, первый раз такое встречаю.

5. Можно, но это для восстановления битых фрагментов годится, при исправности служебной зоны в целом. Так, например, если потеряны адаптивы, записи в служебку не будет. Если потерян апп, записи не будет вообще - код в ПЗУ работает только на чтение (однако апп можно залить в буфер побайтово). Если есть проблемы с головами, запись может оказаться весьма проблематичной.
Отправка по SDLD - это штатный механизм пересоздания служебки у Seagate. Побайтовая заливка - костыль, сделанный ремонтниками как решение "в лоб".


i8088 написал:
[q]
Эта перестановка секторов в cert tables, есть у всех Barracuda, или начиная с какого-то семейства?
[/q]
У всех. Зачем она сделана - не знаю. Про чтении с диска, как видно по логам, он тоже читает сначала все сектора с 1-го, а потом один 0-й.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Спасибо за разъяснения!! Продолжу ковыряться.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Я попробовал сохранить то что осталось (FREE версия), используя предоставленный Вами trc.txt,
TONKA40 там есть. Треки сохранились, но по моему сохранение неверно. Из-за частично
неотформатированной SA, или app все же поврежден частично?
Вот что сохранилось: https://yadi.sk/d/U_t30-WA3TxRBZ

Я записывал cert (SDLD версией), записалось нормально

T>r
Disk Code Revision # .065 CRC ==> 7000


Но после включения-выключения (или ^R) cert снова нет, запись команой w тоже не сработала
(не отформатированная SA?)

Попытка записи cert tables - пишется нормально, но после записи диск перестает отвечать,
и ST_MEM валится с access violation (при попытке ввода команд), после передергивания питания
все то-же самое.

Я пробовал сделать полную запись, по инструкции, начиная с App, но опять зависание диска на cert tables.

Вот частичный лог (с кодировкой при сохранениях чего-то случилось)

Interface task reset1024k x 16 buffer detected
TONKA40 - 1_Disk    S.38   09-20-05 11:01

Buzz  - Head Mask FFFF - Switch to full int.
              Spin Ready
(P)PATA Reset
((DiskAccess ReadSector EC=43 at ffffffff.00.0000
DiskAccess ReadSector EC=43 at ffffffff.00.0000
INVALID Cert Disk Code - ROM Resident Revision Required: 2AAAQ0

T>I2,,22
Command Inactive - No VALID Cert Code Detected
T>
Nei?inou COM/HDD=115200 / B0115
u
T>

iaoca 4000 i.nae.iinueaai c:\HDD_REP\seagate\prog\ST_MEM\st_mem_SDLD\cert.bin 081 aeieia ii 4096 aaeo
iinueaai aeiee :
001
002
003
...
...
07D
07E
07F
080
000
iineaee oaee c:\HDD_REP\seagate\prog\ST_MEM\st_mem_SDLD\cert.bin aeieaie ii 4096 aaeo

nei?inou ii?oa onoaiiaeaiia a:9600
T>
T>r
Disk Code Revision # .065 CRC ==> 7000
T>c
T>w
Unable to write cert table info
Unable to write PCF to disk
Unable to write cert code to disk
    Code - 70  Track 153A4(1BECA).0.000  Sns 000  Rty F7FF.24.80FF  Rtf 1800  LBA 00000037
T>r
Disk Code Revision # .065 CRC ==> 7000
T>I2,,22
Begin Test 02

Buzz  - Head Mask FFFF - Switch to full int.
              Spin Ready
DiskAccess ReadSector EC=43 at ffffffff.00.010b
DiskAccess ReadSector EC=43 at ffffffff.00.012c
Unable to load cert table info
***** Test 02 NOT Implemented
AbEnd Test 02
T>w
Unable to write cert table info
Unable to write PCF to disk
Unable to write cert code to disk
    Code - 70  Track FFFFF(0B9E0).0.12C  Sns 12C  Rty F7FF.24.80FF  Rtf 1800  LBA 00000037
T>
Nei?inou COM/HDD=57600 / B0576
o
T>

iaoca 4000 i.nae.iinueaai c:\HDD_REP\seagate\prog\ST_MEM\st_mem_SDLD\table.bin 018 aeieia ii 512 aaeo
iinueaai aeiee : //пробовал снижать скорость до 57600
001
002
...
...
016
017
000
iineaee oaee c:\HDD_REP\seagate\prog\ST_MEM\st_mem_SDLD\table.bin aeieaie ii 512 aaeo
iaoca 4000 i.nae.


Нужно запускать Self Scan из памяти, не записывая ничего на диск?

И еще, в Вашей статье написано, что У винтов начиная с 7200.9 оверлеев два.
А почему в xls таблице для TONKA40 указан один, смещение 0x68, длина 9Dh?
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
i8088 написал:
[q]
Но после включения-выключения
[/q]
Всё правильно, он только в памяти.

i8088 написал:
[q]
(или ^R)
[/q]
Вот тут по идее не должно быть, должен выводить Cert code aldeady loaded. Всё равно пытается перезагрузить? Окей, просто не нажимаем ^R :)

i8088 написал:
[q]
Попытка записи cert tables - пишется нормально, но после записи диск перестает отвечать,
и ST_MEM валится с access violation (при попытке ввода команд)
[/q]
Вот тут собака порылась. Досконально проверяем, то ли отправляется, правильная ли длина и т.д. Если всё правильно - пробуем добавить паузу после SEND_FILE, перед переключением скорости обратно на 9600. Если ST_MEM падает - пробуем перезапустить его, не передёргивая питание, сначала подключаясь на дефоловой скорости, потом на скорости, на которой выполнялся последний незаконченный скрипт. Возможно, он исполнился нормально и винт выходит на готовность, просто концовка неправильно отрабатывает. На всякий случай скрипт, которым я на днях отправлял таблички в TLITE (не забываем подправить начальный сектор):
//достаём таблички с трека и переносим первый сетор в конец
CREATE_FILE/track\tabl.trc/track\table.bin/1/1A9/17/1
CREATE_FILE/track\tabl.trc/track\table.bin/0/1A8/1/1
//посылаем подготовленные таблички
SPEED/115200
STR/h18/0
SLEEP/4000
SEND_FILE/512/track\table.bin/>0/>18
SLEEP/4000
SPEED/9600


i8088 написал:
[q]
T>c
T>w
Unable to write cert table info
Unable to write PCF to disk
Unable to write cert code to disk
[/q]
А у меня самого никогда не получалось их переписывать :) Возможно, для записи их необходимо записывать в какой-то другой буфер, нежели для запуска из памяти. В документации об этом ни слова, а эксперименты я не ставил за ненадобностью.

i8088 написал:
[q]
Unable to load cert table info
[/q]
Пока таблички не подгрузим, ничего не выйдет.

i8088 написал:
[q]
Нужно запускать Self Scan из памяти, не записывая ничего на диск?
[/q]
Я в таких случаях всегда так делаю.

i8088 написал:
[q]
И еще, в Вашей статье написано, что У винтов начиная с 7200.9 оверлеев два.
А почему в xls таблице для TONKA40 указан один, смещение 0x68, длина 9Dh?
[/q]
Таблица написана больше для бэкапа, чем для отправки. Это суммарная длина обоих. Изучите слитый кусок в HEX-редакторе, увидите, где их граница. По моим скриптам для TONKA2 первый оверлей - смещение 0h, длина 70h, второй - смещение 89h, длина 14h. Добавил в статью уточнение.



i8088 написал:
[q]
А сектора с задержками (больше 150ms) у восстановленного 7200.7 есть?
[/q]
Не, нету.
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 15 16 17 18 19 20 21 22 23 .. 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