В Windows Server 2003, Windows XP и Windows 2000 интерфейс IDE поддерживается драйвером atapi.sys. Этот драйвер регулярно проверяет, не испорчены ли данные в результате сбоев на диске, для чего проводит мониторинг и снижает скорость обмена с памятью прямого доступа (DMA) в ответ на возникающие в IDE тайм-ауты из-за сбоев на диске или ошибки CRC. Когда возникает ошибка — CRC или тайм-аута, не имеет значения — драйвер наращивает счетчик ошибок, а когда значение счетчика достигает 6, он снижает скорость обмена с DMA на один уровень.

В Windows 2000 драйвер atapi.sys использует четырехсекундный тайм-аут. Если система находится в ненагруженном состоянии (standby), то нередко для раскрутки диска и возобновления регулярных операций требуется более 4 с. При этом возникает задержка чтения, которая приводит к увеличению значения счетчика ошибок. Если в течение дня система периодически «засыпает», драйвер в конце концов снижает скорость обмена с DMA до минимально возможной, известной как Programmed I/O (PIO) Mode. Поскольку многие настраивают ноутбуки на режим экономии энергопотребления, тайм-ауты чаще возникают в переносных системах, чем в настольных станциях или серверах. Например, если компьютер «засыпает» 12 раз за день, драйвер atapi.sys снижает скорость обмена в два раза.

Проверить текущую скорость обмена можно в Control Panel, в приложении Device Manager. Нужно найти в списке устройств IDE ATA/ATAPI, раскрыть его и выбрать Primary and Secondary IDE Channel. Открыв контекстное меню Primary IDE, следует выбрать Properties и щелкнуть Advanced Settings. Третье поле, Current Transfer Mode, показывает активное значение скорости обмена. Если в этом поле указано PIO Only, жесткий диск работает со скоростью улитки. Если установлено два контроллера IDE, необходимо проверить скорость работы обоих. Низкая скорость работы на вторичном канале бывает в том случае, если к нему подключен медленный CD-ROM.

В соответствии с рекомендациями Microsoft, можно вручную довести скорость обмена до максимально высокого уровня. Для этого нужно удалить и установить заново устройство IDE Controller. В Device Manager следует отыскать и открыть контекстное меню IDE Controller. Затем требуется выбрать Uninstall и перезагрузить компьютер. Во время начального запуска система переустанавливает уровень обмена с DMA в максимально высокое положение для каждого канала. Хочу предупредить, что я не тестировала данную процедуру. Желательно протестировать эту операцию на лабораторном компьютере или предварительно создать резервную копию жесткого диска.

Описанная проблема присутствует во всех драйверах IDE/ATAPI и практически на всех платформах Windows, в том числе Windows 2003, XP и Windows 2000. Microsoft Product Support Services (PSS) имеет в своем распоряжении новую версию драйвера atapi.sys для каждой платформы Windows. Алгоритм, ответственный за снижение скорости обмена с DMA, в новом драйвере более гибкий и возвращает скорость обмена к оптимальному уровню значительно быстрее. Для Windows 2000 значение тайм-аута увеличено до 10 с (Windows 2003 и XP IDE уже имеют 10-секундный тайм-аут). Для всех платформ при возникновении шести последовательных CRC-ошибок или тайм-аутов (либо их комбинации) уровень скорости снижается на единицу, а значение счетчика сбрасывается. Последняя версия драйвера atapi.sys существенно переработана и заменяет все предыдущие версии драйвера IDE. Далее приводится базовая информация об исправленном драйвере atapi.sys для основных платформ Windows.

  • Windows 2003: имеются 32- и 64-разрядные версии atapi.sys, номер версий - 5.2.3790.10, дата выпуска - 28 апреля. Драйвер устанавливается на оригинальную версию Windows 2003 и войдет в состав SP1.
  • XP: имеются 32- и 64-разрядные версии atapi.sys, номер версий - 5.1.2600.1211, дата выпуска - 23 апреля. Установить драйвер можно на XP SP1 и более поздние системы. Обновленная версия драйвера войдет в состав XP SP2. В новом драйвере будут присутствовать два ранее выпущенных исправления.
  • Windows 2000: номер самой последней версии atapi.sys - 5.0.2195.6741, дата выпуска - 28 апреля. Устанавливается начиная с Windows 2000 SP2. Войдет в состав SP5, включает восемь ранее выпущенных исправлений.

Чтобы полностью активизировать новый алгоритм выравнивания скорости обмена, необходимо в реестре для каждого канала IDE (Primary и Secondary) добавить специальный параметр. О том, как это делается, рассказано в статье Microsoft «IDE ATA and ATAPI Disks Use PIO Mode After Multiple Time-Out or CRC Errors Occur» (http://support.microsoft.com/?kbid=817472).