Восстанавливаем работоспособность системы – режимы PIO и DMA.

Часто у пользователей возникает проблема очень медленной работы компьютера, особенно при записи и при чтении дисков, либо просто необоснованные «тормоза» системы при работе или загрузке. Причин возникновения этого может быть великое множество, сегодня предлагаю рассмотреть довольно распространенную – это неверный режим работы CD/DVD-ROM’а или жестких дисков, т.е. поговорим о PIO и DMA.
Для начала немного теории:
PIO и DMA – это два режима работы жестких дисков, в общем случае любого привода. PIO (Programmable Input/Output) – уже устаревший режим, для работы ему необходимо задействовать центральный процессор, что приводит к значительной потери производительности. DMA (Direct Memory Access) – современный метод, который минует процессор и обращается напрямую к оперативной памяти, это позволяет значительно (в несколько раз) увеличить производительность и избавиться от надоедливых «тормозов». Режим DMA в различных вариантах уже давно используется в операционных системах, однако в Windows XP часто случается ситуация в которой DMA автоматически переключается в PIO и уже вывести его отдута обычными методами не получится. Из-за чего возникает эта ситуация? В Windows XP внедрен механизм контроля ошибок, если при чтении с жесткого диска или др. привода слишком часто возникают ошибки, то система автоматически переходит в более медленный режим, где их процент меньше. Однако, Windows XP может перевести в такой режим и нормально работающее устройство исходя из известных только ей критериев :)
И так, Ваша система стала существенно притормаживать – проверим режимы работы всех приводов:
1. Запускаем консоль «Управление компьютером» – правой кнопкой на «Мой компьютер» → в выпадающем меню выбираем пункт «Управление», либо через Панель управления.
2. Выбираем «Диспетчер устройств», справа выбираем IDE ATA/ATAPI контроллеры, откроется несколько строчек с контроллерами – нас интересуют Первичный и Вторичный каналы IDE (рис.1) → заходим поочередно в свойства этих каналов (правой кнопкой на канале, строка «Свойства»), в закладку «Дополнительные параметры» (рис.2), здесь выделены две группы «Устройство 0» и «Устройство 1», в каждой есть строки «Режим передачи» – в ней должно быть выбрано «DMA, если доступно», далее строка «Текущий режим передачи», должно быть что-то типа «Режим ультра DMA: 5», если здесь стоит «Режим PIO», то это как раз наш случай и мы будем его исправлять. Если везде стоит режим ультра DMA, то у Вас все в порядке и дальнейшие действия можно не продолжать.

Рис.1

Рис.2

3. Для начала попробуем исправить вручную – в каждой строке «Режим передачи» ставим «DMA, если доступно», жмем «ОК» и перезагружаем компьютер. После включения вновь смотрим режимы работы каналов, если везде стоит DMA, то все в порядке, если остался PIO, то продолжаем дальше.
4. Вновь найдите Первичный и Вторичный каналы IDE и удалите их (правой кнопкой на каждом канале, в списке выбираем «Удалить»). Не бойтесь, все будет нормально работать. Снова перезагрузите компьютер – Windows XP найдет контроллеры и переведет их в быстрый режим работы, т.е в DMA. Проверти результат, везде должен стоять режим DMA.
5. Если все перечисленное не помогло и у Вас опять высвечивается «Режим PIO», тогда необходимо будет переставить драйвера для материнской платы – перезагрузиться и вновь проверить результат.
6. Ну и последний пункт, если после всех мучений «Режим PIO» так и не пропал, тогда придется поковыряться в реестре. Хочу отметить – производите какие-либо операции с реестром очень осторожно и внимательно, любое неправильное действие может привести к полной неработоспособности Вашей системы. Лучше всего сделать заранее бекап реестра. Будьте осторожны!!!
Для начала попробуйте отключить систему контроля ошибок. Для этого в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdfs\, создайте ключ ErrorControl и установите его значение равным 0. После этого перезагрузитесь и выполните пункт №4.
Действуем дальше: открываем следующую ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318} в ней можно вручную выставить режим DMA. Здесь распологаются несколько папок 0000, 0001, 0002.
0000 – отвечает за сам контролер;
0001 – отвечает за Secondary IDE Chanell;
0002 – отвечает за Primary IDE Chanell;
Открываем папку для нужного нам канала. В ней находятся несколько ключей, для начала выбираем:
MasteDeviceTimingModeAllowed
SlaveDeviceTimingModeAllowed

и проставляем значение равное 0хffffffff.
После этого выставляем значение следующих ключей:
MasterDeviceTimingMode
SlaveDeviceTimingMode

в соответствии с следующими данными, в зависимости от поддерживаемого UDMA-режима:
UDMA Mode 2 – 0×2010
UDMA Mode 4 – 0×8010
UDMA Mode 5 – 0×10010
UDMA Mode 6 – 0xffff
После этого перезагрузитесь и проверти результат – должно все нормально работать.

