Документация к программе Victoria

Содержание:



Назначение

Программа ориентирована на широкий круг пользователей ПК, и предназначена для тестирования, сервисного обслуживания и помощи при восстановлении информации с любых жестких дисков с интерфейсами IDE и Serial ATA. Программа представляет собой полностью готовое решение для всесторонней, глубокой, и в тоже время максимально быстрой оценки реального технического состояния HDD. В ней собраны возможности большинства фирменных диагностических утилит для HDD, и другие полезные функции, имеющиеся в ATA стандарте на современные жесткие диски, однако нет ограничений на поддерживаемые модели.

Цель написания freeware версии - помочь вовремя обнаружить неисправность жесткого диска. Также программа защищает интересы профессиональных ремонтников, ибо своевременное обнаружение болезни - залог успешного её лечения. Нередко пользователь остается в неведении о состоянии жесткого диска, вплоть до серьезной его аварии, когда уже ничего нельзя сделать (информация сильно испорчена, или для ее восстановления требуются серьезные материальные затраты). Данная программа совмещает в себе как профессиональные, так и бытовые функции, и позволяет протестировать винчестер пользователям без специальных знаний. В тоже время, программа не имеет никаких ограничений на доступ к тестируемому жесткому диску, и в руках специалиста может служить мощным диагностическим инструментом в нестандартных, и в неописанных в документации ситуациях.

Другая возможная область применения - измерение скоростных характеристик накопителей. Большинство бенчмарк-программ написаны под многозадачные ОС, и работают с диском через цепочку API+дисковый драйвер, что требует инициализации накопителя в системе, и наличия включенного режима UDMA. Виктория работает с винчестером напрямую, и кроме всего, позволяет интерактивно управлять тестированием. Автор не преследовал цель написать бенчмарк для HDD, однако некоторые методы тестирования были высоко оценены коллегами, и поэтому включены в эту версию.

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

Следует отметить, что Виктория показывает только физическое состояние диска. Дефекты файловых систем останутся незамеченными - для их обнаружения существуют системные утилиты (например, SCANDISK, NDD). В тоже время, если на ПК периодически пропадают или портятся данные, а на его винчестере обнаруживаются явные физические проблемы - разумно предположить, что именно они и являются причиной сбоев.

Все операции с диском реализованы через порты контроллера, поэтому программе не требуется поддержка испытуемых винчестеров материнской платой и определение их в BIOS'е. Также, программе не важно, есть ли на диске какая либо файловая система, какой размер кластера, и сколько на HDD логических разделов - она показывает диск в таком виде, как это задумали разработчики HDD (в соответствии со спецификацией ATA/ATAPI7), на весь физический объем, независимо от Вашего компьютера, BIOS'а и операционной системы.


Основные возможности программы



Системные требования:



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

a) Установка загрузочной версии для FDD:

Распакуйте архив, вставьте дискету в дисковод, и запустите файл makedisk.bat. Будет создана загрузочная дискета. Для пользования программой необходимо загрузить компьютер с этой дискеты, после чего всё будет готово к работе.

b) Установка загрузочной версии для CD:

Распакуйте архив, и запишите ISO-образ на CD. Загрузите компьютер с этого CD, после чего всё будет готово к работе.

c) Установка не-загрузочной версии на жесткий диск ПК:

Программа состоит из единственного исполняемого файла и вспомогательного файла конфигурации vcr.ini. Файл vcr.ini не является обязательным и служит для точной настройки Виктории на определенные условия работы, что позволяет достичь максимального удобства (например, туда можно прописать адреса внешнего PCI ATA контроллера, чтобы каждый раз не выбирать нужный винт через меню), отключить звук, отключить запись на диски т.п. (подробности о настройке ini-файла здесь).

Можно запускать программу непосредственно под Windows, и она будет прекрасно работать, но для этого нужно выполнить одно из условий:


При работе из-под систем на ядре Windows NT необходимо установить драйвер UserPort. Для этого нужно:

Все должно работать как в окне, так и на полном экране. Имейте в виду, что под NT системами не будет работать поиск винчестеров на внешних контроллерах.

Эти тезисы являются основными и при работе с другими аналогичными программами, получающими доступ к оборудованию через порты.


Примечание:

  1. Загрузочная дискета Windows XP не подходит для запуска программы! (из-за глюков EMM386.EXE);
  2. Очень полезным окажется какой нибудь файл-менеджер, например Volkov Commander (для "чистого" DOS) или FAR (для Windows). Следует отметить, что внутри Виктории есть небольшой встроенный файл менеджер.

* * *

После запуска программы на экране появится ее интерфейс, состоящий из следующих основных частей:



Управление программой

Для управления используется клавиатура ПК, поддержка других устройств ввода пока отсутствует.

Выбор интерфейса

Выбор IDE/SATA винчестера на стандартном порту

Возможно, при первом запуске Вам потребуется выбрать именно тот винчестер, который Вы хотите протестировать (а не тот, что прописан в файле vcr.ini - в дистрибутиве там указан Secondary Master). Для этого необходимо нажать клавишу P. Появится меню с названиями каналов. Выбор производится клавишами управления курсором "вверх" и "вниз". При перемещении курсора, в реальном времени отображается индикация (лампочки), что позволяет судить о готовности HDD. У исправного винчестера всегда будут гореть 2 лампочки: DRSC и DRDY (у некоторых может еще и INX). В регистрах ошибок может быть зажжена красная лампочка AMNF, а остальные должны быть погашены. Подробнее о назначении индикаторов см. ниже. После установки курсора на нужный пункт необходимо нажать ENTER.

Выбор винчестера на внешнем (дополнительном) PCI/ATA/SATA/RAID контроллере

Осуществляется в самом нижнем пункте меню. После нажатия ENTER начнется поиск внешних контроллеров и винчестеров на них. Определятся только реально присутствующие и исправные винчестеры в положении MASTER, остальные система "не заметит". При нахождении каждого дополнительного порта, в таблицу будет выдано:

Все найденные порты будут пронумерованы. Вам останется лишь выбрать нужный, нажав соответствующую клавишу.

Примечание: программа может не найти винчестеры на некоторых моделях контроллеров Promise.

Чтение паспорта диска

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

Паспорт отдается при нажатии клавиши F2.

pass

Вот что мы получаем оттуда (сверху вниз):


Программный сброс диска

Выполняется клавишей F3. Эта операция останавливает внутреннюю работу HDD (если он был занят обработкой команды или самотестом) и приводит интерфейс в состояние по умолчанию (очищает регистры после предыдущей команды и выставляет готовность к приему следующей). Необходим для диагностики накопителя, прерывания зависшей микропрограммы винта, и т.д. Выполняется сразу после нажатия кнопки. Также работает и непосредственно во время операций с диском (например, чтения). Признаком успешного сброса будет включенный индикатор AMNF.


Работа с поверхностью HDD

