Se connecter avec
S'enregistrer | Connectez-vous

MLC HET : super MLC ou SLC du pauvre ?

Intel SSD 710 : un X25-E 2 sans SLC ?
Par

Parce qu’elle est souvent source de confusions, il faut préciser ce qu’est la MLC High Endurance Technology. D’après Intel, cette déclinaison de la MLC permet d’atteindre une durabilité en écriture similaire à celle de la SLC grâce à deux caractéristiques :

  1. Sélection des puces MLC présentant d’origine une endurance plus élevée
  2. Augmentation du nombre de cycles de programmation (tProg)

Il se trouve que ces deux caractéristiques s’appliquent également à l’eMLC : en clair, HET n’est rien de plus qu’un terme marketing. A en croire Micron, le fait de trier les puces sur le volet permet d’avoir une endurance doublée dans le meilleur des cas. L’eMLC est finalement présentée comme six fois plus endurante que la MLC standard parce que le nombre de cycles de programmation est revu à la hausse.

Production 3x nm
SLC
MLC
eMLC
Bits/Cellule
1
2
2
Endurance (cycles P/E)
100 000
5 000
10 000 - 30 000
ECC
8b/512B
24b/1Ko
24b/1Ko
tProg
0,5 ms
1,2 ms
2 - 2,5 ms
tErase (effacement)
1,5 - 2 ms
3 ms
3 - 5 ms
Performances dans la durée
Constantes
En baisse
En baisse

Si la sélection des puces est parfaitement compréhensible, l’augmentation du temps nécessaire à la programmation d’une page comme on le voit dans le tableau ci-dessus l’est beaucoup moins. Ceci s’explique par la différence entre MLC et SLC.

La SLC permet de stocker un bit par cellule : on est sur un système binaire (« 0 » ou « 1 ») qui dépend de la tension appliquée sur la grille flottante. Dans le cas de la MLC, on est à deux bits par cellule, ce qui se traduit donc par quatre états possibles. L’augmentation de la densité du stockage est appréciable, mais elle a également des contreparties.

La première tient à la tolérance de la mémoire Flash vis-à-vis de la tension : à défaut de pouvoir doubler la tension pour s’adapter à l’échelle, il faut travailler de manière plus fine entre chaque état, c'est-à-dire aller plus loin dans la programmation des grilles flottantes pour libérer des quantités d’énergie très précises. La MLC nécessite donc plus de précision au niveau de la détection et de la répartition des charges électriques.

Au fur et à mesure que les cycles P/E sont consommés, les marges de lecture qui déterminent les valeurs de chaque cellule commencent à diminuer pour les raisons suivantes :

  • Fuites de courant dues à l’oxydation des cellules
  • Sur-sollicitations provoquées par des étapes de programmation parasites
  • Programmation de cellules adjacentes à cause d’opérations intenses en lecture ou en écriture

Ceci mène à des pertes de données ainsi que des erreurs en lecture : les cellules arrivent en fin de vie. Ce n’est pas vraiment un problème dans le cas de la SLC vu qu’il n’y a qu’un seul point de référence, mais dans le cas de la MLC, l’extension du cycle de programmation a un effet prononcé sur l’endurance des cellules.

Il est donc nécessaire de passer plus de temps à envoyer une charge bien précise vers les cellules, ce qui augmente la probabilité d’écriture vers une cellule dans un laps de temps plus court. En contrepartie, les points de référence sont bien plus conséquents, permettant ainsi d’augmenter la durabilité de chaque cellule avec une contrepartie sur les performances. C’est pour cette raison que le SSD 710 n’affiche que 2700 IOPS en écriture aléatoire.

Donnez votre avis