smxNAND
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.