29

I can reformat a brand new 2TB WD Passport drive to exFAT, with choice of many "Allocation Unit Size":

128kb
256kb
512kb
1024kb
4096kb
16384kb
32768kb

which one is best if this drive is mainly used for recording HDTV programs using Media Center on Windows 7? thanks.

This is related to question: Is it best to reformat our external Hard drive to exFAT for compatibility with Mac?

31

You should first understand what

Allocation Unit Size (AUS)

means.

It is the smallest data block on the disk. Your actual data will be separated into units of that size while saving to the disk. For example, if you have a file sized 512KB and you have 128KB allocation unit size, your file will be saved in 4 units in the disk (512KB/128KB).

If your file's size is 500KB and you have 128KB AUS, your file will still be saved in 4 units on the disk because as mentioned above 128KB is the smallest size of an allocation unit. 384KB will be allocated in 3 units, the remaining 116KB will be allocated in a final unit, and 12KB of that unit will be empty. You can observe this behaviour on the file properties dialog on Windows; what your file size is and how much space this file actually covers on the disk are two different concepts. The operating system reads only the allocation unit size worth of data at a low level disk read operation.

That being said, using a large AUS significantly reduces the free space utilization due to not using the last allocation unit completely. And as a side effect, the number of files to store on the disk is reduced due to same problem: the last AU not being used fully. But here's the trade-off: using a large AUS significantly improves the disk reading performance. The O.S. can read more data at one read. Imagine if the O.S. need to make only a couple of disk reads to completely read a GB sized file!

Using small AUS improves the free space utilization but reduces the disk read performance. Think using large AUS in reverse, same category problems and improvements, but in reverse...

So, what is the conclusion here? If you will store large (I mean large!) files on the disk, a higher AUS will give an appreciable read performance boost while reducing the file count and free space

Which AUS you should use? This depends on how much your average file size is. Also you can compute the free space utilization according to your file sizes.

| improve this answer | |
  • Very lucid breakdown. But does each cluster have any inherent storage overhead (e.g. indices or the cluster equivalent of sector headers)? And are there any interactions with physical/emulated sector sizes or cache sizes? Lastly, do larger cluster sizes negatively affect random access performance? 4KB sector HDDs seem to have lower random access performance even though they have higher throughput than 512byte HDDs. – Lèse majesté Apr 27 '12 at 2:40
  • 2
    There are no significant storage overhead at high levels. Besides there is enough hrdw overhead since the actual physical sector size is 512Bytes... There is a part of file system formatting that records the cluster information, from how many sector this cluster is created, to the partition structure. The sector size emulation is a job of disk driver. O.S. file system server should deal with logical organization (NTFS, FAT etc) at high level O.S ops, smallest unit reads/writes at low level O.S ops and disk driver itself must work back to back with controller(hardware) for low level hardware... – The_aLiEn Apr 27 '12 at 3:33
  • ...access which contains the emulation. And caching is not a job of O.S. It is done by hardware itself. O.S asks for certain data, disk decides wheter look on cache or platter itself for it... Random access performance should actually not be a general performance criteria when having parameters like A.U.S.. Think it this way: ... – The_aLiEn Apr 27 '12 at 3:33
  • .. N sized units, M number units, N*M capacity disk, "what is the probability of hitting this unit?" and remember, disk has to be more precise in locating the beginnings of the units.. So, Random access performance is something bound with M^2/N.. 4K units, 8 units, 32K capacity disk. R.A bound with 64/4. 8K units, 4 units, same capacity, same disk. R.A becomes 16/8. You wouldn't find an article about this kind of calculation, but believe me :) It is more job to "randomly" locate a data using large unit sizes over small sizes – The_aLiEn Apr 27 '12 at 3:50
4

Given that HD recordings are large files, a large allocation unit (16384 or 32768 KB) will give better performance. The impact of slack space (space wasted due to allocation units not used fully--files are stored in allocation units which must be used as whole units) will be limited with a small number of files. On the other hand, if you have many smaller files, use a smaller allocation unit to reduce wasted space.

| improve this answer | |
2

You can safely use 4K allocation unit for exFAT. Even if you have thousands of small files you won't waste a lot of space. In case of default 128KB allocation unit for e.g. 64GB usb stick, 1024 files of 4K bytes will occupy 128MB instead of 4MB, since every file requires at least one allocation unit.

If you use your disk mostly for audio and video files use a larger allocation unit.

FAT32 is not an option for disks larger than 32GB so choose whatever Windows allows.

| improve this answer | |
  • Which size is a good intermediate? I'd like to store both very small and very large files. – PythonNut Oct 19 '15 at 17:24
  • 1
    @PythonNut: 4k. Always use 4k. There is no significant benefit to larger allocation units, but if you ever might store small files on the drive, there are huge disadvantages to larger units. – R.. GitHub STOP HELPING ICE Oct 29 '18 at 3:10
  • When formatting a 4TB drive as exFAT the smallest AUS that Windows 10 will offer me is 256kb. I'm not sure if 4k is available on smaller drives, or if you were thinking of NTFS. – Codemonkey Nov 7 '19 at 12:42
  • 4kb? I can't remember but I guess the minimum is not 128kb? – nonopolarity Feb 4 at 23:55
0

Basically, the larger the files you intend on keeping the larger each allocation unit size you may want in use - but not too big or too small! I think DragonLord explained it pretty well.

So if wasted space bugs you then maybe you might want to think about using a different file system. Something like EXT4 perhaps. Problem there is Microsoft OS's (Windows, really) don't work too well with anything other than FAT (vFAT, FAT32, etc.) or NTFS. And if you ever end up with files larger than 4Gig you may end up cursing any FAT type system you may be using. Therefore, I would recommend using the NTFS file system with the recommended allocation unit size (I believe that's 4K). That way, if you end up with files larger than 4Gig you will still be able to store your monster files at least until you can break them up or transcode them into something smaller. (I assume we're talking about huge multimedia files which is why I bring up "transcoding" since I seem to always find ways to make files smaller when I transcode, especially if they were recorded using MCE.)

About the only reason I can see for using FAT (vFAT, FAT32, FAT16, etc.) is so that other operating systems can read/write files on the storage device. FAT is about as universally accepted as it gets. Otherwise, I don't recommend using FAT (unless the device's capacity is 4Gig or less) - use NTFS at least for Windows. You can always make another partition with a different file system even if it's on the same physical drive. Hope it helps.

| improve this answer | |
-1

As Wikipedia says:

To provide improvement in the allocation of cluster storage for a new file, Microsoft incorporated a method to pre-allocate contiguous clusters and bypass the use of updating the FAT table.

So basically you could choose 4KB or smaller allocation unit with exFAT and be safe when writing bigger files, like HD video material.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.