Flash NAND vs NOR : différences et usages

Ce sont toutes deux des mémoires flash non volatiles, mais leur câblage diffère. La flash NOR connecte ses cellules en parallèle : elle offre des lectures aléatoires rapides et permet d'exécuter le code sur place, mais son coût par bit est élevé. La flash NAND connecte ses cellules en série : elle loge beaucoup plus de bits sur la même surface et est bon marché, mais elle lit et écrit par pages et nécessite une correction d'erreurs. C'est pourquoi la NAND stocke vos données et la NOR le firmware.

CritèreFlash NANDFlash NOR
Connexion des cellulesLes cellules sont connectées en série en chaînes, avec des transistors de sélection aux deux extrémitésLes cellules sont connectées en parallèle à la ligne de bit, si bien que chaque cellule est accessible directement
Accès en lectureLecture par pages (plusieurs KB à la fois). Le premier accès prend plusieurs dizaines de microsecondes, les lectures aléatoires sont donc lentesAccès aléatoire rapide au niveau de l'octet ou du mot, de l'ordre de quelques dizaines de nanosecondes
Écriture (programmation)Programmation page par page ; débit élevé pour les écritures séquentiellesProgrammation par petites unités ; plus lente pour de grandes quantités de données
Unité d'effacementBloc (quelques MB ou plus)Secteur (typiquement 64 à 128 KB)
Mécanisme de programmationEffet tunnel Fowler-Nordheim pour la programmation comme pour l'effacementInjection d'électrons chauds dans le canal pour programmer, effet tunnel pour effacer
Densité et coût par bitDensité élevée et faible coût ; la 3D NAND empile des centaines de couches, et les TLC/QLC stockent 3 à 4 bits par celluleDensité plus faible (généralement jusqu'à quelques gigabits par puce) et coût par bit plus élevé
Exécution sur place (XIP)Non. Le code doit d'abord être copié en RAMOui. Un processeur peut exécuter le code directement depuis la puce
FiabilitéLes blocs défectueux et les erreurs de bits sont normaux : une ECC robuste, la gestion des blocs défectueux et le wear leveling sont indispensablesPeu d'erreurs de bits, une correction d'erreurs légère suffit donc
EnduranceD'environ 100 000 cycles de programmation/effacement (SLC) jusqu'à environ 1 000 ou moins (QLC)Typiquement environ 100 000 cycles de programmation/effacement
Usages typiquesSSD, clés USB, cartes mémoire, stockage des smartphones (eMMC, UFS)Code de démarrage et firmware : puces BIOS/UEFI, code des microcontrôleurs, équipements automobiles et industriels

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

Flash NAND
Lorsqu'il faut une grande quantité de stockage non volatile bon marché et que la lecture et l'écriture par pages conviennent : SSD, téléphones, appareils photo, cartes mémoire.
Flash NOR
Lorsqu'il faut stocker du code qu'un processeur lit directement et de manière fiable, avec une capacité modeste : ROM de démarrage, firmware, petits systèmes embarqués.
Ensemble
De nombreux appareils utilisent les deux : une petite puce NOR contient le code de démarrage, qui charge ensuite le système d'exploitation depuis un composant NAND de grande capacité.

Questions fréquentes

Pourquoi la flash NAND est-elle moins chère que la flash NOR ?

Les cellules NAND sont connectées en chaînes série et partagent leurs contacts, si bien que chaque bit occupe beaucoup moins de surface. Avec l'empilement 3D et les cellules multibits, cela donne une densité élevée et un faible coût par bit. Les cellules NOR sont câblées en parallèle et occupent plus de surface.

Un processeur peut-il exécuter du code directement depuis une flash NAND ?

Pas directement. La NAND se lit par pages et présente des erreurs de bits, le code est donc généralement copié d'abord en RAM. La flash NOR permet l'exécution sur place (XIP), c'est pourquoi elle stocke le code de démarrage et le firmware.

Quelle flash est utilisée dans les SSD et les téléphones ?

La flash NAND. Les SSD, les clés USB, les cartes mémoire et le stockage des téléphones comme l'eMMC et l'UFS utilisent tous la NAND pour son faible coût et sa grande capacité.

La flash NAND s'use-t-elle plus vite que la NOR ?

En général, oui. L'endurance de la NAND va d'environ 100 000 cycles (SLC) à environ 1 000 (QLC), tandis que la NOR supporte typiquement environ 100 000 cycles. Les contrôleurs NAND utilisent le wear leveling et la correction d'erreurs pour prolonger sa durée de vie.

Vérifier vos connaissances

Quelle caractéristique de la mémoire flash NAND, comparée à la NOR, est correcte ?

  1. AL'accès aléatoire est rapide, ce qui convient à l'exécution directe de code
  2. BLes cellules étant connectées en série, la densité d'intégration est facile à augmenter, ce qui convient au stockage de grande capacité
  3. CC'est une mémoire volatile qui perd ses données à la coupure de l'alimentation
Afficher la réponse et l'explication

Réponse : B. Les cellules étant connectées en série, la densité d'intégration est facile à augmenter, ce qui convient au stockage de grande capacité

La NAND connecte en série plusieurs dizaines de cellules et supprime le contact de chaque cellule : la surface par bit est faible, ce qui favorise les grandes capacités ; elle est utilisée dans les SSD et les cartes mémoire. En contrepartie, la lecture traverse les cellules en série et est lente, et l'accès se fait par page. Dans la NOR, chaque cellule est connectée en parallèle à la ligne de bit : la lecture aléatoire est rapide et convient à l'exécution directe de code. Les deux sont non volatiles.

Quel est l'usage typique de la mémoire flash NOR ?

  1. ALe stockage de vidéos et de photos volumineuses
  2. BLa mémoire principale des PC
  3. CLe stockage du code programme des équipements (programmes d'amorçage, etc.)
Afficher la réponse et l'explication

Réponse : C. Le stockage du code programme des équipements (programmes d'amorçage, etc.)

Dans la NOR, chaque cellule est connectée en parallèle à la ligne de bit et l'accès aléatoire est rapide, ce qui permet au CPU de lire et d'exécuter directement le programme en mémoire (XIP : Execute In Place). Elle sert donc aux programmes d'amorçage des équipements, aux firmwares des microcontrôleurs et aux codes de contrôle embarqués dans les véhicules. Sa capacité est faible, de quelques Mbit à quelques Gbit, et son coût par bit supérieur à celui de la NAND : le stockage de grande capacité utilise la NAND.

Quelle est l'unité correcte d'effacement des données dans une mémoire flash NAND ?

  1. ALe bit
  2. BLe bloc
  3. CL'octet
Afficher la réponse et l'explication

Réponse : B. Le bloc

En NAND, la lecture et l'écriture se font par page (environ 16 KB), mais l'effacement ne peut se faire que par bloc (quelques MB à quelques dizaines de MB), regroupant plusieurs centaines de pages. L'effacement appliquant une haute tension à tout le caisson pour extraire les électrons en une fois, il impose cette unité. Même pour réécrire une partie seulement, l'écrasement est impossible : on écrit les nouvelles données dans une page libre, on invalide l'ancienne, et l'on efface ensuite en bloc par ramasse-miettes (garbage collection).

  1. Quel mode d'injection d'électrons est principalement utilisé pour l'écriture (programmation) de la mémoire flash NAND ?
  2. Quelle description de la mémoire flash NAND 3D est correcte ?
  3. Quelle technique les contrôleurs de flash NAND utilisent-ils pour faire face à l'augmentation des erreurs de lecture liée au passage au multiniveau ?

Questions d'entraînement sur SRAM et mémoire flash

Termes clés expliqués

Mémoire flash NAND
Mémoire non volatile dont les cellules sont connectées en série. Très dense et facile à porter à grande capacité, elle est utilisée dans les SSD et les cartes mémoire.
Mémoire flash NOR
Mémoire flash dont les cellules sont connectées en parallèle. Lecture aléatoire rapide ; utilisée notamment pour stocker les programmes des microcontrôleurs.
3D NAND
Flash NAND dont les cellules sont empilées verticalement en grand nombre pour augmenter la capacité. Introduite pour dépasser les limites de la miniaturisation planaire, elle dépasse 200 couches.
Mémoire non volatile
Mémoire qui conserve les données même hors tension, comme la mémoire flash ou la MRAM. La DRAM et la SRAM sont volatiles.

Comparatifs associés