В программу встроен мощный сканер поверхности HDD, который позволяет продиагностировать HDD на наличие сбойных участков, плавающих дефектов и ошибок интерфейса. Программа способна протестировать большинство винчестеров на предельной скорости, независимо от типа ATA контроллера и интерфейсного кабеля.

Особенностью сканера является применение эксклюзивных алгоритмов, не встречающихся до этого в других аналогичных утилитах. К ним относится автоматическое распознавание поддерживаемых стандартов, и настройка таймера в соответствии с быстродействием тестируемого HDD. Это позволяет эффективно проверять как медленные, так и быстрые диски. А оригинальный метод измерения временных интервалов позволяет работать под виртуальными ДОС машинами WINDOWS практически без снижения точности.

Скан поверхности работает в тесной взаимосвязи с паспортом HDD, получая из него все необходимые параметры. Поддерживаются режимы LBA 28 и 48 бит, которые распознаются автоматически. Все что можно было автоматизировать - успешно реализовано, и не требует никаких настроек со стороны пользователя.

Для того, чтобы протестировать поверхность винчестера, нажмите клавишу F4 "Scan". При этом на экране появится менюшка, назначение пунктов которой понятно из выводимого в ней текста. При желании можно нажать F1 для получения справки. Рассмотрим третий сверху пункт - он имеет 6 состояний, которые можно переключать клавишей "пробел" или клавишами стрелок "вправо" и "влево".

presc

Линейное чтение (до версии 3.1 было "верификация")

Тестирование поверхности в LBA адресации. Предназначено для максимально быстрой и точной диагностики состояния поверхности. Во время тестирования все адресное пространство винчестера разбивается на условные участки одинаковой длины блоки. Размер одного блока равен 256-ти секторам. Программа измеряет время доступа к каждому блоку по команде верификации, и по нему на экране рисуется прямоугольник соответствующего цвета. При этом данные физически читаются с диска, но не передаются по интерфейсу, поэтому это самый быстрый способ проверки поверхности, с ним может сравниться только работа в предельных UDMA режимах (исключение Seagate Barracuda IV, V и 7200.7 с версиями микрокода 3.xx. Для этих HDD скорость верификации ~28-32 мб/сек является нормальной).

Если винчестер зависнет из-за неисправности во время сканирования, программа ждет около 16 секунд, после чего перейдет к следующему блоку, выводя значок T (Timeout) в поле скана. Непрерывные задержки свидетельствуют о том, что HDD не отвечает на команды - можно попробовать подать команду сброса в его контроллер, нажав F3 (Reset) непосредственно во время скана, иногда это помогает.


Случайное чтение:

Тестирование поверхности, когда адреса блоков выдает генератор случайных чисел. Диапазон можно задать в виде границ LBA в меню скана. При этом также измеряется время доступа к каждому блоку, но в отличие от линейного чтения, оно будет больше т.к. складывается из времени позиционирования головки на нужный цилиндр и собственно, чтения (возможно, что и из эффективности алгоритма кэширования [предположение автора]). Полученный результат достаточно точно отражает общее быстродействие диска в реальных задачах, когда винчестеру приходится совершать много циклов чтения данных из разных мест (во время работы ОС читаются не только фрагменты файла, но и части служебных таблиц файловой системы, расположенных в отдалении от тела файла). И действительно, средняя скорость чтения около 8 мб/сек совпадает с показаниями других программ (например FAR) при копировании файлов. Также эта скорость зависит от настроек, влияющих на скорость позиционирования (Акустик менеджмента).


BUTTERFLY- чтение:

Тестирование поверхности по алгоритму "бабочка", когда попеременно читаются начало и конец дискового пространства, каждый раз со сдвигом на 1 блок (256 секторов), в результате чего к концу теста головки оказываются в середине рабочей зоны HDD. Этот алгоритм совмещает в себе позиционирование на разные дистанции, а также прямое и реверсивное чтение, и применяется в профессиональных утилитах, в том числе при заводском тестировании винчестеров средствами селфскана. Отличие от случайного чтения в том, что butterfly - это тест всей поверхности с позиционированием, сканирующий все секторы HDD по определенному закону и имеющий окончание. Случайное чтение - это агрессивный тест, не имеющий окончания и закономерности, и он почти не предсказывается алгоритмами предвыборки. Оба теста создают большую нагрузку на блок головок и электронику, поэтому позаботьтесь о хорошем охлаждении HDD во избежании его порчи. Также следует отметить, что Butterfly выполняет проверку медленней, чем линейное чтение, и на винчестере в 10 Гб может длиться около 30 минут. Причина - потери времени на перемещение головок, и постоянные ожидания поворота дискового пакета на нужный угол. Как и в предыдущих тестах, диапазон можно задать в виде границ LBA в меню. Допустимо использовать сброс и вызывать справку во время проверки. Все 3 вида тестов могут работать совместно с дефектоскопом и ремапами - их выбирают в 4 пункте меню.


PIO-чтение (в версии до 3.1 было "Чтение")

В отличие от верификации, используется настоящее чтение секторов из винчестера. Отличается более низкой скоростью - около 2-8 мб/сек (1 Гб читается 2-7 минут), поэтому целесообразно лишь для небольших участков. Применяется не для измерений, а в основном для отлова "глюков" винта, проверки работоспособности канала чтения и интерфейса. В реальных условиях компьютер работает с винчестером в режиме DMA, где скорость намного больше (и производители оптимизируют HDD именно под DMA режим).

С помощью PIO-чтения можно выбрать наиболее быструю модель HDD для установки в систему, не поддерживающую режим DMA. Такие системы до сих пор встречаются, например учетно-кассовые машины, медицинское диагностическое и музыкальное оборудование, различные роботы (например, автоматические узлы FTN сетей).

Примечание: Для повышения скорости работы в PIO нужно принудительно включить максимальный режим в BIOS. Обычно там стоит "Auto" по умолчанию, замена его на PIO-4 позволит поднять скорость более чем в 2 раза. Также она зависит от общего быстродействия ПК и примененного чипсета (наибольшая скорость у автора была на I430 TX/VX - около 13 Мб/с).


PIO-чтение в файл (в версии до 3.1 было "Чтение в файл")

В отличие от "просто чтения" данные с винчестера пишутся в файл в текущем каталоге. Программа корректно обрабатывает бэд-блоки, не "вылетая" на них, вся остальная информация сектор за сектором пишется в файл (вместо дефектных участков вставляются нули). Начиная с версии 3.1 - применен алгоритм от профессиональной программы, обеспечивающий достаточно высокую скорость в PIO-4 и динамический переход с блочного чтения на посекторное в зависимости от ошибок. Число попыток чтения сектора при ошибке равно двум: первый раз при блочном доступе, второй при посекторном для более полного извлечения данных из поврежденных накопителей с активной предвыборкой чтения. Сброс для ускорения обработки ошибок и "длинное чтение" в бесплатной версии отключены. В связи с практической бесполезностью кодов ошибок HDD при чтении в файл они не выводятся, хотя и обрабатываются. Вместо них программа сообщает "I/O error" и номер дефективного LBA.

