Vadné ECC paměti, ale MemTest86 chybu nevidí

Vadné ECC paměti, ale MemTest86 chybu nevidí
« kdy: 16. 04. 2025, 09:01:40 »
Zdravím, vím, že se tu vyskytuje spousta borců se zkušenostmi s ECC paměťmi a doufám, že narazím na někoho, kdo ví, o čem mluví. Dostal se mi do rukou server s deskou ASUS P10S-M a Xeonem E3-1220 v5. Bylo v tom 8 GB RAM, což je na nic, tak jsem se rozhodl, že to nacpu po okraj. Sloty pro DDR4 RAMky, s podporou ECC (ostatně i těch 8 GB bylo ECC), tak jsem si řekl, že tam dám 64 GB ECC.

Pořídil jsem Mushkin Proline 16GB ECC unregistered - dvakrát jako nové, dvakrát jako rozbalené. Každý ten pár vypadá úplně jinak (jedny mají čipy z jedné strany, druhé z obou), mají ale naprosto identické označení, liší se fakticky jen sériovým číslem.

No, jal jsem se osadit desku a po čase zjišťuju, že ty paměti vykazují chybovost. Chápu, že ECC je tam od toho, aby chyby detekovalo a případně opravovalo, nicméně pokud už k tomu opravování dochází, nastává, alespoň podle toho, co jsem vypozoroval, rapidní propad výkonu. Postupným zkoušením jednotlivých modulů i párů jsem zjistil, že ten pár, kde jsou čipy jen z jedné strany, vykazuje vysokou chybovost.

A teď se dostávám k jádru otázky: pustil jsem na to poslední MemTest86 Free (bez plus), takový ten UEFI. A ten za celou dobu nenapíše jedinou chybu, přitom jsem žil v přesvědčení, že ECC by vypisovat měl. Log SMBiosu v setupu je plný ECC chyb (mažu ho ručně, abych věděl, kdy ty chyby zase nastanou). Chyby jsou i v Event logu Windows (WHEA cosi), nicméně po čase Windows zahlásily už při bootu, že je to špatný a nenajely.
Problémy s pamětí se dají v tomto případě vypozorovat už na rychlosti běhu prvních testů MemTestu, kdy si to ty paměti jen osahává (address testy). Bezchybné paměti to prolítne rychlostí blesku, na vadných to drhne, že test trvá i minutu, ale dojede a chybu nezahlásí. Stačí vidět, že se test zasekl, během chvilky ho ukončit, najet do setupu a v SMBios logu je vidět kombajnmilion chyb (Multi-Bit error) na konkrétních slotech.

A já se ptám, jak je to s tím MemTestem, proč ty chyby nevypisuje, když se to (soudě dle logů ve Windows) do softwaru dostat dokáže? Nemám třeba něco blbě v Setupu? Jaké nastavení bych tam měl hledat, aby to i MemTest pobral? Jde mi o to, že když ty paměti budu reklamovat, tak potřebuju mít nějaký podklad, že jsou fakt nemocné. Jako jo, můžu si vyfotit ten log SMBiosu, ale taky mi může aktivní technik říct "nám memtest projel, reklamaci neuznáváme, máte to nekompatibilní". Já mám aspoň tu kliku, že jeden pár jede zcela bez problémů (projedou všechny 4 PASSy (pane redaktore, víte, co je to PASSy? ;)) a v SMBios logu je jen zmínka o tom, že jsem ho smazal - o pamětech ani chybička. A i když jsou to konstrukčně jiné kusy, modelově jsou identické. Ale ten druhý pár blbne jak v páru, tak po jednom kusu (čili už vím, proč je někdo vrátil a proč byly v nabídce jako rozbalené, tohle je bohužel častý nešvar řady e-shopů a asi hlavní negativum práva bez udání důvodu vrátit něco ve 14denní lhůtě - eshop takto vrácené věci posílá bez rozmyslu dál do oběhu - i když vlastně upřímně netuším, jestl ten vadný pár byl rozbalený, nebo nový, nemám to moc podle čeho poznat, jen hádám ;).

Já bych ten server docela rád používal na hraní si s virtualizací, protože za cenu těch pamětí mi to přijde cajk, ale musí být jaksi OK ;) (server jsem získal zadarmo jako vyřazený vč. dvou SSD v mirroru za hranicí životnosti, ale stále chodí, tak na hraní stačit budou).
« Poslední změna: 16. 04. 2025, 09:04:58 od 𝑾𝑰𝑭𝑻 »


