16 Go de RAM dans un MacBook de 2010 (ou presque)

Ajouter de la RAM dans un Mac, c’est quelque chose qui ressemble de plus en plus au passé. Et quand je me suis lancé dans l’installation de 16 Go de RAM dans un MacBook de 2010, je pensais que ce serais simple. J’avais tort.

Premier truc à savoir, en dehors du fait que les Mac ne peuvent plus que rarement être mis à jour, Apple donne parfois des limites fantaisistes pour la quantité maximale de RAM. Une page chez OWC indique la valeur annoncé par Apple (4 Go dans le cas de mon MacBook) et la valeur maximale (16 Go). La différence peut venir de beaucoup de choses, d’une mise à jour de l’EFI en passant par la sortie de barrettes de RAM plus denses. Apple met rarement à jour la quantité maximale de RAM après la sortie des machines, donc la valeur peut évoluer.

Le cas du MacBook de 2010 (ainsi que le MacBook Pro 13 pouces et le Mac mini de la même année) vient de la possibilité de passer à 16 Go de RAM (en DDR3) alors que les MacBook Pro 2010 se limitent à 8 Go. La raison est technique : les premiers utilisent un chipset nVidia (MCP89, GeForce 320M), les second le contrôleur mémoire du processeur. La puce nVidia gère les barrettes de 8 Go, pas celle d’Intel. Par contre, il y a une limite : les modèles équipés d’une puce nVidia nécessitent de la RAM à 1 066 MHz.

C’est là que j’ai eu mon problème : beaucoup de barrettes de RAM ne fonctionnent tout simplement pas à 1 066 MHz. Plus exactement, elles peuvent fonctionner, mais ne l’indiquent pas au système (ici l’EFI). Sur les Mac en question, si la mémoire ne contient pas les paramètres pour la fréquence en question, ça ne fonctionne pas. Toutes les barrettes de RAM contiennent une petite zone de mémoire non-volatile (le SPD) qui contient les paramètres et elles indiquent assez logiquement leur fréquence maximale (1 333, 1 600, 1 866, etc.). Mais l’EFI du Mac, lui, attend 1 066 MHz, sans lire le reste des données (ou d’autres informations).

La première solution, simple, consiste à mettre une barrette de DDR3 compatible (celle d’origine, par exemple) en plus de la barrette de 8 Go. Ça donne un total de 12 Go et ça fonctionne : le chipset se cale sur la mémoire à 1 066 MHz. C’est ce que j’ai fait dans mon Mac mini et (spoiler) dans le MacBook.

12 Go

La seconde, plus intéressante, consiste à flasher la RAM. Plus exactement à modifier la mémoire SPD pour ajouter les bons paramètres. Oui, on peut flasher de la RAM. Plus exactement la zone dont je parlais (le SPD). Mais, car il y a un mais, il faut que la barrette accepte la réécriture de la zone. Malheureusement, c’est assez rarement le cas. En pratique, les barrettes de Kingston et Corsair acceptent visiblement la réécriture alors qu’avec les autres marques, c’est variable mais généralement protégé. Dans mon cas, des barrettes G.skill, impossible.

La méthode

Voici la méthode théorique, que je n’ai pas testé totalement pour deux raisons : mes barrettes de 8 Go sont protégées et le logiciel (Thaiphoon Burner) est payant pour écrire. Je payerais si je trouve une barrette à modifier un jour (c’est 16 $ en version personnelle). Mais ça fonctionne a priori, ces deux exemples le prouvent.

Première chose, il faut que la machine démarre avec la barrette à flasher, et sous Windows. Il est en théorie possible de lancer un Live Windows mais je n’ai pas réussi. Avec Windows 7 sur le MacBook 2010, pas de soucis. Ensuite, il est possible d’utiliser la version gratuite de Thaiphoon pour tester, sa seule limitation importante ici est de ne pas écrire.

Il faut se rendre dans le menu EEPROM, puis choisir PSW Protection. Le logiciel va indiquer si la mémoire est protégée (ou pas). Dans l’image, la première barrette est protégée, la seconde (d’origine) ne l’est pas. Si la mémoire n’est pas protégée, il sera possible de la flasher avec la version payante du logiciel.

La mémoire est protégée

Ensuite, il faut lire la mémoire (bouton Read), ce qui va afficher les informations contenues dans le SPD.

Les informations sur la barrette

Enfin, avec le bouton Editor, il faut lancer l’éditeur (logique) et modifier la valeur Min SDRAM Cycle Time. Par défaut, elle indique la fréquence nominale de la mémoire, il faut la forcer sur la valeur 15, qui donne 1 066 MHz. Ça ne change a priori rien pour un usage dans un PC, qui va permettre de régler manuellement la fréquence dans la majorité des cas.

Avant (10, 1 600 MHz)


Après (15, 1 066 MHz)

Je me suis arrêté là, mais l’étape suivante consiste donc à flasher le SPD… et c’est tout. Ça devrait ensuite démarrer sans soucis sur un Mac. Tout ça pour arriver à ma configuration finale : mon Mac mini 2010 avait 12 Go, il en possède maintenant 16. La barrette de 8 Go déjà présente était une version compatible, donc ça fonctionne avec une autre barrette. Sur le MacBook, je suis passé à 12 Go : une barrette de 4 Go compatible et une barrette de 8 Go incompatible.

Avant (8 Go)


Après (16 Go)