Почему sata диск работает в режиме pio. Как восстановить производительность системы, режимы PIO и DMA

Привет всем читателям блога. В этой статье поговорим о том, как восстановить производительность системы. Часто у пользователей возникает проблема очень медленной работы компьютера, особенно при записи и при чтении дисков, либо просто необоснованные «тормоза» системы при работе или загрузке.Почему система зависает читайте
Причин возникновения этого может быть великое множество, сегодня предлагаю рассмотреть довольно распространенную – это неверный режим работы CD/DVD - ROM’а или жестких дисков , т. е. поговорим о PIO и DMA . Как проверить жесткий диск на ошибки и устранить их читайте

В чем суть и разница PIO и DMA .

PIO и DMA - это два режима работы жестких дисков, в общем случае любого привода.
PIO (Programmable Input/Output) - уже устаревший режим, для работы ему необходимо
задействовать центральный процессор, что приводит к значительной потери производительности.
DMA (Direct MemoryAccess) - современный метод, который минует процессор и
обращается напрямую к оперативной памяти, это позволяет значительно увеличить производительность и избавиться от надоедливых «тормозов».
Режим DMA в различных вариантах уже давно используется в операционных системах Windows 7, 8, а также в 10, однако в Windows XP, часто случается ситуация в которой DMA автоматически переключается в PIO и уже вывести его обратно обычными методами не получится. Из-за чего возникает эта ситуация?
В Windows XP внедрен механизм контроля ошибок , если при чтении с жесткого диска или другого привода слишком часто возникают ошибки, то система автоматически переходит в более медленный режим, где их процент меньше. Однако, Windows XP может перевести в такой режим и нормально работающее устройство.
Как устранить ошибки Windows читайте

И так, проверим режимы работы всех приводов, чтобы система не тормозила..

1 . Запускаем консоль «Управление компьютером» правой кнопкой на «Мой компьютер»


в выпадающем меню выбираем пункт «Диспетчер устройств» , либо через
Панель управления. Или Пуск - Выполнить - devmgmt.msc

2. Выбираем «Диспетчер устройств» , выбираем IDE ATA/ATAPI контроллеры ,


откроется несколько строчек с контроллерами – нас интересуют:
Первичный и Вторичный каналы IDE → заходим поочередно в свойства этих каналов (правой кнопкой на канале, строка «Свойства »), в закладку «Дополнительные параметры» ,
здесь выделены две группы «Устройство 0» и «Устройство 1» , в каждой есть строки
«Режим передачи» – в ней должно быть выбрано «DMA, если доступно », далее строка «Текущий режим передачи» , должно быть что-то типа «Режим ультра DMA:4,


если здесь стоит «Режим PIO», то это как раз наш случай и мы будем его исправлять .
Если везде стоит режим ультра DMA, то у Вас все в порядке и дальнейшие действия можно не продолжать.
3. Для начала попробуем исправить вручную – в каждой строке «Режим передачи» ставим «DMA, если доступно» , жмем «ОК» и перезагружаем компьютер. После включения вновь
смотрим режимы работы каналов, если везде стоит DMA, то все в порядке, если остался PIO, то продолжаем дальше.
4. Вновь найдите Первичный и Вторичный каналы IDE и удалите их (правой кнопкой на каждом канале, в списке выбираем «Удалить» ). Не бойтесь, все будет нормально работать.
Снова перезагрузите компьютер – Windows XP найдет контроллеры и переведет их в быстрый режим работы, т.е в DMA . Проверьте результат, везде должен стоять режим DMA.
5. Если все перечисленное не помогло и у Вас опять высвечивается «Режим PIO» , тогда необходимо будет переставить драйвера для материнской платы – перегрузиться
и вновь проверить результат.
6. Ну и последний пункт, если после всех страданий режим PIO так и не пропал, тогда придется подредактировать в реестре. Хочу отметить – производите какие-либо операции с
реестром очень осторожно и внимательно, любое неправильное действие может привести к полной неработоспособности Вашей системы. Лучше всего сделать заранее копию реестра.
Как настроить Windows XP с помощью реестра читайте

