VOGONS


ATA DMA modes

Topic actions

Reply 20 of 29, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie
NJRoadfan wrote:

See this post for my own testing with a Transcend 133x with various IDE controllers and a CF-to-SCSI adapter. The card easily shows a speed boost running in UDMA modes vs. PIO mode (motherboard ports). Two posts down shows the card running at PIO0 on an ISA IDE card.

http://68kmla.org/forums/viewtopic.php?f=16&t … art=125#p217340

38.5 MB/s?!? Wow, this is more than what the 133x rating would suggest! Quite a different number compared to those HD Tune benchmarks I've seen, where it was right around 16 MB/s...

I think now with this thread I finally understand why everything grinds to a halt for a few seconds when saving in games 🤣

NJRoadfan wrote:

It also leads to another peeve of mine, the fact that motherboard BIOSes don't enable any DMA transfer modes by default when using onboard IDE ports. The Asus P5A has a 33MB/sec UDMA controller on board. The ROM on Promise cards enable the fastest transfer mode of the connected drives by default resulting in much better DOS performance without needing a device driver.

You mean like, motherboards from any given time period?

My motherboard actually does have a Promise 100 MB/s UDMA controller onboard, but I don't use it since the CF adapter is only specified for 33 MB/s for whatever reason.

And very neat that you can have UDMA in DOS just like that! I've seen TSRs that are supposed to do just this, so presumably they are for cards without an own BIOS...

Reply 21 of 29, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie

OK finally enabled it and gave it a test. Quite the difference 😎 apparently all these theoretical values don't mean much...

The attachment ssyspio.png is no longer available
The attachment ssysdma.png is no longer available

It is interesting how Speedsys throws out a whole bunch of specifications for the DVD drive in the text file. Doesn't do it for the CF, in fact it doesn't even list it as a IDE device. Some ATAPI speciality?

Reply 22 of 29, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie

More testing. In DOS I get similar transfer rates compared to the PIO Win98 results, but the hard drive score is vastly better:

The attachment ssysdos.png is no longer available

I also ran it on my Socket 7 rig... I can't activate DMA on there for some reason. When I tried it and restarted the computer took like 3 minutes to boot and and it ran slow as molasses. After restarting again it was back to PIO.

The attachment ssyspio_s7.png is no longer available
The attachment ssysdos_s7.png is no longer available

Conveniently, speedsys has a reference score for the exact drive that is in this PC... it performs like expected in DOS but slow in Windows. I wonder if these references scores are made with PIO or DMA in mind?

In the text files for the Socket 7 tests it lists the Maxtor drive as UDMA-4 (66 MB/s) capable, with that mode also being enabled both in DOS and Windows. Obviously at least in Windows it's running PIO...

Reply 23 of 29, by Samir

User metadata
Rank Member
Rank
Member
swaaye wrote:

There are IDE DMA modes below UDMA. 16.7 MB/s is called Multiword DMA Mode 2 (aka WDMA). Some CDROM drives continued to use this mode because there was little need for more bandwidth for a CDROM. This is also the top mode supported on PIIX and PIIX3 of 430FX/HX/VX and 440FX.

Thank you for clarifying this. I know my memory of PIO and DMA modes has gotten fuzzy since the days it was introduced! 😢

Reply 24 of 29, by Samir

User metadata
Rank Member
Rank
Member
NJRoadfan wrote:

It also leads to another peeve of mine, the fact that motherboard BIOSes don't enable any DMA transfer modes by default when using onboard IDE ports. The Asus P5A has a 33MB/sec UDMA controller on board. The ROM on Promise cards enable the fastest transfer mode of the connected drives by default resulting in much better DOS performance without needing a device driver.

I think the reason most did this was for compatability reasons. Kinda like how the memory timings were usually fairly conservative for the same reason.

Samir wrote:

One other thing that slows down the whole master/slave setup is that the transfers are basically controlled by the first (master) drive. So you can't have both drives on the bus at the same time anyways. This was really apparent when you tried to copy a CD from a slave to an HD on the master. It was definitely slower than a CD and HD both on master.

NJRoadfan wrote:

This is a myth that has been around for years. The drive's on-board controllers operate independently of each other.

http://en.wikipedia.org/wiki/Integrated_Drive … e_clarification

I won't get into "why" here, but your computer never truly accesses multiple devices simultaneously. It just appears that way due to the speed it runs at. Pick up a good book on operating system theory (one that covers semaphores, task scheduling, and multi-threading) if you want to learn more.

I don't recall it being a myth when we did extensive testing of it on a system back in the day. We specifically made sure we had dual IDE channels so both drives would be on their own. When we put both on one channel, we definitely saw a speed difference. Now, this probably did change as IDE evolved into ATA and all the additional SCSI-like commands that allowed a lot more independence.

I always wondered why the master/slave setup was designed the way it was until my CS 231 Computer Organization class and my Digital Logic classes in college. The JK flip-flop worked in a master/slave configuration. Then it all came together.

Reply 25 of 29, by swaaye

User metadata
Rank l33t++
Rank
l33t++

Promise Ultra33, Ultra66 and Ultra100 were anything but bulletproof and troublefree. 😀 They especially disliked ATAPI devices but people had trouble with HDDs too.

And then there were the Highpoint nightmares....... I bought Abit BF6 specifically because it is BE6-II without the Highpoint chip. I had already dealt with BE6-II for a friend and I think we just disabled the Highpoint controller because it caused severe stuttering, something related to IRQs and USB IIRC. I think it was corrupting data too.

Reply 26 of 29, by NJRoadfan

User metadata
Rank Oldbie
Rank
Oldbie
swaaye wrote:

Promise Ultra33, Ultra66 and Ultra100 were anything but bulletproof and troublefree. 😀 They especially disliked ATAPI devices but people had trouble with HDDs too.

This was also the case with 1st gen SATA PCI cards. They made the Promise cards look bulletproof. The ATAPI thing was usually due to an on-board ROM limitation. Most of those on-board UDMA controllers would only run in RAID mode, JOBD or "single" drive modes weren't available.

I had a Ultra100TX2 laying around, so thats why I tested the CF card with it.

Reply 27 of 29, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie

Any comments on the benchmarks I've posted? I want to see what performance difference DMA would make on my Socket 7 PC, but don't know why I can't enable it...

Reply 28 of 29, by swaaye

User metadata
Rank l33t++
Rank
l33t++
d1stortion wrote:

Any comments on the benchmarks I've posted? I want to see what performance difference DMA would make on my Socket 7 PC, but don't know why I can't enable it...

What is the deal with the 500MB/s result??? 😎

Reply 29 of 29, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie

That is easily explained... it's a DIY SSD after all, so it'd better perform like one 😉.