RAID arrays are organized in strips and stripes. The idea is that a certain amount of data, typically some multiple of the file system's or database's defined block size, is written in a single operation to a single member of the array. The data written to the individual array member is called the data strip. The amount of data (in bytes) written to a strip is referred to as the stripe depth (yes, stripe depth not strip depth). The number of data strips in a stripe is one less than the number of members in the array; one of the strips is used for parity data. Another way to think about the relationship between strips and stripes is that a stripe is the combination of data strips and their corresponding parity strip. In other words, each stripe has a single corresponding parity strip (except for RAID 6, which has two parity strips). By aligning the stripe depth with the block size of the host file system, data I/O operations can be performed consistently and quickly. In practice, this means that each I/O can be transferred between the host system and the RAID controller and then from the RAID controller into cache memory and/or through to the buffer memory of a disk drive member of the array. |