01 Jan 0001, 00:00

Share

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 Passmark (dans System Information, et dans “RAM Config” sur l’écran de test).

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 ou le CPU ou la RAM)
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.

EDAC (Error Detection And Correction)

sudo apt install edac-utils
sudo edac-util
sudo edac-util --status
lsmod | grep -i edac

Si l’ECC est activé, on peut voir “No Error” (je suppose que si une barrette est défectueuse, le message sera différent).

Windows

wmic MemoryChip get DataWidth,TotalWidth

wmic MemPhysical get MemoryErrorCorrection

Valeurs :
0 (0x0) 	Reserved
1 (0x1) 	Other
2 (0x2) 	Unknown
3 (0x3) 	None
4 (0x4) 	Parity
5 (0x5) 	Single-bit ECC
6 (0x6) 	Multi-bit ECC
7 (0x7) 	CRC

https://superuser.com/questions/893560/how-do-i-tell-if-my-memory-is-ecc-or-non-ecc
https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-physicalmemoryarray

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

Récap wikipedia

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)