Un SSD à base de cartes Compact Flash, une solution viable ?

Le projet : utiliser des cartes Compact Flash comme support SSD

Il y a quelques semaines, nous nous sommes intéressés aux SSD, ces nouveaux supports de stockage qui utilisent de la mémoire flash pour stocker les informations. Malgré un prix élevé, nous étions globalement satisfaits des performances. Cette fois-ci, nous allons vous proposer une solution artisanale, mais efficace, pour monter votre propre SSD à moindres coûts : des cartes Compact Flash en RAID.

Image 1 : Un SSD à base de cartes Compact Flash, une solution viable ?

Les cartes Compact Flash sont très bien adaptées à cet usage : l’interface est dérivée du PCMCIA, et l’utilisation des cartes dans un PC (en IDE) est prévue par la norme (mode TrueIDE). Il suffit d’utiliser un adaptateur Compact Flash vers IDE (qui effectue simplement la correspondance entre les connecteurs) pour remplacer un disque dur par une carte Compact Flash.

Si vous n’êtes pas familier avec le fonctionnement de la mémoire flash, je vous conseille d’aller lire les explications sur le fonctionnement de la flash NAND dans notre article sur les SSD. En simplifiant un peu, on peut considérer que rien ne différencie véritablement une carte Compact Flash récente d’un SSD comme le Samsung que nous avons testé, en dehors de l’encombrement physique et de la capacité.

MAJ : Consultez notre comparatif de SSD

Considérations sur le matériel et les contraintes

Avant de commencer, il y a quelques explications nécessaires pour comprendre le fonctionnement de l’ensemble et savoir quel matériel il faut utiliser.

Les Compact Flash et le problème de la vitesse

Image 2 : Un SSD à base de cartes Compact Flash, une solution viable ?La première chose à choisir, c’est le modèle de carte Compact Flash. Toutes les cartes de stockage sont compatibles avec le mode TrueIDE, mais leur comportement peut varier une fois qu’elles sont placées à l’intérieur d’un PC. Le premier point est la vitesse de la carte, et on retrouve trois types de cartes quand on regarde ce critère : les cartes classiques, prévues pour les appareils photo d’entrée de gamme, les cartes rapides, prévues pour les reflex numériques, et les nouvelles cartes très rapides, intéressantes pour les appareils de la dernière génération. Les premières sont très lentes et inutilisables dans un PC : elles travaillent en mode PIO (Programmed Input Output) qui ne permet pas de dépasser 4 Mo/s dans un PC, avec une utilisation du CPU à 100 %. Ce sont généralement les cartes de base, en dessous de 100x. La deuxième série de cartes (100 à 150x) est utilisable dans un PC : les cartes fonctionnent en MultiWord DMA 2 dans un PC, avec un taux de transfert pouvant atteindre 16 Mo/s. Enfin, les dernières cartes sont les plus adaptées à notre usage : les cartes 266x (et 300x ou ExtremeIV) fonctionnent en Ultra DMA 4 (66 Mo/s) et atteignent en pratique plus de 40 Mo/s. Transcend, A-DATA ou Sandisk proposent par exemple des cartes de ce type.

Le mode fixed et le mode removable

Un autre point à vérifier, c’est la façon dont la carte va se comporter dans le PC. Il existe deux types de cartes, les fixed et les removable (amovibles). Les premières sont reconnues par les systèmes d’exploitation comme un disque fixe, alors que les deuxièmes sont considérées comme un disque amovible. Le problème vient essentiellement des différents Windows : ils ne peuvent pas placer le fichier d’échange sur un disque amovible (susceptible d’être retiré à tout moment). Bien évidemment, la majorité des cartes Compact Flash sont des cartes removable, et jusqu’il y a peu, la seule solution pour obtenir une carte fixed était d’acheter une carte dite industrielle. Ces dernières sont prévues pour un usage dans des systèmes informatiques et sont donc fixed par défaut, mais elles sont très onéreuses et généralement plus lentes que les cartes classiques. Heureusement, les dernières générations de cartes 266x (notamment les cartes Transcend et A-DATA) sont fixed en TrueIDE. Pour les autres cartes, point de salut : l’information en question est stockée dans le firmware de la carte, ce qui rend très difficile sa modification (même si des outils existent).

Image 3 : Un SSD à base de cartes Compact Flash, une solution viable ?

Les adaptateur, quelle carte choisir ?

Les adaptateurs Compact Flash vers IDE et le SATA

