Diagnostiquer une erreur de mémoire RAM

Pour prolonger la durée de vie d'un ordinateur et éviter de le jeter, on peut agir tout simplement sur ses composants. Ceux-ci doivent être choisis avec précaution, car les technologies informatiques évoluent très rapidement.

L'exemple relaté ici est celui d'un ordinateur portable pour lequel il a fallu ajouter 1 Go de mémoire vive afin de le booster un peu dans sa vie courante. L'ajout du module mémoire a entraîné des problèmes techniques sérieux au point de rendre l'ordinateur inutilisable.

Ce tutorial a pour objectif d'expliquer ce qui s'est passé. Le diagnostic réalisé a révélé qu'il s'agissait bien d'une panne matérielle du produit nouvellement acheté.

Audience concernée

Aujourd'hui en 2024, votre ordinateur est généralement une bête de course surdimensionnée par rapport à vos besoins. Il est d'ailleurs probable que vous n'aurez jamais l'opportunité de lui ajouter une extension de mémoire. Dans ce cas, ne lisez pas cet article qui ne vous concerne pas.

Si au contraire, vous souhaitez reporter une grosse dépense informatique inutile, prolonger la vie de votre équipement et résoudre vos problèmes techniques, alors vous pouvez continuer la lecture.

Cet article a été rédigé dans le cadre d'une opération de dépannage informatique. Il peut donc intéresser quiconque aime ouvrir l'ordinateur d'autres personnes.

Besoin initial

La personne souhaitait améliorer les performances de son ordinateur sans le changer en raison de contraintes financières et de continuité immédiate de service (aucune logique de long terme).

Ses caractéristiques sont les suivantes :

  • Année 2005
  • Windows XP (non maintenu depuis le 8 avril 2014)
  • 512 Mo de mémoire vive de base, extensible jusqu'à 2 Go
  • Intel Pentium M 1,73 GHz Centrino mono-core (fabrication arrêtée en 2007)
  • 80 Go d'espace disque

Cet ordinateur est opérationel au quotidien et permet de réaliser les actions classiques du grand public : bureautique, surf sur Internet, networking, jeux simples... Mais au fil des années, les logiciels ont été de plus en plus gourmands en ressources. Aujourd'hui, l'ordinateur est lent, non pas à cause de puissance, de virus ou de fragmentation du disque dûr, mais à cause du swap.

La mémoire est un élément essentiel de l'ordinateur, car c'est ce qui lui permet d'exécuter des logiciels. Lorsque ceux-ci requièrent de la mémoire vive et qu'il n'y en a pas assez disponible, alors l'ordinateur transfère temporairement les données inutilisées vers le disque dûr. Lorsque ces données redeviennent utiles, cette mémoire sur le disque dûr est rappatriée dans la mémoire vive. On appelle ça le "swap" et c'est particulièrement long, car il y a un temps d'accès au disque dûr. Ce n'est pas juste de l'électricité qui change d'état dans un circuit électronique, alors le temps se compte en millisecondes qui s'accumulent...

Le besoin est donc de remédier à ce problème grâce à une extension de mémoire et à un nettoyage de printemps des fichiers inutilisés.

Si vous utilisez Windows XP, il est important de noter qu'il vous faut au maximum 2,5 fois la taille totale de votre mémoire vive en espace disque. Dans notre exemple, il nous faut 3,75 Go d'espace disque (contre 1,3 Go auparavant) réparti comme suit :

  • c:\hiberfil.sys : 1 taille totale pour hiberner l'ordinateur. En cas de faiblesse de la batterie par exemple, la mémoire vive sera transférée vers le disque dûr. Lorsque l'ordinateur sera rallumé, vous retrouverez votre ordinateur dans l'état avant qu'il ne s'éteigne. En fait, la mémoire vive n'étant pas une mémoire durable, si vous coupez le courant, elle se volatilise.
  • c:\pagefile.sys : de 1 à 1,5 taille totale pour la mémoire virtuelle. Cette mémoire est facultative mais hautement recommandée. Si vous avez un pic de consommation de mémoire mais pas de place allouable, alors le swap ne se produit pas et vos applications tombent en échec, car elles ne peuvent plus traiter les données. Avec la mémoire virtuelle, vous avez une meilleure prise en charge des applications.

