File System

emFile è una libreria di file system che consente a un’applicazione o sistema embedded di archiviare i dati in modo sicuro e affidabile su qualsiasi tipo di dispositivo di storage.

La libreria è il risultato di oltre 28 anni di sviluppo continuo e tutt’ora in corso. È utilizzata in diversi milioni di dispositivi in tutto il mondo, rendendola un file system comprovato sul campo per l’industria embedded. emFile è indipendente dall’hardware e può essere eseguito su qualsiasi target a 16/32/64 bit per il quale è disponibile un compilatore C/C++. La maggior parte dei target a 8 bit è supportata.

I driver di dispositivo pronti all’uso sono disponibili per NAND, NOR flash, schede SD/SDHC/SDXC/MMC, dispositivi di storage eMMC, schede CompactFlash e unità flash USB. emFile viene fornito con supporto per i comuni file system FAT12/16/32 e per il file system proprietario di SEGGER EFS (Embedded File System) che è stato progettato specificamente per soddisfare i requisiti delle applicazioni embedded all’avanguardia.

Caratteristiche principali

  • File system per dispositivi embedded
  • Fail-safe—nessuna corruzione del file system, nessuna perdita di dati
  • Supporta la crittografia per il file system embedded
  • Supporta più dispositivi di storage: NAND, NOR e scheda SD
  • Driver NOR ad alte prestazioni con livellamento statico e dinamico dell’usura
  • Driver NAND ad alte prestazioni con livellamento statico e dinamico dell’usura
  • Supporto RAID 1 e RAID 5
  • Correzione degli errori bit ECC

Crittografia

emFile offre un componente aggiuntivo che può essere utilizzato per proteggere i dati sul file system con modifiche minime dell’applicazione. Può essere utilizzato con i file system FAT ed EFS e supporta tutti i tipi di dispositivi come NAND, NOR, schede SD/MMC.

Driver disponibili

Driver flash NOR

Il driver NOR consente al livello del file system di scrivere e leggere in modo efficiente blocchi di dati (settori logici) su e da un dispositivo flash NOR.

emFile viene fornito con due diversi driver NOR:

  • Driver mappa blocco NOR
  • Driver mappa settore NOR

Driver flash NAND

I driver NAND emFile consentono al livello del file system di scrivere e leggere in modo efficiente blocchi di dati (settori logici) su e da un dispositivo flash NAND.

emFile viene fornito con due diversi driver NAND:

  • Driver SLC
  • Driver universale

File system fail-safe

emFile è progettato con la sicurezza in mente. Tutte le operazioni di accesso sono atomiche, il che significa che anche un’interruzione dovuta a un errore non lascia lo storage né i dati in uno stato indefinito. Inoltre, le modalità RAID 1 e 5 possono essere supportate per aumentare la sicurezza a livello di storage e il journaling a livello del file system.

Journaling

emFile Journaling è un componente aggiuntivo che si trova sopra il file system e rende fail-safe il livello del file system. Il journaling significa che un file system registra tutte le modifiche in un journal prima di commetterle nel file system principale, garantendo così la coerenza del file system.

RAID 1

emFile offre massima integrità e affidabilità dei dati con RAID 1. Fornisce protezione dai difetti e guasti dei dispositivi di storage e funziona sul livello di storage con i file system FAT ed EFS.

RAID 5

emFile offre massima integrità e affidabilità dei dati con RAID 5 con capacità utilizzabile aumentata. RAID 5 richiede almeno tre partizioni di storage per distribuire i dati su più partizioni. Inoltre, utilizza meno spazio di archiviazione dei dati per ottenere la stessa sicurezza dei dati di RAID 1.

 

Long File Name (LFN)

La prima versione del file system FAT pubblicata da Microsoft non supportava i nomi lunghi per i file e le cartelle. I nomi potevano solamente essere nel formato 8 caratteri per il nome + 3 caratteri per l’estensione.  Successivamente Microsoft ha migliorato il file system introducendo un meccanismo che supportava i nomi lunghi.  Segger ha sviluppato un’apposita estensione per emFile FAT che supporta tale funzionalità.  Questo modulo non è necessario qualora si utilizzi emFile EFS che nativamente supporta tale caratteristica.

Prestazioni tipiche, misurate in casi reali

Target Device CPU Speed Storage device Write Speed Read Speed
NXP LPC1857 180 MHz Serial NAND flash 1.3 MB/s 3.0 MB/s
Atmel AT91SAM9G45 384 MHz Parallel NAND flash 4.7 MB/s 12.0 MB/s
NXP Kinetis K66 168 MHz SD card in card mode 3.6 MB/s 11.1 MB/s
Renesas Synergy S7G2 240 MHz SD card in card mode 1.5 MB/s 8.6 MB/s
Renesas RZA1H 133 MHz QSPI NOR flash 150 KB/s 10.0 MB/s
ST STM32F7 216 MHz QSPI NOR flash 164 KB/s 11.1 MB/s

Occupazione di memoria (in sistemi a 32 bit)

ROM [Bytes] RAM [Bytes]
Minimal file system 9200 1250
MMC/SD driver +3700 30
Additional support for:
Directory +1100 0
(Auto) format +2200 0
Disk information +150 0
FAT32 +200 0

Occupazione di memoria (in sistemi a 16 bit)

ROM [Bytes] RAM [Bytes]
Minimal file system 13000 1250
MMC/SD driver +5100 30
Additional support for:
Directory +2100 0
(Auto) format +3600 0
Disk information +100 0
FAT32 +300 0