Встречаемая важная терминология:
DMA режим – прямой доступ к памяти (англ. Direct Memory Access, DMA) –
режим обмена данными, без участия Центрального Процессора. За счёт чего скорость
передачи увеличивается, т.к. данные не пересылаются в ЦП и обратно. PIO режим
– Программный ввод/вывод (англ. Programmed input/output, PIO) – режим обмена
данными, с участием Центрального Процессора. За счет чего повышается нагрузка на
процессор и замедляется работы в целом. Является технически устаревшим и
практически полностью вытеснен более новым режимом DMA.


Итак, собственно проявление проблемы:
– проблемы при записи DVD дисков (ошибки записи, неудачный прожиг, проблемы при
записи DVD+RW дисков);
– низкая скорость записи DVD дисков, как правило не выше х4, чаще ниже.
– Запись в Nero при этом сопровождается большой амплитудой колебания буфера
привода от максимальных до минимальных величин;
– низкая скорость чтения дисков DVD, явно видная при создании образов;
– как правило неизменная скорость записи и чтения дисков CD до и после
возникновения вышеописанных признаков.

Причина:
Это происходит если Windows XP обнаруживает что устройство не стабильно
работает в выбранном для него режиме
. Определяется это по количеству ошибок
чтения, получаемых с привода. Увеличение количества получаемых ошибок может быть
при:
– неисправности привода;
– что чаще всего, при частом копировании плохочитаемых дисков (что было у меня,
так как по роду деятельности мне часто приходиться копировать плохочитаемые
диски DVD).

Итак, Windows XP видя, что при чтении с привода идет много ошибок переводит
привод из режима DMA (в котором он работает по умолчанию после установки
системы), в режим PIO. И все бы ничего, в режиме PIO DVD-привод работает.
Единственное, что портит кровь их владельцам, это постоянные тормоза системы и
проблемы записи DVD дисков, из-за PIO режима
(см. проявления проблемы). Как
правило скорость чтения и записи CD дисков не меняется, так как она в разы
меньше, чем скорость записи и чтения DVD, и привод довольно сносно пишет и
читает CD в режиме PIO.

Решение проблемы:
1. Для отключения режима отслеживания ошибок нужно выставить в реестре значение,
равное – 0, ключу ErrorControl, который располагается по адресу
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesCdfs

2. Режим DMA в свойствах контроллера в Диспетчере устройства для DVD-привода
выставить не удастся. Система все равно вернет режим PIO, так как по ее мнению,
привод работает неправильно в режиме UDMA. Для того что бы вернуть режим UDMA,
лучше всего удалить и поставить заново IDE контролер, к которому подключен
DVD-привод, из Диспетчера устройств (можно удалить IDE контролер и
перезагрузится, после перезагрузки драйвер контролера установится заново). Но
можно вновь обратится к реестру. Параметры контролера определяются в реестре, по
адресу:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E96A-E325-11CE-BFC1-08002BE10318}

Внутри этой ветки находится 4 папки. В том числе и
0000 – отвечает за сам контролер.
0001 – отвечает за Secondary IDE Chanell.
0002 – отвечает за Primary IDE Chanell.
Выбираем папку которая отвечает за нужный нам канал, и заходим в неё. Каждому из
установленных устройств, соответствуют по два ключа,
MasteDeviceTimingModeAllowed и SlaveDeviceTimingModeAllowed (или
UserMasteDeviceTimingModeAllowed и UserSlaveDeviceTimingModeAllowed
, если
режимы выбирались вручную), определяющие в каком максимальном режиме разрешается
работать Master и Slave устройства, установленные на контролёре, и
MasterDeviceTimingMode и SlaveDeviceTimingMode, которые определяют в каком
режиме реально работают Slave и Master устройства. Для того что бы разрешить
использовать устройство в UDMA режиме, MasterDeviceTimingModeAllowed (или
Slave:, зависит от того к чему диск подключен) должно иметь значение
0хffffffff
. Если оно будет 0х0000001f, то устройство сможет работать
только в PIO режиме. Убедившись что этот ключ стоит правильно, выставляем
MasterDeviceTimingMode, определяя в каком режиме должен работать привод.
Возможны следующие варианты (цифры в HEX):
0x10010 режим UDMA Mode 5 (ATA100).
0x8010 режим UDMA Mode 4 (ATA66).
0x2010 режимы UDMA Mode 2 (ATA33).
0x0410 режим Multi-Word DMA Mode 2 и PIO 4.
Кроме этого, UDMA Mode 4 можно включить 0xffff, а UDMA Mode 5 – 0xfffff.

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

By Ruslan Novikov

Интернет-предприниматель. Фулстек разработчик. Маркетолог. Наставник.