Содержимое дефектного сектора заполняется нулями и пишется в файл. Он имеет ограничение 2 Гб, если копирование производится на раздел FAT32, однако в NTFS никаких ограничений нет. При вводе имени файла без расширения ему автоматически будет присвоено расширение *.trk

Итог: для спасения информации с накопителя, имеющего дефекты, рекомендуется запускать Викторию с раздела NTFS, на котором, помимо самой программы имеется достаточное количество свободного места. Обычно это система Windows 2000 или XP. Перед применением желательно установить режим PIO-4 для SECONDARY канала в BIOS компьютера (для увеличения скорости чтения), затем загрузить Windows с драйвером UserPort, и только после этого подавать в копируемый HDD питание - это гарантирует отсутствие обращений Windows к неисправному винчестеру.


Запись (стирание):

Производит посекторное стирание информации с диска, блоками по 256 секторов. Может использоваться для устранения некоторых видов дефектов (аналогично низкоуровневому форматированию программами от производителей HDD). По скорости сравнимо с PIO-чтением. Следует отметить, что существует более быстрый способ очистки диска от информации - стирание через подсистему безопасности. Читайте об этом в разделе "Безопасность".


Запись из файла:

Пишет содержимое файла на диск посекторно, начиная с Start LBA и заканчивая длиной файла. Для выбора файла откроется окно встроенного менеджера. Длина вычисляется автоматически, под нее подстраивается счетчик процентов. Скорость достигает 6 Мб/сек. Процесс сопровождается визуальным сканом, обрабатывается время и блочные ошибки. Функция может быть полезна для коррекции разрушений файловых систем совместно с HEX редактором, и для клонирования небольших дисков. Размер файла ограничен до 2 Гб, больший объем имеет смысл писать другими программами (например WinHEX - это будет в 10 раз быстрее).


Проверка интерфейса:

Производит циклическую запись шаблона данных в буферную память винчестера, затем чтение оттуда и сравнение прочитанного с записанным. При этом измеряется время чтения из буфера в диапазоне от 64 до 500 мкс. На этом тесте хорошо видно, что такое многозадачность встроенной в винт микропрограммы - время чтения разных циклов получается разное и зависит от модели HDD и от его режима работы. При несовпадении записанного с прочитанным выводится сообщение с указанием времени по часам. Наличие таких ошибок говорит о неисправности интерфейса или буферной памяти винта, и такой накопитель считается потенциально опасным, так как может исказить хранящуюся на нем информацию. Для получения высокой достоверности нужно выполнять этот тест достаточно долго, аналогично тестам оперативной памяти компьютера. Во время тестирования рекомендуется пошевелить IDE шлейф для диагностики плохих контактов, которые тут же будут обнаружены программой. Перед проверкой интерфейса можно остановить вал HDD, нажав клавишу S (при этом у HDD фирмы Seagate Вы увидите бо0ольшой прикол :-).

Индикация и управление во время проверки поверхности

Через некоторое время после начала тестов (а конкретно после прочтения 500 блоков), точки в правой нижней части экрана заменятся на цифры - они будут показывать скорость обмена/верификации в реальном времени, а строкой ниже появится индикатор оставшегося времени до конца тестирования. Время динамически меняется, т.к. зависит от отображаемой скорости (пока показывается неверная скорость - будет неправильное время). В верхней части окна отображаются пройденные мегабайты, и пройденные проценты от указанного в меню максимального значения LBA (в режиме BUTTERFLY показываются удвоенные процеты, ибо тест симметричен относительно середины). При проведении тестов, не имеющих конца (случайное чтение, проверка интерфейса) время окончания не выводится. В этом случае их отменяет пользователь по своему желанию.



scan

Во время линейных тестов работает так называемая "быстрая навигация" клавишами стрелок можно перемещаться по поверхности в произвольное место диска. Шаг перемещения настраивается автоматически в зависимости от объема HDD и составляет 1/124 от выбранного диапазона LBA (в старых версиях было: 1/128 от паспортного объема).

Во время линейного, случайного и Butterfly тестов можно получить справку, нажав F1. Там Вы найдете много интересного.

Прочитанные блоки данных сортируются по времени доступа, в правой части экрана, что позволяет выявить состояние поверхности HDD, и обнаружить не только бэд-блоки, но и намечающиеся дефекты (цветные прямоугольники). Обычно исправные накопители не имеют "цветных" прямоугольников, а появление красных и бурых говорит о каких либо проблемах. Зеленые блоки допустимы у многих типов HDD (особенно у ноутбучных). Ухудшение времени доступа к отдельным блокам может быть следствием естественного износа HDD. А у некоторых моделей (например, у FUJITSU MPF 3xxxAH с прошивкой 5C14) это норма, так как зависит от термокалибровки, которую эти винчестеры производят прямо во время чтения.

При обнаружении нечитаемого сектора, программа выведет адрес блока, к которому принадлежит сектор в малое окно справа, а рядом с ним укажет код ошибки, который вернул контроллер винчестера. После этого скан поверхности перейдет к следующему блоку и продолжит проверку.

Далее автор хочет сделать одно важное замечание: Многие пользователи пренебрежительно относятся к винчестерам, имеющим много "белых" прямоугольников, мотивируя это тем, что "у других моделей их нет". Такие диски считаются чуть ли не неисправными, подлежащими сдаче по гарантии, и совершенно напрасно!!! "Белые" блоки - норма! Например, у моего HDD Samsung SP1614N, на котором пишется эта программа, имеется почти тысяча "белых" блоков (которые другие программы не видят из-за низкой чувствительности). Этот винт прекрасно работает не первый год (более того, летом 2004 я его нечаянно уронил с высоты 5 см во включенном состоянии, и пока ничего плохого не случилось :-)

Примечание: Если на испытуемом винчестере установлен АТА пароль, программа выведет предупреждение об этом после появления сканового меню:
Внимание! Накопитель закрыт ATA паролем!
.
Данное сообщение появится только при заблокированном винчестере, если же он открыт - о пароле будет предупреждать лишь лампочка PWD в верху экрана.



Построение графиков поверхности:

Начиная с версии 3.5 программа умеет строить график чтения поверхности диска. Графический метод является очень наглядным, и дополняет основной режим. В практике тестирования HDD различают 2 основных метода построения графиков: пиковый и усредняющий. В первом случае положение каждой точки соответствует предельному значению измеряемой величины, во втором - среднеарифметическому. В Виктории применен усредняющий метод построения графика (пиковый тоже есть - это текстовые прямоугольники). У исправного HDD график преставляет собой плавно спадающую вниз линию, на которой обычно видны ступеньки - результат зонного распределения плотности записи.

