Is RAID 0 stripe size the amount placed on each disk? Or the total block size?

Solution 1:

Data striping:

In computer data storage, data striping is the technique of segmenting logically sequential data, such as a file, so that consecutive segments are stored on different physical storage devices.

-Wikipedia

Also see RAID Recovery from Forensic Data Recovery Course for detailed information(Youtube video)

Raid 0 diagram


Terminology used when discussing Data Striping

Stripe/Block:

A stripe is the smallest chunk of data within a RAID array that can be addressed, in the diagram above the size of A1 would be considered the Stripe size this size can range from on 4-256KB (These are not hard limits, just common application)

Stripe-Width:

Stripe-width is the measurement of the number of drives in a data striping array in the above this would - Stripe-Width = 2

If we were to add 2 more drives to our array it would result in - Stripe-Width = 4

Logical Drive:

Your logical drive is the combined value of all stripes.

Logical Drive in Raid array

Stripe-Size:

Now this from the research I have done is a very ambiguous term. However for Intel Southbridges ICH7R, ICH8R and ICH9R this referees to a single stripe or a single drive

Now as you can tell from your own research some people will will use Stripe-Size to refer to the Size of a Stripe where others will refer to it as the size of a Stripe times the Strip-width


Their is a lot of misuse of language used all across the internet as their is no central control for it Language; due to the face their are so many variants for data striping registered it's unlikely without a central control we will get this defined


Sources:

  • http://tldp.org/HOWTO/LVM-HOWTO/recipethreescsistripe.html
  • https://communities.intel.com/thread/39472
  • http://www.tomshardware.com/reviews/RAID-SCALING-CHARTS,1735-4.html
  • http://docs.oracle.com/cd/E19168-01/817-3337-18/appa_raid_basic.html
  • http://en.wikipedia.org/wiki/Data_striping
  • http://en.wikipedia.org/wiki/RAID
  • http://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=%22Data+striping%22&x=-920&y=-184

Footnote

Referenced Intel piece by OP does not go through Peer review like it does on Stack Exchange sites and the answer was accepted by someone who has little to no rep

Solution 2:

Simple thought: Imagine a RAID 0 with three member disks (which is a totally valid setup). If the stripe size would be the total size of the block that is fed to the set of disks, with a stripe size of 64 KiB, every disk would need to write 21845.33 bytes, which is not possible at all.

Solution 3:

I believe that there is no conflict between the two sources you quoted, because the strip-size is not the same as the sector-size.

Sector-size is known to the operating-system, and the sector is the smallest unit that can be allocated on the disk for one file.

Strip-size is known to the RAID controller and is the smallest unit that can be read/written in one read/write operation.

Therefore if the strip-size is 64K and the sector-size is 32K, then there are two sectors in each strip and the operating system may allocate each of the two sectors to two different files, letting the RAID controller take care of the details.

So the answer is that strip-size of 64K is 64K on each of the disks. As a conclusion, strip-size should equal sector-size when the files are relatively small. A large strip-size is more efficient only for large files and for sequential read/write operations or the random access of large chunks.