Une fois qu’on a trouvé une carte rapide et fixed, il reste le problème des adaptateurs Compact Flash vers IDE. Ce genre de périphérique se trouve assez facilement, pour une dizaine d’euros, mais la majorité des modèles (surtout ceux achetés sur eBay) ne sont pas compatibles avec les cartes rapides. La prise en charge du mode Ultra DMA nécessite des modifications, ce qui rend une grande partie des adaptateurs inutilisables. Avant d’acheter un adaptateur, il convient donc de vérifier la compatibilité Ultra DMA. Le deuxième problème vient des cartes mères récentes, de plus en plus souvent dépourvues de l’interface PATA : les cartes Compact Flash ne sont pas encore compatibles SATA. Il existe des adaptateurs Compact Flash vers SATA (et on peut utiliser des convertisseurs IDE vers SATA) mais les performances peuvent pâtir de ces appareils.

Image 4 : Un SSD à base de cartes Compact Flash, une solution viable ?

Au final, quelle carte choisir ?

En résumé, le choix de la carte se restreint rapidement : il faut une carte rapide (266x), fixed en mode TrueIDE, ainsi que des adaptateurs Compact Flash vers IDE qui supportent le mode Ultra DMA. Pour le test, nous avons choisi des cartes Transcend, même si les cartes A-DATA conviennent parfaitement pour cet usage. Il est par contre déconseillé de choisir une carte Sandisk : les ExtremeIV, même si elles sont rapides, sont des cartes removable, ce qui peut poser problème si vous voulez installer Windows XP sur la carte.

Pour le budget, c’est assez simple : il faut compter entre 50 et 100 € pour une carte RAID (certaines cartes mères intègrent directement la gestion du RAID en IDE) et environ 10 € par adaptateur. Pour les cartes, une Compact Flash de 8 Go rapide est un bon choix, avec un prix compris entre 100 et 150 €. Au final, un montage de deux cartes de 8 Go, une carte RAID et deux adaptateurs reviennent à environ 400 €, avec des performances supérieures aux SSD actuellement commercialisés.

Le matériel de test : cartes et contrôleur RAID

Pour le test, nous nous sommes procuré trois cartes Compact Flash 266x, une carte contrôleur RAID capable de travailler sur quatre canaux séparés en IDE et trois adaptateurs Compact Flash vers IDE. Analysons le matériel :

Les cartes Compact Flash

Image 5 : Un SSD à base de cartes Compact Flash, une solution viable ?

Les cartes utilisées sont des modèles de 4 Go de chez Transcend, que nous remercions pour le prêt des cartes. Ce sont des modèles 266x, qui sont fixed en mode TrueIDE. Une fois qu’elles sont branchées en IDE, les ordinateurs reconnaissent ces cartes comme des disques durs Ultra DMA 4 (66 Mo/s) de 4 Go, comme prévu. Pour se faire une idée des performances, elles atteignent environ 40 Mo/s en lecture et 35 Mo/s en écriture avec un lecteur de cartes FireWire 800.

Les adaptateurs Compact Flash vers IDE

Image 6 : Un SSD à base de cartes Compact Flash, une solution viable ?

En attendant les cartes compatibles avec le SATA en natif, la seule possibilité est d’utiliser des adaptateurs Compact Flash vers IDE. Pour le test, nous avons utilisé trois adaptateurs de chez PCengines.ch, deux utilisant une connectique IDE 40 broches et un au format 2,5 pouces. Ces adaptateurs passifs n’intègrent pas de puces de conversion, et sont compatibles Ultra DMA. Rien à redire sur le fonctionnement des adaptateurs, ils fonctionnent parfaitement tant qu’ils sont seuls sur une nappe IDE.

La carte RAID

Image 7 : Un SSD à base de cartes Compact Flash, une solution viable ?

Pour la partie RAID en IDE, nous avons utilisé une carte ACARD AEC-6897. Cette carte PCI 64 bits (ici utilisée en 32 bits, faute de carte mère compatible) dispose de quatre canaux en IDE. Elle gère le RAID0, le RAID1, le RAID 0+1 et le RAID5. Contrairement à beaucoup de cartes RAID IDE, elle dispose de quatre connecteurs et de quatre canaux indépendants, ce qui devrait permettre de travailler avec plus de deux périphériques en RAID0 sans limiter la bande passante. Nous remercions la société Acard pour le prêt de la carte, sans eux ce test n’aurait pas vu le jour.

Pour terminer, la machine de test est un Dell Dimension 9200 sous Windows XP. La carte RAID était le seul périphérique branché en PCI, pour ne pas saturer le bus.

  • Dell Dimension 9200 (carte mère à base d’Intel P965)
  • Core 2 Duo E6600
  • 2 x 1 Go PC4200 Samsung
  • nVidia Geforce 7900 GS
  • Alimentation Dell 375 W

