PDA

Просмотр полной версии : как поменять на Dma?


zs
20.09.2005, 02:29
немогу поменять режим харда на Dma.пробывал удалять контроллер,но после перезагрузки незагрузилась винда.

mifootka
20.09.2005, 02:48
Почитай это. Должно помочь, мне помогло.

mifootka
20.09.2005, 02:52
PIO и DMA — это два разных режима работы жестких дисков. PIO (Programmable Input/Output) — устаревший режим, когда любое обращение к жесткому диску требует вмешательства центрального процессора. Дело даже не в том, что ЦП постоянно отвлекается на работу с жестким диском, а в том, что ему приходится переключаться между кодом текущей программы и кодом операционной системы. А так как время дисковых операций в сотни и тысячи раз больше времени операций с оперативной памятью, программы просто-напросто простаивают, когда процессор читает информацию с диска. Скорость передачи информации любого, даже самого современного, жесткого диска в таком режиме вряд ли превысит 10 Мб/c. Отсюда бесконечные подтормаживания в играх и черепашья скорость загрузки операционной системы и программ.
Поэтому несколько лет назад инженеры решили перейти на более экономный режим работы с винчестером — DMA (Direct Memory Access). В этом режиме винчестер может напрямую обращаться к оперативной памяти и работать с ней, минуя процессор. Это позволяет увеличить производительность дисковой подсистемы в разы.
Стандарт DMA появился уже довольно давно. Почему же в Windows XP с ним возникли проблемы? Однозначный ответ на этот вопрос могут дать только сами разработчики. Однако специалистам ситуация видится так. В Windows XP внедрен механизм контроля ошибок. Если жесткий диск или любой привод (это в равной мере относится и к CD-ROM/DVD-ROM и прочим подобным устройствам) слишком часто ошибаются во время чтения, операционка переводит эти устройства в более медленный режим, где процент ошибок меньше. Однако этот механизм часто сбоит, и на малую скорость переводятся даже нормально работающие устройства. Давайте исправим этот баг.


Удаляем логические устройства.

Проверьте все четыре IDE-устройства (устройства 0 и 1 на каждом из каналов). Для каждого из устройств в строке Режим передачи должно стоять DMA, если доступно. Если где-то стоит PIO, измените это значение. Теперь перезагрузитесь. Опять зайдите на вкладку для каждого устройства (обычно их два — винчестер на первом канале и CD-ROM на втором) и посмотрите, что написано в строке Текущий режим передачи. Если там стоит что-то вроде UDMA 5, значит все в порядке. Но если там стоит PIO или режим DMA, который явно ниже возможностей вашего винчестера, это надо исправить.
На вкладке изменять режим передачи бесполезно — мы это уже проверили, — так как после перезагрузки Windows XP снова сбросит это значение в PIO. Мы пойдем другим путем. Перейдите в Диспетчер устройств и удалите Первичные Вторичные каналы IDE как логические устройства. Не беспокойтесь: ничего страшного не случится.
Теперь перезагрузите компьютер и проверьте текущие режимы работы винчестеров. С большой вероятностью Windows XP найдет контроллеры и переведет их в быстрый режим работы. Если этого не произошло, проверьте, установлены ли у вас драйвера Bus Master из комплекта драйверов для вашей материнской платы. Для материнок на чипсетах KT вам потребуется установить последнюю версию комплекта VIA 4-in-1 (он теперь называется VIA Hyperion).

Настройка реестра.

Если система по-прежнему не желает переводить диски в быстрый режим работы, придется покопаться в реестре. Для начала попробуйте отключить систему контроля ошибок. Для этого в реестре, в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Cdfs\, создайте ключ ErrorControl и установите его значение на 0. После этого перезагрузитесь.
Также можно попробовать вручную выставить режим UDMA для контроллеров. За это отвечает ветка реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}. В этой ветке вы найдете несколько папок. Папка с именем 0000 отвечает за сам контроллер, а папки 00010002 за первый и второй каналы IDE соответственно. В каждой из этих папок есть параметры MasterDeviceTimingModeAllowedSlaveDeviceTimingMode Allowed. Они определяют, в каком максимально быстром режиме может работать устройство. Для обоих параметров установите шестнадцатиричные значения 0хffffffff.



И снова ключи

В той же ветке реестра — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318} — вы найдете ключи MasterDeviceTimingModeSlaveDeviceTimingMode, которые также отвечают за режим работы винчестера. Чтобы понять, как правильно изменить эти ключи, немного освоимся с теорией реестра.
Существует несколько разных режимов как PIO, так и DMA (и UDMA). Они обозначаются цифрами от 2 до 5. Цифра определяет частоту, на которой работает винчестер. Например, если в названии вашего винчестера фигурирует слово ATA100, то вам нужен режим UDMA 5. В таблице сведены воедино характеристики всех режимов UDMA и соответствующих им значений, которые вам нужно выставить в параметрах MasterDeviceTimingMode и SlaveDeviceTimingMode.

