web-dev-qa-db-fra.com

Quelle est exactement la cause de RAM incompatibilité?

Je regarde des listes QVL plutôt courtes des fabricants et je me demande quelle est la cause sous-jacente de l'incompatibilité de RAM en dehors de l'évidence:

Raisons évidentes de l'incompatibilité

  • Génération de RAM (DDR, DDR2, DDR3, DDR4)
  • Facteur de forme/nombre de broches
  • Type de RAM (ECC vs Non-ECC, Enregistré vs non, Tamponné vs pas)
  • Vitesses minimales sur une carte ne pouvant pas régler la fréquence de la mémoire
  • Plage de tension non standard sur une carte ne pouvant pas régler la tension de la mémoire
  • Nombre de canaux (simple vs double vs quad)
  • Module défectueux ou inutilisable
  • Ensemble dépareillé

Raisons non évidentes

  • Marque
  • SKU
  • Capacité maximale
  • Vitesse trop élevée

Dans le cas contraire, pourquoi les fabricants de cartes mères ne peuvent-ils pas simplement énumérer les spécifications du RAM qu’ils acceptent et prendre en charge chaque puce mémoire de cette catégorie au lieu d’énumérer des SKU spécifiques de marques spécifiques?

Que se passe-t-il électriquement/physiquement pour que les cartes échouent POST/fonctionnent avec RAM qui est par ailleurs "compatible" avec toutes les spécifications de RAM qui est activée? le QVL?

ASUS X99 QVL

8
Ehryk

La question de la compatibilité RAM est extrêmement compliquée, il est donc difficile d’adapter RAM à la carte mère si le RAM n’est pas certifié. Pour comprendre la complexité, voici certains des facteurs à prendre en compte lors de l’adaptation de RAM à la carte mère.

Technologie de la mémoire
DDR, DDR2, DDR2, DDR3, DDR4 (ils ne tiendront même pas dans les mêmes emplacements).

latence CAS
Combien de cycles d'horloge le module de mémoire tardera à renvoyer les données demandées par la CPU.

tension
Une tension plus élevée est généralement plus rapide, mais une tension basse signifie généralement moins de stress pour le contrôleur de mémoire du CPU.

Timings
Indiqué par une série de chiffres, par exemple 4-4-4-8, indique le nombre de cycles d’horloge nécessaires à la mémoire pour effectuer une opération donnée. Les minuteries du BIOS sont généralement détectées automatiquement, mais certains BIOS permettent de les prérégler dans le cadre de la sur-synchronisation. Désigné généralement par CL-tRCD-tRP-tRAS-CMD, où:

  • CL: temps de latence CAS. Le temps qu'il faut entre une commande ayant été envoyée à la mémoire et le moment où elle commence à y répondre. C'est le temps qu'il faut pour que le processeur demande des données à la mémoire, puis les renvoie.
  • tRCD : RAS au délai CAS. Temps nécessaire entre l’activation de la ligne (RAS) et la colonne (CAS) où les données sont stockées dans la matrice.
  • tRP : RAS Précharge. Le temps qu'il faut entre la désactivation de l'accès à une ligne de données et le début de l'accès à une autre ligne de données.
  • tRAS : délai de précharge actif. Durée pendant laquelle la mémoire doit attendre que le prochain accès à la mémoire puisse être initié.
  • CMD: Débit de commande. Le temps qu'il faut entre l'activation de la puce mémoire et le moment où la première commande peut être envoyée à la mémoire. Parfois, cette valeur n'est pas annoncée. Il s'agit généralement de T1 (1 cycle d'horloge) ou de T2 (2 cycles d'horloge).

Fréquence RAM
Le taux de signalisation des mots de données pouvant être transférés dans ou hors de la mémoire. Cela fait partie de l'étiquette RAM, par exemple DDR3-2400.

Densité RAM
Indique l’organisation sur puce. Les modules basse densité sont compatibles à 100% avec tous les systèmes et les jeux de puces. Les modules haute densité ont une compatibilité de 10% et sont très lents.

contrôleur RAM
Les contrôleurs sont limités dans la quantité de RAM qu’ils peuvent adresser, limitant ainsi la taille de la carte mère de la clé RAM.

Technologie de jeu de puces
Le chipset de la carte mère affecte l'utilisation de la mémoire, un exemple concerne les configurations multi-canaux.

Je pense que nous pouvons déjà en conclure que pour qu’une clé RAM soit compatible avec une carte mère, les deux doivent s’accorder sur un très grand nombre de paramètres. Toute incompatibilité sur un paramètre rendra un RAM donné inutilisable sur la carte mère.

Certaines cartes mères acceptent RAM dont les paramètres se situent dans une certaine plage, au lieu d’un montant spécifié, mais d’autres émettent une erreur ou ne parviennent même pas à détecter RAM qui ne convient pas.

La mémoire RAM achetée auprès du fabricant de l’ordinateur est garantie compatible, mais elle peut être coûteuse. Lorsque vous recherchez de la RAM tierce, il est généralement aléatoire, car les spécifications de la carte mère ne sont jamais complètement publiées.

