|  | 

BigFAT per emFile

Il FAT (File Allocation Table) è probabilmente il file system più diffuso al mondo. Introdotto nel 1977 da Microsoft per i floppy disk, è stato potenziato più volte, passando da FAT12 a FAT16, fino a FAT32. È stato inoltre esteso sotto altri aspetti, come il supporto per i nomi di file lunghi, mantenendo generalmente la retrocompatibilità.

Il FAT è probabilmente la scelta di formato più popolare per i supporti rimovibili, come schede SD e chiavette USB, poiché è supportato da tutti i sistemi operativi e dai dispositivi embedded. Sfortunatamente, il FAT presenta una limitazione significativa: un supporto formattato come FAT può contenere solo file di dimensioni inferiori a 4 GB, il che può rappresentare un limite per alcuni tipi di dati, come filmati, database o container di dischi rigidi virtuali.

BigFAT di SEGGER è una specifica che definisce come archiviare file di grandi dimensioni, ben oltre 1 TB, su qualsiasi unità formattata in FAT. I sistemi FAT standard vedono i “big file” come file multipli, che possono essere letti, scritti e copiati.

Caratteristiche principali

  • Mantiene la piena compatibilità con il FAT.
  • Supporta tutti i tipi di memoria, come NAND, NOR, schede SD/MMC/CompactFlash.
  • Utility gratuita per leggere e scrivere file di grandi dimensioni da PC.
  • Specifiche completamente pubbliche e aperte.
  • Non vincolato da alcun brevetto.
  • Componente emFile disponibile per gestire BigFAT su sistemi embedded.

BigFAT vs exFAT

Il FAT è un ottimo file system per l’archiviazione rimovibile, ma il suo unico limite è la dimensione massima dei file di 4 GB.

exFAT è la risposta di Microsoft a questo limite. Gestisce dimensioni di file di ordini di grandezza superiori al normale sistema FAT, eliminando essenzialmente il problema.

BigFAT è la risposta di SEGGER. Risolve il problema definendo come suddividere un file di 4 GB o più in segmenti (chunks) e come denominarli. I file più piccoli di 4 GB vengono archiviati nello stesso modo, quindi solo i file grandi vengono salvati come file multipli. BigFAT gestisce pertanto dimensioni di file illimitate.


L’uso di BigFAT rispetto a exFAT

L’exFAT è stato introdotto da Microsoft nel 2006 per essere “ottimizzato per memorie flash come chiavette USB e schede SD”. Probabilmente c’era anche una ragione commerciale: tutti i brevetti sul FAT erano scaduti, il che significava che Microsoft non poteva più concedere in licenza o controllare la tecnologia. Microsoft detiene tuttavia diversi brevetti relativi all’exFAT e il suo utilizzo richiede una licenza (disponibile tramite SEGGER). La SD Association ha adottato l’exFAT come file system predefinito per le schede SDXC superiori a 32 GB.

La specifica BigFAT è completamente aperta al pubblico. Chiunque è libero di aggiungere il supporto per BigFAT al proprio software senza costi di licenza o permessi. Il convertitore BigFAT di SEGGER è un programma a riga di comando gratuito, disponibile per Windows, macOS o Linux. SEGGER incoraggia l’adozione diffusa di BigFAT come nuovo standard aperto! Le schede SD o SDXC possono essere semplicemente riformattate con il vecchio, collaudato e gratuito file system FAT e, grazie a BigFAT, la restrizione dei 4 GB per file viene eliminata.

Licenza exFAT tramite SEGGER

Per chi desidera o necessita di exFAT, SEGGER ha collaborato con Microsoft per rendere disponibile una licenza diretta Microsoft tramite SEGGER. Inoltre, SEGGER può offrire un’implementazione altamente ottimizzata e fornire un’esperienza cliente di alta qualità, inclusi garanzia e supporto.


Specifica Tecnica

BigFAT si appoggia al FAT. Suddivide i dati di un file di dimensioni pari o superiori a 4 GB in file più piccoli (chunks) che possono essere gestiti dal file system FAT sottostante. BigFAT indirizza le operazioni sui file ai segmenti appropriati, a seconda della posizione del file a cui si accede.

I file più piccoli di 4 GB – 128 KB vengono trattati come file normali. Non appena il file supera tale limite, viene esteso. Un file esteso è composto da un base file (file di base) e uno o più continuation files (file di continuazione). Questi ultimi sono memorizzati nella stessa directory del file di base, con il nome derivato da quest’ultimo più un’estensione aggiuntiva nel formato .<Index>.BigFAT, dove l’indice è un numero decimale a tre cifre (es. .001.BigFAT). BigFAT richiede il supporto per i nomi di file lunghi (LFN) sul livello del file system sottostante.

