Il y a 30 ans, le 1er novembre 1994, SunDisk (sans faute de frappe) lançait les premières cartes CompactFlash. Et c’est un moment important, ne serait-ce que parce que 30 ans plus tard, on peut encore en acheter.
Les premières cartes avaient une capacité de 15 Mo (et des cartes avec une capacité plus faible existent) et les dernières générations, avec la même interface, atteignent 512 Go. Comme la norme est en voie de disparition tout de même, les cartes de 512 Go ne se trouvent pas nécessairement, mais elles existent.
Le CompactFlash est en fait parti avec un gros avantage sur les autres formats apparus dans les années nonante : il n’est pas réellement propriétaire. SunDisk (devenu Sandisk plus tard) a en fait proposé une version miniature du PCMCIA, lui-même dérivé de l’ISA. Et comme l’IDE des disques durs dérive aussi de l’ISA, une carte CompactFlash est virtuellement l’équivalent d’un disque dur. C’était intéressant à l’époque : on pouvait – et on peut toujours – remplacer un disque dur par une carte CompactFlash avec un adaptateur passif.
Il y a quelques différences pratiques tout de même : les cartes CompactFlash s’annoncent comme amovible au système et certains OS vérifient ce point. Typiquement, un Windows XP ne voudra pas mettre son fichier d’échange sur une carte CompactFlash classique. Il existe des cartes dites fixed (qui s’annoncent comme un disque fixe), mais elles se retrouvent plutôt dans le domaine industriel, pour remplacer les disques durs. En pratique, on peut modifier certaines cartes et un utilitaire pour les cartes Sandisk existe et se trouve assez facilement : il permet de simplement changer la valeur du flag. C’est une technique que j’utilise dans mon vieux PC qui sert aux tests sous Windows 98 : une carte CompactFlash correcte en mode fixed.
Question histoire, la norme a d’abord été employée dans les PC industriels pour remplacer un disque dur dans les cas où la capacité réduite de la mémoire flash était suffisante. Les premiers appareils photo compatibles date de 1996 environ, notamment chez Kodak. Il ne s’agissait pas nécessairement d’une nouveauté pour les fabricants : certains modèles employaient déjà l’interface PCMCIA pour le stockage, et le CompactFlash est essentiellement une version miniature.
Une interface rapide
Comme les cartes CompactFlash dérivent de de l’IDE en partie, elles ont pu profiter avec le temps de certaines des évolutions de la norme. Au fil des années, on a vu des cartes UDMA-4 (66 Mo/s), UDMA-5 (100 Mo/s), UDMA-6 (133 Mo/s) et même UDMA-7 (166 Mo/s). C’est une évolution de l’IDE qui a été réservée aux cartes : dans les disques durs, on trouve quelques modèles UDMA-6, mais ils sont rares. Et les contrôleurs IDE des PC, dans la majorité des cas, se limitent à l’UDMA-5. Je parle ici de la vitesse maximale de l’interface : les CompactFlash, comme les disques durs, saturent rarement l’interface. Petit truc à savoir, les vitesses données en « x » sur les carts CompactFlash sont liées aux CD-Rom : la base de calcul est la même, soit 150 ko/s pour du 1x.
La compatibilité est globalement assurée, par ailleurs. Alors que les cartes SD et ses évolutions (SDHX, SDXC, etc.) ont une compatibilité assez aléatoire, on peut mettre une vieille carte CompactFlash dans un appareil moderne ou le contraire dans une certaine mesure. Dans un très vieil appareil, on risque d’avoir quelques limites de l’IDE (8 Go et 128 Gio) mais une carte moderne de 8 Go doit passer dans pas mal de vieilleries… tant que le FAT32 est pris en charge.
Une interface versatile
Le CompactFlash ne se limite pas au stockage. Comme l’interface dérive du PCMCIA, il existe des cartes d’extension en CompactFlash. La bande passante est assez faible vu qu’on est dans un équivalent de l’ISA (une interface 16 bits) mais pour les périphériques lents – modem, Ethernet, GPS, etc. -, c’était suffisant. On a vu aussi pas mal de cartes Wi-Fi à une époque – j’en ai testé – parce qu’il était assez facile de partir d’une carte PCMCIA de l’époque pour la réduire.
Les cartes s’intègrent aussi assez facilement dans les PC portables un peu anciens pour échanger des données. Avec un adaptateur PCMCIA (passif) ou CardBus (actif), on peut transférer des données et même directement démarrer sur une carte CompactFlash.
Dans les trucs amusants que j’ai pu faire avec une carte CompactFlash au fil des années, il y a la reprogrammation du firmware, pour modifier certains réglages.
Microdrive et interface USB
les constructeurs ont parfois fait des trucs un peu bizarres avec les cartes CompactFlash. Le plus connu, c’est le Microdrive : à la fin des années nonante, IBM a profité de la parenté du format CompactFlash avec l’IDE pour proposer un disque dur, le Microdrive. C’est un disque dur de la taille d’une carte CompactFlash (un peu épaisse, Type II, 5 mm contre 3,3 mm en Type I) qui a comme principal avantage la capacité. Vers 2000, on avait une capacité de 340 Mo ou 1 Go quand les cartes à base de mémoire flash offraient quelques dizaines de Mo au mieux. Un Microdrive, c’est lent, un peu fragile et audible, mais c’était surtout moins cher.
Je l’avais un peu développé là, Apple a utilisé un Microdrive dans l’iPod mini au début des années 2000, en vendant son baladeur moins cher que le Microdrive seul. Mais il y a une petite astuce : les Microdrive OEM (en gros, ceux intégrés dans un périphérique) sont généralement bridés pour ne fonctionner qu’en mode IDE (TrueIDE) et certains appareils photo ou lecteurs de cartes mémoire n’acceptent que le mode CompactFlash, un peu différent.
Dans les autres trucs un peu bizarre, on peut noter les cartes CompactFlash USB Enabled de Lexar : un lecteur spécifique (très basique) permettait d’activer un contrôleur USB intégré dans les cartes, en plus des protocoles standards.
Autre trucs plus lié à ce site, il existe des prototypes de Mac avec un lecteur de cartes CompactFlash. Apple avait visiblement prévu d’en mettre un dans l’iMac G5 en 2005 et les traces existent encore sur les cartes mères. La version commerciale n’en a pas et Apple a finalement abandonné cette voie avant d’y revenir un peu plus tard avec un lecteur de cartes SD, qui a été proposé de temps en temps sur les Mac. Il y a avait tout de même une belle icône de CompactFlash dans Mac OS X.
Les usages plus ou moins modernes
En 2024, les cartes CompactFlash ne sont plus utilisées dans les appareils photo modernes, mais on trouve encore pas mal de réflexes équipés, qui ne sont pas obsolètes. Mais les cartes servent en réalité essentiellement à remplacer les disques durs des ordinosaures et (parfois) des iPod. Dans les PC des années nonante, il est en effet plus simple d’installer une carte CompactFlash de quelques gigaoctets avec un adaptateur passif que de trouver un SSD en IDE ou de mettre un SSD SATA avec un adaptateur. A partir du début des années 2000, le SSD devient plus intéressant pour des raisons de coût : les cartes CompactFlash sont plus onéreuses.
Dans les iPod, même chose : c’est assez simple pour les modèles de la 1re à la 4e génération environ, avec des cartes d’une capacité du même ordre que les disques durs. C’est même très simple dans les iPod mini, vu que l’interface interne est du CompactFlash. Dans les modèles de 5e génération et plus, il est plus simple de mettre des adaptateurs SD, parce que les cartes ont un meilleur rapport capacité/prix pour remplacer des disques durs de 80 ou 160 Go.
La suite du CompactFlash
Dans la pratique, les cartes CompactFlash ont enterré les cartes SmartMedia, xD, MMC ou Memory Stick. Le seul concurrent valable dans ce domaine a été le format SD, qui continue à évoluer. Les cartes ont évolué avec le temps, d’ailleurs. Premièrement, il existe des cartes CFast, qui sont essentiellement des cartes CompactFlash dont l’interface IDE (PATA) a été remplacée par une interface SATA. La norme n’a pas eu tellement de succès, mais elle était tout de même nettement plus rapide que celle qui précédait : 600 Mo/s en théorie contre 166 Mo/s. En 2024, le successeur officiel porte le nom de CFexpress. C’est un format qui dérive du XQD de Sony physiquement, et qui est l’équivalent d’un SSD PCI-Express NVMe. L’association qui gère les cartes CompactFlash a repris le format de Sony et son interface physique en PCI-Express, mais en passant sur le protocole NVMe (un standard) plutôt que le protocole propriétaire de Sony.