ECC
Géneral
Error Correction Code
nb de modules impairs ?
Notée avec un “E”, par exemple PC3-12800E.
Si des barrettes non-ECC sont insérées avec des barrettes ECC dans un PC, l’ECC sera désactivé.
Il faut que la carte-mère supporte l’ECC pour que la fonctionnalité soit activée.
Il peut être possible d’utiliser une barrette ECC dans une carte-mère non-ECC (sans le support de l’ECC).
Pour que l’ECC fonctionne, il faut qu’il soit supporté par :
- le chipset
- le CPU
- la RAM
Pour l’instant, l’ECC n’est pas reporté par memtest86+ . Il l’est par memtest86.
Linux
sudo dmidecode -t 16
donnes des infos sur le controlleur mémoire, et notamment “Error Correction Type”.
“None” indique une absence de prise en charge de l’ECC par la carte-mère et/ou le CPU
Sinon “Single-bit ECC” ou “Multi-bit ECC”
sudo dmidecode -t 17
donne des infos sur les barrettes mémoire, et notamment “Error Information Handle”
“Not Provided” semble signifier que l’ECC n’est pas activé.
Si “Total Width” est + grand que “Data Width” c’est qu’il y’a un chip pour l’ECC ; cela reflète l’état physique du module, mais pas l’activation effective de l’ECC.
Si l’ECC est activé, on peut voir “No Error” (je suppose que si une barrette est défectueuse, le message sera différent).
EDAC (Error Detection And Correction)
sudo apt install edac-utils
sudo edac-util
sudo edac-util --status
lsmod | grep -i edac
Windows
wmic MemoryChip get DataWidth,TotalWidth
wmic MemPhysical get MemoryErrorCorrection
(3 = None ; 4 5 6 7 = divers ECC)
https://superuser.com/questions/893560/how-do-i-tell-if-my-memory-is-ecc-or-non-ecc
Registres
La mémoire à registres est également nommée “registered”, “buffered” ou encore RDIMM. Typiquement PC3-12800R
À l’inverse, la mémoire sans registres est également nommée ““unregistered”, “unbuffered” ou encore UDIMM”. Typiquement PC3-12800U.
Le type de mémoire doit correspondre au type supprté par la carte-mère (registered ou registered).
La majorité des cartes-mères grand public nécessitent de la ram unregistered.
SoDIMM
La mémoire format ordinateur portable est appelée SoDIMM (small outline).
Elle est aussi notée avec un S, par exemple PC3-12800S.
Suffixe
S : sodimm
R : registered
U : unbuffered
E : ECC
Diagnostic vitesse RAM/Memtest
MT/S : megatransfers/seconds, parfois notée en MHz.
Memtest86+ v7 indique la vitesse effective sous l’intitulé “IMC”.
Memtest86+ v6 n’indique pas correctement les fréquences ou les timings ; il indique ceux qui seraient utilisés si la RAM fonctionnait aux performances maximales.
Memtest86+ v5.x indique les infos correctes une fois le test lancé. La fréquence indiquée est toutefois celle du bus (donc la moitié de la fréquence de la RAM).
Linux
sudo dmidecode -t 17
La ligne “Speed” donne la vitesse max théorique du module (pas toujours bien détecté).
La ligne “Configured Speed” donne la vitesse effective actuelle du module.
DDR5
Standards : PC5-32000 to PC5-51200
XMP :
DDR3
DDR3-800 = 800MT/s = PC3-6400 = 400 MHz (bus)
DDR3-1066 = 1066MT/s = PC3-8500 = 533 MHz (bus)
DDR3-1333 = 1333MT/s = PC3-10600 = 666MHz (bus)
DDR3-1600 = 1600MT/s = PC3-12800 = 800 MHz (bus)