Mémoire flash - Flash memory

Une clé USB démontée . La puce de gauche est une mémoire flash. Le contrôleur est à droite.
Un SSD mSATA avec l'étiquette retirée pour montrer le chipset et la NAND.

La mémoire flash est un support de stockage de mémoire informatique électronique non volatile qui peut être effacé et reprogrammé électriquement. Les deux principaux types de mémoire flash, NOR flash et NAND flash, sont nommés pour les portes logiques NOR et NAND . NOR flash utilise la même conception de cellule, composée de MOSFET à grille flottante . Ils diffèrent au niveau du circuit selon que l'état de la ligne de bit ou des lignes de mot est tiré vers le haut ou vers le bas. Dans le flash NAND, la relation entre la ligne de bits et les lignes de mots ressemble à une porte NAND ; en flash NOR, cela ressemble à une porte NOR.

La mémoire flash, un type de mémoire à grille flottante , a été inventée chez Toshiba en 1980 et est basée sur la technologie EEPROM . Toshiba a commencé à commercialiser la mémoire flash en 1987. Les EPROM devaient être complètement effacées avant de pouvoir être réécrites. La mémoire flash NAND, cependant, peut être effacée, écrite et lue en blocs (ou pages), qui sont généralement beaucoup plus petits que l'ensemble du périphérique. La mémoire flash NOR permet d'écrire un seul mot machine – dans un emplacement effacé – ou de le lire indépendamment. Un dispositif de mémoire flash se compose généralement d'une ou plusieurs puces de mémoire flash (chacune contenant de nombreuses cellules de mémoire flash), ainsi qu'une puce de contrôleur de mémoire flash distincte .

Le type NAND se trouve principalement dans les cartes mémoire , lecteurs flash USB , les disques SSD (ceux produits depuis 2009), les téléphones de fonction , smartphones et produits similaires, pour le stockage général et le transfert de données. La mémoire flash NAND ou NOR est également souvent utilisée pour stocker des données de configuration dans de nombreux produits numériques, une tâche auparavant rendue possible par l'EEPROM ou la RAM statique alimentée par batterie . Un inconvénient majeur de la mémoire flash est qu'elle ne peut supporter qu'un nombre relativement faible de cycles d'écriture dans un bloc spécifique.

La mémoire flash est utilisée dans les ordinateurs , les PDA , les lecteurs audio numériques , les appareils photo numériques , les téléphones portables , les synthétiseurs , les jeux vidéo , l' instrumentation scientifique , la robotique industrielle et l' électronique médicale . La mémoire flash a un temps d'accès en lecture rapide , mais elle n'est pas aussi rapide que la RAM ou la ROM statique. Dans les appareils portables, il est préféré aux disques durs en raison de sa résistance aux chocs mécaniques.

Étant donné que les cycles d'effacement sont lents, les grandes tailles de blocs utilisées dans l'effacement de la mémoire flash lui confèrent un avantage de vitesse significatif par rapport à l'EEPROM non flash lors de l'écriture de grandes quantités de données. En 2019, la mémoire flash coûte beaucoup moins que l'EEPROM programmable par octet et est devenue le type de mémoire dominant partout où un système nécessitait une quantité importante de stockage à l'état solide non volatile . Les EEPROM, cependant, sont toujours utilisées dans des applications qui ne nécessitent que de petites quantités de stockage, comme la détection de présence en série .

Les packages de mémoire flash peuvent utiliser l' empilage de puces avec des vias en silicium et plusieurs dizaines de couches de cellules 3D TLC NAND (par puce) simultanément pour atteindre des capacités allant jusqu'à 1 tebioctet par package en utilisant 16 puces empilées et un contrôleur flash intégré en tant que puce séparée à l'intérieur le paquet.

Histoire

Fond

Les origines de la mémoire flash remontent au développement du MOSFET à grille flottante (FGMOS), également connu sous le nom de transistor à grille flottante. Le MOSFET original (transistor à effet de champ métal-oxyde-semiconducteur), également connu sous le nom de transistor MOS, a été inventé par l'ingénieur égyptien Mohamed M. Atalla et l'ingénieur coréen Dawon Kahng aux Bell Labs en 1959. Kahng a ensuite développé une variante, le MOSFET à grille flottante, avec l'ingénieur chinois Simon Min Sze aux Bell Labs en 1967. Ils ont proposé qu'il puisse être utilisé comme cellules de mémoire à grille flottante pour stocker une forme de mémoire morte programmable ( PROM ) qui est à la fois non volatile et reprogrammable.

Les premiers types de mémoire à grille flottante comprenaient l'EPROM (PROM effaçable) et l'EEPROM (PROM effaçable électriquement) dans les années 1970. Cependant, les premières mémoires à grille flottante nécessitaient que les ingénieurs construisent une cellule de mémoire pour chaque bit de données, ce qui s'est avéré lourd, lent et coûteux, limitant la mémoire à grille flottante aux applications de niche dans les années 1970, telles que l'équipement militaire et les premières téléphones mobiles expérimentaux .

Invention et commercialisation

Fujio Masuoka , alors qu'il travaillait pour Toshiba , a proposé un nouveau type de mémoire à grille flottante qui permettait d'effacer rapidement et facilement des sections entières de mémoire, en appliquant une tension à un seul fil connecté à un groupe de cellules. Cela a conduit à l'invention de la mémoire flash par Masuoka à Toshiba en 1980. Selon Toshiba, le nom "flash" a été suggéré par le collègue de Masuoka, Shōji Ariizumi, parce que le processus d'effacement du contenu de la mémoire lui rappelait le flash d'un appareil photo . Masuoka et ses collègues ont présenté l'invention du flash NOR en 1984, puis du flash NAND lors de l' IEEE 1987 International Electron Devices Meeting (IEDM) qui s'est tenu à San Francisco.

Toshiba a lancé commercialement la mémoire flash NAND en 1987. Intel Corporation a introduit la première puce flash commerciale de type NOR en 1988. La mémoire flash basée sur NOR a des temps d'effacement et d'écriture longs, mais fournit des bus d'adresse et de données complets, permettant un accès aléatoire à n'importe quel emplacement de mémoire. Cela en fait un remplacement approprié pour les anciennes puces de mémoire morte (ROM), qui sont utilisées pour stocker le code de programme qui a rarement besoin d'être mis à jour, comme le BIOS d' un ordinateur ou le micrologiciel des décodeurs . Son endurance peut aller d'aussi peu que 100 cycles d'effacement pour une mémoire flash sur puce, à 10 000 ou 100 000 cycles d'effacement plus typiques, jusqu'à 1 000 000 de cycles d'effacement. Le flash basé sur NOR était à la base des premiers supports amovibles basés sur le flash ; CompactFlash était à l'origine basé sur celui-ci, bien que les cartes ultérieures soient passées à une mémoire flash NAND moins chère.

La mémoire flash NAND a réduit les temps d'effacement et d'écriture et nécessite moins de surface de puce par cellule, permettant ainsi une plus grande densité de stockage et un coût par bit inférieur à la mémoire flash NOR. Cependant, l'interface E/S de la mémoire flash NAND ne fournit pas de bus d'adresse externe à accès aléatoire. Au contraire, les données doivent être lues par blocs, avec des tailles de blocs typiques de centaines à des milliers de bits. Cela rend la mémoire flash NAND inadaptée en remplacement de la ROM de programme, car la plupart des microprocesseurs et des microcontrôleurs nécessitent un accès aléatoire au niveau de l'octet. À cet égard, la mémoire flash NAND est similaire à d'autres périphériques de stockage de données secondaires , tels que les disques durs et les supports optiques , et est donc parfaitement adaptée à une utilisation dans les périphériques de stockage de masse, tels que les cartes mémoire et les disques SSD (Solid State Drive). Les cartes mémoire flash et les SSD stockent les données à l'aide de plusieurs puces de mémoire flash NAND.

Le premier format de carte mémoire amovible basé sur NAND était SmartMedia , sorti en 1995. De nombreux autres ont suivi, notamment MultiMediaCard , Secure Digital , Memory Stick et xD-Picture Card .

Développements ultérieurs

Une nouvelle génération de formats de carte mémoire, y compris RS-MMC , miniSD et microSD , présente des facteurs de forme extrêmement petits. Par exemple, la carte microSD a une surface d'un peu plus de 1,5 cm 2 , avec une épaisseur inférieure à 1 mm.

La mémoire flash NAND a atteint des niveaux importants de densité de mémoire grâce à plusieurs technologies majeures qui ont été commercialisées de la fin des années 2000 au début des années 2010.

La technologie de cellule multi-niveaux (MLC) stocke plus d'un bit dans chaque cellule mémoire . NEC a fait la démonstration de la technologie des cellules multi-niveaux (MLC) en 1998, avec une puce de mémoire flash de 80 Mo stockant 2 bits par cellule. STMicroelectronics a également fait la démonstration du MLC en 2000, avec une puce de mémoire flash NOR de 64 Mo. En 2009, Toshiba et SanDisk ont introduit des puces flash NAND avec la technologie QLC stockant 4 bits par cellule et détenant une capacité de 64 Gbit. Samsung Electronics a introduit la technologie de cellule à trois niveaux (TLC) stockant 3 bits par cellule et a commencé à produire en masse des puces NAND avec la technologie TLC en 2010.    

Flash piège de charge

