DMA/PIO4
Results 1 to 11 of 11

Thread: DMA/PIO4

  1. #1
    Registered User
    Join Date
    Jul 2001
    Location
    Springfield
    Posts
    44

    Post DMA/PIO4

    Is it possible to change/switch DMA/PIO setting especially with CDWR, as most require PIO mode in order to function properly AS some of them comes in DMA mode, Or are the DMA/PIO mode pre-setted by CDWRs manufacturers?

  2. #2
    Chat Operator Matridom's Avatar
    Join Date
    Jan 2002
    Location
    Ontario, Canada
    Posts
    3,778

    Post

    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Originally posted by kewos2:
    <strong>Is it possible to change/switch DMA/PIO setting especially with CDWR, as most require PIO mode in order to function properly AS some of them comes in DMA mode, Or are the DMA/PIO mode pre-setted by CDWRs manufacturers?</strong></font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">The main place to set this is in the bios. Go there, if you want PIO mode, change the controller to PIO (where you configure the drives) DMA you'll have the choice of 1 to 5 (or 4 or 3 dependand on your board) What you need to remember is the the ENTIRE chain has to be DMA in order for windows to use DMA. There is also a setting in the device manager under the IDE controller that should let you see what windows is seeing.
    <Ferrit> Take 1 live chicken, cut the head off, dance around doing the hokey pokey and chanting: GO AWAY BAD VIRUS, GO AWAY BAD VIRUS
    -----------------------
    Windows 7 Pro x64
    Asus P5QL Deluxe
    Intel Q6600
    nVidia 8800 GTS 320
    6 gigs of Ram
    2x60 gig OCZ Vertex SSD (raid 0)
    WD Black 750 gig
    Antec Tri power 750 Watt PSU
    Lots of fans

  3. #3
    Intel Mod Platypus's Avatar
    Join Date
    Jan 2001
    Location
    Australia
    Posts
    5,783

    Post

    This article is interesting, note the comment that you can enable DMA for a drive using PIO mode:

    <a href="http://www.anandtech.com/guides/viewfaq.html?i=67" target="_blank">http://www.anandtech.com/guides/viewfaq.html?i=67</a>

    Warrants further investigation?

  4. #4
    Geezer confus-ed's Avatar
    Join Date
    Jul 1999
    Location
    In front of my PC....
    Posts
    13,087

    Post

    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Originally posted by kewos2:
    <strong>Is it possible to change/switch DMA/PIO setting especially with CDWR, as most require PIO mode in order to function properly AS some of them comes in DMA mode, Or are the DMA/PIO mode pre-setted by CDWRs manufacturers?</strong></font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">If you set your bios to auto for your device(both senses DMA-auto, ide devices auto) then the theory is that it should set correctly, as almost all units capable of dma access are pio mode on demand. BIOS should interpret the capabilities of the device when it detects & names it.

    However, intake of breath , this is dependandant on the correct functioning of the southbridge and any bus mastering drivers installed. You can as suggested set the properties of an individual ide channel in bios to use PIO mode, this may or may not help, as DMA enabled for HD even on another channel may still affect the process...

    If needs must turn it all off <img border="0" title="" alt="[Eek!]" src="eek.gif" /> , but don't plan on doing anything fast after that...& your CPU will get a work out too.

    Probably much better advice if you are asking this is either update your drivers or buy a better cdr <img border="0" title="" alt="[Eek!]" src="eek.gif" />

    BTW </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif"> note the comment that you can enable DMA for a drive using PIO mode </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">You can enable it all you like, it still needs a cpu cycle to do it...

  5. #5
    Intel Mod Platypus's Avatar
    Join Date
    Jan 2001
    Location
    Australia
    Posts
    5,783

    Post

    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Originally posted by confus-ed:

    BTW </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif"> note the comment that you can enable DMA for a drive using PIO mode </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">You can enable it all you like, it still needs a cpu cycle to do it...[/QB]</font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Of course it still uses CPU cycles. But DMA transfer generally has much less overhead than PIO, and a drive in PIO mode may well support DMA Multiword 1 or 2.

    The point is, if someone forces PIO mode to eliminate problems caused by having the drive in UDMA mode, they may not realise that DMA transfer could still be available. The two things are not the same.

    If the drive is in PIO mode, but the DMA option is available in the Device Manager, the drive may implement DMA 1 or 2. If the drive's performance is slow or CPU utilisation is high, try enabling DMA. If it works, you're ahead. If it won't stay enabled, you're out of luck, Windows has determined the drive doesn't support DMA in the PIO mode being used. (PIO Mode 4 is more likely to support DMA than Mode 3.)

  6. #6
    Geezer confus-ed's Avatar
    Join Date
    Jul 1999
    Location
    In front of my PC....
    Posts
    13,087

    Question

    D'uh? DMA=Direct memory access, if the drive is in PIO(Programmed Input/Output) mode then it can't do any direct access it needs the cpu to handle the servicing it can't write to memory itself...

    DMA access is not available in PIO mode.

    However a unit can be DMA capable, but operate in PIO mode, or it can be operating in DMA mode & then be instructed programatically to use PIO mode, but not the other way around..

  7. #7
    Intel Mod Platypus's Avatar
    Join Date
    Jan 2001
    Location
    Australia
    Posts
    5,783

    Post

    Yes, DMA = Direct Memory Access

    However, in a modern PC this refers to at least three somewhat different things.

    Third Party DMA is what is often meant simply by "DMA". It uses the on-board DMA controller, and can be used by many things such as the Floppy Drive and Sound Cards. Even the 10M HDD in the XT used DMA for BIOS Int13 Function 02H.

    First Party DMA is also known as Cascade or Bus Mastering. The device using DMA must control the buses during the data transfer.

    Ultra DMA is the protocol that uses several enhancements to break the 16.7Mb/S transfer rate limit of DMA mode 2. These include Double Transition Clocking, CRC with auto-retry on error, fallback to slower modes after multiple errors. UDMA must use Bus Mastering DMA.

    I haven't yet been able to find specific technical descriptions of which degree of DMA is enabled/disabled by the BIOS settings, in order to satisfy myself as to precisely what is being turned off. I would appreciate any references anybody has to satify my curiosity. However, as the options are provided on UDMA capable motherboards, it seems sensible to conclude UDMA mode is what is being turned off.

    If this is so, it still leaves regular Bus Master DMA available for DMA Mode 3 or 4. (Correction: this should read Mode 1 or 2. I was thinking ahead to the corresponding PIO Modes below.)

    Microsoft's instructions for how to check if a PIO3 or 4 drive supports DMA Mode 1 or 2 are here:

    <a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;q159560" target="_blank">http://support.microsoft.com/default.aspx?scid=kb;EN-US;q159560</a>

    This would explain statements on tech sites like the anandtech link above, why the DMA option may be offered in the Busmaster Drivers when drives are in PIO Mode, and why people report benefits from using it.

    Meantime, I still suggest try it, if it works, it works.

  8. #8
    Geezer confus-ed's Avatar
    Join Date
    Jul 1999
    Location
    In front of my PC....
    Posts
    13,087

    Arrow

    Platty I think you are confus-ed.... <img border="0" title="" alt="[Eek!]" src="eek.gif" />

    There are four PIO modes imaginatively called 1..4.(these are defined here - <a href="http://www.pcguide.com/ref/hdd/if/ide/modesPIO-c.html" target="_blank">PIO modes defined</a>.

    There are currently 6 DMA modes defined (you can find their standards defined in the same link).

    The M/S link you identify is for units that are DMA not UDMA capable, BIOS may only test for multi-word DMA capability & then decide the unit is not UDMA capable & thus default back to PIO mode,even though it can do DMA, windows (95 on) is capable of testing the unit correctly for both DMA & UDMA(multi-word) this may lead to a position where the unit will not use DMA even though it is capable....

    DMA does not require any CPU cycles to pre-fetch data, PIO takes (usually) 3.

    As I said almost all new units are now PIO mode on demand, features like burn-proof, just-link etc all take advantage of this and use it to delliver data slower when buffer-under run is lurking.

    As for thinking that the IBM XT was DMA capable </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif"> Even the 10M HDD in the XT used DMA for BIOS Int13 Function 02H.</font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">then you really are confus-ed. What you refer to as 'third-party' DMA was infact a forerunner of the speculative fetch technique (subsequently used in Pentium processors) its not DMA because is still reuires a CPU cycle...not 3 admittedly but it still needs the processor(And Int13 is only used at boot or when switching partitions/disks).

    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">I haven't yet been able to find specific technical descriptions of which degree of DMA is enabled/disabled by the BIOS settings </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Its either on or off, you then define the speed. If bios determines the unit is PIO then you need to change the MS specification table (windows extrapolates the bios to enable it to do plug & pray).

    As I said you can do it the other way around so a unit bios identifies as a UDMA 4 (my plextor) can use PIO mode 1,2,3,4 as required to deal with the incoming stream.

    Finally its all very well saying you can change this yourself, but the simplist way to avoid all this trouble & confus-ed-ness is not to use the busmastering drivers(which may or may not deal with single word DMA transfers) and to use the standard ones(So instead of having a parent & two child devices for your IDE channels you have a controller device for each channel) Everything will use PIO mode then.

    What did I say buy a newer cdr....?

  9. #9
    Intel Mod Platypus's Avatar
    Join Date
    Jan 2001
    Location
    Australia
    Posts
    5,783

    Post

    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Originally posted by confus-ed:
    Platty I think you are confus-ed.... <img border="0" title="" alt="[Eek!]" src="eek.gif" />
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Actually, at the moment I'm Psyduck

    As I believe this has strayed too far from the original intent of the Topic, I won't post any more here, other than to address a couple of the issues raised by Confus-ed. I may well start my own topic on the subject when I have done some more research, but if this thread is any indication of the likely result, maybe I won't. My hope had been to encourage some more definitive & precise information for kewos2, not a fencing match between techs. Sorry kewos2.

    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">
    There are four PIO modes imaginatively called 1..4.(these are defined here - <a href="http://www.pcguide.com/ref/hdd/if/ide/modesPIO-c.html" target="_blank">PIO modes defined</a>.
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Enable Petty Mode: There are 5 PIO Modes. Disable Petty Mode

    I'm open to correction, but I like to be corrected correctly...
    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">
    The M/S link you identify is for units that are DMA not UDMA capable
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">Exactly. A unit with UDMA turned off is not UDMA capable...
    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">
    As for thinking that the IBM XT was DMA capable then you really are confus-ed.
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">I guess the 8237 DMA Controller was too...but it still managed to provide DMA Channel 3 for the hard drive.
    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">
    What you refer to as 'third-party' DMA
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">What "I" refer to? Do you think I made it up? How many references do you want?
    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">
    its not DMA
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">The people who designed the chips & built the machine just thought it was...
    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">
    (And Int13 is only used at boot or when switching partitions/disks).
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">And uses DMA
    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">I haven't yet been able to find specific technical descriptions of which degree of DMA is enabled/disabled by the BIOS settings

    Its either on or off
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">I know. My question is what "it" is, UDMA only, or all DMA. I have found more information since I posted this, and my reading leads me to believe it is specifically UDMA, providing an equivalent to the function in the manufcturer's HDD utilities to turn UDMA off for compatability with non-UDMA controllers. This suggests DMA modes 1 & 2 may still be available, but I would appreciate direction to any information to the contrary.
    </font><blockquote><font size="1" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">
    Finally its all very well saying you can change this yourself, but the simplist way to avoid all this trouble & confus-ed-ness is not to use the busmastering drivers(which may or may not deal with single word DMA transfers) and to use the standard ones(So instead of having a parent & two child devices for your IDE channels you have a controller device for each channel) Everything will use PIO mode then.

    What did I say buy a newer cdr....?
    </font><hr /></blockquote><font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica, sans-serif">That's fine, but not everyone may have, need or want the latest & greatest, or have the ability or the desire to fiddle drivers. What's wrong with disabling UDMA in the BIOS, leaving DMA checked in the driver & seeing what happens? That's the time honoured way of finding out what works...and if it avoids the performance hit of having everything running PIO, then you're ahead. If not, what have you lost? This has been the whole point of my posts on this subject.

  10. #10
    Geezer confus-ed's Avatar
    Join Date
    Jul 1999
    Location
    In front of my PC....
    Posts
    13,087

    Arrow

    Somebody don't understand the difference between multi-word DMA and single bit DMA transfers, they are two different things, created for two different bus architectures, single bit DMA transfers have been around a long time via the ISA bus, multi-word DMA transfers (what the subject is about) are only possible via the PCI-Bus.

    The topic got answered long since, but since I am in arsey mode today I'll wake the topic again!

    Oh Platty/Psyduck, whatever - what the hey is PIO mode 5?

  11. #11
    Intel Mod Platypus's Avatar
    Join Date
    Jan 2001
    Location
    Australia
    Posts
    5,783

    Post

    An answer to Confus-ed here:

    <a href="http://forums.windrivers.com/cgi-bin/forum3/ultimatebb.cgi?ubb=get_topic;f=17;t=008855" target="_blank">http://forums.windrivers.com/cgi-bin/forum3/ultimatebb.cgi?ubb=get_topic;f=17;t=008855</a>

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •