Problems with Old Motherboard Chipsets and New SSDs

I recently installed Windows 8 as a dual-boot on my old Vostro 1500 laptop (I usually run Linux on it) and found that it was suffering from terrible bouts of freezing when running Windows. It would happen periodically, about every 1-5 minutes. Anything accessing the hard drive would stall for about a minute and then resume like nothing had happened. Everything not accessing the hard drive would work perfectly which showed it was something to do with my storage controller or the hard drive itself.

It was extremely frustrating and I couldn’t really get any work done. After not having much luck with any settings I stumbled upon the Windows Event Viewer which I had never paid much attention to before and found a whole heap of warnings that matched up with the times of each freeze that went something along the lines of:

disk: The IO operation at logical block address xxxxxxx for Disk 0 was retried.

storahci: Reset to device, \Device\RaidPort0 was issued.

After a bit of online investigation I found that other people were having a similar problem but there didn’t seem to be a definite solution. One common factor, however, was the fact that they were all using solid state drives. I tried some suggested fixes such as turning off dynamic ticks. Although, this didn’t have any effect and I didn’t want to switch my IO controller to basic IDE mode as AHCI has important features such as the TRIM function for SSDs which keeps them running fast among other things.

I finally had some luck when I installed some old storage drivers off the Intel website. The freezing completely stopped and Windows 8 ran like a dream, which was surprising given the old hardware in the laptop. There was one catch though: TRIM seemed to be disabled so I couldn’t optimise the drive and unused blocks were not marked for clearing in the background. It seems that since the Intel ICH8 chipset used in the Vostros was made long before SSDs became a big thing, the chipset does not support the TRIM command at all. This seems to make sense as the TRIM command is sent periodically and probably crashed the storage driver causing the freezes. Further confirmation of this problem comes from the fact that optimising the SSD drive (which is supposed to run TRIM on the whole drive) doesn’t seem to function and causes a freeze. I was having a similar problem last year when I had a standard hard drive installed, when Windows 7 sent some sort of power saving command to the hard drive the storage controller would crash and reset causing a freeze. Turning off a certain power saving option fixed this which seems to point to the incompatibility of the old chipset. I’m not sure why Windows doesn’t just detect that the storage controller doesn’t support certain commands.

So in summary, if you have an SSD drive with an old chipset like the ICH8, set your controller to IDE mode in your bios or install old drivers to avoid freezing errors. I still have to confirm if the TRIM command works in Linux – I assume it doesn’t but I probably haven’t noticed because it fails more gracefully than Windows. If anyone has a solution be sure to comment.