MHDD. Документация. 1. От автора. Все авторские права принадлежат Dmitry Postrigan aka maysoft, Связаться с автором можно: 2:4635/17@fidonet, dmitry@mhdd.net поддержка: http://www.mhdd.net Внимание! Я не отвечаю на e-mail вопросы, касающиеся использования MHDD. Ваши вопросы Вы можете задать на форуме на сайте http://mhdd.com Как обычно, я снимаю с себя ответственность за вред, причиненный этой программой. Читайте доки внимательнее. Одно могу сказать - я пишу эту программу не для убиения ваших накопителей, а для использования в качестве инструмента (как отвертка, наприемер) для ремонта и диагностики. Значит, и использовать ее надо как инструмент. Чтобы понимать, как работает накопитель, следует, как минимум, прочитать документацию, выложенную в разделе free download на сайте http://www.acelab.ru. Также было бы неплохо ознакомиться с ATA/ATAPI стандартом (www.t13.org). ------------------------------------------------------------------------------- Далее в этой документации то, что отображается на экране, буду писать в квадратных скобках - [ ]. ------------------------------------------------------------------------------- 2. История. Что же такое MHDD? Первоначально MH! (да, тогда она называлась именно так) была написана исключительно для быстрой и наглядной диагностики любого IDE накопителя. Но, с течением времени, она "обросла" всякими нужными мне "фишками" и "примочками", благодаря чему начала нравиться народу :). С тех пор она была переписана заново несколько раз. Сейчас MHDD начала развиваться и в других направлениях - больше делается упор на удобство использования, более полное использование уже существующих функций. Однако, та версия, что выложена на сайте не является полной. Полная версия существует только в единичном экземпляре у автора, и на 01.01.2003 она умеет: - работать с накопителями Fujitsu MPA-MPG (чтение/запись модулей, FLASH, форматирование, и все остальное :) ) - извлекать информацию с накопителей IBM. - работать с накопителями Western Digital (вплоть до самых последних моделей) - чтение/запись треков/модулей, форматирование SystemArea/UserArea, etc. - работать с накопителями Quantum вплоть до самых последних. - работать с накопителями Maxtor (ATHENA и др.) - чтение/запись модулей, - и другое :-) 3. Операционная среда. Под Windows95/98/Me эта программа работает, но с некоторыми ограничениями: накопитель не определять в BIOS (подавать питание на HDD ПОСЛЕ загрузки OS), а в windows лучше отключить "дополнительный контроллер HDD" (ну или тот, на котором у вас "висит" тестируемый накопитель). При работе под win результаты замера скорости, естественно, будут немного отличаться в неизвестном направлении :-). Если же у вас для какого-то из накопителей включен режим DMA, то при попытке переключиться на этот накопитель в MHDD загорятся все лампочки регистра состояний - ТАК работать с накопителем не получится. Под другие типы Windows (за исключением 3.x) MHDD не работает. 4. Поддерживаемые IDE контроллеры для работы с HDD. Поддерживаемые режими работы с HDD. Условия для работы MHDD. Программа работает со всеми, известными мне, интегрированными в MotherBoard контроллерами через стандартные порты - 1F0, 170. Программа раздельно адресует Master и Slave устройства. Программа работает с дополнительными UDMA-контроллерами, начиная с версии 2.8. Список поддерживаемых контроллеров можно найти в файле idetypes.txt. MHDD работает с накопителем в режимах CHS и LBA. Т.е., MHDD может работать с любыми накопителями объемом от 512 до 137438953472 байт (от 1 до 128Gb), причем, независимо от BIOS (работает даже на 286 машине). Если у Вас установлен PCI контроллер, не известный MHDD - выполните процедуру PCISCAN и отошлите мне лог её работы. И я включу поддержку Вашего контроллера в следующих версиях. ВНИМАНИЕ: Если хотите, чтобы данные на ваших дисках были целы - не запускайте MHDD на том же IDE канале (НЕ РАЗДЕЛЕ!), на котором у Вас подключен тестируемый накопитель. Подключайте "пациента" к отдельному IDE порту. Это не значит, что у вас 100% что-то накроется при таком запуске (у меня еще ничего не портилось), но можно себе представить, что "чувствует" накопитель, к которому MHDD обращается через порты одновременно с обращениями ОС (тоже, в итоге, через порты). Получается "каша" из различных команд, посылаемых в HDD, и никто не может предсказать, куда там и что в таком случае запишется ;). Вся работа с HDD ведётся исключительно через порты. То есть, никаких BIOS, никаких прерываний, всё делается напрямую. Так что MHDD "по барабану", какая ОС у вас установлена на диагностируемом накопителе, она имеет доступ ко ВСЕМУ накопителю от первого до последнего сектора в независимости от того, есть ли там какая-либо информация (разделы, данные) или нет. MHDD не работает с CDROM-а, т.к. не может создать файлы, необходимые для работы. Для работы MHDD необходимо: 1. отсутствие защиты от записи на накопителе, с которого она загружается; 2. наличие свободного места на диске (хотя бы 70 килобайт), лучше - мегабайт 20. 3. атрибуты Read-Only нужно снять (при копировании с CDROM)! 5. Итак, первый запуск. Работа с MHDD. Если на диске нету файла MHDD.CFG, программа создает его и, при этом, предлагает выбрать накопитель (в дальнейшем выбор накопителя осуществляется клавишами или командой "port"). В квадратных скобках указано значение по умолчанию. Его можно выбрать, сразу нажав . После выбора накопителя мы попадаем в командную строку [mhdd>]. В MHDD нету меню (пока), все вводится командами. Нажатия на комбинации клавиш просто автоматически "вводят" каку-либо команду. Сверху моргают лампочки :) - немного о них. В левой части - регистр состояния. Тут отображается состояние накопителя. Самые важные биты: BUSY - накопитель занят и на команды не реагирует, WRFT - ошибка записи, DREQ - накопитель жаждет обменяться данными с внешним миром, ERR - в результате какой-либо операции возникла ошибка. Когда загорается этот бит, обратите внимание на правую верхнюю часть экрана. Там будет отображен тип последней ошибки. Правая часть (действительно только при зажженной лампочке "ERR"): AMNF - Adress Mark Not Found, T0NF - Track 0 Not Found - невозможно "найти" 0 трек, ABRT - Abort, команда отвергнута, IDNF - Sector ID Not found, UNCR - Uncorrectable Error. Однако, для тех, кому лень ознакомиться со стандартом ATA/ATAPI, сообщу, что если при включении накопителя (сразу после рекалибровки) в регистре ошибок загорается "AMNF", то это не значит, что с накопителем проблемы. Это значит, что проблем нет (код завершения внутренней диагностики = 1, значит, ошибок нет). Между этими 2мя полями, в середине, есть пустое место. Так вот, если накопитель запаролен, тут загорается лампочка "PWD", а если "обрезан" процедурой HPA, появится лампочка "HPA". Если и то, и другое - появятся обе лампочки :). Лампочки появляются и исчезают только при инициализации и идентификации HDD. То есть, если Вы только что сняли пароль с накопителя, лампочка PWD все равно будет гореть, пока вы не нажмете F2. Под строкой с этими лампочками есть строка параметров HDD. Левая часть отображает текущие параметры накопителя (Обновляется только при идентификации - ). Правая часть отображает текущее положение головок при прохождении различных тестов. При выполнении проверки поверхности, справа появится окно. В первой строке этого окна будет отображаться текущая скорость работы с поверхностью. В последней - два значения в процентах. Первое значение показывает процент выполнения текущего теста в заданном промежутке, а второе отображает, насколько далеко головки "ушли" от 0 цилиндра и "пришли" к последнему. Скорость проверки поверхности НЕ зависит от режимов DMA, поддерживаемых Вашей материнской платой. Допустим, у вас есть некий HDD, у которого скорость на первых треках показывается ~50Mb/sec. Так вот, на какую бы машину вы не ставили этот накопитель, эта скорость НЕ ИЗМЕНИТСЯ. Даже если это будет 386sx25. Также, неважно, понимает ли Ваш BIOS накопители большого объема. Можно ставить на 386 хоть 120 Гб. В процессе тестирования поверхности мы будем видеть различные "квадратики". Один такой квадратик (блок) равен 255 секторам (при тестировании в режиме LBA), либо числу секторов в строке параметров HDD (обычно 63 - при тестировании в режиме CHS). Чем "мутнее" квадратик, тем больше накопителю потребовалось времени для чтения этого блока секторов. Если пошли цветные блоки - значит, накопитель не "вписался" в отведенный ему для работы промежуток времени. Цветными блоками отображается ненормальное состояние поверхности, но еще без "BAD'ов" (см. FAQ, Q4). Однако, зеленые блоки - нормальное явление, они отражают естественный износ поверхности, ничего страшного в них нет. Также зеленые блоки могут появляться при вибрации самого накопителя. Чем "ниже" по меню цвет - тем больше накопителю понадобилось времени для чтения этого трудночитаемого участка. Красный цвет - признак того что на этом месте уже почти "сформировался" BAD block. Красные блоки - знак того, что накопитель больше не может работать с максимальной (документированной) скоростью, и, при грамотном подходе, наличие красных блоков - повод для обмена HDD по гарантии. Аргумент прост - накопитель НЕ обеспечивает своих скоростных характеристик, заявленных производителем. Вопросительный знак появляется при превышении максимального времени ожидания готовности. То есть, при появлении [?] можно считать, что накопитель "подвис" на этом месте и здесь явно присутствует либо серъёзный дефект поверхности, либо неисправен блок магнитных головок (БМГ). Всё, что ниже вопросительного знака - это ошибки (BAD block). Если они появляются в процессе тестирования, значит, на поверхности есть физические дефекты или проблемы с CRC секторов, т.н. "софт-бэды". Стоит заметить, что старые накопители работают медленно :). Поэтому, если вы тестируете старый накопитель (до 2-3 Гб), то зеленые блоки - нормальное явление.