Micrium

µC/FS Performance and resource usage

Overview

Benefits

PC Windows Evaluation

Licensing

Pricing Information

FileSystem White Paper

Performamce

A benchmark is used to measure the speed of the software on available targets. This benchmark is in no way complete, but it gives an approximation of the length of time required for common operations on various targets.

Configuration and performance table

All values are in KBytes/sec.

Device CPU Speed
Medium
W R
Atmel AT91SAM7S 48 MHz MMC using SPI with 24MHz 1000.00 1000.00
Atmel AT91SAM7S 48 MHz NAND with 512 bytes per page
using Port mode
800.00 2000.00
Atmel AT91SAM7S 48 MHz NAND with 2048 bytes per page
and a sector size of 512 bytes
using Port mode
695.65 2000.00
Atmel AT91SAM7S 48 MHz NAND with 2048 bytes per page
and a sector size of 2048 bytes
using the built-in NAND controller / external bus-interface
1333.33 2285.71
Atmel AT91SAM9261 200 MHz RAM disk 128000 128000
Atmel AT91SAM9261 200 MHz NAND with 2048 bytes per page
and a sector size of 512 bytes
using the built-in NAND controller / external bus-interface.
1446.33 4923.08
Atmel AT91SAM9261 200 MHz NAND with 2048 bytes per page
and a sector size of 2048 bytes
using the built-in NAND controller / external bus-interface.
2598.98 10666.67
Atmel AT91SAM7SE 48 MHz NAND with 2048 bytes per page
and a sector size of 512 bytes
using the built-in NAND controller / external bus-interface.
1087.05 3103.03
Atmel AT91SAM7SE 48 MHz NAND with 2048 bytes per page
and a sector size of 2048 bytes
using the built-in NAND controller / external bus-interface.
3792.59 5885.06
LogicPD LH79520 51 MHz RAM disk 20000 20000
LogicPD LH79520 51 MHz IDE mem-mapped 1454.55 1753.42
LogicPD LH79520 51 MHz MMC using SPI with 12MHz 558.95 1368.98
Cogent EP7312 74 MHz CompacFlash card, True IDE mode 1951.24 2500.00
Cogent EP7312 74 MHz HDD, True IDE mode 1760.55 2450.16

Description of the performance tests

The performance tests are executed as described and in the order below.
Performance test procedure:

  1. Format the drive.
  2. Create and open a file for writing.
    W: Start measuring of write performance.
  3. Write a multiple of 8 Kbytes.
    W: Stop measuring of write performance.
  4. Close the file
  5. Reopen the file.
    R: Start measuring of read performance.
  6. Read a multiple of 8 Kbytes.
    R: Stop measuring of read performance.
  7. Close the file
  8. Show the performance results.

The Performance test can be reproduced. Include Performance.c (located in the folder .\Sample\API) into your project. Compile and run the project on your target hardware.


Memory footprint

The file system is designed to fit many kinds of embedded design requirements. Several features can be excluded from build to get a minimal system that can efficiently access any FAT media.

In the following section memory usage for different typical 16 and 32- bit systems is listed.
Please note that the values are valid for the given approximate values. Features can affect the size of others. For example if FAT32 is deactivated, the format function gets smaller because the 32 bit specific part of format is not added into the compilation.

This minimal configuration supports FAT12/16, but has no media format features, no directory support, no free disk space function (DiskInfo) and only one file can be opened at a time:

The configuration file (FS_Conf.h) looks as follows:

#define FS_POSIX_DIR_SUPPORT 0
#define FS_FAT_NOFORMAT 1
#define FS_FAT_DISKINFO 0
#define FS_FAT_NOFAT32 1
#define FS_MAXOPEN 1

16-bit CPUs

System

Detail
Description
CPU M16C
Tool chain IAR Workbench for M16C V2.12A
Memory Model Data model: Near pointer; Constants: near memory
Compiler options Highest size optimization
Device driver MMC/SD driver

Memory requirements

Detail
ROM [Bytes]
RAM [Bytes]
Minimal file system 11384 1122
MMC/SD driver +2172 528
Additional support for
Directory +2654 +1310 (for each directory)
(Auto) format +2175 0
Diskinfo +758 0
FAT32 +658 0
 
Additional open files 0 1060

32-bit CPUs

System

Detail
Description
CPU ARM 7
Tool chain IAR Workbench for ARM V4.11A
Memory Model ARM7, thumb instructions; no interwork;
Compiler options Highest size optimization;
Device driver MMC/SD driver

Memory requirements

Detail ROM [Bytes] RAM [Bytes]
Minimal file system 10298 1129
MMC/SD driver +2358 532
Additional support for
Directory +2208 +1328 (for each directory)
(Auto) format +2056 0
Diskinfo 488 0
FAT32 352 0
 
Additional open files 0 1068