Choosing a file system for your USB flashdrive


Transcend USB flash drive
Flash Drive

Since I was curious about more storage theory, I decided I should have a look about the importance of the file system. I know on HDDs I will have to choose NTFS, but how about the USB memory sticks? FAT16, FAT32, exFAT, or NTFS?

I found a thread where this is explained.  Original Source.

Tools used for this guide:

  • 1 GB USB flash drive
  • Nodesoft Disk Bench (no synthetic results)

FAT16 (a.k.a. FAT)

Pros:

  • Highest cross-platform compatibility
  • Best overall performance

Cons:

  • 2 GB volume size limit or up to 4 GB with some OSs
  • Maximum file size of 4 GB (minus 1 byte)
  • No access control and permissions (could be a pro)

FAT32

Pros:

  • Good cross-platform compatibility
  • No 2 or 4 GB volume size limitation

Cons:

  • Moderate to slow overall performance
  • Maximum file size of 4 GB (minus 1 byte)
  • No access control and permissions (could be a pro)

NTFS

Pros:

  • No 2 or 4 GB volume size limitation
  • No 4 GB file size limitation
  • Very fast write speed for single file
  • Fewer disk accesses than FAT if a file is badly fragmented
  • Access control and permissions (could be a con)

Cons:

  • Low cross-platform compatibility
  • Slow write speed for multiple files
  • May have permission issues between users and systems
  • May decrease the lifespan of the UFD due to additional writes
  • Must remove the UFD with the “Safely Remove Hardware” procedure

exFAT (a.k.a. FAT64)

Pros:

  • No 2 or 4 GB volume size limitation
  • No 4 GB file size limitation
  • Fast write speed for single file
  • Requires less disk space overhead than NTFS

Cons:

  • Very slow write speed for multiple files
  • Cannot be used for Windows Vista’s ReadyBoost capability
  • No access control and permissions (could be a pro)
  • Very low cross-platform compatibility
    (Currently only Windows Embedded CE 6.0, Vista SP1, Server 2008, and Windows 7. Drivers can be added to XP for read and write, but cannot format.)

Some test results with Nodesoft Disk Bench

Multiple tests were done for better accuracy, they were all done with the default allocation size, optimize for performance enabled, and antivirus disabled.

1 MB file | Read (MB/s) | Write (MB/s)

FAT16 — 32.393 — 2.063
FAT32 — 32.393 — 1.339
NTFS — 32.393 — 2.797
exFAT — 32.393 — 1.464

10 MB file | Read (MB/s) | Write (MB/s)

FAT16 — 129.334 — 4.645
FAT32 — 129.334 — 3.943
NTFS — 129.334 — 29.326
exFAT — 129.334 — 4.703

100 MB file | Read (MB/s) | Write (MB/s)

FAT16 — 306.212 — 5.106
FAT32 — 306.212 — 5.065
NTFS — 321.915 — 4.952
exFAT — 379.010 — 5.188

Writing 50 MB of 712 files and 95 folders

FAT16 — 1 min 12 sec
FAT32 — 1 min 19 sec
NTFS — 1 min 50 sec
exFAT — 1 min 55 sec

Conclusion

If you’re reading/writing a single file, NTFS seems to win hands down. But in real life situations where multiple files being read and write, then it’s another story, NTFS was more than half a minute slower when writing just 50 MB of multiple files and directories.

For some reason, the reading times from Disk Bench seem to be pretty much the same between the file systems, I’m not sure if they’re accurate, but many other test results on the Internet (e.g. Irongeek.comAnandTech.com) have shown that FAT16 to be the quickest as well, although the difference becomes less significant for bigger files. If you have done some tests with your UFD, please feel free to post them.


Now that you read that, I found a cool table for fast comparing between these file system technologies: NTFS5 vs NTFS vs exFAT vs FAT32 vs FAT16 vs FAT12

Advertisements

One thought on “Choosing a file system for your USB flashdrive

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 )

Google+ photo

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

Connecting to %s