Raid 0
Well, it's actually aid 0
In this section we will discuss raid 0 in more detail. We will look at how it works and what the pros and cons are.
So, I call it aid 0, because raid is supposed to protect against disk failure. So it should actually be, array of independent disks, not redundant array of independent disks.
With raid level 0, there is no protection. You just stripe a bunch of disks together.
So why use it?
Let's have a look at how raid level 0 works. With this level you can either stripe disks together or you can concatenate disks together.
The theory behind stripping is that you setup the disks so you can write to all disks at the same time. To explain this better we'll have a look at how data is written to a single disk.
Let's say you have one disk in your system. Two blocks of data has to be written to the disk. Because you only have one disk, it takes two write operations to get the data on the disk.
Example of single disk writesLet's look at what happens if we use raid level 0. Let's say the disks are 100Gb each. If we stripe them together we can write to both disks at the same time. Not just that, but because we can write to both disks at the same time, we have double the capacity of a single disk.
Raid 0 with 2 disks strippedWe now have 200Gb, instead of 100Gb. When the application writes the data to disk, the software will take the data blocks and split it up. This will then write the data in one operation to both disks. So, blocks A and B will be written in one write operation, and blocks C and D, in another.
If this was one disk, it would have taken 4 write operations to get these four blocks on the disk. We could have done even better by adding 4 disks to the stripe. Then all data blocks could have been written in one operation.
How cool is that!.
You can stripe multiple disks together for even better performance and capacity. You need at least 2 disks of the same size to use a raid 0 stripe. Imagine if you stripe four 2 terrabyte disks together. You will get a file system size of 8 terrabytes. That's bigger than any disk available today.
There is a downside to this. Imagine you losing a disk. There is no way to recover from this because the disks were striped. To read the data you need all the disks that you put in the stripe.
If you look at the picture above for raid level 0, you can see that the data is stripped over 2 disks. If you lose one, the data is gone.
So, with raid 0 you get great capacity, great performance but no redundancy. This raid level is not often used. System administrators might use it if they need some extra space for testing something or they just need some space to put temporary files in.
Another thing about raid level 0 is that the disks have to be the same size if you want to stripe the disks. If you don't then the volume would be double the size of the smallest disk. This means that if you stripe a 100Gb disk and a 200Gb disk, the size of the volume would be 200Gb and not 300Gb.
That sucks. Well, yes but the clever guys who invented raid created another type of raid level 0 called, concatenation.
With concatenation, the disks are not stripped, they are concatenated. This means that the disks are also put together to operate as one, but when the file system writes to the volume, it will write to the first disk, until it's full and then to the second disk.
Raid 0 using concatenationThere is no performance benefit using concatenation, only capacity. You get the same performance as writing to a single disk.
The cool thing about this is that you can use different size disks. If you do, you will see all space of the two disks. So, if you use a 100Gb disk and a 200Gb disk, you will be able to use the full 300Gb of space, without the striping, of course.
Raid 0 can be implemented in either hardware or software raid.
Return from Raid 0 to Raid Levels
Back to What is My Computer