Le seul gros défaut de ce montage vient de l’encombrement dans la tour : la carte RAID est imposante, et trois nappes IDE avec les adaptateurs au bout prennent beaucoup de place. À déconseiller aux utilisateurs qui aiment les boîtiers bien rangés.

Le test : performances synthétiques

Temps d’accès

Le temps d’accès est un des points forts de la mémoire flash. Il a ici été mesuré avec le logiciel IPEAK, qui malgré son âge vénérable (il date de 1999) est capable de donner des valeurs intéressantes et représentatives.

Image 8 : Un SSD à base de cartes Compact Flash, une solution viable ?

On peut remarquer plusieurs choses sur ce graphique : la première, c’est que la mémoire flash a un temps d’accès extrêmement faible comparé à un disque dur (ici un Western Digital de 250 Go, qui tourne à 7 200 tpm). Même un disque dur rapide comme le Raptor (meilleur disque dur grand public) ne descend pas sous les 8 ms. La deuxième chose, et c’est un point intéressant, c’est que le RAID0 n’influence pas le temps d’accès. Sur des disques durs, la synchronisation des appareils a tendance à augmenter légèrement le temps d’accès en RAID0, même si c’est généralement négligeable. Avec la mémoire flash, ce problème n’existe évidemment pas.

Quand on regarde la répartition du temps d’accès, qui permet de vérifier la différence entre temps d’accès moyen et maximal, on se rend compte que le temps d’accès des SSD ne varie pas, ce qui est logique avec de la mémoire flash.

Image 9 : Un SSD à base de cartes Compact Flash, une solution viable ?Image 10 : Un SSD à base de cartes Compact Flash, une solution viable ?
Cet avantage au niveau du temps d’accès est vraiment un plus pour les performances pratiques, un ordinateur équipé d’un SSD, même relativement lent comme le Transcend, est bien plus réactif qu’avec un disque dur.

Débit en lecture

Image 11 : Un SSD à base de cartes Compact Flash, une solution viable ?

Comme on le voit, il faut au moins deux cartes en RAID0 pour dépasser le disque dur, une seule carte ne suffit pas. Assez étonnamment, le débit est identique entre un RAID0 de deux cartes et un RAID0 de trois cartes. Nous n’avons pas trouvé de raison évidente à cette limitation, et le constructeur nous a bien assuré que les quatre canaux étaient bien indépendants. Il se peut que la carte RAID ne gère pas bien les agrégats composés de trois disques, ou que la carte soit optimisée pour le PCI 64 bits. Notons que les tests ont été effectués avec des bandes de 64 Ko, le fonctionnement en blocs de la mémoire flash posant des problèmes si on descend sous cette limite (comme expliqué dans la page précédente).

Image 12 : Un SSD à base de cartes Compact Flash, une solution viable ?Image 13 : Un SSD à base de cartes Compact Flash, une solution viable ?

Débit en écriture

Image 14 : Un SSD à base de cartes Compact Flash, une solution viable ?

Pour ce test, le disque dur n’a pas pu être testé (le programme nécessite un disque dur vide), et les performances sont similaires à celles obtenues en lecture : peu ou pas de différence entre deux et trois cartes, et une augmentation très nette entre une et deux cartes. La vitesse d’écriture obtenue en RAID est vraiment intéressante, pour rappel le SSD Samsung testé il y a quelques mois ne dépassait pas les 25 Mo/s.

Le test : performances pratiques

Mesurons maintenant les performances dans les situations d’utilisation qui intéresseront la plupart d’entre nous. Nous avons ici d’abord utilisé H2bench, qui bien qu’accusant un âge particulièrement avancé lui aussi, reste largement d’actualité de par sa méthode. Le test de performance de H2bench consiste en effet à reproduire les accès (lectures et écritures) enregistrés lors de l’exécution de diverses opérations programmées. Voyons le détail du débit obtenu.

Image 15 : Un SSD à base de cartes Compact Flash, une solution viable ?

Outre le fait que le montage à base de Compact Flash domine complètement le disque dur, le test donne aussi un indice global. Sur le SSD Samsung que nous avions testé, il était de 45 environ. Avec notre montage, il atteint pratiquement 60 (57,7). Ce test montre bien l’intérêt de la mémoire flash sur un disque dur. Plus intéressant, une Compact Flash seule atteint pratiquement les mêmes performances que le SSD de Samsung : 37.

Une partie plus subjective, l’appréciation globale

Dans le test des SSD, nous avions effectué des mesures du temps de démarrage et d’autonomie. Dans ce cas-ci, les deux tests sont caducs : on ne peut pas tester l’autonomie, car l’ensemble rentre difficilement dans un PC portable, et le temps de démarrage est grevé par le démarrage de la carte RAID (qui charge son propre BIOS) et par le temps de chargement des drivers supplémentaires. En pratique, il est un peu plus faible qu’avec un disque dur (selon Bootvis, un outil Microsoft) mais le démarrage de la carte RAID ne permet pas de gagner réellement du temps.

