DMA

Differences between revisions 4 and 22 (spanning 18 versions)
Revision 4 as of 2005-07-21 08:59:25
Size: 2176
Editor: S0106000000cc07fc
Comment: major rewrite
Revision 22 as of 2008-08-06 16:20:37
Size: 47
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== What is DMA? ==

DMA or Direct Memory Access is a feature provided by most modern IDE chipsets that allows the IDE interfaces to talk to one another using the system memory; therefore using substatially less system processing power.

WARNING:
Enabling DMA can be dangerous in some cases. Usually issues are directly related to faulty hardware, poorly written drivers, or using settings that are unsupported by your system. USING HDPARM INCORECTLY CAN CAUSE MAJOR DATA CORRUPTION AND/OR LOSS. Most systems newer than 3 years will support DMA.

NOTE:
If your drives are configured in [Cable Select] mode and while running hdparm commands you receive erros related to timeouts or drive not ready, try changing the drive to be a master or slave device depending on your system configuration. This does require opening the case and as far as I know most drives are set to Cable Select from the manufacturer. I plan to add a tutorial for doing this with some more specific error messages.

== Enabling DMA ==

To enable DMA, you need to use the {{{hdparm}} command and the configuration file {{{hdparm.conf}}}.

This tutorial assumes you are trying to enabled DMA on hdc, usually the CD-rom drive.

 1. See the what the settings are on /dev/hdc
   {{{
   sudo hdparm /dev/hdc
   }}}
 1. If you get a line like {{{ using_dma = 1 (on)}}}, DMA is already enabled. Skip to step 4 to see if it has been enabled at boot time.
 1. Enable DMA on /dev/hdc
   {{{
   sudo hdparm -d1 /dev/hdc
   }}}
 1. You have now enabled DMA for the drive. However, in order for the settings to be automatically applied at boot there you need to edit the {{{/etc/hdparm.conf}}}} script. Add the following to the end of your hdparm.conf
   {{{
   /dev/hdc {
   dma = on
   }
   }}}

== Further reading ==
The hdparm has a further options that may be more risky. They can be seen using the {{{man hdparm}}} command in the terminal.

For a detailed description of DMA visit the IEEE
http://standards.ieee.org/reading/ieee/std_public/description/busarch/1212.1-1993_desc.html

IDE, EIDE and UDMA http://www.spcug.org/reviews/bl0108.htm

CategoryDocumentation
#REFRESH 0 http://help.ubuntu.com/community/DMA

DMA (last edited 2008-08-06 16:20:37 by localhost)