Sign in to follow this  
The Belgain

Non-striping RAID4

Recommended Posts

Hi there,

I've recently come accross this thread in AVSForums about a new (to me at least) way of implementing RAID4 with slightly different aims to standard RAID4/5.

Like RAID4, an n-drive array has a single dedicated parity drive, which stores XOR parity data for the n-1 drives and protect against loss of data when any single drive in the array fails. The difference is that rather than data being striped accross drives as in RAID4/5, each drive appears as a completely serparate drive to the OS, and data is written to a single drive (plus the parity drive).

So when data needs to be read from a drive, it is simply read exactly as if the drive were a single drive. When data is written to one of the drives in the array, the existing data is first read from the drive and if the new data differs, then the parity data on the parity drive is reversed, otherwise it is left unchanged.

The obvious disadvantage of not striping the data is that performance is significantly worse than a traditional RAID4/5 array; read performance is at most 2x the speed of a single drive, and write performance is slower than that of a single drive.

The advantage and main reason for this method is flexibility; drives don't have to be the same size (the only requirement is that the parity drive is at least as large as each other drive in the array). Also it's very easy to expand the array (to add a drive, all that needs to be done is to add the drive to the array, and then recalculate the data on the parity drive - recalculating parity isn't even necessary if the drive is added formatted to a 0's!). Similarly it's very easy to remove drives, or swap drives out for larger/smaller ones.

The reason I noticed this is that it's being offered by a company called Limetech. They are offering it as a slimmed-down Linux distro with a RAID driver they've written themselves, and a managment interface. They've announced that they're going to release the code for the driver module under the GPL.

It seems like it would be really nice to have this functionality in the Linux software RAID kernel module. Does anything like this exist already? If so, then why has it never caught on (the video buffs with the 1000's of DVD seem pretty keen on the idea of just being able to add redundant storage without any hassle or having to worry about getting identical-sized drives)? I was wondering if anyone has any experience using a similar system before? Is this new?

Share this post


Link to post
Share on other sites

Well, I think this goes to show that just because you can do something doesn't necessarily mean that you should. <_<

Just off the top of my head, it sounds like you get none of the advantage of multiple spindles (increased read performance by reading data in parallel) and all of the disadvantage of having your parity drive be your bottleneck. In fact, by having a dedicated "parity" drive, you are also denying the possibility of distributing the parity (as in RAID 5) to improve write performance. :blink::(

In addition, having each drive appear as a different drive letter is certainly not something that I would consider a benefit. What if I want to group my data differently? What if I don't want all my available drive letters assigned as I add drives to increase my available storage on my audio/video library? :rolleyes:

Also, there are other solutions available which allow you to utilize the full capacity of your hard drives without any of these drawbacks, such as the Optimized Disk Utilization feature from Adaptec.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this