ho_st

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #1 kdy: 16. 04. 2025, 10:18:08 »

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #2 kdy: 16. 04. 2025, 10:44:33 »
- Memtest (ten uzavřený od PassMarku) umí reportovat ECC chyby, ale není to vždy spolehlivé a se všemi deskami/čipsety.
Když se mrknete do release notes https://www.memtest86.com/whats-new.html najdete tam pravidelně spousty změn, které se týkají ECC, kdy se přidá podpora pro čipset, něco opraví atd.
Obecně jsou dva způsoby, jak program resp. OS přistupuje k logu/registrům s ECC chybami.. Jeden je přes MCA, což je původně od Intelu. Druhý pak přes ACPI (APEI), což je zapouzdřené, multiplatformní.
Ta podpora může být různá a můžou tam být i implementační odlišnosti a problémy, takže se klidně může stát, že jeden nástroj/OS (Win/WHEA, Linux/RAS) reportuje chyby, druhý ne.
Věřil bych tomu logu z firmware od desky.

- ty problémy s kompatibilitou a případnými výpadky pro single vs dual rank na konkrétní desce nejsou nijak výjimečné.
To neplatí jen pro unbuffered ECC, ale i pro standardní desktopové DIMMy. Obecně je to pak i jeden z důvodu proč třeba ty vyšší řady čipsetů/CPU s více sloty vyžadují ty bufferované registered nebo load reduced (LR) DIMMy. Je to výrobně dražší, přidá to latenci, ale je to také typicky spolehlivější.

Takže výrobci pamětí často nabízí unbuffered modely v obou variantách (1R a 2R)..
Což platí i pro ten Mushkin.. např.
https://mushkin.com/product/proline-16gb-ddr4-2133-rdimm-pc4-17000-2rx4-15-15-15-36-992212/
Je pak na výrobci desky (viz. QVL), nebo zákazníkovi, aby si vybral modul, co bude chodit.

Paměti v tom zmíněném páru tedy nemusí být nutně vadné, jen nekompatibilní. Snad se je podaří vyměnit a nebude tam i jiný problém (třeba při obsazení všech čtyř slotů).

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #3 kdy: 16. 04. 2025, 13:07:13 »
- ty problémy s kompatibilitou a případnými výpadky pro single vs dual rank na konkrétní desce nejsou nijak výjimečné.
To neplatí jen pro unbuffered ECC, ale i pro standardní desktopové DIMMy. Obecně je to pak i jeden z důvodu proč třeba ty vyšší řady čipsetů/CPU s více sloty vyžadují ty bufferované registered nebo load reduced (LR) DIMMy. Je to výrobně dražší, přidá to latenci, ale je to také typicky spolehlivější.

Takže výrobci pamětí často nabízí unbuffered modely v obou variantách (1R a 2R)..
Což platí i pro ten Mushkin.. např.
https://mushkin.com/product/proline-16gb-ddr4-2133-rdimm-pc4-17000-2rx4-15-15-15-36-992212/
Je pak na výrobci desky (viz. QVL), nebo zákazníkovi, aby si vybral modul, co bude chodit.

Paměti v tom zmíněném páru tedy nemusí být nutně vadné, jen nekompatibilní. Snad se je podaří vyměnit a nebude tam i jiný problém (třeba při obsazení všech čtyř slotů).
Zase mi přijde zvláštní, že by takhle zásadní nekompatibilitu MemTest přešel bez mrknutí oka - tedy že by to dokázala pořešit korekce toho ECC a v MemTestu nevyjela ani datová chyba, i když se to celé tváří citelně zpomaleně.
No uvidíme, je to z Mironetu, tak snad budou mít zájem mít spokojeného, nikoli nas**** zákazníka ;).

RDa

  • *****
  • 2 911
    • Zobrazit profil
    • E-mail
Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #4 kdy: 16. 04. 2025, 13:54:58 »
Pořídil jsem Mushkin Proline 16GB ECC unregistered - dvakrát jako nové, dvakrát jako rozbalené. Každý ten pár vypadá úplně jinak (jedny mají čipy z jedné strany, druhé z obou), mají ale naprosto identické označení, liší se fakticky jen sériovým číslem.

Tohle je podezrive - pokud to ma rozdilny pocet cipu, tak tam bude jina kapacita per package, a jina organizace (x4 vs x8) a mozna i jiny pocet ranku.. a desce se ten mix nemusi dvakrat libit. A tu znacku.. neznam, nerespektuji :D

