Memory Technology Device

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. März 2022 um 11:10 Uhr durch Thomas Dresler (Diskussion | Beiträge) (Komma vor „sondern“, „indem“, „wobei“ etc.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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.