FAT File Systems
FAT File Systems
HCC has five FAT file systems, each designed to achieve the best balance of performance and resource utilization in their targeted embedded configuration. These file systems share a common API to ensure portability, and can interface with any type of sector-based media.
- FAT – optimized for use in embedded applications that need to attach FAT 12/16/32 compliant media to a product.
- THIN – a FAT system for embedded MCUs with limited system resources.
- SafeFAT – an enhanced version of FAT, ensures file system integrity in the event of unexpected reset or power loss.
- exFAT – optimized for use with flash memory such as USB flash drives and SD cards.
- SafeexFAT – an enhanced version of exFAT, ensures file system integrity in the event of unexpected reset or power loss.
Use this table to work out which product to use for your application. Click the header links for full details of each system.
FAT | THIN | SafeFAT | exFAT | SafeexFAT | |
---|---|---|---|---|---|
Code Size1 | ~24kB | 4-12.5kB | ~31KB | 35 KB | 47 KB |
RAM | >3KB | 0.7->2KB | >6KB | >16 KB | >18 KB |
Fail Safety | N | N | Y | N | Y |
ANSI ‘C’ | Y | Y | Y | Y | Y |
Long Filename Support | Y | Y | Y | Y2 | Y2 |
Unicode | Y | N | Y | Y | Y |
Multiple Open Files | Y | Y | Y | Y | Y |
Multiple Open File Users | Y | N | Y | Y | Y |
Multiple Volumes | Y | N | Y | Y | Y |
Multi-sector R/W | Y | N | Y | Y | Y |
Partition Handling | Y | N | Y | Y | Y |
Media Error Handling | Y | N | Y | Y | Y |
Test Suite | Y | Y | Y | Y | Y |
Relative Performance | very high | medium/low | high | very high | very high |
Cache Option | Y | N | Y | Y | Y |
Zero Copy | Y | Y | Y | Y | Y |
Re-entrant | Y | N | Y | Y | Y |
CAPI Support | Y | N | Y | N | N |
Secure Delete Option | Y3 | N | Y3 | N | N |
FAT-compatible | Y | Y | Y | N | N |
Notes:
- Approximate numbers based on Cortex-M3 at high optimization with long file names active. These can be reduced further by not using long file names.
- exFAT and SafeexFAT only have long filenames – there is no short filename concept.
- Needs special driver support.