Quando il file di base supera i 4 GB – 128 KB, viene creato il primo file di continuazione. Questa procedura garantisce che il primo byte nel file di continuazione sia allineato a un limite di settore logico, aumentando le prestazioni.


Utilizzo di BigFAT

  • Trasferimento di file di grandi dimensioni (es. filmati) verso i TV: I file video spesso superano i 4 GB. Con BigFAT, questi trasferimenti possono essere eseguiti facilmente senza dover dividere manualmente il filmato o ridurne la qualità.
  • Creazione di file di grandi dimensioni su dispositivi embedded: Ideale per i data logger industriali che registrano dati di sensori per lunghi periodi o per sistemi di gestione delle batterie (BMS) che raccolgono dati cella per cella.
  • Grandi database su sistemi embedded: BigFAT consente l’accesso casuale in lettura e scrittura a qualsiasi file superiore a 4 GB, come richiesto dai database. L’unico limite è la dimensione dello storage disponibile.

Componente emFile BigFAT

Il componente emFile BigFAT è un add-on opzionale che consente a un’applicazione target di accedere ai file conformi alla specifica BigFAT di SEGGER tramite un’API dedicata, che segue lo stesso design dell’API regolare di emFile. L’integrazione è semplice: richiede solo l’aggiunta di un file sorgente e l’attivazione del supporto per i nomi di file lunghi.


FAQ (Domande frequenti)

D: Qual è il vantaggio di BigFAT rispetto a exFAT? R: BigFAT è una specifica aperta, mentre exFAT è una specifica chiusa protetta da brevetti Microsoft. exFAT non può essere utilizzato legalmente senza il permesso di Microsoft.

D: Posso implementare BigFAT da solo? R: Assolutamente sì. Chiunque è libero di scrivere software che lo implementi. Niente costi, niente royalty, niente mal di testa. Non è nemmeno necessario informare SEGGER.

D: Cosa ne guadagna SEGGER? Perché renderlo gratuito? R: Vediamo clienti emFile che chiedono soluzioni per file più grandi. Implementare exFAT è complicato per via dei brevetti e richiede accordi con Microsoft che possono essere costosi e richiedere tempo. Riteniamo che debba esistere un’alternativa gratuita. Più BigFAT diventa popolare, meglio è.

Articoli simili

  •  |  | 

    exFAT per emFile

    Per chi desidera o necessita di un’implementazione exFAT® per emFile, SEGGER ha collaborato con Microsoft per rendere disponibile una licenza diretta Microsoft tramite SEGGER. exFAT per emFile è un’implementazione specializzata del file system exFAT, concepita su misura per i sistemi embedded. Il file system exFAT (Extensible File Allocation Table) è stato sviluppato da Microsoft nel…

  •  | 

    SEGGER embOS Ultra

    Panoramica embOS-Ultra è un sistema operativo in tempo reale (RTOS) ad alte prestazioni che sfrutta l’innovativo scheduling RTOS basato sui cicli (cycle-based). Offre massime prestazioni e una precisione al singolo ciclo di CPU con latenza minima in applicazioni mission-critical e ad alto rendimento, dove il tempismo deterministico e la scalabilità sono essenziali. La tecnologia SEGGER…

  •  |  | 

    Segger emWin

      emWin è la libreria grafica per sistemi embedded di SEGGER. Fornisce strumenti e API per la creazione di interfacce grafiche (GUI) su piattaforme microcontrollore, consentendo anche a sistemi con risorse limitate di eseguire interfacce utente interattive di alta qualità. Supporta display sia semplici che complessi ad alta risoluzione, è progettata specificamente per il mondo…

  •  | 

    Segger J-Link OB

    Il J-Link OB (dove OB sta per: on-board) è essenzialmente un J-Link in un chip singolo basato su microcontrollore che viene integrato direttamente sulla scheda di valutazione. Arricchisce il design di qualsiasi scheda target con funzionalità standard, come il supporto al debug, il caricamento nella memoria Flash e il VCOM, senza aggiungere costi extra. Il…

  •  |  |  | 

    Segger emUSB Host

    Panoramica Il software emUSB-Host consente alle periferiche USB di funzionare con i dispositivi embedded. Fornisce funzionalità complete di host USB, inclusi il supporto per hub esterni e driver di classe (opzionali). Il software è conforme alle specifiche standard stabilite dall’USB Implementors Forum e supporta tutte le modalità di trasferimento (control, bulk, interrupt e isochronous) a…