Memory Technology Device
![](https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Macronix_MX29LV320ATTC-70G_20110908.jpg/220px-Macronix_MX29LV320ATTC-70G_20110908.jpg)
![](https://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Metal_usb_flash_driver.jpg/220px-Metal_usb_flash_driver.jpg)
Memory Technology Device ( MTD ) is a subsystem under Linux , which serves as an abstraction layer for access to the memory of a Linux system.
MTD offers a unified interface for memory modules that mediate between the various hardware-specific device drivers and the upper layers of a system. MTD is primarily used for flash memory . One advantage of MTD is that the users of this abstraction layer do not need to have any knowledge of the internals of the layers below (e.g. which file system: FTL , FFS2 ). Furthermore, the same API can continue to be used from these upper levels when changing the flash memory .
MTD is different from the device drivers for USB , MMC or SD cards . For the latter, block devices are used, which regulate the physical data access internally, while MTD is intended for raw formats of flash memories.