White Papers Enhanced IDE and SCSI SCSI has been a more costly alternative to IDE because of the higher performance. Enhanced IDE improves the IDE data transfer speed and therefore is considered as an alternative to SCSI without sacrificing the performance. This article examines the difference between SCSI and Enhanced IDE. IDE, SCSI, and Enhanced IDE In 1983 the IBM PC/AT computers had a Western Digital hard disk controller for connecting one or two hard disk drives to the PC/AT Integrated System Attachment (ISA) system bus. Five years later, the whole controller was integrated into a single chip and placed in the hard drive that can be connected directly to the ISA bus. Hence, the term Integrated Device Electronics or IDE disk drive was coined. Eleven years later, the same IDE hard disk controller technology is still being used by 90% of the PCs whose processors are 100 times faster than their counterparts. During the time period the speed of a disk drive had also been improved by ten times while the IDE controller stayed the same. In 1983, disk drives had 17 sectors per data track and data was transmitted at 800 kilobytes per second. In 1994 disk drives have over 80 to 100 sectors per data track and data is transmitted at four to five megabytes per second. Hence, they programmed the computer processor itself to move the disk drive data at 800 kilobytes per second. This is the famous programmed I/O (PIO) data transfer scheme of IDE adapters. PIO prevents the processor from doing other useful tasks while data transfer is taking place. In 1994, all IDE adapters still had PIO data transfer. It does not take a rocket scientist to see the mismatch of speeds between a computer processor and its IDE hard disk controller today. As a more costly alternative to IDE, Small Computer System Interface (SCSI) provided higher performance that matched faster disk drives with yet even faster processors. On a SCSI adapter, data from disk drives are moved by a Bus Master Direct Memory Access (DMA) scheme, which we will explain in this document. The Bus Master DMA function moved data at the speed of six megabytes per second ten years ago and over 100 megabytes per second today. The cost of SCSI has limited its adoption to only 20% of the PCs sold today. As the manufacturer of the original IDE controller, Western Digital has led a coalition to create Enhanced IDE Standard which improves the maximum IDE data transfer speed from one to two megabytes per second to twelve megabytes per second. This new standard was promoted as an alternative to SCSI for high-end PC workstations. Unfortunately, data transfer speed is not the only thing needed for attaching I/O devices to a PC. Enhanced IDE still lacks many features that are critical to the performance of a PC. 1.Multitasking The most important performance feature needed by an I/O adapter today is multitasking, the ability of a computer or adapter to process many tasks at one time. Computer scientists learned about the importance of multitasking three decades ago. When a processor capable of 100 MIPs must spend 10 to 20 milliseconds waiting for the completion of an I/O request, it is like driving a Formula One racecar in New York City. You simply can not get 200 miles per hour. Multitasking allows the very fast processor to switch to a different task which generate yet new requests to the same or different I/O devices. Let me explain this in detail. Ten years ago, a processor needed 100 milliseconds to start one disk I/O request which took about 100 milliseconds to complete. Today, the processor needs only 1 millisecond to start the same request which takes about 10 milliseconds to complete. In a single tasking computing environment, the processor must wait for nine milliseconds for the I/O request to complete, waiting 90% of the time. In a multitasking computing environment, instead of waiting for an I/O request to complete, the processor switches to other tasks which generate even more I/O requests. Having several I/O devices running concurrently ultimately improves the computer's throughput by several times. Multitasking function matches the 100 MIP processor with multiple I/O devices to maximize the performance of faster processors; similar to multiple assignments to your senior designers, who are quite capable of more than one task at a time. Like IDE, Enhanced IDE still operates one I/O device at a time. Let's examine carefully how the faster data transfer of Enhanced IDE affects the computer performance. Please refer to the following figure for the explanation. When a disk I/O request reads eight Kbytes of data, a very fast disk drive today spends about eight milliseconds to move the disk arm and two milliseconds to transfer the data, at a speed of four megabytes per second. Using an IDE adapter on a PC/AT ISA system bus, the data transfer is limited to just one megabyte per second. Therefore, the data transfer time is slowed down to eight milliseconds. The I/O request now needs 16 milliseconds to complete, eight milliseconds for disk arm movement and eight milliseconds for data transfer. Enhanced IDE is capable of 12 megabytes per second. Therefore, it is quite capable of accepting the eight Kbytes of data in two milliseconds. By the way, the disk drive itself will not deliver the eight Kbytes of data in less than two milliseconds because this is the speed of data coming off the read head of the drive. Therefore, the Enhanced IDE allows the disk drive to run at its real speed without slowing it down by completing the request in ten milliseconds. However, using an IDE adapter, the 100 MIP processor must wait for 15 milliseconds for an I/O request to complete; using an Enhanced IDE adapter, the waiting is still nine milliseconds. For a slow disk drive or CD-ROM, the wait is much longer. In the figure below we have depicted how a multitasking SCSI adapter completes two I/O requests to two different disk drives in just 13 milliseconds. Just imagine the performance improvement when we apply the same multitasking scheme to four or five disk drives. IDE/ISA* |1|8 |8 |1|8 |8 | Total access time = 34 milliseconds Enhanced IDE* |1|8 |2 |1|8 |2 | Total access time = 22 milliseconds Multitasking SCSI+ |1|8 |2| First Drive |1|8 |1| Second Drive Total access time = 12 milliseconds * The numbers are milliseconds for an I/O request starting a request, 1 millisecond disk drive access time, 8 milliseconds data transfer time, 2 milliseconds Many people argue that for DOS and Windows applications single tasking is just fine. However, they don't know that the processor was spending 90% of its time waiting. Chicago, NT, OS/2 and UnixWare and other multitasking operating systems will highlight this issue to the user. 2.Bus Master Data Transfer The second misconception about Enhanced IDE is that the data transfer is now faster than SCSI, which after all, has a maximum speed of only ten megabytes per second. However, to achieve high data transfer rate, and Enhanced IDE I/O adapter must have a bus master transfer mechanism similar to that of SCSI. A bus master transfer allows the I/O adapter to become a system bus master allowing it to initiate a data transfer and thereby freeing up the PC processor to do other processing such as graphics. Today, either an IDE or a SCSI disk drive can only transfer data at less than five megabytes per second. Both Enhanced IDE and SCSI adapters will transmit data from disk drives at the maximum disk data speed. However, with multitasking and Bus Master data transfer two different five megabyte SCSI drives can share data transfers on a ten megabyte SCSI bus. The same is not true for two Enhanced IDE drives because of the lack of multitasking capability. Without Bus Master, even an Enhanced IDE drive must use Programmed I/O (PIO), a data transfer mechanism, meaning the 100 MIP processor itself must move the disk drive data. When the processor is moving data, it is not spending its time doing other useful works. Unlike Bus Master data transfer, PIO transfer cannot perform burst transfer -- the ability to saturate the system local bus at 120 MB per second by bursting consecutive data transfers. Bursting ten MB of data on a 120 MB bus leaves 90% of bus bandwidth to other adapters. The Bus Master data transfer not only frees the processor from data transfer task but also consumes the minimum bandwidth of the system bus. Using PIO, the Enhanced IDE will consume the system bus at 100%. The real secret of reducing the SCSI adapter cost is not to create yet another standard like Enhanced IDE, but to integrate the Bus Master DMA data transfer function into the SCSI adapter chip. Using the latest semiconductor technology, a highly integrated SCSI adapter chip will not be much more expensive than an Enhanced IDE adapter chip. 3.Connectivity SCSI has yet another unique function that is unmatched by Enhanced IDE, i.e. one can connect disks, printers, scanners, MO disks, stackers, and tape drives to a single SCSI adapter. Using Enhanced IDE devices different adapters are needed for multiple peripherals. An IDE adapter can connect two devices, one master and one slave. Only one of the two can be busy at one time. Remember the single tasking function of IDE? Two requests to those two drives must be completed sequentially! To eliminate the need for a second adapter, some companies build CD-ROM devices with an IDE interface such that it can share the same adapter with a hard disk drive. However, the average access time of a CD-ROM is an order of magnitude slower than a hard disk. Sharing an adapter between a CD-ROM and a hard disk is like sharing a country road between a VW and a Porsche, and the latter must slow down to the same speed as the former. For example, if the CD-ROM is spending 100 milliseconds to complete an I/O request, the hard disk drive capable of ten millisecond access time must wait for the full 100 milliseconds. 4.Conclusion The Enhanced IDE attachment is promoted as an alternative to SCSI. We know that data transfer speed is not the only thing needed by today's high-end PC workstations. Multitasking is a much more effective method to match the performance of a very fast processor with multiple I/O devices. A bus master function is needed to free up the fast processor from time consuming tasks such as transferring data. Having a single adapter for multiple I/O devices can save one as much money as buying many cheap, low performance adapters, not to mention the need for multiple slots to plug in those cheap adapters. The real alternative to the more costly SCSI adapter is to build adapters with highly integrated chips. Inventing yet another standard such as Enhanced IDE is not necessarily the best solution.