Az asztali számítógépek, notebookok és mobileszközök által használt memória túlnyomó többsége ma puffer nélküli, nem ECC (hibaellenőrző és -javító) DRAM. Valójában, hacsak nem olyan Intel vagy AMD CPU-t használunk, amely támogatja az ECC memóriát, a legtöbb felhasználó számára a nem pufferelt ECC DRAM az egyetlen választás. Az Intel Xeonok például támogatják az ECC memóriát, míg még az új Core i7-esek sem. Az AMD sokkal szélesebb körű ECC-támogatással rendelkezik CPU-szinten, de sok AMD alaplap nem támogatja az ECC-memória jellemzőit, így ez nem univerzális.
ECC-memória Mit tud
A hibaellenőrző és -javító (ECC) memóriát manapság leginkább a vállalati környezetekben tartják nélkülözhetetlennek. A 8 bites bájton belüli egybites hibaellenőrzés és -javítás lehetővé teszi az egybites hibák felismerését és kijavítását, amikor azok előfordulnak. Érdekes módon az egybites ECC működése nem sokban különbözik a RAID 4-től és a RAID 5-től, ahol XOR algoritmust használnak a paritásbitek létrehozására. Ahelyett, hogy a használható memóriakapacitás csökkenne, a memóriagyártók általában minden nyolc tárolóchiphez egy további chipet adnak az ECC-memóriához. Egyetlen bit hibájának észlelésekor a paritásinformációt használják fel a hibás adatok rekonstruálásához. Ez koncepcionálisan ismét hasonló ahhoz, ahogyan a RAID 4 és a RAID 5 képes a tárolótömbökben az adathibák súrolására és javítására. A több bitesnél nagyobb hibákat az egybites ECC típusú paritási séma észleli, de nem javítja.
Az asztali számítógépek esetében ez kevésbé fontos, mivel sok számadat szerint az egybites hibák száma 1 GB-onként vagy 2 GB-onként 1 GB memóriát érintenek havonta. Egy asztali felhasználó számára ez egy program összeomlását okozhatja, vagy legrosszabb esetben újraindítást igényel. A szervereken az ECC alapvető fontosságú mind az adatintegritás, mind az üzemidő fenntartása szempontjából. Az ECC és a nem ECC puffer nélküli DIMM-ek jelenlegi csekély költségkülönbségével nem sok ok van arra, hogy nem ECC memóriát vásároljunk egy szerverhez.
Puffer nélküli ECC és regisztrált ECC memória
Az ECC koncepciót kiegészítve, két koncepcióról van szó, a puffer nélküli és a regisztrált ECC memóriamodulokról. Az alapvető különbség az, hogy a nem pufferelt memóriakonfigurációkban a memóriaparancsok közvetlenül a vezérlőtől jutnak el a memóriamodulhoz, míg a regisztrált memóriakonfigurációkban a parancsok először a memóriabankok regisztereibe kerülnek, mielőtt elküldenék őket a modulokhoz. Ez a koncepció bonyolultnak tűnhet, de itt a nagyon egyszerű/fogalmi nézet a történtekről.
A fenti példában a memóriavezérlő közvetlenül a memóriabankokhoz fér hozzá. A fentiekben feltételezzük, hogy a memóriavezérlő a CPU-csomagban található, mint a modern CPU-architektúrákban. A régebbi rendszereket tekintve a memóriavezérlő a CPU északi hídjában volt. Hasonlítsa ezt össze az alábbi regisztrált memória példával.
Itt a CPU kommunikál az egyes modulok memóriabankjainak regisztereivel. Innen ezek a regiszterek kommunikálnak a DRAM-mal. Ennek kétféle következménye van. Először is, negatív oldalról az utasítások körülbelül egy CPU-ciklussal tovább tartanak a bankregiszter közvetítése miatt. Pozitívum, hogy ez a pufferelés csökkenti a CPU memóriavezérlőjének terhelését, mivel a dedikált közvetítő regiszterre mutat, szemben a DRAM közvetlen elérésével. A memóriavezérlőnek könnyebb kevesebb célpontot kezelni.
Ez a funkció nagyon fontos a szerver forgatókönyvekben, mivel például egy Intel 3400-as sorozatú platform, például a Supermicro X8SI6-F vagy az Intel S3420GPLC 16 GB puffer nélküli ECC és 32 GB regisztrált ECC memóriát támogat. Hasonlóképpen, a kétprocesszoros rendszerekben, mint például az E5600 sorozatú Supermicro X8DTH-6F, amelyet a ServeTheHome nemrég vizsgált, a delta sokkal nagyobb, akár 48 GB nem regisztrált ECC vagy 192 GB regisztrált ECC memóriával. Azokban a virtualizációs környezetekben, ahol a memória és a memória sávszélessége kulcsfontosságú a magas konszolidációs és sűrűségi mérőszámok eléréséhez, általában a regisztrált ECC memória a megfelelő megoldás. Ha valaki nem regisztrált ECC DIMM-ekkel vásárol egy szervert, majd további kapacitásra van szüksége, akkor a frissítési művelethez az összes UDIMM-modult ki kell húzni és ki kell cserélni, ami költséges ajánlatot jelent.
Következtetés
Ezzel a cikkel remélhetőleg fogalmi képet kaphatunk a nem pufferelt ECC-memória és a regisztrált ECC-memória közötti különbségről, ami segít a kiválasztási döntések meghozatalában. Ez a cikk nem volt túlságosan technikai jellegű, mivel a memóriamodulok általában olyan elemek, amelyeket az emberek megrendelnek a rendszerükhöz vagy hozzáadnak, és keveset foglalkoznak velük, amíg nincs szükségük több memóriára.