Block Size

I'm about to get a raid 0 set-up and am getting 2 x 160GB Hitachi DeskStar drives :)

Problem is i'm not too sure what's the best block size or strip size or cluster size or whatever it's actually called is? I mainly plan on using this comp for gaming so i was wondering if any of you could reccomend what's the best strip size for me to use :D thanks
15 answers Last reply
More about block size
  1. For windows a smaller cluster size would be better. If the files are small you wont lose as much disk space.
    If your using a 32k cluster and you have 1000 1k files your losing a total of 31 meg of file space. Windows has a crap load of small files. Take a look. 4k or 8k will work best.
  2. NTFS partitions have a default small cluster size (4KB) for any drive >=2GB. The cluster size can be changed, but 4KB is optimum for Windows.

    I believe the original poster is asking about the stripe size on his RAID. Most RAID controllers have a default stripe size of 32KB. This is ideal and optimized for most RAID 0 installations. I would only advocate changing it in very specific circumstances, such as a data-only (i.e. non-bootable, non-OS) drive used exclusively for very large files (like for video editing). In that case, it used to slightly improve performance by increasing the stripe size, but with today's RAID controllers, it's totally unecessary.
  3. Quote:
    For windows a smaller cluster size would be better. If the files are small you wont lose as much disk space.
    If your using a 32k cluster and you have 1000 1k files your losing a total of 31 meg of file space. Windows has a crap load of small files. Take a look. 4k or 8k will work best.

    on the other side, if you make them too small, more head repositioning will be necessary (more blocks to read), then speed will be reduced. I've done some tests with block size on freebsd, and the smallest block size resulted in poor performance. It would probably happen the same on windows....

    as for the stripe size, i guess 32k-64k would give a good balance of performance/disk usage.
  4. Quote:
    NTFS partitions have a fixed cluster size (4KB) that can only be changed on small (<2GB) drives.


    That's incorrect. NTFS allows the user to choose the cluster size when formatting. It can vary from 512 (where 1 sector = 1 cluster) to 64K per cluster. This is NOT restricted to small drives, even 200+ GB drive can be formatted with only 512 bytes per cluster. The performance penalty is very noticeable but Windows won't stop you if that is what you want to do.

    The default cluster size is 4096 bytes. This also represents a memory page. 4096 bytes per cluster is by far the optimum for Windows.

    HTH.
  5. Quote:
    NTFS partitions have a fixed cluster size (4KB) that can only be changed on small (<2GB) drives.


    That's incorrect. NTFS allows the user to choose the cluster size when formatting. It can vary from 512 (where 1 sector = 1 cluster) to 64K per cluster. This is NOT restricted to small drives, even 200+ GB drive can be formatted with only 512 bytes per cluster. The performance penalty is very noticeable but Windows won't stop you if that is what you want to do.

    The default cluster size is 4096 bytes. This also represents a memory page. 4096 bytes per cluster is by far the optimum for Windows.

    Thanks. Found this out myself after posting - apparently the command-line 'format' command can take a parameter where you can specifiy the cluster size for any drive size.

    Previous post edited.
  6. Quote:
    Thanks. Found this out myself after posting - apparently the command-line 'format' command can take a parameter where you can specifiy the cluster size for any drive size.

    if you format via windows explorer it let's you choose the cluster size, i guess. The problem is, as far as i remember, you cant choose cluster size when installing windows.
  7. Quote:
    The problem is, as far as i remember, you cant choose cluster size when installing windows.


    In a roundabout way you can. You need another machine, you connect the target drive to that machine and have Windows create the partitions you want with the cluster sizes you want, after you've done that, you install Windows.

    It's hardly worth the trouble. Particulary when selecting anything other than 4096 is always less than optimal for Windows.

    I posted this just to show that it is possible but it's totally worthless.
  8. sure, i knew that
    but i meant from windows installation using only the cd and well, you know :)
  9. Actually, it just occured to me that there is a way, again, very roundabout but using only the Windows CD and the machine on which you want to install Windows.

    It goes like this,

    Use the Windows CD to boot, select repair using the console, in the console, partition and format the drive. I'm almost certain the repair console's format utility allows you to select the cluster size since it is a direct derivative from the full blown Win32 format utility (the one that comes with the console is just linked differently so all functions and features should be there).

    I'll have to try it one of these days just so I know that it is factual.

    EDIT: needed to add a coma which was very important to make this intellegible.
  10. Cluster size and stirip size are completly different things.
    Format with a smaller cluster size (4kb) and the strip size should be as big as you can get it. If bigger then you get a performance increase. Mostly those onboard raid controlers dont allow you to go beyond 256kb strip size.
    I read a suggestion from Intel that says a 1024kb strip size and even bigger is recommended for these new drives.
    I have mine RAID 0 on 128 kb strip size it works perfectly.
    I cant get it any higher the controlet doesnt let me but I would.
  11. My nVidia RAID suggested that I set my stripe at 64k and that this would be optimal. Should I have trusted nVidia on this one or should I yet again reformat my Barracudas again and go with the 256k stripe? Another question....can I change the stripe size in the RAID controller on the fly and just have stripes of that size from that point forward or is the reformat mandatory when changing this?
  12. once its set you cant change it without reformating.

    I would use the 256kb stripe if I were you. The bigger the better.
    These new hard drives are bottlenecked by small stripes. Larger stripes are better. But in all probability you wont notice the difference.
  13. Quote:
    The bigger the better.
    These new hard drives are bottlenecked by small stripes. Larger stripes are better.


    Please post a link to testing or evidence of this statement.

    The stripe size only determines what size chunk of data the controller spreads across the drives in the array. Larger stripe sizes can mean less work for the controller, but not the drives (they still have to write the same amount of data). Since modern controllers now have powerful processors on board, reducing controller workload isn't an issue anymore, at least in a RAID-0.

    Remember that in a RAID-0, files smaller than the stripe size don't get the benefit of being fully striped, therefore don't get maximum performance when they get read.
  14. Quote:
    The bigger the better.
    These new hard drives are bottlenecked by small stripes. Larger stripes are better.


    Please post a link to testing or evidence of this statement.

    The stripe size only determines what size chunk of data the controller spreads across the drives in the array. Larger stripe sizes can mean less work for the controller, but not the drives (they still have to write the same amount of data). Since modern controllers now have powerful processors on board, reducing controller workload isn't an issue anymore, at least in a RAID-0.

    Remember that in a RAID-0, files smaller than the stripe size don't get the benefit of being fully striped, therefore don't get maximum performance when they get read.
    on the other side, they can benefit from a single actuator positioning and a single "read", as it wont have to wait for 2 actuators to postion, read data and send to the interface.
    Chunk size depends on disk usage. There's no ideal size, but there are sizes that offer a good balance of disk usage, performance with small files or big files, high i/o, etc.
  15. Quote:
    I don't even know where you can select block/cluster size nowdays with installation of Windows during formating.


    Use the /A command line flag. ;)

    C:\Documents and Settings\>format /?
    Formats a disk for use with Windows XP.

    FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X]
    FORMAT volume [/V:label] [/Q] [/F:size]
    FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors]
    FORMAT volume [/V:label] [/Q]
    FORMAT volume [/Q]

    volume Specifies the drive letter (followed by a colon),
    mount point, or volume name.
    /FS:filesystem Specifies the type of the file system (FAT, FAT32, or NTFS).
    /V:label Specifies the volume label.
    /Q Performs a quick format.
    /C NTFS only: Files created on the new volume will be compressed
    by default.
    /X Forces the volume to dismount first if necessary. All opened
    handles to the volume would no longer be valid.
    /A:size Overrides the default allocation unit size. Default settings
    are strongly recommended for general use.
    NTFS supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K.
    FAT supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
    (128K, 256K for sector size > 512 bytes).
    FAT32 supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
    (128K, 256K for sector size > 512 bytes).

    Note that the FAT and FAT32 files systems impose the
    following restrictions on the number of clusters on a volume:

    FAT: Number of clusters <= 65526
    FAT32: 65526 < Number of clusters < 4177918

    Format will immediately stop processing if it decides that
    the above requirements cannot be met using the specified
    cluster size.

    NTFS compression is not supported for allocation unit sizes
    above 4096.

    /F:size Specifies the size of the floppy disk to format (1.44)
    /T:tracks Specifies the number of tracks per disk side.
    /N:sectors Specifies the number of sectors per track.
Ask a new question

Read More

Hard Drives NAS / RAID Storage