Shoddy PC construction and IDE PIO mode
Like any geek, I often do some quick maintenance when friend’s complain that their PCs are bogged down. Thrice now, I’ve found that the machines have switched down to PIO mode on their IDE channels. They’re not set to PIO mode in Device Manager, but Microsoft’s ATAPI driver has downgraded them to PIO mode.
This behavior is goodness: if it’s finding DMA speeds result in too many errors, it downgrades to slower modes, settling on PIO mode to run the drives. PIO mode is the safest, but is bloody slow as the driver must waste CPU polling for each byte to come off the drive. (in DMA mode, by contrast, the driver gives the channel a request and a memory location to stash the data, then lets the CPU go off to doing more interesting things like decoding my DVD stream). I’d rather have it slow down than blow off the error (as many other IDE/ATAPI drivers do).
Life in PIO mode sucks. The hard drive performs only slightly better than a floppy drive. In two of the instances I’ve found, the problem has been shoddy construction. In one case, the ribbon cable was bent all around, kinked and strained against the connectors. Replace it with a better or longer cable and it’s fine. Today’s case was improper routing. They connected the HD as a master and one of the DVDs as a slave, but put the master in the middle of the cable (masters should be on the end). Putting the master in the middle doesn’t properly terminate the cable, thus you get signal echoes [wikipedia: characteristic impedance] that every once in a while cause an error. Why’d they put it in the middle?? Because it was slightly easier to route the cables. (this chassis, like most, put the hard drive below the CDs, thus it’s easier to run the cable to the HD first).
This is just shoddy work. What ticks me off most is that this shoddy work gets rewarded with more sales. They put the machine together in a way that seems to work, but is generating an error every few thousand transfers. They won’t notice it in the factory. The customer uses the machine for a few years. Meanwhile, the number of errors increases, eventually the IDE driver downgrades the boot drive to PIO mode. The owner chalks it up to spyware and all those silly applets he installed. Rather than sort through that problem, he just buys a new machine - probably from the same low-ball priced vendor he got it from. If the vendor had built the machine right in the first place, the machine would still be performing decently, and there’d be no sale.
