В детали программного ремонта вдаваться не будем, потому что основным способом приведения в порядок жёстких дисков Samsung без сохранения данных является селфскан; в терминологии самсунга -
BURN (
бурн, Burn-In). Он выполняется микропрограммой, находящейся в ПЗУ.
Старт бурна
Старые семейства (Apollo, Winner, ранние Voyager)
Для проведения бурна нужен
скрипт (Burn-In script) - модуль BISPT. Его заголовок представляет собой ключевое слово. Для запуска селфскана там должно быть слово BURN (BURN-IN-FLOW), у прошедших селфскан винтов там END (END-IN-FLOW). Чтобы запустить селфскан по новой, нужно считать модуль BISPT с диска, исправить заголовок с END на BURN и записать обратно, либо (при отсутствии скрипта на диске, например, у свежеизготовленой банки или после форматирования служебной зоны) его можно отослать в память по интерфейсу технологической командой. Примеры скриптов можно посмотреть в доках от Acelab (см. предыдущую главу). Провести бурн на старых моделях можно с помощью PC-3000 или LEO. Ася поддерживает не все тогдашние семейства, но формат команд принципиально не менялся, и можно просто выбрать ближайшую подходящую, на ваш взгляд, утилиту и попробовать поманипулировать в ней - валидность подключенного винта там не проверяется.
Алгоритм запуска бурна в PC3000:
1) Выполняем форматирование слубебной зоны
2) Поcылаем Burn-In script (находится в самой программе)
3) Подам команду на запуск Burn
4) Мониторим прохождение (см. ниже)
5) После успешного окончания винт готов к работе
Семейства до V10 до некоторой степени представляют собой "тёмное пятно" - поддержка их ремонтным софтом довольно скудна и требует самостоятельных раскопок. Вот тут, например,
пример анализа SV0842H (V8) - можно посмотреть, например, на ключи и технологические команды.
V11P и новее
Начиная примерно с V11P, код, необходимый для проведения бурна, перестал умещаться в ПЗУ вместе с основным рабочим, и был вынесен в отдельную прошивку.
Микропрограмма для проведения бурна -
Burn-In Code
Основная микропрограмма -
Main Code
И то и то, строго говоря, не прошивка, а
ресурс для отправки по команде 92h Download Microcode - файл содержит дополнительные данные заголовка, а само флеш-ПЗУ имеет непереписываемые участки (конфигурация, бутлоадер).
Порядок проведения бурна:
1) Находим подходящий для данного винта
комплект - Main code, Burn-In Code, Burn-In Script
2) Отсылаем Burn-In Script
2.5) У VERNA - записываем Burn-In overlay
3) Записываем Burn-In Code
4) Передёргиваем питание. Винт выжидает пять минут, после чего начинается тест.
5) Мониторим, дожидаемся успешного прохождения
6) Передёргиваем питание, в течение пяти минут записываем Main Code, ещё раз передёргиваем питание
7) Фирменные руководства велят после бурна провести финальное тестирование в Miniwin, но можно и обойтись
8) Винт готов к работе
Для проведения бурна удобнее всего пользоваться VTOOL.
P80/V80 и новее
У этих серий появляется отдельный тест для подготовки служебной зоны -
H/T Code (скорее всего, это вызвано введением адаптивного зонного распределения). В связи с этим меняется состав ресурсов и порядок проведения.
1) Находим подходящий для данного винта комплект - H/T Code, B/I Code, Main Code
2) Записываем H/T Code, передёргиваем питание, дожидаемся успешного окончания теста (он недолгий, до 15 минут)
3) Передёргиваем питание, записываем B/I Code, передёргиваем питание, дожидаемся успешного окончания бурна
4) Передёргиваем питание, записываем Main Code
5) Фирменные руководства велят после бурна провести финальное тестирование в Miniwin, но можно и обойтись
6) Винт готов к работе
P80PLUS и новее
У этих семейств бурновый код ПЗУ выносится в ресурс
FFlash, а H/T Code и B/I Code объединяются в единый файл
HTBI Code.
Дальнейший алгоритм скопипащен из табличек и мною не проверялся, также его можно упростить
1) Подбираем подходящий для данного винта комплект - FFLASH, HTBI Code, Main Code
2) Проводим Incoming Test в HUTIL
3) В зависимости от семейства, исполняем Burn Script в Gemini (NBURN) или в Wincube (см. по таблицам)
4) Записываем FFLASH Code, передёргиваем питание, записываем HTBI Code
5) Запускаем тестирование
6) Записываем Main Code
7) Проводим окончательное тестирование в Miniwin
8) Винт готов к работе
Также инструкции по прохождению Burn-In есть в сервис-мануалах (см. ссылки в предыдущей главе)
Ещё руководства (на английском):
SAMSUNG REPAIR METHOD.docx (оттуда же
http://www.hddoracle.com/viewtopic.php?f=33&t=550)
Ресурсы
Когда-то давно Samsung выкладывал их на закрытом сайте техподдержки для сервисных центров
itself.sec.samsung.co.kr (ныне не функционирует,
вот почему), прошаренные люди успели понабрать их и схоронить. Ныне ими делятся в привате, я свой архив успел понабрать на ныне нефункционирующем spruts80.mylivepage.ru (спасибо
SPRUTSSSS80!)
Мемориальная копия странички, если кому интересно.
Довольно многое есть тут:
ftp://atxlab.ddns.net/ftp/hdd/sams/burn/
Почти всё есть тут:
http://www.hddoracle.com/viewforum.php?f=114
Подбор комплектов ведётся по
табличкам. Это обычные XLS таблицы, созданные разработчиками самсунга. Скачать можно, например, тут:
http://www.hddoracle.com/viewtopic.php?f=44&t=653 а также тут:
http://files.hddguru.com/download/PC-30 ... iption.rar или тут:
ftp://atxlab.ddns.net/ftp/hdd/sams/man/ Если надо ещё - у меня спросите.
В этих же табличках на первом листе -
инструкция по проведению бурна. и подсказка по Material Mixing.
Таблички включают в себя как Generic прошивки, так и OEM версии для разных заказчиков. Соответственные им ресурсы, в принципе, тоже имеются, можете поэкспериментировать, но в целом - не обращайте внимания.
Классификация ресурсов
(по материалам
https://blog.acelaboratory.com/f-a-q-ab ... urces.html)
Main code - основная часть рабочей микропрограммы накопителя.
Обычно содержит оверлеи. Расширение *.BIN или *.DN4, *.DN5 (у новых)
H/T code (Hardware Test?) - дополнительный тестовый код. Предназначен для отключения голов, тестирования железа накопителя, подбора адаптивных параметров и формирования служебной зоны "с нуля".
Не содержит оверлеев. Расширение - *.DN
Burn Code - основной тестовый код. Тестирование поверхности и формирование транслятора.
Может включать в себя оверлеи. Расширение *.BIN
H/T Burn-In Code - полная тестовая микропрограмма, объединяет функции двух предыдущих. У классических семейств
всегда включает в себя оверлеи, у Trinity - не содержит оверлеев. Расширение - *.DN3 или *.DN4, *.DN5 (у новых)
FFlash - дополнительная тестовая микропрограмма, в отличие от HTBI Code -
не содержит оверлеев.
Overlay (Burn overlay) - кодовый модуль на диске. У классических это модуль OVERLAY, у Trinity - BOVLY001. Если этот ресурс
присутствует, значит, Burn Code или HTBI Code оверлеев
не содержит. Расширение *.BIN, содержит в имени буквы "ovl"
Burn-In script - см. выше. H/T или HTBI code создаёт его самостоятельно. Расширение *.BRN
| НЕТ оверлеев | ЕСТЬ оверлеи |
| H/T Code | Main Code |
| FFlash | Burn Code |
| H/T Burn-In Code (Trinity ) | H/T Burn-In Code (классические) |
Имена файлов составляются приблизительно следующим образом. Сначала две буквы - код модели (в первом приближении совпадает с первыми двумя буквами версии микропрограммы). Затем две цифры и буква - версия. Далее - буква, определяющая тип ресурса (F - H/T code, B - Burn-In code, M или отсутствует - Main code), эта буква может отделяться подчёркиванием. Смысл последних символов не ясен.
Вообще говоря, ресурсы доступны и на более новые семейства, чем классифицированные мною в таблице (F3, F4, M7E, M8E, MP4, MT2 и др.) Запуск бурна на них оставлю вне рамок данной статьи, обращайтесь за помощью в
http://forum.ru-board.com/topic.cgi?forum=84&topic=5293
Заливка микропрограмы
Помимо комплексных утилит, отправку микропрограммы умеют делать:
Флешеры от обновлялок прошивки:
http://files.hddguru.com/download/Softw ... ung/FLASH/
Особенно удобно было с PALO и PANGO работать.
Также залить прошивку и запустить селфскан можно через терминал. Команды для этого и их описание см. в предыдущей главе. Облегчить процесс может некая программулина
IDEHOST (S-IDE TESTER APP ver1.1)
Safe mode
Если накопитель не выходит на готовность (что, надо сказать, бывает довольно редко), залить в него микропрограмму (только flash, без оверлеев) можно, установив три перемычки в зад - Master, Slave, CS
У SATA накопителей STORM2, T166, TRIDENT3, это две перемычки
У SATA 2.5" - две перемычки вот так:
Терминал в этом режиме недоступен.
Мониторинг Burn-In
Мониторинг производится в терминале. Также на плате есть место для подключения светодиода:
(картинка)
После старта бурна светодиод загорается и горит непрерывно. По окончанию бурна винт останавливает шпиндель и начинает часто моргать светодиодом, если всё ОК, и вымаргивать код ошибки в случае неудачи. Расшифровку кода см. в главе "Терминал".
Также мониторинг можно вести по состоянию регистров ATA. В этом вам поможет, например, программа
BiMon от Сергея Белова aka Wildwhiteash (
ещё одна версия BurnInMonitor). В принципе, этими же программами можно мониторить селфскан и у других производителей (WD, Maxtor), правда, расшифровки регистров там нет.
Финишные действия
После заливки майновой прошивки по-хорошему делаются какие-то действия скриптом в Miniwin. Точный их смысл я не устанавливал, но обнаружил, что нужно включить SMART вручную - иначе на команду получения SMART винт ничего не отдаёт. Я просто сделал Clear SMART в SRT, и он заработал.
Даунсайз
Отключение головок
Отключением головок (в терминологии Samsung - Head Killing) заведует H/T Code. В SRT отключение выполняется кнопкой "Set Bad Head". Выставляем галочками головы, которые нужно отключить, на запрос файла подсовываем H/T Code или FFlash (смотря с чего начинается бурн у данного винчестера).
Также отключенте голов делается в HUTIL или VTOOL. Фирменные мануалы:
KILLING_PROCESS.pdf
How to Judgment for Killing.pdf
У древних Winner-ов с масочным ПЗУ в колодке переход на младшую модель осуществлялся только заменой ПЗУ с нужной микропрограммой. Таблицу версий прошивок см. в документации к PC-3000.
В процессе дополнения...