Raid stripe size – what does it mean and what is the optimal stripe size?

March 24, 2008 at 1:27 am 12 comments

It has been a long while since last time I updated the blog. However, as I am now in the process of upgrading my work computer (actually building a new one), a few interesting points have appeared, where this post is about the first one.

I decided to go for to Samsung f1 1TB disks in a raid 0 setup. The Asus P5E3 motherboard uses the Intel ICH9R controller. After booting up, and entering the ICH9R configuration utility, I had to fill in the stripe size – it defaultet to 128kB. This started a long and interesting web search after what is the optimal stripe size. Interesting enough, different sites, including anandtech and Toms hardware had completely different advices.

Raid 0 means that data is divided among the two disk, and the stripe size in a raid 0 configuration is the size smallest allocation unit on each disks. After selecting the stripe size in the ICH9R controller it is impossible to change without destroying all the data on the disk. So If one decides to go for 128kB, the first 128 kB of the total 2GB disk is situated on disk A, and the next 128kB on disk B, etc. It has no connection with the filesystem allocation size (cluster size), and the stripe size is invisible to the operating system.

There are basically three different factors that determines the optimum stripe size.

The first, and probably least important, is that the windows swap file always uses 4kB cluster allocation units. Given that this file is very much in use, you will be able to almost double the swap file write and read speed as you can execute two 4kB writes at different adresses at the same time (random access) – if the stripe size is 4 kB.
The second factor is that reading and writing sequentially large data files (for example copying, downloading, video editing, …) benefits from a large stripe size. Anandtech had examples of up to 1024 kB.
The third point is tha random access of small chunks of data benefits from less IO access time – that is how fast i takes from a request for a read/write is started to it actual starts. The more disks you have in a raid 0 setup, the slightly larger will the access time be.

In actual life, your choice of stripe size will depend on what type of user you are.

So, in the end, adriansrojakpot recommended 4kB or 8kB, Anandtech recommended “as large as possible”, and Toms Hardware, having the most throughout review, recommended 64 kB (but had a big flaw late in that article about large stripe size vs. file system cluster size).

My solution? It turned out that the ICH9R controller does not support more than 128kB, and I decided to go for that. However, the ICH9R support “Intel Matrix Storage” that allows for dividing up the disks in two raid 0 solutions, so I went for 1843 GB with stripe size 128 kB, and then a small rest of 20GB with stripe size 4kB. After installing Vista I moved the swap file to that 20 GB partition, so that I could get the best of two worlds!

Intel Matrix Storage View

In the end, the solution gave a top score 5.9 in windows experience index, and this image shows how it looks like in the image storage console view.

Entry filed under: equipment, operating systems, Uncategorized. Tags: , , , .

Cleaning up 10 years of outlook history Error 2738: Could not access VBScript run time for custom action

