Les derniers contenus liés aux tags TRIM et SandForce SF-1200
TRIM, Microsoft et SandForce : suite
Suite à la publication du dernier firmware de SandForce par OCZ, nous avons multiplié depuis les tests afin de mettre au clair les situations dans lesquelles le TRIM fonctionnait ou non avec les drivers Microsoft.
Pour rappel, avec le premier firmware les commandes TRIM du pilote Microsoft n’étaient pas prises en compte par le contrôleur SandForce, le pilote ne suivant pas les dernières évolutions de la norme TRIM et outrepassant une limite pourtant remontée au système par le SSD.
Avec le nouveau firmware, le TRIM est désormais fonctionnel sur notre Vertex 2 (et par extension tous les SSD mis à jour avec le dernier firmware SandForce) et les pilotes Microsoft. Voilà donc une très bonne nouvelle puisque si les utilisateurs de plate-forme Intel avaient toujours le choix de basculer sur les drivers Intel RST 9.6, ce que nous conseillons d’ailleurs puisqu’ils sont plus performants, ceux qui étaient sur un contrôleur AMD ou Marvell par exemple étaient bloqués, les pilotes AMD ou Marvell n’étant pas compatibles TRIM.
Si il fonctionne, le TRIM entre les pilotes Microsoft et le contrôleur SandForce reste limité. En effet d’après nos tests, le SF-1200 n’accepte pas de "trimer" plus de 4 Go d’une traite dans cette configuration, limite qui n’existe pas avec les pilotes Intel ainsi qu’avec les pilotes Microsoft combinés à d’autres SSD. Si vous formatez une partition, seuls les 4 premiers Go seront ainsi "trimés", il en va de même si vous effacer un fichier d’une taille supérieur à 4 Go. Si vous voulez efface un ensemble de fichiers qui fait plus de 4 Go en une fois il en va de même, mais il est possible de contourner la limitation en les effaçant en plusieurs fois !
La preuve par l’exemple avec ces tests effectués sur plate-forme AMD avec les pilotes Microsoft. Voici tout d’abord les performances sur les 6 premiers Go du SSD lorsque ce dernier est à vide :
On est environ à 230 Mo /s.
Si on le rempli de 5 Go de fichiers JPEG environ, la vitesse de lecture sur l’espace occupé tombe sous les 150 Mo /s, pour revenir au débit initial au delà.
Si on efface ces fichiers d’une seule traite, le débit initial est récupéré sur les 4 premiers Go, mais reste à moins de 150 Mo /s sur le Go suivant.
Si par contre on efface ces fichiers en deux fois, le débit initial est récupéré sur les 5 Go.
Voilà donc une bonne nouvelle, puisque si cette implémentation n’est pas parfaite, elle couvre toutefois la plus grande partie d’une utilisation classique. Un bon point donc pour SandForce, en attendant bien entendu que Microsoft mette à jour ses pilotes IDE et AHCI afin de se conformer à la dernière norme.
SandForce & Trim : attention !
Depuis notre article sur le TRIM et IOMeter, nous passons à la moulinette de nombreux SSD afin de pouvoir vous conseiller au mieux. Depuis maintenant un mois, nous avons entre autre entre les mains un SSD à base de SF-1200, le Vertex 2 d’OCZ, mais cherchons depuis une quinzaine de jours à résoudre un souci pour le moins étrange d’autant qu’il n’a jamais été mis en avant dans les déjà nombreux tests, notamment anglophones, publiés sur ce contrôleur.
En effet, si la commande TRIM avait l’impact attendu sur ce SSD dès lors que nous utilisions les pilotes Intel RST, ce n’était pas le cas avec les drivers standards Microsoft intégrés dans Windows 7. Une situation assez problématique puisque les pilotes Marvell ou AMD officiels ne supportant pas le TRIM, les pilotes Microsoft restent la seule solution compatible TRIM pour les chipsets non-Intel.
Depuis une quinzaine de jours, nous avons remonté le souci à OCZ qui depuis travaillait avec SandForce afin d’identifier le problème. C’est désormais chose faite, et voici l’explication qui nous a été apportée par SandForce.
Avant toute chose, il faut savoir comment la commande TRIM fonctionne. Avec la commande, le pilote envoie au SSD un groupe d’adresses qui ne correspondent plus à des données. Chaque groupe est constitué de 64 entrées, et pour chacune de ces entrées on spécifie l’adresse LBA de départ et le nombre d’adresses séquentielles suivantes également affectées, jusqu’à 65536. Via l’Identify Device data word 105, SandForce indique au pilote AHCI qu’il n’accepte pas plus d’un groupe de 64 entrées à la fois, paramètre qui est bien pris en compte par le pilote Intel RST.
A contrario, le pilote Microsoft passe outre et continue d’envoyer 4 à 8 groupes à la fois, ce qui n’est pas conforme aux dernières normes ATA selon SandForce et va au delà des spécifications du SSD exposées au pilote, ce qui fait que ces commandes ne sont pas prises en compte par le SSD. Voilà donc pourquoi le TRIM sur les SSD SandForce ne fonctionne qu’avec les pilotes RST !
SandForce nous a indiqué qu’il intégrerait une modification dans ces pilotes qui adresseraient la plupart des problématiques engendrées par cette implémentation du TRIM au sein des pilotes Microsoft, mais pas toutes puisque par exemple un formatage rapide ne "TRIMera" pas le SSD entièrement. Dans l’absolu SandForce indique que le mieux serait que Microsoft mette à jour son pilote afin de se plier aux derniers standards ATA, des discussions seraient en cours à ce sujet.
En attendant, vu l’importance de la commande TRIM nous ne pouvons que déconseiller les SSD à base de contrôleur SandForce pour les plates-formes autres qu’Intel.