Memory Technology Device: Difference between revisions

Content deleted Content added
No edit summary
The source notes that such is a kernel interface and doesn't mention anything about OS's
 
(17 intermediate revisions by 14 users not shown)
Line 1:
{{Short description|Type of device file in Linux for interacting with flash memory}}
{{primary sources|date=December 2013}}
__NOTOC__
[[File:Flash-EEPROM.jpg|thumb|150px|Flash-[[EEPROM]] in a Router - real MTD]]
A '''Memory Technology Device''' (MTD) is a type of [[device file system#Devices|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.
 
[[File:FlashMacronix MX29LV320ATTC-EEPROM70G 20110908.jpg|thumb|150px|Flash-[[EEPROM]] in a Router -– a realtrue MTD]]
[[USB stick]]s, [[MultiMediaCard|MMC]]s, [[Secure Digital|SD]]s, [[CompactFlash]]es 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]].<ref>{{cite web | url=http://www.linux-mtd.infradead.org/doc/general.html#L_overview | title=Memory Technology Device Overview | accessdate=1 September 2012}}</ref>
A '''Memory Technology Device''' (MTD) is a type of [[deviceDevice file system#Devices|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.
 
[[USB stick]]s, [[MultiMediaCard|MMC]]s, [[Secure Digital|SD]]s, [[CompactFlash]]es and other popular removable devices shouldare not be confused with MTDs. Although they contain flash memory, this is hidden behind a [[block device]] interface using a [[Flash Translation Layer]] and not directly interfacing with the kernel.<ref>{{cite web | url=http://www.linux-mtd.infradead.org/doc/general.html#L_overview | title=Memory Technology Device Overview | accessdate=1 September 2012}}</ref>
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.
 
When using aan MTD, the use of aan MTD aware file system such as [[UBIFS]], [[JFFS2]] or [[YAFFS]] is recommended. The MTD subsystem exports block devices as well, which allows the use of common filesystem like ext4. However, using aan MTD this way is not recommended since there is neither detection of bad blocks nor any kind of wear leveling.
== External links ==
 
* http://www.linux-mtd.infradead.org
MTDs don't address to the kernel like traditional storage devices ([[Solid State Drive]], [[Hard Disk Drive]]...) using [[Logical block addressing|LBA]]s, but rather using offsets and sizes.
 
==References==
<references/>
 
==Further reading==
* {{cite book|author=Christopher Hallinan|title=Embedded Linux Primer: A Practical Real-World Approach|year=2010|edition=2nd|publisher=Pearson Education|isbn=978-0-13-706110-5|___location=chapter 10}}
 
== External links ==
* http://www.linux-mtd.infradead.org
 
{{Linux kernel}}
 
{{useUse dmy dates|date=March 20122022}}
 
[[Category:Solid-state computer storage media]]
[[Category:Linux kernel features]]
 
 
{{compu-storage-stub}}
{{use dmy dates|date=March 2012}}