Idéalement pour éviter tout problème, la mémoire virtuelle doit être gérée par le système d'exploitation. C'est le cas sur l'exemple suivant :

Réglage de la mémoire virtuelle

L'ordinateur datant de quelques années, l'extension de mémoire ne peut se faire qu'au travers d'une mémoire DDR1-333 SO-DIMM PC2700 (survolez les désignations pour accéder à leur description). Il faut se référer au guide d'utilisation de votre ordinateur qui précise les modèles à utiliser. Ce produit n'existe plus vraiment à l'état tout neuf, car la technologie est obsolète. Néanmoins, il est généralement garanti à vie, si ce n'est pas 30 ans. Il peut accueillir jusqu'à 1 Go par barrette, ce qui est largement suffisant considérant qu'un Windows XP de base se suffit avec 200 Mo de mémoire vive.

Mémoire DDR1 PC2700 (Corsair VS1GSDS333G)

Cet investissement peut paraître cher, mais il ne faut pas oublier que les ordinateurs faillissent généralement par leur disque dûr, leur écran ou l'alimentation électrique (surchauffe, condensateurs...). Enfin, un ordinateur est comme une voiture : il est côté. Avec la loi de Moore, la technologie double en 18 mois. Au bout de quelques années, on peut considérer qu'elle a été multipliée par 64. Ce n'est donc sûrement pas pour rien que le constructeur propose la somme suivante pour la reprise éventuelle de l'ordinateur :

Valeur de reprise

Installation du module mémoire

Le manuel utilisateur précise qu'il y a deux emplacements disponibles : un sous le clavier (512 Mo) et un sous une trappe accessible par l'extérieur (vide). Le démontage du clavier étant compliqué en raison des parties plastiques solidement fixées, on se contentera de changer uniquement la mémoire accessible par la trappe extérieure. Ca limite à 1,5 Go au lieu de 2 Go, mais c'est déjà largement suffisant.

Avant de placer l'extension de mémoire, il est important de tout débrancher et d'ôter la batterie. L'ordinateur ne doit plus avoir la moindre alimentation électrique pour assurer la réinitialisation complète de l'ensemble.

Il faut également arrêter Windows/Linux à l'aide de l'option "Arrêter" et surtout pas à l'aide de la "Veille" ou la "Veille prolongée". En effet, c'est uniquement au démarrage à blanc de Windows que la détection de la mémoire se déroule.

Démontez le cache arrière à l'aide d'un tournevis cruciforme. La fixation de la barrette se fait à 45° puis vous basculez à plat. Deux clics se font entendre de chaque côté de la barrette. N'oubliez pas de refermer le couvercle pour reconnecter les parties électriques de la masse.

Il n'est pas possible de se tromper de technologie en insérant la barrette de mémoire. En effet, au niveau des contacts électriques, il y a un détrompeur. Celui-ci est différent selon que vous avez de la DDR1, DDR2, DDR3...

Lancement de l'ordinateur avec l'extension de mémoire

Le BIOS est un logiciel qui est sauvegardé dans une mémoire spéciale (dite "morte" mais pas tout à fait) de la carte mère de l'ordinateur. C'est lui qui lance l'ordinateur. Une fois le système d'exploitation (operating system "OS": Windows, Linux...) chargé à partir du disque dûr, tout se passe en mémoire vive et l'OS gère tout.

Si vous allez dans l'écran de configuration du BIOS, la taille totale attendue de la mémoire vive est détectée :

Taille de la mémoire vue du BIOS

Seulement après quelques minutes d'utilisation, un écran mortel apparaît. Il s'agit ici du plantage de Windows via un "Blue Screen Of the Death" (BSoD).

Ecran bleu de la mort sous Windows

