Victoria - тестирование, сервисное обслуживание дисков с интерфейсами IDE и Serial ATA. Часть 3
Содержание
- Тесты позиционирования головок HDD
- "CXR" - (аналогично нажатию F7): случайное позиционирование с чтением
- "CX": случайное позиционирование без чтения
- "ACXR": Прогрессивное линейное позиционирование с чтением
- "ACX" Прогрессивное линейное позиционирование без чтения
- Остановка и запуск шпиндельного двигателя HDD
- Вызов встроенного файл менеджера
- Просмотр информации о логических разделах диска
- Создание логических дефектов
- Восстановление конфигурации диска (команда RDС)
- Индикация режимов работы HDD и кодов ошибок по индикаторным "лампочкам"
- Приложение 1
- Приложение 2
<< Начало статьи в первой части и второй части
Тесты позиционирования головок HDD
Вам никогда не встречались винчестеры с обугленными или дырявыми микросхемами? Очень забавная вещица... но только не для хозяина винта и находящейся на нем информации. Почему же у одних пользователей винты работают по много лет, а у других дохнут?
Причин много: это и бракованные экземпляры HDD, и плохие блоки питания, и нарушения теплового режима (перегрев). А некоторые винчестеры не имеют защиты от перегрева, или она срабатывает слишком поздно. Но, как показала практика, большинство проблем с винчестерами закономерны, т.е. вполне предсказуемы задолго до фатального исхода. Чтобы поточней разобраться в причинах взрыва микросхем, рассмотрим простой пример:
Как известно, винчестер сильней нагревается именно тогда, когда работает - читает данные, позиционирует головки и т.п. Причем, в многозадачных средах может выполняться несколько операций одновременно, в результате чего микросхема привода головок может нагреться до критической температуры. Разработчики силовых микросхем обычно закладываютв свои изделия алгоритмы защиты от перегрева - при достижении предельных температур чип самовыключается, или замедляет работу (при этом винчестер может запарковаться, прервав на время поиск дорожки, и выставив на интерфейс сигнал "занято").
Операционная система не обязана следить за параметрами винчестера. Она четко выполняет то, для чего предназначена - файловые операции, и умеет лишь ждать готовность устройства, если оно перестало отвечать. Дождавшись, пока микросхема остынет, система термо-защиты разрешает дальнейшую работу, а винчестер, в свою очередь, снимает сигнал "занято" и ОС продолжает использование HDD. Никому и в голову не приходит то, что винт в предельном режиме, и периодически срабатывающая защита остается тайной для пользователя. Круто? Нет, особенно, если судить по встречающимся горелым микросхемам... Вероятно, отсюда и пошли "страшные" истории о поломках дисков во время дефрагментации, во время работы Windows XP (ибо ресурсоемкая система производит больше дисковых операций, чем менее требовательная Windows 9x), и т.д.
Вывод напрашивается сам собой надо как-то вовремя заметить опасность, чтоб в дальнейшем принять меры (улучшить охлаждение, заменить HDD, сделать копию информации). Для этого нужно смоделировать высокую нагрузку на систему позиционирования, но при этом контролировать возникающие ошибки, чтобы не допустить разрушения микросхем. Для этого служит клавиша F7"SEEK", или консольные команды "CX", "CXR","ACX","ACXR".
"CXR" - (аналогично нажатию F7): случайное позиционирование с чтением
Винчестер начнет перемещать головки, читая одиночные случайные секторы диска (можно прервать, нажав ESC). При этом программа контролирует время, затрачиваемое на каждый цикл, выводит карту из прямоугольников, как при сканировании поверхности (но при этом 1 прямоугольник равен одному сектору, а не 256-ти), и смотрит в регистр ошибки HDD. При превышении времени сверх нормы или при ошибке, считается, что сработала защита, и винчестер переводится в "спящий режим" с остановкой вала и парковкой головок. Этим исключается его дальнейшее повреждение. Из-за попыток чтения тест "CXR" не будет работать на запароленом накопителе (под паролем чтение не работает), а также остановит тестирование при любых других ошибках чтения.
Программа также выводит на экран:
- Температуру встроенного термодатчика (при его наличии);
- Время доступа в миллисекундах (время на позиционирование + время на чтение);
- Время старта теста, и время его окончания (в случае ошибки);
- Индикатор положения головок. Это анимация, облегчающая взаимодействие с пользователем.
Примечание: некоторые винчестеры могут самостоятельно прерывать тест позиционирования, выполняя рекалибровку или обновление своих внутренних журналов.
"CX": случайное позиционирование без чтения
Применяется (и рекомендуется) для тестирования устаревших HDD, в паспорте которых нет поддержки 48 bit LBA. На некоторых современных дисках может работать неправильно. Пример - новые IBM/HITACHI в этом режиме работают "тихо", независимо от установок AAM. "CX" рекомендуется применять на винчестерах до 2002 года, или если не работает "CXR". Команда "CX" будет работать и на винчестере с нечитаемыми секторами, например на запароленом. Во время работы на экране отображается время позиционирования, без времени чтения. Оно обычно на 1-5 мс ниже времени доступа, хотя бывают и исключения (аналогично примеру с IBM/HITACHI).
"ACXR": Прогрессивное линейное позиционирование с чтением
Производит плавное нарастание амплитуды размаха головок от края к центру HDD (за редким исключением, когда начало диска находится не с краю, как на некоторых HDD 2,5"). Позволяет оценить целесообразность использования всего объема HDD в качестве логического раздела. Видно, что по мере увеличения амплитуды, скорость доступа замедляется в 2-3 раза. Также как и остальные тесты, выводит на экран температуру, анимацию, время доступа. Головку HDD можно произвольно перемещать клавишами стрелок "вправо влево" во время тестирования.
"ACX" Прогрессивное линейное позиционирование без чтения
Отличается от "ACXR" тем же, чем "CX" от "CXR". Винчестеры с высоким быстродействием издают "воющие" звуки в начале теста.
Во время всех тестов постоянно контролируется температура. При этом тест может периодически замирать. При превышении порога в 50 градусов Цельсия - программа выключит винчестер, выдав сообщение: "Высокая температура HDD!"
Примечание:
- Если на испытуемом винчестере установлен АТА пароль, программа выведет предупреждение об этом после ввода команды: Внимание! Накопитель закрыт ATA паролем!. Данное сообщение появится только при заблокированном винчестере, если же он открыт - о пароле будет предупреждать лишь лампочка PWD вверху экрана. Данное сообщение носит чисто информативный характер. Продолжать работу, или нет - решает пользователь.
- Иногда во время теста позиционирования винт "промахивается" мимо нужного сектора. В результате мы видим цветные прямоугольники. Зеленые могут быть у полностью исправных HDD некоторых моделей (Fujitsu, Samsung), а наличие большого количества красных свидетельствует о неполадках. Исключение - старые медленные накопители (меньше 1 Гб), для которых критерии скорости сильно отличаются в сторону ее уменьшения (и увеличения времени доступа соответственно).
Остановка и запуск шпиндельного двигателя HDD
Осуществляется клавишей S или консольной командой STOP. Оба способа абсолютно идентичны. Применяется, например, для экономии электроэнергии, если неохота отключать винчестер от компьютера. При нажатии клавиши S в винт подается команда E2h, и контролируется результат по регистру ошибки. Команда не будет работать на накопителе, у которого разрушен микрокод: в этом случае вал не остановится, и утилита выдаст сообщение "Винт отверг команду".
Вызов встроенного файл менеджера
В новых версиях программ появился файл-менеджер, похожий на панель таких программ, как например, Volkov Commander. Вызывается он нажатием клавиши 1, и при этом не разрушает содержимое рабочего стола. Позволяет просматривать каталоги, список файлов, а также сортировать их по времени, размеру, дате создания и расширению. При нажатии любой не-управляющей клавиши курсор перемещается на файл, чья первая буква имени совпадает с нажатой клавишей. При установке курсора на файл и нажатии F3 будет показано содержимое файла.
Файлы можно удалять и копировать. Файлы можно пометить клавишей "пробел" и удалить/скопировать сразу целую группу. Можно создавать папки и удалять их, если внутри нет файлов. В общем, аналогично другим файл менеджерам... Длинные имена не поддерживаются, если в папке больше 600 файлов - остальные не отображаются, чтобы зря не захламлять память. Файл менеджер имеет встроенную справочную систему (F1), где кратко перечислены задействованные клавиши и его возможности.
Просмотр информации о логических разделах диска
Начиная с версии 3.0 в Викторию встроена утилита просмотра информации о логических разделах, на которые разбит тестируемый HDD. Для ее запуска достаточно нажать клавишу Q. При этом считываются системные области диска, если они есть (информация берется из таблицы разделов самого первого сектора диска), сканируется цепочка Extended Partition Chain в поисках абстрактных MBR и логических дисков в расширенных разделах. При нахождении логического диска программа смотрит тип файловой системы, вычисляет его границы в LBA, и заносит их в табличку на экране. Далее следует попытка получить загрузочные сектора каждого диска, что бы узнать его имя (метку тома). Даже при частичном разрушении системных областей будет выведена информация:
Информация о границах разделов может быть полезна для спасения отдельных логических дисков с поврежденного HDD (например функцией чтения секторов в файл, этой же программой).
Указанный в MBR тип файловой системы не всегда соответствует той, что реально установлена на диск. Из-за того, что тип файловой системы берется программой из MBR, она не дает 100% гарантии истинности результатов. В версии 3.3.2 распознаются системы FAT16, FAT32, NTFS, и диагностический раздел ноутбуков фирм HP/COMPAQ. Со временем список будет расширен. Если на проверяемом диске нет файловой системы, не найдены или сильно повреждены системные области, будет выдано сообщение: MBR
not found!
Примечание: на разделах, созданных новыми ОС, программа может не распознавать имя диска, ибо они хранят его не в загрузочном секторе.
Создание логических дефектов
Консольная команда RNDBAD производит создание псевдо-сбойных участков поверхности HDD, на которых винчестер ведет себя аналогично физическим дефектам поверхности, что может быть полезно при исследовании программ и винчестеров. Команда RNDBAD не приводит к физической порче накопителя, производимое ей действие документировано в АТА стандарте и является записью, однако не стоит забывать, что любая запись разрушает данные пользователя.
Во время выполнения команды RNDBAD измеряется среднее время создания одного дефекта, которое выводится на экран. Дефекты создаются в цикле, по адресам из генератора случайных чисел. Для отмены действия служит клавиша ESC. Чтобы удалить созданные бэд-блоки, достаточно произвести линейное чтение всей поверхности с включенной опцией "Erase 256".
Примечания:
- Некоторые винчестеры (новые Maxtor, некоторые экземпляры Samsung SP0802N) производят ремап псевдо-дефектов при чтении, поэтому будьте осторожны, во избежании засорения пользовательского дефект листа. Автор считает это недосмотром производителей винчестеров, а также ошибками ремонтников, если опция ремапа чтением "включилась" после некорректного ремонта, и не обязан отвечать за них. Ремап чтением покане замечен у накопителей Seagate, Fujitsu, на остальных смотрите сами. А лучше забудьте про эту команду :)
- Команда RNDBAD работает только в адресации LBA 28bit (максимальный адрес дефекта не превышает 128 Гб)
Восстановление конфигурации диска (команда RDС)
По этой команде производится сброс предустановок конфигурации накопителя, произведенный средствами АТА-стандарта. Такими предустановками могут быть, например "навсегда" выключенный SMART или ограничение объема, не восстановимое через HPA (встречалось на HDD Samsung). Команда не влияет на хранимую информацию и не способна испортить винчестер. Предназначена для отмены действия некоторых утилит и для восстановления реального размера HDD Samsungи Hitachi после последствий глюков. Команда работает только на винтах, которые поддерживают DCO. На остальных будет выдано сообщение об ошибке. Также, ошибка может выдаваться на Seagate (это у них очередной прикол такой).
Индикация режимов работы HDD и кодов ошибок по индикаторным "лампочкам"
(Первоисточник - стандарт ATA/ATAPI)
BUSY (Busy). Винт занят обработкой команды или "завис". В то время, пока горит эта лампочка, все остальные индикаторы считаются недействительными, и винчестер может реагировать только на команду "Reset" (F3).
DRDY (Drive Ready). Винт готов к приему команды;
WRFT (Write Fault). Ошибка записи. Устарело. По новому стандарту, и, следовательно, на новых HDD: "Device Fault" - неисправность устройства;
DRSC (Drive Seek Complete). Винт успешно закончил установку головки на трек; Устарело. На новых назначение зависит от предшествующей команды.
DRQ (Data Request). Винт готов к обмену данными через интерфейс;
INX (Index). Зажигается при каждом обороте диска. На некоторых винчестерах уже не используется, или может выдавать неверный результат.
CORR коррекция. Устарело и на новых HDD не применяется.
ERR (Error) Произошла ошибка. В регистре ошибок можно узнать код ошибки.
Регистры ошибок:
BBK (Bad Block Detected). Найден бэд-блок. Устарело;
UNC (Uncorrectable Data Error). Не удалось скорректировать данные избыточным кодом, блок признан нечитаемым. Может быть как следствием нарушения контрольной суммы данных, так и следствием физического повреждения HDD;
IDNF (ID Not Found). Не идентифицирован сектор. Обычно говорит о разрушении микрокода или формата нижнего уровня HDD.
ABRT (Aborted Command). Винт отверг команду в результате неисправности, или команда не поддерживается данным HDD (пароль, устаревшая или слишком новая модель итд.).
T0NF (Track 0 Not Found). Невозможно выполнить рекалибровку на стартовый цилиндр рабочей области. На современных HDD говорит о неисправности микрокода или магнитных головок;
AMNF (Address Mark Not Found). Невозможно прочитать сектор, обычно в результате серьезной аппаратной проблемы (например, на HDD Toshiba, Maxtor - говорит о неисправности магнитных головок);
Приложение 1
Назначение всех задействованных клавиш:
P "Port". Выбор контроллера, на котором находится испытуемый HDD. Нажав P, Вы увидите менюшку, в которой сможете выбрать Primary Master или Secondary Master, а также запустить поиск винтов в других местах.
F1 "HELP". Вызов справочной системы. Это только подсказки по клавишам. Процедура не разрушает содержимое рабочего стола, и при нажатии любой клавиши возвращает управление в программу. Справка может вызываться во время ожидания готовности винчестера, и во время некоторых операций ввода вывода.
Если программа работает в режиме ввода данных в командную строку - при нажатии F1 автоматически выдается справка по консольным командам. (Переключение в режим консольного ввода производится клавишей "ПЛЮС").
F2 "INIT". Получить паспорт диска. При нажатии на клавишу выводится название модели винчестера, серийный номер, версия микрокода, объем, CHS и LBA параметры, и многое другое.
F3 "RESET". Программный сброс диска.
F4 "Scan". Проверка поверхности, скрытие дефектов, чтение, создание образа диска.
F5 AAM. Управление акустическим шумом.
F6 HPA. Изменение объема HDD.
F7 SEEK. Тест позиционирования.
F8 PSWD. Установить пароль на винт
F9 Smart. Выводит на экран состояние SMART атрибутов накопителя. Принудительно включает SMART на винчестере и не выключает его за собой. Не разрушает содержимое рабочего стола.
F10 DisPWD. Снять пароль с диска.
Клавиши стрелок дублируют клавиши F4, 4, F7, [+]:
* вверх: проверка поверхности
* влево: получить SMART
* вправо: тест механики "CX" (в некоторых версиях может быть не задействовано).
* вниз: вызвать командную строку
В режиме командной строки:
стрелка вверх: выйти из режима командной строки
В режиме сканирования поверхности:
"Быстрая навигация"
стрелка вправо: увеличить позицию на 1/128 объема HDD
стрелка влево: уменьшить позицию на 1/128 объема HDD
"Точная навигация"
стрелка вверх: увеличить позицию на 1/4096 объема HDD
стрелка вниз: уменьшить позицию на 1/4096 объема HDD
Q Просмотр информации о логических разделах диска.
S Остановка вала HDD.
P Выбор канала испытуемого HDD.
C очистка рабочего стола.
[-] (минус) сохранить скриншот в файл. При первом нажатии создает каталог SCR, куда кладет файл с текстовым содержимым экрана. Можно нажать клавишу несколько раз, при этом каждый раз будет создаваться новый файл, без уничтожения предыдущего.
[+] (плюс) Вызов на экран командной строки, аналогично таковой в MHDD. При этом начинает работать справочная система по командам. Для отмены командной строки или введенной команды достаточно нажать ESC. Командная строка автоматически "прячется" с экрана после каждой правильно введенной команды.
] (скобка) визуальная оценка выделения процессорного времени в многозадачных средах. Работает только на полном экране.
X выход из программы. Самая полезная клавиша :-)
Назначение команд достаточно подробно описано в справочной системе. Поэтому давите на F1всегда, когда испытываете затруднения. Если возникнут какие либо дополнительные вопросы достаточно написать мне на приведенный в конце документа почтовый адрес, и в следующей версии появится более полное описание.
Приложение 2
Назначение ini-файла программы
Сразу после запуска утилита пытается открыть файл vcr.ini в текущем каталоге. Если такой файл существует, анализируются его содержимое и "движок" программы автоматически конфигурируется в соответствии с заданными там настройками. Вот назначение отдельных полей этого файла (все буквы заглавные латинские):
- Первый байт - зарезервирован для полной версии.
- Во втором байте указывается номер базового порта, к которому подключен ремонтируемый винт:
P - Primary master;
S - Secondary master;
С - контроллер РС3000 (порт 100h);
A - Порт задается в явном виде для внешнего IDE или SATA PCI контроллера. - Третий байт зарезервирован.
- Четвертый байт служит для защиты накопителя от "забывчивости" при установке ATA пароля. Если в 4-м байте прописано "1" - при использовании команды PWD в текущем каталоге появится файл pwd.vcr длиной 32 байта, в котором останется введенный с клавиатуры пароль. Фишку можно выключить, вписав вместо "1" что нибудь другое.
- Пятый байт указывает, какой из портов использовать для анализа статуса HDD и вывода индикации: базовый (1x7) или альтернативный (3x6). Буква B (ASCII код 42h) указывает на использование базового порта для вывода индикации. Другое значение заставят программу поступить наоборот.
- Шестой байт выключает звук. Если записан 0 программа будет молчать как рыба;
- Седьмой байт. Переключение на тестирование ноутбучных винтов. Если стоит буква P (Portable) программа увеличит время ожидания для более красивого рисования карты блоков при сканировании поверхности и других тестах, так или иначе связанных со скоростью. Для этой же цели служит ключ /p , с которым можно запускать программу на ноутбуках.
- Восьмой байт нужен для корректной работы программы на защищенных от записи носителях при его установке в "0" вместо попыток создания файлов будет выдаваться сообщение о запрете записи;
- Далее следуют 8 зарезервированных байт;
- Начиная со смещения 0010h в ini- файле прописывается последовательно адреса базового и альтернативного портов для внешнего PCI контроллера. В оригинальном файле, поставляемом с программой, там указаны адреса D400h, D802h;
Если ini-файл отсутствует, или вместо документированных значений в нем будет "мусор" ничего плохого не случится, и утилита автоматически настроится на работу с портом Secondary Master, при этом файл с паролем не будет создаваться, а звук включится.
Поделиться с друзьями
Комментариев нет.
Для того, чтобы оставить свой комментарий вам необходимо войти или зарегистрироваться на сайте.