Ale jinak ano - "tri" nastroje delaj tri ruzne vysledky (komercni memtest trial, opensource memtest, a runtima edac reporting), plus jeste variace platformou (intel/amd) a generacemi. Nekde to je zrejme vice citlive, nekde mene.. netusim jak spolehlive odhalit chyby pameti (a je velke spatne, ze to nerekne primo na kterem bitu!).. takze se u chyb spise priklanim k nekompatibilite (nejaky training co je na hrane), nez ze je pamet skutecne vadna.


RDa

  • *****
  • 2 911
    • Zobrazit profil
    • E-mail
Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #5 kdy: 16. 04. 2025, 14:05:55 »
- ty problémy s kompatibilitou a případnými výpadky pro single vs dual rank na konkrétní desce nejsou nijak výjimečné.
To neplatí jen pro unbuffered ECC, ale i pro standardní desktopové DIMMy. Obecně je to pak i jeden z důvodu proč třeba ty vyšší řady čipsetů/CPU s více sloty vyžadují ty bufferované registered nebo load reduced (LR) DIMMy. Je to výrobně dražší, přidá to latenci, ale je to také typicky spolehlivější.

Duvod pouzivani registered pameti neni kompatibilita, ale zatez na sbernici. Na DIMM modulu maji vsechny pametove cipy spolecnou ridici sbernici (adresni bity + ridici signaly), coz na 1Rx8 dela 8 zatezi, v pripade 2Rx8 pak 16 zatezi per dimm. Typicky desktop CPU ma 2DPC, takze utahne tech 2x16 cipu max (32 zatezi bez ecc, 36 zatezi s ecc).

Registered pameti jsou ale tvoreny typicky x4 obvody (pro samozrejme dvojnasobnou kapacitu), takze 2Rx4 dela v ramci samotne dimm rovnou tech 36 zatezi, a serverove desky maji az 3 sloty per kanal (ty starsi), a utahnout pak 2 dimmy (72 cipu) nebo 3 dimmy (108 cipu spojenych paralelne).. to jako fakt nepujde uz ani se snizenymi rychlostma. Proto se do ridici sbernice pridava registr (buffer) a najednou jsou ze 36/72/108 zatezi pouhe 3.

Obdobne se pak resi LRDIMM, ktere maji buffer i na datove ceste, protoze takovy dimm ma 4R konfiguraci, a typicky cpu umi utahnout na datove casti prave 4R (tj. 2R x 2DPC). Ale serverova deska ma 3 sloty.. a kapacitni dimm 4R.. takze delaji najednou 12 zatezi... pridanim buffer se to zredukuje ze 12 na 3 - a 4R LRDIMM dimm je elektricky jen 1 zatez, ne 4.

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #6 kdy: 16. 04. 2025, 15:54:50 »
vubec nevim zda to je jeste dneska relevantni, ale kdysi mel kernel funkcionalitu, ze se pri bootu zadaly oblasti se spatnou ram na zazklade memtestu a kernel ty oblasti v ram ani nepouzival. a lidi mohli pouzivat i ram moduly horsi kvality.

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #7 kdy: 16. 04. 2025, 17:39:22 »
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/kernel-parameters.txt
https://unix.stackexchange.com/questions/777409/understanding-the-memmap-linux-parameter

Ne, že bych tu věc někdy použil, ale zřejmě máte na mysli tohle:

memmap=nn[KMG]$ss[KMG]
    [KNL,ACPI] Mark specific memory as reserved.
    Region of memory to be reserved is from ss to ss+nn.
    Example: Exclude memory from 0x18690000-0x1869ffff
        memmap=64K$0x18690000
        or
        memmap=0x10000$0x18690000
    Some bootloaders may need an escape character before '$',
    like Grub2, otherwise '$' and the following number
    will be eaten.


Dále - jak jsem teď našel v kernel-parameters - sám kernel v sobě má jakýsi memory test, který je ve výchozím stavu vypnut

memtest=   [KNL,X86,ARM,M68K,PPC,RISCV,EARLY] Enable memtest
         Format: <integer>
         default : 0 <disable>
         Specifies the number of memtest passes to be
         performed. Each pass selects another test
         pattern from a given set of patterns. Memtest
         fills the memory with this pattern, validates
         memory contents and reserves bad memory
         regions that are detected.

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #8 kdy: 16. 04. 2025, 17:40:33 »
vubec nevim zda to je jeste dneska relevantni, ale kdysi mel kernel funkcionalitu, ze se pri bootu zadaly oblasti se spatnou ram na zazklade memtestu a kernel ty oblasti v ram ani nepouzival. a lidi mohli pouzivat i ram moduly horsi kvality.

