"Flash drives are getting larger and cheaper; as a result, they
are showing up in an increasing number of devices. These drives are
not the same as the rotating-media drives which preceded them, and
they have different performance characteristics. If Linux is to
make proper use of of this class of hardware, it must drive it in a
way which is aware of its advantages and disadvantages.
"This article will review the properties of typical flash
devices and list some optimizations that should allow Linux to get
the most out of low-cost flash drives. The kernel working group of
the Linaro project is currently researching this topic as an
increasing number of embedded designs move away from raw NAND flash
devices to embedded MMC or SD drives that hide the NAND interface
and provide a simplified linear block device. This drives down
system design complexity and cost but also means that regular
block-oriented filesystems are used instead of the Linux MTD layer
that can talk to raw flash."