La MLC 3 bits fonctionne mal
La mémoire MLC, utilisée dans la majorité des clés USB et dans les SSD d'entrée et de milieu de gamme, devait évoluer cette année, avec un passage à 3 bits au lieu de 2, mais il semble que les premiers retours sont assez mauvais.
2 bits contre 3 bits
Petit rappel : la mémoire flash de type NAND existe dans deux versions, la SLC (Single Layer Cell) et la MLC (Multiple Layer Cell). La première stocke 1 bit par cellule, la seconde en stocke plusieurs, généralement 2 et les versions à 3 et 4 bits par cellule sont censées arriver en 2010. Gros avantage des versions à 3 bits, la densité augmente : on stocke 1,5 x plus sur la même surface, pour un coût proche (voire identique). Gros désavantage, on perd généralement en durée de vie en augmentant le nombre de bits et les débits en écriture diminuent (on doit gérer plus d'états binaires pour une cellule, ce qui complexifie la détection des niveaux de tension). Et selon une source taiwanaise, les puces « 3 bits » d'un constructeur coréen (a priori Samsung) ont été rapidement renvoyées au fondeur, car les premières versions des puces étaient « instables ». Problèmes de débits, de fiabilités ? Personne ne le sait, mais cette nouvelle — si elle se confirme — risque de faire du bruit : la mémoire à 3 bits était pressentie pour permettre aux SSD de remplacer les disques durs à moyen terme, en diminuant les prix.
- Avis de grand froid chez Thermaltake
- Les smartbooks arrivent
- VLC va accélérer matériellement
- Le GMA 500 : mieux que le GMA 3150...
- DFI : l’Atom N450 en mini-ITX
- Le GMA 500 accélère la vidéo sous Linux
- Remplacer son HDD sous Windows 7
- Lenovo : deux IdeaPad « Pine Trail »
- TDJ : Gainward GT 240, comparatif SSD






On en est encore aux stades des prototypes, non? Alors pourquoi s'affoler? Il ne me semble pas qu'on réussisse à fondre des composants parfaits du premier coup
Quand on passe de 2 bits à 3 bits, on ne la multiplie pas par 1,5, mais on la double : avec 2 bits on code 4 niveaux, avec 3 bits, on en code 8.
heuuu, non ?
on parle pas de niveaux, mais de bits, là, hein.
On est toujours au binaire hein... On est pas passé au trinaire^^^
Sur un interrupteur binaire, on ne peut avoir que 2 états : 0 ou 1... Donc si on gère par deux les interrupteurs binaires, on a 4 états possibles : 00 01 10 ou 11.
Sur ce nouveau type, on a trois états possibles, mais comme on reste en binaire, le troisième état ne sert à rien sur un seul interrupteur... Par contre, si on les gère par deux on peut récupérer les deux "troisième états" pour en faire un 3ème interrupteur binaire, ce qui nous donne : 000 001 010 011 100 101 110 ou 111, soit 8 états possibles.
Le fait de pouvoir gérer 3 bits sur 2 interrupteurs double donc les possibilités de stockage par rapport à 2 interrupteurs binaires classiques...
CQFD !!!
+++
Basthi
si je veux stocker 011 100,
j'ai besoins de 6 cellules slc, 3 cellulles mlc2 ou 2 cellulles mlc3.
Donc la mlc3 est 1.5 fois plus dense que la mlc2
basthi +1
Pour stocker tout les états de 2bits dans une unique cellule on doit pouvoir appliquer et garder 4 tensions différentes sur une cellule.
Exemple
00 = 0 volt
01 = 1 volt
10 = 2 volt
11 = 3 volt
La finesse de gravure s'accroissant et la tension d'alimentation s'abaissant, la différence de potentiel entre chaque état deviendra de plus en plus petite.
Je n'ose même pas imaginer la difficulté et surtout la précision pour stocker 4 bits sur une cellule de manière fiable avec une tension de 1,6v (soit 0,1v par état)
Sur un interrupteur binaire, on ne peut avoir que 2 états : 0 ou 1... Donc si on gère par deux les interrupteurs binaires, on a 4 états possibles : 00 01 10 ou 11.
Sur ce nouveau type, on a trois états possibles, mais comme on reste en binaire, le troisième état ne sert à rien sur un seul interrupteur... Par contre, si on les gère par deux on peut récupérer les deux "troisième états" pour en faire un 3ème interrupteur binaire, ce qui nous donne : 000 001 010 011 100 101 110 ou 111, soit 8 états possibles.
Le fait de pouvoir gérer 3 bits sur 2 interrupteurs double donc les possibilités de stockage par rapport à 2 interrupteurs binaires classiques...
CQFD !!!
+++
Basthi
Encore une fois, non. Quand on parle de MLC 3 bits, c'est PAS 3 états, c'est 3 bits stockés dans la mémoire. Donc on stocker bien 1,5 fois plus que de la MLC 2 bits classiques.
c'est pas bon tout ça
Quand on passe de 2 bits à 3 bits, on ne la multiplie pas par 1,5, mais on la double : avec 2 bits on code 4 niveaux, avec 3 bits, on en code 8.
Sauf que là on ne parle pas de la valeur que peuvent représenter 3 bits.
Prenons l'exemple de trois octets (24 bits). Avec de la MLC 2 bits, on a besoin de 12 cellules pour stocker cette information. Avec de la MLC 3 bits, on n'en a besoin que de 8. En terme de *surface*, on pourra mettre 50% de stockage en plus, c'est à dire qu'un SSD 2.5" pourra stocker 384 GiB au lieu de 256 actuellement.
Autre exemple: pour coder un caractère (une lettre, un chiffre, un point d'interrogation…) dans un fichier texte en ISO-8859-15, il faut un octet (8 bits). Avec 4 bits en plus, effectivement on double la valeur représentable quatre fois, mais ce n'est pas comme ça que ça marche. Avec 24 cellules MLC 2 bits, on pourra stocker 6 caractères. Avec 24 cellules MLC 3 bits, on pourra stocker 9 caractères (50% en plus).
Du coup je me demande quelle stucture auront ces SSDs. Actuellement ils ont des "secteurs" de 512 octets (4096 bits), des "pages" de 4096 octets (32768 bits) et des blocs d'effacement de 512 KiB (4194304 bits). Aucun de ces chiffres n'est divisible par trois!
Je réponds à mon propre post (désolé pour le spam): chaque page de 4096 octets dans la MLC actuelle comprend en fait 128 octets de plus, invisibles à l'utilisateur, pour la correction d'erreurs (ECC). Or, 4096 + 128 = 4224, chiffre qui se trouve être divisible par trois. Pas besoin, donc, de changer les tailles de pages.
Faut que ça démarre, la technologie ne peut pas être mature du premier coup.