Se si immagina un supporto di memorizzazione dei dati come un blocco di spazio di archiviazione, ogni dispositivo che voglia leggere un file da questo blocco deve sapere dove un file comincia e dove finisce, deve essere in grado di trovare i dati in base al suo nome di file e percorso e deve anche esporre alcune informazioni fondamentali sui permessi di accesso, la data di memorizzazione del file, la data dell’ultima modifica e altro ancora. Il modo con cui i dati sono organizzati su di un dispositivo di memorizzazione è controllato dal file system. Ce ne sono diversi di file system e sono legati al tipo di sistema operativo impiegato dal dispositivo o PC: su Windows il file system più impiegato è NTFS, su OSX è HFS+ e su Linux, molto probabilmente, è ext4.
Se si va a ritroso nei primi anni ’70, si vedrà che Microsoft produsse la sua prima versione di file system denominata FAT (File Allocation Table). Era originariamente pensata per essere utilizzata su un floppy disk, anche se negli anni fu utilizzata anche su hard disk, DVD, pendrive USB e memory card (anche SD). Era il file system utilizzato di base da Windows e così è rimasto fino a Windows XP che ha invece iniziato a utilizzare NTFS.
Ci sono molte differenti varianti del file system FAT che si differenziano soprattutto per la dimensione della tabella di allocazione dei file e degli elementi memorizzati su di essa. Queste differenti variazioni sono riconoscibili attraverso il numero di bit che possono essere memorizzati in ogni posizione della tabella di allocazione. L’originale file system FAT consentiva di memorizzare 8 bit, ed è oggi conosciuto come FAT8. Poi successivamente venne introdotto il sistema FAT12 e il FAT16 utilizzato sopratutto nelle prime versioni di hard disk utilizzate da il PC AT di IBM. FAT32, invece, venne introdotto con Windows 95 OSR2, che supporta quindi 32bit di allocazione nella tavola di allocazione dei file.
Lo standard exFAT (Extended File Allocation Table) è un altro prodotto di Microsoft che nacque per sopperire ad alcune limitazioni tecniche di FAT32. Anche se quest’ultimo file system è ancora particolarmente utilizzato (perché compatibile a livello universale con praticamente qualsiasi sistema operativo esistente al mondo) e raccomandato per essere utilizzato sulle memory card SD e SDHC, ha una limitazione non di poco conto: supporta una dimensione massima dei file di 4Gb.
Anche se un file di 4Gb era inimmaginabile ai tempi di Windows 95 (pensiamo solo per fare un esempio alle dimensioni di un floppy disk, 1.44Mb, o alla capacità massima di un CDROM, 650Mb), le esigenze moderne di memorizzazione di video registrati in alta qualità ha del tutto moltiplicato le dimensioni dei file. Per sopperire a questo limite, Microsoft ha pensato di evolvere FAT32 e introdurre, per l’appunto, exFAT.
Quest’ultimo standard fu introdotto nel 2006 come parte integrante del sistema operativo Windows CE 6.0 (destinato ai palmari e altri dispositivi mobili). Consentiva la memorizzazione di file più grandi di 4Gb e fu adottato dalla SD Association come file system principale da utilizzare sulle memory card SDXC.
Ancora oggi, comunque, tutte le microSD e memory card SD di grandi dimensioni utilizzano di default exFAT come file system principale.
Poiché sia FAT32 che exFAT appartengono a Microsoft, che ne ha logicamente brevettato il funzionamento, questo è il motivo perché tutti i produttori OEM che decidano di impiegarli devono pagare le royalties a Microsoft, che sta quindi incassando miliardi di dollari proprio grazie alla vendita di smartphone e tablet Android.
Insomma, la decisione della SD Association è apparsa negli anni quanto meno singolare, dal momento che, da quel momento in poi, ogni smartphone, fotocamera digitale, tablet, media player o altro ancora che utilizzasse una SD o una microSD ha dovuto pagare una licenza a Microsoft. Se la scelta di FAT32 era perfettamente comprensibile perché era uno standard de facto nell’industria, non altrettanto poteva dirsi di exFAT che veniva utilizzato solo ed esclusivamente da Microsoft.
Windows di default non formatta con FAT32 una memory card SD più grande di 32Gb, ma propone solo NTFS e exFAT (ma il problema si può aggirare con tool di terze parti). In generale, comunque, oltre i 32Gb si tende ad utilizzare exFAT per essere compatibili con qualsiasi sistema operativo, dal momento che NTFS è una prerogativa degli OS Microsoft (anche se viene malamente supportato da Linux e da OSX con un tool di terze parti).