# Mémoire flash

La mémoire flash est une mémoire de masse à semi-conducteurs réinscriptible, c'est-à-dire possédant les caractéristiques d'une mémoire vive mais dont les données ne disparaissent pas lors d'une mise hors tension (mémoire non volatile). La mémoire flash stocke dans des cellules de mémoire les bits de données qui sont conservées lorsque l'alimentation électrique est coupée.
Sa vitesse élevée, sa durée de vie et sa faible consommation (qui est même nulle au repos) la rendent très utile pour de nombreuses applications : appareils photo numériques, téléphones cellulaires, imprimantes, assistants personnels (PDA), ordinateurs portables ou dispositifs de lecture et d'enregistrement sonore comme les baladeurs numériques, clés USB. De plus, ce type de mémoire ne possède pas d'éléments mécaniques, ce qui lui confère une grande résistance aux chocs.

## Technologie

La mémoire flash est un type d'EEPROM qui permet la modification de plusieurs espaces mémoires en une seule opération. La mémoire flash est donc plus rapide lorsque le système doit écrire à plusieurs endroits en même temps.
La mémoire flash utilise comme cellule de base un transistor MOS possédant une grille flottante enfouie au milieu de l'oxyde de grille, entre le canal et la grille. L'information est stockée grâce au piégeage d'électrons dans cette grille flottante. Deux mécanismes sont utilisés pour faire traverser l'oxyde aux électrons :
* l'injection d'électrons chauds (en) ;
* l'effet tunnel obtenu en appliquant une haute tension sur la « vraie » grille (appelée « grille de contrôle »).
La technique flash se décline sous deux principales formes : flash NOR et NAND, selon la ressemblance de la ligne de transistors d'état avec une cellule de transistors NOR ou NAND. Il n'y a en réalité aucun rapport avec les portes NAND et NOR dans la construction de la mémoire flash. Ces noms proviennent uniquement du fait que le flash NOR repose sur des transistors en parallèle, comme une porte NOR qui fonctionne en mettant ces deux composants en parallèle, même raisonnement avec le flash NAND qui est en série.
L'écriture et l'effacement des données dans une mémoire flash (on parle de programmation) s'effectuent par l'application de différentes tensions aux points d'entrée de la cellule. Ces opérations soumettent l’oxyde (c'est-à-dire l'isolant) à rude épreuve. On estime qu'une mémoire flash peut supporter jusqu'à cent mille écritures et effacements, selon la qualité de l'oxyde utilisé pour la grille.
Il existe des systèmes de fichiers spécialement conçus pour la mémoire flash : APFS, JFFS, JFFS2, YAFFS, UBIFS. Ils permettent, entre autres, d'éviter la réécriture répétée sur une même zone, ceci afin de prolonger la durée de vie de la mémoire flash. Dans les applications exigeantes (cas des SSD) le matériel intègre directement un contrôleur implémentant des algorithmes de répartition de l'usure chargés de répartir les écritures de manière uniforme sur l'ensemble de la mémoire flash. Ces techniques permettent d'améliorer significativement la durée de vie de ces supports, et ceci est d'autant plus vrai que la capacité des puces devient grande (l'usure est alors en effet mieux répartie).

### NOR

Le flash NOR, inventé par Fujio Masuoka, un employé de Toshiba, fut le premier à être développé commercialement par Intel en 1988. Les temps d'effacement et d'écriture sont longs mais elle possède une interface d'adressage permettant un accès aléatoire et rapide à n'importe quelle position. Le stockage des données est 100 % garanti par le fabricant. Elle est adaptée à l'enregistrement de données informatiques destinées à être exécutées directement à partir de cette mémoire. Cette caractéristique est appelée « XIP » (eXecute In Place). La mémoire NOR est particulièrement bien adaptée à contenir l'OS par exemple dans les téléphones portables (principal marché des Flash NOR), les décodeurs télés, les cartes mères ou leurs périphériques (imprimantes, appareils photo, etc.) du fait que le code peut y être directement exécuté.
Du fait de son coût bien plus élevé que celui de la NAND et de sa densité limitée, elle n'est en général pas utilisée pour le stockage de masse.

### NAND