La technologie Charge Trap Flash (CTF) remplace la grille flottante en polysilicium, qui est prise en sandwich entre un oxyde de grille de blocage au-dessus et un oxyde à effet tunnel en dessous, par une couche de nitrure de silicium électriquement isolante ; la couche de nitrure de silicium piège les électrons. En théorie, le CTF est moins sujet aux fuites d'électrons, ce qui améliore la rétention des données.

Parce que le CTF remplace le polysilicium par un nitrure électriquement isolant, il permet des cellules plus petites et une plus grande endurance (moins de dégradation ou d'usure). Cependant, les électrons peuvent être piégés et s'accumuler dans le nitrure, entraînant une dégradation. La fuite est exacerbée à haute température car les électrons deviennent plus excités avec l'augmentation des températures. La technologie CTF utilise cependant toujours un oxyde tunnel et une couche de blocage qui sont les points faibles de la technologie, car ils peuvent toujours être endommagés de la manière habituelle (l'oxyde tunnel peut être dégradé en raison de champs électriques extrêmement élevés et la couche de blocage due à l'anode Injection de trou chaud (AHHI).

La dégradation ou l'usure des oxydes est la raison pour laquelle la mémoire flash a une endurance limitée et la rétention des données diminue (le potentiel de perte de données augmente) avec une dégradation croissante, car les oxydes perdent leurs caractéristiques d'isolation électrique à mesure qu'ils se dégradent. Les oxydes doivent isoler des électrons pour éviter qu'ils ne fuient, ce qui entraînerait une perte de données.

En 1991, des chercheurs de NEC , dont N. Kodama, K. Oyama et Hiroki Shirai, ont décrit un type de mémoire flash avec une méthode de piège de charge. En 1998, Boaz Eitan de Saifun Semiconductors (plus tard acquis par Spansion ) a breveté une technologie de mémoire flash appelée NROM qui profitait d'une couche de piégeage de charge pour remplacer la grille flottante conventionnelle utilisée dans les conceptions de mémoire flash conventionnelles. En 2000, une équipe de recherche Advanced Micro Devices (AMD) dirigée par Richard M. Fastow, l'ingénieur égyptien Khaled Z. Ahmed et l'ingénieur jordanien Sameer Haddad (qui a ensuite rejoint Spansion) a démontré un mécanisme de piégeage de charge pour les cellules de mémoire flash NOR. Le CTF a ensuite été commercialisé par AMD et Fujitsu en 2002. La technologie 3D V-NAND ( NAND verticale) empile les cellules de mémoire flash NAND verticalement dans une puce à l'aide de la technologie 3D Charge Trap Flash (CTP). La technologie 3D V-NAND a été annoncée pour la première fois par Toshiba en 2007, et le premier appareil, avec 24 couches, a été commercialisé pour la première fois par Samsung Electronics en 2013.

Technologie des circuits intégrés 3D

La technologie des circuits intégrés 3D (3D IC) empile les puces de circuits intégrés (CI) verticalement dans un seul boîtier de puces 3D. Toshiba introduit la technologie 3D IC à mémoire flash NAND en Avril 2007, quand ils ont fait ses débuts un 16 Go puce mémoire intégrée flash NAND compatible eMMC (numéro de produit THGAM0G7D8DBAI6, de THGAM souvent abrégé sur les sites de consommation), qui a été fabriqué avec huit 2 empilés puces flash Go NAND . En septembre 2007, Hynix Semiconductor (maintenant SK Hynix ) a introduit la technologie IC 3D à 24 couches, avec une puce de mémoire flash de 16 Go qui a été fabriquée avec 24 puces flash NAND empilées à l'aide d'un processus de liaison de plaquettes. Toshiba a également utilisé un circuit intégré 3D à huit couches pour sa puce flash THGBM de 32 Go en 2008. En 2010, Toshiba a utilisé un circuit intégré 3D à 16 couches pour sa puce flash THGBM2 de 128 Go, qui était fabriquée avec 16 puces empilées de 8 Go. Dans les années 2010, les circuits intégrés 3D sont devenus largement utilisés dans le commerce pour la mémoire flash NAND dans les appareils mobiles .       

Depuis août 2017, des cartes microSD d'une capacité allant jusqu'à 400 Go (400 milliards d'octets) sont disponibles. La même année, Samsung a combiné l'empilement de puces IC 3D avec ses technologies 3D V-NAND et TLC pour fabriquer sa  puce de mémoire flash KLUFG8R1EM de 512 Go avec huit puces V-NAND 64 couches empilées. En 2019, Samsung a produit une puce flash de 1024 Go , avec huit puces V-NAND à 96 couches empilées et avec la technologie QLC.  

Principes de fonctionnement

Une cellule de mémoire flash

La mémoire flash stocke les informations dans un réseau de cellules mémoire constituées de transistors à grille flottante . Dans les dispositifs à cellule à un niveau (SLC), chaque cellule stocke un seul bit d'information. Les dispositifs à cellules multi-niveaux (MLC), y compris les dispositifs à cellules à trois niveaux (TLC), peuvent stocker plus d'un bit par cellule.

La grille flottante peut être conductrice (généralement du polysilicium dans la plupart des types de mémoire flash) ou non conductrice (comme dans la mémoire flash SONOS ).

MOSFET à grille flottante

Dans la mémoire flash, chaque cellule de mémoire ressemble à un transistor à effet de champ métal-oxyde-semiconducteur (MOSFET) standard, sauf que le transistor a deux grilles au lieu d'une. Les cellules peuvent être vues comme un interrupteur électrique dans lequel le courant circule entre deux bornes (source et drain) et est contrôlé par une grille flottante (FG) et une grille de contrôle (CG). Le CG est similaire à la grille des autres transistors MOS, mais en dessous se trouve le FG isolé tout autour par une couche d'oxyde. Le FG est interposé entre le CG et le canal MOSFET. Parce que le FG est isolé électriquement par sa couche isolante, les électrons placés dessus sont piégés. Lorsque le FG est chargé d'électrons, cette charge fait écran au champ électrique du CG, augmentant ainsi la tension de seuil (V T1 ) de la cellule. Cela signifie que maintenant une tension plus élevée (V T2 ) doit être appliquée au CG pour rendre le canal conducteur. Afin de lire une valeur à partir du transistor, une tension intermédiaire entre les tensions de seuil (V T1 & V T2 ) est appliquée au CG. Si le canal conduit à cette tension intermédiaire, le FG doit être déchargé (s'il était chargé, nous n'obtiendrions pas de conduction car la tension intermédiaire est inférieure à V T2 ), et par conséquent, un "1" logique est stocké dans la porte. Si le canal ne conduit pas à la tension intermédiaire, cela indique que le FG est chargé et, par conséquent, un "0" logique est stocké dans la grille. La présence d'un "0" ou d'un "1" logique est détectée en déterminant s'il y a du courant circulant dans le transistor lorsque la tension intermédiaire est affirmée sur le CG. Dans un dispositif cellulaire à plusieurs niveaux, qui stocke plus d'un bit par cellule, la quantité de courant est détectée (plutôt que simplement sa présence ou son absence), afin de déterminer plus précisément le niveau de charge sur le FG.

Les MOSFET à grille flottante sont ainsi nommés car il existe une couche d'oxyde tunnel électriquement isolante entre la grille flottante et le silicium, de sorte que la grille "flotte" au-dessus du silicium. L'oxyde maintient les électrons confinés dans la grille flottante. La dégradation ou l'usure (et l'endurance limitée de la mémoire Flash à grille flottante) se produisent en raison du champ électrique extrêmement élevé (10 millions de volts par centimètre) subi par l'oxyde. De telles densités de haute tension peuvent rompre les liaisons atomiques au fil du temps dans l'oxyde relativement mince, dégradant progressivement ses propriétés électriquement isolantes et permettant aux électrons d'être piégés et de passer librement (fuite) de la grille flottante dans l'oxyde, augmentant la probabilité de perte de données puisque les électrons (dont la quantité est utilisée pour représenter différents niveaux de charge, chacun affecté à une combinaison différente de bits dans MLC Flash) sont normalement dans la grille flottante. C'est pourquoi la rétention des données diminue et le risque de perte de données augmente avec la dégradation croissante.

Tunnel Fowler–Nordheim

Le processus de déplacement des électrons de la grille de contrôle vers la grille flottante est appelé effet tunnel de Fowler-Nordheim , et il modifie fondamentalement les caractéristiques de la cellule en augmentant la tension de seuil du MOSFET. Ceci, à son tour, modifie le courant drain-source qui traverse le transistor pour une tension de grille donnée, qui est finalement utilisée pour coder une valeur binaire. L'effet tunnel Fowler-Nordheim est réversible, de sorte que des électrons peuvent être ajoutés ou retirés de la grille flottante, processus traditionnellement connus sous le nom d'écriture et d'effacement.

Pompes de charge internes

Malgré le besoin de tensions de programmation et d'effacement relativement élevées, pratiquement toutes les puces flash aujourd'hui ne nécessitent qu'une seule tension d'alimentation et produisent les hautes tensions requises à l'aide de pompes de charge intégrées .

Plus de la moitié de l'énergie utilisée par une puce flash NAND 1,8 V est perdue dans la pompe de charge elle-même. Étant donné que les convertisseurs élévateurs sont intrinsèquement plus efficaces que les pompes de charge, les chercheurs qui développent des SSD à faible consommation ont proposé de revenir aux tensions d'alimentation doubles Vcc/Vpp utilisées sur toutes les premières puces flash, entraînant la tension Vpp élevée pour toutes les puces flash dans un SSD avec un seul convertisseur boost externe partagé.

Dans les engins spatiaux et autres environnements à rayonnement élevé, la pompe de charge sur puce est la première partie de la puce flash à tomber en panne, bien que les mémoires flash continueront de fonctionner - en mode lecture seule - à des niveaux de rayonnement beaucoup plus élevés.

NOR flash

Câblage et structure de mémoire flash NOR sur silicium

Dans le flash NOR, chaque cellule a une extrémité connectée directement à la terre et l'autre extrémité connectée directement à une ligne de bit. Cette disposition est appelée « flash NOR » car elle agit comme une porte NOR : lorsqu'une des lignes de mot (connectée au CG de la cellule) est élevée, le transistor de stockage correspondant agit pour tirer la ligne de bit de sortie vers le bas. La mémoire flash NOR continue d'être la technologie de choix pour les applications embarquées nécessitant un dispositif de mémoire non volatile discret. Les faibles latences de lecture caractéristiques des dispositifs NOR permettent à la fois l'exécution directe de code et le stockage de données dans un seul produit de mémoire.

La programmation

Programmation d'une cellule mémoire NOR (en la mettant à 0 logique), via injection d'électrons chauds
Effacement d'une cellule de mémoire NOR (en la définissant sur 1 logique), via le tunneling quantique

Une cellule flash NOR à un seul niveau dans son état par défaut est logiquement équivalente à une valeur binaire "1", car le courant traversera le canal sous l'application d'une tension appropriée à la grille de commande, de sorte que la tension de la ligne de bit est abaissée. Une cellule flash NOR peut être programmée ou réglée sur une valeur binaire « 0 », par la procédure suivante :

  • une tension élevée (généralement > 5 V) est appliquée au CG
  • le canal est maintenant activé, de sorte que les électrons peuvent circuler de la source au drain (en supposant un transistor NMOS)
  • le courant source-drain est suffisamment élevé pour faire sauter des électrons de haute énergie à travers la couche isolante sur le FG, via un processus appelé injection d'électrons chauds .

Effacement

Pour effacer une cellule flash NOR (en la réinitialisant à l'état "1"), une grande tension de polarité opposée est appliquée entre le CG et la borne source, tirant les électrons du FG par effet tunnel quantique . Les puces de mémoire flash NOR modernes sont divisées en segments d'effacement (souvent appelés blocs ou secteurs). L'opération d'effacement ne peut être effectuée que par bloc ; toutes les cellules d'un segment d'effacement doivent être effacées ensemble. La programmation des cellules NOR, cependant, peut généralement être effectuée un octet ou un mot à la fois.

Câblage et structure de la mémoire flash NAND sur silicium

Flash NAND

Le flash NAND utilise également des transistors à grille flottante , mais ils sont connectés d'une manière qui ressemble à une porte NAND : plusieurs transistors sont connectés en série et la ligne de bit n'est tirée vers le bas que si toutes les lignes de mot sont tirées vers le haut (au-dessus des transistors' V T ). Ces groupes sont ensuite connectés via des transistors supplémentaires à un réseau de lignes de bits de style NOR de la même manière que des transistors uniques sont liés en flash NOR.

Par rapport au flash NOR, le remplacement des transistors uniques par des groupes liés en série ajoute un niveau supplémentaire d'adressage. Alors que le flash NOR peut adresser la mémoire par page puis mot, le flash NAND peut l'adresser par page, mot et bit. L'adressage au niveau du bit convient aux applications série-bit (telles que l'émulation de disque dur), qui n'accèdent qu'à un bit à la fois. D' autre part, les applications d' exécution sur place nécessitent que chaque bit d'un mot soit accessible simultanément. Cela nécessite un adressage au niveau des mots. Dans tous les cas, les modes d'adressage des bits et des mots sont possibles avec flash NOR ou NAND.

Pour lire les données, le groupe souhaité est d'abord sélectionné (de la même manière qu'un seul transistor est sélectionné dans un réseau NOR). Ensuite, la plupart des lignes de mots sont remontées au-dessus du V T d'un bit programmé, tandis que l'une d'entre elles est remontée juste au-dessus du V T d'un bit effacé. Le groupe série conduira (et tirera la ligne de bit vers le bas) si le bit sélectionné n'a pas été programmé.

Malgré les transistors supplémentaires, la réduction des fils de masse et des lignes de bits permet une disposition plus dense et une plus grande capacité de stockage par puce. (Les fils de terre et les lignes de bit sont en réalité beaucoup plus larges que les lignes des schémas.) De plus, la mémoire flash NAND est généralement autorisée à contenir un certain nombre de défauts (la mémoire flash NOR, telle qu'elle est utilisée pour une  ROM BIOS , devrait être sans faute). Les fabricants essaient de maximiser la quantité de stockage utilisable en réduisant la taille des transistors.

Les cellules Flash NAND sont lues en analysant leur réponse à diverses tensions.

Écriture et effacement

La mémoire flash NAND utilise l' injection de tunnel pour l'écriture et la libération du tunnel pour l'effacement. La mémoire flash NAND constitue le cœur des périphériques de stockage USB amovibles appelés clés USB , ainsi que la plupart des formats de carte mémoire et des disques SSD disponibles aujourd'hui.

La structure hiérarchique de NAND Flash commence au niveau de la cellule qui établit des chaînes, puis des pages, des blocs, des plans et finalement un dé. Une chaîne est une série de cellules NAND connectées dans lesquelles la source d'une cellule est connectée au drain de la suivante. Selon la technologie NAND, une chaîne se compose généralement de 32 à 128 cellules NAND. Les chaînes sont organisées en pages qui sont ensuite organisées en blocs dans lesquels chaque chaîne est connectée à une ligne distincte appelée ligne de bits (BL) Toutes les cellules ayant la même position dans la chaîne sont connectées via les portes de contrôle par une ligne de mots (WL) Un plan contient un certain nombre de blocs qui sont connectés via le même BL. Une puce Flash se compose d'un ou plusieurs plans et des circuits périphériques nécessaires pour effectuer toutes les opérations de lecture/écriture/effacement.

L'architecture de NAND Flash signifie que les données peuvent être lues et programmées en pages, généralement entre 4 et 16 Ko, mais ne peuvent être effacées qu'au niveau de blocs entiers constitués de plusieurs pages et d'une taille de Mo. Lorsqu'un bloc est effacé, toutes les cellules sont logiquement mises à 1. Les données ne peuvent être programmées qu'en un seul passage sur une page d'un bloc qui a été effacé. Toutes les cellules qui ont été mises à 0 par programmation ne peuvent être remises à 1 qu'en effaçant le bloc entier. Cela signifie qu'avant de pouvoir programmer de nouvelles données dans une page qui contient déjà des données, le contenu actuel de la page ainsi que les nouvelles données doivent être copiés dans une nouvelle page effacée. Si une page appropriée est disponible, les données peuvent y être écrites immédiatement. Si aucune page effacée n'est disponible, un bloc doit être effacé avant de copier les données sur une page de ce bloc. L'ancienne page est alors marquée comme non valide et peut être effacée et réutilisée.

NAND verticale

La NAND 3D continue à évoluer au-delà de la 2D.

La mémoire NAND verticale (V-NAND) ou 3D NAND empile les cellules de mémoire verticalement et utilise une architecture flash à piège de charge . Les couches verticales permettent des densités de bits surfaciques plus importantes sans nécessiter de cellules individuelles plus petites. Il est également vendu sous la marque BiCS Flash , qui est une marque de Kioxia Corporation (anciennement Toshiba Memory Corporation). La 3D NAND a été annoncée pour la première fois par Toshiba en 2007. La V-NAND a été commercialisée pour la première fois par Samsung Electronics en 2013.

Structure

V-NAND utilise une géométrie flash à piège de charge (introduite commercialement en 2002 par AMD et Fujitsu ) qui stocke la charge sur un film de nitrure de silicium intégré . Un tel film est plus robuste contre les défauts ponctuels et peut être rendu plus épais pour contenir un plus grand nombre d'électrons. V-NAND enveloppe une cellule de piège de charge planaire dans une forme cylindrique. À partir de 2020, les mémoires Flash NAND 3D de Micron et Intel utilisent à la place des portes flottantes, cependant, les mémoires NAND 3D à couches 128 et supérieures utilisent une structure de piège de charge conventionnelle, en raison de la dissolution du partenariat entre Micron et Intel. La mémoire Flash NAND 3D à trappe de charge est plus fine que la NAND 3D à grille flottante. Dans la NAND 3D à grille flottante, les cellules mémoire sont complètement séparées les unes des autres, tandis que dans la NAND 3D à trappe de charge, des groupes verticaux de cellules mémoire partagent le même matériau de nitrure de silicium.

Une cellule mémoire individuelle est constituée d'une couche plane de polysilicium contenant un trou rempli par plusieurs cylindres verticaux concentriques. La surface de polysilicium du trou agit comme l'électrode de grille. Le cylindre de dioxyde de silicium le plus à l'extérieur agit comme le diélectrique de grille, enfermant un cylindre de nitrure de silicium qui stocke la charge, renfermant à son tour un cylindre de dioxyde de silicium comme diélectrique tunnel qui entoure une tige centrale de polysilicium conducteur qui agit comme le canal conducteur.

Les cellules mémoire dans différentes couches verticales n'interfèrent pas les unes avec les autres, car les charges ne peuvent pas se déplacer verticalement à travers le support de stockage en nitrure de silicium, et les champs électriques associés aux grilles sont étroitement confinés à l'intérieur de chaque couche. La collection verticale est électriquement identique aux groupes liés en série dans lesquels la mémoire flash NAND conventionnelle est configurée.

Construction

La croissance d'un groupe de cellules V-NAND commence par un empilement alterné de couches de polysilicium conducteur (dopé) et de couches isolantes de dioxyde de silicium.

L'étape suivante consiste à former un trou cylindrique à travers ces couches. En pratique, une puce V-NAND 128  Gibit avec 24 couches de cellules mémoire nécessite environ 2,9 milliards de tels trous. Ensuite, la surface intérieure du trou reçoit plusieurs revêtements, d'abord du dioxyde de silicium, puis du nitrure de silicium, puis une deuxième couche de dioxyde de silicium. Enfin, le trou est rempli de polysilicium conducteur (dopé).

Performance

Depuis 2013, l'architecture flash V-NAND permet des opérations de lecture et d'écriture deux fois plus rapides que la NAND conventionnelle et peut durer jusqu'à 10 fois plus longtemps, tout en consommant 50 % moins d'énergie. Ils offrent une densité de bits physique comparable en utilisant la lithographie de 10 nm, mais peuvent être en mesure d'augmenter la densité de bits jusqu'à deux ordres de grandeur, étant donné l'utilisation par V-NAND de plusieurs centaines de couches. À partir de 2020, des puces V-NAND avec 160 couches sont en cours de développement par Samsung.

Coût

Coût en bits minimum de la NAND 3D à partir d'une paroi latérale non verticale. L'ouverture supérieure s'élargit avec plus de couches, contrecarrant l'augmentation de la densité de bits.

Le coût de la plaquette d'une NAND 3D est comparable à celui d'une Flash NAND planaire réduite (32 nm ou moins). Cependant, avec une mise à l'échelle NAND planaire s'arrêtant à 16 nm, la réduction du coût par bit peut se poursuivre avec une NAND 3D à partir de 16 couches. Cependant, en raison de la paroi latérale non verticale du trou gravé à travers les couches ; même un léger écart conduit à un coût binaire minimum, c'est-à-dire à une règle de conception équivalente minimale (ou densité maximale), pour un nombre de couches donné ; ce nombre de couche de coût de bit minimum diminue pour un diamètre de trou plus petit.

Limites

Bloquer l'effacement

Une limitation de la mémoire flash est que, bien qu'elle puisse être lue ou programmée un octet ou un mot à la fois de manière aléatoire, elle ne peut être effacée qu'un bloc à la fois. Ceci règle généralement tous les bits du bloc sur 1. En commençant par un bloc fraîchement effacé, n'importe quel emplacement dans ce bloc peut être programmé. Cependant, une fois qu'un bit a été mis à 0, ce n'est qu'en effaçant le bloc entier qu'il peut être remis à 1. En d'autres termes, la mémoire flash (en particulier la flash NOR) offre des opérations de lecture et de programmation à accès aléatoire mais n'offre pas d'opérations aléatoires arbitraires. -accéder aux opérations de réécriture ou d'effacement. Un emplacement peut cependant être réécrit tant que les bits 0 de la nouvelle valeur sont un sur-ensemble des valeurs écrasées. Par exemple, une valeur de quartet peut être effacée en 1111, puis écrite sous la forme 1110. Des écritures successives sur ce quartet peuvent le changer en 1010, puis 0010 et enfin 0000. Essentiellement, l'effacement met tous les bits à 1, et la programmation ne peut effacer que les bits à 0. Certains systèmes de fichiers conçus pour les périphériques flash utilisent cette capacité de réécriture, par exemple Yaffs1 , pour représenter les métadonnées du secteur. D'autres systèmes de fichiers flash, tels que YAFFS2 , n'utilisent jamais cette capacité de "réécriture" - ils font beaucoup de travail supplémentaire pour respecter une "règle d'écriture unique".

Bien que les structures de données dans la mémoire flash ne puissent pas être mises à jour de manière tout à fait générale, cela permet aux membres d'être "supprimés" en les marquant comme non valides. Cette technique peut devoir être modifiée pour les dispositifs de cellules multi-niveaux , où une cellule mémoire contient plus d'un bit.

Les périphériques flash courants tels que les clés USB et les cartes mémoire ne fournissent qu'une interface de niveau bloc, ou couche de traduction flash (FTL), qui écrit dans une cellule différente à chaque fois pour ajuster le niveau d'usure du périphérique. Cela empêche l'écriture incrémentielle dans un bloc ; Cependant, cela aide le périphérique à ne pas être prématurément usé par des modèles d'écriture intensifs.

Usure de la mémoire

Une autre limitation est que la mémoire flash a un nombre fini de cycles d'effacement de programme (généralement écrit sous forme de cycles P/E). La plupart des produits flash disponibles dans le commerce sont garantis pour résister à environ 100 000 cycles P/E avant que l'usure ne commence à détériorer l'intégrité du stockage. Micron Technology et Sun Microsystems ont annoncé une puce de mémoire flash SLC NAND évaluée à 1 000 000 de cycles P/E le 17 décembre 2008.

Le nombre de cycles garanti peut s'appliquer uniquement au bloc zéro (comme c'est le cas avec les  dispositifs TSOP NAND), ou à tous les blocs (comme dans NOR). Cet effet est atténué dans certains microprogrammes de puce ou pilotes de système de fichiers en comptant les écritures et en reconfigurant dynamiquement les blocs afin de répartir les opérations d'écriture entre les secteurs ; cette technique est appelée nivellement d'usure . Une autre approche consiste à effectuer une vérification d'écriture et un remappage sur des secteurs de réserve en cas d'échec d'écriture, une technique appelée gestion des blocs défectueux (BBM). Pour les appareils portables grand public, ces techniques de gestion de l'usure prolongent généralement la durée de vie de la mémoire flash au-delà de la durée de vie de l'appareil lui-même, et certaines pertes de données peuvent être acceptables dans ces applications. Pour un stockage de données de haute fiabilité, cependant, il est déconseillé d'utiliser une mémoire flash qui devrait subir un grand nombre de cycles de programmation. Cette limitation n'a pas de sens pour les applications « en lecture seule » telles que les clients légers et les routeurs , qui ne sont programmés qu'une seule fois ou au plus quelques fois au cours de leur vie.

En décembre 2012, les ingénieurs taïwanais de Macronix ont révélé leur intention d'annoncer lors de la réunion internationale IEEE 2012 sur les dispositifs électroniques qu'ils avaient compris comment améliorer les cycles de lecture/écriture du stockage flash NAND de 10 000 à 100 millions de cycles en utilisant un processus "d'auto-réparation". qui utilisait une puce flash avec "des éléments chauffants intégrés qui pourraient recuire de petits groupes de cellules de mémoire". Le recuit thermique intégré devait remplacer le cycle d'effacement habituel par un processus local à haute température qui non seulement effaçait la charge stockée, mais réparait également la contrainte induite par les électrons dans la puce, donnant des cycles d'écriture d'au moins 100 millions. Le résultat devait être une puce qui pourrait être effacée et réécrite encore et encore, même lorsqu'elle devrait théoriquement tomber en panne. Aussi prometteuse que la percée de Macronix ait pu être pour l'industrie mobile, cependant, il n'était pas prévu qu'un produit commercial doté de cette capacité soit publié dans un avenir proche.

Lire déranger

La méthode utilisée pour lire la mémoire flash NAND peut faire changer les cellules voisines dans le même bloc de mémoire au fil du temps (devenir programmées). C'est ce qu'on appelle la perturbation de la lecture. Le nombre seuil de lectures se situe généralement dans les centaines de milliers de lectures entre les opérations d'effacement intermédiaires. Si vous lisez continuellement à partir d'une cellule, cette cellule n'échouera pas mais plutôt l'une des cellules environnantes lors d'une lecture ultérieure. Pour éviter le problème de perturbation de lecture, le contrôleur flash compte généralement le nombre total de lectures dans un bloc depuis le dernier effacement. Lorsque le nombre dépasse une limite cible, le bloc affecté est copié dans un nouveau bloc, effacé, puis libéré dans le pool de blocs. Le bloc d'origine est comme neuf après l'effacement. Si le contrôleur flash n'intervient pas à temps, cependant, une erreur de perturbation de lecture se produira avec une possible perte de données si les erreurs sont trop nombreuses pour être corrigées avec un code correcteur d' erreurs .

Effets des rayons X

La plupart des circuits intégrés flash sont fournis dans des boîtiers BGA ( ball grid array ), et même ceux qui ne le sont pas sont souvent montés sur un PCB à côté d'autres boîtiers BGA. Après l' assemblage du PCB , les cartes avec des boîtiers BGA sont souvent passées aux rayons X pour voir si les billes établissent des connexions appropriées avec le bon pad, ou si le BGA doit être retravaillé . Ces rayons X peuvent effacer les bits programmés dans une puce flash (convertir les bits "0" programmés en bits "1" effacés). Les bits effacés (bits "1") ne sont pas affectés par les rayons X.

Certains fabricants fabriquent maintenant des dispositifs de mémoire SD et USB résistants aux rayons X.

Accès de bas niveau

L'interface de bas niveau des puces de mémoire flash diffère de celles des autres types de mémoire tels que DRAM , ROM et EEPROM , qui prennent en charge l'altérabilité des bits (zéro à un et un à zéro) et l'accès aléatoire via des bus d'adresses accessibles de l'extérieur .

La mémoire NOR a un bus d'adresse externe pour la lecture et la programmation. Pour la mémoire NOR, la lecture et la programmation sont à accès aléatoire, et le déverrouillage et l'effacement sont par blocs. Pour la mémoire NAND, la lecture et la programmation se font par page, et le déverrouillage et l'effacement se font par bloc.

NI souvenirs

NOR flash par Intel

La lecture à partir de la mémoire flash NOR est similaire à la lecture à partir de la mémoire vive, à condition que l'adresse et le bus de données soient correctement mappés. Pour cette raison, la plupart des microprocesseurs peuvent utiliser la mémoire flash NOR comme mémoire d' exécution sur place (XIP), ce qui signifie que les programmes stockés dans la mémoire flash NOR peuvent être exécutés directement à partir de la mémoire flash NOR sans avoir besoin d'être d'abord copiés dans la RAM. Le flash NOR peut être programmé d'une manière à accès aléatoire similaire à la lecture. La programmation change les bits d'un un logique à un zéro. Les bits qui sont déjà à zéro restent inchangés. L'effacement doit se produire bloc par bloc et réinitialise tous les bits du bloc effacé à un. Les tailles de blocs typiques sont de 64, 128 ou 256  Ko .

La gestion des blocs défectueux est une fonctionnalité relativement nouvelle des puces NOR. Dans les anciens périphériques NOR ne prenant pas en charge la gestion des blocs défectueux, le logiciel ou le pilote de périphérique contrôlant la puce mémoire doit corriger les blocs qui s'usent, sinon le périphérique cessera de fonctionner de manière fiable.

Les commandes spécifiques utilisées pour verrouiller, déverrouiller, programmer ou effacer les mémoires NOR diffèrent pour chaque fabricant. Pour éviter d'avoir besoin d'un logiciel pilote unique pour chaque périphérique fabriqué, des commandes spéciales d' interface de mémoire flash commune (CFI) permettent au périphérique de s'identifier lui-même et ses paramètres de fonctionnement critiques.

Outre son utilisation en tant que ROM à accès aléatoire, la mémoire flash NOR peut également être utilisée comme périphérique de stockage, en tirant parti de la programmation à accès aléatoire. Certains appareils offrent une fonctionnalité de lecture en écriture afin que le code continue de s'exécuter même lorsqu'un programme ou une opération d'effacement se produit en arrière-plan. Pour les écritures de données séquentielles, les puces flash NOR ont généralement des vitesses d'écriture lentes, par rapport à la flash NAND.

Un flash NOR typique n'a pas besoin d'un code de correction d'erreur .

Mémoires NAND

L'architecture flash NAND a été introduite par Toshiba en 1989. Ces mémoires sont accessibles un peu comme les périphériques blocs , tels que les disques durs. Chaque bloc se compose d'un certain nombre de pages. Les pages ont généralement une taille de 512, 2 048 ou 4 096 octets. A chaque page sont associés quelques octets (généralement 1/32 de la taille des données) qui peuvent être utilisés pour le stockage d'une somme de contrôle de code de correction d'erreur (ECC) .

Les tailles de blocs typiques incluent :

  • 32 pages de 512+16 octets chacune pour une taille de bloc (effectif) de 16  Ko
  • 64 pages de 2 048 + 64 octets chacune pour une taille de bloc de 128 Ko
  • 64 pages de 4096+128 octets chacune pour une taille de bloc de 256 Ko
  • 128 pages de 4096+128 octets chacune pour une taille de bloc de 512 Ko.

Alors que la lecture et la programmation sont effectuées par page, l'effacement ne peut être effectué que par bloc.

Les périphériques NAND nécessitent également une gestion des blocs défectueux par le logiciel du pilote de périphérique ou par une puce de contrôleur distincte . Les cartes SD, par exemple, incluent des circuits de contrôleur pour effectuer la gestion des blocs défectueux et le nivellement de l'usure . Lorsqu'un bloc logique est accédé par un logiciel de haut niveau, il est mappé à un bloc physique par le pilote de périphérique ou le contrôleur. Un certain nombre de blocs sur la puce flash peuvent être réservés pour stocker des tables de mappage afin de traiter les mauvais blocs, ou le système peut simplement vérifier chaque bloc à la mise sous tension pour créer une mauvaise carte de blocs dans la RAM. La capacité globale de la mémoire diminue progressivement à mesure que davantage de blocs sont marqués comme étant défectueux.

NAND s'appuie sur ECC pour compenser les bits qui peuvent échouer spontanément pendant le fonctionnement normal de l'appareil. Un ECC typique corrigera une erreur d'un bit dans chaque 2048 bits (256 octets) en utilisant 22 bits d'ECC, ou une erreur d'un bit dans chaque 4096 bits (512 octets) en utilisant 24 bits d'ECC. Si l'ECC ne peut pas corriger l'erreur pendant la lecture, il peut toujours détecter l'erreur. Lors d'opérations d'effacement ou de programmation, l'appareil peut détecter les blocs qui ne parviennent pas à programmer ou à effacer et les marquer comme mauvais. Les données sont ensuite écrites dans un bon bloc différent, et la carte des mauvais blocs est mise à jour.

Les codes de Hamming sont les ECC les plus couramment utilisés pour le flash SLC NAND. Les codes Reed-Solomon et les codes BCH ( codes Bose-Chaudhuri-Hocquenghem) sont couramment utilisés ECC pour le flash NAND MLC. Certaines puces flash MLC NAND génèrent en interne les codes de correction d'erreur BCH appropriés.

La plupart des périphériques NAND sont expédiés de l'usine avec des blocs défectueux. Ceux-ci sont généralement marqués selon une stratégie de marquage de blocs défectueux spécifiée. En autorisant certains mauvais blocs, les fabricants obtiennent des rendements bien plus élevés que ce qui serait possible si tous les blocs devaient être vérifiés pour être bons. Cela réduit considérablement les coûts de flash NAND et ne diminue que légèrement la capacité de stockage des pièces.

Lors de l'exécution de logiciels à partir de mémoires NAND, des stratégies de mémoire virtuelle sont souvent utilisées : le contenu de la mémoire doit d'abord être paginé ou copié dans la RAM mappée en mémoire et y être exécuté (conduisant à la combinaison commune de NAND + RAM). Une unité de gestion de mémoire (MMU) dans le système est utile, mais cela peut également être accompli avec des superpositions . Pour cette raison, certains systèmes utiliseront une combinaison de mémoires NOR et NAND, où une mémoire NOR plus petite est utilisée comme ROM logicielle et une mémoire NAND plus grande est partitionnée avec un système de fichiers pour être utilisée comme zone de stockage de données non volatile.

NAND sacrifie les avantages d'accès aléatoire et d'exécution sur place de NOR. NAND est le mieux adapté aux systèmes nécessitant un stockage de données de grande capacité. Il offre des densités plus élevées, des capacités plus importantes et un coût inférieur. Il a des effacements plus rapides, des écritures séquentielles et des lectures séquentielles.

Standardisation

Un groupe appelé Open NAND Flash Interface Working Group (ONFI) a développé une interface standardisée de bas niveau pour les puces flash NAND. Cela permet l'interopérabilité entre les appareils NAND conformes de différents fournisseurs. La spécification ONFI version 1.0 est sortie le 28 décembre 2006. Elle précise :

  • Une interface physique standard ( brochage ) pour flash NAND dans TSOP -48, WSOP-48, LGA -52 et BGA -63 paquets
  • Un jeu de commandes standard pour la lecture, l'écriture et l'effacement des puces flash NAND
  • Un mécanisme d'auto-identification (comparable à la fonction de détection de présence série des modules de mémoire SDRAM)

Le groupe ONFI est soutenu par les principaux fabricants de flash NAND, notamment Hynix , Intel , Micron Technology et Numonyx , ainsi que par les principaux fabricants d'appareils intégrant des puces flash NAND.

Deux grands fabricants de périphériques flash, Toshiba et Samsung , ont choisi d'utiliser une interface de leur propre conception connue sous le nom de Toggle Mode (et maintenant Toggle V2.0). Cette interface n'est pas compatible broche à broche avec la spécification ONFI. Le résultat est qu'un produit conçu pour les appareils d'un fournisseur peut ne pas être en mesure d'utiliser les appareils d'un autre fournisseur.

Un groupe de fournisseurs, dont Intel , Dell et Microsoft , a formé un groupe de travail sur l' interface de contrôleur de mémoire non volatile (NVMHCI). L'objectif du groupe est de fournir des interfaces de programmation logicielles et matérielles standard pour les sous-systèmes de mémoire non volatile, y compris le périphérique "flash cache" connecté au bus PCI Express .

Distinction entre flash NOR et NAND

Les flashs NOR et NAND diffèrent de deux manières importantes :

  • Les connexions des cellules de mémoire individuelles sont différentes.
  • L'interface prévue pour la lecture et l'écriture de la mémoire est différente ; NOR permet un accès aléatoire , tandis que NAND n'autorise que l'accès aux pages.

Les flashs NOR et NAND tirent leurs noms de la structure des interconnexions entre les cellules mémoire. Dans le flash NOR, les cellules sont connectées en parallèle aux lignes de bits, ce qui permet de lire et de programmer les cellules individuellement. La connexion en parallèle des cellules ressemble à la connexion en parallèle des transistors dans une porte CMOS NOR. Dans le flash NAND, les cellules sont connectées en série, ressemblant à une porte CMOS NAND. Les connexions en série consomment moins d'espace que les connexions parallèles, ce qui réduit le coût du flash NAND. Il n'empêche pas, en soi, la lecture et la programmation des cellules NAND individuellement.

Chaque cellule flash NOR est plus grande qu'une cellule flash NAND - 10 F 2 contre 4 F 2  - même en utilisant exactement la même fabrication de dispositif semi-conducteur et donc chaque transistor, contact, etc. est exactement de la même taille - car les cellules flash NOR nécessitent un contact métallique séparé pour chaque cellule.

En raison de la connexion en série et de la suppression des contacts de la ligne de mots, une grande grille de cellules de mémoire flash NAND n'occupera peut-être que 60% de la surface des cellules NOR équivalentes (en supposant la même résolution de processus CMOS , par exemple, 130  nm , 90 nm ou 65 nm). Les concepteurs de flash NAND ont réalisé que la surface d'une puce NAND, et donc le coût, pouvaient être encore réduits en supprimant l'adresse externe et les circuits de bus de données. Au lieu de cela, les périphériques externes pourraient communiquer avec la mémoire flash NAND via des registres de commandes et de données à accès séquentiel, qui récupéreraient et produiraient en interne les données nécessaires. Ce choix de conception rendait impossible l'accès aléatoire de la mémoire flash NAND, mais l'objectif de la flash NAND était de remplacer les disques durs mécaniques , pas de remplacer les ROM.

Attribut NAND NI
Application principale Stockage de fichiers Exécution de code
Capacité de stockage Haute Meugler
Coût par bit Meugler
Puissance active Meugler
Alimentation de secours Meugler
Vitesse d'écriture Rapide
Vitesse de lecture Rapide
Exécuter sur place (XIP) Non Oui
Fiabilité Haute

Ecrire l'endurance

L'endurance en écriture du flash NOR à grille flottante SLC est généralement égale ou supérieure à celle du flash NAND, tandis que le flash MLC NOR et NAND ont des capacités d'endurance similaires. Des exemples d'indices de cycle d'endurance répertoriés dans les fiches techniques pour les flashs NAND et NOR, ainsi que dans les périphériques de stockage utilisant la mémoire flash, sont fournis.

Type de mémoire flash Cote d'endurance (effacement par bloc ) Exemple(s) de mémoire flash ou de périphérique de stockage
SLC NAND 100 000 Samsung OneNAND KFW4G16Q2M, puces Flash Toshiba SLC NAND, Transcend SD500, Fujitsu S26361-F3298
MLC NAND 5 000 à 10 000 pour les applications de moyenne capacité ;
1 000 à 3 000 pour les applications de grande capacité
Samsung K9G8G08U0M (Exemple pour les applications de capacité moyenne), Memblaze PBlaze4, ADATA SU900, Mushkin Reactor
TLC NAND 1 000 Samsung SSD 840
QLC NAND ? Cartes SD flash SanDisk X4 NAND
NAND SLC 3D 100 000 Samsung Z-NAND
NAND MLC 3D 6 000 à 40 000 Samsung SSD 850 PRO, Samsung SSD 845DC PRO, Samsung 860 PRO
NAND TLC 3D 1 000 à 3 000 Samsung SSD 850 EVO, Samsung SSD 845DC EVO, Crucial MX300,Memblaze PBlaze5 900, Memblaze PBlaze5 700, Memblaze PBlaze5 910/916,Memblaze PBlaze5 510/516, ADATA SX 8200 PRO (également vendu sous la marque "XPG Gammix", modèle S11 PRO)
NAND QLC 3D 100 à 1 000 SSD Samsung 860 QVO SATA, SSD Intel 660p, SSD Samsung 980 QVO NVMe, Micron 5210 ION, SSD Samsung BM991 NVMe
NAND API 3D Inconnu En développement par SK Hynix (anciennement Intel) et Kioxia (anciennement Toshiba Memory).
SLC (porte flottante) NOR 100 000 à 1 000 000 Numonyx M58BW (indice d'endurance de 100 000 effacements par bloc) ;
Spansion S29CD016J (indice d'endurance de 1 000 000 d'effacements par bloc)
MLC (porte flottante) NOR 100 000 Flash Numonyx J3

Cependant, en appliquant certains algorithmes et paradigmes de conception tels que le nivellement de l'usure et le sur-approvisionnement de la mémoire , l'endurance d'un système de stockage peut être ajustée pour répondre à des exigences spécifiques.

Afin de calculer la longévité de la mémoire flash NAND, il faut tenir compte de la taille de la puce mémoire, du type de mémoire (par exemple SLC/MLC/TLC) et du modèle d'utilisation.

Les performances 3D NAND peuvent se dégrader à mesure que des couches sont ajoutées.

Systèmes de fichiers Flash

En raison des caractéristiques particulières de la mémoire flash, il est préférable de l'utiliser avec un contrôleur pour effectuer le nivellement de l'usure et la correction des erreurs ou avec des systèmes de fichiers flash spécialement conçus, qui répartissent les écritures sur le support et gèrent les longs temps d'effacement des blocs flash NOR. Le concept de base des systèmes de fichiers flash est le suivant : lorsque le magasin flash doit être mis à jour, le système de fichiers écrira une nouvelle copie des données modifiées dans un nouveau bloc, remappera les pointeurs de fichiers, puis effacera l'ancien bloc plus tard lorsqu'il a le temps.

En pratique, les systèmes de fichiers flash ne sont utilisés que pour les dispositifs de technologie de mémoire (MTD), qui sont des mémoires flash intégrées qui n'ont pas de contrôleur. Les cartes mémoire flash amovibles , les SSD, les puces eMMC / eUFS et les clés USB disposent de contrôleurs intégrés pour effectuer le nivellement de l'usure et la correction des erreurs, de sorte que l'utilisation d'un système de fichiers flash spécifique n'ajoute aucun avantage.

Capacité

Plusieurs puces sont souvent disposées en réseau ou empilées pour atteindre des capacités plus élevées pour une utilisation dans des appareils électroniques grand public tels que des lecteurs multimédias ou des GPS . La mise à l'échelle de la capacité (augmentation) des puces flash utilisées pour suivre la loi de Moore, car elles sont fabriquées avec bon nombre des mêmes techniques et équipements de circuits intégrés . Depuis l'introduction de la 3D NAND, la mise à l'échelle n'est plus nécessairement associée à la loi de Moore puisque des transistors (cellules) de plus en plus petits ne sont plus utilisés.

Les périphériques de stockage flash grand public sont généralement annoncés avec des tailles utilisables exprimées sous la forme d'une petite puissance entière de deux (2, 4, 8, etc.) et d'une désignation de mégaoctets (Mo) ou de gigaoctets (Go) ; par exemple, 512 Mo, 8 Go. Cela inclut les SSD commercialisés en remplacement de disque dur, conformément aux disques durs traditionnels , qui utilisent des préfixes décimaux . Ainsi, un SSD marqué « 64  Go » fait au moins 64 × 1000 3 octets (64 Go). La plupart des utilisateurs auront une capacité légèrement inférieure à celle disponible pour leurs fichiers, en raison de l'espace pris par les métadonnées du système de fichiers.

Les puces de mémoire flash qu'elles contiennent sont dimensionnées en multiples binaires stricts, mais la capacité totale réelle des puces n'est pas utilisable à l'interface du lecteur. Elle est considérablement plus grande que la capacité annoncée afin de permettre la distribution des écritures ( nivellement de l'usure ), de l'épargne, des codes de correction d'erreur et d'autres métadonnées nécessaires au micrologiciel interne de l'appareil.

En 2005, Toshiba et SanDisk ont développé une puce flash NAND capable de stocker 1 Go de données à l'aide de la technologie de cellules multi-niveaux (MLC), capable de stocker deux bits de données par cellule. En septembre 2005, Samsung Electronics a annoncé avoir développé la première puce de 2 Go au monde.

En mars 2006, Samsung a annoncé des disques durs flash d'une capacité de 4 Go, essentiellement du même ordre de grandeur que les disques durs d'ordinateurs portables plus petits, et en septembre 2006, Samsung a annoncé une puce de 8 Go produite à l'aide d'un processus de fabrication de 40 nm. En janvier 2008, SanDisk a annoncé la disponibilité de ses cartes MicroSDHC 16 Go et SDHC Plus 32 Go.

Les lecteurs flash plus récents (à partir de 2012) ont des capacités beaucoup plus importantes, contenant 64, 128 et 256 Go.

Un développement conjoint chez Intel et Micron permettra la production de clés flash NAND de 3,5 téraoctets (To) à 32 couches et de disques SSD de taille standard de 10 To. L'appareil comprend 5 packages de matrices TLC de 16 × 48 Go, utilisant une conception de cellule à grille flottante.

Les puces Flash continuent d'être fabriquées avec des capacités inférieures ou voisines de 1 Mo (par exemple pour les BIOS-ROM et les applications embarquées).

En juillet 2016, Samsung a annoncé le Samsung 850 EVO de 4 To, qui utilise sa V-NAND 3D TLC à 48 couches de 256 Gbit. En août 2016, Samsung a annoncé un SSD SAS 2,5 pouces de 32 To basé sur leur V-NAND 3D TLC 64 couches de 512 Gbit. De plus, Samsung prévoit de dévoiler des SSD avec jusqu'à 100 To de stockage d'ici 2020.

Taux de transfert

Les dispositifs de mémoire flash sont généralement beaucoup plus rapides en lecture qu'en écriture. Les performances dépendent également de la qualité des contrôleurs de stockage qui deviennent plus critiques lorsque les périphériques sont partiellement pleins. Même lorsque la seule modification apportée à la fabrication est la rétraction, l'absence d'un contrôleur approprié peut entraîner des vitesses dégradées.

Applications

Flash série

Flash série : technologie de stockage sur silicium SST25VF080B

La mémoire flash série est une petite mémoire flash à faible consommation qui fournit uniquement un accès série aux données - plutôt que d'adresser des octets individuels, l'utilisateur lit ou écrit en série de grands groupes d'octets contigus dans l'espace d'adressage. Serial Peripheral Interface Bus (SPI) est un protocole typique pour accéder à l'appareil. Lorsqu'elle est intégrée à un système embarqué , la mémoire flash série nécessite moins de fils sur le PCB que les mémoires flash parallèles, car elle transmet et reçoit des données un bit à la fois. Cela peut permettre une réduction de l'espace sur la carte, de la consommation d'énergie et du coût total du système.

Il existe plusieurs raisons pour lesquelles un périphérique série, avec moins de broches externes qu'un périphérique parallèle, peut réduire considérablement le coût global :

  • De nombreux ASIC sont limités en plots , ce qui signifie que la taille de la puce est limitée par le nombre de plots de connexion filaire , plutôt que par la complexité et le nombre de portes utilisées pour la logique du dispositif. La suppression des plots de connexion permet ainsi un circuit intégré plus compact, sur une puce plus petite ; ceci augmente le nombre de matrices qui peuvent être fabriquées sur une plaquette , et réduit ainsi le coût par matrice.
  • La réduction du nombre de broches externes réduit également les coûts d' assemblage et d' emballage . Un périphérique série peut être conditionné dans un boîtier plus petit et plus simple qu'un périphérique parallèle.
  • Les boîtiers plus petits et à faible nombre de broches occupent moins de surface PCB.
  • Les dispositifs à faible nombre de broches simplifient le routage des PCB .

Il existe deux principaux types de flash SPI. Le premier type est caractérisé par de petites pages et un ou plusieurs tampons de page SRAM internes permettant de lire une page complète dans le tampon, de la modifier partiellement, puis de la réécrire (par exemple, l'Atmel AT45 DataFlash ou le Micron Technology Page Erase NOR Flash ). Le deuxième type a des secteurs plus grands où les secteurs les plus petits généralement trouvés dans ce type de flash SPI sont de 4 Ko, mais ils peuvent atteindre 64 Ko. Comme ce type de flash SPI n'a pas de mémoire tampon SRAM interne, la page complète doit être lue et modifiée avant d'être réécrite, ce qui la rend lente à gérer. Cependant, le deuxième type est moins cher que le premier et est donc un bon choix lorsque l'application est du code shadowing.

Les deux types ne sont pas facilement échangeables, car ils n'ont pas le même brochage et les jeux de commandes sont incompatibles.

La plupart des FPGA sont basés sur des cellules de configuration SRAM et nécessitent un périphérique de configuration externe, souvent une puce flash série, pour recharger le flux binaire de configuration à chaque cycle d'alimentation.

Stockage du micrologiciel

Avec la vitesse croissante des processeurs modernes, les périphériques flash parallèles sont souvent beaucoup plus lents que le bus mémoire de l'ordinateur auquel ils sont connectés. A l'inverse, la SRAM moderne offre des temps d'accès inférieurs à 10  ns , tandis que la DDR2 SDRAM offre des temps d'accès inférieurs à 20 ns. Pour cette raison, il est souvent souhaitable de masquer le code stocké dans la mémoire flash dans la RAM ; c'est-à-dire que le code est copié de la mémoire flash dans la RAM avant l'exécution, afin que le processeur puisse y accéder à pleine vitesse. Le micrologiciel du périphérique peut être stocké dans un périphérique flash série, puis copié dans la SDRAM ou la SRAM lorsque le périphérique est mis sous tension. L'utilisation d'un périphérique flash série externe plutôt que d'un flash sur puce élimine le besoin de compromis de processus significatifs (un processus de fabrication qui est bon pour la logique à haute vitesse n'est généralement pas bon pour le flash et vice versa). Une fois qu'il est décidé de lire le firmware en un seul gros bloc, il est courant d'ajouter une compression pour permettre l'utilisation d'une puce flash plus petite. Les applications typiques de la mémoire flash série incluent le stockage du micrologiciel pour les disques durs , les contrôleurs Ethernet , les modems DSL , les périphériques réseau sans fil , etc.

Mémoire flash en remplacement des disques durs

Une application plus récente pour la mémoire flash est le remplacement des disques durs . La mémoire flash n'a pas les limitations mécaniques et les latences des disques durs, donc un disque à semi-conducteurs (SSD) est attrayant lorsque l'on considère la vitesse, le bruit, la consommation d'énergie et la fiabilité. Les lecteurs flash gagnent du terrain en tant que périphériques de stockage secondaires pour appareils mobiles ; ils sont également utilisés comme substituts des disques durs dans les ordinateurs de bureau hautes performances et certains serveurs avec des architectures RAID et SAN .

Il reste certains aspects des SSD basés sur flash qui les rendent peu attrayants. Le coût par gigaoctet de la mémoire flash reste nettement supérieur à celui des disques durs. De plus, la mémoire flash a un nombre fini de cycles P/E ( programme/effacement ), mais cela semble actuellement sous contrôle car les garanties sur les SSD basés sur flash se rapprochent de celles des disques durs actuels. De plus, les fichiers supprimés sur les SSD peuvent rester indéfiniment avant d'être écrasés par de nouvelles données ; Les techniques d'effacement ou de destruction ou les logiciels qui fonctionnent bien sur les disques durs magnétiques n'ont aucun effet sur les SSD, compromettant la sécurité et l'examen médico-légal. Cependant, en raison de la soi-disant commande TRIM utilisée par la plupart des disques SSD, qui marque les adresses de blocs logiques occupées par le fichier supprimé comme inutilisées pour activer la récupération de place , le logiciel de récupération de données n'est pas en mesure de restaurer les fichiers supprimés.

Pour les bases de données relationnelles ou d'autres systèmes qui nécessitent des transactions ACID , même une quantité modeste de stockage flash peut offrir des accélérations considérables sur des ensembles de lecteurs de disque.

En mai 2006, Samsung Electronics a annoncé que deux PC basés sur la mémoire flash, le Q1-SSD et le Q30-SSD, devaient être disponibles en juin 2006, tous deux utilisant des SSD de 32 Go, et n'étaient au moins initialement disponibles qu'en Corée du Sud . Le lancement du Q1-SSD et du Q30-SSD a été retardé et a finalement été expédié fin août 2006.

Le premier PC à mémoire flash à être disponible était le Sony Vaio UX90, annoncé en pré-commande le 27 juin 2006 et a commencé à être expédié au Japon le 3 juillet 2006 avec un disque dur à mémoire flash de 16 Go. Fin septembre 2006, Sony a mis à niveau la mémoire flash du Vaio UX90 à 32 Go.

Un disque SSD était proposé en option avec le premier MacBook Air introduit en 2008, et à partir de 2010, tous les modèles étaient livrés avec un SSD. À partir de fin 2011, dans le cadre d' Intel de Ultrabook initiative, un nombre croissant d'ordinateurs portables ultra-minces sont livré avec disques SSD standard.

Il existe également des techniques hybrides telles que le lecteur hybride et ReadyBoost qui tentent de combiner les avantages des deux technologies, en utilisant le flash comme cache non volatile à grande vitesse pour les fichiers sur le disque qui sont souvent référencés, mais rarement modifiés, tels que l'application et fichiers exécutables du système d'exploitation .

Mémoire flash comme RAM

À partir de 2012, il y a eu des tentatives d'utiliser la mémoire flash comme mémoire principale de l'ordinateur, DRAM .

Archivage ou stockage à long terme

Les transistors à grille flottante du dispositif de stockage flash conservent une charge qui représente des données. Cette charge fuit progressivement avec le temps, entraînant une accumulation d' erreurs logiques , également appelées « bit rot » ou « bit fading ».

La conservation des données

On ne sait pas combien de temps les données sur la mémoire flash persisteront dans des conditions d'archivage (c.-à-d. température et humidité bénignes avec accès peu fréquent avec ou sans réécriture prophylactique). Les fiches techniques des microcontrôleurs « ATmega » à mémoire flash d'Atmel promettent généralement des temps de rétention de 20 ans à 85 °C (185 °F) et de 100 ans à 25 °C (77 °F).

La durée de conservation varie selon les types et les modèles de stockage flash. Lorsqu'ils sont alimentés et inactifs, la charge des transistors contenant les données est systématiquement rafraîchie par le micrologiciel de la mémoire flash. La capacité à conserver les données varie selon les périphériques de stockage flash en raison des différences de micrologiciel, de redondance des données et d' algorithmes de correction d'erreurs .

Un article de la CMU en 2015 indique que « les périphériques flash d'aujourd'hui, qui ne nécessitent pas de rafraîchissement flash, ont un âge de rétention typique d'un an à température ambiante ». Et ce temps de rétention diminue de façon exponentielle avec l'augmentation de la température. Le phénomène peut être modélisé par l' équation d'Arrhenius .

Configuration FPGA

Certains FPGA sont basés sur des cellules de configuration flash qui sont utilisées directement comme commutateurs (programmables) pour connecter des éléments internes ensemble, en utilisant le même type de transistor à grille flottante que les cellules de stockage de données flash dans les périphériques de stockage de données.

Industrie

Une source indique qu'en 2008, l'industrie de la mémoire flash comprend environ 9,1 milliards de dollars américains en production et en ventes. D'autres sources évaluent le marché des mémoires flash à plus de 20 milliards de dollars US en 2006, représentant plus de 8 % du marché global des semi-conducteurs et plus de 34 % du marché total des mémoires à semi-conducteurs. En 2012, le marché était estimé à 26,8 milliards de dollars. La production d'une puce mémoire flash peut prendre jusqu'à 10 semaines.

Fabricants

Voici les plus grands fabricants de mémoire flash NAND, au premier trimestre de 2019.

  1. Samsung Électronique – 34,9%
  2. Kioxia – 18,1%
  3. Société numérique occidentale – 14 %
  4. Technologie Micron – 13,5%
  5. SK Hynix – 10,3 %
  6. Intel – 8,7%

Expéditions

Expéditions de mémoire flash ( est. unités fabriquées)
Années) Puces de mémoire flash discrètes Capacité de données de la mémoire flash ( gigaoctets ) Cellules de mémoire MOSFET à grille flottante (milliards)
1992 26 000 000 3 24
1993 73 000 000 17 139
1994 112 000 000 25 203
1995 235 000 000 38 300
1996 359 000 000 140 1 121
1997 477 200 000+ 317+ 2 533+
1998 762 195 122 455+ 3 642+
1999 12.800,000,000 635+ 5 082+
2000–2004 134 217 728 000 (NAND) 1 073 741 824 000 (NAND)
2005-2007 ?
2008 1 226 215 645 (NAND mobile)
2009 1 226 215 645+ (NAND mobile)
2010 7 280 000 000+
2011 8 700 000 000
2012 5 151 515 152 ( série )
2013 ?
2014 ? 59 000 000 000 118 000 000 000+
2015 7 692 307 692 (NAND) 85 000 000 000 170 000 000 000+
2016 ? 100 000 000 000 200 000 000 000+
2017 ? 148 200 000 000 296 400 000 000+
2018 ? 231 640 000 000 463 280 000 000+
2019 ? ? ?
2020 ? ? ?
1992–2020 45 358 454 134+ puces mémoire 758.057.729.630+ gigaoctets 2 321 421 837 044  milliards + de cellules

