RAID 1 Read "Striping"?

Silencing hard drives, optical drives and other storage devices

Moderators: NeilBlanchard, Ralf Hutter, sthayashi, Lawrence Lee

Post Reply
JWarrior
Posts: 26
Joined: Tue Feb 18, 2003 4:58 pm

RAID 1 Read "Striping"?

Post by JWarrior » Sat May 15, 2004 5:19 am

I know that RAID 0 provides striping on both reads and writes, and RAID 1 provides mirroring...but shouldn't RAID 1 also provide striping on reads? I.e., read alternating stripes from each of the two drives in the array? I read somewhere a long time ago that RAID 1 supports this, but I've also read conflicting information that RAID 1 is actually slower than a single disk for reads (as expected, it is also slower for writes). I'm beginning to think it might be a controller based option as to whether or not RAID 1 allows for "striped" reads. Is that correct? Any idea which RAID controllers allow for "striped" reads and which do not?

Thanks

CallMeJoe
Posts: 207
Joined: Wed Aug 27, 2003 11:01 am
Location: Secession State

Post by CallMeJoe » Sat May 15, 2004 6:52 am

RAID 1 is defined as a mirrored array, i.e. no striping. Some RAID controllers (minimum 2 channels for IDE, 4 channels for SATA) allow RAID 0+1. This requires 4 HDDs but allows mirroring and striping (2 mirrored stripe sets of 2 HDDs each). There is also RAID 5 which gives striping with redundancy through parity, but you'll need someone else (or Google) to explain it.

hyperslug
Patron of SPCR
Posts: 99
Joined: Wed Nov 19, 2003 10:38 pm
Location: US > NC > Wake Forest

Post by hyperslug » Sat May 15, 2004 10:08 am

CallMeJoe wrote:RAID 1 is defined as a mirrored array, i.e. no striping. Some RAID controllers (minimum 2 channels for IDE, 4 channels for SATA) allow RAID 0+1. This requires 4 HDDs but allows mirroring and striping (2 mirrored stripe sets of 2 HDDs each). There is also RAID 5 which gives striping with redundancy through parity, but you'll need someone else (or Google) to explain it.
He means striped reads only, which would be feasible in a mirror, though I don't know if it's in the RAID 1 spec. I've read that the first drive to respond to a request will provide data, thus reducing latency.

Tigr
*Lifetime Patron*
Posts: 332
Joined: Mon Feb 10, 2003 8:18 am
Contact:

Post by Tigr » Sat May 15, 2004 11:33 am

It is implementation-dependent. In other words, it depends on the design of the driver. Some of the systems do striping on read, others don't. Definitely the Linux software RAID 1 driver does striped reads. I cannot tell you for any other system or board though. If you have a board that supports RAID 1 in hardware, maybe you can ask the manufacturer.

Jan Kivar
Friend of SPCR
Posts: 1310
Joined: Mon Apr 28, 2003 4:37 am
Location: Finland

Post by Jan Kivar » Sat May 15, 2004 1:16 pm

3Ware has this "striped reads"; it's called TwinStor.

AFAIK Highpoint has similar feature (the "out-of-spec" RAID1.5 that is in some MBs, IIRC) and Promise doesn't have this feature (again AFAIK).

Cheers,

Jan

bigred
*Lifetime Patron*
Posts: 260
Joined: Sat Mar 15, 2003 3:48 am
Location: ontario.ca

Post by bigred » Sat May 15, 2004 1:19 pm

As far as I know it is impossible to implement stripping in a purely RAID 1 environment. Also that is the reason for the RAID 0+1 spec. In RAID 1, the data is stored and sorted incorrectly for a striping setup.

RAID 5 is my personal fav. Data striping with distributed parity. That means fast reads, and redundancy. I have a 4 drive array that had a drive failure a while back. While the drive was being RMA'd I was still able to access all my data. Only downside is that its write performance is slower than some of the other RAID types.

Jan Kivar
Friend of SPCR
Posts: 1310
Joined: Mon Apr 28, 2003 4:37 am
Location: Finland

Post by Jan Kivar » Sat May 15, 2004 2:28 pm

bigred wrote:As far as I know it is impossible to implement stripping in a purely RAID 1 environment.
Well, IMO it is safer to implement stripping with RAID1 than with just a single drive environment, let alone with AID0... :lol: :lol:
[Ok, prolly not a very good joke... :/]

