3 votes

Pourquoi l'iMac ne permet-il pas la vérification des erreurs de parité de la mémoire ?

Sur la base de cette page de support Apple les iMacs (en particulier le 5K 2014 que je viens de commander) ne supportent pas le contrôle de parité sur la mémoire. D'après d'autres articles, il semble que l'ECC ne soit pas pris en charge non plus.

Je trouve cela surprenant. S'il y a une erreur de mémoire, l'ordinateur poursuit son chemin, propageant l'erreur jusqu'à ce qu'elle provoque une autre exception détectable (comme l'accès à une adresse mémoire invalide ou l'exécution d'une instruction invalide). Mais il se peut que ce ne soit pas le cas, et que cela se traduise simplement par des données incorrectes ou corrompues.

Je fais souvent de grandes simulations numériques, pour lesquelles une telle erreur ne provoquerait probablement pas de plantage, mais pourrait probablement se propager jusqu'à une erreur importante dans le résultat.

Vous n'avez même pas besoin d'un rayon cosmique pour obtenir une erreur. La volonté d'emballer à des densités de plus en plus élevées entraîne inévitablement des vulnérabilités, comme le martèlement des rangées. Une étude a mesuré un taux moyen de quatre erreurs par an et par DIMM.

Quelle est la raison pour laquelle il n'y a pas de contrôle de parité ? Je peux comprendre que l'ECC puisse ralentir un peu les choses et coûter plus cher, mais au moins une erreur de parité détectée pourrait faire tomber le système au lieu de propager une erreur silencieusement. 65 bits au lieu de 64 bits serait un prix très faible à payer. Même s'il serait logique pour un consommateur de ne pas avoir de contrôle de parité, j'aimerais au moins avoir la possibilité de remplacer la mémoire pour obtenir un contrôle de parité. Il semble que même la norme DDR3 ne prenne pas en charge le contrôle de parité, mais uniquement l'ECC.

0 votes

Ce n'est pas un petit prix à payer. Seuls les processeurs Intel Xeon prennent en charge l'ECC.

5voto

user71659 Points 685

Ce n'est pas du tout spécifique à Apple. Tout d'abord, pourquoi utiliser l'ECC (72 bits) plutôt que la parité ? Tout simplement parce que les puces DRAM sont fabriquées dans des largeurs de données de 4, 8 ou 16 bits depuis des décennies. L'ECC vous permet simplement d'ajouter une autre puce de base, au lieu de fabriquer une puce spécifique de 5 bits à faible volume. De plus, lorsque vous avez la parité, vous ne pouvez corriger aucune erreur, donc tout ce que vous pouvez faire est de planter l'ordinateur lorsqu'une erreur est détectée. L'effet net est donc de provoquer davantage de pannes d'ordinateur, même si l'erreur se trouve dans une partie de la RAM qui n'est pas utilisée.

Il y a deux raisons pour lesquelles Apple ne peut pas mettre l'ECC. La première est que le contrôleur de mémoire intégré qu'Intel installe ne prend pas en charge l'ECC pour obliger les fabricants de stations de travail/serveurs à acheter la gamme Xeon, plus chère. Vous pouvez vérifier les processeurs supportés par ECC sur le site Intel ARK . Vous voyez qu'il n'y a que des Xeons et des processeurs bas de gamme (marché des appareils serveurs), mais aucun dans la gamme des Core i5 ou i7.

Deuxièmement, le Brochage SO-DIMM manque simplement de broches de données pour le bus 72 bits afin de réduire la taille pour les ordinateurs portables. Le routage du bus mémoire est très difficile et les 8 lignes supplémentaires compliqueraient également la tâche des fabricants de cartes mères d'ordinateurs portables.

De nombreuses simulations numériques ne nécessitent pas d'ECC. Dans le monde réel, tests ont suggéré que le coût supplémentaire et la pénalité de vitesse de l'ECC n'en valent pas la peine. Autre exemple, certains entreprises vous disent même de désactiver l'ECC.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X