Для начала попробуйте отключить систему контроля ошибок.
Для этого в ветке реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdfs\ ,
создайте ключ ErrorControl и установите его значение равным 0.


После этого перегрузитесь и выполните пункт №4.


в ней можно вручную выставить режим 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

После этого перегрузитесь и проверьте результат – должно все нормально работать.

Как ускорить и восстановить производительность Windows 10, читайте
Какая скорость передачи информации в компьютерах, читайте
Надеюсь эта статья поможет Вам правильно выставитьрежимы PIO и DMA и повысить общую производительность системы.

Как вы знаете, Windows 7 получила более значительные улучшения во времени загрузки и отклика системы по сравнению с её предшественницей Windows Vista . Были внесены существенные изменения, позволившие системе не расходовать всю системную память при открытии большого количества окон проводника, оптимизированы системные службы и процессы.


В данной статье мы рассмотрим:

  • оптимизацию работы меню пуск
  • оптимизацию работы жесткого диска в Windows 7
  • оптимизацию скорости копирования и перемещения файлов в Windows 7
  • оптимизацию работы с драйверами Windows 7
  • оптимизацию времени загрузки Windows 7
  • ускорение процесса просмотра эскизов изображений
  • ускорение завершение работы Windows 7
Внимание!
Обратите внимание на то, что часть рассмотренных методов ускорения работы Windows 7 основываются на отключении какого-либо рода задач, упрощении или улучшении функциональности системы для более удобного ее использования. Т.е. по сути вы выбираете между удобством и производительностью.

Пути оптимизации Windows 7

1. Ускорение работы меню пуск.

Определение недавно установленных программ, а также подсветка этих недавно установленных программ занимает у системы некоторое время при каждом открытии меню пуск. Вы можете сэкономить это время.

Для этого вам необходимо перейти к настройке меню пуск: в свойствах «Панель задач и меню Пуск» (для активации перейдите в панель управления Windows 7: Пуск -> Панель управления ). Перейдите в закладку «Меню Пуск» и нажмите на кнопку «Настроить» .
Рисунок 1. Настройка меню "Пуск"

Уберите галочку «Выделять недавно установленные программы» , после чего нажмите «Применить» .
Рисунок 2. Отключение выделения недавно установленных программ
Для того чтобы уменьшить паузу, при появлении окна меню пуск, перейдите в редактор реестра (команда «regedit» в диалоге «Найти программы и файлы» ).
Рисунок 3. Запуск редактора реестра
После запуска редактора реестра (regedit.exe ) перейдите в ветку HKEY_CURRENT_USER -> Control Panel -> Desktop (рис. 4).

Рисунок 4. Выбор необходимой ветки реестра
Измените значение ключа MenuShowDelay с «400» на «50» . Пауза значительно сократится.

Рисунок 5. Изменение паузы при отображении окна
2. Оптимизация работы жесткого диска в Windows 7

Эта опция знакома еще со времен Windows XP , но если в XP она была изначально включена, то в Windows 7 оптимизацию жестких дисков посчитали лишней и по умолчанию она отключена. Сейчас мы рассмотрим метод включения данной опции.

Заходим в Пуск -> Панель управления -> Диспетчер устройств -> Дисковые устройства -> (выбираем свой жесткий диск) -> Свойства -> Политика... и ставим там галочку напротив пункта «Отключить очистку буфера кэша записей Windows для этого устройства» .
Рисунок 6. Отключение очистки буфера кэша записей Windows
Теперь в этом же «Диспетчере устройств» раскрываем другую ветку - «IDE ATA/ATAPI контроллеры (IDE ATA/ATAPI Controllers)» , после чего в свойствах всех каналов ATA (ATA Channel 0, ATA Channel 1 и т.д.) во вкладке «Дополнительные настройки (Advanced Settings)» проверяем, стоит ли галочка на «Задействовать/Включить DMA (Enable DMA)» .
Рисунок 7. Включение режима DMA
Если галочка не стоит – установите ее.

