Comparatif SSD 2012-2013 : 37 SSD SATA 6G 120 et 128 Go

Publié le 13/04/2012 (Mise à jour le 15/11/2013) par
Imprimer
Tenue des performances et TRIM
Nous l'avons déjà évoqué à multiples reprises, les performances d'un SSD peuvent se dégrader au fur à et mesure de son utilisation. A ceci plusieurs causes, la première est structurelle : un disque dur peut lire, écrire (une zone vierge) ou réécrire (une zone occupée) les données par paquet de 4 Ko. Avec la flash, on ne lit, écrit ou réécrit que par paquet de 4 Ko, 4 Ko et … 512 Ko puisque si l'écriture ou la lecture peut se faire par page, la réécriture doit se faire sur un même ensemble de pages appelé bloc (voir 8 Ko, 8 Ko et 2048 Ko pour une puce Flash 25nm de 8 Go et 16 Ko, 16 Ko et 4096 Ko pour les futures puces Flash 20nm de 16 Go).

Quand il faut réécrire une zone déjà occupée par un fichier, cela pose donc quelques problèmes de performances et d'usure de la flash ! Pire, si le fichier a été effacé par l'OS sans TRIM, alors le SSD ne sait pas que les données qui correspondaient à ce fichier sont invalides et fera une opération de réécriture (read-modify-write) au lieu d'une écriture simple. Avec la commande TRIM, cet écueil est toutefois résolu puisque l'OS indique au SSD que la zone est de nouveau à considérer comme vierge.

Ce comportement structurel est accentué par la présence d'optimisations au sein des SSD visant à améliorer les performances en écriture aléatoires et l'amplification en écriture. Pour faire simple, lorsqu'on demande d'écrire de manière aléatoire des données à un SSD, celui-ci les écrits en séquentiel au niveau de la Flash, s'arrangeant au niveau de sa table d'allocation interne pour faire correspondre les adresses connues par l'OS (les LBA) et les pages Flash correspondantes. Pour qu'un tel mécanisme soit efficace, il faut toutefois que des blocs de mémoire Flash soient disponibles, ce qui est plus délicat en l'absence de TRIM.

Qu'en est-il en pratique ? Tester l'usure des performances d'un SSD n'est pas chose évidente mais nous avons évalué le comportement des SSD face à une situation extrême. Cette fois avant toute mesure de performance l'intégralité des l'espace accessible est remplie de données écrites séquentiellement.

La grande majorité de ces données ne sont pas compressibles par le contrôleur SandForce de manière à ne pas les avantager de manière complètement artificielle, à l'exception de 8 Go qui le sont fortement ce qui permet tout de même de donner un avantage à cette technologie comme ce sera de toute façon le cas en pratique.


A : 80 à 88 Go, données fixes incompressibles. B : 8 Go, données fixes incompressibles et qui subira un formatage rapide pour TRIM aux étapes 4 et 10. C : 8 Go de données fixes fortement compressibles. D : Zone de test de 24 Go, préalablement écrite en incompressible.

Les seules cellules Flash que le SSD considère comme vierges sont donc celles dédiées à l'overprovisionning, voir celles économisées du fait de la compression, chose qui ne doit naturellement pas arriver dans un système qui libère correctement les cellules via le TRIM.

On fait alors plusieurs mesures de performances en suivant ces étapes :
1. Remplissage du SSD
2. 20mn d'écritures aléatoires
3. 5mn d'écritures séquentielles
4. TRIM (libération de cellules) de 8 Go
5. 5mn d'écritures séquentielles
6. Reset du SSD (secure erase)
7. Remplissage du SSD
8. 5mn d'écritures séquentielles
9. 20mn d'écritures aléatoires
10. TRIM (libération de cellules) de 8 Go
11. 20mn d'écritures aléatoires
Les durées de 5 et 20 minutes ont été fixées en fonction des débits et des capacités d'overprovisionning des SSD de 120/128 Go, afin notamment de ne pas écrire uniquement dans ce dernier. La commande TRIM n'est utilisée qu'aux étapes l'indiquant, sinon les écritures se font en continu sans y faire appel (il s'agit de réécritures au sein d'un même fichier) ce qui constitue un cas extrême. Si nous ne reportons ici que des performances en écriture, il faut toutefois préciser que les performances en lecture peuvent également être impactés négativement, mais dans une moindre mesure. Sont également intégrées les performances sur un SSD "neuf" (après Secure Erase), avec donc 100% d'espace Flash considéré comme vierge par le contrôleur.


