COMPTOIR
  
register

×

non tlc write t

Hard du Hard • L'endurance des SSD - partie 1
non tlc write t
samsung 850 pro - PCB

Le stockage est la mémoire de notre PC et est souvent délaissé pour jouer au frimeur avec une grosse configuration gamer. Mais ces derniers temps, la baisse des prix de la mémoire flash permet même aux moins fortunés d'acquérir un joli SSD pour ne plus avoir un démarrage asthmatique. Mais attention à votre choix de matos si vous voulez éviter tout risque de maladie d’Alzheimer sur votre bibliothèque Steam : 

 

Comment les différences entre chaque technologie influencent-elles
nos SSDs et leur durée de vie ? • partie 1

 

hard du hard

 

Et au commencement vint le transistor...

Ou tout du moins une variante particulière des transistors à technologie MOS. Pour faire simple, imaginez qu'un transistor est à l'électricité ce qu'un robinet est à l'eau : il permet selon la force que l'on exerce sur une grille de commande de faire passer plus ou moins d'électrons. Dans notre cas, le transistor à grille flottante est particulier : il peut stocker la tension à laquelle cette grille s'ouvre. Lorsque l'on applique une tension Vt1 sur cette grille, il faudra en mettre une plus élevée Vt2 pour la rouvrir ; de ce fait, si vous appliquez une tension Vc située entre les deux vous obtenez deux résultats possibles :

  • le transistor conduit du courant la grille est non-chargée, donc à un état '1'
  • le transistor ne conduit pas de courant la grille est chargée, donc un état '0'. 

Grâce à cette astuce, nous pouvons donc obtenir des bits pour une longue durée et sans forcément alimenter H24 nos transistors, magique non ? Pas tout à fait, car pour réinitialiser notre joli transistor, il va falloir le faire fonctionner dans l'autre sens un court instant avec une certaine puissance : ce procédé use le transistor ce qui lui donne un nombre maximum de possibilités de réécriture. C'est par ce même procédé que la durée de vie de notre SSD diminue à la longue. 

flash erase

Ci-dessus la procédure pour "réinitialiser" un transistor à grille flottante. Le fait de faire circuler le courant entre le drain et la grille (gate sur ce dessin) abîme petit à petit le fonctionnement de nos cellules FLASH.

 

Il est bon de savoir que cette structure amène un risque sur l'endurance avec l'amélioration de la finesse de gravure. En effet plus le transistor devient petit, plus les couches isolantes entre la grille flottante sont fine, réduisant l'effet capacitif et la rétention des données sur le long terme. Cela amène à un épuisement plus rapide de l'effet mémoire, une situation que personne ne cherche à voir arriver. Cependant, augmenter la finesse permet de gagner en densité et en capacité de stockage tout en permettant d’inclure des unités de gestion des cellules plus précises, ce qui atténue un peu l'impact sur la durée de vie : tension de claquage, limitation des pics de tension, protection contre les surcharges...

 

Plus d'état que 0 et 1, possible ça ?

Mais de nos jours, nous entendons surtout parler de puces MLC, TLC et voire même de puces QLC. Ces puces contiennent des transistors qui n'ont pas 2 niveaux de tension, mais 2n niveaux augmentant de fait le nombre de possibilités. Pour ce faire, il suffit de mesurer précisément le courant qui circule dans la grille plutôt que de dire si elle est chargée ou non. En mettant en place des paliers de tension différents, nous pouvons ainsi fournir des cellules mémoires utilisant moins de transistors pour un même nombre de bit. Pour mesurer, écrire ou écraser les transistors à ces différents paliers, il suffit d'envoyer des impulsions de tension à des niveaux différents jusqu'à ce que l'on mesure une excitation en courant du transistor et on regarde entre quelles tensions de seuil celui-ci se trouve.

 

non tlc write t [cliquer pour agrandir]

La figure ci-dessus montre que dans la réalité, les cellules ne s'activent pas à des niveaux précis dus aux écarts entre chaque transistor. Il faut tester plusieurs niveaux de tension afin de retrouver/écrire l'état de chaque cellule

 

Cependant, augmenter le nombre d'états possibles par transistors amène à deux gros problèmes : cela entraîne un risque d'erreur de lecture qui est comblé par une augmentation du nombre de tests de tension effectués (ce qui réduit la vitesse de fonctionnement à chaque fois) et le transistor ayant plus d'états possibles est amené à varier plus souvent, ce qui entraîne une fatigue supplémentaire de celui-ci - ainsi qu'une probabilité d'être écrasé souvent plus forte. C'est par cet enchaînement purement mathématique que de nombreux hardos tombent dans le piège de penser qu'une mémoire avec plus de niveaux sera moins durable ; d'autres paramètres rentrent en jeu pour vraiment qualifier de plus faible une mémoire TLC par rapport à une MLC comme la construction en 3D qui est moins agressive lors de l'opération de programmation/écrasement des données. 

 

