Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
30.03.2015
Размер:
403.46 Кб
Скачать

Как вы оцениваете интересность, профессионализм и полезность статьи: Текущий рейтинг статьи: 7.2 из 10.

Конец формы

Я думаю, не для кого уже не секрет, что современный жесткий диск имеет встроенную систему слежения за своим состоянием, называемую S.M.A.R.T. - Self Monitoring. Alerting and Reporting Technologу. С помощью специальных параметров - атрибутов - жесткий диск отслеживает состояние всех своих подсистем. Однако толку от этой системы в общем случае оказывается мало - жесткий диск не выдаст вам звукового сигнала или сообщения о том, что у него что-то не в порядке.

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

И второе - нужна программа, позволяющая просматривать атрибуты и предупреждать об их падении, то есть уменьшении со временем. Об одной из них я и собираюсь рассказать.

Smart ide Guardian (sig)

Программа SIGuardian разработана российской софтверной компанией PalickSoft. Она является shareware - работает только месяц, выдавая при запуске напоминание. Интерфейс в текущей версии только английский, в бета-версии появилась поддержка других языков.

Возможности этой программы таковы. Первое - она имеет возможность однократного запуска (ссылка на нее заносится в каталог автозагрузки) вместе с Windows, когда все атрибуты считываются и проверяются на наличие изменений. Если таковые имеются, вы об этом немедленно узнаете. Другой режим - постоянное слежение за состоянием SMART - не очень нужен на обычном компьютере. Ну и, конечно, можно просто запустить SIGuardian и ознакомиться с конфигурацией жесткого диска, текущим протоколом работы его с хост-контроллером (PIO, DMA, UDMA), состоянием всех SMART-атрибутов и приблизительной датой выхода из строя (Date of T.E.C.). Но последнее - крайний случай, и вычисляется ну очень приблизительно по результатам падения атрибутов за последние дни.

Мне очень понравился интерфейс SIGuardian - приятный, свежо выглядит. Кроме интерфейса, есть у него и другие преимущества - не занимает место в памяти, позволяет избирательно отключать слежение за некоторыми атрибутами, работает и под WinNT/2000.

Для доступа к SMART-функциям SIGuardian использует стандартный Windows-компонент smartvsd.vxd, который должен находиться в папке windows\system. На моей машине инсталлятор занес его в system\iosubsys, хотя в system этой драйвер уже был. В итоге загрузить Windows я не смог до тех пор, пока не убрал smartvsd.vxd из system\iosubsys, после чего все работало без вопросов. Обратите внимание.

Пример анализа состояния по атрибутам

Что делать, если при загрузке SIGuardian или другая программа сообщила вам об изменении одного из атрибутов? Нужно ли паниковать и морально готовиться к покупке нового жесткого диска? Не всегда. Рассмотрим на примерах.

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

К таким же критическим атрибутам можно отнести Read Error Rate, Write Error Rate, Spin Retry Count, так как они однозначно свидетельствуют о наличии проблемы.

Есть другая группа атрибутов, показывающая "возраст" жесткого диска. Это Start/Stop Count, Power-On Hours (Power Cycle Count). У нового диска они очень долго будут на уровне 100, и только через полгода снизятся до 99.

Атрибут Reallocated Sectors Count (или Reallocation Event) показывает, сколько дефектных секторов было обнаружено во время работы диска (не на заводе-изготовителе!). Если этот атрибут начал меняться - на диске есть поврежденная область, началось разрушение головок или механической части, и винчестер нужно менять.

Но есть и не столь важные атрибуты, такие как Spin Up Time, Seek Performance, Throughput Performance, показывающие эффективность работы трех подсистем жесткого диска - шпиндельного мотора, позиционера и канала чтения. Эти атрибуты редко бывают равны 100, и это вполне нормально. Но слишком низкие значения (ниже 70) тоже свидетельствуют о проблемах, но при этом должны снизиться и другие атрибуты.

Плюсы и минусы siGuardian

Как мне стало известно, SIGuardian получил несколько наград от сайтов, содержащих коллекции условно-бесплатных программ, в частности от ZDNet и SoftList.

Плюсы:

  • работает под Windows 9x/ME/NT/2000 через стандартный драйвер;

  • хороший интерфейс;

  • достаточная информативность.

Минусы:

  • слишком навязчивое предложение зарегистрироваться;

  • информация об атрибутах не полная, хотя и достаточная;

  • на материнских платах с чипсетом VIA и установленном Bus Mastering-драйвере от VIA работать не будет.

Аналогом SIGuardian можно назвать программу HDDUtil Дмитрия Пашкова. Она менее удобна и интуитивна, но позволяет делать все тоже самое. Обратите внимание и на нее.

Скачать SIGuardian можно по адресу http://palick.mastak.com/products/siguardian/index.html.

Еще раз о режиме dma

Автор: Макс Курмаз Дата публикации: 5.11.2000 12:47

Начало формы

Как вы оцениваете интересность, профессионализм и полезность статьи: Текущий рейтинг статьи: 6.6 из 10.

