Memory Technology Device (MTD) ist ein Subsystem unter Linux, welches als Abstraktionsschicht für den Zugriff auf den Speicher eines Linux-Systems dient.

Flash-EEPROM in einem Router – hier wird MTD verwendet.
Besitzt einen Flash-Speicher, wird aber als Blockspeichergerät angesprochen.

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 ein derartig vom Linux-Kernel angesprochener Speicher meist als /dev/mtdblock¿ auf, wobei ¿ hier für eine mit 0 beginnende Nummer steht, 0 ist das erste so angesprochene Gerät, folgende werden entsprechend der Verfügbarkeit automatisch durchnummeriert. Bei älteren Systemen ist vorher mit mknode ein entsprechender Knoten mit id 31/¿ anzulegen, wobei ¿ wiederum 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 mit Hilfe von memdisk verwendet.

Bearbeiten