Archive for the 'Tech Toys' category

Computer performance puzzle: Hard drive PIO vs. (U)DMA mode

February 18, 2008 7:06 pm

[I may have a hard drive mini-series on my hands here, see previous post.]

If your computer has performance problems and you can’t quite explain why (you’ve ruled out startup items, spyware and such ilk), it may be worth looking at how your IDE controller manages hard drive data transfer. It should be using (U)DMA, unless your computer and hard drive is from the stone ages.

To check, go to Control Panel – System:

image

Click Device Manager and expand the IDE ATA/ATAPI Controllers node:

image

Now double-click on a Primary or Secondary IDE Channel and go to the Advanced Settings tab:

image

If the Transfer Mode combo box doesn’t say “DMA if available”, you can change it, then restart the computer. That should switch Current Transfer Mode to (Ultra) DMA Mode (X) if your drive supports it, which it should.

But what if Current Transfer Mode doesn’t say (Ultra) DMA Mode (X) after that? What if it stays in PIO mode no matter what you set the Transfer Mode to and no matter how many times you restart? That’s what happened to my system. And it was slow as molasses starting up, since my boot/system drive was in that mode.

It turns out that Windows keeps track of the transfer statistics between your drive and the rest of the system. If Windows encounters a lot of transfer errors, it slowly dials the transfer mode back. So it can go from Ultra DMA Mode 5, to Mode 4, Mode 3, etc. all the way back to PIO mode. If Windows encounters DMA transfer timeouts, it will immediately go back to PIO mode. According to this support article on Seagate’s web site, those errors will be logged in the Windows Event Log, but I guess it happened so long ago on my system that the entries have been lost in the meantime.

According to the same Seagate article, the solution is to delete the corresponding IDE Channel device from Device Manager, restart Windows, let the system re-detect the device, reinstall the driver and restart one more time. Now DMA transfer mode should be back, and your system should perform much better.

You still might want to investigate why the mode got switched back to PIO. Look through the event log using Event Viewer, filtering by Event source type “disk”. Also, check the ribbon cable you use to connect the hard drives. It may have come loose, or it may not be of the right kind (it has to have 80 conductors, not 40) or quality. Using ribbon cables with too many hard drive changes can cause loose/broken connections between the connector pins and the cable.

Listen to your hard drive’s S.M.A.R.T. status

1:37 pm

As I mentioned in my last post, I went to the local Fry’s recently to get a replacement hard drive. What prompted me to do that was a warning from the BIOS of my computer saying that the S.M.A.R.T. status of the drive was bad. I’m glad I listened to that warning. After replacing the drive, I put it in a separate machine to perform a safe erase (using Eraser, which can also be found on SourceForge), but not until looking at the S.M.A.R.T. information using SpeedFan. It told me that there were over 65000 excess relocated sectors, which means that the drive basically was running out of spaces to move bad sectors to when needed.

After this exercise I installed SpeedFan on my main machine as well, and found that I have another hard drive that’s not too healthy. So I may have to go out and get another replacement soon.

I also found a monitoring tool called ActiveSmart, which costs money (unlike SpeedFan, which is free), and can alert you via email or network messages when a drive is beginning to deteriorate.

While I’m on the subject of hard drives, another handy tool is DTemp, which shows you the temperature of your hard drives in the Windows notification area (and can show S.M.A.R.T. data, too). Keeping the temperature of your hard drives as low as possible is important to make them perform optimally and make them last as long as possible.