Cet écran est impressionant, mais en réalité il est nécessaire dans votre intérêt. Pour éviter la corruption des données, Windows préfère cesser toute activité que de risquer d'aggraver la situation. Il faut alors redémarrer l'ordinateur pour réinitialiser le système.

Il est amusant de constater que ce bug se présente en de multiples variantes :

DRIVER_IRQL_NOT_LESS_OR_EQUAL, code 0x000000000A

DRIVER_IRQL_NOT_LESS_OR_EQUAL, win32k.sys, code 0x000000000B

DRIVER_IRQL_NOT_LESS_OR_EQUAL, ntfs.sys, code 0x0000000024

PAGE_FAULT_IN_NON_PAGED_AREA, ntfs.sys, code 0x0000000050

STOP, code 0x000000008E

Vous avez ensuite la délicate surprise de voir que votre ordinateur ne redémarre plus. Pour corriger cela, il suffit de débrancher le courant et la batterie pour effacer le contenu des mémoires vives.

Phase d'information

Tout d'abord, force est de constater que ce n'est pas un moteur de recherche américain basé sur la popularité des pages qui vous aidera à trouver la moindre information précise sur des sujets techniques très particuliers. C'est d'autant plus vrai si vous recherchez en français qui renvoie 10 fois moins de résultats que l'anglais.

Sur le site anglophone SoftwareTipsAndTricks, une première piste de réflexion mène vers le réglage de la mémoire virtuelle. Cela se tient, car l'ordinateur était livré de base avec des réglages fixes non adaptés à la nouvelle configuration. Malheureusement, même en laissant le système gérer la taille de la mémoire virtuelle, ces problèmes continuent de se produire.

En y regardant bien, l'écran bleu n'apparaît pas tout de suite. Il survient dès lors que le besoin en ressources mémoire dépasse les 512 Mo. Utiliser une extension de mémoire, c'est comme avoir une table de salon extensible : la table apparaît comme un seul bloc fonctionnel mais physiquement, on a plusieurs modules indépendants. L'ordinateur vivait très bien avec 512 Mo. Dès qu'il a voulu adresser plus de 512 Mo de mémoire, alors les logiciels ont commencé à planter les uns après les autres.

La conclusion est que le module mémoire est physiquement défaillant. Si une application est chargée dans un emplacement mémoire qui ne restitue pas la valeur qu'on lui a attribué, alors cela revient à exécuter une application "génétiquement modifiée" à la volée. En cas d'erreur du code exécutable, le système ne comprend plus et il s'arrête. C'est d'autant plus fatal si le logiciel en question est le système d'exploitation lui-même.

Pour valider cette hypothèse, il est nécessaire d'avoir un outil pour tester que la mémoire restitue correctement les données qu'on lui demande de stocker. Cet outil existe, il s'agit de MemTest86+. Il ne doit pas être confondu avec un homonyme, c'est bien la version "+" qui nous intéresse.

Principe de fonctionnement de MemTest86+

Pour tester la mémoire, il est nécessaire que celle-ci soit quasiment libérée en intégralité. Autrement dit, il faut que le système d'exploitation ne soit pas chargé. Mais comment peut-on tester la mémoire avec un logiciel s'il n'y a aucun système d'exploitation en fonctionnement pour l'exécuter ?

C'est très simple. Les créateurs de MemTest86+ ont tout simplement écrit un logiciel qui permet d'être lancé avant le système d'exploitation habituel. Le logiciel est gravé sur CD. Au démarrage de l'ordinateur, vous sélectionnez une séquence de lancement à partir du CD et non pas à partir du disque dûr. Le BIOS détecte votre CD et lance le programme contenu dedans. Ce dernier gère l'affichage, le clavier et bien sûr le test de la mémoire. Votre système d'exploitation habituel n'est pas exécuté, c'est comme si vous aviez déconnecté votre disque dûr.

Lorsque tout va bien, l'interface de MemTest86+ est très simple. Une fois le test passé, vous avez " Pass complete, no error, press ESC to exit".

