Back
Next
Data parsing - striping.
Raid data is stored and accessed as stripes. A stripe is spread across all
drives and includes the error correction or redundancy.
The piece of the stripe on each drive is a block.
A stripe is read as a whole unit (related blocks read together).
Data may be stored in the file sized blocks. (Technically, not striping.)
Data broken into sector/cluster sized blocks distributed across disks.
Data broken up into an arbitrary sized unit of 1KB - 1024KB independent
of the cluster size the OS recognzies..
Data broken into byte or bit sized blocks distributed across disks.
When configuring a RAID system, understanding the nature of the most common
file type helps to pick best block size.
If implemented with a single controller, only one file processed at a time,
and small files will show no/minimum access improvement.
Stripe width - determined by the number of drives in system.
More drives
+ faster access, more storage.
- more expensive, and controller more expensive, complex.
Stripe length (block or segment size) - size of data block or stripe segement
accessed on a single drive.
Smaller length distributes files over more drives and should cause faster
access to each individual file.
Better for fast reads access of large files (sequential read),
subsequent blocks read and buffered.
Paradoxical, because drives accessed at sector/track level, small files
perform poorly. Short stripes better for streaming large files (movies).
Larger lengths - less parallelism for each file but better for
multiple file access. Better for small files with many accesses.
Better for random access - accessing different, smaller(?) files at
same time.
Since consecutive reads may target very different files or blocks
of information, getting the most information in a single drive
access frees other drives to handle separate requests.
* requires more advanced controller.
See : https://holyhandgrenade.org/blog/2011/08/disk-performance-part-2-raid-layouts-and-stripe-sizing/
* The protective features of RAID are only active when writing a file or
attempting to recover from a lost drive. Normal reads don't worry about
data corruption, this is handled by ecc at the sector level (Reed-Soloman)