Page 5
(Part 3)
SCSI vs. IDE Bus Mastering for DAWs, Part 3
by D. Glen Cardenas and Jose M. Catena
Cont. from Page 4; Back to TOC

 

About IDE

IDE
, or more formally, IDE/ATA, is the most common system for connecting a hard drive to a PC. In modern systems (to which this discussion is limited), they plug directly into the mother board through a 40 pin cable. Most mother boards offer 2 separate IDE channels and thus 2 connectors on the board. Each connector can support 2 IDE devices, be they disk drives, CD drives, tape drives, removable drives and so on. If a channel has 2 devices on it, one must be designated a master and the other a slave. This is done simply by moving or removing a jumper on the drive itself. As a result of this configuration, any system can have 4 IDE devices connected to it. Using an external controller board connected to the PCI bus supporting 2 additional channels, up to 8 devices and be supported on a PC. This is the limit, and attempting to add the other 4 devices with an extra controller will consume more interrupts and other system resources. This contrasts with modern SCSI which can have up to 15 devices on a controller and occupies the same amount of system resources regardless of the number of devices connected up to that limit.

The History of IDE
IDE replaces older interfaces such as ST-506 and ESDI. Through the years, many changes have been made to the IDE standard as defined by ANSI. The original standard, call simply ATA called for 2 devices on the same channel configured as master and slave. It also defined PIO modes 0, 1 and 2 and DMA single word modes 0, 1 and 2 and multiword mode 0. However, this standard had problems. Often drives by different manufacturers wouldn't work if combined on a single channel as master and slave. ATA-2 added the faster PIO modes 3 and 4 (mode 4 being the common default PIO mode for modern PCs), faster DMA multiword modes 1 and 2, the ability to do block mode transfers, Logical Block Addressing or LBA, and improved support for the "identify drive" command that allows the system to interrogate the drive for manufacturer, model and geometry.

The terms "Fast ATA and Fast ATA-2" are the inventions of Seagate and Quantum. They are not really standards and only denote drives that are compliant to all or part of the ATA-2 standard. ATA-3, however, was a real standard that improved reliability and defined the SMART feature in disk drives. It was followed by the current Ultra ATA or UATA. UATA also goes by many other names like UDMA, DMA-33/66 and ATA-33/66. UATA isn't really a new standard, and UATA drives are still backward compatible with ATA and ATA-2 systems. Ultra ATA is the term given to drives that support the new DMA modes that provide up to 33 MB/s (UDAM-33) or up to 66 MB/s (UDMA-66) transfer rates with 100 MB/s just over the next hill. Both UDMA versions support CRC error checking that assures data integrity through the IDE cable, which was a source of serious problems in previous standards. Note that the UDMA-66 standard calls for an 80 conductor cable instead of the 40 conductor cable used up to and through UDMA-33.

EIDE or Enhanced IDE is a designation created by Western Digital to describe its newer line of high speed drives. It really isn't a standard at all, but just a marketing tool. However, it has taken on common public use to refer to all high speed drives and the systems that support them.

Bus Mastering
By default, IDE disk drives transfer data to and from the system using a protocol called "Programmed Input/Output" or PIO. This technique requires the CPU to get into the middle of things by executing commands that shuffle the data to or from RAM and the drive. Thus, the CPU is tied up doing the work of fetching and stuffing. Also, the time overhead involved in putting data in the cache, reading each byte into the CPU, sending it out to the cache again and then routing it to its destination puts a top end to the speed of the transfers. In most desktop systems this isn't much of a problem. The system doesn't have much to do during these transfers anyway, so who cares. Even if a user has several applications open at once, seldom is more than one actually doing anything, and during disk I/O, the application will likely be idle anyhow.

Now suppose you have an activity known as "streaming" going on which is pulling lots of data from the drive in real time while the application doing the streaming is simultaneously attempting to process the data as it arrives. Wow! Now we have a problem. The CPU really does have lots to do while data is being transferred and so getting tied up actually DOING the transfers cuts into application processing time. In all fairness, even at the fastest rate, a disk drive couldn't pump enough data to or from memory fast enough to cause modern high speed CPUs to break into a sweat. Even at this high demand level, there is time to shuffle data, process that data, shuffle it back, service interrupts, update the screen, send a byte to the modem, and so on.

Enter the DAW. Now we have a whole new ball game. Not only is the digital audio application trying to stream data and process in real time, but it needs to stream multiple files for multi-track mixing at the same time and still supply CPU horsepower to real time effects like reverbs and compressors. This forces a limit on the number of tracks in the mix and the number of real time effects that the project can sustain when attempting to perform real time production. Under this load, even a Pentium 500 will fall short of the goal if it has to worry with PIO along with all of this other processing. If you want to mix more than 6 or 7 tracks using more than a few parametric EQs and one reverb, you will need to free up some major CPU cycles! The answer is to put the load of data I/O someplace else so the CPU can just go to RAM and expect to find the data already there and process it. This is the idea behind DMA or Direct Memory Access. Using DMA, a system splits the responsibility of data communication among several intelligent sub-systems so each can do a specialized job very well.

Go to Page 6 (Part 3); Back to TOC