|[Home] [Credit Search] [Category Browser] [Staff Roll Call]||The LINUX.COM Article Archive|
|Originally Published: Tuesday, 27 June 2000||Author: Brian Richardson|
|Published to: enhance_articles_hardware/Hardware Articles||Page: 1/1 - [Std View]|
Ultra DMA 66
Brian Richardson presents a basic review of the hardware requirements for Ultra DMA 66 storage on any system.
Have a look at the some of the newly released Linux distributions, such as Linux-Mandrake 7.1 or SuSE Linux 6.4. They all have native support for Ultra DMA 66 (also known as "Ultra ATA/66" or "UDMA/66"). What is UDMA/66? Will your system support UDMA/66? Never fear, Brian's here!
It's All About The Megabytes, Baby
UDMA/66 is an extension of the ATAPI specification for devices which attach to an IDE controller. Currently there are five supported Ultra DMA modes (numbered 0 to 4). The higher mode number designates a faster data transfer between the controller and the drive. Transfer rates are commonly measures in Megabytes per second (MB/s).
Mode 0 and Mode 1 transfer data at 16.6 MB/s and 25 MB/s, respectively. UDMA/33, which is on most every computer made in the past few years, is Ultra DMA Mode 2 -- this transfers data at 33.3 MB/s. Mode 3 transfers at 44.4 MB/s. Mode 4 is UDMA/66, which moves data at 66.6 MB/s. Any controller or drive that supports a higher mode (say Mode 4) will also support any lower mode, so older drives still work with newer controllers, and newer drives work with older controllers.
For your system to support UDMA/66, you need four things:
One key thing to remember is that Mode 3 (44.4 MB/s) and Mode 4 (66.6 MB/s) require a different cable that the other Ultra DMA modes. The standard IDE cable has 40 pins and hooks to a 40 pin connector on the system motherboard. That works fine up to 33.3 MB/s, but this falls apart trying to run Mode 3 and Mode 4.
The problem is signal integrity. That's electrical mumbo-jumbo that translates to "too much *&^%$## noise on the cable." "Noise" in any electrical system is the result of stray signals which get induced onto your system (like picking AM radio on your braces). The faster a system's clock (i.e. the less time there is between cycles of information), the more susceptible that system is to noise. Noise is generally fixed by adding additional grounding by establishing a better connection to the zero-volt reference on the system (zero volts = ground). When a digital signal is affected by noise, the "ones and zeros" get altered. A "one" in a digital system is just some voltage above zero volts (it's not arbitrary, they set a range). A "zero" is something close to zero volts. Add noise to a signal, and that "close to zero" voltage gets bumped up to the range where it's interpreted as a "one." This is when the designer uses copious quantities of profanity.
So the UDMA/66 drives have to use a cable with better grounding. That's why all UDMA/66 drives require an 80-pin IDE cable. Now an 80-pin IDE cable still connects to a 40-pin connector. The extra 40 pins don't just hang loose ... they're connected to ground, adding extra integrity to the signal. If you don't have this cable, the system BIOS won't allow UDMA/66 transfers to take place.
Round and Round and Round She Goes
When choosing a UDMA drive, don't just look for UDMA/33 or UDMA/66 support. Remember, these transfer speeds are the maximum potential speed of the drive ... they're only doing this in a "burst" mode. Everyday small block transfers may not benefit from just UDMA/33 or UDMA/66, and the drive might not actually get to 66 MB/s but just have support for the Mode 4 protocol. The drives with faster access times & better transfer rates have two extra things going for them: spindle speed and drive cache.
The faster the drive spindle spins, the faster data can go to/from the disk. Low-end drives today use 4,000-5,400 rpm spindles. For maximum performance, a spindle of 7,200 rpm or faster is recommended. IDE Drives with 10,000 rpm spindles are soon to be released.
Drive cache is like cache on a motherboard or processor. It's a fast buffer data sits in while waiting to move up to the drive. Newer UDMA/66 drives have 2MB or more of on-board cache. Since cache has a faster turn-around time that the disk, writing data to cache also improves performance.
Adding Speed To Your Puny System
Now not all motherboards have UDMA/66 support, and not all UDMA/66 controllers are supported under Linux. But never fear, for the PCI bus is here. PCI add-on cards from companies like CMD, AMI and Promise add UDMA/66 controllers to any system. These controllers support up to four drives each, and allow for software RAID to be added to your system. They're not that expensive, and are the cheapest way to add extra drives (and faster drives) to your current system. And -- as you might expect -- they're supported by Linux.
Faster In The Future
Support for UDMA/100 (Ultra DMA at 100 MB/s, a.k.a "Ultra ATA/100") is ready for Linux. Kernel patches were released weeks ago... all we need now is the hardware. UDMA/100 drives and controllers are under development and should be in the marketplace by the end of the year. Let's hope your system can keep up with the data flying from your drives.
Brian Richardson's hard drives are being pushed to their limits by Unreal Tournament. They dreamed someday of being in a nice file server, not being punished by texture-mapped maniacs.