La RAM avec parité dans les Mac

En triant mes barrettes de RAM, je suis tombé sur de la SIMM avec parité, c’est-à-dire capable de détecter des erreurs. Et je me suis posé une question : les Mac acceptent-ils ce type de mémoire ? La réponse est non… en général.

Petite explication : la mémoire avec parité contient neuf puces de mémoire pour 8 bits utiles. La neuvième puce permet en fait de vérifier la présence d’erreurs. En schématisant, le neuvième bit contient un 0 quand la somme des bits à 1 est paire et un 1 quand cette somme est impaire. Un changement de valeur du neuvième bit indique une erreur. La mémoire avec parité ne corrige pas les erreurs : elle ne fait que les détecter (en indiquant, par exemple, une erreur). Elle n’empêche pas l’ordinateur de planter mais permet de prévenir en cas d’erreur. Son principal défaut vient du fait qu’il y a une chance sur neuf qu’une erreur aléatoire touche le bit de parité, qui indiquera donc une erreur… qui n’existe pas. La mémoire avec parité avait le gros désavantage d’être un peu plus onéreuse que la mémoire classique : elle nécessitait neuf puces au lieu de huit. De plus, forcément, la mémoire avec parité ralentit un peu les transferts : le système doit vérifier la parité.

Une barrette avec parité (en bas) et une sans parité (en haut) avec l’emplacement vide

Les ordinateurs récents (Mac Pro, le futur iMac Pro, etc.) utilisent eux de la mémoire ECC, capable de détecter et corriger une erreur et de détecter (mais pas corriger) deux erreurs. Quelques Mac modernes supportent la mémoire ECC, mais ça reste assez rare.

La parité dans les Mac

Par défaut, aucun Mac ne supporte la mémoire avec parité. Mais en réalité, il existe un modèle compatible dans certains cas : le Macintosh IIci. Selon les fiches techniques d’Apple, il existe en effet deux versions de la carte mère : une avec une puce qui gère la parité et une sans cette puce. De ce que j’ai pu voir, la variante sans la puce est nettement plus courante. Visiblement, la version avec parité impose de la mémoire avec parité, ce qui semble logique. Je ne sais pas du tout si Mac OS supporte ce type de mémoire et comment la machine réagit en cas d’erreurs, par contre, mais j’imagine qu’elle plante en indiquant la raison exacte de l’erreur. De ce que j’ai pu trouver, Apple a intégré le support parce que certains appels d’offres de l’époque imposaient le support de la mémoire avec parité.

Le Macintosh IIci peut supporter la mémoire avec parité