En plus des puces de mémoire flash individuelles, la mémoire flash est également intégrée dans des puces de microcontrôleur (MCU) et des dispositifs de système sur puce (SoC). La mémoire flash est intégrée dans les puces ARM , qui ont vendu 150  milliards d'unités dans le monde en 2019, et dans les dispositifs de système sur puce programmables (PSoC), qui ont vendu 1,1  milliard d'unités en 2012. Cela représente au moins 151,1  milliards. Puces MCU et SoC avec mémoire flash intégrée, en plus des 45,4  milliards de ventes de puces flash individuelles connues en 2015, totalisant au moins 196,5  milliards de puces contenant de la mémoire flash.

Évolutivité Flash

En raison de sa structure relativement simple et de sa forte demande pour une capacité plus élevée, la mémoire flash NAND est la technologie la plus agressive parmi les appareils électroniques . La forte concurrence entre les quelques principaux fabricants ne fait qu'ajouter à l'agressivité dans la réduction de la règle de conception des MOSFET à grille flottante ou du nœud de technologie de processus. Alors que la chronologie de rétrécissement attendue est un facteur de deux tous les trois ans par version originale de la loi de Moore , cela a récemment été accéléré dans le cas du flash NAND à un facteur de deux tous les deux ans.

ITRS ou entreprise 2010 2011 2012 2013 2014 2015 2016 2017 2018
Feuille de route Flash ITRS 2011 32 nm 22 nm 20 mn 18 mn 16 nm
Feuille de route ITRS Flash mise à jour 17 nm 15 nm 14 nm
Samsung
(Samsung 3D NAND)
35 à 20 nm 27 nm 21 nm
( MLC , CCM )
19–16 nm
19– 10 nm (MLC, TLC)
19-10 nm
V-NAND (24L)
16-10 nm
V-NAND (32L)
16-10 nm 12-10 nm 12-10 nm
Micron , Intel 34-25 nm 25 nm 20 nm
(MLC + HKMG)
20 nm
(CCM)
16 nm
NAND 3D 16 nm