Ecran de MemTest86+

Bien entendu, il est nécessaire d'avoir un minimum de mémoire vive utilisable, car il faut bien que le logiciel se lance. Il ne prend que 2 Mo. C'est donc très minime par rapport aux 200 Mo nécessaires de Windows XP. Ensuite, le logiciel scanne tous les emplacements de la mémoire un par un en vérifiant que la valeur de retour est bien celle qui a été stockée. En cas d'erreur, le détail s'affiche à l'écran.

Adresser de la mémoire

Dix scénarios sont prévus lors du test, car le logiciel ne se contente pas de tester si 1=1 et 0=0. En fait, il copie des zéros, des uns, des numéros aléatoires, et il teste l'adressage. Il est important que la barrette de mémoire satisfasse 100% du test. Il est absolument rédhibitoire d'avoir le moindre bit de mémoire défaillant sur cette catégorie de produit. Et n'oublions pas que le constructeur prévoit une garantie à vie.

Dans la pratique, il est possible d'avoir des erreurs de mémoire mais seulement avec des mémoires vives ECC (ce n'est pas le cas ici). Cette technologie est à base de formules mathématiques logiques qui retrouvent et corrigent les erreurs automatiquement. Elle coûte très cher et n'est pas adaptée au grand public que nous sommes. Les entreprises hébergeant des applications sensibles en ont l'utilité, notamment dans le secteur de la banque.

Exécution du test

Lorsque le test s'effectue sur les 512 Mo de base de l'ordinateur, on n'obtient aucune erreur. La capture d'écran associé est celle ci-dessus. Sur le côté de l'image vous voyez "Memory : 511 Mo" (la taille totale).

Mais en effectuant le même test avec l'extension de mémoire branchée, le résultat est tout autre :

Erreur de mémoire révelée par MemTest86+

Sur la première ligne visible à l'écran, on comprend que le programme a stocké le chiffre 4294967295 (0xFFFFFFFF en notation hexadécimale) sur le 786 millionième octet de la mémoire, mais qu'il est revenu comme valant 16777215 (0x00FFFFFF en notation hexadécimale). Par conséquent, l'information a été perdue, modifiée, corrompue...

Il y a plus de 900 erreurs à l'écran et le logiciel MemTest86+ est même planté, car il ne répond plus. Ces signes ne trompent pas : la barrette de mémoire garantie à vie est effectivement défectueuse. Cela suffit à justifier les pannes logicielles.

Après un retour après-vente, une nouvelle barrette est réceptionnée et immédiatement testée afin de ne pas perdre de temps. Après 30 minutes de traitement, le logiciel MemTest86+ renvoie une validation positive du produit conforme aux attentes. Les 1535 Mo de mémoire (coin supérieur gauche de l'image) sont confirmées d'un "Pass complete" :

Erreur de mémoire révelée par MemTest86+

Conclusion

Ce dépannage aura duré assez longtemps pour comprendre l'évidence que le problème venait bel et bien de la barrette de mémoire, et non de l'ordinateur lui-même. Les outils à disposition ont pu valider de manière certaine qu'il s'agissait d'une panne matérielle plutôt rare pour ce type de produits.

Le CD gravé de MemTest86+ reste à garder dans la panoplie des "Rescue CD". Lors d'un précédent problème, un tel CD avait permis la sauvegarde des données d'un disque dûr auquel Windows refusait l'accès via un écran bleu de la mort (jamais élucidé).

Aux dernières nouvelles, l'ordinateur doté de sa rallonge de mémoire se porte comme un charme pour environ 35€ et quelques sueurs. [ndlr 2023: le PC est mort 3 ans plus tard pour cause électrique]

La procédure reste valable sur les PC modernes mais elle prend plus de temps en raison de la taille croissante de la mémoire vive (plusieurs Go au lieu de 1.5 Go dans cet article).

Avez-vous trouvé l'information que vous cherchiez ? Votre retour d'expérience sur le site nous intéresse.

Dernière modification le 12 juillet 2015 à 18:29