Конец формы

Если у вас есть какие-либо сомнения относительно того, что такое DMA и зачем этот режим нужен, я постараюсь их развеять.

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

Те же принципы используются при организации обмена данными с жестким диском. Спецификация ATA (или IDE) предусматривает наличие хост-контроллера, работающего по шине PCI (для возможности работы со скоростью выше 10Мбайт/c) и контроллера жесткого диска, расположенного на самом диске. Хост-контроллер (обычно это функциональная часть чипсета - "южного моста" или хаба ICH) как раз и обеспечивает возможность работы по механизму DMA, выполняя монопольное владение (захват) шиной PCI на время обмена с контроллером винчестера (механизм Bus Mastering). Данные поступают непосредственно в память по два принятых слова (ширина PCI - 32 бита, а обмен контроллеров - словами, по 16 бит).

Теперь о режимах. Обмен между двумя контроллерами может производиться по разным протоколам - с разными задержками на выдачу тех или иных сигналов. Режимов PIO, управляемы процессором, бывает пять видов - PIO4, старший режим, позволяет работать со скоростью 16.6 Мбайт/c. Режимы DMA позволяют передавать данные как по одному слову (Single Word), так и несколько сразу (Multi Word), со скоростью до 16.6 Мбайт/c - обычный протокол, и до 66 Мбайт/c (или 100) - протокол UltraDMA. Вообще UltraDMA - особый протокол обмена, с контрольными кодами и передачей по обоим фронтам синхроимпульса, является частью спецификации UltraATA.

Какие выгоды можно получить от использования механизма DMA? Очевидны два момента. Первый - уменьшение нагрузки на процессор. В однозадачной операционной среде (вроде MS-DOS) смысла от этого не будет, так как процессор все равно должен ожидать поступления данных для продолжения выполнения программы. А вот в многозадачной среде вроде Windows процессор может просто сосредоточиться на других задачах, тем самым повысив общую производительность. Второй момент - скорость работы в UltraDMA-режиме выше, чем в PIO4 или DMA2. Современные жесткие диски уже способны обрабатывать данные со скоростью выше 16 Мбайт/c, поэтому применение протокола UltraDMA имеет смысл в любом случае.

Для работы в режимах DMA необходимо следующее. Аппаратное взаимодействие двух контроллеров (хост-контроллера и контроллера винчестера) возможно в максимальном режиме, поддерживаемом обоими. Самый быстрый из реально существующих сегодня режим UltraATA/66 поддерживается хост-контроллерами в составе Интеловских хабов ICH (чипсеты i810, i820, i840, i815), "южными мостами" VT82C596 и VT82C686 от VIA (разные чипсеты), последние чипсеты от AMD, ALI и SIS тоже поддерживают UltraATA/66. Кроме того, контроллеры Promise и HighPoint устанавливаются на материнские платы на чипсете BX, что позволяет также работать по протоколу UDMA/66. Жесткие диски уже больше года поддерживают UDMA/66. Со стороны программных средств нужен BIOS, правильно определяющий максимальные режимы и конфигурирующий контроллеры, и операционная система с драйверами, способными организовать режим Bus Mastering для хост-контроллера. Режим DMA выбирается максимальным - или UDMA/66, или UDMA/33. DMA2 уже не дает выигрыша в скорости обмена, хотя и разгружает процессор.

Работа DMA-режима в среде DOS возможна. Для этого нужен соответствующий драйвер. VIA поставляет его в составе своих драйверов, Intel - нет. Впрочем, особой выгоды от этих драйверов нет, да и кто сейчас занимается серьезной работой под DOS? Вот Windows - другое дело.

Начиная с Windows95 OSR2, драйвера для хост-контроллера жестких дисков входят в состав стандартного набора драйверов. Всем известная "галочка" DMA как раз и включает режим Bus Mastering хост-контроллера, управляя стандартными драйверами от Microsoft. Если эти драйвера вас не устраивают (например, они не поддерживают UltraDMA/66 для чипсетов i810, i820 и старше), есть смысл установить драйвера от производителя чипсета (Intel, AMD, VIA, ALI…). При этом "галочки" вы уже не увидите, а переключать режимы PIO/DMA нужно специальной утилитой в составе установленных драйверов.

Небольшое замечание. Стандартные драйвера Windows определяют максимальный режим работы, обращаясь к информации, представляемой BIOSом о жестком диске. При использовании диска с поддержкой UDMA/66 на системе без соответствующего хост-контроллера и со старым BIOS установка "галочки" DMA приводит к ошибке, т.к. BIOS рапортует о режиме UDMA/66, а наивный драйвер пытается заставить хост-контроллер сделать невозможное. Выход - новый BIOS (лето 99-го года или старше) или отключение UDMA/66 на жестком диске специальной утилитой от производителя.

Хотите конкретные цифры о выгоде UltraDMA? Посмотрите на диаграмму. Жесткий диск - Quantum lct10 15Гб, хост-контроллер - PIIX4E (чипсет Intel BX). На VIA результаты аналогичные.