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 like that:
In RAID Topology enter the RAID parameters: RAID-5, backward, 3 drives, start sector at 0, block size 128. Make sure the direction is "Global >> Local". Type "111" into the field for the Global sector. The right-hand side shows you the result: Global RAID sector 111 resides on local Drive1, sector 111.
You can reverse the direction and find out which global sector originates from a given local sector. Type "2" and "111" into the field for the Local sector. The left-hand side shows you the result, 239, which is to be 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 "PARITY DRIVE".
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 are 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 directions of the rotation 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 is a very common rotation scheme 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 that were created with dynamic disks partitioning. This rotation scheme is a 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 originates 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.
You can write the mapping of a chosen RAID topology into a text file. Click on Mapping on the bottom. Confirm the file name and the number of sectors in the following dialog:
Press Ok.
The mapping file will look like this:
> RAID Mapping Report - Sectors 0 to 10000 - 4/11/2020 11:23:07 PM
RAID-5, 3 drives, Rotation: Backward, Block size: 128, Start sector: 0
1 stripe has 3 blocks (384 sectors) with data in 2 blocks (256 sectors) and parity in 1 blocks (128 sectors)
1 cycle has 3 stripes, 9 blocks (1152 sectors) with data in 6 blocks (768 sectors) and parity in 3 blocks (384 sectors)
LOCAL \ DRIVE-1 DRIVE-2 DRIVE-3
SECTOR # \ ----------- ----------- -----------
\Global sector #
0 |0 128 PARITY
1 |1 129 PARITY
2 |2 130 PARITY
:
126 |126 254 PARITY
127 |127 255 PARITY
-----------+----------- ----------- -----------
128 |256 PARITY 384
129 |257 PARITY 385
:
254 |382 PARITY 510
255 |383 PARITY 511
-----------+----------- ----------- -----------
256 |PARITY 512 640
257 |PARITY 513 641
:
382 |PARITY 638 766
383 |PARITY 639 767
Start of cycle 1
-----------+----------- ----------- -----------
384 |768 896 PARITY
385 |769 897 PARITY
:
510 |894 1022 PARITY
511 |895 1023 PARITY
-----------+----------- ----------- -----------
512 |1024 PARITY 1152
513 |1025 PARITY 1153
:
514 |1026 PARITY 1154
515 |1027 PARITY 1155
638 |1150 PARITY 1278
639 |1151 PARITY 1279
-----------+----------- ----------- -----------
640 |PARITY 1280 1408
641 |PARITY 1281 1409
:
766 |PARITY 1406 1534
767 |PARITY 1407 1535
Start of cycle 2
-----------+----------- ----------- -----------
768 |1536 1664 PARITY
769 |1537 1665 PARITY
:
:
:
5374 |PARITY 10622 10750
5375 |PARITY 10623 10751
This is very helpful for research purposes.