В меню имееются модификации графиков под названием Quick - это бенчмарк- функция, предназначенная для быстрой оценки производительности диска на разных участках объема. Это удобно, так как 200 Гб накопитель в режиме Quick т естируется всего 10 минут.

graf

Как и везде, в графическом режиме можно задавать границы тестирования, вид окончания проверки, и некоторые другие параметры. Нельзя лишь переключаться на нелинейные виды чтения, и вызывать справку. Также доступна быстрая навигация.

Для снятия графического скриншота можно использовать Windows или одну из ДОC-резидентных программ, которые можно найти в Сети.

Следует отметить тот грустный факт, что точность графического представления наложила жесткие требования на операционную систему. Далеко не в каждой можно получить правильный результат (из-за искажения временных интервалов в многозадачных средах). Большинство ДОС-приложений вообще блокируют построение графика под Windows. В Виктории таких ограничений нет, и Вы можете экспериментировать.

Скрытие дефектов поверхности

Программа позволяет скрывать дефекты поверхности путем замещения из резервной области, 4-мя способами. Скрытие дефектов работает в следующих режимах:

Способ скрытия задается в 4-м пункте меню, а также может переключаться во время сканирования, клавишей "пробел". Выбранный метод работы с дефектами отображается в правом верхнем углу экрана, под часами, а также в нижней строке в момент запуска скана или переключения режимов. Рассмотрим каждый из них:


Ignore Bad Blocks

Режим скрытия дефектов выключен.


BB = RESTORE DATA

(в версииях 3.0 - 3.4 данный пункт меню отсутствует)

Производится "вытягивание" информации из поврежденных секторов (длинное чтение). Это очень эффективный метод спасения данных с винчестеров фирмы IBM. В бесплатной версии отключено.


BB = Classic REMAP

Скрытие дефектов производится простым способом - записью в поврежденный сектор, номер которого возвращает контроллер винчестера при ошибке. Следует отметить, что некоторые накопители (например Seagate U-серий, Seagate Barracuda SATA с версией 3.05 итд.) имеют ошибку микропрограммы, в результате которой винчестер может сообщить неверный адрес дефектного блока. Поэтому большинство драйверов ATA устройств на HDD "не надеются", и при ошибке рассчитывают номер бэд-блока математическим способом. Однако существует довольно большое число любительских программ, которые используют алгоритм Classic Remap, и в Виктории этот метод оставлен для сравнения. Другим недостатком Classic Remap является слабая чувствительность некоторых моделей HDD к одиночной записи после верификации - им нужен более "весомый аргумент" для инициализации ремапа. Поэтому алгоритм может не работать на некоторых накопителях (например, на новых IBM, Hitachi) - экспериментируйте.


BB = Advanced REMAP

Улучшенный алгоритм ремаппинга. Скрывает дефекты в том случае, когда "обычный" ремап не помогает. Главное отличие Advanced Remap в том, что дефект определяется еще до того, как винчестер сообщает об ошибке. Для информирования пользователя об этом в поле скана выводится желтый вопросительный знак ?, который эквивалентен красному прямоугольнику в других тестах, но в данном случае символизирует то, что программа производит поиск дефекта внутри блока, вызвавшего задержку. Последовательность команд такова, что при этом в SMART должен сформироваться кандидат на ремап (атрибут 197). Далее делается попытка скрыть его 10 кратной записью, и если микрокод не против - это происходит. После чего производится контрольное чтение этого сектора. Если он прочитался - ремап объявляется выполненным, что отражается в малом окне и в поле скана (на месте креста появится синяя "заплатка"). Оба типа ремапов, в отличии от фирменных утилит производителей HDD, не стирают пользовательскую информацию нигде, кроме самого бэд-блока (в котором данные и так практически потеряны).

Но если винт зависает на бэд-блоках, или срывается в стук - даже Advanced Remap может не сработать, ведь чудес не бывает. То же самое относится к винчестерам на некоторых SATA контроллерах, в частности - SiI3112 с "кривыми" BIOS (некоторые модели контроллеров зависают при ремапе), к винчестерам Samsung (почти у всех экземпляров ремап отключен на заводе) итд. Для ремонта таких накопителей могут применяться технологические методы "лечения", например скрытие дефектов в первичные заводские листы. К сожалению, эта технология выходит за рамки данной статьи и тут не рассматривается.

BB = Fujitsu Remap

Ремаппинг винчестеров FUJITSU. Только для моделей MPG и старше (новые накопители 2,5'). На других не работает. Использует недокументированные возможности контроллера HDD FUJITSU. Способен скрывать не только явные, но и намечающиеся дефекты (задержки). Не рекомендуется совмещать Fujitsu Remap с нелинейными видами чтения из за термокалибровки, которую эти винчестеры выполняют между циклами позиционирования: может произойти задержка, и как следствие - помещение нормального сектора в дефект-лист.


Q: Почему бы это не сделать для остальных моделей?
A: Потому что это усложнит программу и оставит часть ремонтников HDD без работы


BB = Erase 256 sect

(Способно "вылечить" HDD, но бывает деструктивно для информации)

Восстановление группы секторов. При обнаружении дефекта - переписывает весь блок из 256 секторов. Также как и Advanced Remap, работает не по коду ошибки, а по таймауту 150 мс. Полностью аналогично функции Erase Wait's в MHDD (автор Дмитрий Постригань). Начиная с версии 3.5, "Виктория" проверяет блок после стирания, сообщая о результатах. Данная опция рекомендуется в тех случаях, когда нужна максимальная скорость восстановления, а бэд-блоки программные, и их очень много (такое часто бывает на винчестерах фирмы IBM 2000 - 2003 годов выпуска). Внимание! Эта функция стирает информацию!

Примечание: Замечено, что при случайном чтении винчестер сделает ремап с большей вероятностью, чем при линейном. Эту возможность следует знать и использовать. Автор рекомендует связку BUTTERFLY чтение и Advanced Remap для достижения максимального успеха, а также многократный проход в режиме "Loop scan".


Дефектоскоп поверхности

Начиная с версии 3.0 (а также 2.9x, но не 3.0b!) в программу включен дефектоскоп поверхности HDD. Дефектоскоп предназначен для выявления реально нестабильных участков поверхности / дефектов через интерфейс HDD, и способен отличать случайные задержки от регулярных.

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

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

Для перевода скана поверхности в режим дефектоскопа необходимо сначала выбрать режим чтения (случайное, линейное или BUTTERFLY), затем включить режим дефектоскопа в пункте меню работы с BAD блоками, и запустить скан. Перед этим можно изменить настройки дефектоскопа, для чего в программу добавлены 2 консольные команды:

TIO - таймаут дефектоскопии. Задается в миллисекундах. При превышении таймаута блок будет считаться подозрительным, и будет проанализирован посекторно. По умолчанию в программе он задан равным 30 мc, если выбрано линейное чтение, и 60 мс - если выбрано случайное чтение или BUTTERFLY. Рекомендуемые значения для некоторых винчестеров:



Также не следует забывать, что:

LOGSW - переключатель ведения текстового протокола работы дефектоскопа. По умолчанию протокол включен. При работе дефектоскопа создается папка DFTLOGS, а в ней файлы dftlog00.txt (dftlog01.txt, и т.д), в каждый из которых помещается название и серийный номер тестируемого накопителя, и далее вписываются адреса найденных дефектов. Выключение протокола может потребоваться при работе с защищенного от записи носителя.

При работе в малое окно выводятся адреса секторов, а в поле скана выводятся символы:

? - произошла случайная задержка. Какое то событие заставило микропрограмму HDD приостановить обслуживание интерфейса на несколько миллисекунд (обновление внутренних переменных, механическое воздействие и т.д.)

T - произошла прогнозируемая задержка. Программа нашла блок с задержкой и нашла в нем сектор, который эту задержку вызвал. При этом в окно будет выведен адрес этого сектора, также он окажется в текстовом файле.

Если время таймаута слишком мало, то любое внешнее воздействие, даже прикосновение ногтем к винчестеру в плоскости вращения дисков будет вызывать отслеживание задержки - будет картинка, аналогичная этой:

?-?-T--T-?-?--?-?-?--?--?-?-?--?-?-T--?--?-?-?--?-?-?--?--?

Примеры использования дефектоскопа:

1) Имеется винчестер Seagate U6, модель ST340810A, который имеет множество цветных прямоугольников. Бэд-блоков нет. Ремапов нет. Нужно получить список точных адресов нестабильных секторов для их скрытия другой программой. Порядок работы:

  1. Так как винчестер старый, увеличиваем порог срабатывания дефектоскопа до 50 мс. Для этого вызываем консоль (+ или "стрелка вниз") и вводим команду TIO. На приглашение вводим число 50, нажимаем ENTER. Появится надпись "Выполнено".
  2. Запускаем линейное чтение (F4), выбрав "Дефектоскоп" в меню. По окончании работы в папке SCR/ появится протокол с номерами найденных дефектов.

