PIO и DMA

Категория: Жёсткий диск / Железо и периферия
Добавил: access_timeОпубликовано: 1-09-2011 visibilityПросмотров: 45 362 chat_bubble_outlineКомментариев: 66

PIO (Programmable Input/Output) – очень старый и имеющий много существенных недостатков режим работы устройств, при передачи данных жёсткими дисками и приводами CD/DVD задействуется процессор, конечно это уменьшает производительность. В 1990 годах появляется режим обмена данными, использующий прямой доступ к памяти DMA (Direct Memory Access), центральный процессор уже не используется и устройства обращаются напрямую к основной памяти, что увеличивает быстродействие системы в целом в несколько раз.


PIO и DMA


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


На первом же системном блоке работающем в режиме PIO, мы увидели, что хард подключен с помощью 40-жильного интерфейсного кабеля, для работы DMA нужен 80-жильный шлейф IDE, заменяем и вопрос решается. На другом компьютере, стоял новый жесткий диск, Western Digital интерфейса подсоединения SATA 250 GB и на нём находилась операционная система Windows XP, вторым Seagate Barracuda 80GB, старого интерфейса IDE и оба работали в режиме PIO. Стоило убрать устаревший винчестер IDE и новый SATA работал в режиме DMA.


В принципе старый хард можно было убрать, но вопрос бы остался нерешённым. Прежде чем переустанавливать драйвера на материнскую плату или саму Windows, удалять первичные и вторичные каналы IDE, можно сказать плясать с бубном, я стал вспоминать что где-то, читал о подобной проблеме и о том, как её решили.
А решили её банально, умные люди. Два жёстких диска, нового образца SATA и старого IDE будут работать вместе, в режиме DMA, если они одного производителя.


У меня дома был хард Western Digital, интерфейса IDE, на 40GB, мы установили его в системный блок вместо прежнего и они оба заработали в режиме DMA, вот так был решён конфликт устройств. Что ещё можно предпринять в случае если Windows XP перевела работу ваших устройств в более медленный режим PIO, в принципе все методы, которые можно применить, описаны в нашей статье Тормозит жесткий диск, кроме одного, это редактирование реестра, его и рассмотрим сейчас.

Вообще метод рисковый, можно не загрузиться, поэтому сделайте лучше всего бэкап системы, например в Acronis.
Нам нужен куст HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdfs\, далее создаём ключ ErrorControl со значением равным 0 и перезагружаемся и удаляем в диспетчере устройств в пункте IDE ATA/ATAPI контроллеры, все Первичные и Вторичные каналы IDE.
Далее следующий куст
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}, тут нам нужны папки
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
Перезагрузка.




tagsКлючевые слова
     Рекомендуем другие статьи по данной теме
Ctrl
Enter
Заметили ошЫбку
Выделите и нажмите Ctrl+Enter

Добавить комментарий

Назад 1 2 Вперед

