Impact des mémoires flash sur la gestion de données Brice Chardin brice.chardin@ensma.fr LIAS, ISAE-ENSMA
Introduction Introduction «Tape is dead, disk is tape, flash is disk» [Gray, 2006] Popularisation des mémoires flash De plus en plus utilisées Nombreux formats différents Quels impacts sur les applications de gestion de données? Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 2 / 20
Introduction Types de mémoires flash Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 3 / 20
Introduction Plan 1 Introduction 2 Architecture des puces flash NAND 3 Flash Translation Layer 4 Solid State Drives 5 Conclusion Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 4 / 20
Architecture des puces flash NAND Cellules Stocke une charge électrique de manière persistante Oxyde Grille de contrôle Grille flottante Oxyde tunnel Source N Puits P N Drain Cette charge modifie la tension de seuil du transistor I D "1" "0" V GS = 0V V GS Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 5 / 20
Architecture des puces flash NAND Organisation de la mémoire flash Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 6 / 20
Architecture des puces flash NAND Organisation de la mémoire flash Cellule Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 6 / 20
Architecture des puces flash NAND Organisation de la mémoire flash Page (typ. 33792 cellules par page, soit 4 Ko) Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 6 / 20
Architecture des puces flash NAND Organisation de la mémoire flash Block (typ. 64 pages par block, soit 256 Ko) Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 6 / 20
Architecture des puces flash NAND Opérations élémentaires Lecture I/O I/O I/O I/O Page non sélectionnée 5V Page sélectionnée 0V Page non sélectionnée 5V Page non sélectionnée 5V "1" "0" "0" "1" Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 7 / 20
Architecture des puces flash NAND Opérations élémentaires Écriture (program) : 1 0 I/O I/O I/O I/O Page non sélectionnée 10V Page sélectionnée 20V Page non sélectionnée 10V Page non sélectionnée 10V "1" 10V "0" 0V "0" 0V "1" 10V Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 7 / 20
Architecture des puces flash NAND Opérations élémentaires Effacement : 0 1 I/O I/O I/O I/O 0V 0V 0V 0V 20V Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 7 / 20
Architecture des puces flash NAND Opérations élémentaires Pour résumer : Lecture (par page) Écriture (par page) Effacement (par block) Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 8 / 20
Perturbations Architecture des puces flash NAND Lecture I/O I/O I/O I/O Page non sélectionnée 5V Page sélectionnée 0V Page non sélectionnée 5V Page non sélectionnée 5V Cellules sollicitées Cellules lues Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 9 / 20
Perturbations Architecture des puces flash NAND Écriture I/O I/O I/O I/O Page non sélectionnée 10V Page sélectionnée 20V Page non sélectionnée 10V Page non sélectionnée 10V Cellules sollicitées Cellules programmées "1" 10V "0" 0V "0" 0V "1" 10V Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 9 / 20
Perturbations Architecture des puces flash NAND Cellules sollicitées Faiblement programmées Remises à zéro lors d un effacement Atténuation des perturbations Code de correction d erreur Écriture séquentielle des pages d un block Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 10 / 20
Architecture des puces flash NAND Endurance Effacement Charges enfermées dans l oxyde tunnel Dégradation permanente Durée de vie limitée en nombre d effacements 10 4 Taux d erreur par bit 10 5 10 6 10 7 10 8 10 9 10 100 1 000 10 000 Cycles P/E Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 11 / 20
Architecture des puces flash NAND Contraintes des mémoires flash Pour résumer : Code de correction d erreur Écriture séquentielle des pages d un bloc Effacement avant réécriture Répartition de l usure sur l ensemble des blocs Gestion des blocs invalides Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 12 / 20
Flash Translation Layer La Flash Translation Layer Flash Translation Layer (FTL) Couche intermédiaire entre les puces flash et le système d exploitation Interface similaire aux disques durs Uniquement lecture/écriture, pas d effacement Généralement intégrée à la mémoire flash Redirection des écritures Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 13 / 20
Flash Translation Layer Importance de la FTL Quelles mémoires flash intègrent une FTL? Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 14 / 20
Flash Translation Layer Importance de la FTL Quelles mémoires flash intègrent une FTL? Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 14 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash Représentation interne de la mémoire flash Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire Représentation interne de la mémoire flash Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash page contenant des données obsolètes Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash page contenant des données obsolètes Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash page contenant des données obsolètes Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash page contenant des données obsolètes Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash page contenant des données obsolètes copie interne Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash page contenant des données obsolètes copie interne Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Flash Translation Layer Fonctionnement de la FTL Vue logique de la mémoire flash page à écrire page contenant des données valides translation d adresse par la FTL Représentation interne de la mémoire flash page contenant des données obsolètes copie interne Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 15 / 20
Solid State Drives Solid State Drives Architecture des Solid State Drives Gestion du parallélisme Plusieurs bus de données Plusieurs puces par bus Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 16 / 20
Solid State Drives Solid State Drives Illustration du parallélisme (4 chips, 1 channel) Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 17 / 20
Solid State Drives Mémoires flash Pour résumer : Fonctionnement interne complexe, simplifié par la FTL Quelles sont les caractéristiques des mémoires flash avec FTL? Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 18 / 20
Conclusion Caractéristiques des mémoires flash Inconnues au niveau de la FTL Algorithmes utilisés (propriétaires et non documentés) Matériel supplémentaire (RAM, processeur, etc.) Caractéristiques très variables d une mémoire flash à un autre Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 19 / 20
Conclusion Conclusion Comparaison avec les disques durs Même interface Différence entre lecture et écriture Accès aléatoire possible (en théorie) Performance des mémoires flash + Lecture (séquentielle et aléatoire) + Écriture séquentielle Écriture aléatoire Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 20 / 20
Références Références I Gray, J. (2006). Tape is dead, disk is tape, flash is disk, RAM locality is king. Pres. at Storage Guru Gong Show. Brice Chardin (LIAS) Mémoires flash NAND 7 novembre 2013 1 / 1