NAND Flash Memories Application Note
NAND Flash Memories
Using Linux MTD compatible mode
on ELNEC Device Programmers
(Quick Guide)
Application Note
November 2018
an_elnec_linux_mtd, version 1.06
Version 1.06/11.2018 Page 1 of 18
NAND Flash Memories Application Note
As embeded devices become still more and more complex, specialised control software becomes still
more expensive in terms of both money and time. Therefore there is a strong pressure to use some universal
operating system instead of special software creations. Probably the most popular operating system in embeded
world of today is Linux due to its open source and free of costs nature.
There are many embeded operating systems based on Linux, but they all use the same Linux kernel.
MTD (stands for Memory Technology Devices) subsystem is the portion of Linux kernel responsible for flash
memory devices management. You can find more information about MTD on their homepage: http://www.linux-
mtd.infradead.org/index.html.
Linux MTD compatible feature provides the compatibility issues with Linux MTD subsystem, as involved
in Linux kernel version 2.6.32.8. It allows writing of Linux MTD compatible bad blocks tables and Linux MTD
compatible ECC for both, bad blocks tables and user data. See Linux kernel homepage for the most actual source
code of Linux MTD subsystem: http://www.kernel.org/.
Actually, Linux MTD compatible feature is supported on BeeProg2, BeeHive204, BeeHive204AP,
BeeHive208S, BeeProg3 and BeeHive304 programmers. Linux MTD subsystem specifies ECC algorithm capable
to recover one single-bit error in 256-byte wide frame. The feature is enabled only for those devices that the ECC
algorithm is suitable for (typically all SLC devices).
This application note applies to area under dynamical development. Please, check our application notes
section (see http://www.elnec.com/support/application-notes/) regularly and always use the newest version of the
document.
Version 1.06/11.2018 Page 2 of 18