Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Knowledge Base
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emFile
  • Technology
  • Add-ons
  • Tools

emFile
The embedded file system

emFile is a fail-safe file system for embedded systems and applications optimized for minimum memory consumption in RAM and ROM, for high speed, and for versatility.

Contact us
Downloads
Documentation
SEGGER emFile
  1. 1.Overview
    1. 1.1.Key features
  2. 2.Encryption
  3. 3.Device driver
    1. 3.1.NOR flash driver
    2. 3.2.NAND flash driver
  4. 4.Fail-safe file system
    1. 4.1.Journaling
    2. 4.2.RAID 1
    3. 4.3.RAID 5
  5. 5.Editions
  6. 6.Performance
  7. 7.Memory footprint
  8. 8.Licensing

Overview

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

The library is the result of more than 28 years of continuous and ongoing development. It is deployed on several million devices worldwide, making it a proven in-field file system for the embedded industry. emFile is hardware-agnostic and 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.

emfile and cartridges

Key features

  • 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

Encryption

emFile offers an additional component that can be used to secure the data on the file system with minimal changes of the application. It can be used with FAT and EFS file systems and supports all device types such as NAND, NOR, SD/MMC cards.

More about encryption with emFile...

Device driver

NOR flash driver

The NOR driver allows the file system layer to efficiently write and read blocks of data (logical sectors) to and from a NOR flash device. 

emFile comes with two different NOR drivers:

  • Block map NOR driver
  • Sector map NOR driver

More about NOR flash driver...

NAND flash driver

The emFile NAND drivers allow the file system layer to efficiently write and read blocks of data (logical sectors) to and from a NAND flash device. 

emFile comes with two different NAND drivers:

  • SLC driver
  • Universal driver

More about NAND flash driver...

nand flash

Fail-safe file system

emFile is designed with security in mind. All access operations are atomic, which means even an interrupt by failure does not leave storage nor data in an undefined state. In addition, RAID modes 1 and 5 can be supported to increase security at the storage layer and journaling at the file system layer.

More about software structure...

Journaling

emFile Journaling is an additional component which sits on top of the file system and makes the file system layer fail-safe. Journaling means that a file system logs all changes to a journal before committing them to the main file system and thus ensuring the consistency of the file system.

More about emFile Journaling...

RAID 1

emFile offers maximum data integrity and reliability with RAID 1. It provides protection from storage device defects and failures and works on the storage layer with FAT and EFS file systems.

More about RAID 1...

RAID 5

emFile offers maximum data integrity and reliability with RAID 5 with increased usable capacity. RAID 5 requires at least three strorage partitions to distribute date over several partitions. Additionally, it uses less data storage to achieve the same data security as RAID 1.

More about RAID 5...

Editions

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

IncludedOptionalNot Available

Performance

emFile includes some benchmark code allowing users to measure the performance on certain targets.

Test results – Read & write speed performance

Configuration and Performance Table

Target DeviceCPU SpeedStorage deviceWrite SpeedRead Speed
NXP LPC1857180 MHzSerial NAND flash1.3 MB/s3.0 MB/s
Atmel AT91SAM9G45384 MHzParallel NAND flash4.7 MB/s12.0 MB/s
NXP Kinetis K66168 MHzSD card in card mode3.6 MB/s11.1 MB/s
Renesas Synergy S7G2240 MHzSD card in card mode1.5 MB/s8.6 MB/s
Renesas RZA1H133 MHzQSPI NOR flash150 KB/s10.0 MB/s
ST STM32F7216 MHzQSPI NOR flash164 KB/s11.1 MB/s

More about emFile performance...

Memory footprint

The embedded file system emFile has been specifically designed for resource-constrained devices.

Memory requirements for 32-bit CPUs

The file system was compiled for a Cortex-M4 CPU and configured to use the MMC/SD device driver.

ROM [Bytes] RAM [Bytes]
Minimal file system92001250
MMC/SD driver+370030
Additional support for:
Directory+11000
(Auto) format+22000
Disk information+1500
FAT32+2000

Memory requirements for 16-bit CPUs

The file system was compiled for an MSP430 CPU and configured to use the MMC/SD device driver.

ROM [Bytes] RAM [Bytes]
Minimal file system13000 1250
MMC/SD driver+510030
Additional support for:
Directory+21000
(Auto) format+36000
Disk information+1000
FAT32+3000

More about emFile resource usage...

Licensing

emFile is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emFile can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emFile is royalty-free and not subscription-based. This makes the software a part of the equipment expenses, keeping the costs static.

* Applies to second seat/product and all additional seats/products of the Single Product License and Single Developer License.

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy
© 2025 SEGGER - All rights reserved.