NAND/MTD support under Linux

Speaker(s) : Matthieu Castet

  • Language : English
  • Level : Confirmed
  • Nature : Conference
  • Date : Thursday 12 July 2012
  • Schedule : 09h20
  • Duration : 40 minutes
  • Place : Uni Mail R280
Target audience : ProfessionalsGeeks


NAND flash memory in embedded systems

NAND flash memory is a fast evolving technology, used in virtually all embedded devices with high density storage requirements. This goal of this presentation is to explain how NAND flash memory works, compare it with other types of memory, describe its performance, limitations and constraints. The presentation will also focus on specific NAND aspects that raise challenges for embedded systems: ECC, bad block management, wear levelling, programming constraints, etc.

In a second part, this presentation will describe NAND memory integration under Linux.

After a presentation of the MTD stack, we will discover the various filesystems which are suitable for NAND memories. We will then focus on the UBI stack (Unsorted Block Interface) and its associated filesystem UBIFS. Finally we will examine the challenges that need to be resolved for MLC memories and latest generation NAND memories.


Ivan DJELIC In charge of OS and low-level software at Parrot SA ( Working on embedded software in general, from ARM SoC ROM software to userland libraries and tools. Linux kernel contributions: BCH library, MTD layer. Education/background: engineering in applied mathematics, research in compiler optimization

Matthieu Castet has been doing Linux kernel development since 2005 on the USB Eagle ADSL modem driver. He is in charge of the Linux platform at Parrot SA ( and maintains Parrot’s own ARM SoC since 2007.

Attached documents

Slides (PDF - 1.3 Mb)