Le flash NAND suivit en 1989, commercialisé par Toshiba. Cette mémoire est plus rapide à l'effacement et à l'écriture, offre une plus grande densité et un coût moins important par bit. Toutefois son interface d'entrée-sortie n'autorise que l'accès séquentiel. Cela tend à limiter — au niveau du système — sa vitesse effective de lecture, et à compliquer le démarrage direct à partir d'une mémoire NAND. De ce fait elle est moins bien adaptée que la NOR pour exécuter du code machine. Du fait de son prix moins élevé, elle est présente dans de nombreux assistants et téléphones portables en utilisant par blocs la mémoire RAM en mode page comme support d'exécution. Le fabricant ne garantit pas en général le stockage des données à 100 % mais un taux d'erreurs inférieur à une limite donnée. Cette fiabilité limitée nécessite la mise en place d'un système de gestion des erreurs (ECC - Error Code Correction, Bad blocks management, etc.) au niveau de l'application — comme cela est le cas, par exemple, pour les disques durs. Elle est donc utilisée pour le stockage d'informations. Quasiment toutes les mémoires de masse externes (carte MMC, clé USB, carte SD et carte MS) utilisent cette technologie.
Samsung débute fin 2009 la production d’une puce de 4 Go de mémoire flash NAND, gravée en 30 nm, et dont la particularité est d’avoir une interface de type DDR (double data rate). Bien que ces dernières souffrent encore de problèmes de performances qui font qu’elles ne sont pas utilisées sur les SSD, ces puces offriraient un débit trois fois supérieur à celles basées sur une interface SDR (single data rate). Des constructeurs comme Toshiba, IM Flash Technologies (Micron / Intel) et Samsung utilisent des mémoires Flash NAND MLC (multi level cell) stockant deux bits par cellule ou bien de la NAND TLC (Triple level cell) stockant trois bits par cellule (MLC 3PBC).
Une norme d'interface ouverte aux mémoires flash a été créée par un groupe de travail nommé « ONFI » (Open NAND Flash Interface) composé de différents fabricants de mémoire NAND flash, incluant Intel, Micron, Phision Electronics, SanDisk, SK Hynix, Sony et Spansion.
En 2019, la puce NAND équipant le téléphone P30 Pro de Huawei équivaut à plus de 7 % des coûts de fabrication de celui-ci.

## Durée de vie

En 2008, une cellule de mémoire flash MLC (de l'anglais multiple-level-cell à deux bits par cellule) ne peut être écrite, de manière fiable, que 10 000 à 100 000 fois celle de SLC (de l'anglais single-level-cell à un bit par cellule). La raison en est que ces écritures nécessitent l'application de tensions plus élevées que la simple lecture, qui endommagent peu à peu la zone écrite. En revanche, les lectures même répétées ne lui causent aucun dommage. La technique de répartition de l'usure, par des procédés variant selon les constructeurs, diminue cet inconvénient ; cependant, dans quelques mémoires destinées à remplacer les disques durs d'ordinateur, on aurait observé à l'usage des ralentissements sensibles à l'écriture, dus aux relocalisations successives des blocs.
Les constructeurs Sun et Micron envisagent de porter cette durée de vie à un million de cycles au moyen de la technique NAND dans les disques SSD. Enfin, les promoteurs de la mémoire ferroélectrique, autre technique flash en cours de développement, attribuent à cette dernière un potentiel de cent millions d'écritures.
Certains disques à usage professionnel ont atteint lors de tests d'endurance jusqu'à deux pétaoctets d'écritures.

## Grandes familles

Il existe deux grandes familles de mémoires flash :
* les cartes mémoires destinées aux petits matériels tels que les appareils photo numériques ou les téléphones portables ;
* les disques électroniques, unités de stockage statiques destinées à remplacer progressivement les disques durs, appelés souvent « disques SSD ».
La première est décrite dans la section suivante. Les disques électroniques utilisent principalement des cellules mono-niveaux, certains constructeurs les produisant avec la technique de double structuration auto-alignée (en). Ils ont un temps de réponse beaucoup plus court, et un meilleur débit. Certains constructeurs produisaient dès fin 2010 des disques d’un téraoctet. En 2015, les constructeurs recourent également à des cellules multi-niveaux : elles sont beaucoup moins chères pour des performances acceptables.

## Types de cartes
### En bref

Dans l'ordre alphabétique :

