What is Ultra DMA? 35
DAQ42 asks: "Okay, so I've been reading these illusive and cryptic things about ATA hard drives and Ultra DMA settings. There are all these wonderful charts and diagrams everywhere that show the different DMA modes and what they mean as far as seek time and transfer rates but what do they mean to me, the guy who wants to make his hard drive that is set to DMA mode 2 (33.3MB/sec) and set it to DMA mode 3 (66.6 MB/sec). These fun little things make my head go foop. I've seen plenty of stuff about writing or editting your own device drivers for Linux but what about for those of us using fun gimpy stuff like Macs or PC's or other evil toys of destruction."
Re:Benchmarking raw I/O rates (Score:1)
Informative? Hardly (Score:1)
Boy, that's really informative. Do you just get automatic points for anything related to Linux? I mean, hey, the poster quite clearly implied (didn't say it explicitly) that there's plenty of info out there for Linux, but you decided he needed more. Maybe by ignoring his asking for info on Mac and Win we'll win him over to the 'light side' and trick him into using Linux. Heck, the fastest stuff is still SCSI, why not just completely ignore his question and give him SCSI configuration info, because hey, YOU think he should be using SCSI.
Re:Windows & Macs? Oh my. (Score:2)
NO! (Score:3)
Anyone who enables this setting on a machine will eventually be haunted by Mr. Clusterfuck.
Windows & Macs? Oh my. (Score:5)
First, and most importantly you need an IDE controller that supports UDMA66. Your 486 won't have this onboard. You'll need to get a new controller card. If you have a newer Pentium clas machine, then you may already have it onboard.
The second thing you need is the right driver. You need to get the latest UDMA66 capable driver for you IDE controller.
Have fun, and after your all done... Betcha can't tell the difference.
Re:"Ultra 160 no better than Ultra 80"...? (Score:1)
A faster clock means the host adapter can more efficiently switch amongst devices, servicing those devices with pending data quicker (and, if they've been waiting for long, chances are it'll be in their cache.)
- A.P.
--
Forget Napster. Why not really break the law?
"Ultra 160 no better than Ultra 80"...? (Score:4)
- A.P.
--
Forget Napster. Why not really break the law?
Re:Windows & Macs? Oh my. (Score:1)
In DMA-66 and DMA-100, this allows each data line to be used again quicker, because the previous signal 'bleeds off' quicker due to paired ground lines, whereas DMA-33 and slower have to wait for the shared few ground wires to bleed the signal off.
.
Re:Pretty standard... (Score:2)
Re:Pretty standard... (Score:1)
W2K enables DMA on harddrives by default, but not on CD/DVD units. I don't know about 95/98/ME/NT4 though.
Re:Pretty standard... (Score:4)
IDE RAID performance is GREATLY improved by having all drives sit in their own channel.
Also, those 3ware raid cards rule under FreeBSD, and are not too expensive..Also, if you were looking for best perfomance, and reliability, Raid 10 is the way to go. For a small array, raid 5 is not much of a performance boost over a single drive. ( parity calcs )
Particularly -k1 (Score:2)
Bottom line: make sure your hdparm settings work before issuing the -k1!
Re:DMA (Score:5)
http://www.oreillynet.com/pub/a/linux/2000/06/29/
Be careful with hdparm (Score:4)
Re:Clarification (Score:1)
Re:Clarification (Score:3)
Note that DMA modes determine the mode of data transfers across the interface, and thus also determine the rate of transfer. Since ATA specs are backwards compatible with all DMA and Ultra DMA modes, and often include more than one additional DMA or Ultra DMA modes (for example, the ATA/ATAPI-5 standard included both the well-known 66.7MB/s Ultra DMA 4 standard, it also included the almost never heard of Ultra DMA 3 standard, which runs at 44.1MB/s; also note that the ATA/ATAPI-4 standard included both the well-known Ultra DMA 3 at 33.3MB/s, but also the lesser-known Utlra DMA 2 at 25.0MB/s) thus, when refering to the speed of the interface (and not the additional features included in that version of the ATA/ATAPI spec), it would be more correct to refer to "DMA" or "Ultra DMA" than "ATA".
Re:DMA and other options (Score:3)
Ian
DMA and other options (Score:5)
hdparm -W1 -m16 -u1 -c1 -k1 -d1
on start up.
That is...
-W1 enable the write caching feature
-m16 allow 16 blocks per i/o interrupt
-u1 IRQ unmasking.. HUGE proformance increase. If you notice everything seems to stop when your doing a lot of I/O be sure to turn this on!
-k1 keep settings.
-d1 enable DMA
From my simple benchmarks/experience these seem to be fastest settings for my IBM DeskStar 14gb HD. Your mileage may vary.
Ian
Re:Clarification (Score:2)
----
Re:startup support (Score:2)
----
Re:Motherboard memory bandwidth MUCH higher than 1 (Score:2)
----
Clarification (Score:5)
So the UltraDMA stuff you are asking about is more accurately called UltraATA. ITs basically an extension of the ancient AT disk interface spec to encompass new features like DMA, auto-detection, higher raw data rates, removable media, etc. (I think UltraATA even supports some SCSI-like features such as disconnect)
----
Benchmarking raw I/O rates (Score:2)
The manufacturers figure that people buying SCSI disks are probably building RAID arrays. There the high bus bandwidths actually help, unlike a typical desktop installation.
My desktop machine is fully U160, meaning a potential buss throughput of 160 MB/s. dd if=/dev/da0s1 bs=10m of=/dev/null count=64 shows a throughput of about 35 MB/s. So I could have 4 disks running flat out and the disks would still be the bottleneck. Never mind that we're not doing any seeking with that command. It's more likely that you would expect to see upwards of 8 drives or so before buss bandwidth starts to be an issue.
Oh, remember that typical motherboard memory bandwidth tops out below 160 MB/s too, so those transfer rates really only count when you're using a RAID controller (as opposed to software RAID).
Kirk McKusick spoke briefly at FreeBSDCon '99 about his experiments with IDE/ATA and SCSI. His results (as expressed on the videotape) may not be fully up-to-date (I don't think he used UDMA66). But he was able to demonstrate that more than one target per bus on ATA did particularly poorly compared to SCSI.
Oh, also... Make sure you turn write caching OFF if you expect your data to survive a power failure. FreeBSD 4.mumble turns it off by default and 4.3 now makes it configurable. Kirk also mentioned that people were telling him that "small file tests" showed that ATA was on a par with SCSI. He found that this was due to write caching (that is, the drive lies about when the data has been written). To use his words, "wrong answers can be delivered quickly."
Re:"Ultra 160 no better than Ultra 80"...? (Score:1)
Re:"Ultra 160 no better than Ultra 80"...? (Score:1)
Re:DMA (Score:1)
How did I not know this? And I call myself a Linux admin? =)
Re:Informative? Hardly (Score:1)
DMA (Score:5)
To enable DMA for a hard drive:
hdparm -d1
To disable DMA for a hard drive:
hdparm -d0
To enable Ultra-DMA/66:
hdparm -X66
To measure the transfer rate of a hard drive:
hdparm -Tt
To see what options are enabled for a hard drive:
hdparm
To see many details about your drive:
hdparm -i
I have an onboard ATA/33 IDE controller and a hard drive that supports ATA/66, so obviously I cannot use ATA/66. But by using stock ATA/33 and turning DMA on, I was able to get about a 30% boost in performance when tested by hdparm. I only know the basics and a lot of is still cloudy and/or seems to be voodoo magic. Could someone please explain this better for me as well? Also, should the above commands be entersted into an RC startup script?
startup support (Score:1)
Re:Next in Ask Slashdot: "What is Sex?" (Score:1)
Re:Windows & Macs? Oh my. (Score:2)
it isn't an 80 pin cable, it's an 80 wire cable...with 40 pins, just like a regular IDE cable. the extra wires are for shielding. you'll get one in the box with any newish motherboard or UltraATA/66 or UltraATA/100 controller card.
Pretty standard... (Score:5)
If you have an older machine... There are add-on PCI IDE controller cards that support UDMA 66 or 100, they are pretty reasonable at under $50 (100) and some cheaper 66 versions can be had for under $25.
I have setup a FreeBSD fileserver with 4 60GB maxtor udma/100 drives and a promise udma/100 controller running vinum(freebsd version of lvm) with a raid 5, pretty easy to do, but not the fastest thing in the world.
Windows: I don't believe DMA is enabled by default on windows(both for Hard drives & CD/DVD), but there is a setting in the device manager of the control panel.
Linux: hdparm, man hdparm.
Mac: I believe the G4's have UDMA/66 built in.
Also note that the cable is different... you can't use the old IDE cable to run in UDMA mode. most controllers come with (80 pin?) cables. And jumper settings on the drives alone don't determine master/slave, The cable will determine this also.. they will be labeled master & slave as well as be color coded(on good cables).
That's about all I know.
Use Google... (Score:5)
A few comments and questions about the DMA world.. (Score:5)
I have noticed in the recent past that there has been a lot of marketing whoring with regards to Ultra DMA and its various speeds.
I am most disappointed with IDE in general from a performance standpoint. I go through hardware all the time because of the nature of my job, and two things stick out as the sore thumb in bad system performance. The first is the availability of huge quantities of memory, the second being the hard drive.
As far as controllers go in the this area of performance, I tend not to care for anything that is not Intel or Promise, not that I have a fetish for Intel goods. I've yet to try any striping/parity striping controllers yet either. My observation of IDE thus far, regardless of bus 'speed' is somewhat negative. High CPU usage, bad multi-thrashability (e.g., hitting the disk with nasty requests in multiple ways all at once). I feel the hard disk holding me up, especially in Windows. I have found the following registry keys for Windows 2000 to enable DMA66+ operations, FYI:
From this site [aol.com]...
Another site has directions for NT 4.0 Sp5+ here. [arstechnica.com]
Another useful site is here, BMDRIVERS [bmdrivers.com].
Here and there you will see reports about reduced CPU usage. This is laughable. One place indicates that mass transfers were taking 90% CPU and with the new and improved drivers, a "mere 56%". Meanwhile all my SCSI drives never elevate the CPU at all.
Another alternative to using all these tweaks and hacks is to just download the Intel drivers [intel.com] (if you have an Intel chipset which you should for PCs, save the glorious Athlon).
I have noticed various anomalies with these drivers.
Sorry for giving so much attention to Windows, these operating systems tend to need the most attention. As far as unix goes, the hdparm suggestions I have seen so far seem correct, thanks for the input.
The SCSI paradigm is greatly suffering from the same pomp with festering numbers. My experience has been that Ultra 160 drives perform no better than Ultra 80. Open Magazine did a whole battery of benchmarks to illustrate its uselessness (unable to locate link).
I personally look for fast rotational speed, good platter density and fewer platters and a fast media rate, and lastly seek times.
IDE and its Ultra friends are great for huge drives to dump crap onto, and even mirror. Keep the OS and the swap file on a SCSI drive, and you can use your CPU for something else.
Comparing linux to macs and pc's? (Score:1)