3. Ускорение копирования и перемещения файлов в Windows 7

Windows 7 получила еще одну интересную особенность - удаленное разностное сжатие.
С одной стороны эта опция вычисляет и передает различие между двумя объектами, минимизируя объем передаваемых данных, но с другой – это отнимает время на калькуляцию.

Вы можете отключить эту функцию. Для этого перейдите в Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows -> Удалённое разностное сжатие (необходимо снять галочку) .

Рисунок 8. Отключение разностного сжатия
4. Отключение проверки цифровой подписи драйверов

Данное действие также может немного увеличить скорость работы системы (при установке новых драйверов). Для отключения данной опции в Windows 7 выполните следующие действия:

Выполните в «Пуске» gpedit.msc .
Рисунок 9. Запуск панели администрирования
Затем перейдите по следующему пути:

Конфигурация пользователя -> Административные шаблоны -> Система -> Установка драйвера -> Цифровая подпись драйверов устройств . В этом окне необходимо выбрать режим "Отключено" .

Рисунок 10. Отключение проверки цифровой подписи драйверов
5. Ускорение загрузки Windows 7

Мы можем выиграть еще несколько секунд, правда данный совет относится к тем пользователям, которые работают на многоядерных процессорах с Windows 7 в качестве операционной системы.
Итак, выполните следующие действия:

Введите MSCONFIG в поле поиска меню «Пуск» и нажмите клавишу «Enter» .

В открывшемся окне перейдите на вкладку и нажмите на кнопку «Дополнительные параметры (Advanced options)» .

Рисунок 11. Дополнительные параметры оптимизации системы Установите флажок напротив пункта «Число процессоров (Number of processors)» и в выпадающем меню под этим пунктом выберите максимальное число ваших ядер (2 или 4).

Рисунок 12. Установка числа процессоров для систем с многопоточными процессорами
Нажмите «Ок» и перезагрузите систему, чтобы увидеть довольно ощутимую разницу в скорости загрузки Windows 7 .

6. Ускорение просмотра эскизов (миниатюр).

Вы можете увеличить скорость просмотра эскизов (миниатюр) в Windows 7 . Для этого вам необходимо выполнить следующие действия:

Введите regedit (без кавычек) в поле поиска меню «Пуск» и нажмите клавишу «Enter» .

Перейдите в ветку «HKEY_CURRENT_USER -> Control Panel -> Mouse» .

Рисунок 13. Выбор нужной ветки реестра для оптимизации паузы при отображении эскизов
Дважды щелкните на параметре MouseHoverTime и измените его значение на 100 .

Рисунок 14. Установка нового значения
7. Уменьшение времени выключения Windows 7

Время завершения работы Windows 7 можно заметно уменьшить. Однако это довольно варварский способ: мы уменьшаем время, которое отводится процессу на завершение работы программы, после чего программа будет завершена принудительно.

Введите regedit в поле поиска меню «Пуск» и нажмите клавишу «Enter» .

Перейдите в ветку HKEY_LOCAL_MACHINE -> System -> CurrentControlSet -> Control .


Рисунок 15. Выбор необходимого ключа реестра
Измените значение параметра «WaitToKillServiceTimeout» со значения 12000 (12 секунд) на 2000 (2 секунды).

Рисунок 16. Изменение значения.

Для передачи данных между винчестером и памятью PC используются два основных режима:

    режим программного ввода/вывода (Programmed Input/Output, PIO);

    режим прямого доступа к памяти (Direct Memory Access, DMA).

Режим pio

В режиме PIO каждый байт информации с жесткого диска сначала считывается центральным процессором и только потом записывается в оперативную память. В зависимости от длительности цикла считывания и количества секторов, передаваемых за одно обращение к диску, различают режимы PIO (PIO Mode 0), PIO1, PIO2, PIOЗ, PI04, PI05.

Режим dma

