Raid 0 performance - Seagate with AAK firmware


Aug 31, 2007
Here's my story of going from poor performance with Seagate Barracuda drives with AAK firmware to good performance with Western Digital RE2's.

I just built a new gaming system for myself (based on the current Bang for the Buck PC on Extremetech) and initially had just bought one Seagate Barracuda 320GB hard drive. My HD Tach benchmark performance was a little disappointing (around 55-60 MB/s read), so I decided to go with RAID 0 to improve loading times. I had never run RAID before, so this was fun to research and set up.

Motherboard: Gigabyte GA-P35-DS3R
Hard drives: 2x Seagate 320GB Barracuda 7200.10 SATA II w/ NCQ, 16MB Cache - ST3320620AS

I set up everything correctly as far as I could tell:
- took off the SATA rate limiting jumpers to enable full 3GB SATA
- set it up on the ICH9R controller's yellow ports instead of the purple Gigabyte controller ones
- stripe size 16k
- enabled volume write back cache
- updated all the drivers

Benchmark performance was surprisingly bad, so I knew something was up. Check out these HD Tach results:

(flat graph, average read 86.4 MB/s)

I found an article detailing problems with Seagate AAK firmware and discovered both hard drives had AAK firmware.

It had been over 30 days since I bought the drives, so I was pushing it in terms of being able to get an exchange. Seagate said there wasn't an update available for it, but luckily my local computer store was cool about it and let me pay the difference to get some new drives. I brought them a copy of the article, which helped out I think.. graphs are always good.

I upgraded to Western Digital 500GB RE2 RAID Edition (WD5000YS) hard drives, did a clean install again and updated drivers. Here are the results. Nothing else about the setup has changed.

(Normal curved graph, average read 130.5 MB/s)

So, there you go! It's a bit more expensive, but I'm satisfied with these results. Hope this helps out others in this situation!


Mar 9, 2007
Any reason you picked a stripesize of 16KB? That is very low and will limit performance of your array. I suggest taking 64KB or 128KB. Though bad controllers will read all the data in a stripe even when only 1KB is needed, that's the downside of picking a larger stripesize. But i believe Intel ICH9R does not suffer from this.