Brussels / 3 & 4 February 2018

schedule

Drive your NAND within Linux

Forget the word "nightmare"


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 follow its own rules. Each SoC vendor creates his preferred abstraction for interacting with these chips.

Handling all of that requires some abstraction, and guess what? That is currently being enhanced in Linux, and that is what this talk is about!

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 follow its own rules. Each SoC vendor creates his preferred abstraction for interacting with these chips.

Handling all of that requires some abstraction, and guess what? 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 NAND controllers has been standardized over the years and how it is planned to drive NAND controllers within Linux, through the abstraction of the MTD layer (Mass Technology Device) and the NAND framework.

Speakers

Photo of Miquèl Raynal Miquèl Raynal

Links