J'ai plusieurs fois utilisé l'outil Crucial Advisor, ou mieux encore, le scanner de système Crucial, disponible sur cette page . D'après mon expérience, leurs résultats sont toujours corrects et le RAM proposé par Crucial a un prix très compétitif.

Références :

4
harrymc

Dans le cas contraire, pourquoi les fabricants de cartes mères ne peuvent-ils pas simplement énumérer les spécifications du RAM qu’ils acceptent et prendre en charge toutes les puces mémoire de cette catégorie au lieu d’énumérer des SKU spécifiques de marques spécifiques?

Parce que cela ne donnerait aucun moyen de l'obtenir aux personnes qui le souhaitaient.

Qu'est-ce qui se passe électriquement/physiquement et qui cause l'échec des cartes POST/fonctionne avec RAM autrement "compatible" avec toutes les spécifications de RAM activé le QVL?

Cela peut être toutes sortes de choses. Le plus évident est la tension. La plupart des cartes mères ne comportent qu'un seul générateur de tension, ce qui signifie que tous les bâtons RAM doivent fonctionner à la même tension. Mais il peut également s'agir de détails sur la longueur de la trace, les niveaux de charge et toutes sortes de détails de ce type. Nous parlons de liaisons à très grande vitesse avec des exigences de synchronisation très précises. Toutes sortes de choses peuvent mal se passer, même si la plupart du temps, ça marche.

La configuration actuelle est le meilleur des deux mondes. Ceux qui veulent une compatibilité garantie peuvent s'en tenir à la liste des combinaisons testées et garanties. Ceux qui veulent la liberté de choisir peuvent comparer les spécifications et tirer leurs propres conclusions.

Auparavant, les incompatibilités étranges n'étaient pas si inhabituelles. Mais depuis la norme DDR2, les cas d’incompatibilité n’impliquant pas l’une des explications mentionnées sont assez rares. La plupart de ces cas sont probablement des composants qui ne répondent pas tout à fait à leurs spécifications.

2
David Schwartz

La réponse se trouve dans le contrôleur de mémoire. Le contrôleur de mémoire se trouvait sur le pont nord de la carte mère. Il devait négocier toutes les fonctionnalités prises en charge par la CPU pour un accès direct à la mémoire. Donc, le processeur est vraiment le facteur déterminant qui limite la mémoire que vous pouvez utiliser même s’il semble être une fonctionnalité de carte mère. C’est plus évident maintenant que le contrôleur de mémoire est installé à l’intérieur du processeur dans toutes les puces modernes fabriquées par Intel, AMD et ARM. Le microprogramme de la carte mère contient le microcode du fabricant de l’UC qui indique le type de fonctionnalités qu’il prend en charge pour l’accès direct à la mémoire. Donc, le logiciel vit toujours dans la carte mère mais le matériel est maintenant dans la CPU.

La synchronisation du processeur et de la mémoire est directement liée à l’horloge de base. Ils doivent être des multiples les uns des autres en synchronisation. Mis à part cela, les détails de l'accès direct à la mémoire ne sont pas triviaux et je ne tenterai pas de les expliquer ici. Je crois comprendre que, tout comme les fabricants de Mo et de CPU ont des implémentations et des fonctionnalités différentes, il en va de même pour les modules de mémoire. Au sein d'un fabricant de mémoire, comme Kingston, les puces peuvent être fabriquées par Samsung, Hynix ou quelqu'un d'autre. Ils devraient tous suivre une spécification, mais peut-être qu'ils n'implémentent pas toutes les fonctionnalités de la même manière.

TOUS LES MODULES NE SONT PAS CRÉÉS ÉGAUX

Pour plus d'informations:

https://en.wikipedia.org/wiki/Memory_controller

-ET-

https://en.wikipedia.org/wiki/Direct_memory_access

1
HackSlash

Outre les raisons techniques mentionnées dans les autres réponses, je pense que la raison de l'existence d'une liste prise en charge RAM consiste à limiter les efforts de support du fabricant de la carte mère.

Si un client se plaint d'un système qui ne fonctionne pas, le fabricant de la carte mère peut pointer sur la liste RAM et si le client utilise un module de mémoire ne figurant pas dans la liste, la réponse de l'assistance est évidente: Testez avec un module de mémoire de la liste et voir si le problème disparaît.

Sans la liste, le fabricant ne peut pas le faire et devrait éventuellement enquêter sur chaque cas, dépensant beaucoup plus de temps et de ressources.

J'ai construit de nombreux systèmes au cours de ma carrière et je n'ai pas encore consulté la liste des RAM pris en charge avant de choisir les composants. Et je n'ai jamais eu d'incompatibilités jusqu'à présent. Cela étant dit, la liste peut aider les débutants et les moins expérimentés à sélectionner les composants appropriés pour créer un système performant.

0
Nassbirne