Gestion des flashs NAND sous Linux: MTD, UBI, UBIFS, etc.


Détails
Avec la démocratisation des produits grand public (smartphones, tablettes et autres boxs en tout genre) utilisant des périphériques de stockage eMMC, l'utilisation de mémoires flash de type NOR ou NAND tend à disparaitre. En effet ces périphériques de stockage étant plus compliqués à mettre en oeuvre, et l'argument du coût n'étant plus d'actualité, beaucoup de constructeurs font le choix de basculer sur des eMMCs.
Il reste cependant des produits 'industriels' pour lesquels la maîtrise de l'algorithme de gestion des flashs est important, ce qui exclue d'emblée les périphériques eMMC qui embarquent toute cette logique dans une boite noire que seuls les fabricants maîtrisent. De plus, il est intéressant d'étudier les périphériques de stockage NOR et NAND, ne serait-ce que pour comprendre comment ces eMMCs fonctionnent. En effet, les eMMC stockent leurs données sur de la NAND et rencontrent donc les mêmes problématiques que celles rencontrées lors de l'utilisation de chip NANDs.
Cette présentation fournira une brève description de la technologie des mémoires flash, et plus particulièrement la NAND, et s'attardera sur les couches logicielles mise en place par Linux et le bootloader (U-Boot) pour gérer ce type de périphérique. Nous verrons en particulier comment sont gérées les problématiques de durée de vie et de fiabilité.
Cette présentation s'attardera plus particulièrement sur la couche UBI et le système de fichiers UBIFS qui sont les technologies standards sous Linux pour stocker des données sur de la NAND.
Cette conférence sera animée par Boris Brezillon, ingénieur Linux embarqué dans la société Free Electrons. Il contribue de manière active au développement du noyau Linux, en particulier pour le support de plateformes ARM. Il est notamment l'auteur du driver NAND pour les processeurs ARM Allwinner, du driver DRM/KMS pour le contrôleur graphique des processeurs ARM Atmel, et du driver de crypto pour les processeurs ARM Marvell. Il a également animé une conférence sur la gestion des NAND MLC et TLC à l'Embedded Linux Conference 2015 à San Jose, Californie.

Gestion des flashs NAND sous Linux: MTD, UBI, UBIFS, etc.