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.com, AnandTech.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.
One thought on “Choosing a file system for your USB flashdrive”