Cheers,

Jan

JWarrior
Posts: 26
Joined: Tue Feb 18, 2003 4:58 pm

Post by JWarrior » Sat May 15, 2004 6:36 pm

I recall reading about the HighPoint RAID 1.5 controller at Tom's Hardware. What was somewhat troublesome about that controller was the fact that a mirrored drive could not be read on any other controller besides the HighPoint RAID 1.5 controller...so if I ever needed to move my harddrive to another computer, I wouldn't be able to read the data on it...

So really there's no performance gains at all to be experienced by using RAID 1 (i doubt that the reduced latency effect is significant) and a slight performance degradation because writes take slightly longer...

I'm probably better off just getting a single drive, and making periodic back-ups of my important files...

tragus
*Lifetime Patron*
Posts: 356
Joined: Fri Apr 18, 2003 11:19 am
Location: Baltimore, MD

Post by tragus » Sun May 16, 2004 11:26 am

JWarrior wrote:I'm probably better off just getting a single drive, and making periodic back-ups of my important files...
In general, I agree. Indeed, frequent back-ups are *really* important no matter what disk setup you have.

However, after a catastrophic failure of a boot drive (WD1200) on one of our lab's computer, I've decided the safety of a RAID 0 is worth the price. Our experimental rig was down for over 3 days as I a) diagnosed the disk failure, b) reloaded the OS, c) reloaded all the application software. It was all a royal agravting pain in the elbow. For our systems, I think I'm going to go RAID 0 for the boot drive (for minimal down time) and RAID 1 for the data drive (for performance). The data drive is duplicated nightly to several other computers in the lab, so it would be trivial to copy the files in the case of failure. The added cost of the drives would be more than made up in saved time (salary) should another problem occur.

I like the RAID 0+1 or 5, but I'm not sure my motherboards handle either configuration directly, and I'd rather not add the complexity of a separate RAID board.

Ob silent storage: I intend to continue using Samsung, since the slight performance difference between them and IBM or other drives is far outweighed by the sound levels.

Gholam
Posts: 155
Joined: Mon Apr 26, 2004 10:09 am
Location: Israel
Contact:

Post by Gholam » Sun May 16, 2004 1:20 pm

Tragus, I'm afraid you have a little mistake there. RAID0 is striping, RAID1 is mirroring.

What motherboard are you using? Quite a few upper range motherboards can do RAID1+0 in hardware, but I'm not aware of anything (besides monster server stuff) that has RAID5 controller integrated. You can do it in software (assuming your OS supports it), but it's a beastly drain on CPU.

ao
Posts: 34
Joined: Wed Mar 17, 2004 9:58 am
Location: seattle

Post by ao » Sun May 16, 2004 4:49 pm

What motherboard are you using? Quite a few upper range motherboards can do RAID1+0 in hardware, but I'm not aware of anything (besides monster server stuff) that has RAID5 controller integrated. You can do it in software (assuming your OS supports it), but it's a beastly drain on CPU.
This is something I've never truly gotten a straight answer to, so I'm hoping someone that really knows the ins and outs of hardware/software raid can speak to it.

1 - If I understand them correctly, the onboard RAID controllers of most motherboards aren't really implementing hardware RAID. They don't have any kind of coprocessor on the chip that actually does the parity calculations or takes any real load off of the CPU. It presents the drives to the OS as a single volume (or however you set it up), but all of the striping calculations still gets loaded onto the CPU through the device driver. This sounds to me like software raid, not hardware raid. Can someone speak to whether this is wrong or right? If this is right, then I don't understand why people make a big deal out of motherboards having these kind of onboard controllers, when setting up a software raid array is probably just as effective.

2 - Can someone comment on what a drain on the CPU a software RAID array really is? I find it hard to believe that a 2+ Ghz CPU would even break a sweat doing the kind of calculations a dedicated hardware processor on the RAID controller would do, given that most of those processors run at a small fraction of the CPU speed?

Thanks for any clarification you all can bring.

hyperslug
Patron of SPCR
Posts: 99
Joined: Wed Nov 19, 2003 10:38 pm
Location: US > NC > Wake Forest

Post by hyperslug » Sun May 16, 2004 6:01 pm

