Le cas du « RAID » de SSD de l’iMac Pro

Si vous lisez quelques tests de l’iMac Pro dans la presse spécialisée, vous tomberez sûrement sur des articles qui expliquent qu’Apple utilise du RAID pour le SSD. Et pourtant, dans l’absolu, c’est faux.

Une simple recherche donne quelques exemples. Factuellement, pourtant, Apple ne parle jamais de RAID. La page de l’iMac Pro donne des débits et la capacité maximale, les communiqués n’en parlent pas non plus. Même la vidéo du keynote ne parle pas de RAID, au mieux de « dual SSD module ». D’ailleurs, le test de 01Net dit bien qu’Apple a indiqué qu’il ne s’agit pas de RAID.

A la base, le RAID n’a de toute façon pas réellement d’intérêt dans les SSD, dans le sens ou les débits (RAID 0) ou la sécurité (RAID 1, 5, etc.) peuvent être obtenus directement au niveau du contrôleur. D’un point de vue pratique, faire un contrôleur capable d’utiliser directement une partie de la mémoire pour la correction d’erreur (ou l’usure) a plus de sens que d’utiliser plusieurs SSD avec un contrôleur RAID et tous les soucis liés au logiciel. De même, il suffit d’augmenter le nombre de puces (et donc de canaux) pour augmenter les débits (c’est un peu simpliste, mais c’est globalement le cas) sans augmenter drastiquement le taux de panne. Je vois mal Apple utiliser du RAID 0 avec les contraintes classiques et les risques élevés de panne. Parce qu’en RAID 0, en plus des pannes liées à la perte d’un des deux (ou plus) SSD, il y également un risque lié au contrôleur RAID lui-même. Propose un contrôleur assez efficace pour gérer le tout seul offre un résultat aussi efficace et plus fiable.

Pourquoi cette confusion ?

Déjà, l’erreur vient de MacRumors (et de la vidéo d’OWC). Plus intéressant, le démontage d’iFixit montre que les deux modules ne contiennent que de la mémoire flash, et pas un contrôleur. Un « SSD » au sens classique du terme, c’est un périphérique de stockage avec un contrôleur et de la mémoire, relié au système par un bus (SATA, PCI-Express, etc.). Dans l’iMac, ce sont des modules de mémoire flash (la documentation de l’iMac Pro l’indique bien), le contrôleur se trouve sur la carte mère, dans la puce T2. Rien n’indique que le connecteur utilisé pour les modules utilise une interface classique, d’ailleurs : ça peut tout simplement être un câblage direct.

Les deux modules de l’iMac Pro

Au vu des performances, des composants et de la façon dont le système voit le SSD (un seul contrôleur, un seul volume), je suppose (ça reste de la spéculation) qu’il y a un seul contrôleur compatible NVMe dans la puce T2, qui se connecte aux huit puces (quatre par module dans la version 1 To) en parallèle. Ce n’est pas du RAID à proprement parler : tous les SSD font la même chose et c’est une des raisons pour lesquelles les « petits » SSD sont plus lents que ceux de grande capacité. Pour faire un SSD de 128 Go (par exemple), on va rarement prendre huit puces de 16 Go, mais plutôt deux ou quatre puces de 64/32 Go. Alors qu’avec un SSD de 512 Go, on peut (doit) mettre plus de puces. De plus, si les débits sont élevés dans l’absolu – ~3 Go/s -, ce n’est pas non plus extraordinaires : un RAID 0 de SSD modernes s’approche du double.

La documentation parle bien de « flash module »

la question cruciale, pourquoi mettre des barrettes ? On peut supposer que ça évite de devoir fabriquer une carte mère différente par type de SSD, d’abord. Ensuite, ça permet aussi une éventuelle mise à jour du SSD, tout en empêchant en partie les concurrents de proposer des SSD tiers. Par contre, comme en RAID 0, si un des deux modules tombe en panne, on perd tout. Ça peut sembler idiot, mais ce n’est pas pire (ou mieux) que sur un SSD classique : dans tous les cas, si une puce de mémoire ne fonctionne plus, on perd tout.

Les barrettes par iFixit : quatre puces de mémoire flash

Enfin, point à noter, la mémoire est chiffrée par le contrôleur qui est dans la machine elle-même. Donc déplacer les modules dans un autre iMac Pro empêche la lecture des données. C’est une sécurité à double tranchant : il devient impossible de récupérer les données sans la machine elle-même. N’espérez pas placer les barrettes dans un adaptateur quelconque pour récupérer les données.