2) Имеется винчестер Seagate ST320011A с бэд блоками. Нужен список точных адресов дефектов.

  1. Вызываем консоль (+) и вводим команду TIO. В качестве параметра пишем BAD, нажимаем ENTER. Появится надпись "Выполнено".
  2. Запускаем линейное чтение (F4), выбрав "Дефектоскоп" в меню. По окончании работы в папке SCR/ появится протокол с номерами найденных дефектов. В отличии от многих популярных программ, дефектоскоп не позволяет винчестеру надолго замирать на дефектах, а производит сброс контроллера в случае задержки свыше 500 мсек.

Измерение частоты вращения вала HDD

Осуществляется клавишей R или консольной командой RPM. Оба способа абсолютно идентичны. Измерение производится по скорости чтения секторов при отключенном кэше, поэтому метод не будет работать при нечитаемости поверхности или при неотключаемом кэше (как например у HDD Fujitsu серии TAU). Однако, метод довольно неплохо работает на современных дисках. Для повышения точности рекомендуется произвести измерение несколько раз.

Примечание: Данная операция выключает кэш на время проведения измерений, и включает его по окончании. Если операцию прервать, кэш останется выключенным. Для включения нужно запустить ее повторно и дождаться завершения, или кратковременно выключить питание HDD. Эту особенность удобно использовать для других целей, требующих отключения кэша.


Проверка S.M.A.R.T. параметров HDD

Технология мониторинга и предсказания отказов (Self Monitoring, Analysis and Reporting Technology, сокращенно S.M.A.R.T.) была введена в стандарт на жесткие диски свыше 10 лет назад. Исходя из того, что основных причин отказов дисков обычно не много, была сделана попытка классифицировать их, а в накопители стали встраивать специальные датчики с микропрограммой самоконтроля. Показания датчиков регулярно обрабатываются и затем помещаются в несколько таблиц в служебной области:

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

Виктория тоже пытается анализировать таблицы, и выводит графики для каждого атрибута, что наглядно показывает, насколько хорошо винчестер себя "чувствует" (идея взята из программы SMARTUDM Михаила Радченко). Переход графика в красную зону говорит о том, что накопитель пора выбрасывать :) Некоторые винчестеры (например Seagate, Quantum), даже будучи новыми, имеют "заваленные" атрибуты температуры, и, например, Spin Up Time (время раскрутки вала).



smart
SMART монитор вызывается клавишей F9. Не разрушает содержимое рабочего стола. Имеется интегрированная справка (F1). Можно тут же сохранить экран в файл для дальнейшего анализа (клавишей "минус"). Для удобства, жизненно важные SMART атрибуты выделены зеленым шрифтом, остальные белым, температура желтым. При наличии переназначенных секторов из резерва (Reallocated Sectors Count), их количество выделяется красным цветом. Если винчестер не поддерживает технологию SMART или неисправен - будет выдано сообщение "винт отверг команду".

Начиная с версии 3.5 в SMART появилась возможность просмотреть флаги атрибутов. Флаги заложены в стандарт на HDD например, для того, чтобы пользователь мог судить о назначении неизвестных SMART-атрибутов.

Управление уровнем шума HDD

Производительность дисковой подсистемы во многом зависит от механики винчестера. Именно механические движущиеся детали пока остаются самым медленным звеном в цепи передачи данных от магнитной поверхности диска в оперативную память ПК. Обычно скорость доступа к секторам на диске складывается из 2-х основных факторов:

  1. Времени ожидания поворота диска относительно головки, до тех пор, пока нужный сектор не окажется в зоне чтения головки;
  2. Времени поиска дорожки (головка перемещается по радиусу диска, до нахождения нужного трека).

За всю эволюцию развития винчестеров их создатели стремились к максимальной производительности, и поэтому разработали технологии, позволяющие улучшить быстродействие механики до теоретически возможных пределов. Сейчас уже никого не удивишь тем, что новые винты стали и быстрей, и объемней, и... горячей, чем были их "старшие братья" 3-5 лет назад. Да, любой "разгон" требует повышенного энергопотребления, что не может не отразиться на температуре. А еще, высокая скорость перемещения головок привела к заметному увеличению акустического шума. Все слышали характерный треск HDD при копировании файлов или во время дефрагментации? Этот и есть побочный эффект высокого быстродействия HDD. А ведь кому-то такие навороты и не нужны, и им достаточно среднего быстродействия. Например, для работы с документами или тем, кто использует компьютер в качестве мультимедиа-центра. Для них повышенный шум винчестера - зло, с которым надо бороться. Вот разработчики винтов и решили внести в это свой вклад, сделав скорость перемещения головок регулируемой. Осуществляется это просто - винчестеру в любой момент можно подать специальные команды, которые запретят головкам двигаться слишком быстро (или, наоборот, разрешат максимальную скорость). Команда сохраняет свое действие даже после выключения питания.