ao wrote:This is something I've never truly gotten a straight answer to, so I'm hoping someone that really knows the ins and outs of hardware/software raid can speak to it.

1 - If I understand them correctly, the onboard RAID controllers of most motherboards aren't really implementing hardware RAID. They don't have any kind of coprocessor on the chip that actually does the parity calculations or takes any real load off of the CPU. It presents the drives to the OS as a single volume (or however you set it up), but all of the striping calculations still gets loaded onto the CPU through the device driver. This sounds to me like software raid, not hardware raid. Can someone speak to whether this is wrong or right? If this is right, then I don't understand why people make a big deal out of motherboards having these kind of onboard controllers, when setting up a software raid array is probably just as effective.
If it's the device driver that does the calcs, that implies the array is not bootable, as the driver will need to be read from the array. I consider that software RAID.

JWarrior
Posts: 26
Joined: Tue Feb 18, 2003 4:58 pm

Post by JWarrior » Mon May 17, 2004 2:02 am

This is something I've never truly gotten a straight answer to, so I'm hoping someone that really knows the ins and outs of hardware/software raid can speak to it.

1 - If I understand them correctly, the onboard RAID controllers of most motherboards aren't really implementing hardware RAID. They don't have any kind of coprocessor on the chip that actually does the parity calculations or takes any real load off of the CPU. It presents the drives to the OS as a single volume (or however you set it up), but all of the striping calculations still gets loaded onto the CPU through the device driver. This sounds to me like software raid, not hardware raid. Can someone speak to whether this is wrong or right? If this is right, then I don't understand why people make a big deal out of motherboards having these kind of onboard controllers, when setting up a software raid array is probably just as effective.

2 - Can someone comment on what a drain on the CPU a software RAID array really is? I find it hard to believe that a 2+ Ghz CPU would even break a sweat doing the kind of calculations a dedicated hardware processor on the RAID controller would do, given that most of those processors run at a small fraction of the CPU speed?

Thanks for any clarification you all can bring.
I'm also curious about this...I always understood that the RAID chips on motherboards work similarly to the audio and network chips on the motherboard...they implement the RAID or sound or LAN port as a separate hardware device, but rely on the CPU to do the actual processing...to get true hardware processing, you need to buy a separate add-on RAID controller, Sound Card, network card, etc.

Is that correct? or do any motherboards actually have their own hardware RAID controllers on them?

ao
Posts: 34
Joined: Wed Mar 17, 2004 9:58 am
Location: seattle

Post by ao » Mon May 17, 2004 9:01 am

JWarrior wrote:


I'm also curious about this...I always understood that the RAID chips on motherboards work similarly to the audio and network chips on the motherboard...they implement the RAID or sound or LAN port as a separate hardware device, but rely on the CPU to do the actual processing...to get true hardware processing, you need to buy a separate add-on RAID controller, Sound Card, network card, etc.

Is that correct? or do any motherboards actually have their own hardware RAID controllers on them?
I think you even have to be careful buying an add-on RAID controller to make sure it actually is a Hardware solution. As far as I know, the majority of the IDE raid cards people buy (Promise, Highpoint, etc) for about fifty bucks are just the same chips that come on the motherboards stuck on a PCI card. Still software RAID, as far as I can tell. I'm still waiting for someone that really knows something about this topic to weigh in...

anyone? How much of a difference is there in performance between a software RAID solution done by the OS, what appears to be Software RAID done through something like a Promise Raid controller with no dedicated processor, and a true hardware RAID controller?

Putz
Posts: 368
Joined: Thu Aug 21, 2003 1:25 am
Location: Ottawa, Canada
Contact:

Post by Putz » Mon May 17, 2004 10:31 am

To be accurate, these integrated hardware devices still technically provide "hardware RAID". They are just usually more CPU-dependent than other chips may be. If drivers are sometimes required, that does not negate this fact (drivers are always required for all hardware devices).

All devices must interact with the CPU -- it's just a question of how much. And for RAID-0 and RAID-1 solutions, the amount of CPU power required shouldn't really be that significant in contrast to CPU speeds today. (However, CPU-based RAID-5 absolutely hogs the CPU during writes, due to the XOR parity calculations required.)

"Software RAID" requires no hardware support whatsoever, beyond the normal single-drive controllers and drivers. It is implemented purely in software (usually the operating system).

Post Reply