Обозначение ATA Частота передачи данных Режим UDMA
ATA33 33 МГц UDMA Mode 2 0x2010
ATA66 66 МГц UDMA Mode 4 0x8010
ATA100 100 МГц UDMA Mode 5 0x10010
ATA133 133 МГц UDMA Mode 6 0xffff


Установите нужное значение из таблицы и перезагрузитесь. Прирост производительности при переходе от PIO к DMA может быть до 500%!
Есть еще одна настройка, которую следует сделать абсолютно всем, даже обладателям последних версий DMA. Зайдите в ключ реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\FileSystem\CDFS. Установите в параметр CacheSize двоичное значение ff ff 00 00. Если этого параметра в данной ветке нет, то просто создайте его. Теперь найдите или создайте параметры PrefetchPrefetchTail и задайте им шестнадцатиричные значения 4000. После этой операции CD-ROM будет работать заметно быстрее. }

mifootka
20.09.2005, 02:53
Устройство постоянно сбрасывается в PIO режим, и не хочет выставляться обратно в UDMA. Это в общем случае применимо как для CD-ROM, так и HDD накопителей.
Это происходит если XP обнаруживает, что устройство не стабильно работает в выбранном для него режиме. Определяется это по количеству ошибок чтения, получаемых с привода. Обычно это означает что привод находится в плохом состоянии, и про правде ему надо бы на покой. Но выбрасывать вроде бы работающий привод жалко. Благодаря механизмам контроля ошибок, многие такие приводы могут работать долго, счастливо и беспроблемно, несмотря на мнение XP о них. Единственное, что портит кровь их владельцам, это постоянные тормоза системы, из за PIO режима. У меня нет полной уверенности, как работает и чем управляется система контроля ошибок в XP, поэтому я не могу гарантировать что этот совет сработает во всех случаях. Но попробовать можно.
Для отключения режима отслеживания ошибок можно попробовать выставить в 0 ключ ErrorControl расположенный по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Cdfs\

Для того чтобы вернуть режим UDMA, лучше всего удалить и поставить заново IDE контроллер из Device Manager.
Но можно вновь обратится к реестру. Параметры контроллера определяются в реестре, по адресу

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Class\{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. Выставляйте нужное, и перезагружайтесь, диск должен перейти в требуемый режим

Martin_Logan
20.09.2005, 09:27
Странно, мне удаление контроллера обычно помогает...

mifootka
20.09.2005, 10:35
Раз на раз не приходится. Кому-то помогает просто удаление контроллера, кому-то такой геморрой.

Orzi
20.09.2005, 15:59
а чё эт такое то?

zs
20.09.2005, 16:18
неполучается чё то.

Sith
20.09.2005, 16:38
немогу поменять режим харда на Dma.пробывал удалять контроллер,но после перезагрузки незагрузилась винда.А вот так пробовал. Я всегда так делаю. Но я сразу, после установки "ОС", - делаю это... Может у тя "ОС", - долго постояла и поэтому глючит.

zs
20.09.2005, 16:47
винду поставил примерно месяц назад.

Sith
20.09.2005, 16:56
винду поставил примерно месяц назад.А ты, после установки "ОС",-не менял из PIO в DMA?

zs
20.09.2005, 17:07
А ты, после установки "ОС",-не менял из PIO в DMA?

неа,я тока сегодня узнал из за чего хард тормазит :)

Sith
20.09.2005, 17:58
неа,я тока сегодня узнал из за чего хард тормазит :)Драйвера, какие установил? Из неправильных драйверов хард тормозит. Я так устанавливаю= 1-др. видеокарты, 2-др. звука, 3-др. клавы, 4-др. чипсета - это устанавливается, если не ставиться 8х для скорости видеокарты (AGP).

mifootka
21.09.2005, 00:13
неа,я тока сегодня узнал из за чего хард тормазит :)

Так пропиши в регистре и уберите проверку на ошибки. Там ведь все описано, надо только почитать внимательно.

zs
21.09.2005, 00:32
делал я это,всё равно при перезагрузке комп незагружается а уходит на перезагрузку и приходится загружать последнюю удачную загрузку.

mifootka
21.09.2005, 00:40
Ну тогда может проблема не с виндой, а хардом? Попробуй переставить девайсы местами, может поможет.

zs
21.09.2005, 00:45
проблема изначально была в харде а не в винде.походу придётся сходить к мастерам :)

mifootka
21.09.2005, 00:48
Ну так сразу и надо было сообщать.

Petai
23.09.2005, 14:45
а у меня ultra dma

Sith
28.09.2005, 12:28
а у меня ultra dmaА, чё, почему звук не установил? А как фильмы смотришь?