Drive your NAND within Linux - Miquèl Raynal, Bootlin (formerly Free Electrons)
Channel: The Linux Foundation
Date: 2018-03-13

Drive your NAND within Linux - Miquèl Raynal, Bootlin (formerly Free Electrons)

NAND flash chips are almost everywhere, sometimes hidden in eMMCs, sometimes they are just parallel NAND chips under the orders of your favorite NAND controller. Each NAND vendor follows its own rules. Each SoC vendor creates his preferred abstraction for interacting with these chips.

Handling all of that requires some abstraction, and that is currently being enhanced in Linux! A new interface, called exec_op is showing up. It has been designed to match the most diverse situations. It should ease the support of advanced controllers as well as the implementation of vendor-specific NAND flash features.

This talk will start with some basics about NAND memories, especially their weaknesses and how we get rid of them. It will also show how the interaction between NAND chips and controllers has been standardized over the years and how it is planned to drive NAND controllers within Linux. 

About Miquèl Raynal
Miquèl is a kernel and embedded Linux engineer at Bootlin (formerly Free Electrons) since 2017. He acquired a wide low-level software and hardware technical background during his studies at INSA Toulouse (engineering school). His interest for Operating Systems grown over the time until he decided to be part of the Linux kernel community. He recently contributed the -exec_op() interface to the NAND framework and migrated two drivers to it.