Режимы PIO используются в однозадачных операционных системах, когда процессор компьютера производит считывание или запись данных в буферную память накопителя на жестких дисках стандартов IDE или EIDE, а затем эти данные передаются в оперативную память. В многозадачных операционных системах целесообразно использовать режимы прямого доступа к оперативной памяти (Direct Memory Access, DMA). Ввод/вывод данных в этом режиме осуществляется в оперативную память PC без участия CPU. Этот процесс происходит под управлением контроллера накопителя на жестких дисках в паузах между обращениями CPU к оперативной памяти, что несколько снижает скорость передачи данных, но экономит процессорное время. Для реализации режимов DMA, в отличие от РЮ, необходимы как специальные контроллеры, так и драйверы.

Режимы DMA подразделяются на однословные (Singleword) и многословные (Multiword) в зависимости от количества слов, передаваемых за один цикл работы с системной шиной.

Serial ata (sata)

Дальнейшее увеличение скорости передачи данных через параллельный интерфейс АТА вызывало технические сложности. Кроме того, производителей PC не устраивал широкий 40-жильный (или 80 жильный) кабель, который препятствует циркуляции воздуха внутри корпуса и ограничен длиной в 46 см.

Поэтому в 1999 г. была создана рабочая группа Serial ATA Working Group, целью которой было создание последовательного интерфейса ATA - Serial ATA (SATA). Интерфейс был представлен в 2001 г. и продемонстрировал скорость передачи данных - 150 Мбайт/с.

Кроме того, для подключения нескольких устройств (HDD, приводы CD-ROM, DVD-ROM и др.) будет использована не топология типа "звезда" (когда каждое устройство необходимо идентифицировать как Master или Slave), а топология point-to-point, когда каждое устройство будет напрямую подключено к хост-адаптеру (наподобие SCSI-устройств).

SCSl (Small Computer System Interface, системный интерфейс малых компьютеров) это более универсальный и эффективный интерфейс, чем IDE. Однако его аппаратная реализация значительно дороже, чем реализация интерфейса IDE. Интерфейс SCSI имеет явные преимущества при работе с видео, а также при использовании привода CD-ROM в многозадачной операционной среде или в качестве сетевого накопителя.

Связь между SCSI-устройством и шиной ввода/вывода (таких, как ISA, PCI, VLB) осуществляется через внешнюю шину с помощью Host-адаптера. Устройства, подключенные к SCSI-шине, взаимодействуют друг с другом не напрямую, а через встроенные SCSI-контроллеры.

Secondary Master

опции-меню назначения каждому из возможно четырех жестких дисков (E) IDE-интерфейса оптимального PIO-режима (Programmable Input/Output). Возможные значения: "Auto" (по умолчанию), "Mode 0", "Mode 1", "Mode 2", "Mode 3", "Mode 4". Режимы 0...2 относятся к обычным IDE-дискам (стандаpт ATA), 3 и 4 — к EIDE (ATA-2), pежим 5 — к ATA-3. Понятно, что в автоматическом режиме система выберет для каждого из дисков наилучший скоростной режим передачи данных. Но надо помнить, что автоматическая установка PIO-режима производится в соответствии с возможностью автоопределения функционирования жесткого диска и объемом информации, полученным от устройства. Если у пользователя имеются сомнения в правильности автоопределения PIO-режима, то в соответствии с документацией на жесткий диск пользователь может изменить режим PIO для любого из дисков. BIOS в режиме "Auto" может также неправильно идентифицировать PIO-режим EIDE-диска, и последний не распознается. Для использования режимов 3 и 4 необходимо использование в системе EIDE-дисков.

Аналогичные (четыре!) опции могут называться также "IDE Primary Master PIO " и т.д.

Опция "Fast Programmed I/O Mode (s) " предлагает такие значения: "Disabled", "Auto detected", "PIO0", ... "PIO4". Опция с тем же названием неожиданно предложила значения "Disabled" и "Auto Detected" (по умолчанию). Первое приводит к установке скоростных характеристик, меньших чем оптимальные, "Auto Detected" устанавливает максимально возможную скорость.