Комментарии (66)

  1. img
    21 января 2019 19:53 AlexLi
    Гость

    А я про СМАРТ и не говорил, я про лог. Да сейчас  это уже не важно.  Просто, когда я с этим заморочился я не нашел где в WIN 10 посмотреть какой режим сейчас включен, перерыл инет и ничего не нашел. Решил у Вас спросить)))

    Цитировать replyОтветить
  2. img
    21 января 2019 08:21 admin
    Администратор

    Это не окно СМАРТа.

    Читайте о СМАРТе в этой статье

    https://remontcompa.ru/522-kak-polzovatsya-odnoy-iz-legendarnyh-programm-po-dia
    gnostike-zhestkih-diskov-pod-nazvaniem-victoria.html#

    Цитировать replyОтветить
  3. img
    18 января 2019 14:10 AlexLi
    Гость

    http://prntscr.com/m9rvhz

    Цитировать replyОтветить
  4. img
    18 января 2019 12:31 admin
    Администратор

    Скриншот выложите пожалуйста.

    Цитировать replyОтветить
  5. img
    16 января 2019 15:53 AlexLi
    Гость

    Здравствуйте! C Victoria ошибочка вышла, неправильно перевел с английского, не родной язык, так что скриншота не будет, но вопросы остались прежние :) Мама - Asus P7P55 LX , диск - ST3500320NS. Спасибо.

    Цитировать replyОтветить
  6. img
    16 января 2019 09:01 admin
    Администратор

    VICTORIA пишет, что обнаружен режим PIO

     

    Скриншот выложите пожалуйста.

    Какая у вас материнская плата и какой жёсткий диск (модель)?

    Цитировать replyОтветить
  7. img
    15 января 2019 23:23 AlexLi
    Гость

    Всем привет! VICTORIA  пишет, что  обнаружен режим PIO. В WIN 10 где посмотреть какой режим включен? В AIDA64 Extreme в разделе АТА есть вот такая информация:  Макс. режим PIO, Макс. режим MWDMА,  Макс. режим  UDMA и Активный режим MWDMA (это то, что пытаюсь найти?). Спасибо.

    Цитировать replyОтветить
  8. img
    2 февраля 2016 21:12 Сектор-газа

    Я так и сделал админ, поставил Win XP, там вообще у меня синий экран и ошибка такая 0х0000007b. Похоже мой привод иде-шный не дружит не с одной операционкой Sony NEC Optiarc AD-7580S Black.

    Цитировать replyОтветить
  9. img
    30 января 2016 22:06 admin
    Администратор

    Вот так точно можно узнать модель материнской платы

    http://remontcompa.ru/317-kak-uznat-model-materinskoy-platy.html

    Цитировать replyОтветить
  10. img
    30 января 2016 14:10 Сектор-газа

    Админ ошибся, мат. плата: type2-board vektor name 1 type2-board product name1 type2- вот моя материнская плата винт у меня самсунг 500 gb.

    Цитировать replyОтветить
  11. img
    28 января 2016 19:27 admin
    Администратор

    Попробуйте.

    Цитировать replyОтветить
  12. img
    28 января 2016 19:23 Сектор-газа

    админ вот что я на другом форуме сейчас нашёл

    ВНИМАНИЕ!: Для Windows 7 ключи в реестре от ХР не совпадают!!!

    Read more at:

    http://www.remoteshaman.com/windows/xp/nastrojka-zhestkix-diskov-s-ide-interfej
    som-dmaudma
    Copyright © Remote Shaman | www.remoteshaman.com | www.remoteshaman.ru

    Цитировать replyОтветить
  13. img
    28 января 2016 19:05 admin
    Администратор

    Попробуйте все параметры, если после перезагрузки ничего не изменится DMA не появится, и винт так и будет в PIO, значит удалите из списка устройств IDE-контроллер, и перезагрузитесь. Windows заново найдёт и переустановит драйвер IDE-контроллера.

    Цитировать replyОтветить
  14. img
    28 января 2016 19:02 Сектор-газа

    Нет, осталься в ПИО.

    Цитировать replyОтветить
  15. img
    28 января 2016 17:37 admin
    Администратор

    Если винт переключился на DMA, значит правильно.

    Цитировать replyОтветить
  16. img
    28 января 2016 13:17 Сектор-газа

    MasterDeviceTimingModeAllowed SlaveDeviceTimingModeAllowed 0хffffffff

    MasterDeviceTimingMode UDMA Mode 2 – 0×2010 SlaveDeviceTimingMode UDMA Mode 5 – 0×10010 админ я правильно ключи в рестре прописал?

    Цитировать replyОтветить
  17. img
    27 января 2016 23:53 Сектор-газа

    Админ, я попробую сделать всё, как вы мне написали, не получиться обращусь в сервис центр по ремонту ноутбуков.

     

    не получилось на виндовс 7, от XP ключи не подходят.

    Цитировать replyОтветить
  18. img
    27 января 2016 10:52 admin
    Администратор

    UDMA - технология, обеспечивающая передачу данных жесткого диска, например, со скоростью до 66.7 Мб/сек в режиме UDMA 4, или Ultra DMA 5 даёт 100.0 Мбайт/сек

    Сейчас мы в реестре должны выставить вручную скорость работы вашего винчестера, но вы не знаете точно в каком режиме он должен работать UDMA Mode 2, 3, 4 или 5.

     

    У вас не самый древний ноутбук, значит ваш жёсткий диск должен работать в режиме Ultra DMA 4 или 5, значит используйте значение

    UDMA Mode 4 – 08010, если после перезагрузки ничего не изменится и винт так и будет в PIO, значит удалите из списка устройств IDE-контроллер, и перезагрузитесь. Windows заново найдёт и переустановит драйвер IDE-контроллера, после этого попробуйте
    UDMA Mode 5 – 010010.

     

    Вообще ваша проблема решается переустановкой операционной системы и установкой драйверов на чипсет, ссылку я вам дал.

    Цитировать replyОтветить
  19. img
    27 января 2016 05:04 Сектор-газа

    4. Далее неясен UDMA-режим:
    UDMA Mode 2 – 02010
    UDMA Mode 4 – 08010
    UDMA Mode 5 – 010010
    UDMA Mode 6 – 0xffff а тут подскажите, что выбрать пожалуста я не пойму?

    Цитировать replyОтветить
  20. img
    26 января 2016 22:01 admin
    Администратор

    Удалите первичный канал IDE и перезагрузитесь, вполне возможно установится DMA.

    Попробуйте способ с правкой реестра из нашей статьи (только сделайте перед работой бэкап ресстра).

     

    Перейдите по ссылке

    http://www.toshiba.eu/innovation/download_drivers_bios.jsp?service=EU

    выберите модель своего ноутбука Toshiba SATELLITE C850-C3K

    скачайте и установите драйвер на чипсет и установите его. Вообще, лучше переустановить винду и сразу установить драйвер на чипсет

    Цитировать replyОтветить
  21. img
    26 января 2016 19:54 Сектор-газа

    Выставлен AHCI и на него установлена операционная система.

    Цитировать replyОтветить
  22. img
    26 января 2016 18:14 admin
    Администратор

    В БИОС режим работы жёстких диско выставлен IDE или AHCI?

    Цитировать replyОтветить
  23. img
    26 января 2016 14:46 Сектор-газа

    Ничего, всё равно в ПИО-режиме остаётся, я по всякому пробовал, уже ничего не выходит.

    Одни пишут на другом форуме что вообще не надо ставить галочку задействовать ДМА, а только на ОК нажать и снять галочку.

    Цитировать replyОтветить
  24. img
    26 января 2016 14:03 admin
    Администратор

    Галочку на "Задействовать DMA" ставите, что получается?

    Цитировать replyОтветить
  25. img
    25 января 2016 17:59 Сектор-газа

    Подскажите пожалуста, как настроить режим DMA на Windows 7.

    Ноутбук Toshiba SATELLITE C850-C3K

    Вот скриншот

    http://s003.radikal.ru/i204/1601/b2/4e314063e104.png

    Цитировать replyОтветить
  26. img
    14 августа 2014 17:50 admin
    Администратор
    Так и должно быть. Может в вашем случае дело в бэд-блоках на жёстком диске. Проверьте по этой статье
    http://remontcompa.ru/258-hddscan.html
    Цитировать replyОтветить
  27. img
    14 августа 2014 16:58 Алекс
    Гость
    Пытаюсь следовать советам опытных мастеров.. Но сразу натыкаюсь на несовпадение в терминах в Диспетчере.. Нет первичных канадов и вторичных.. У меня в перечне IDE ATA/ATAPI три канала.. ATA channel 0 и три канала ATA channel 1..
    При этом лишь по одному из каналов в 0 и в 1 выставлены режимы ultraDMA5.. По остальным - в Дополнительно пусто..
    А комп временами тянет.. Посоветуйте ранетому в битвах молодому бойцу..
    Цитировать replyОтветить
  28. img
    13 июня 2014 01:42 Юлия
    Гость
    Только учусь wink
    Цитировать replyОтветить
  29. img
    12 июня 2014 23:46 admin
    Администратор
    Юлия, Вы хакер!
    Цитировать replyОтветить
  30. img
    12 июня 2014 23:02 Юлия
    Гость
    Я просто удалила из системы устройство с режимом PIO, так как переключится в DMA было невозможно. Перезагрузилась, система установила DMA, перезагрузилась ещё раз и PIO больше нет, система заработала намного лучше laughing
    Цитировать replyОтветить
  31. img
    21 октября 2013 17:13 admin
    Администратор
    Нет никакой видимой связи. Дело в чём-то другом.
    Цитировать replyОтветить
  32. img
    21 октября 2013 15:53 Константин
    Гость
    В продолжение темы о работе винта в PIO. Применял все рекомендации какие смог найти в сети, ни чего не помогло. Решился на переустановку системы, но перед этим решил все скопировать. Не прочитался файл Windows\System32\drivers\fidbox.dat, удалил все fidbox.*** и винт заработал в ULTRA DMA. Этот fidbox след от Каспера. Но какая связь с режимом работы винта - не понял.
    Цитировать replyОтветить
  33. img
    20 октября 2013 20:18 admin
    Администратор
    Вот в этой статье я сконфигурировал два устройства IDE (жёсткий диск и дисковод) на одном шлейфе с помощью перемычек, но делать так не рекомендую, возможны различные проблемы в работе жёсткого диска (падение скорости работы, зависания и так далее).
    http://remontcompa.ru/212-bios-ne-vidit-zhestkiy-disk.html

    Не знаю почему после переноса файла подкачки на несистемный диск, Вы не заметили преимущества в скорости. В только что установленной чистой системе это можно заметить.
    Цитировать replyОтветить
  34. img
    20 октября 2013 09:30 Bench
    Гость
    Здравствуйте еще раз. Э...... Но судя из ваших статей, если я подключу жесткий на один шлейф с CD (DVD) то скорость жесткого будет не выше CD привода? И вы не рекомендуете это делать-так ведь? Кстати, прочитал статью о файле подкачки и перенес его на др. "диск", если честно, то никаких изменений в скорости я не заметил (почему?). Но это так, к слову. Вы говорите что "всё должно работать"- я просто еще не пробовал, т.к. не был уверен. По этому и спросил. С ув.
    Цитировать replyОтветить
  35. img
    19 октября 2013 23:13 admin
    Администратор
    На самом деле, у вас всё должно работать, довольно странная ситуация.
    Цитировать replyОтветить
  36. img
    19 октября 2013 12:28 Bench
    Гость
    Здравствуйте, ув. Админ. До того момента, как зашел на Ваш сайт, "спал" совершенно спокойно, НО! Я уже и не помню как открыл Вашу страничку, а всё началось с того что...... Мне "на шару" достался жесткий диск-Seagate Barracuda 7200.7 на 80 гиг. Взял я его у товарища для подключения к Smart TV через т.н. карман. Когда в магазине хотел таковой приобрести - мне сказали что IDешники через карман не подключаются-только sata. Заранее зная, что у меня в компе установлен сатовский хард - я решил просто поменять их местами....Вот тут-то всё и началось!
    Я знаю "золотое правило" - Не трож налаженный механизм и он тебя не подведет! Не буду долго распространяться....я прочитал Ваши статьи понял что у меня ничего не выйдет((( Но т.к. ум пытливый, а ручки шаловливые - то вопрос заключается в том - Так-ли это? Неужели нет вариантов? (Я имею в виду с этим диском). Понятно, что приобрести нов. проще всего. С ув.

    Написал целую петицию, а главное забыл)). У меня пень4, мамка P5PL2, два жестких 160 и 80 г, подкл. по Sata, оба Самсунги. Винда (7) установлена на 160-ке, DVD-ROM подкл. по IDE? Вот именно по этому и думал, что с заменой 80-ток проблем не будет, а оно вона как)). Заранее благодарен за ответ.
    Цитировать replyОтветить
  37. img
    18 января 2013 10:14 asdsas811
    Класс! Зашёл, почитал, исправил - сказка ... СПАСИБО!
    Цитировать replyОтветить
  38. img
    28 декабря 2012 11:05 admin
    Администратор
    В этих же кустах посмотрите, семёрки нет сейчас под руками.
    Цитировать replyОтветить
  39. img
    28 декабря 2012 11:01 Roman
    Гость
    Нет! извините забыл сказать) Система Windows 7
    Цитировать replyОтветить
  40. img
    28 декабря 2012 10:55 admin
    Администратор
    Операционная система Windows XP, скришнот послал вам на почту.
    Цитировать replyОтветить
  41. img
    28 декабря 2012 10:27 Roman
    Гость
    У меня это началось с того, что однажды Система потребовала установить какие-то важные обновления! Я установил и выключил бук. На следующий день он не запустился, выскакивала проверка системы, сбой при запуске из-за какой то ошибки. Я сделал восстановление системы из более ранее удачных запусков))))) все Ок)))) все работает в стандартном режиме))) Но спустя день, играя в онлайн игру он просто завис!!! пришлось выключить его с кнопки! и увы не запустился пока не сделал вновь востановление! после этого его как будто подменили! у меня Атлон 900 работал в тыщу раз быстрее))) Все это началось примерно 4 дня назад! А вот эти MasterDeviceTimingModeAllowed, SlaveDeviceTimingModeAllowed и вот эти MasterDeviceTimingMode или SlaveDeviceTimingMode это разные параметры??? Их надо все 4 штуки вбивать для каждого раздела??? У меня кстати 4 раздела это 0000 0001 0002 и еще какой-то с буквами, но он не открывается!
    Цитировать replyОтветить
  42. img
    27 декабря 2012 20:18 admin
    Администратор
    Жёсткий диск переводится в режим PIO, если операционная система считает, что в режиме DMA винчестер работает нестабильно.
    Когда это у вас началось, иногда некоторые программы переводят винчестер в режим PIO.
    Ключи создайте, параметры DWORD, но всё же сделайте перед экпериментами бэкап системы.
    Я бы просто переустановил Windows.
    Вот тоже ваша тема.
    http://forum.3dnews.ru/archive/index.php/t-91902.html
    Цитировать replyОтветить
  43. img
    27 декабря 2012 19:31 Roman
    Гость
    Здравствуйте! помогите пожалуйста, в компах не очень силен. У меня бук, вдруг ни с того ни с сего, стал сильно тормозить (горит лампа процессора постоянно, через каждые сек 10 подмигивая). Сначала вообще просто завис и пришлось перезагружать, но увы не перезагрузился. Пришлось востанавливать систему из ранее удачных запусков) Загружается долго, папки открывает очень долго и все бесполезно на нем вообще работать. Смотрел в диспетчере устройств, диск в режиме PIO.
    Пробовал через реестр поменять режим, ничего не понимаю, у меня вот таких параметров MasterDeviceTimingModeAllowed, SlaveDeviceTimingModeAllowed и MasterDeviceTimingMode или SlaveDeviceTimingMode НЕТ!!! где их брать??? самому создавать??? Что это за параметры??? тоже DWORD ? ? ? Подскажите срочно что делать??? Сил моих больше нет! Простым удалением контроллера ни чего не получается!!! Заранее благодарен, если откликнитесь))) По этому поводу уже кстати прочитал много статей, но везде все одинаково написано, ни каких подробностей про эти параметры!!!
    Цитировать replyОтветить
  44. img
    27 декабря 2012 17:29 admin
    Администратор
    Посмотрите ещё раз внимательно или способ описанный в статье вам не подойдёт.
    Цитировать replyОтветить
  45. img
    27 декабря 2012 16:33 ден
    Гость
    "Заходим в папки, каждая из них отвечает за нужный нам канал, здесь нам нужны ключи.
    MasteDeviceTimingModeAllowed
    SlaveDeviceTimingModeAllowed"

    .....а что делать если в реестре нет таких ключей?

    в папке 0003 есть MasterDeviceTimingModeAllowed и UserSlaveDeviceTimingModeAllowed,
    а так же
    в папке 0004, но только ключ MasterDeviceTimingModeAllowed..... нужные значения уже стояли.
    Цитировать replyОтветить
  46. img
    18 декабря 2012 13:21 admin
    Администратор
    Конечно, вы подключили жёсткий диск к компьютеру с более новой материнкой и винчестер заработал в DMA-5.
    Но можно ещё попробовать операционку на старом компьютере переустановить, иногда помогает.
    Цитировать replyОтветить
  47. img
    18 декабря 2012 12:12 Артем
    Гость
    Здравствуйте! Хочу разобраться с давно беспокоящей меня проблемой - винт Seagate Barracuda st380011a (IDE) работает в режиме Ultra DMA-2. Пробовал: менять шлейфы, каналы IDE, править реестр, удалять контроллеры, переустанавливать Windows - ничего не помогало. Скачивал с сайта Сигейт фирменную утилиту для выставления режима контроллера - в БИОСЕ и так по умолчанию DMA-2, утилита показывает то же самое, но выше, чем DMA-2, выставить не удается (можно еще ДМА-1 установить).
    Винт подключал к более новому компу - без проблем подхватывается в ДМА-5.
    В чем может быть проблема? Персональная несовместимость мат. платы с винтом?
    Цитировать replyОтветить
  48. img
    16 июня 2012 13:48 admin
    Администратор
    Значит ваша материнка работает в режиме эмуляции IDE, если бы она работала в режиме AHCI, то у вас бы там было AHCI 1.0 Serial ata.
    Режим AHCI лучше, он использует все возможности SATA, но на скорость это в большем случае не влияет.
    Цитировать replyОтветить
  49. img
    16 июня 2012 11:51 rikitiki
    Гость
    "....Стоило убрать устаревший винчестер IDE и новый SATA работал в режиме DMA. ...*
    Что-то я не пойму, а где в диспетчере устройств увидеть параметры работы SATA накопителей? У меня в диспетчере в первичных и вторичных каналах IDE только IDE накопители.
    Цитировать replyОтветить
  50. img
    20 мая 2012 10:05 admin
    Администратор
    PIO и DMA в вашем случае здесь ни при чём, у вас новый хард и работает он в DMA.
    Обратить ваше внимание надо на другое-Ускорение работы Windows 7
    Цитировать replyОтветить