1 Jan 1998
IDE or SCSI Disk
Summary: Modern computers come with EIDE (enhanced IDE) built into the mainboard. This is perfectly adequate for personal workstations. A high performance SCSI controller can be added to a new system for an extra $220. IDE and SCSI disks operate at the same speed, but SCSI has advantages for a multitasking server because it allows many devices to be performing operations at the same time.
The hard disk has one or more metal platters coated top and bottom with a magnetic material similar to the coating on a VCR magnetic tape. In the VCR the tape moves by a fixed recording and sensing device (the "head"). With a disk, the head is connected to an "arm" which is moved in and out along a radius of the disk circle. To read or write information, the computer or disk controller must figure out where the data is on the disk. The arm is then moved the correct distance, then it waits until the location on the disk where the data is located rotates around to the point where it passes under the head and can be transferred. The surface of the disk is preformatted into units that hold 512 byte of data (the "sectors").
In the first generation of PC's, the electronics to move the arm, position, and to control the recording or sensing was placed in a separate controller card. Advances in chip technology allow this function to be done by logic on the disk which can be more easily tuned at the factory to the special features of each type of device. Today there are two technologies, IDE and SCSI.
IDE (Standard on Desktop PCs)
IDE (Integrated Disk Electronics) is the least expensive current disk technology. IDE support is usually built into the mainboard, though it is also possible to get an interface card for the ISA bus for around $30. An IDE disk is connected to the mainboard or interface card through a flat "ribbon" cable. Rather than invent a new interface, the signals in the IDE cable simply duplicate the activity on the ISA bus itself.
After Nov, 1994 vendors started to ship systems with Enhanced IDE (EIDE). Classic IDE supported two hard disks of 528 megabyte or less. EIDE allows four devices, including a mixture of disks, tapes, and CD-ROM, and the hard disks can be larger.
An IDE interface cable has two plugs and can be attached to two devices. The first device acts as the master, and the second device acts as a slave. This interface is busy if either device is processing a request, so activity on one device blocks access to the other. It will generally be necessary when adding a new disk to a system to set a switch or connector on the disk to indicate if it is to function as master or slave.
When they designed the EIDE standard, they needed compatibility with all the existing IDE devices. So they didn't change the rules on the cable. An EIDE interface chip can support four devices, but it has two interface cables each connecting two devices. The EIDE chip looks and acts like two IDE chips. An old IDE disk can be connected to a new EIDE connector.
However, a new large EIDE disk cannot always be connected to an old PC. The original IBM programming interface limited the disk space to 528 megabytes (not a big problem when hard disks had 10 or 20 megs). Today there are 1 gig disks advertised for little more than $200. However, an old IDE disk interface chip may not support data beyond the first 528 megs. You can buy a new interface card for $40, but even then the BIOS on old systems will not support I/O to partitions that extend beyond 528 megs. You may need to load a new operating system (Windows 95, OS/2, or Windows NT) and the partitions containing the operating system files may have to reside completely within the first 528 megs of the disk.
Computers built in the last year should come with Extended IDE (EIDE). The extensions overcome limits in the original IDE design:
- IDE supports only disks. EIDE supports a mixture of disks, tapes, and CDROM drives.
- IDE supports only two devices. EIDE supports up to four devices on the same controller chip although it uses two cables.
- EIDE allows disks up to 1 gigabyte. Larger disks may also work, but that is up to the vendor. IBM, for example, doesn't officially support EIDE disks larger than one gig.
Since EIDE simulated two separate IDE interface chips, there is an optimization that many customers do not fully appreciate. Newer operating systems (OS/2, Windows NT, and even Windows 95 to some extent) permit more than one I/O request to be running at a time. When a program wants to read something from a disk, the request is given to the disk interface and another program is allowed to run while the first program waits for data. However, the IDE interface allows only one of the two disks connected to the same cable to be active at a time, and any request to use the second disk will be blocked while data is being read from the first disk. An EIDE interface duplicates this IDE restriction, but since the EIDE chip looks like two IDE devices, a request can be made through the second interface while the first interface is busy.
If you run plain old DOS and Windows 3.x, it doesn't matter. Those systems will wait for any operation to complete before running any other program. However, if you are running a new system, and if you purchase a second IDE hard disk, then there is a performance advantage to putting the second drive on the second interface cable (managed by the second simulated IDE "device") rather than connecting it to the same flat disk interface to which the first disk is connected. On separate cables, the two disks can be active at the same time.
However, if you have two hard disks and an EIDE CD-ROM, then it is best to put the two disks on the same cable and isolate the CD-ROM on the second cable. A CD-ROM is much slower than a hard disk, and it will be busy longer. If it is on the same cable with a hard disk, it will block access to that disk when any request is made. Unless it is used very infrequently, the best performance will probably be provided by isolating the slow CD-ROM on its own cable.
SCSI (For Servers and Power Users)
SCSI provides a standard interface for all types of computers. The IDE disk and the ISA bus are peculiar to IBM-compatible Intel-compatible PC machines. SCSI, however, is used by Macintosh computers, RISC workstations, minicomputers, and even some mainframes. SCSI has always supported a mixture of disks, tapes, and CD-ROM drives. While EIDE disks may go up to one gigabyte, SCSI disks are available with 4 to 9 gigabytes of storage.
SCSI is a bus. In the SCSI architecture, the PC (or more precisely, the SCSI adapter card in the PC) is just one device on the bus. Each device is a "peer" of the other devices. In theory, a tape drive could send commands to the PC. In practice, the tape drive isn't smart enough and the PC doesn't respond to commands anyway.
In the Classic SCSI bus, there are 25 signals, each represented by a pair of wires (50 wires all together). Nine of the wires hold the eight bits plus parity of a byte of data. The other wires carry control functions. Classic SCSI can transfer data up to 5 megabytes per second. The Fast SCSI option of the SCSI-2 standard allows 10 megabytes per second on the same cable. To run faster, a Fast Wide SCSI interface is defined, but it requires more than the usual 50 wire cable.
An IDE disk must be mounted inside the computer. There is no provision for the IDE ribbon cable to run to external devices. SCSI devices can also be internal. They are connected to each other and to the adapter card using a flat ribbon cable with 50 wires (OK) or a round bundled cable with 25 twisted pairs of wires (Better).
However, SCSI devices can also be external to the computer. They can be mounted in individual boxes, or can be mounted together in larger tower enclosures. The adapter card is connected to external SCSI devices with a round cable containing 25 twisted pairs of wires. Four external SCSI plugs are in common use:
- Apple has a cheezy, sleazy 25 pin "D Shell" connector on the back of each Macintosh. This is the same type of plug used on a modem. Obviously you cannot connect 50 wires to 25 pins. The sleazy part is that Apple takes all 25 ground wires and combines them. This eliminates the protection that would be provided by a proper cable with 25 twisted pairs.
- Older SCSI devices use the 50 contact Centronix interface (similar to the cable that plugs into a PC printer. This was the standard in the early years of SCSI, but it is bulky and has fallen out of favor.
- Newer devices use a smaller special SCSI connector with 2 rows of 25 pins. The newer SCSI-2 standard specifies this as the preferred connector. This is frequently known as a 50 pin mini-"D" shell or MDS50 connector.
- On serious large server machines there may be Fast-Wide SCSI cards. They can provide higher data transfer rates, but they may require special cables since they have more than 50 wires.
1394 (Firewire)
A new standard has just been adopted which has many advantages over IDE or SCSI. It will become important in future desktop systems as soon as the vendors figure out how to manufacture adapters and devices at low cost.
In both IDE and SCSI, the adapter or controller sends a signal to the device over a cable with a separate wire for each bit of data. Data is transferred one or two bytes at a time. This is called a parallel interface. Ultimately, a parallel connection is limited by skew:
Start Finish
o------------------------------------------------------------->
o-------------------------------------------------------------->
o--------------------------------------------------------------->
o--------------------------------------------------------->
o---------------------------------------------------------------->
o-------------------------------------------------------------->
<-Skew->
At the beginning of a 100 meter dash, the runners all line up evenly at the starting line. But they cross the finish in a ragged pattern. Electrons rush down a wire at almost the speed of light. However, when there are several wires running any distance between several devices, the signals don't all get to the end of the wire at exactly the same time. This is called skew.
Part of the problem are irregularities in the wire itself. One wire may be thicker than another, and differt batches of copper have different amounts of impurities. Part of the problem comes from differences in individual connectors every time the signal passes through an attached device.
Skew limits how tightly the bytes can be packed on the cable. All of the bits for one byte must arrive at the end of the cable before any bits for the next byte can arrive. Engineers have to design for the worst case, so they generally leave a big gap between bytes. As the cable gets longer and the number of attached devices grows, the gap has to get wider and the speed of the data goes down. Worse, because skew is cased by low tech issues (refining copper, making wire, and building cheap connectors) it is not possible to solve this problem by building better computer chips.
Advances in chip design now make it possible to pack successive bits very tightly on a pair of copper wires. The cable problems that produce skew don't effect this. Variations in the wire may cause electrons to slow down in one section of the wire, but then the next bit will also slow down at the same point. Today it is generally possible to reliably transmit more than eight bits of data on a pair of wires inside the gap required to solve the skew problem when wires run in parallel. In computer jargon, it is better to use a serial interface (one pair of wires) than a parallel interface (eight pair of wires).
Over a short distance, and in a controlled environment, the parallel signal arrangement is best. The CPU, memory, and I/O bus structures use a parallel signal. Even the cable from the EIDE controller to the devices is short and internal to the machine and works well in parallel.
The advantage of SCSI, however, has been the ability to connect to external disk and tape devices over several meters of cable. An external SCSI cable is bulky and fairly expensive. Unplugging a SCSI device when the power is on can crash the system.
Firewire (1394) is a serial alternative to the parallel SCSI connection. It was originally developed by Apple Computers, but was then proposed and accepted as a new international standard. Firewire uses two pair of wires for signals in both directions and one pair of wires to provide power to external equipment. Up to 63 devices can be connected in a loop or from the spokes of a hub. Devices can be plugged and unplugged when the system is running. Although the physical connection is different, Firewire uses the same commands as SCSI and may not require major reprogramming for existing device drivers.
Firewire is designed to be simple and low cost. In one of its more visible decisions, it connects to devices using a plug that was originally developed for the Nintendo GameBoy. Data transfer is as fast as SCSI, but the interface is much simpler.
Microsoft has proposed Firewire as part of its SIPC initiative. The SIPC computer comes in a simple basic configuration with no internal card slots or options. The system is extended by connecting external option boxes like hard disks. Unless unexpected problems develop in the engineering, computers should begin to appear with 1394 connectors sometime in early 1997.
Firewire is specifically designed for desktop and laptop systems. The same laws of physics may drive the redesign of connections for large dedicated file and disk servers, but industrial strength applications may deserve stronger engineering than the Nintendo GameBoy plug. IBM has proposed something called SSA. It has the same basic idea, but can run faster, support more devices, and provide better error recovery than Firewire. IBM uses it on its RS/6000 machines, but it is not clear at this point if it will be accepted for use by high end PC Servers.
EIDE or SCSI Today?
EIDE comes standard with any modern computer. The interface is built into the mainboard and requires no slots. SCSI requires an adapter card that may cost an additional $200. EIDE disks may be slightly cheaper than 1-2 gig SCSI disks. SCSI tends to dominate the larger 4-9 gig sizes.
There is no real performance difference. EIDE can be faster on paper than the SCSI bus (because SCSI is engineered for a long external cable with lots of skew) but neither bus is likely to limit the performace of a desktop system.
EIDE is not a choice for devices that don't start out as PC's. Mac systems, RISC workstations, and minicomputers use SCSI. SCSI also provides for the external connection of devices ("Zip" removable high capacity drives, writable CD-ROMs units, backup tape units).
SCSI is worth the extra cost in a Server. EIDE supports two separate I/O operations to two disks (on the two different interface cables). SCSI allows all of the disk devices to be active simultaneously. Of course, only one device can be transferring data on the SCSI cable at any given time. However, a disk spends most of its time moving the arm to the right location and waiting for the data to rotate around to the point where it can be read or written. A SCSI controller can have all of its disks moving into position while one disk is actively transferring data.
It goes without saying that a good disk interface on a modern server will connect to the PCI bus. The ISA bus is unreasonably slow (by modern terms), the Microchannel is expensive, and EISA is now obsolete. However, there are both IDE and SCSI adapters that interface to the PCI bus.
An EIDE adapter will always be dumb and cheap. A SCSI adapter can be smart enough to Busmaster. As a Busmaster, the SCSI card can transfer data to or from buffers in memory directly. This frees up the CPU to do other things. To get the full benefit, the computer must be running an operating system (Windows NT, OS/2, Netware, or Unix) that can take advantage of the full capability of the card. Vendors may offer a slightly lower price on a SCSI adapter card that doesn't Busmaster, but the $30 savings are not worth it if the machine will act as a server or will run a multitasking operating system like Windows NT.
Copyright 1996 PCLT -- Introduction to PC Hardware -- H. Gilbert
