Limit DMA mode used

  • Thread starter Thread starter pjp
  • Start date Start date
P

pjp

Have a problem with hard disk acting up. Suspect very strongly (all tests
pass and it's a fresh install but apps have been installed also now) it's
because Windows is trying to use DMA Mode 6 (what DM states) where-as it's
identified as a "Mode 5" hard disk during the BIOS boot.

I've goggled many combinations looking for an answer but best I've come up
with is a comment from a fellow on a forum saying he solved the problem
thanks to another forums help and gives a failed link to a news article.

I also came across the following but it's unclear to me exactly what to edit
???

--------------------------------------------------

HKLM\System\CCS\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}

0000 - IDE controller itself,
0001 - primary channel,
0002 - secondary channel.

Both channels, dwords:
MasterDeviceTimingModeAllowed 0xFFFFFFFF
SlaveDeviceTimingModeAllowed 0xFFFFFFFF
UserMasterDeviceTimingModeAllowed 0xFFFFFFFF
UserSlaveDeviceTimingModeAllowed 0xFFFFFFFF
and
MasterDeviceTimingMode 0xFFFF or 0xFFFFF
SlaveDeviceTimingMode 0xFFFF or 0xFFFFF
or
for Multi-Word DMA Mode 2 and PIO4 (burners, very old HDDs...) - 0x0410
for Ultra ATA33 (CDROMs, DVDs, old HDDs...) - 0x2010
for Ultra ATA66 (just HDDs) - 0x8010
for Ultra ATA100 (modern HDDs) - 0x10010
for Ultra ATA133 (ultramodern HDDs) - 0x12010
 
pjp said:
Have a problem with hard disk acting up. Suspect very strongly (all tests
pass and it's a fresh install but apps have been installed also now) it's
because Windows is trying to use DMA Mode 6 (what DM states) where-as it's
identified as a "Mode 5" hard disk during the BIOS boot.

I've goggled many combinations looking for an answer but best I've come up
with is a comment from a fellow on a forum saying he solved the problem
thanks to another forums help and gives a failed link to a news article.

I also came across the following but it's unclear to me exactly what to
edit ???

--------------------------------------------------

HKLM\System\CCS\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}

0000 - IDE controller itself,
0001 - primary channel,
0002 - secondary channel.

Both channels, dwords:
MasterDeviceTimingModeAllowed 0xFFFFFFFF
SlaveDeviceTimingModeAllowed 0xFFFFFFFF
UserMasterDeviceTimingModeAllowed 0xFFFFFFFF
UserSlaveDeviceTimingModeAllowed 0xFFFFFFFF
and
MasterDeviceTimingMode 0xFFFF or 0xFFFFF
SlaveDeviceTimingMode 0xFFFF or 0xFFFFF
or
for Multi-Word DMA Mode 2 and PIO4 (burners, very old HDDs...) - 0x0410
for Ultra ATA33 (CDROMs, DVDs, old HDDs...) - 0x2010
for Ultra ATA66 (just HDDs) - 0x8010
for Ultra ATA100 (modern HDDs) - 0x10010
for Ultra ATA133 (ultramodern HDDs) - 0x12010

Ok, started playing to find out both MasterDeviceTimingMode and
UserMasterDeviceTimingModeAllowed get reset upon boot to all "f's". However
if you change MasterDeviceTimingModeAllowed to 00010010 it does stay as set
upon reboot and as well MasterDeviceTimingMode is set to 00010010 (Mode 5)
rather than 00020010 (Mode 6).

System appears stable so far and it actually seems like it's responding
slightly faster. I figure in next 24 will indicate if this was the cause of
the sporadic ntfs errors. Also curious to see if perhaps it fixes my higher
percentage than used to coasters I've been burning lately.
 
pjp said:
Ok, started playing to find out both MasterDeviceTimingMode and
UserMasterDeviceTimingModeAllowed get reset upon boot to all "f's". However
if you change MasterDeviceTimingModeAllowed to 00010010 it does stay as set
upon reboot and as well MasterDeviceTimingMode is set to 00010010 (Mode 5)
rather than 00020010 (Mode 6).

System appears stable so far and it actually seems like it's responding
slightly faster. I figure in next 24 will indicate if this was the cause of
the sporadic ntfs errors. Also curious to see if perhaps it fixes my higher
percentage than used to coasters I've been burning lately.

For an IDE drive, at the hardware level, there is the IBM (Hitachi) Feature Tool.
There is no guarantee this will work with other brands of drives. Normally,
you'd hope what they're accessing, is a standard feature as defined in the
ATA/ATAPI spec. So this speed change thing, may in fact be a standard
feature. For other brands of drives, all you can do is try it and see.

http://www.hgst.com/hdd/support/downloads/FTool_User_Guide_215.pdf

The speed selected by the OS, is partially a function of the cable used.
An 80 wire IDE cable allows the higher speeds, like UDMA5 to be used.
The 40 wire IDE cable, can be detected in software (most of the time),
and then the higher UDMA speeds are disabled. The reason for this, is
the 80 wire cable has better signal integrity, the 40 wire, not so good.
The 40 wire still works reliably, just at a slower speed. So you wouldn't
try forcing the UDMA mode, to a value incompatible with the cabling.

A SATA drive can also report UDMA modes, but such a report doesn't have
the same physical issues. Whether it reports UDMA6 or UDMA5, in fact it's
transferring data at the cable rate (150MB/sec or 300MB/sec). So if it was
a SATA drive, you wouldn't get too excited, no matter what value it shows.
You'd fire up HDTune, and see if the burst transfer rate was consistent
with the current cable rate.

Paul
 
Back
Top