[ Corsair Force 3 ]  [ Corsair Force GT ]  [ Corsair Force GS ]  [ Corsair Perf. Pro ]
[ Corsair Neutron ]  [ Corsair Neutron GTX ]  [ Corsair Neutron GTX B ]
[ Crucial C300 ]  [ Crucial M4 ]  [ Crucial M500 ]
[ Intel X25-M V2 ]  [ Intel SSD 510 ]  [ Intel SSD 520 ]  [ Intel SSD 330 ]
[ Kingston V200 ]  [ Kingston V300 ]
[ OCZ Vertex 3 MI ]  [ Vertex 3.20 ]  [ Petrol ]  [ Octane ]  [ Agility 4 ]  [ Vertex 4 ]
[ OCZ Vector ]  [ Vector 150 ]  [ Vertex 450 ]
[ Plextor M3 ]  [ Plextor M3P ]  [ Plextor M5S ]  [ Plextor M5P ]
[ Samsung 830 ]  [ Samsung 840 ]  [ Samsung 840 EVO ]  [ Samsung 840 Pro ]  
[ Sandisk SSD ]  [ Sandisk Extreme ]  [ Sandisk Ultra Plus ]  [ Sandisk Extreme II ]
[ Toshiba Q Series ]


Sont représentées sur ce graphique les performances en écriture séquentielle sur un SSD neuf, puis aux étapes 8 ("après remplissage"), 3 ("après aléatoire") et 4 ("après TRIM 8 Go") lors d'une écriture séquentielle en boucle sur les mêmes 24 Go d'espace disque. Il faut bien comprendre que cet espace peut être réécrit plusieurs fois, puisqu'à 133 Mo /s il ne faut que 3 minutes pour le faire.

Un SSD aura des performances très stables dans tous les cas de figure si la courbe verte est stable et si les autres courbes sont au même niveau. Généralement vous observerez que la courbe violette est très en dessous au moins pendant quelques temps, il faut dire que le cas de figure représenté est assez extrême et peu représentatif d'une utilisation classique du SSD.

Un seul SSD maintient le même niveau de performance en écriture séquentielle quelle que soit la situation, c'est l'Intel SSD 510 d'Intel. Le simple fait d'être rempli peut faire baisser les performances, comme sur les OCZ Agility 4, Vertex 4, Vector, Vector 150, Vertex 450 ou encore le Toshiba Q Series du fait des techniques mises en places pour utiliser prioritairement les pages Flash en mode "SLC".


Le fait d'écrire en séquentiel sur un espace LBA préalablement utilisé pour des écritures aléatoires et en l'absence de pages Flash marquées comme étant vierges est dommageable pour de nombreux SSD. La majorité des SSD passent ainsi plus ou moins largement sous la barre des 100 Mo /s au départ, les exceptions étant l'Intel SSD 510, les Plextor M3, M3P et M5S, le Samsung 840 EVO ainsi que les OCZ Vector, Vector 150 et Vertex 450. Ils souffrent tout de même d'une baisse par rapport à leurs maximums, à l'exception du 510.

A force d'écrire en boucle en séquentiel sur ce même espace les performances augmentent rapidement sauf sur quelques SSD : Corsair Performance Pro, OCZ Octane/Petrol et Toshiba Q Series ou le gain est lent voir inexistant. Si le fait de libérer 8 Go de Flash via la commande TRIM permet de revenir aux performances initiales sur le Performance Pro et la plupart des SSD (même si cela n'est pas immédiat sur le Samsung 840 Pro), on reste en dessous sur les OCZ Octane, Petrol, Agility 4, Vertex 4, Vector, Vector 150 et Vertex 450 ainsi que sur le Kingston V200, le Toshiba Q Series et tous les SSD à base de SandForce : Corsair Force 3, Force GT et Force GS, Kingston V300, Intel SSD 520 / 330, OCZ Vertex 3 MI et 3.20, Sandisk Extreme.

Ces derniers SSD sont donc à éviter pour qui à besoin d'un débit en écriture élevé soutenu. Les Samsung 840 Pro, Corsair Neutron GTX, Plextor M3P/M5P et Sandisk Extreme II sont plus adaptés, combinant une bonne tenue des performances et des performances qui de base sont élevées.


[ Corsair Force 3 ]  [ Corsair Force GT ]  [ Corsair Force GS ]  [ Corsair Perf. Pro ]
[ Corsair Neutron ]  [ Corsair Neutron GTX ]  [ Corsair Neutron GTX B ]
[ Crucial C300 ]  [ Crucial M4 ]  [ Crucial M500 ]
[ Intel X25-M V2 ]  [ Intel SSD 510 ]  [ Intel SSD 520 ]  [ Intel SSD 330 ]
[ Kingston V200 ]  [ Kingston V300 ]
[ OCZ Vertex 3 MI ]  [ Vertex 3.20 ]  [ Petrol ]  [ Octane ]  [ Agility 4 ]  [ Vertex 4 ]
[ OCZ Vector ]  [ Vector 150 ]  [ Vertex 450]
[ Plextor M3 ]  [ Plextor M3P ]  [ Plextor M5S ]  [ Plextor M5P ]
[ Samsung 830 ]  [ Samsung 840 ]  [ Samsung 840 EVO ]  [ Samsung 840 Pro ]
[ Sandisk SSD ]  [ Sandisk Extreme ]  [ Sandisk Ultra Plus ]  [ Sandisk Extreme II ]
[ Toshiba Q Series ]