12 Comments Add your own

  • 1. proformance increase with raid setup? - TweakTown Forums  |  September 7, 2008 at 5:33 am

    [...] AnandTech – Different stripe size tests – 4 Disk Software RAID 0 (x36-dq6) on Vista Ultimate 64 Raid stripe size – what does it mean and what is the optimal stripe size? « Jons Techbits The Definitive IDE RAID Optimization Guide Recommendations for RAID 0 Stripe Size – TechSpot [...]

  • 2. davemc  |  November 17, 2008 at 8:49 pm

    Ahh yes, the joy of RAID 0. There is absolutely nothing funner than riding that razor edge of double disk drive failure taking out all your data. Did it once but never again. RAID 1 or 1-0 from now on.

  • 3. EZ  |  July 20, 2009 at 5:08 am

    RAID is not a -backup- solution. No matter if you are running RAID0, RAID1 or RAID0+1, it’s no substitute for a good backup strategy.

    I run my primary OS in RAID0 and backup my data daily and the entire system is backed up to Windows Home Server nightly.

  • 4. Anonymous  |  November 25, 2009 at 3:41 am

    However, the ICH9R support ā€œIntel Matrix Storageā€ that allows for dividing up the disks in two raid 0 solutions, so I went for 1843 GB with stripe size 128 kB, and then a small rest of 20GB with stripe size 4kB. After installing Vista I moved the swap file to that 20 GB partition, so that I could get the best of two worlds!

    How did you do this? I know how to make a raid 0 volume, but how did you divide the disks into 2 volumes with different stripe sizes?

  • 5. Darryl  |  January 3, 2010 at 5:40 pm

    One thing the Intel Matrix docs don’t make clear: if you mix different RAID types on the same physical disk (for example, a small RAID0 volume and a larger RAID1 volume), you cannot migrate either volume to RAID5 (or any other RAID type) later. The docs say you can migrate from 2-drive RAID0 or RAID1 to 3-drive RAID5, but they fail to mention that if you are using more than one RAID type already, you can’t migrate either type.

    To answer comment #4, if you used the entire physical drive for a single RAID volume, you can’t change it, but if you partitioned it (using Cntrl-I on boot) into two or more volumes originally, each volume can be a different RAID type and stripe size. But as I mentioned, mixing RAID types on the same disk array limits your migration options later on.

  • 6. another raid 0 question - Overclock.net - Overclocking.net  |  January 7, 2010 at 11:30 pm

    [...] Larger stripe size usually implies better performance if you're dealing with larger files. http://jonstechbits.com/2008/03/24/r…l-stripe-size/ If you're running Intel ICHxR RAID controller, Windows 7 will have the necessary RAID drivers. If [...]

  • 7. Cestbienmoi  |  January 22, 2010 at 5:18 pm

    If you have a large drive and you do not fill all data,
    put the swap file on the second partition at the end of disk is not the best choice, because the heads of hard disk need to move a lot of more.
    Better to use a second disk for swap ;)

    A lot of people forget there is mecanical component in hard disk. An application server+sql server works faster on 2 independant disk than on RAID 0 disk (of course now all people use SSD for database ;) )

  • 8. thardis  |  April 9, 2010 at 12:14 am

    Hi Cestbienmoi,
    I absolutely agree with you.
    I am setting up my second RAID matrix this month.
    I’ve build quite cheap set-up for about Ā£40
    I got 4 SEAGATE Barracuda 7200 80Gb HD Drives for £30 after few minutes of scanning local computer fair, I also got a 2x SATA PCI RAID Controller Card for £7.50.
    I’ve spend last couple of days trying to set up a correct configuration as quick as possible.
    I have set C: with windows installation on first 2 HDD connected in RAID 0 (Data Stripping for Performance), then the third disk 40GB for Paging File, and lastly one 40Gb HDD for System Backup (scheduled each night) – also I have external 500Gb USB 2.0 HDD set up as my Documents Folder for Work-In-Progress files.
    I have tested the entire computer system with PassMark Performance Test and the entire PC was getting Score of 341 each time.

    With the RAID 0 and Block size set to 4Kb:
    This PC Score for HDD – 316.0
    With the RAID 0 and Block size set to 16Kb:
    This PC Score for HDD – 482.1
    With the RAID 0 and Block size set to 64Kb:
    This PC Score for HDD – 488.8

    The card setting for minimal block size was 4Kb ranging to 64Kb.

    I hope this was useful to someone as I could not find answer to this question anywhere else.

    Comments on correctness of such set-up are welcomed as I am unexperienced user.

    Many thanks

  • [...] http://jonstechbits.com/2008/03/24/r…l-stripe-size/ __________________ Quote: [...]

  • [...] John’s Tech Bits Stripe Width and Size RAID Optimization Guide [...]

  • 11. Anonymous  |  October 18, 2011 at 4:30 am

    [...] [...]

  • 12. Rob Corelli  |  March 6, 2012 at 6:58 pm

    I have a PC with two 1 TB SATA hard drives. I would like to add a 2TB eSATA drive and perriodically make a bootable backup copy of my entire system. I have an Intel Desktop/Workstation/Server Express Chipset SATA RAID Controller. Can this cope with what I want to do?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Calendar

March 2008
M T W T F S S
« Mar   Sep »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Most Recent Posts


Follow

Get every new post delivered to your Inbox.