La magie du découpage par bloc

Pour qu'un SSD puisse fonctionner de manière proche des disques durs à l'ancienne, il faut reproduire une architecture propre dans la consultation des données. Pour ce faire, les SSD divisent leur structure par des "blocs" de transistors ordonnés sous forme de grille avec pour lignes des "pages". Ces blocs peuvent contenir 32 à 256 pages de données de 2 ko à 8 ko chacune (soit 64 ko à 1 Mo par bloc). Notion importante à comprendre : quand vous écrivez sur le SSD, les données sont écrites par pages entières uniquement (et non bit par bit) et ne peuvent être écrasées que par bloc entier uniquement. C'est là que l'endurance brute est quantifiable : les fabricants transmettent souvent la durée de vie des blocs via leur nombre de cycles programmation/écrasement moyen. Pour mieux comprendre sans trop détailler ici le fonctionnement des systèmes de blocs, nous vous conseillons ce site simple (malheureusement en anglais).

 

Type de memoire nandnb de niveau de tensionnb de cylces moyen
SLC 2 100 000
MLC 4

1000 à 3000 (haute capacité, SSD modernes)

5000 à 10 000 (capacité moyenne)

TLC 8 1000 en 2D, 1000 à 3000 en 3D
QLC 16 100 à 1000
PLC 32 ~100 à 500 (à confirmer)

 Tableau résumant les performances brutes de chaque technologie. Comme vous pouvez le voir, les différences entre puces MLC et TLC sont assez faibles de nos jours, voire nulles.

 

Du coup, si vous êtes malins - et nous n'avons aucun doute là-dessus - vous comprendrez que la manière dont les blocs sont gérés peut influencer leur endurance. Des blocs avec des pages de petite taille pourront être mieux optimisés en termes d'espace et ont une probabilité d'être réécrits moins fréquente, en échange d'une plus grande fragmentation des données à terme diminuant les performances en lecture/écriture. À l'inverse, des pages et blocs plus grands favorisent les performances, mais amènent à une plus grande probabilité de devoir déplacer les données pour réinitialiser le bloc, augmentant l'utilisation de chaque bloc : ce phénomène est le write amplification - amplification d'écriture en langue de Molière - que nous détaillerons lors de notre deuxième partie.

 

Une deuxième mémoire pour plus de durabilité

Dernier point du côté hard du hard sur l'endurance des SSD - promis nous vous laisserons le cerveau tranquille après - est de "rajouter" une mémoire supplémentaire au contrôleur pour mieux gérer les changements fréquents et/ou rapides de données sur le SSD. L'idéal en matière de performance et de durabilité reste l'utilisation de mémoire DRAM (souvent de la DDR3) pouvant subir une quantité illimitée d'opérations comparée à la mémoire NAND. Elle peut encaisser les opérations comme l'adressage et les petites écritures plus rapidement et éviter d'user des cellules NAND inutilement, quelques centaine de Mo suffisant à gagner en performances et en durabilité. Pour les SSD moins chers nous avons souvent le droit à de la NAND dédiée, qui est certes moins coûteuse mais moins performante et s'usera plus rapidement sur le long terme.

 

samsung 850 pro - PCB [cliquer pour agrandir]

Sur les SSD de bonne facture, il est fréquent de trouver de la mémoire SDRAM pour gérer les adressages et transferts de fichier (ici la puce en haut à gauche pour un Samsung 850 pro)

 

Si vous voyez souvent des capacités différentes entre les les SSD et le volume total de mémoire NAND présente - par exemple 500 Go contre 512 Go - c'est qu'il s'agit d'une version encore plus poussée de ce "buffer" appelé over-provisioning qui permet de dédier plusieurs gigots de votre SSD - le standard est à 7% - pour gérer les transferts d'écriture. Grâce à ce cache de grande taille, les cellules vraiment dédiées au stockage ont un risque plus faible de claquer rapidement, elles sont donc plus fiables. Le sacrifice d'espace de nos jours est tout à fait abordable, avec un tarif au gigot qui a énormément baissé ces derniers mois. Mais ces fonctionnalités débordent vers les optimisations liées aux contrôleurs de mémoire NAND, ce qui sera pour le prochain épisode !

 

 

Vous pouvez trouver la partie 2 par ici :

hard du hard

Un poil avant ?

Vous voulez une Radeon VII, Il ne faudra à priori pas traîner !

Un peu plus tard ...