#### CompactFlash (CF)

    il s'agit de cartes PCMCIA raccourcies. On distingue les cartes CompactFlash de type I (CFI) et de type II (CFII) qui se distinguent par l'épaisseur. Dans les cartes CompactFlash, on trouve aussi les Microdrive (les premiers furent lancés par IBM) qui sont des micro-disques durs. La capacité maximale admise par la norme 2.0 utilisée actuellement est 137 Go. Ce modèle de carte fut longtemps utilisé par les appareils photo professionnels.

#### MultiMedia Card « MMC »

    Cartes en voie d'obsolescence au profit de la SD.

#### Memory Stick (MS)

    Développé par Sony Corporation et SanDisk. Il existe un nouveau format, le « Memory Stick Duo » et aussi « Memory Stick Pro Duo ».

#### Memory Stick Micro M2

    Mémoire minuscule utilisée dans les téléphones portables Sony Ericsson, généralement vendue avec un adaptateur pour les lecteurs Memory Stick classiques.

#### Secure Digital « SD »

    Elles ont une forme similaire aux MMC, légèrement plus épaisses, et sont compatibles avec celles-ci (une MMC rentre dans un lecteur SD, et non l'inverse). Elles s'en distinguent par la possibilité de chiffrer les données et de gérer les « droits d'auteurs ».

#### Mini SD

    Version réduite de la SD classique, utilisée dans certains téléphones mobiles anciens, elle est généralement livrée avec un adaptateur pour les lecteurs SD classiques.

#### Micro SD ou Transflash

    Version minuscule de la SD, souvent utilisée dans les téléphones portables et également vendue avec un adaptateur pour les SD classiques.

#### SDHC

    « SD High Capacity » SD version haute capacité, pour pallier la limite des 2 Go des SD classiques, elles sont déclinées dans les trois formats SD, Mini SD et Micro SD. Elles proposent une capacité entre 4 et 32 Go.

#### SDXC

    « SD eXtended Capacity » commercialisé à partir de 2010, propose de 64 Gio à 2 Tio (7,41 à 25 Mb/s).

#### SmartMedia (SM)

    Support fin, sans électronique embarquée. En voie de disparition : les constructeurs qui soutiennent ce format sont passés au xD Picture. De plus, il existe deux types de cartes suivant l'alimentation (3 ou 5 V). Appelées aussi « SSFDC » (de l'anglais Solid State Floppy Disk Card).

#### xD Card

    Format développé par Olympus et Fujifilm, censé remplacer les SmartMedia. De taille beaucoup plus petite et plus rapide, mais plus chère. Seul Olympus continue de produire des appareils photo numériques compacts utilisant les cartes xD.
Les formats SD sont aujourd'hui les plus répandus et les moins onéreux.

### En détail
#### Mémoire Memory Stick

La mémoire Memory Stick (notée MS) est un type de carte mémoire créé conjointement par Sony et SanDisk en janvier 2000. L'architecture des cartes Memory Stick est basée sur des circuits de mémoire flash (EEPROM) de type NAND. La mémoire Memory Stick originale est de petites dimensions (21,5 × 50 × 2,8 mm), équivalentes à celles d'une petite boîte d'allumettes, et pèse à peine 4 g.
La Memory Stick se décline dorénavant en trois dimensions :
* Memory Stick : 50 × 21,5 × 2,8 mm. Poids : 4 g ; ce format n'est plus vendu en raison de sa trop grande taille ;
* Memory Stick Duo : 31 × 20 × 1,6 mm. Poids : 2 g ;
* Memory Stick Micro ou M2 : 15 × 12,5 × 1,2 mm (225 mm$^3$). Poids : 1 g.
Si le Memory Stick a rétréci pour s'intégrer dans les appareils mobiles ultra compacts, il délivre néanmoins les mêmes fonctions et performances que le Memory Stick de taille standard. Seuls les qualificatifs PRO, PRO High Speed ou PRO-HG témoignent d'une différence de technique. C'est pourquoi il existe des adaptateurs pour insérer et utiliser les cartes Duo ou Micro dans des lecteurs pour Memory Stick classiques. Il en existe également un pour utiliser les cartes Micro dans un lecteur de cartes Duo.
Avec le temps la technique des Memory Sticks a également évolué :

##### Memory Stick

* Transfert en série, horloge à 20 MHz.
* Capacités : 32, 64, 128 Mo et 2 × 128 Mo (avec Memory Select Function).
* Débit en lecture théorique : 2,5 Mo/s (20 Mbit/s).
* Débit en écriture théorique : 2,5 Mo/s (20 Mbit/s).