NAND 3D 16 nm

NAND 3D 12 nm

NAND 3D 12 nm
Toshiba , WD ( SanDisk ) 43–32 nm
24 nm (Toshiba)
24 nm 19 nm
(MLC, CCM)
15 nm
NAND 3D 15 nm

NAND 3D 15 nm

NAND 3D 12 nm

NAND 3D 12 nm
SK Hynix 46-35 nm 26 nm 20 nm (MLC) 16 nm 16 nm 16 nm 12 nm 12 nm

À mesure que la taille de la caractéristique MOSFET des cellules de mémoire flash atteint la limite minimale de 15-16 nm, d'autres augmentations de la densité de flash seront entraînées par la TLC (3 bits/cellule) combinée à l'empilement vertical des plans de mémoire NAND. La diminution de l'endurance et l'augmentation des taux d'erreurs sur les bits non corrigibles qui accompagnent la réduction de la taille des caractéristiques peuvent être compensées par des mécanismes de correction d'erreurs améliorés. Même avec ces progrès, il peut être impossible d'adapter économiquement le flash à des dimensions de plus en plus petites à mesure que le nombre de capacité de rétention d'électrons diminue. De nombreuses nouvelles technologies prometteuses (telles que FeRAM , MRAM , PMC , PCM , ReRAM et autres) sont en cours d'investigation et de développement en tant que remplacements plus évolutifs possibles de la mémoire flash.

