Для начала посмотрите в диспетчере устройств-IDE ATA/ATAPI контроллеры, не свалился ли какой а API режим, если свалился - перекинуть винт на другой порт контроллера (автоматом должен стать в УДМА) или через регэдит принудительно установить у УДМА5, а потом прогнать викторией. На всякий случай, с ремапингом..
Как через регэдит устаноить режим.
Когда-то давно нашел в нэте и сохранил...
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\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.
Выставляй нужное, и перезагружайся, диск должен перейти в требуемый режим.
Устройство слетает в режим передачи данных - PIO, тормозит всё при обращении к нему, стоит "DMA если доступно", но всё равно в информации "текущий режим работы" стоит PIO. Цитата:
a) Встроенные дрова переводят его в PIO при достижении порога ошибок интерфейса, но тут есть один момент - ошибки чтения на ненадежных накопителях вызывают его временное зависание, что приводит к ошибке по интерфейсу Timeout, отчего и скидывается в PIO. Поставить драйвера от производителя контроллера (материнской платы, если встроенный), для VIA - 4in1, IDE MPD(устаревшее, но позволяет вручную ставить все DMA/PIO), для Intel - не совсем драйвер, а набор Intel Application Accellerator, для SIS, NVIDIA, AMD - так же как и VIА - последние драйвера.
:smile: Как его всё-таки перевести в DMA,если нет отдельного драйвера(только стандартный/встроенный) [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001] - это для первого IDE канала, для второго будет соответственно \0002 в параметрах этого раздела должно быть написано(для русской Windows,стандартный драйвер) "Первичный/Вторичный канал IDE", для английской/MUI - "Primary/Secondary IDE Channel".
Нужный параметр - MasterDeviceTimingModeAllowed, SlaveDeviceTimingModeAllowed, соответственно для Master и Slave устройств, для всех режимов DMA(ставится максимальный поддерживаемый) должно быть 0xffffffff, из недокументированного - теоретическaя битовая маска разрешённых режимов:
биты режимы (частота):
1 = PIO-0, 2 = PIO-1, 3 = PIO-2, 4 = PIO-3, 5 = PIO-4
6 = SWDMA-0, 7 = SWDMA-1, 8 = SWDMA-2, 9 = MWDMA-0, 10 = MWDMA-1, 11 = MWDMA-2
12 = UDMA-0 (16Mhz), 13 = UDMA-1 (25Mhz), 14 = UDMA-2 (33Mhz), 15 = UDMA-3 (44Mhz), 16 = UDMA-4 (66Mhz), 17 = UDMA-5 (100Mhz), 18 = UDMA-6 (133Mhz)
Расчет: Run->Calc , режим Bin , размер - DWORD вводим побитово число(сумма нужных режимов , выбирается максимальный, пятый бит не снимайте для страховки всегда!!!) Напимер ограничение до SWDMA1 10010000 до PIO4 10000 Щёлкаем на dec или Hex и вводим получившееся число в *DeviceTimingAllowed соответственно в dec или hex формате. Текущие параметры можно увидеть в MasterDeviceTimingMode и SlaveDeviceTimingMode, требуется перезагрузка,но по быстрому в MWDMA заводится очень быстро - в свойствах канала IDE переключить в PIO, применить, переключить обратно.
Чтобы не скидывалось обратно - нужно во всех подключах этого разддела, т.е. в 0001,0002,0003.... cоздать параметр DWORD ResetErrorCountersOnSuccess и выставить ему значение 1
Цитата:
Это происходит если XP обнаруживает что устройство не стабильно работает в выбранном для него режиме. Определяется это по количеству ошибок чтения, получаемых с привода. Обычно это означает что привод находится в плохом состоянии, и про правде ему надо бы на покой. Hо выбрасывать вроде бы работающий привод жалко, поэтому такие устройства можно встретить. Хотя, благодаря механизмам контроля ошибок, многие такие приводы могут работать долго, счастливо и беспроблемно, не смотря на мнение XP о них. Единственное, что портит кровь их владельцам, это постоянные тормоза системы, из за PIO режима. У меня нет полной уверенности, как работает и чем управляется система контроля ошибок в XP, поэтому я не могу гарантировать что этот совет сработает во всех случаях.
Для того что бы вернуть режим UDMA, можно удалить и поставить заново IDE контролёр из Device Manager. Hо можно вновь обратится к реестру. Параметры контролёра определяются в реестре, по адресу - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\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):
0xffff = UDMA-6 (133 МГц)
0x10010 = UDMA-5 (100 МГц)
0x8010 = UDMA-4 (66 МГц)
0x2010 = UDMA-2 (33 МГц)
0x0410 Multi-Word = DMA-2 и PIO-4
Кроме этого, UDMA Mode 4 можно включить 0xffff, а UDMA Mode 5 _ 0xfffff. Выставляйте нужное, и перезагружайтесь, диск должен перейти в требуемый режим.
В прилагаемом примере настроено так, что IDE-Primary работает в UDMA Mode 5, а Secondary в Multi-Word DMA Mode 2
_HЕ В КОЕМ СЛУЧАЕ HЕ ДЕЛАЙТЕ ТАК, ЕСЛИ У ВАС ИHАЯ КОHФИГУРАЦИЯ_ так как у меня после этого винда вообще отказалась грузится... так что будьте внимательны...
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001]
SlaveDeviceTimingMode=dword:00000410
SlaveDeviceTimingModeAllowed=dword:0000041f
MasterDeviceTimingMode=dword:00000410
MasterDeviceTimingModeAllowed=dword:0000041f
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002]
SlaveDeviceTimingMode=dword:00010010
SlaveDeviceTimingModeAllowed=dword:0001001f
MasterDeviceTimingMode=dword:00010010
MasterDeviceTimingModeAllowed=dword:0001001f