![Freescale Semiconductor i.MX 6DualLite Reference Manual Download Page 221](http://html1.mh-extra.com/html/freescale-semiconductor/i-mx-6duallite/i-mx-6duallite_reference-manual_2330523221.webp)
Chapter 30
NAND GPMI Flash Driver
30.1 Introduction
The NAND Flash Memory Technology Devices (MTD) driver is used in the Generic-
Purpose Media Interface (GPMI) controller on the i.MX 6Solo/6DualLite.
Only the hardware specific layer has to be implemented for the NAND MTD driver to
operate.
The rest of the functionality such as Flash read/write/erase is automatically handled by
the generic layer provided by the Linux MTD subsystem for NAND devices.
30.1.1 Hardware Operation
NAND Flash is a nonvolatile storage device used for embedded systems.
It does not support random accesses of memory as in the case of RAM or NOR Flash.
Reading or writing to NAND Flash must be done through the GPMI. NAND Flash is a
sequential access device appropriate for mass storage applications. Code stored on
NAND Flash can not be executed from there. Code must be loaded into RAM memory
and executed from there. The i.MX 6Solo/6DualLite contains a hardware error-correcting
block.
30.2 Software Operation
MTDs in Linux covers all memory devices such as RAM, ROM, and different kinds of
NOR/NAND Flashes.
The MTD subsystem provides uniform access to all such devices. Above the MTD
devices there could be either MTD block device emulation with a Flash file system
(JFFS2) or a UBI layer. The UBI layer in turn, can have either UBIFS above the volumes
i.MX 6Solo/6DualLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013
Freescale Semiconductor, Inc.
221