Memory Technology Device

This is an old revision of this page, as edited by Someone not using his real name (talk | contribs) at 22:58, 25 December 2013. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A Memory Technology Device (MTD) is a type of device file in Linux for interacting with flash memory. The MTD subsystem was created to provide an abstraction layer between the hardware-specific device drivers and higher-level applications. Although character and block device files already existed, their semantics don't map well to the way that flash memory devices operate.

Flash-EEPROM in a Router - real MTD

USB sticks, MMCs, SDs, CompactFlashes and other popular removable devices should not be confused with MTDs. Although they contain flash memory, this is hidden behind a block device interface using a Flash Translation Layer.[1]

When using a MTD the use of a MTD aware file system such as JFFS2 or YAFFS is recommended. The MTD subsystem exports block devices as well, which allows the use of common filesystem like ext4. However, using a MTD this way is not recommended since there is neither detection of bad blocks nor any kind of wear leveling.

See also

References

  1. ^ "Memory Technology Device Overview". Retrieved 1 September 2012.

Further reading

  • Christopher Hallinan (2010). Embedded Linux Primer: A Practical Real-World Approach (2nd ed.). chapter 10: Pearson Education. ISBN 978-0-13-706110-5.{{cite book}}: CS1 maint: ___location (link)