jmenuje se to badram, ale nepoužívat, raději vyměnit paměť

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #9 kdy: 16. 04. 2025, 18:58:50 »
Pořídil jsem Mushkin Proline 16GB ECC unregistered - dvakrát jako nové, dvakrát jako rozbalené. Každý ten pár vypadá úplně jinak (jedny mají čipy z jedné strany, druhé z obou), mají ale naprosto identické označení, liší se fakticky jen sériovým číslem.

Tohle je podezrive - pokud to ma rozdilny pocet cipu, tak tam bude jina kapacita per package, a jina organizace (x4 vs x8) a mozna i jiny pocet ranku.. a desce se ten mix nemusi dvakrat libit. A tu znacku.. neznam, nerespektuji :D
Ano, když na to tak koukám, tak Mushkin = velký špatný. Mimo jiné proto, že:
Oboje paměti mají modelové označení MPL4E266KF16G28, a ani ty, co má Mushkin na svém obrázku, tak nevypadají (ty z jeho webu vypadají spíš jako buffered, ten prostřední čip jiné velikosti já tam nemám).
Oba typy těch pamětí (jak ty, co mají čipy z jedné řady, tak ty, co je mají z obou) mají na štítku uvedeno PC4-2666 ECC 2Rx8 19-19-19-43 1.2V.

A teď co na nich skutečně je za brouky: Pokud budu předpokládat, že pod štítkem, který nechci odlepit, je to samé, co na zbytku modulu, tak ty jednostranné mají oba 9× SEC K4AAG04 5WA BCWE, zatímco ty, které fungují v pohodě, mají a teď pozor: jeden 18× SEC K4A8G04 5WE BCWE a druhý 18× 10-1702-56-BA-XR, což ani nejsem schopen vygooglit, ale oba fungují pospolu bez chyb, každý v jednom kanále (zatímco ty jednostranné jsou problémové i každý samostatně, takže mixáž s jinými tady ani nemá smysl řešit). Ano, důvěra ve značku je na bodu mrazu (jak by řekl kolega: „je to supr, ale už si to nikdy nekoupim“).
A nejblbější je, že podle dokladů, které k tomu mám od Mironetu k dispozici, ani za mák netuším, které byly ty nové a které ty rozbalené (ty rozbalené měly skutečně uvedeno „vrácení do 14 dnů zákazníkem“), protože sériová čísla na dokladech jsou nesmysly, které neodpovídají tomu, co na těch štítkách je. Čili hrozí riziko, že když vezmu ty, co blbnou, a vrátím je, dostanu ty samý. V tom zmatku je pozitivní nanejvýš to, že tak, jak jsem to koupil, jde o identický produkt a jeden pár funguje a druhý ne, což by potenciálně mohlo eliminovat řeči o nekompatibilitě :). Na jednu stranu se mi nechce dělat nějakýho extra haj3la vůči prodejci, na druhou stranu bych rád, aby to fungovalo a z toho, co jsem si koupil a dostal, funguje půlka, přestože je to podle papírů všechno jeden a tentýž produkt.
Do toho se může stát, že reklamace bude vyřízena stylem "vrátíme peníze, protože ty křápy už na skladě nemáme", takže budu mít tak jako tak jen jednu sadu (která mi bude na prd) a druhou budu muset koupit jinou - což je to, co je na té první sadě na prd :). Radši bych fakt měl všechny stejný a když jsem to objednával, počítal jsem s tím, že všechny stejné jsou (dle model čísla). No, a mezitím každý pes jiná ves.
« Poslední změna: 16. 04. 2025, 19:02:00 od 𝑾𝑰𝑭𝑻 »

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #10 kdy: 16. 04. 2025, 19:51:52 »
Já ti tedy nechci nic říkat, ale podle konfigurátoru máš nejspíše blbé paměti.

https://www.kingston.com/en/memory/search/model/95084/asus-p10s-m-ws-motherboard
Toto je jedna z kompatibilních  KSM26ED8/16HD
16GB DDR4 2666MT/s ECC Unbuffered DIMM

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #11 kdy: 16. 04. 2025, 20:18:10 »
Já ti tedy nechci nic říkat, ale podle konfigurátoru máš nejspíše blbé paměti.