##### Memory Stick PRO et PRO High Speed

* Transfert parallèle sur 4 bits, horloge à 40 MHz. Compatible transfert série.
* Capacités : 256, 512 Mo, 1, 2 Go. Système de fichier FAT.
* Capacités : 4, 8, 16 Go. Système de fichier FAT32 (à savoir que sur les 8 Go, un seul fichier ne peut pas dépasser 4 Go).
* Débit en lecture théorique pour le PRO : 20 Mo/s (160 Mbit/s).
* Débit en écriture théorique pour le PRO : 20 Mo/s (160 Mbit/s).
* Débit en écriture obtenu lors de tests pour le PRO High Speed : 10 Mo/s (80 Mbit/s).

##### Memory Stick PRO-HG

* Transfert parallèle sur 8 bits. Compatible transfert parallèle sur 4 bits et transfert série.
* Débit en lecture théorique : 30 Mo/s (240 Mbit/s).
* Débit en écriture théorique en transfert parallèle 8 bits : 30 Mo/s (240 Mbit/s).
* Débit en écriture théorique en transfert parallèle 4 bits : 20 Mo/s (160 Mbit/s).
Toutes les cartes actuelles au format Standard et Duo sont équipées d'un connecteur latéral possédant dix broches. Les cartes Micro comportent onze broches et les futures technologies PRO-HG nécessiteront un connecteur à quatorze contacts. Pour une compatibilité ascendante avec les anciens appareils, les cartes Memory Stick PRO et plus récentes sont également capables de fonctionner en série mais avec des débits inférieurs. Les lecteurs MS Pro peuvent lire et écrire des cartes MS classiques, mais les lecteurs MS classiques ne peuvent ni lire ni écrire les cartes MS Pro. De plus, pour lire les cartes Memory Stick PRO d'une capacité supérieure à 2 Go, l'appareil doit non seulement prendre en charge les Memory Stick PRO, mais aussi utiliser le système de fichier FAT32. La technique « Magic Gate » est la solution Sony de protection des droits d'auteur, utilisée notamment dans le format audio ATRAC 3. Cela n'empêche en aucun cas les appareils n'utilisant pas cette technique (ie. appareils photo) de fonctionner avec des cartes Magic Gate. Il existe aussi un modèle particulier, dit « with Memory Select Function » (à sélection de mémoire), qui sépare physiquement la mémoire disponible en deux parties égales. Le choix de l'une ou l'autre partition se fait par un interrupteur au dos de la carte.

#### Mémoire Smart Media

La mémoire SmartMedia est un type de carte mémoire créé par Toshiba et Samsung. Son architecture est basée sur des circuits de mémoire flash (EEPROM) de type NAND.
Il existe deux types de cartes SmartMedia fonctionnant à des tensions différentes :
* les cartes SmartMedia 3,3 V possèdent une encoche à droite (ex. : photo) ;
* les cartes SmartMedia 5 V possèdent une encoche à gauche.
L'accès aux données est réalisé par l'intermédiaire d'une puce possédant 22 broches. Quelle que soit la capacité de la carte Smartmedia, les dimensions et l'emplacement de la puce sont les mêmes. Le temps d'accès à la mémoire est d'environ 25 µs pour le premier accès et de cycles de 50 ns pour les suivants.

#### Tailles comparées des différentes cartes

Toutes les dimensions sont en mm, volumes en mm$^3$ et les masses en g.
| Type | Largeur | Profondeur | Épaisseur | Volume | Masse approx. |
| Secure Digital | 24 | 32 | 2,1 | 1 613 | 3 |
| MiniSD | 20,3 | 20,3 | 1,3 | 536 | 2 |
| Micro SD/TransFlash | 15 | 11 | 1,0 | 165 | < 1 |
| CompactFlash I | 42,6 | 36,4 | 3,3 | 5 117 | variable |
| CompactFlash II | 42,6 | 36,4 | 5 | 7 753 | variable |
| MultiMediaCard | 24 | 32 | 1,4 | 1 075 | 2 |
| SmartMedia | 37 | 45 | 0,76 | 1 265 | 2 |
| MemoryStick | 21,5 | 50 | 2,8 | 3 010 | 4 |
| MemoryStick Duo | 20 | 31 | 1,6 | 992 | 2 |
| xD Picture | 24,9 | 20,1 | 1,8 | 901 | 3 |