mtd/html/tech nand.html,1.20,1.21

joern at infradead.org joern at infradead.org
Thu Feb 10 09:33:59 EST 2005


Update of /home/cvs/mtd/html/tech
In directory phoenix.infradead.org:/home/joern/mtd/html/tech

Modified Files:
	nand.html 
Log Message:
By tglx request, add mtd description to the faq.


Index: nand.html
===================================================================
RCS file: /home/cvs/mtd/html/tech/nand.html,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- nand.html	19 Jan 2005 19:40:40 -0000	1.20
+++ nand.html	10 Feb 2005 14:33:56 -0000	1.21
@@ -397,6 +397,12 @@
 first page in each erased block. Do not program it into the data area of the page !</p>
 
 <p>For 256 byte pagesize devices program the following data into the out of band area:</p>
+
+<h4>Is an mtd device a block device or a char device ?</h4>
+<p>First off, an mtd is a "memory technology device", so it's just "mtd.  An "mtd device" is a pleonasm.</p>
+<p>Unix traditionally only knew block devices and character devices.  Character devices were things like keyboards or mice, that you could read current data from, but couldn't be seeked and didn't have a size.  Block devices had a fixed size and could be seeked.  They also happened to be organized in blocks of multiple bytes, usually 512.</p>
+<p>Flash doesn't match the description of either block or character devices.  They behave similar to block device, but have differences.  For example, block devices don't destinguish between write and erase operations.  Therefore, a special device type to match flash characteristics was created: mtd.</p>
+<p>So mtd is neither a block nor a char device.  There are translations to use them, as if they were.  But those translations are nowhere near the original, just like translated chinese poems.</p>
 		
 <table border="1" cellpadding="5" cellspacing="0">
 <tr><td>Offset</td><td>0x06</td><td>0x07</td></tr>





More information about the linux-mtd-cvs mailing list