I recently did a major system upgrade on my home office solution, moving to an Asus P8Z68-V Pro motherboard with a quadcore I7 processor.
My old system was also based on the Intel ICH chipset, and so I already had a mirror set (2x500GB Fujitsu drives) set up. This RAID1 set survived the upgrade with no hassle.
I also had a spare 1TB WD "green" drive (yes I know, it's not RAID certified but my issues are not related to TLER/idle spindown) and, stupid as I am, decided to order a second drive with the intention of migrating my old data to a new 1TB mirror set.
So; my actual configuration is:
ASUS P8Z68-V PRO motherboard
Intel i7-2600K CPU
Kingston HyperX 4x4GB DDR3, CL9-9-9-27 RAM
2xSamsung Spinpoint drives (exact spec unfortunately not available as I am at work)
2x WD 'Green' Drives, WD10EARS-00Y5B1
Windows 7 ultimate edition 64bit SP1 (also tested 32bit)
Intel Rapid Storage Technology version 10.5.0.22, as bundled by Asus.
Partitioning is aligned at 1024k.
My problem is as follows:
My old RAID1 set seems to be underperforming noticeably, with a sustained read rate of 75-45MB/s.
My new RAID1 set is underperforming extremely, averaging around 30MB/s and peaking at 45MB/s.
During long running IO-intensive loads, such as moving the contents of a partition, the system is very sluggish. However, there is no accompanying CPU load (user or system time) to explain this, so my guess is that either the chipset is struggling or the fake-RAID driver is hiding away the real CPU utilization, as seen from Task Manager/Resource Manager.
I have also noticed the following:
- While I am running a version of Intel RST which is explicitly stated to be 4K drive aware, it is still using a block size of 512 bytes for the RAID set.
- The underlying OS (windows 7 ultimate 64bit, SP1) has been patched to support 4K drives
- When running in IDE mode, my 1TB disks rated at 150-80MB/S with the expected dropoff from outer to inner sectors.
My theory about what is going on is:
- There seems to be a general performance issue with RAID1 (and possibly other configurations) on this chipset. It is based on Rev 3 so there should not be any issues with the 2nd and 5th ports, fingers crossed!
- The WD EARS range of disks are native 4K but always respond with 512 bytes as their physical block size. This is an incredibly dumb thing to do, since any intelligent controller would then honor this by always chunking IOs into discrete 512byte blocks, and inducing unnecessary read-modify-write cycles.
However the very interesting fact is that when running them in non-RAID mode, the drives perform excellently even though the OS also thinks they are 512 byte formatted. And the 64MB onboard cache (which is enabled in RST btw) should be able to smooth out linear IO, even when arriving in 512 chunks.
So; I cannot help but feel that there is something fishy going on in the RAID drivers that cannot wholly be explained by the notorious WD EARS drives. Bad as they are, they are still able to perform much better with an aligned partition. And in a mirror set, doing READ, you should in fact be able to read in parallel from both drives, and hence perform BETTER than standalone.
IF the problem pertains to the inconsistent physical block sizes then it is also quite fixable in the RAID driver. If I were allowed to set the physical block size of the mirror set to 4K then the issue should be resolved. However, the GUI currently bundled with these drivers is user friendly to the point of absurdity - even the "advanced" mode is extremely limited, and in fact only allows the user to choose wether to enable the on-disk cache or not.
So the question to the community then would be: Does anyone know of a way to tweak the properties of an Intel RST RAID set at a lower level? Or would this be in firmware territory, and require an update to the chipset itself?