Mémoire ECC… ou pas ?

Récemment, j’ai joué avec de la mémoire et des vieilles machines un peu capricieuses. Et dans mes essais, j’ai voulu mettre de la mémoire ECC (correction d’erreur) issue d’un Xserve dans un Power Mac G5. Bien évidemment, ça ne fonctionne pas. Mais est-ce vraiment si évident ?

En fait, non. Dans une partie des cas, il est possible d’installer de la mémoire ECC dans des machines vendues avec de la mémoire classique, ou le contraire.

Commençons par les Power Mac G5. Il y a plusieurs cas : les modèles de 2005 qui utilisent de la mémoire DDR2 peuvent utiliser au choix de la mémoire classique ou de la mémoire ECC, bien évidemment sans mélanger les deux types de barrettes. Sur les autres modèles, mon expérience personnelle (sur deux modèles) le fait dire que ça ne fonctionne pas, mais la documentation Apple indique — sans préciser le modèle — que les Power Mac G5 en DDR peuvent utiliser de la mémoire ECC mais en mode classique.

Pour les Xserve, je n’ai pas trouvé d’exemples. Ils utilisent tous de la mémoire ECC et je doute que des gens s’amusent à installer de la mémoire classique dans un serveur. Je pourrais essayer, mais j’ai la flemme de brancher mon Xserve G5 (et de trouver une carte graphique PCI dans mon bordel bureau).

Pour les Mac Pro, trois possibilités. Pour les modèles de première génération, qui utilisent de la FB-DIMM, la question ne se pose pas : la FB-DIMM effectue toujours de la correction d’erreur à ma connaissance. Pour les Mac Pro en DDR3, livrés avec de la mémoire ECC, il est parfaitement possible d’installer de la mémoire classique. Apple ne l’indique généralement pas clairement, mais ça fonctionne. On peut donc installer n’importe quelle barrette de mémoire DDR3 tant qu’elle atteint les bonnes fréquences (et évidemment sans mélanger mémoire ECC et mémoire classique). Pour le Mac Pro 2013, je n’ai pas trouvé de réponse, mais il devrait être a priori possible d’installer de la mémoire DDR3 classique.

Maintenant, la mémoire ECC est-elle obligatoire ? dans un contexte professionnel, pour une machine qui va faire office de serveur critique ou qui va effectuer des calculs importants, la mémoire ECC a de l’importance. J’ai trouvé quelques études qui montrent que les erreurs sur la mémoire sont assez courantes dans l’absolu : avec 2 Go de RAM (une valeur faible en 2015), il y a ~96 % de chances d’avoir une erreur de bits dans un intervalle de 33 à 600 jours. Soit dans l’absolu, la possibilité d’avoir plusieurs erreurs par an sans ECC, spécialement si vous avez plus de 2 Go de RAM. Avec de la mémoire ECC, vous avez une chance sur six milliards d’avoir une erreur dans le même temps. Un exemple concret ? En Belgique, en 2003, il y a eu une différence de 4 096 votes lors d’élections à Schaerbeek, avec du vote électronique. C’est visiblement les rayons cosmiques qui ont modifié la valeur d’un bit dans l’ordinateur utilisé pour voter, ce qui montre bien l’intérêt de la mémoire ECC.