The Areca line of SATA RAID cards seem to be the best I've found. All parity calculations are done on the cards dedicated processor and it does not used the systems processor in anyway. Other cheaper cards will do this like the Rocket Raid or Broadcom cards. You may get higher throughput but at the expense of high system processor usage. Areca card processors are also very fast compared to other SATA RAID cards that use a dedicated processor on card like 3ware. I found 3ware cards to be much slower in write speeds (like twice as slow) compared to the Areca line of cards.
The speeds I've seen with bonnie++ on the Areca 1160 (16 port) with 8 Seagate ST3400832AS and 8 Seagate ST3160023AS with native command queuing (NCQ) turned off is 254MB/s writes and 388MB/s reads. For some reason if you don't turn off NCQ the your read speeds go down the drain. We are not sure why this is but I think it's a problem with the Areca cards and have reported it to Areca. The ST3160023AS don't support NCQ but the ST3400832AS's do. Not sure if mixing NCQ and non-NCQ drives on the same controller are doing it but if you leave it on read speeds go down by 60% which is nuts.
The Areca card is a 64bit PCI-X 133/MHZ RAID card. It is in a 64bit PCI-X 133/MHZ slot. The machine is a dual 3.06 Xeon with 2G of ram. In a RAID 6 setup bonnie++ was run with the following line:
sync;bonnie++ -d /disk1/ -s:80g -mAreca1160 -r2048 -x1 -u root -f -b -n 2:10000000:1000000:64 >>Areca1160
80G was used so we would saturate all the ram in the system and get a better reading of the cards actual speed. Usually 40 times the systems ram is good. You can limit the systems memory by using a kernel option at boot. So the test is shorter and your sure you can saturate the RAM. Don't for get to turn the swap off (command is just "swapoff") also! The entry to limit the memory is below. The example was done with CentOS 4.1 and a GRUB boot menu:
title CentOS (2.6.9-11.106.unsupportedsmp) Raid Test Memory Limit 64M root (hd0,0) kernel /boot/vmlinuz-2.6.9-11.106.unsupportedsmp ro root=LABEL=/ mem=64M initrd /boot/initrd-2.6.9-11.106.unsupportedsmp.img