Skip navigation

emFile—The Embedded File System

emFile is a fail-safe file system for embedded systems and applications which can be used on any storage device. It is a high-performance library optimized for minimum memory consumption in RAM, ROM, high speed, and versatility working on any embedded device.

  • File system for embedded devices
  • Fail safe—no file system corruption, no data loss
  • Supports encryption for embedded file system
  • Supports multiple storage devices: NAND, NOR, and SD-Card
  • High performance NOR driver with static and dynamic wear levelling
  • High performance NAND driver with static and dynamic wear levelling
  • RAID 1 & RAID 5 support
  • ECC bit error correction



About emFile

emFile is a file system library that enables an embedded application or system to store data, safely and reliably on any kind of storage device.

The library is the result of more than 25 years of continuous development and is deployed on several million devices worldwide, making it a proven in-field file system for the embedded industry. emFile is hardware agnostic and it can run on any 16/32/64-bit target for which a C/C++ compiler is available; most 8-bit targets are supported.

Ready-to-use device drivers are available for NAND, and NOR flash, SD/SDHC/SDXC/MMC cards, e.MMC storage devices, CompactFlash cards, and USB flash drives. emFile comes with support for the common FAT12/16/32 file systems and for SEGGER's proprietary file system EFS (Embedded File System) that has been specifically designed to meet the requirements of state-of-the-art embedded applications.

Getting Started

The file system emFile is available for download, as a fully functional trial version for evaluation purposes.
You can download it at: emFile Trial.
This trial version is shipped as a library to be used with MS Visual C++ on a Windows PC. It does not contain all sources of emFile and therefore, the library cannot be compiled for a different architecture.

The project is configured to work per default with the RAM Disk driver which uses the system memory as storage. It is also possible to access storage drives of a Windows system using the provided device driver.

Additional trial versions are available for different evaluation boards. They can be found at: Evaluate our Software.

Buyer's Guide

The embedded file system emFile offers four basic packages that can be combined with different optional components, as shown in the following table.

 emFile PROemFile FATemFile EFSemFile Storage Layer
Storage Layer





FAT File System





EFS File System





NAND Flash Device Driver





NOR Flash Device Driver





SD/SDHC/MMC Device Driver





IDE/Compact Flash Device Driver





Journaling Add-on





Encryption Add-on





LFN Add-on





RAID1 Add-on





RAID5 Add-on







Not Available