direct memory access

  • Thread starter Thread starter boyce tucker
  • Start date Start date
boyce tucker said:
how do i enable direct memory access DMA?

Some newer computers have it enabled by default and without a User interface
available to modify it. Older ones have it in BIOS settings, if at all.
 
Not just CD and HDD devices use DMA (Dynamic Memory Access). Sound and Video
and some other special purpose devices use DMA technology to directly access
physical system RAM on the motherboard. Sometimes, but primarily only for
older "legacy" devices used on older computers, settings regarding DMA need
to be set in BIOS and not just through the operating system settings. The
operating system itself will not allow a setting if the BIOS reports that
support is lacking. This requirement was pretty much obsoleted by Plug and
Play (PnP) hardware technology, which is why the very newer computers
sometimes don't even have settings available to the user in BIOS regarding
DMA or other assignments of resources such as IRQ. Some old timers might
remember the days when soundcard settings, such as DMA channel and interrupt
(IRQ) and so on, would have to be entered into the autoexec.bat file so that
the card could work with DOS based games based on settings in BIOS for the
device. These things often had to be "allocated" manually in BIOS (and most
people couldn't figure that out, and so PnP was invented).

However, it is unlikely that XP would be being run on such an old computer
and so it is unlikely that manual BIOS settings would be needed. Still, even
some of the newer computers have BIOS provisions for this in order to handle
"legacy" PCI cards that are not fully PnP compatible with todays spec, and
systems special ordered with the much older ISA motherboard slots almost
always have the mentioned BIOS provisions. The PnP spec has gone through
revisions through the years and so, for devices that support the latest
revisions, manual settings in BIOS are not required regarding DMA or
interrupts or etc. and so they might not even be available (in which case a
legacy device might not be usable in a newer computer, such as is the case
with the for now and ever-more lack of ISA support). For the curious, PCI
relates to the white colored slots you can plug devices into, where as ISA
were the old black colored slots that don't come in new computers anymore.
If you operating system settings won't allow DMA to be used for a device, it
doesn't hurt to see if by some chance your BIOS has provisions for manual
settings. It could hurt, however, to set something in BIOS incorrectly ...
hurt to the point that a computer will not boot or HDD structure gets messed
up, so if in doubt about BIOS settings, take it to a computer service shop.
 
Well, you can call me and my machine "Old Timer", we answer to the same
name.

If you don't see the Advanced tab, either your hardware doesn't support DMA
or the DMA settings are incorrect in the BIOS.

Also... [[With some IDE drivers/Busmastering drivers, DMA cannot be enabled
through the device manager, but only through the driver settings. An
example of this is the Intel Application Accelerator.]]

Also...[[For repeated DMA errors. Windows XP will turn off DMA mode for a
device after encountering certain errors during data transfer operations. If
more that six DMA transfer timeouts occur, Windows will turn off DMA and use
only PIO mode on that device.
In this case, the user cannot turn on DMA for this device. The only option
for the user who wants to enable DMA mode is to uninstall and reinstall the
device.]]

DMA Mode for ATA/ATAPI Devices in Windows XP
http://www.microsoft.com/whdc/device/storage/IDE-DMA.mspx

There are DMA settings in my BIOS.

And my IDE ATA/ATAPI controllers
Primary IDE Channel & Secondary IDE Channel
have the advanced tab and DMA settings.

PnP Devices
PNP0201 EISA DMA Controller
 
Wesley Vogel said:
Well, you can call me and my machine "Old Timer", we answer to the same
name.

<vbg> And, does your machine have a "shared" ISA/PCI slots setup? That used
to drive people nuts, when they only had 3 ISA and 2 PCI slots and no
onboard graphics or sound! Oh, the slots filled up very fast! (For the
curious, "shared" in this context meant that either a PCI or a ISA slot
could be used, but not both, meaning either one ISA or one PCI slot ALWAYS
could not be used -- but all the other PCI and ISA slots did not suffer from
the same limitation as they were not "shared".)
If you don't see the Advanced tab, either your hardware doesn't support DMA
or the DMA settings are incorrect in the BIOS.

I assumed that the install of a device would, in XP, automatically enable
DMA if it was possible to do so (that's just an assumption on my part) but
that in some rare cases it might also be necessary to assure that DMA
settings are (if user configurable at all) set properly in BIOS. I've seen
BIOS configuration settings on some OEM computers that have almost no user
configurable settings whatsoever! Laptops are often a good example of that.
Also... [[With some IDE drivers/Busmastering drivers, DMA cannot be enabled
through the device manager, but only through the driver settings. An
example of this is the Intel Application Accelerator.]]

Also...[[For repeated DMA errors. Windows XP will turn off DMA mode for a
device after encountering certain errors during data transfer operations. If
more that six DMA transfer timeouts occur, Windows will turn off DMA and use
only PIO mode on that device.
In this case, the user cannot turn on DMA for this device. The only option
for the user who wants to enable DMA mode is to uninstall and reinstall the
device.]]

DMA Mode for ATA/ATAPI Devices in Windows XP
http://www.microsoft.com/whdc/device/storage/IDE-DMA.mspx

There are DMA settings in my BIOS.

And my IDE ATA/ATAPI controllers
Primary IDE Channel & Secondary IDE Channel
have the advanced tab and DMA settings.

PnP Devices
PNP0201 EISA DMA Controller

Which brings up an interesting but off-topic observation that a driver can
over-ride user intended settings. For example, no email server (or any
server that writes data locally) should have HDD cache enabled, because of
nasty things that could happen when power goes away during a write process
that has not yet been committed from the cache to the HDD, a situation
otherwise correctable by a UPS) but I've run across some drivers that, when
the HDD Disk Properties is set to disable cache, insists on turning it back
on at the next boot! Generally, these are the same computers that will blue
screen on the first reboot right after installing an XP upgrade or after
applying the very 1st SP to 2000, with an unreadable HDD resulting!

The "fix" is to prevent this, by having a copy of the current drivers
reported used by the HDD devices BEFORE doing the upgrade and to restore
them all (using Explorer) BEFORE doing the first reboot after upgrading to
XP or the very first ever SP to 2000 (to have replaced ALL such upgrade
installed drivers with the backup ones before that 1st reboot) and that will
prevent the blue screen and subsequent loss of the entire HDD content.
However, since one can not know in advance if this is going to happen or not
(and the "newer" HDD drivers are indeed preferable, if they will work) the
only insurance is to have an image of the original boot drive before ever
doing an XP upgrade and before doing the first ever SP to 2000. :( Newer
computers do not seem to suffer from this phenomenon, and I suspect it's
actually a BIOS problem. I did see a 1.2gHz eMachine exhibit that blue
screen with that upgrade problem, though, and that was the fix for it!
 
No, 1 ISA, 5 PCI and 1 AGP. PCI and AGP might be shared. I added an NIC
card the other day. If that one PCI slot isn't shared, it looks awfull
close to my graphics card. If I need 5 PCI cards it'll be time to buy a new
machine anyway. :-D Or maybe it's the ISA and 1 PCI slot. I had a 56K
modem that was in the ISA slot. Probably in some land fill now.

I had onboard graphics and sound, I disabled those a long time ago. 8-)


--
Hope this helps. Let us know.
Wes

In
WinGuy said:
Wesley Vogel said:
Well, you can call me and my machine "Old Timer", we answer to the
same name.

<vbg> And, does your machine have a "shared" ISA/PCI slots setup?
That used to drive people nuts, when they only had 3 ISA and 2 PCI
slots and no onboard graphics or sound! Oh, the slots filled up very
fast! (For the curious, "shared" in this context meant that either a
PCI or a ISA slot could be used, but not both, meaning either one ISA
or one PCI slot ALWAYS could not be used -- but all the other PCI and
ISA slots did not suffer from the same limitation as they were not
"shared".)
If you don't see the Advanced tab, either your hardware doesn't
support DMA or the DMA settings are incorrect in the BIOS.

I assumed that the install of a device would, in XP, automatically
enable DMA if it was possible to do so (that's just an assumption on
my part) but that in some rare cases it might also be necessary to
assure that DMA settings are (if user configurable at all) set
properly in BIOS. I've seen BIOS configuration settings on some OEM
computers that have almost no user configurable settings whatsoever!
Laptops are often a good example of that.
Also... [[With some IDE drivers/Busmastering drivers, DMA cannot be
enabled through the device manager, but only through the driver
settings. An example of this is the Intel Application Accelerator.]]

Also...[[For repeated DMA errors. Windows XP will turn off DMA mode
for a device after encountering certain errors during data transfer
operations. If more that six DMA transfer timeouts occur, Windows
will turn off DMA and use only PIO mode on that device.
In this case, the user cannot turn on DMA for this device. The only
option for the user who wants to enable DMA mode is to uninstall and
reinstall the device.]]

DMA Mode for ATA/ATAPI Devices in Windows XP
http://www.microsoft.com/whdc/device/storage/IDE-DMA.mspx

There are DMA settings in my BIOS.

And my IDE ATA/ATAPI controllers
Primary IDE Channel & Secondary IDE Channel
have the advanced tab and DMA settings.

PnP Devices
PNP0201 EISA DMA Controller

Which brings up an interesting but off-topic observation that a
driver can over-ride user intended settings. For example, no email
server (or any server that writes data locally) should have HDD cache
enabled, because of nasty things that could happen when power goes
away during a write process that has not yet been committed from the
cache to the HDD, a situation otherwise correctable by a UPS) but
I've run across some drivers that, when the HDD Disk Properties is
set to disable cache, insists on turning it back on at the next boot!
Generally, these are the same computers that will blue screen on the
first reboot right after installing an XP upgrade or after applying
the very 1st SP to 2000, with an unreadable HDD resulting!

The "fix" is to prevent this, by having a copy of the current drivers
reported used by the HDD devices BEFORE doing the upgrade and to
restore them all (using Explorer) BEFORE doing the first reboot after
upgrading to XP or the very first ever SP to 2000 (to have replaced
ALL such upgrade installed drivers with the backup ones before that
1st reboot) and that will prevent the blue screen and subsequent loss
of the entire HDD content. However, since one can not know in advance
if this is going to happen or not (and the "newer" HDD drivers are
indeed preferable, if they will work) the only insurance is to have
an image of the original boot drive before ever doing an XP upgrade
and before doing the first ever SP to 2000. :( Newer computers do
not seem to suffer from this phenomenon, and I suspect it's actually
a BIOS problem. I did see a 1.2gHz eMachine exhibit that blue screen
with that upgrade problem, though, and that was the fix for it!
 
Back
Top