P.S. Не пропусти новые статьи – подпишись на обновление блога и ты всегда сможешь оперативно решить любую неисправность своего компьютера.


Комментарии:

30 Responses to“Восстанавливаем работоспособность системы – режимы PIO и DMA.”

  1. Игорь
    15/02/2011 at 2:07 #

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

  2. Igor
    16/02/2011 at 15:31 #

    На счет, удаления каналов – лик без однозначно. спасибо.

  3. Дмитрий
    20/02/2011 at 23:00 #

    спасибо большое автору!!

  4. александр
    27/02/2011 at 17:36 #

    подскажите пожалуйста ,а как в семёрке настроить этот режим, и если в свойствах, закладки «Дополнительные параметры» вообще нет .

  5. 28/02/2011 at 10:12 #

    По идее в Win7, все должно прекрасно работать (по задумке разработчиков :) ). По моему в этой ОС режимы работы каналов можно посмотреть только после установки соответствующих драйверов и программ от материнской платы – тогда появиться дополнительная закладка с этими параметрами. Если все работает нормально, то не стоит заморачиваться, но если проскакивают тормаза в работе каких-либо устройств на этих каналах, то можно просто отключить это устройство из разъема, подключить заново и запустить ПК, в этом случае в ОС произойдет установка устройства заново и оно включится в нормальном DMA режиме.

  6. Роман
    23/04/2011 at 10:06 #

    стоит текущий режим передачи неприменимо если дма ставлю. это значит у меня не поддерживается дма ????

  7. Ded77
    11/05/2011 at 23:44 #

    Сделал всё, что предлагали – ничего не помогло. Ноль. Подумал и решил поставлю-ка драйвер другой на IDE. У меня Sis поэтому взял вот это http://www.devid.info/10358/SiS+5518+Bus+Master+IDE+Controller Вс ети есть и на VIA и на другие чипсеты. И чудо случилось! В свойствах название каналов сразу отобразилось так: DMA Controller про PIO вообще забыли! Скорость выросла раза в два. Проц не грузится так сильно – где-то в 2 раза меньше. Всё летает!

  8. Rus39
    24/06/2011 at 23:31 #

    Удалил один из каналов и всё встало на места …без музыки жить не могу, а он тут буксовал. Короче, спасибо огромное автору !

  9. Виктор Семёнович
    12/07/2011 at 0:45 #

    Всё сделал как написано переделал реестр перезагружаюсь и УРА вместо PIO DMA, но как всегда всё хорошее долгим не бывает, начинаю копирование и диск каким-то макаром опять падает в PIO, смотрю в реестр а там угадайте что? Да, Вы правы, совсем не те данные которые я вписал туда до рестарта. ВОПРОС: Как сделать DMA на пожизненно, что-бы никогда и не при каких обстоятельствах система не переводила его в PIO? Система у меня Масдай ЖП. Жду ответа, знающие люди пишите прямо на мыло: gsa232@gmail.com Заранее спасибо.

  10. 12/07/2011 at 13:16 #

    Виктор Семёнович, если верить разработчикам, то отключение системы контроля ошибок должно навсегда оставить тот режим работы, который установлен на данный момент. Какой диск у Вас переходит в PIO – жесткий диск? или CD-привод? если жесткий, то тут следует задуматься, а не накроется ли он в один прекрасный момент…

  11. 20/08/2011 at 20:55 #

    А у меня почему-то на первом канале Режим ультра DMA: 2, а на втором канале режим ультра DMA: 2, почему?

  12. 20/08/2011 at 20:58 #

    Плиз!? Ошибся. На втором канале режим ультра DMA:5, почему так???

  13. Альфред
    28/08/2011 at 12:35 #

    спасибо все заработало

  14. Я ИГОРЬ
    31/08/2011 at 23:00 #

    Два дня сидел не мог разтормозить комп.и винду переставил и разбирал системник, скидовал по умолчанию биос вообщем чего только не делал пока не наткнулся на ваш сайт. Всё сделал как вы написали удалил,перезагрузил и о чудо DMA на месте)))) БОЛЬШОЕ СПАСИБО!!!!!!

  15. Дмитрий
    04/12/2011 at 18:13 #

    ПРОБЛЕМА РЕШИЛАСЬ НО НЕ ТАК ПРОСТО ШЛЕЙФ ОТОШЁЛ И ВСЯ ЛЮБОВВВВВВВВВ

  16. Евгений
    19/12/2011 at 16:11 #

    Автор спасибо тебе огромное,ато я уже замучился диск по полтора часа замисывать при полном торможении компа:)

  17. денис
    12/01/2012 at 18:11 #

    Автору огромное спасибо, а то я себе всю голову сломал! Теперь все нормально работает!

  18. Евгений
    08/04/2012 at 0:39 #

    Здравствуйте, у меня нет вкладки “дополнительные параметры”, также нет Первичного и Вторичного каналов IDE. Есть только Intel(R) 5 Series 4 Port SATA AHCI Controller (ветка IDE ATA/ATAPI контроллеры) . Суть проблемы у меня в закачке торрент файлов (uTorrent) и некоторые (не все) начинают закачиваться и потом вылезает “Запрос не был выполнен из-за ошибки ввода/вывода на устройстве. Не подскажите как решить эту проблему. (Toshiba Satellite A500-1F2 PSAR9E, windows 7 x64)

  19. 09/04/2012 at 10:19 #

    Евгений, попробуйте обновит драйвера на Ваш SATA AHCI Controller.

  20. Евгений
    11/04/2012 at 12:50 #

    Кажется нашел проблему (битые сектора жесткого диска, узнал через программу HDDScan), жесткий уже стоит в режиме Ultra-DMA Mode (узнал через программу HWiNFO)

  21. Сергей
    29/11/2012 at 13:30 #

    Замечания по режимам PIO и DMA:
    1. Указанные выше способы не работают в ситуации, когда режим PIO включается при использовании некоторых переходников с SATA на IDE. Китайцы этим грешат часто – микросхемы-контроллеры этих переходников просто не умеют работать в UDMA-режимах. А Windows XP, если не может использовать диск именно в режиме UltraDMA, автоматом переключает его в PIO. Выход только один – использовать сторонний драйвер. Единственный известный мне, который нормально переключается в режим Multi-Word DMA2 – это UniATA. Но его еще нужно умудриться поставить… Автор написал (и продолжает писать) превосходный драйвер, но способ его установки совершенно убогий и без долгой мороки там не обойтись. Тем, кто скачает – не ставьте драйвер для Windows XP из папки XP, не установится точно, проверено многократно (автору на заметку !), ставьте из папки 2K. Когда настроите – забудете о тормозах.
    2. На ASUS Eee PC 90х, 70х при установке 1.8″ жесткого диска под Windows XP отключается DMA напрочь. Решение – заменить файлы ATAPI.SYS, INTELIDE.SYS, PCIIDEX.SYS на аналогичные из Windows 2000 (взять можно тут: http://esasoft.narod.ru/other/eeePC/ Win2000_files_and_configs.rar). Для сброса режимов DMA используйте скрипт resetdma.vbs из архива.
    Удачи !

  22. lord2000
    01/12/2012 at 14:14 #

    У меня почему-то стоят два контроллера IDE ATA и по два вторичных и по два первичных канала. Эти два контроллера мешает друг-другу?

  23. Артём
    06/03/2013 at 11:10 #

    Спасибо огромное очень помогло !!!

  24. 30/05/2013 at 19:47 #

    Уффф, спасибо вам огромное! Что бы я без вас делала, наверно, новый диск побежала бы покупать…

  25. Вадим
    15/10/2013 at 0:40 #

    Очень надеюсь на вашу помощь! Уже все пересмотрел и перепробовал. Моя проблема тоже в скорости записи дисков – ДВД пишется более 2,5 часов! Внезапно проблема появилась недели две назад. Стал жутко тормозить комп, запись замедлилась раз в 5-6.
    Переустановил Винду (7х64). Память – 4 гига. И все равно ничего не изменилось! Система чистая и пустая, дрова поставил новые. Толку нет. Проверил в диспетчере контроллеры. – cтояли DMA все равно удалил, перегрузил многократно. Везде на обоих контролерах DMA 5. А система просто стоит! В Imgburn буфер заполняется по 20-30 мин., затем идет запись самого диска – мин 2-3 (это по 8-10%) и потом опять буфер пуст и идет наполнение. Привод новый – Pioneer. Уже не знаю, что и делать. Прошу помощи!

  26. Андрей
    22/10/2013 at 15:09 #

    Где в реестре можно увидеть текущий режим передачи?

  27. Стас
    10/01/2014 at 14:24 #

    Раньше эту проблему решал переустановкой OS, пока не установил прогу Auslogics BoostSpeed, которая доходчиво разъясняет причину данной неполадки. Далее всё прозаично – наткнулся на вышеуказанную статью и, о чудо!
    Огромное спасибо авторам !!!

  28. Александр
    06/02/2014 at 5:04 #

    Это оно? http://i011.radikal.ru/1402/01/2b538b9edd9e.jpg

  29. Render7
    02/04/2014 at 22:23 #

    Спасибо!!!!!!!!!! Помогло удаление каналов IDE.

Pingbacks/Trackbacks

  1. Vadik - 29/10/2011

    http://t.co/gTk2eXbP%E2%80%93-rezhimy-pio-i-dma/

Оставить комментарий

Your email address will not be published. Required fields are marked *

(Required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>