Bon Plan • What Remains of Edith Finch gratuit chez Epic Games

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/www/vhosts/comptoir-hardware.com/httpdocs/modules/mod_comptoir_info/mod_articles.php on line 33

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/www/vhosts/comptoir-hardware.com/httpdocs/modules/mod_comptoir_info/mod_articles.php on line 81 Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /home/www/vhosts/comptoir-hardware.com/httpdocs/modules/mod_comptoir_info/mod_articles.php on line 104
Les 31 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Pascal M., le Jeudi 07 Février 2019 à 11h34  
tu confonds surtout TRIM et wear levelling, ce sont deux choses différentes.
par Jemporte, le Mercredi 06 Février 2019 à 23h38  
par Pascal M., le Vendredi 01 Février 2019 à 14h27
Oui on peut, par exemple avec les logiciels de gestion comme le magician de Sam Soungue. Sauf changements récents peut le permettent cela dit. Cet espace peut aussi être utilisé en temps que cache en mode SLC, comme on peut le voir chez Intel. Le TRIM n'a rien à voir la dedans.
Moi j'avais compris autre chose (d'où l'évocation du TRIM). En principe le SSD fait tourner les cellules écrites et écrit celles qui ne l'ont le moins été, délaissant les cellules précédentes jusqu'à la prochaine réécriture quand leur tour viendra. Ainsi l'espace vierge et l'over-provisionning servent (si le SSD le detecte bien comme vide) de zone de relai mais avec des cellules brassées en permanence.
Le TRIM règle précisément quelle cellule a été le plus utilisée et celle qui l'a été le moins et va prendre le relai, alors que le logiciel du SSD le faisait moins bien, employant une algorithme probabiliste approchant. Cependant il semblerait que le hardware et logiciel des SSD parviennent dernièrement au niveau de précision du TRIM sans TRIM, sans que j'ai pu avoir confirmation. Il faudrait tester une SSD sous TRIM et un autre sans pour voir s'il reste une différence.
par Pascal M., le Vendredi 01 Février 2019 à 14h27  
par Jemporte, le Samedi 26 Janvier 2019 à 18h46
Est-ce qu'on peut over-provisionner en laissant de l'espace vierge non formaté ? Est-ce que c'est équivalent. Il paraîtrait que c'est le cas actuellement (ça ne l'était pas forcément avant).
Donc en gros, avec un SSD 500Go, on lui laisse 100Go non formatés et on utilise le reste, donc 400Go qui seront par contre on ne peut mieux gérés. A ce moment là, si le controleur et le frimware sont bien faits, pas besoin de trim.
Oui on peut, par exemple avec les logiciels de gestion comme le magician de Sam Soungue. Sauf changements récents peut le permettent cela dit. Cet espace peut aussi être utilisé en temps que cache en mode SLC, comme on peut le voir chez Intel. Le TRIM n'a rien à voir la dedans.
par Jemporte, le Samedi 26 Janvier 2019 à 18h46  
Est-ce qu'on peut over-provisionner en laissant de l'espace vierge non formaté ? Est-ce que c'est équivalent. Il paraîtrait que c'est le cas actuellement (ça ne l'était pas forcément avant).
Donc en gros, avec un SSD 500Go, on lui laisse 100Go non formatés et on utilise le reste, donc 400Go qui seront par contre on ne peut mieux gérés. A ce moment là, si le controleur et le frimware sont bien faits, pas besoin de trim.
par Jemporte, le Samedi 26 Janvier 2019 à 18h42  
par Un ragoteur du Grand Est, le Jeudi 17 Janvier 2019 à 10h18
Concernant l'endurance censément ridicule des ssd en tlc et soc, il n'y a pas de grosses discussions sur les forums, reddit, Twitter, de groupes Facebook ou de rencontres sur les ronds points. C'est que ça ne doit vraiment pas être un problème courant, ni même anecdotique...
Ca dépend. Est-ce que après 3 ans d'utilisation, tu vas te plaindre que ton SSD t'annonce être en train de cramer ses dernières écritures, alors que tu t'en es servi à fond ? Et est-ce que tu aura conscience que telle problème est du à la defaillance de cellules mal gérées qui auront été sur-écrites par rapport aux autres du à une absence de trim, un mauvais contrôleur, un bug dans le firmware, etc
par jopopmk, le Lundi 21 Janvier 2019 à 21h07  
Dans le tableau des niveaux de tension ça devrait pas plutôt être 2, 4, 8, 16 ? En tout cas article très sympa, qui explique bien que le nombre le lectures est multiplié pour une question de précision d'autant plus que les phases sont nombreuses. Hâte de lire la suite
par Un ragoteur charitable des Hauts-de-France, le Lundi 21 Janvier 2019 à 08h55  
L'overpoising n'est ni un buffer ni un cache. C'est plus une réserve de cellules qui permet deux choses :
1] "diluer" les écritures. Avec 7% d'espaces invisibles le contrôleur à toujours un peu de marge manœuvre pour éviter d'écrire toujours au même endroit
2] en fin de vie le contrôleur pioche dans cette réserve pour masquer que les premières cellules commencent à mourir.
par Un ragoteur bio d'Occitanie, le Vendredi 18 Janvier 2019 à 02h25  
Super, merci pour le partage de connaissances ! N'hésitez pas à pousser dans les détails physico-chimiques et mathématiques
par Thomas N., le Jeudi 17 Janvier 2019 à 14h48  
par AntiZ, le Mercredi 16 Janvier 2019 à 14h31
L'SSD est devenu un produit de plus en plus jetable.
Juste comme ça, l'élision ne se fait que devant une voyelle ou un "h" muet : l'ANPE, la SNCF, le SSD, la RTX.
Navré pour ce HS et GG Gui pour cet article encore une fois très instructif.
par Guillaume L., le Jeudi 17 Janvier 2019 à 13h07  
Merci beaucoup pour ton retour Antiz, ça fait plaisir. Pour ta remarque sur la finesse de gravure, je vais répondre brièvement (et je te l'accorde il faudra expliquer ça plus en détail un jour ):

S'il est vrai que la finesse de gravure influence sur l'endurance des circuits en général, ce n'est pas forcément selon ton analyse. En effet, réduire la finesse de gravure rend certes les transistors plus sensibles, demandant moins de tension et de courant pour produire un même effet .

De ce fait, on appliquera jamais la même tension de fonctionnement entre une puce 14 nm et une puce 40 nm. Certains problèmes sont dus aux contrôleur qui ne fait pas forcément la part des chose (autrement dit : le fabricant de SSD). Cette erreur d'interprétation de beaucoup de gens sur la finesse de gravure des puces est souvent lié à que par contre, la pureté du silicium influence énormément à ce stade et il s'agit d'un défaut d'usine direct : l'usure à long terme peut être largement évitée avec une bonne optimisation des circuits - comme la NAND 3D par exemple .

Si dans le fond l'idée que la finesse influence est bonne, celle-ci n'est prédominante que s'il y a une erreur de conception autour du procédé plus qu'une question de taille des transistors. Tu pourras par exemple trouver comme facteur ne serait-ce que la structure du transistor ou les substrats utilisés
par Un ragoteur du Grand Est, le Jeudi 17 Janvier 2019 à 10h18  
Concernant l'endurance censément ridicule des ssd en tlc et soc, il n'y a pas de grosses discussions sur les forums, reddit, Twitter, de groupes Facebook ou de rencontres sur les ronds points. C'est que ça ne doit vraiment pas être un problème courant, ni même anecdotique. Quand les premières rtx ont commencé à cramer, il a suffit de quelques heures pour que, sur les moteurs de recherche, on trouve des dizaines de milliers de résultats, là pour les ssd, après des années, on trouve pas trop de plaintes à ce sujet.
par Pascal M., le Jeudi 17 Janvier 2019 à 08h55  
par AntiZ, le Mercredi 16 Janvier 2019 à 22h04
Aux dernières nouvelles (2016 de mémoire), Samsung serait encore au 40nm (ce qui n'est sûrement plus le cas pour augmenter leur marges rester compétitif) alors que Micron lui avait déjà utilisé le 16nm sur certaines de ses séries (et je les vois mal revenir sur du 20nm pour les mêmes raisons que Samsung).
C'est surement un poil plus compliqué que ça hein Monter une ligne de production, même pour un géant comme Samsung, ça reste un niveau d'investissement/logistique monstrueux et même en temps que leader ils n'en restent pas moins en compétition frontale avec plusieurs autres gros bras du secteur qui plus es dans un contexte de forte tension sur la demande. Cela dit, sur le 750 EVO par exemple sorti en 2016 justement, c'était de la TLC 16nm maison, et ce disque connait une excellente réputation sur sa longévité.

On trouve des tests (si les protocoles sont toujours discutables, des écritures host restent des écritures) sur des TLC 15 & 16nm avec des résultats au delà du Po d'endurance sur des modèles 240-256Go. On trouve aussi des "ratées" comme le BX200... qui outrepasse tout de même leur specs officielles sur un facteur de ~3. On se souvient aussi du fiasco sur le 840 EVO (TLC toggle 19nm) dont les soucis étaient causés par une mauvaise calibration... du contrôleur, et non pas de la NAND. Bref, tout cela devrait être évoqué dans l'épisode 2 si ça n'allonge pas ce dernier de manière exponentielle !