Для включения режима работы с AAM служит клавиша F5или консольная команда AAM (для вызова строки нужно нажать клавишу "плюс" или "стрелка вниз"). Винчестер начнет трещать, демонстрируя текущий уровень шума (у некоторых дисков шум, как ни странно, отсутствует :) Далее смотрим на цифры внизу экрана. Это текущий уровень шума по шкале 0 - 255. Также на экран будут выведены подсказки по точным значениям цифр. Во время теста AAM можно использовать следующие клавиши:

M - (minimum): установить минимальный уровень шума;

D - (disable): выключить AAM совсем (максимальный шум, максимальное быстродействие);

P - (perfomance): получить наилучшее быстродействие, шум высокий;

<- | -> (клавиши стрелок) для плавной регулировки соотношения шум/скорость;

F1 - помощь.



aam

В правом нижнем углу экрана выводится среднее время доступа при заданном уровне шума. Меняя уровень, смотрим за изменением быстродействия. Также полезно посмотреть на скорость чистого позиционирования без чтения - консольной командой "CX".

Иногда попадаются винчестеры, у которых еще на заводе AAM установлен на минимальный шум (число 128). У других AAM вообще выключен (0), а у третьих не регулируется и не поддерживается AAM - этим "отличилась" серия Seagate Barracuda 7200.7 и многие винчестеры для ноутбуков. На HDD Seagate функцию AAM можно включить за символическую плату у ремонтника или у автора этой программы. В любом случае стоит попробовать порегулировать AAM клавишами стрелок (вправо и влево) - хуже от этого все равно не будет.


Работа с Host Protected Area: изменение физического объема диска

Можно ли превратить 120 гигабайтный диск в 20 гб? Конечно да - например создать на нем один раздел на 20 Гб, а остальное не использовать. А чтобы он в BIOS'е при этом определялся тоже на 20? Еще несколько лет назад подобное было нельзя, а теперь можно, с помощью HPA. Но зачем? - спросите Вы. Например, для защиты информации от вирусов или от случайной порчи/удаления. Или, если старый BIOS зависает на автодетекте винта, превышающего 32 Гб, а перемычек, ограничивающих объем, производитель не предусмотрел... Или (не дай Бог), на винчестере появились бэд-блоки, в самом конце, и их надо скрыть от операционной системы, чтоб она даже не лезла туда при форматировании. В общем, вариантов много... А так как функция "обрезания" диска есть почти во всех современных винчестерах, рассмотрим ее подробнее.

Host Protected Area - это уменьшение количества доступных физических секторов на жестком диске, с соответствующей коррекцией паспорта диска. Т.е. диск, обрезанный HPA, будет определяться на меньший (по сравнению с заложенным производителем) объем, что сделает отрезанную часть недоступной ни ОС, ни BIOS. Соответственно, и другие программы, например форматирования и проверки, не смогут получить доступ к скрытой части. Обрезание диска происходит всегда с конца, т.е. с помощью HPA нельзя вырезать произвольную область в середине, и нельзя сдвинуть начало диска. Как и в случае с AAM, результаты HPA сохраняются после выключения питания.

Виктория позволяет задавать любой объем диска с помощью HPA, показывать реальный объем, а также восстанавливать заводской объем обрезанных дисков. Для этого служат соответствующие команды (вызываются клавишей F6 или консольной командой "HPA")

HPA - задать новый объем диска. После ввода команды появляется приглашение к вводу нового количества секторов (LBA). Нужно ввести и нажать ENTER. Если винт не выдал ошибку, он сразу скорректирует свой объем, в соответствии с введенным значением.

RHPA - показать реальный размер диска в LBA. Команда чисто информативная.

NHPA - восстановить заводской объем диска. После ввода, на экране отображаются текущий и заводской объемы, и от пользователя требуется подтверждение действия. В случае согласия (Y) - диску будет возвращен реальный объем. Для отмены достаточно нажать ESC.

hpa

ВНИМАНИЕ!: по стандарту, установка нового объема диска возможна только один раз за сеанс. После чего все последующие попытки применения HPA и NHPA будут отвергаться (а программа сообщать об ошибке). Для продолжения работы необходимо выключить и вновь включить питание HDD (программу перезапускать не обязательно).

ВНИМАНИЕ-2!: Винчестеры Seagate большой емкости имеют очень запутанный алгоритм восстановления полного объема, если он был уменьшен другими программами (или старыми версиями ATAPWD/MHDD/Victoria). Для этого в версию 3.5 введен режим их разблокировки в 2 этапа (до 128 Гб и от 128 Гб), между которыми следует выключить питание HDD.


Управление опциями безопасности.

Пароли, снятие пароля, временная разблокировка.

Теоретическое вступление:

Современные винчестеры имеют 2 вида паролей и 2 уровня секретности. Сначала рассмотрим виды паролей:

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

Master-пароль: НЕ предназначен для защиты информации. Его назначение - удалить User-пароль в случае потери последнего. Master-пароль, будучи установленным на винчестер, никак не отразится на его работоспособности.

Вернемся к уровням секретности. Их два, и относятся они только к User паролю:

High: высокий уровень. Пароль уровня High может быть удален с помощью Master пароля с сохранением информации на винчестере.

Maximum: максимальный уровень. Если на винчестере установлен User пароль уровня Maximum, то Master паролем его удалить не получится (винт выдаст ошибку), а для снятия пароля придется применить Security Erase. Это специальная команда, которая попросит передать в винт Master пароль, после чего HDD сотрет всю информацию, и только после этого - разблокируется.

При потере и User и Master пароля, запароленный винчестер становится физически негодным для хранения информации. Не зная Master пароля, разблокировать его нельзя. Поэтому - будьте осторожны с системой безопасности HDD.

Можно ли "найти" утерянный пароль методом перебора? В случае с винчестером - практически нереально. Согласно ATA стандарту, после пяти неудачных попыток ввода пароля, винт блокирует команды (при этом в паспорте появится статус "Expired"). Повторный ввод возможен только после включения-выключения питания. Ограничение на 5 попыток отсутствует, если для снятия пароля использовать стирание через мастер-пароль. В этом случае естественным препятствием для перебора будет пауза ожидания готовности (около 1 секунды), выдаваемая винтом.

Практика установки и снятия паролей

Для работы с паролями имеются клавиши F8 и F10, а также альтернативные им консольные команды:

PWD: установить пароль на диск;

DISPWD: удалить пароль с диска;

UNLOCK: временно разблокировать винт (до выключения питания);

LOCK: временно отключить парольную систему (до выключения питания);

После ввода команд на экране появится менюшка с выбором вариантов пароля и уровня секретности. Перемещение по меню осуществляется клавишами стрелок (вверх вниз), выбор нужного пункта клавишей ENTER. Далее появится приглашение к вводу пароля:

Введите пароль:_

pwd

