Mémoire flash NAND vs NOR : Architecture, performance et compromis en ingénierie

La mémoire flash est largement utilisée dans les systèmes embarqués et l’électronique grand public, mais la mémoire flash NAND et NOR remplissent des objectifs fondamentalement différents. Leurs différences ne concernent pas seulement la rapidité ou la capacité — elles proviennent de la manière dont les cellules mémoire sont physiquement disposées et accessibles. Cet article adopte une perspective d’ingénierie pratique, en se concentrant sur la manière dont ces différences impactent la conception réelle du système, le comportement de performance et la fiabilité à long terme.

Table des matières

  • [Fondamentaux de la mémoire flash] (#flash-mémoire-fondamentaux)
  • [NAND Flash : Conception et comportement] (#nand-flash-conception-et-comportement)
  • [NOR Flash : Conception et comportement] (#nor-flash-conception-et-comportement)
  • [Comparaison d’architecture] (#architecture-comparaison)
  • [Analyse de performance] (#performance-analyse)
  • [Considérations de densité et de coût] (considérations #density et coûts)
  • [Consommation d’énergie] (#power-consommation)
  • [Fiabilité et intégrité des données] (#reliability-et-intégrité-données)
  • [Scénarios d’application] (#application-scénarios)
  • [Lignes directrices de sélection de conception] (#design-selection-guidelines)
  • FAQ

Fondamentaux de la mémoire flash

À bas niveau, la mémoire flash est construite sur des transistors à grille flottante. Ces dispositifs stockent l’information en piégeant les électrons dans une grille isolée, ce qui modifie la tension seuil du transistor.

Quelques contraintes pratiques influencent l’utilisation du flash :

  • Les données ne peuvent pas être écrasées directement ; l’effacement est nécessaire en premier
  • Les opérations d’effacement se produisent à la granularité par blocs
  • Chaque cellule possède un nombre limité de cycles de programme/effacement

Ces limitations sont gérées très différemment dans les conceptions NAND et NOR.

Flash NAND : Conception et comportement

La mémoire flash NAND est conçue pour stocker efficacement de grandes quantités de données.

Ce qui compte en pratique

  • Les cellules sont connectées en chaînes sérieuses
  • Les opérations sont regroupées :
    • Page (lecture/écriture)
    • Blocage (effacer)
  • Toujours utilisé avec un contrôleur (FTL + ECC)

Cette structure réduit la surface de silicium, ce qui explique pourquoi la NAND est bien évolutive en capacité.

Cependant, il existe des compromis :

  • L’accès aléatoire est indirect
  • Les taux d’erreur sont plus élevés
  • Nécessite une gestion des arrière-plans (nivellement de l’usure, mauvaise gestion des blocs)

NOR Flash : Conception et comportement

La flash NOR adopte une approche différente, en privilégiant l’accès direct.

Traits clés

  • Cellules connectées en parallèle
  • Véritable accès aléatoire (adressable par octet)
  • Le CPU peut lire directement à partir de celui-ci

Cela permet l'exécutation en place (XIP), ce qui signifie que le code s’exécute directement depuis la mémoire flash sans être copié en RAM.

L’inconvénient est l’efficacité de la surface — chaque cellule nécessite plus de câblage, ce qui limite la densité.

Comparaison d’architecture

nand_vs_nor_architecture

La topologie interne explique la plupart des comportements observables :

  • NAND partage des connexions entre plusieurs cellules → un accès compact mais indirect
  • Le NOR connecte chaque cellule individuellement → un accès rapide mais une plus grande surface

En termes simples : la NAND fait gagner de l’espace, la NAND fait gagner du temps.


Analyse de performance

nand_nor_performance_comparison

Au lieu de regarder les chiffres bruts, il est plus utile de penser en termes de schémas d’accès :

  • La NAND fonctionne mieux avec des flux de données séquentiels
  • Le NOR fonctionne mieux avec petites lectures aléatoires

Tableau comparatif des performances

Fonctionnement Flash NAND Flash NOR
Lecture aléatoire Modéré Très rapide
Lecture séquentielle Vite Modéré
Écrire Rapide (basé sur des pages) Doucement
Effacer Rapide (basé sur des blocs) Doucement

C’est pourquoi la NAND domine les dispositifs de stockage, tandis que la NOR est toujours utilisée dans les systèmes de démarrage.

Considérations de densité et de coût

nand_vs_nor_density_scaling

La structure de NAND permet plus de bits par unité de surface :

  • Taille de cellule plus petite
  • Moins de connexions métalliques
  • Empilement vertical plus facile (NAND 3D)

NOR, en revanche :

  • Nécessite des connexions individuelles par cellule
  • Consomme plus de surface de dépression
  • Devient coûteuse à grande échelle

C’est la principale raison pour laquelle la NAND est utilisée pour les gigaoctets et téraoctets, tandis que la NOR reste généralement beaucoup plus petite.

Consommation d’énergie

La consommation d’énergie dépend beaucoup de la manière dont la mémoire est accédée.

  • NAND est efficace lors de grands transferts car les opérations sont regroupées
  • NOR a tendance à consommer davantage lors de l’écriture/effacement à cause de petites opérations répétées

Dans les systèmes à faible usage (comme le stockage de firmware), le coût énergétique du NOR est généralement acceptable. Dans les systèmes à forte richesse en données, la NAND est bien plus efficace.

Fiabilité et intégrité des données

flash_memory_reliability_mechanisms

Considérations NAND

À mesure que la densité augmente, la fiabilité devient un problème au niveau du système :

  • Les erreurs de bits s’accumulent au fil du temps
  • Perturbation de lecture et interférence cellulaire surviennent
  • La rétention des données se dégrade

Pour compenser :

  • ECC est obligatoire
  • L’égalisation de l’usure répartit l’utilisation
  • Les blocs défectueux sont cartographiés

NI comportement

Le NOR est plus simple à cet égard :

  • Taux d’erreur brut plus bas
  • Caractéristiques de lecture stables
  • Surcharge de correction minimale

C’est pourquoi le NOR reste préféré pour stocker le code de démarrage critique.

Scénarios d’application

NAND Flash

Utilisés lorsque la capacité et le débit comptent :

  • Disques à semi-conducteurs
  • Stockage mobile (UFS, eMMC)
  • Cartes mémoire

NI Flash

Utilisés lorsque la fiabilité et l’accès direct sont importants :

  • ROM de démarrage / firmware
  • BIOS / UEFI
  • Contrôleurs industriels

Directives de sélection de conception

D’un point de vue conception système :

NAND est le meilleur choix si :

  • Vous construisez un sous-système de stockage
  • Les données sont consultées en grandes portions
  • Le coût par Go compte

NOR n’est pas le meilleur choix si :

  • Le système doit démarrer rapidement et de manière fiable
  • L’exécution du code doit être déterministe
  • La simplicité est préférée à la capacité

Approche courante du monde réel

De nombreux systèmes combinent les deux :

  • NOR pour le code de démarrage et critique
  • NAND pour le stockage en vrac

Ce design divisé est largement utilisé car il correspond aux forces de chaque technologie.

FAQ

1. Pourquoi la NAND n’est-elle pas utilisée pour l’exécution directe du code ?

Parce que l’accès se fait par des lectures basées sur des pages et une traduction d’adresses, ce qui ajoute de la latence et de la complexité.

2. Le NOR est-il devenu obsolète ?

Non. Son rôle est désormais plus restreint, mais reste essentiel pour les codes critiques de botte et de sécurité.

3. Une densité NAND plus élevée réduit-elle la fiabilité ?

Oui, surtout avec TLC et QLC. C’est pourquoi les algorithmes de contrôleur deviennent de plus en plus importants.

4. Un système peut-il se reposer uniquement sur la NAND ?

Cela peut arriver, mais la complexité du démarrage augmente et peut nécessiter un support matériel spécialisé.

5. Quelle est la leçon principale pour les ingénieurs ?

Pensez en termes de schéma d’accès et de rôle système, pas seulement de vitesse ou de taille.

Conclusion

La mémoire flash NAND et NOR ne sont pas interchangeables. Chacun est optimisé pour une partie différente du système :

  • NAND gère stockage de données à grande échelle
  • NOR gère un accès rapide et fiable au code

Comprendre leurs différences structurelles facilite grandement la conception de systèmes efficaces et fiables.