Sont représentées sur ce graphique les performances en écriture aléatoire sur un SSD neuf, puis aux étapes 2 ("après remplissage"), 9 ("après séquentiel") et 11 ("après TRIM 8 Go") lors d'écritures aléatoires 4 Ko en boucle sur les mêmes 24 Go d'espace disque. Il faut bien comprendre que cet espace peut être réécrit plusieurs fois, puisqu'à 60 Mo /s il faut moins de 7 minutes pour le faire et que le test dure 20 minutes.

Là encore un SSD aura des performances très stables dans tous les cas de figure si la courbe verte est stable et si les autres courbes sont au même niveau. Peu de SSD y parviennent et il faut préciser qu'en n'effectuant des écritures aléatoires sur les 24 derniers Go du disque il y'a 96 à 104 Go de données fixes : avec des écritures aléatoires sur la totalité du SSD les résultats seraient encore moins bons. Toutefois là encore ce serait un test très extrême et peu représentatif sauf à utiliser un RAID en l'absence de TRIM et y placer une BDD très lourde en oubliant d'utiliser l'overprovisioning... une mauvaise idée !

Pour la plupart des utilisateurs, dans un environnement compatible TRIM, on s'assurera juste que les 2 premières minutes de la courbe bleue sont proches du niveau de performance obtenu sur la courbe verte. Sans TRIM on s'assurera que les courbes rouges et violettes ne s'éloignent pas trop de la verte. Au delà des performances qui seront toujours suffisantes pour une utilisation classique (on a rarement besoin de plus de 10 Mo /s en écriture aléatoire de ce type), des performances basses sont le signe d'une amplification en écriture importante.

Le Crucial C300 souffre d'un comportement assez étonnant, lié à son dernier firmware et qui ne se produit qu'avec un accès concurrent et disparait dès que l'on passe à 2 accès.

Les Corsair Neutron et Neutron GTX tirent ici leur épingle du jeu. Offrant sur un SSD neuf de très bonnes performances, ils parviennent à les maintenir même après avoir été remplit de données de manière séquentielle, un très bon point pour qui voudrait les utiliser au sein d'un serveur en l'absence de TRIM. Les OCZ Vertex 4, Vector, Vector 150, Vertex 450, Samsung 840 Pro et Sandisk Extreme II ne déméritent pas non plus.

Les SSD à base de SandForce (Corsair Force 3, Force GT et GS, Kingston V300, Intel SSD 520/330, OCZ Vertex 3 MI et 3.20 et Sandisk Extreme) sont pour rappel ici avantagés car ils disposent du fait de la compression d'un surplus de Flash disponible puisqu'une partie des données statiques sont compressibles. En pratique toutefois ils ne tirent pas un énorme avantage de ceci par rapport aux autres SSD et cela leur permet tout juste de leur tenir tête, en dehors des Intel SSD 520 et 330 qui ajoutent à ceci 8 Go d'OP, par rapport aux autres SSD qui n'ont pourtant pas cet avantage. Bien entendu, plus les données seront compressibles, plus ils disposeront d'une réserve de Flash et plus ils maintiendront leurs performances à un niveau élevé. Phénomène étrange, quasiment tous les SandForce sont moins rapides pendant les premières minutes après le TRIM que sans TRIM.

La plupart des SSD en Marvell (Corsair Performance Pro, Crucial M4 et M500, Intel 510, Plextor M3, M3P, M5S, M5P et Sandisk Ultra Plus) ont globalement des comportements assez proches et gagnent eux lors du TRIM que ce soit durant les premières minutes comme dans la stabilisation. L'Intel SSD 510 affiche toutefois des performances globalement assez basses, et chose bizarre sur SSD neuf ses performances baissent après seulement 14 minutes d'écriture. Durant cet intervalle l'hôte n'a demandé qu'un peu plus de 40 Go d'écritures au SSD, et cette baisse des performances laisse penser que le SSD est à cours de Flash vierge ce qui veut donc dire que l'amplification en écriture serait de x3 !

On retrouve ce même phénomène sur le Toshiba Q Series après un volume d'écritures de 60 Go environ, ce dernier n'est d'ailleurs pas à la fête même après le TRIM de 8 Go. Une baisse sur SSD neuf est également enregistrée sur le Samsung 830 qui se comporte pourtant assez bien par ailleurs, avec notamment un très bon niveau de performance après TRIM, mais avec une baisse des performances moins importante. La baisse commence après environ 68 Go d'écritures, alors que sur les 20 minutes on écrit environ 92 Go de données. Ceci a été corrigé sur les 840 Pro, 840 et 840 EVO. Le 840 EVO est au passage bien moins à l'aise que le 840 dans cet exercice avec des courbes qui descendent bien plus bas, la faute à l'espace Flash utilisé par le TurboWrite au lieu d'être consacré à l'overprovisionning classique comme sur le 840 !

Enfin si le V200 de Kingston n'est clairement pas à la fête avec des performances divisées par x3.5 dans le pire des cas, c'est tout de même bien mieux qu'avec le firmware précédent puisqu'elles sont 5 à 10x supérieures. Le Sandisk SSD est du coup le seul à offrir des performances très basses, et elles ne sont pas si stables qu'elles n'y paraissent lorsqu'elles ne sont plus écrasées par l'échelle :

Vos réactions

Top articles