Memory Technology Device


Memory Technology Device (MTD) ist ein Subsystem unter Linux, welches als Abstraktionsschicht für den Zugriff auf den Speicher eines Linux-Systems dient.
MTD bietet eine vereinheitlichte Schnittstelle für Speicher-Bausteine, die zwischen den vielfältigen hardwarespezifischen Gerätetreibern und den oberen Schichten eines Systems vermittelt. Zum Einsatz kommt MTD primär für Flash-Speicher. Ein Vorzug von MTD ist, dass die Anwender dieser Abstraktionsschicht keine Kenntnisse über Interna der darunterliegenden Schichten (z. B. welches Dateisystem: FTL, FFS2) besitzen müssen. Des Weiteren kann von diesen oberen Ebenen beim Wechsel des Flash-Speichers dieselbe API weiterverwendet werden.
MTD grenzt sich von den Gerätetreibern für USB, MMC oder SD-Karten ab. Für letztere werden Block Devices verwendet, die den physischen Datenzugriff intern regeln, während MTD für Rohformate von Flash-Speichern vorgesehen ist.
Als unix-gerät taucht derartig vom linux-kernel angesprochener speicher meist als /dev/mtdblock¿ auf wobei ¿ hier für eine mit 0 beginnende nummer stecht, 0 ist das erste so angesprochene Gerät, folgende werden entsprechend der verfügbarkeit automatisch durchnummeriert. Bei älteren systemen ist vorher mit mknode ein entsprechener knoten mit id 31/¿ anzulegen wobei ¿ wiederrum der entsprechenden nummer ebenso 0determint dient.
Die mtdblock schnittstelle wird auch für sich im hauptspeicher befindliche images z.B. beim starten eines live-systems mithilfe von memdisk verwendet.