The Haiku/BeOS Tip Server
Tips and tricks for Haiku/BeOS users

Understanding the IDE drive chain

Contributed by: Peter Urbanec
This tip is valid for: Both BeOS and Haiku

If you’re trying to decide between SCSI and IDE, or if you’re having trouble getting your IDE drive chain to work properly, this background info on IDE may help.

IDE problems, such as reports from the BeOS install routine that certain files may be corrupt, can arise from several sources. It could be dodgy devices or BIOSes claiming they can do something (like UDMA), when they in fact botch it. However, I think that the real problem might be related to the cable length and quality.

You might want to disable DMA on ATAPI devices (either in the BIOS or in BeOS’ safe mode) while installing. However, that’s not as good as solving the underlying problem that results in data corruption. It is possible that the BeOS pushes the system harder than other operating systems, and that is why you see cable related corruption. According to the IDE spec cables should be 40cm or less in length. Be cautious, because many machines come with longer cables by default. Other operating systems work around this violation of the spec — BeOS may not.

One of the design differences between SCSI and IDE is the fact that SCSI has opted for reliability, performance and expandability from day one. On the other hand, IDE has been about low cost and ease of use, performance is only a recent after thought.

Both systems are subject to the same fundamental physical limitations when it comes to interconnecting cables. The cable has to handle high frequency signals over certain physical distances without distorting them too much. The signals are subject to the capacitance and inductance of the cable as well as the resistance inherent in any conductor. These values can vary quite a lot, depending on the quality of the cable construction and the materials used. Believe it or not, the length of the cable can make a big difference at high speeds.

Furthermore, the cable ends suffer from signal reflections unless they are correctly terminated. One of the differences between SCSI and IDE is the fact that SCSI requires cables to be terminated to absorb the reflections at the end of the cable and prevent them from affecting the signal. IDE has no such requirement and to counteract the problem of reflection, it limits the length of the cable and the number of devices attached to the IDE bus.

Bottom line? If you can’t go with SCSI, use the shortest possible, good quality IDE cables. Connect devices to ends of cable. If you have a second device put it in the middle of the cable only if a first device is already attached to the end of the cable. If it still craps up, decrease the bus frequency by lowering the maximum burst transfer rate over your IDE bus. The easiest way to do that is to disable DMA.

Posted in Hardware

(comments are closed).