The kernel's MTD subsystem shown in Figure 17.1 provides support for flash and similar nonvolatile solid-state storage. It consists of the following:
- The MTD core, which is an infrastructure consisting of library routines and data structures used by the rest of the MTD subsystem
- Map drivers that decide what the processor ought to do when it receives requests for accessing the flash
- NOR Chip drivers that know about commands required to talk to NOR flash chips
- NAND Chip drivers that implement low-level support for NAND flash controllers
- User Modules, the layer that interacts with user-space programs
- Individual device drivers for some special flash chips
Figure 17.1 The Linux-MTD subsystem.