Direkt zum Inhalt

Hersteller

Micro Digital

Systemsoftware für Embedded Systeme

  • Micro Digital verfügt über ein vollständiges Produktspektrum an Softwarebausteinen für moderne (deeply) Embedded Echtzeit-Systeme
  • Out of the box funktionsfähig und sofort einsetzbar!
  • SMX ist bewährt und verfügt über einen vollständigen Funktionsumfang
  • No Royalties + Source Code: Damit Sie ruhig schlafen können, jetzt und in Zukunft!
  • Optimal für Deeply-Embedded Systeme geeignet: Hard Realtime, extrem ressourcenschonend, skalierbar
  • Umfangreiches Angebot an Middleware

Ältere News Micro Digital

07.05.2007 | SMX.Blaze

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

Flash Log Filesystem

smxFlog für NAND und NOR Flash

smxFLog, ein spezielles Flash-Filesystem stellt eine Möglichkeit zum schnellen, einfachen und zuverlässigem Speichern von Log Daten in NAND und/oder NOR Flash Speichern zur Verfügung.


Das Speichern von Log Daten ist ein typischer Anwendungsfall bei Embedded Systemen und verlangt nach einer guten Lösung. Dabei werden Daten sequenziell an eine Datei angehängt. Dies ist bei klassischen Dateisystemen wie FAT nicht besonders effizient, wenn dies auf Flash basierten Medien arbeitet.

Das Problem mit FAT Filesystemen auf Flash Speicher

Das Problem bei der Benutzung von klassischen Filesystemen wie z.B. FAT bei der Benutzung von Flash Speicher als Medium ist, dass wenn nicht bei jedem Log Datum ein vollständiger Cluster an die Logdatei angehängt wird, es notwendig ist, den aktuellen Cluster vom Flash ins RAM zu laden, die neuen Daten anzuhängen und dann den neuen Cluster wieder an eine frei Stelle des Flashs zu schreiben. Jedes Mal wenn ein neuer Cluster geschrieben worden ist, muss außerdem die FAT aktualisiert werden und der Verzeichniseintrag in dem die Datei liegt, muss um die neue Dateigröße aktualisiert werden. Da Flash- Speicher nicht verändert werden kann, müssen FAT und Verzeichniseinträge erst ins RAM geladen werden, dort modifiziert werden und dann an eine neue, unbenutzte Stelle des Flashs zurück geschrieben werden.

Dies ist deutlich zu viel Aufwand um eine kleine Menge an Daten an ein Daten-Log anzuhängen. Es wirkt sich negativ auf die Geschwindigkeit aus und verringert zudem noch die Lebensdauer des Flash Speichers. Zudem muss regelmäßig Garbate Collection betrieben werden um nicht mehr benutzte Bereiche des Flash Speichers wieder frei zu geben.

Klassische Datei Systeme wie FAT eignen sich hervorragend für magnetische Speichermedien, bei denen Daten auch verändert werden können, nicht aber für Flash Speicher.

Zuverlässigkeit

Ein Logging System welches tief unten in einem Bohrloch, mitten auf dem Ozean oder an sonst einem entfernten Platz ausfällt, kann sehr teuer sein. Daher wurde bei der Entwicklung von smxFLog darauf geachtet, auf verschiedenen Ebenen eine möglichst hohe Zuverlässigkeit zu erreichen.

API

Das API wurde so entworfen, dass es durch eine einfache Struktur hilft Fehler zu vermeiden. Insbesondere werden die Eigenarten der verschiedenen Flash-Speicher und die notwendigen Schritte zum Beschreiben der Flash-Speicher vor dem Benutzer durch Abstraktion versteckt. Dies hilft Fehler die durch mangelnde oder unvollständige Kenntnis der Eigenarten der verschiedenen Flash-Chips, insbesondere von NAND Flash, zu vermeiden. Das API implementiert umfangreiche Fehler Prüfung und teilt dem Benutzer über einheitliche Rückgabewerte der aufgerufenen Funktionen das Auftreten von Fehlern mit.

Error Correction Code (ECC)

smxFLog benutzt eine 22-bit Fehler Korrektur welche es ermöglicht 1 Bit Fehler in 256 Byte Datenblöcken selbständig zu korrigieren. Für 512 Byte Daten sind dementsprechend 2 ECCs notwendig. Die Verwendung von ECCs ist empfohlen, vor allem bei NAND Flash Speichern, da diese mit der Zeit Daten verlieren können, kann aber an und abgeschaltet werden.

Power Fail Safety

Normalerweise ist das Sicherstellen von Dateisystem Integrität von Dateisystemen im Fall des Verlusts der Versorgungsspannung recht aufwendig und benötigt viel RAM Speicher. Aufgrund seiner einfachen, sequenziellen Struktur und des nicht vorhanden seins von komplizierten Metadaten Strukturen, ist smxFLog sicher gegen den Verlust der Versorgungsspannung "by design".

Weitere File System

FAT Filesystem

smxFS ist ein FAT Dateisystem, dass Medien Kompatibel zu DOS und Windows ist. Es hat einen sehr kleinen Code und Daten Footprint, was es gerade für den Einsatz in Embedded Systemen geeignet macht.  smxFS unterstützt Flash-Speicher wie USB Sticks, CompactFlash und SD/MMC.

smxFS unterstützt FAT12/16/32 und VFAT (für lange Dateinamen). Es benutzt die Standard C Bibliotheksfunktionen als API (z.B. fopen(), fread(), etc.).

Micro Digital
File System

Flash Filesystem

smxFFS ist ein spezielles Flash Dateisystem für NAND und NOR Flash Speicher. Es hat eine zur Standard C Library kompatibles API und kann mit plötzlichem Spannungsverlust umgehen (power fail-safe).

Micro Digital
File System

NOR Flash Driver

Der smxNOR Flash Treiber stellt einem Dateisystem ein API zur Verfügung, dass es ihm ermöglicht ein NOR Flash wie eine Festplatte anzusprechen. smxNOR arbeitet mit dem smxFS Fat Dateisystem zusammen. Der Treiber ist in 2 Schichten aufgebaut. Der high-level Treiber stellt einem Dateisystem ein Sektor basiertes API zur Verfügung.

Micro Digital
File System

NAND Flash Treiber

NAND Flash Treiber

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. Power fail safe sowie statisches und dynamisches Wear Leveling sind selbstverständlich.

Micro Digital
File System

Preise anfragen

Mit dem Absenden dieses Formulars sind Sie damit einverstanden, dass Ihre Daten zu o. g. Zweck gespeichert und verarbeitet werden. Sie können dem jederzeit widersprechen, die Daten werden dann gelöscht. Datenschutzerklärung
Bild-CAPTCHA
Geben Sie die Zeichen ein, die im Bild gezeigt werden.

© Embedded Tools GmbH | Schlikötterstiege 61 | 48161 Münster | Germany/Deutschland | Datenschutzerklärung | Impressum