Funktion
- Compiler
- Debugger
- Embedded Internet
- File System
- GUI / HMI Builder
- RTOS
- TCP/IP Stack
- USB Stacks
Target CPUs
Beratung
Lassen Sie sich beraten, nutzen Sie unser Formular, wir melden uns umgehend bei Ihnen zurück. Oder rufen Sie an:
+49 251 98729-0.
NEWS
- 24.05.2010
Micro Digital: RTOS Support für Energy Micro AS EFM32G - 17.03.2010
Micro Digital: RTOS Support für 4 wichtige Cortex-M3 Familen - 26.01.2010
Atmel + Micro Digital bieten ARM9 Komplettlösung mit AT91CAP9 an - 19.08.2009
Micro Digital USB Stacks für Synopsys DesignWare® Controller verfügbar - 20.05.2009
Micro Digital stellt Upgrade für Flash Logger vor (Multiple Log) - 16.01.2009
smxNAND unterstützt jetzt auch MLC NAND Flash Bausteine
smxNAND
Features
- SLC und MLC Unterstützung
- High performance – 4.4 MBps read / 3.0 MBps write mit ARM9 processor
- 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
- Sektorbasiertes Interface zum Dateisystem
NAND Flash Treiber
smxNAND ist ein Treiber der es ermöglicht, daß ein Dateisystem auf ein NAND Flash wie auf eine Festplatte zugreifen kann. Es unterstützt sowohl singel-level cell (SLC), wie auch multi-level cell (MLC) NAND Flash Chips.
Fakten
smxNAND ist konzpiert worden, um sowohl mit smxFFS Flash File System, als auch mit smxFS FAT File System zusammenzuarbeiten.
smxNAND besteht aus 2 Ebenen. Der high-level Treiber stellt einem Dateisystem ein sektororientiertes 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 |
Downloads
- Looking for Quality Embedded Software? (PDF | 1.26 MB)
- smxNAND Datenblatt (PDF | 0.09 MB)
- smxFFS & smxNAND User’s Guide (PDF | 0.69 MB)
- Whitepaper MLC vs. SLC NAND Flash in Embedded Systems (PDF | 0.03 MB)
Schlagworte
Hersteller: Micro DigitalFunktion: File System
Prozessorarchitekturen: V1 MCF51xx | IOP 3xx | ARM7 | Blackfin | Analog Devices | V2 MCF52xx MCF52xxx | IXP 2xxx | ARM9 | V3 MCF53xx | IXP 4xx | ARM11 | V4 MCF54xx | PXA 2xx | Cortex-M | Prozessorunabhängig | PXA 3xx | Cortex-R | Cortex-A | ARM | XScale | ColdFire