После ввода пароля следует нажать ENTER. Если винт не выдал ошибку, пароль будет немедленно установлен.

Следует иметь в виду, что мастер-пароли на большинство винчестеров предустановленны на заводе изготовителе, и благодаря Интернету, могут быть известны широкому кругу людей. Поэтому мастер-пароль лучше сразу сменить. Установленный мастер пароль никак не повлияет на доступ к информации.

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

Данный метод сработает только при уровне секретности пароля = High. Если установлен уровень Maximum, будет выдано предупреждение о стирании диска. Вы можете согласиться или отменить (если информацию нельзя терять). При согласии программа предложит ввести мастер-пароль, после чего винчестер выставит BUSY и приступит к стиранию информации. Если в этот момент выключить питание винчестера, или подать ему команду программного сброса - стирание остановится, но и пароль останется. Следует подождать до снятия BUSY, и только после этого, получив паспорт, убедиться, что пароли сняты.

Полезное применение опции стирания через пароль - быстрое удаление всей информации (например, перед продажей HDD). Кроме того, security-стирание, будучи по своей природе записью, обладает свойством ликвидировать некоторые виды дефектов поверхности и обновлять SMART-статистику. Для того, чтобы выполнить быстрое стирание через систему безопасности, необходимо:


Иногда бывает так, что security-стирание вылетает с ошибкой через некоторое время после старта. Такое может происходить, если винчестер физически неисправен.

Примечание:

  1. Если Вы уже вызвали строку ввода пароля, но передумали его вводить, нажмите ESC.
  2. Для предотвращения забывчивости, программа создает небольшой (32 байта) текстовый файл в текущем каталоге, в который кладет введенный пароль. При последующем вводе пароля программа сама прочитает содержимое файла, и подсунет его под нос пользователя :) Эту опцию можно легко отключить, как это сделать, читайте в разделе "Работа с ini-файлом".
  3. Если тестируемый накопитель сообщил в паспорте, что не поддерживает опции безопасности, будет выдано сообщение в нижнюю строку экрана: 'Внимание: этот HDD не поддерживает работу с паролями!' Надпись никак не помешает попробовать установить/снять пароль, чтобы убедиться в этом практически.

Подача пароля из файла

Ввод пароля с клавиатуры обычно ограничен только теми символами, которые можно напечатать. Между тем, существуют и т.н. "непечатные" символы - это управляющие коды со значениями 0...19h, и некоторые другие. Бывает, что на винчестерах стоят мастер пароли из таких символов (это "любят" делать BIOS'ы ноутбуков). Как ввести такой пароль? Ответ прост - используйте Викторию. В программе имеются 2 команды подачи пароля из файла. Достаточно сделать файл с любым сочетанием символов, и "подсунуть" его вместо пароля:

PWDF - установить пароль из файла на диск;

DISPWDF - удалить пароль с диска, используя файл;

После ввода команды, программа выведет окно файл менеджера, где можно будет выбрать файл. Остальное аналогично применению PWD и DISPWD.


Q: Что делать, если пароль все-таки потерялся/забылся?

A: Пароль можно снять в технологическом режиме. Обратитесь к ремонтнику HDD с соответствующим инструментом (например, коммерческой версией Виктории или РС3000).

Тесты позиционирования головок HDD

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

Причин много: это и бракованные экземпляры HDD, и плохие блоки питания, и нарушения теплового режима (перегрев). А некоторые винчестеры не имеют защиты от перегрева, или она срабатывает слишком поздно. Но, как показала практика, большинство проблем с винчестерами закономерны, т.е. вполне предсказуемы задолго до фатального исхода. Чтобы поточней разобраться в причинах взрыва микросхем, рассмотрим простой пример:

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

Операционная система не обязана следить за параметрами винчестера. Она четко выполняет то, для чего предназначена - файловые операции, и умеет лишь ждать готовность устройства, если оно перестало отвечать. Дождавшись, пока микросхема остынет, система термо-защиты разрешает дальнейшую работу, а винчестер, в свою очередь, снимает сигнал "занято" и ОС продолжает использование HDD. Никому и в голову не приходит то, что винт в предельном режиме, и периодически срабатывающая защита остается тайной для пользователя. Круто? Нет, особенно, если судить по встречающимся горелым микросхемам... Вероятно, отсюда и пошли "страшные" истории о поломках дисков во время дефрагментации, во время работы Windows XP (ибо ресурсоемкая система производит больше дисковых операций, чем менее требовательная Windows 9x), и т.д.

Вывод напрашивается сам собой надо как-то вовремя заметить опасность, чтоб в дальнейшем принять меры (улучшить охлаждение, заменить HDD, сделать копию информации). Для этого нужно смоделировать высокую нагрузку на систему позиционирования, но при этом контролировать возникающие ошибки, чтобы не допустить разрушения микросхем. Для этого служит клавиша F7 "SEEK", или консольные команды "CX", "CXR","ACX","ACXR".

"CXR" - (аналогично нажатию F7): случайное позиционирование с чтением

Винчестер начнет перемещать головки, читая одиночные случайные секторы диска (можно прервать, нажав ESC). При этом программа контролирует время, затрачиваемое на каждый цикл, выводит карту из прямоугольников, как при сканировании поверхности (но при этом 1 прямоугольник равен одному сектору, а не 256-ти), и смотрит в регистр ошибки HDD. При превышении времени сверх нормы или при ошибке, считается, что сработала защита, и винчестер переводится в "спящий режим" с остановкой вала и парковкой головок. Этим исключается его дальнейшее повреждение. Из-за попыток чтения тест "CXR" не будет работать на запароленом накопителе (под паролем чтение не работает), а также остановит тестирование при любых других ошибках чтения.

seek

Программа также выводит на экран:


Примечание: некоторые винчестеры могут самостоятельно прерывать тест позиционирования, выполняя рекалибровку или обновление своих внутренних журналов.

"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". Винчестеры с высоким быстродействием издают "воющие" звуки в начале теста.

Во время всех тестов постоянно контролируется температура. При этом тест может периодически замирать. При превышении порога в 75 (до версии 3.5 - было 51) градусов (ов) Цельсия - программа выключит винчестер, выдав сообщение: "Высокая температура HDD!"

Примечание:


Остановка и запуск шпиндельного двигателя HDD

Осуществляется клавишей S или консольной командой STOP. Оба способа абсолютно идентичны. Применяется, например, для экономии электроэнергии, если неохота отключать винчестер от компьютера. При нажатии клавиши S в винт подается команда E2h, и контролируется результат по регистру ошибки. Команда не будет работать на накопителе, у которого разрушен микрокод: в этом случае вал не остановится, и утилита выдаст сообщение "Винт отверг команду" или... ничего не выдаст :)

Для запуска двигателя можно выполнить любой тест (чтения, позиционирования или получение SMART), которые неизбежно приведут к раскрутке вала у исправного HDD.

Вызов встроенного файл менеджера

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

fm

Файлы можно удалять и копировать. Файлы можно пометить клавишей "пробел" и удалить/скопировать сразу целую группу. Можно создавать папки и удалять их, если внутри нет файлов. В общем, аналогично другим файл менеджерам... Длинные имена не поддерживаются, если в папке больше 600 файлов - остальные не отображаются, чтобы зря не захламлять память. Файл-менеджер имеет встроенную справочную систему (F1), где кратко перечислены задействованные клавиши и его возможности.

Просмотр информации о логических разделах диска

Начиная с версии 3.0 в Викторию встроена утилита просмотра информации о логических разделах, на которые разбит тестируемый HDD. Для ее запуска достаточно нажать клавишу Q. При этом считываются системные области диска, если они есть (информация берется из таблицы разделов самого первого сектора диска), сканируется цепочка Extended Partition Chain в поисках абстрактных MBR и логических дисков в расширенных разделах. При нахождении логического диска программа смотрит тип файловой системы, вычисляет его границы в LBA, и заносит их в табличку на экране. Далее следует попытка получить загрузочные сектора каждого диска, что бы узнать его имя (метку тома). Даже при частичном разрушении системных областей будет выведена информация:


part

Информация о границах разделов может быть полезна для спасения отдельных логических дисков с поврежденного HDD (например функцией чтения секторов в файл, этой же программой).

Указанный в MBR тип файловой системы не всегда соответствует той, что реально установлена на диск. Из-за того, что тип файловой системы берется программой из MBR, она не дает 100% гарантии истинности результатов. В версии 3.5 распознаются системы FAT16, FAT32, NTFS, и диагностический раздел ноутбуков фирм HP/COMPAQ. Со временем список будет расширен. Если на проверяемом диске нет файловой системы, не найдены или сильно повреждены системные области, будет выдано сообщение: MBR not found!

Примечание: на разделах, созданных новыми ОС, программа может не распознавать имя диска, ибо они хранят его не в загрузочном секторе.

Создание логических дефектов

Консольная команда RNDBAD производит создание псевдо-сбойных участков поверхности HDD, на которых винчестер ведет себя аналогично физическим дефектам поверхности, что может быть полезно при исследовании программ и винчестеров. Команда RNDBAD не приводит к физической порче накопителя, производимое ей действие документировано в АТА стандарте и является записью, однако не стоит забывать, что любая запись разрушает данные пользователя.

Во время выполнения команды RNDBAD измеряется среднее время создания одного дефекта, которое выводится на экран. Дефекты создаются в цикле, по адресам из генератора случайных чисел. Для отмены действия служит клавиша ESC. Чтобы удалить созданные бэд-блоки, достаточно произвести линейное чтение всей поверхности с включенной опцией "Erase 256".

Примечания:


Восстановление конфигурации диска (команда 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, [+]:

В режиме командной строки:

стрелка вверх: выйти из режима командной строки

В режиме сканирования поверхности:

"Быстрая навигация"

стрелка вправо: увеличить позицию на 1/128 объема HDD

стрелка влево: уменьшить позицию на 1/128 объема HDD

"Точная навигация"

стрелка вверх: увеличить позицию на 1/4096 объема HDD

стрелка вниз: уменьшить позицию на 1/4096 объема HDD

Q Просмотр информации о логических разделах диска.

S Остановка вала HDD.

P Выбор канала испытуемого HDD.

R Измерение частоты вращения HDD (а также консольная команда "RPM").

C очистка рабочего стола.

[-] (минус) сохранить скриншот в файл. При первом нажатии создает каталог SCR, куда кладет файл с текстовым содержимым экрана. Можно нажать клавишу несколько раз, при этом каждый раз будет создаваться новый файл, без уничтожения предыдущего.

[+] (плюс) Вызов на экран командной строки, аналогично таковой в MHDD. При этом начинает работать справочная система по командам. Для отмены командной строки или введенной команды достаточно нажать ESC. Командная строка автоматически "прячется" с экрана после каждой правильно введенной команды.

] (скобка) визуальная оценка выделения процессорного времени в многозадачных средах. Работает только на полном экране.

X выход из программы. Самая полезная клавиша :-)

Назначение команд достаточно подробно описано в справочной системе. Поэтому давите на F1 всегда, когда испытываете затруднения. Если возникнут какие либо дополнительные вопросы - достаточно написать мне на приведенный в конце документа почтовый адрес, и в следующей версии появится более полное описание.


Приложение 2:

Назначение ini-файла программы

Сразу после запуска утилита пытается открыть файл vcr.ini в текущем каталоге. Если такой файл существует, анализируются его содержимое и "движок" программы автоматически конфигурируется в соответствии с заданными там настройками. Вот назначение отдельных полей этого файла (все буквы заглавные латинские):

  1. Первый байт - зарезервирован для полной версии.
  2. Во втором байте указывается номер базового порта, к которому подключен ремонтируемый винт:
    P - Primary;
    S - Secondary;
    С - контроллер РС3000 (порт 100h);
    A - Порт задается в явном виде для внешнего IDE или SATA PCI контроллера.
  3. В третьем байте указывается доступ к устройству на выбраном канале:
    M - Master;
    S - Slave;
  4. Четвертый байт служит для защиты накопителя от "забывчивости" при установке ATA пароля. Если в 4-м байте прописано "1" - при использовании команды PWD в текущем каталоге появится файл pwd.vcr длиной 32 байта, в котором останется введенный с клавиатуры пароль. Фишку можно выключить, вписав вместо "1" что нибудь другое.
  5. Пятый байт указывает, какой из портов использовать для анализа статуса HDD и вывода индикации: базовый (1x7) или альтернативный (3x6). Буква B (ASCII код 42h) указывает на использование базового порта для вывода индикации. Другое значение заставят программу поступить наоборот.
  6. Шестой байт выключает звук. Если записан 0 - программа будет молчать как рыба;
  7. Седьмой байт. Переключение на тестирование ноутбучных винтов. Если стоит буква P (Portable) программа увеличит время ожидания для более красивого рисования карты блоков при сканировании поверхности и других тестах, так или иначе связанных со скоростью. Для этой же цели служит ключ /p , с которым можно запускать программу на ноутбуках.
  8. Восьмой байт нужен для корректной работы программы на защищенных от записи носителях при его установке в "0" вместо попыток создания файлов будет выдаваться сообщение о запрете записи;
  9. Далее следуют 8 зарезервированных байт;
  10. Начиная со смещения 0010h в ini- файле прописывается последовательно адреса базового и альтернативного портов для внешнего PCI контроллера. В оригинальном файле, поставляемом с программой, там указаны адреса D400h, D802h;

Если ini-файл отсутствует, или вместо документированных значений в нем будет "мусор" ничего плохого не случится, и утилита автоматически настроится на работу с портом Secondary Master, при этом файл с паролем не будет создаваться, а звук включится.

* * *

Сергей Казанский.
В начало документа