Опция может называться также "Mode PIO Transfer Data " или "Transfer Mode ". Последняя опция предложила такой набор значений: "Auto", "Default" (равносильно "Fast PIO 1"), "Fast PIO 1", "Fast PIO 2", "Fast PIO 3", "Fast PIO 4", "FPIO 3 / DMA 1", "FPIO 4 / DMA 2". Понятно, что речь идет каждый раз о параметрах четырех жестких дисков, или двух для более старых систем. В этом случае опции могут называться "IDE Master PIO Mode " ("Master Drive PIO Mode ") и "IDE Slave PIO Mode " ("Slave Drive PIO Mode ").

PIO (Programmable Input/Output — "программируемый ввод/вывод") осуществляется центральным процессором и работает путем передачи данных по определенным адресам ввода/вывода (см. подраздел "Порты"). Режимы PIO определяют, насколько быстро данные могут передаваться между диском и контроллером. При их использовании задействуются регистры центрального процессора системы. Но это не все! Режимами PIO, или DMA, определяются величина пакетов передаваемой информации, способ их кодировки, скорость и последовательность передачи, все временные характеристики цикла обмена. В зависимости от режимов устанавливаются различные времена циклов, поэтому скорости передачи могут меняться в очень широких пределах (см. таблицу).

При получении команды "Identify Drive" диск возвращает, наряду с другими параметрами, информацию о поддерживаемых режимах PIO и DMA. Эти параметры можно определить и с помощью специальных утилит. Установка режима передачи осуществляется по значению одного из регистров — SC (регистра счетчика секторов ATA-устройств). Через один из режимов работы этого регистра и происходит управление режимом обмена.

Режимы ATA-2 (PIO 3 и PIO 4) используют аппаратное управление потоком данных. Если быть точным, то Enhanced IDE включает операции, называемые "управление потоком с использованием IORDY", которые позволяют диску включать пакетный режим передачи для 100%-ного использования полосы пропускания шины. Режим управления потоком передает инициативу устройству (диску) и позволяет избавиться от неэффективных "слепых" режимов PIO за счет установки полосы пропускания контроллера в соответствии с возможностями винчестера. Это означает, что в тех случаях, когда доступна вся полоса, винчестер будет управлять обменом данными с хост-адаптером.

Что это за сигнал? "IORDY" (Input/Output Ready) — сигнал от EIDE-винчестера, подтверждающий завершение цикла обмена с контроллером. Другие названия — "CHRDY", "IOCHDRY". Использование "IORDY" позволяет скоростному винчестеру затянуть цикл обмена с контроллером, когда он не успевает принять или передать данные. Это дает возможность свести стандартную длительность цикла обмена к минимуму, предельно увеличив скорость, а при необходимости удлинять отдельные циклы при помощи "IORDY". Для этого сигнал должен поддерживаться и винчестером, и контроллером. Управление потоком со стороны диска включается контроллером с помощью команды "Set Features", в результате чего такой обмен поддерживается одновременно и диском, и контроллером. Контроллеры, не поддерживающие "IORDY", могут приводить к потере данных при использовании быстрых режимов PIO; в этом случае следует использовать менее скоростные режимы. В некоторых источниках упоминается режим 5, однако распространения он не получил и стандартным не является.

При невозможности программировать режимы обмена индивидуально для каждого из устройств в системе и при подключении устройств, работающих оптимально в разных режимах, в системе будет установлен обмен со скоростью минимального из режимов. Отсюда, и стандартная рекомендация — не подключать к одному каналу жесткий диск и CD-ROM.

Режимы программируемого ввода/вывода достаточно эффективны только в однозадачных средах. Для многозадачных ОС режимы DMA более предпочтительны. Необходимо помнить, что высокоскоростные режимы множественного обмена по DMA реализуются драйверами операционной системы. Возможности программного конфигурирования драйвера определяют гибкость управления режимами DMA.