RAID Calculator

Convert between GLOBAL and LOCAL sectors

Online RAID Calculator

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.

RAID TYPE




ROTATION





DRIVES



GLOBAL sector on RAID

ACTION




LOCAL sector on drive


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.

Blocks, Stripes, and Cycles

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.

Supported RAID Types

The RAID Calculator supports the following RAID types:

  • RAID-0, striped array without redundancy

  • RAID-5, redundant array with 1 parity drive

  • RAID-6, redundant array with 2 parity drives

  • RAID-5 (HP), proprietary RAID scheme widely used by HP/Compaq RAID controllers

Supported Rotations

The rotation's direction relates to the movement of the parity drive from one stripe to the next stripe within one cycle.

  • Backward (aka left-asymmetric):

    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
     :  :  :  :  :  :
    *) Sectors, cycles and stripes are 0-based,
    blocks and drives are 1-based
    **) Blocks B1, B2, B3, ... are data in the
    1st 128 global sectors (0-127),
    2nd 128 global sectors (128-255),
    3rd 128 global sectors (256-383), etc.
    P is parity for the blocks within the same stripe.

    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.

  • Back. dyn (aka left-symmetric):

    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
     :  :  :  :  :  :
    *) Sectors, cycles and stripes are 0-based,
    blocks and drives are 1-based
    **) Blocks B1, B2, B3, ... are data in the
    1st 128 global sectors (0-127),
    2nd 128 global sectors (128-255),
    3rd 128 global sectors (256-383), etc.
    P is parity for the blocks within the same stripe.

    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 (aka right-asymmetric): 

    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
     :  :  :  :  :  :
    *) Sectors, cycles and stripes are 0-based,
    blocks and drives are 1-based
    **) Blocks B1, B2, B3, ... are data in the
    1st 128 global sectors (0-127),
    2nd 128 global sectors (128-255),
    3rd 128 global sectors (256-383), etc.
    P is parity for the blocks within the same stripe.

    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.

  • Forw. dyn (aka left-symmetric):  

    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
     :  :  :  :  :  :
    *) Sectors, cycles and stripes are 0-based,
    blocks and drives are 1-based
    **) Blocks B1, B2, B3, ... are data in the
    1st 128 global sectors (0-127),
    2nd 128 global sectors (128-255),
    3rd 128 global sectors (256-383), etc.
    P is parity for the blocks within the same stripe.

    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.

© 2021 Runtime Software