Chronologie

Date d'introduction Nom de la puce Capacité du paquet mémoire (en bits ; Mégabits (Mb), Gigabits (Gb), Térabits (Tb) Type de flash Type de cellule Fabricant(s) Traiter Zone Réf
1984 ? ? NI SLC Toshiba ? ?
1985 ? 256 Ko NI SLC Toshiba 2 000 nm ?
1987 ? ? NAND SLC Toshiba ? ?
1989 ? 1 Mo NI SLC Seeq , Intel ? ?
4 Mo NAND SLC Toshiba 1 000 nm
1991 ? 16 Mo NI SLC Mitsubishi 600 nm ?
1993 DD28F032SA 32 Mo NI SLC Intelligence ? 280 mm²
1994 ? 64 Mo NI SLC NCA 400 nm ?
1995 ? 16 Mo DINOR SLC Mitsubishi, Hitachi ? ?
NAND SLC Toshiba ? ?
32 Mo NAND SLC Hitachi, Samsung , Toshiba ? ?
34 Mo En série SLC SanDisk
1996 ? 64 Mo NAND SLC Hitachi , Mitsubishi 400 nm ?
QLC NCA
128 Mo NAND SLC Samsung, Hitachi ?
1997 ? 32 Mo NI SLC Intel, Sharp 400 nm ?
NAND SLC AMD, Fujitsu 350 nm
1999 ? 256 Mo NAND SLC Toshiba 250 nm ?
MLC Hitachi
2000 ? 32 Mo NI SLC Toshiba 250 nm ?
64 Mo NI QLC STMicroelectronics 180 nm
512 Mo NAND SLC Toshiba ? ?
2001 ? 512 Mo NAND MLC Hitachi ? ?
1 Gbit NAND MLC Samsung
Toshiba, SanDisk 160 nm ?
2002 ? 512 Mo NROM MLC Saifun 170 nm ?
2 Go NAND SLC Samsung, Toshiba ? ?
2003 ? 128 Mo NI MLC Intelligence 130 nm ?
1 Go NAND MLC Hitachi
2004 ? 8 Go NAND SLC Samsung 60 nm ?
2005 ? 16 GB NAND SLC Samsung 50 nm ?
2006 ? 32 Go NAND SLC Samsung 40 nm
avril 2007 THGAM 128 Go NAND empilée SLC Toshiba 56 nm 252 mm²
Septembre 2007 ? 128 Go NAND empilée SLC Hynix ? ?
2008 THGBM 256 Go NAND empilée SLC Toshiba 43 nm 353 mm²
2009 ? 32 Go NAND CCM Toshiba 32 nm 113 mm²
64 Go NAND QLC Toshiba, SanDisk 43 nm ?
2010 ? 64 Go NAND SLC Hynix 20 nm ?
CCM Samsung 20 mn ?
THGBM2 1 To NAND empilée QLC Toshiba 32 nm 374 mm²
2011 KLMCG8GE4A 512 Go NAND empilée MLC Samsung ? 192 mm²
2013 ? ? NAND SLC SK Hynix 16 nm ?
128 Go V-NAND CCM Samsung 10 nm ?
2015 ? 256 Go V-NAND CCM Samsung ? ?
2017 ? 512 Go V-NAND CCM Samsung ? ?
768 Go V-NAND QLC Toshiba ? ?
KLUFG8R1EM 4 To V-NAND empilé CCM Samsung ? 150 mm²
2018 ? 1 To V-NAND QLC Samsung ? ?
1,33 To V-NAND QLC Toshiba ? 158 mm²
2019 ? 512 Go V-NAND QLC Samsung ? ?
1 To V-NAND CCM SK Hynix ? ?
eUFS (1  To) 8 To V-NAND empilé à 16 couches QLC Samsung ? 150 mm²

Voir également

Remarques

Les références

Liens externes