Maintenant, un avis plus subjectif sur l’intérêt de la solution : c’est extrêmement efficace. Le temps d’accès très faible, couplé à un taux de transfert élevé, permet de rendre n’importe quel PC très réactif. La différence entre ce montage et le SSD d’entrée de gamme que nous avions testé est visible, alors que ce dernier était déjà nettement supérieur à un disque dur. Le lancement des applications est très rapide, presque instantané, et certaines latences qui apparaissent avec un disque dur ne sont plus présentes. De plus, et ça ne gâche rien, l’ensemble reste totalement silencieux.

Remarque sur le RAID5

Initialement, nous comptions proposer des tests avec un ensemble RAID5, qui permet de sécuriser les données tout en augmentant les taux de transfert, mais nous nous sommes heurtés à un problème : la carte RAID ne propose que des bandes de 8 Ko en RAID5. Concrètement, les performances en lecture sont donc très bonnes (proches du RAID0), mais le débit en écriture est très faible : outre le fait que le processeur doit effectuer les calculs de parité nécessaire au RAID5, les bandes de 8 Ko grèvent totalement les performances en écriture, à cause de la gestion en bloc de la mémoire flash.

Le fonctionnement en bloc de la mémoire flash pose problème

Le fonctionnement par bloc de la mémoire flash peut poser problème : en simplifiant, une lecture se fait au niveau de la page (en général 2 Ko) et une écriture au niveau du bloc (souvent 128 Ko). Toutes les opérations qui travaillent sur des fichiers plus petits que ces deux limites seront donc ralenties : une écriture d’un fichier de 2 Ko prend en pratique exactement le même temps qu’une écriture d’un fichier de 128 Ko. Le RAID0 travaille en séparant les données en bandes (par exemple 64 Ko) et distribue les données sur plusieurs supports physiques, en les écrivant en parallèle. On se rend bien compte que si on travaille avec de très petites bandes (par exemple 8 Ko), les écritures seront donc particulièrement lentes, à cause du fonctionnement par blocs. Pour une efficacité correcte en RAID0, il faut donc utiliser au moins des bandes de 64 Ko (si possible 128 Ko).

Conclusion, le futur

Pour terminer ce dossier, nous allons vous donner un avis sur la technologie. Comme vous avez pu le remarquer, les performances sont bien plus élevées que celles d’un disque dur, et un ensemble RAID0 permet de pratiquement doubler les performances dans certains cas, et sans toucher au temps d’accès.

Une carte aussi rapide qu’un SSD

Plus intéressant, une carte Compact Flash seule atteint pratiquement les performances d’un très onéreux SSD Samsung. Financièrement, une carte Compact Flash de 8 Go reste abordable, tout en offrant des performances de premier ordre. Avec 8 Go, on peut envisager de l’utiliser comme disque principal avec Windows XP : la réactivité est vraiment supérieure à celle d’un disque dur, et le silence de fonctionnement est un plus appréciable. Pour les adeptes de la performance, un RAID0 de plusieurs cartes est plus performant qu’un SSD et reste dans la même zone de prix.

Ce que le test nous apprend

Ce test nous apprend surtout une chose : même si le temps d’accès de la mémoire flash est évidemment son plus gros avantage, le taux de transfert reste important. Il y a une très nette différence entre le SSD que nous avions testé (qui ne dépassait pas 20 Mo/s en lecture) et notre montage qui atteint 70 Mo/s. Ce qui veut dire que les prochaines générations de SSD devraient donc permettre d’améliorer significativement les performances.

Faut-il acheter ?

Maintenant, est-ce le moment d’acheter ? Oui, si vous voulez le silence, les performances et que subir les affres des nouvelles technologies ne vous gêne pas. Avec bien évidemment un budget élevé. Non, si vous avez la possibilité d’attendre ou que vous avez de gros besoins en stockage. C’est rapide et efficace, mais cher et limité en capacité. Et ça ne risque pas de changer avant un moment : la mémoire flash évolue, mais les disques durs aussi.

Un SSD à base de cartes Compact Flash
Ce montage est efficace, très rapide et silencieux. Par contre, il est encombrant et nécessite d’utiliser l’interface IDE, de plus en plus rare.
  • Les plus
  • Les moins
    • Les performances élevées
    • Le temps d’accès sous la milliseconde
    • Le silence de fonctionnement
    • L’encombrement dans la tour
    • Les performances très faibles en RAID5
    • La capacité reste limitée
    • Le prix de la mémoire flash