PDA

View Full Version : Mixing PIO and DMA Mode Devices on same IDE channel


ultra_dma
03-25-2005, 11:12 PM
Hi,

The webpage on "Independent Master/Slave Device Timing"

http://www.pcguide.com/ref/hdd/if/ide/confTiming-c.html

has the following note:

"Note: It is not possible to use PIO modes to control one device on a channel and DMA (or Ultra DMA) modes to control the other one. Do not mix devices that don't support DMA with ones that do on the same channel, if you want to use DMA."

What is the reason why this cannot be done ? Is it because the standard specifies
so or is there a hardware or software limitation ?

Thanks,
Ultra_DMA

ski
03-26-2005, 10:14 AM
All devices connected to a specific channel will run at speed of the slowest connected device, even if the highest possible speed is selected for that channel.

ultra_dma
03-26-2005, 11:37 PM
I read most of the pcguide and what you say is true but only if both the
devices are in PIO mode. Then the speed is the lower of the two devices.

The note in pcguide is mentioning a different issue I think. Any technical reason
besides the speed problem ? Is it just the speed problem or is it actually
forbidden to connect a PIO and DMA device as master and slave to the
same channel ?

I have anecdotally heard that this restriction was imposed by Microsoft in
their device drivers. Not sure how true that is.

I have seen a few cases where there are actually two devices on the same
channel on in PIO mode and another in DMA (the hard disk) and they have
worked without a hitch.

Thanks,
Ultra_DMA

CuratoR
03-27-2005, 01:43 PM
I have seen a few cases where there are actually two devices on the same
channel on in PIO mode and another in DMA (the hard disk) and they have
worked without a hitch.
True!

CuratoR

Paul Komski
03-27-2005, 02:01 PM
The evolution of the ATA interface and associated standards has continued apace for a long time. The more modern hardware (the mobo or controller card chipsets) have tended to allow for more and more truly independent i/o from master/slave on a single channel. It's not quite clear from Charles's note whether this combination might cause total failure or just that the i/o will be that of the slower of the two devices.

The other factor is the relevant software. WinXP has improved greatly on such software support - particularly over anything related to bus-mastering.

Such hardware issues are not my strong point but it would be interesting if saphaline had any comments to make.