NAND Flash Treiber

smxNAND

Features

  • SLC und MLC Unterstützung
  • High performance – 4.4 MBps read / 3.0 MBps write mit ARM9 Prozessor
  • benutzte RAM Größe anpassbar (Geschwindigkeit vs. Größe)
  • 12kB Code Footprint
  • Power fail safe
  • statisches und dynamisches Wear Leveling
  • Garbage Collection
  • Bad Block Behandlung
  • Automatisches Erkennen und Korrigieren von Fehlern
  • Arbeitet mit smxFS und smxFFS gut zusammen
  • Sehr einfach für andere Dateisysteme portierbar
  • Hardware Interface Layer (HIL) funktioniert mit allen Standard NAND Flash Chips
  • HIL kann angepasst werden um neue Flash Arrays oder Controller zu unterstützen
  • Kann auf einen bestimmten Teil des Flashs beschränkt werden
  • Sektor basiertes Interface zum Dateisystem

smxNAND ist ein Treiber der es ermöglicht, dass ein Dateisystem auf ein NAND Flash wie auf eine Festplatte zugreifen kann. Es unterstützt sowohl single-level cell (SLC), wie auch multi-level cell (MLC) NAND Flash Chips.


Fakten

smxNAND ist konzipiert worden, um sowohl mit smxFFS Flash File System, als auch mit smxFS FAT File System zusammenzuarbeiten. Power Fail Safe sowie Wear Leveling sind selbstverständlich.

smxNAND besteht aus 2 Ebenen. Der high-level Treiber stellt einem Dateisystem ein Sektor orientiertes Interface zur Verfügung, während der low-level Treiber die Hardware spezifischen Funktionen für den Zugriff auf die verschiedenen unterstützten NAND Flash Chips implementiert und abstrahiert und diese dem high-level Treiber zur Verfügung stellt. Der Standard low-level Treiber spricht direkt 8-bit und 16-bit NAND Flash Chips an. Er kann erweitert werden um z.B. auch den Zugriff auf Flash Chips Arrays zu ermöglichen. Werden hohe Geschwindigkeiten benötigt (z.B. für Video Streaming), könnte er auch durch einen Treiber für einen speziellen NAND Flash Controller ersetzt werden.

smxNAND ist speziell für den Einsatz in Embedded Systemen entwickelt worden und hat sowohl einen sehr kleinen Code-, als auch einen kleinen bis mittleren RAM Footprint. Die Algorithmen wurden eher auf Geschwindigkeit, als auf kleinen Speicherverbrauch ausgelegt. Es eignet sich gut für Anwendungen, die mit vielen Dateien bei hoher Geschwindigkeit arbeiten wollen und über mindestens 50kB freies RAM verfügen. Für Anwendungen die auf minimalem RAM Bedarf sind, ist der smxNOR Treiber evtl. die bessere Alternative. Für einfache Datenerfassungsaufgaben eignet sich evtl. smxFLog am besten.

Unterstützte Flash Chips

smxNAND wurde mit Samsung, Toshiba, SanDisk, und Fujitsu NAND Flash mit 4, 8, 16, 32, 64, 128 und 256 MB, sowie mit Samsung, STMicro, Micron, Numonyx NAND Flash der Größen 64, 128, 256 MB und 1GB getestet.

Der Standard low-level Treiber sollte auch alle anderen Standard x8 oder x16 NAND Flash Chips oder Arrays unterstützen. Um andere NAND-Chips oder NAND-Controller anzusprechen, müsste der low-level Treiber angepasst, bzw. neu geschrieben werden.

Seit Version v1.90 werden auch MLC (Multi-Level Cell) Flash-Chips unterstützt.

Performance

Die Messungen wurden mit einem Samsung K9F2G08U und einem AT91SAM9263 Prozessor mit einer Taktfrequenz von 240 MHz, einem Prozessor Bus Frequenz von 120 MHz und einer NAND-Chip Geschwindigkeit von 30 MHz und SDRAM gemacht. Der 9263 hat einen Hardware ECC, der aber nicht genutzt wurde.

No DMA, No ECC

Read KB/sec

Write KB/sec

smxNAND raw data

4266

1969

smxFFS with smxNAND

3961

1785

smxFS with smxNAND

3373

1689

 

DMA, No ECC

Read KB/sec

Write KB/sec

smxNAND raw data

8533

3657

smxFFS with smxNAND

7787

3038

smxFS with smxNAND

5953

2852

 

DMA, 1-Bit Sfw ECC

Read KB/sec

Write KB/sec

smxNAND raw data

1828

1505

smxFFS with smxNAND

1801

883

smxFS with smxNAND

1719

847

Speicherbedarf

Code Größe


CPU and Compiler

Size KB

Coldfire CodeWarrior 6.3

9

ARM  IAR 5.11

12

 

RAM Größe

16 MB Flash

Cache Blocks

Pages Each

RAM KB

1

1

5152

1

16

20992

1

32

37888

2

32

54784


64 MB Flash

Cache blocks

Pages Each

RAM KB

1

1

17440

1

16

33280

1

32

50176

2

32

67072

>>> Preise anfragen

Embedded Tools GmbH
Fon: +49 251 98729-0 / Fax: -20
E-Mail info(at)embedded-tools.de


Firma:
Titel:
Vorname:
Nachname: *
Straße:
PLZ:
Ort:
Land:
E-Mail: *
Telefon:
Nachricht:
Target-Prozessor(en):
Wie haben Sie von uns erfahren: