Sign in with
Sign up | Sign in
Your question

RAID-1 simultaneous read requests

Last response: in Storage
Share
October 1, 2007 3:11:44 PM

http://www.storagereview.com/guide2000/ref/hdd/perf/raid/concepts/perfReadWrite.html:
Quote:
Mirroring: Read performance under mirroring is far superior to write performance. Let's suppose you are mirroring two drives under RAID 1. Every piece of data is duplicated, stored on both drives. This means that every byte of data stored must be written to both drives, making write performance under RAID 1 actually a bit slower than just using a single disk; even if it were as fast as a single disk, both drives are tied up during the write. But when you go to read back the data? There's absolutely no reason to access both drives; the controller, if intelligently programmed, will only ask one of the drives for the data--the other drive can be used to satisfy a different request. This makes RAID significantly faster than a single drive for reads, under most conditions.


How many RAID controllers actually implement this? For instance, does the ICH9R chip?
a b G Storage
October 1, 2007 3:47:35 PM

All RAID controllers support RAID1 including the ICHR9. I have yet to see any RAID controller, even the most craptastic controller, that does not support at least RAID1 and RAID0.
October 1, 2007 3:58:59 PM

That's not what I mean. In Raid-1 the same data has to be written to both drives at once, but are there controllers which allow different data to be read from the individual drives? This could increase performance in multi-user environments.
Related resources
a b G Storage
October 1, 2007 6:24:01 PM

favoritetort said:
That's not what I mean. In Raid-1 the same data has to be written to both drives at once, but are there controllers which allow different data to be read from the individual drives? This could increase performance in multi-user environments.

As far as I know, all modern controllers read each disk independently and data is transferred from the disk with the shortest queuing, seek and rotational delays. Also, the seek and queue times increase as disks are added to the RAID1 array. Because of that, there is a slight increase in read performance over a single disk. However, RAID1 reads are not as fast as RAID0.

A RAID1 implementation with multiple disks attached to a single controller is not to be confused with duplexing. This implementation of RAID1 uses two controllers so both disks can be accessed independently and requested sectors can be split evenly between the drives. Duplexing increases read/write times as well but also adds in the added redundancy of a second controller to further reduce any possible hardware failures. And as far as I know, all modern controllers running on an multi-threaded operating system support duplexing.

I'd be curious to hear input from the RAID gurus.

Either way, good luck!

October 2, 2007 1:06:43 AM

Most less expensive and motherboard-based RAID controllers will not increase read speed by intelligently queuing read requests to different drives.

Higher end RAID 1 controllers like 3Ware, LSI, and some higher end Adaptec controllers will do this. On board cache is required to re-order read requests, keep track of each drive's head position, and send the requests to the respective drives that will minimize the seek time.
!