SSD : l'importance du contrôleur !

Le cas JMicron JMF602

Publié le 02 février 2009 , par Stephane CHARPENTIER - mis à jour le 02 février 2010 à 23h

JMicron est une jeune société fondée en 2001 et qui s'attache à concevoir des contrôleurs gérant des unités de stockage. Ils proposent des bridge USB/IDE/SATA, des bridge PCI-Express/SATA et des bridge SATA/Flash. C'est cette dernière catégorie qui nous occupe aujourd'hui puisqu'il s'agit des contrôleurs qui jouent l'interface entre un périphérique à base de mémoire NAND Flash et l'interface S-ATA. Il s'agit des contrôleurs JMF601 et JMF602 qui accessoirement peuvent aussi gérer une connexion USB. Celui qui nous intéresse plus précisément est le JMF602 qui comme on le voit ci-dessous est un contrôleur de type SoC (System On a Chip) possédant son propre processeur secondé par un peu de mémoire, un bus et 8 canaux pour les opérations de lecture et d'écriture dans les cellules de puces Nand Flash.

Image



Des latences inacceptables à cause d'un manque de cache ?


Ceux qui possèdent ou ont possédé des SSD à bas prix à base de puces MLC comme certains modèles OCZ savent que leur utilisation peut devenir un véritable cauchemar. La cause : ce fameux contrôleur JMicron JMF602 fortement critiqué à cause des difficultés qu’il rencontre pour gérer l'écriture des petits fichiers. Ceci est en partie à attribuer à son cache « on-die », à ne pas confondre avec le cache externe situé entre le contrôleur et les puces mémoires NAND-Flash, qui ne serait que de 16 Ko. Celui de l’Intel par exemple est de 256 Ko. Quand les blocs à écrire font 128 Ko, n’avoir que 16 Ko de cache interne est en soi un problème. En outre, ce contrôleur ne supporte pas un cache externe DRAM entre le contrôleur et les puces pour l'aider. Il en résulte des performances plus que décevantes lors d’opérations d’écriture de petits fichiers, ce qui arrive fréquemment lors de l’utilisation classique d’un PC, déjà rien qu’avec les opérations intrinsèques au fonctionnement du système d’exploitation. Lors d’opérations d’écritures conséquentes, ceci se matérialise par des temps d’attente (pouvant aller jusque 900ms) lors duquel le contrôleur se met en pause le temps que les données s’écrivent dans les puces. Ceci se manifeste même lors d’opérations qui semblent banales comme envoyer un message sur MSN. En effet, lorsque vous discutez sur MSN, vos conversations sont archivées dans l’historique qui s’écrit sur le SSD. Pour peu que d’autres opérations d’écriture soient en cours et que vous parveniez alors à saturer le contrôleur, vous devrez attendre quelques secondes avant que votre message soit envoyé. Certains utilisateurs ont carrément été incapables d'installer un système d'exploitation avec ces SSD, Windows ne semblant pas apprécier ces latences indignes d'une unité de stockage.

Image

Le fameux contrôleur JMicron JMF602 et deux puces de NAND Flash

mais pas de puce DRAM pour faire office de cache, ce contrôleur ne le supportant pas...


JMF602 révision A et révision B


A noter que la combinaison de puces SLC et de ce contrôleur JMicron JMF602 serait nettement moins problématique grâce au principe de fonctionnement des puces SLC qui offrent des débits en écriture nettement meilleurs. Comme nous le verrons lors de nos tests, cette affirmation est un peu optimiste. L’absence de cache peut par contre poser problème. C’est ce que nous allons vérifier avec le disque Transcend à base de SLC et le SSD CSX à base de MLC, tous deux dotés de ce contrôleur JMicron JMF602, en révision B. Car il existe deux révisions de ce contrôleur. Le JMF602 A, lancé fin 2007, est celui qui a été utilisé dans les premières versions des SSD OCZ Core, produit ô combien critiqué par les nombreux acheteurs qui se sont rués dessus à cause de son tarif attractif. C'est en mars 2008 que JMicron a pris conscience du problème (cfr interview réalisé par Dailytech) et a réagi en développant une révision B de son JMF602. Cette dernière fut lancée en juin 2008 et selon JMIcron, tous les SSD actuels dotés de puces JMicron utilisent le JMF602 B. Pour lé vérifier, il suffit de lire les références inscrites sur la puce. Ci-dessus, on distingue clairement le "B" sur la puce des SSD Transcend et CSX qi ont recours à cette nouvelle version.
Cette révision B est supposée améliorer fortement les problèmes de temps de latence lors des opérations d'écriture mais ne supporte toujours pas la gestion d'un cache mémoire externe, ce qui reste une tare. JMicron a également implémenté la possibilité de gérer davantage de "spare blocks", des blocs de rechange pour gérer les problèmes de la version A. Mais il reste au fabricant du SSD de décider de réserver des blocs pour ces opérations... ou pas. C'est ce qui explique que des SSD ont parfois des capacités inférieures aux standards avec des disques de 30, 60, 120 et 250 au lieu des traditionnels 32, 64, 128 et 256 Go.

Un contrôleur pour netbooks et portables ?


Dans l'interview cité plus haut, JMicron affirme que son contrôleur a été conçu pour les ordinateurs portables et les netbooks et avoue qu'il n'est pas apte à prendre place dans des SSD pour serveurs ou des SSD utilisés pour des tâches lourdes avec beaucoup d'opérations multi-tâches. N'est-ce pas le principe de n'importe quel système d'exploitation moderne d'être multi-tâches, y compris dans les portables et les netbooks ? En ce qui nous concerne, cet "aveu" est problématique car en tant que tel, le contrôleur JMicron JMF602 que ce soit en révision A ou B nous semble davantage destiné à prendre place dans des SSD utilisés en tant qu'unité de stockage externe se connectant en USB au PC et non en tant que disque système. L'absence de gestion d'un cache et les latences en terme d'écriture ne posent pas de problèmes dans pareil cas mais en posent pour un usage intensif conséquent à la gestion de Windows.
Crucial l'a bien compris avec ses SSD de 32 et 64 Go qui ont des performances encore plus mauvaises que les SSD à base de puce JMicron. Ils ont en effet rapidement proposé un boîtier externe USB pour l'accueillir, de même qu'une baie 5 pouces 1/4 pour faire du hotswap avec. Par ailleurs, ces modèles sont vendus aujourd'hui à des prix sacrifiés alors qu'ils sont à base de puces SLC ! En cause le contrôleur PHISON PS3102 gérant très mal l'écriture de petits fichiers mais également de taille moyenne. Il s'agit en effet d'un contrôleur bas de gamme 4 canaux ne pouvant pas non plus gérer un cache externe. Il en résulte des débits plus que moyens et des latences catastrophiques lors de l'écriture de petits fichiers.
Comme vous allez le voir dans nos tests, la révision B du JMicron JMF602 reste problématique en termes de performance et vous pourrez aussi (re)constater les débits catastrophiques du SSD Crucial pourtant à base de SLC !

Rôle du contrôleur   Cas pratiques : Transcend et CSX
Les commentaires sur ce document sont clos.
  • Tout
  • Hi-Tech
  • Matériel
  • Mac
  • Jeux

Derniers Tests

Tous les tests