The RAID Calculator lets you map sectors between the RAID and its individual drives. For example, if you want to know which sector on which individual member drive hosts sector 111
of a 3-drive backward RAID-5 with a block size of 128, you can find out with the tool below. Supported are RAID-0, RAID-5, RAID-6, and a non-standard RAID-5 as used in HP servers.
Try it out! Enter 111
in the field above and click "Calculate." On the right-hand side, you can read the result: drive 1
and sector 111
.
You can reverse the direction and find out which global sector originates from a given local sector. Click on ">>" and then type 2
into the field for the local drive and 111
into the field for the local sector. Now the left-hand side shows you the result, 239
, which is expected as the first 128 sectors are on drive 1 and the next 111 on drive 2, resulting in 239
.
Now try drive 3
, sector 111
. As determined by the RAID topology, sector 111 on drive 3 is in a parity block and, as such, can not be translated into a global sector. The left-hand side signals this with PARITYDRIVE
.
Please note our terminology regarding "blocks," "stripes," and "cycles." The above-defined RAID has the following characteristics:
In our example, one block consists of 128 sectors. One stripe consists of one block taken from each drive at the same position. Two of these blocks contain data; one is parity. One cycle is made of three stripes, which is the period it takes for the parity to make one full rotation.
The RAID Calculator supports the following RAID types:
The rotation's direction relates to the movement of the parity drive from one stripe to the next stripe within one cycle.
Backward | |||||||||
Example: RAID-5, 3 drives, block size 128 | |||||||||
Local drive sector*)\ |
Drive 1 | Drive 2 | Drive 3 | Cycle | Stripe | ||||
---|---|---|---|---|---|---|---|---|---|
0-127 | B1 **) | B2 | P | 0 | 0 | ||||
128-255 | B3 | P | B4 | 1 | |||||
256-383 | P | B5 | B6 | 2 | |||||
384-511 | B7 | B8 | P | 1 | 0 | ||||
512-639 | B9 | P | B10 | 1 | |||||
640-767 | P | B11 | B12 | 2 | |||||
: | : | : | : | : | : | ||||
|
The name originates from the parity drive rotating backward (left) with each stripe until the start of a new cycle.
This rotation scheme is widespread and used by many hardware RAID controllers.
Backward dynamic | |||||||||
Example: RAID-5, 3 drives, block size 128 | |||||||||
Local drive sector*)\ |
Drive 1 | Drive 2 | Drive 3 | Cycle | Stripe | ||||
---|---|---|---|---|---|---|---|---|---|
0-127 | B1 **) | B2 | P | 0 | 0 | ||||
128-255 | B4 | P | B3 | 1 | |||||
256-383 | P | B5 | B6 | 2 | |||||
384-511 | B7 | B8 | P | 1 | 0 | ||||
512-639 | B10 | P | B9 | 1 | |||||
640-767 | P | B11 | B12 | 2 | |||||
: | : | : | : | : | : | ||||
|
As with the backward rotation, the backward dynamic rotation gets its name from the parity drive rotating backward (left) with each stripe until the start of a new cycle. It is very similar to backward, only stripe 1 arranges the blocks differently. The block to the right of parity P is the block with that stripe's lowest number, while in backward, the lowest-numbered block is always the first block. The blocks start to the right of parity P, incrementing by 1 with each block, rolling over to the first block, and continuing until reaching parity P from the left side. Some people call this left-symmetric.
We call it backward dynamic because we first encountered this rotation scheme when examining Windows software RAID-5s created with dynamic disks partitioning. This rotation scheme is very common and used by most software RAID-5s, under Windows and Linux.
Forward | |||||||||
Example: RAID-5, 3 drives, block size 128 | |||||||||
Local drive sector*)\ |
Drive 1 | Drive 2 | Drive 3 | Cycle | Stripe | ||||
---|---|---|---|---|---|---|---|---|---|
0-127 | P | B1 **) | B2 | 0 | 0 | ||||
128-255 | B3 | P | B4 | 1 | |||||
256-383 | B5 | B6 | P | 2 | |||||
384-511 | P | B7 | B8 | 1 | 0 | ||||
512-639 | B9 | P | B10 | 1 | |||||
640-767 | B11 | B12 | P | 2 | |||||
: | : | : | : | : | : | ||||
|
The name comes from the parity drive rotating forward (right) with each stripe until the start of a new cycle.
This is a rare rotation scheme, used by just a few hardware RAID controllers.
Forward dynamic | |||||||||
Example: RAID-5, 3 drives, block size 128 | |||||||||
Local drive sector*)\ |
Drive 1 | Drive 2 | Drive 3 | Cycle | Stripe | ||||
---|---|---|---|---|---|---|---|---|---|
0-127 | P | B1 **) | B2 | 0 | 0 | ||||
128-255 | B4 | P | B3 | 1 | |||||
256-383 | B5 | B6 | P | 2 | |||||
384-511 | P | B7 | B8 | 1 | 0 | ||||
512-639 | B10 | P | B9 | 1 | |||||
640-767 | B11 | B12 | P | 2 | |||||
: | : | : | : | : | : | ||||
|
As with the forward rotation, the forward dynamic rotation gets its name from the parity drive rotating forward (right) with each stripe until the start of a new cycle. It is very similar to forward, only stripe 1 arranges the blocks differently. The block to the right of parity P is the block with that stripe's lowest number, while in forward, the lowest-numbered block is always the first block. The blocks start to the right of parity P, incrementing by 1 with each block, rolling over to the first block, and continuing until reaching parity P from the left side. Some people call this right-symmetric.
This rotation scheme is very rare.
Backward with sub-allocation | |||||||||
Example: HP-style RAID-5, 3 drives, block size 128 with sub-allocation of 32 sectors | |||||||||
Local drive sector*)\ |
Drive 1 | Drive 2 | Drive 3 | Cycle | Stripe | ||||
---|---|---|---|---|---|---|---|---|---|
0-31 | B1 **) | B2 | P | 0 | 0 | ||||
32-63 | B3 | B4 | P | ||||||
64-91 | B5 | B6 | P | ||||||
92-127 | B7 | B8 | P | ||||||
128-159 | B9 | P | B10 | 1 | |||||
160-191 | B11 | P | B12 | ||||||
192-223 | B13 | P | B14 | ||||||
224-255 | B15 | P | B16 | ||||||
256-287 | P | B17 | B18 | 2 | |||||
288-319 | P | B19 | B20 | ||||||
320-351 | P | B21 | B22 | ||||||
352-383 | P | B23 | B24 | ||||||
384-415 | B25 | B26 | P | 1 | 0 | ||||
416-447 | B27 | B28 | P | ||||||
448-479 | B29 | B30 | P | ||||||
480-511 | B31 | B32 | P | ||||||
512-543 | B33 | P | B34 | 1 | |||||
544-575 | B35 | P | B36 | ||||||
576-607 | B37 | P | B38 | ||||||
608-639 | B39 | P | B40 | ||||||
640-671 | P | B41 | B42 | 2 | |||||
672-703 | P | B43 | B44 | ||||||
704-735 | P | B45 | B46 | ||||||
736-767 | P | B47 | B48 | ||||||
: | : | : | : | : | : | ||||
|
This is not a pure RAID-5. It is used by HP/Compaq server systems. While its parity rotates left, within data blocks, the data rotates multiple times between the non-parity drives.
This rotation scheme is quite common.