https://www.kingston.com/en/memory/search/model/95084/asus-p10s-m-ws-motherboard
Toto je jedna z kompatibilních  KSM26ED8/16HD
16GB DDR4 2666MT/s ECC Unbuffered DIMM
Jojo, to je seznam pamětí, u kterých výrobce garantuje, že by měly fungovat. A když tam ty paměti nejsou, tak výrobce garantuje, že fungovat nebudou? Já chápu, že negarantuje, že fungovat budou, ale beru to takhle: papírově mám 4 identické kusy. Dva jsou úplně v pořádku, dva nikoli.

RDa

  • *****
  • 2 911
    • Zobrazit profil
    • E-mail
Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #12 kdy: 16. 04. 2025, 20:42:01 »
Já chápu, že negarantuje, že fungovat budou, ale beru to takhle: papírově mám 4 identické kusy. Dva jsou úplně v pořádku, dva nikoli.

Zkus provozovat jen ty 2 problemove, resp, to, ze ktere jsou problemove jsi zjistil takhle - vyjmutim neproblemovych?

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #13 kdy: 16. 04. 2025, 21:06:57 »
Zkus provozovat jen ty 2 problemove, resp, to, ze ktere jsou problemove jsi zjistil takhle - vyjmutim neproblemovych?
Ano, zkoušel jsem je i samostatně (po jedné), blbnou i tak.

Re:Vadné ECC paměti, ale MemTest86 chybu nevidí
« Odpověď #14 kdy: 17. 04. 2025, 00:07:54 »
Duvod pouzivani registered pameti neni kompatibilita, ale zatez na sbernici. Na DIMM modulu maji vsechny pametove cipy spolecnou ridici sbernici (adresni bity + ridici signaly), coz na 1Rx8 dela 8 zatezi, v pripade 2Rx8 pak 16 zatezi per dimm. Typicky desktop CPU ma 2DPC, takze utahne tech 2x16 cipu max (32 zatezi bez ecc, 36 zatezi s ecc).

Registered pameti jsou ale tvoreny typicky x4 obvody (pro samozrejme dvojnasobnou kapacitu), takze 2Rx4 dela v ramci samotne dimm rovnou tech 36 zatezi, a serverove desky maji az 3 sloty per kanal (ty starsi), a utahnout pak 2 dimmy (72 cipu) nebo 3 dimmy (108 cipu spojenych paralelne).. to jako fakt nepujde uz ani se snizenymi rychlostma. Proto se do ridici sbernice pridava registr (buffer) a najednou jsou ze 36/72/108 zatezi pouhe 3.

Obdobne se pak resi LRDIMM, ktere maji buffer i na datove ceste, protoze takovy dimm ma 4R konfiguraci, a typicky cpu umi utahnout na datove casti prave 4R (tj. 2R x 2DPC). Ale serverova deska ma 3 sloty.. a kapacitni dimm 4R.. takze delaji najednou 12 zatezi... pridanim buffer se to zredukuje ze 12 na 3 - a 4R LRDIMM dimm je elektricky jen 1 zatez, ne 4.

Ahoj, díky za vyčerpávající doplnění. Jasný, hlavní důvod je to, co píšeš. Proto jsem taky zmiňoval, že je to záležitost hlavně vyšších řad čipstetů a CPU, co podporují víc slotů (I když jsem se setkal třeba s malými Xeony D - SoC na malých deskách, které měly jen čtyři sloty a taky RDIMM).
Spíš jsem to myslel tak, že s tím bufferem je to právě principiálně daleko míň náchylné na případné problémy s přenosem těch řídících, resp. datových signálů a třeba i různých podmínek na odlišných deskách.
Obecně vzato (mohl jsem mít kliku) jsem v podstatě neměl nikdy problémy s prohazováním a recyklací různých RDIMM modulů napříč různými výrobci, OEM moduly atp., pokud to nebylo uměle omezené nějakým vendor lockem (zdravíme do Cupertina).
Zatímco u těch desktopových a entry level serverových UDIMMů to bylo daleko citlivější, a samozřejmě hrál roli i počet obsazených slotů, topologie zapojení (téčko, nebo za sebou) atp. A to se teď nebavím v téhle kategorii o nějakém trvalém overclockingu.
Od Mushkinu jsem neměl nikdy byť jediný kousek a také si netroufám tvrdit, že problém s přenosem je důvod, proč to WIFTovi vyhazuje chyby jen s 1R moduly. Tam bych spíš hádal, že pokud opravdu nejsou vadné, tak si BIOS nenatrénuje správné parametry pro provoz těchhle konkrétních modulů a není to s deskou out-of-box kompatibilní.