V dnešní době je naprostá většina pamětí používaných ve stolních počítačích, noteboocích a mobilních zařízeních paměť DRAM bez vyrovnávací paměti ECC (Error Checking and Correction). Ve skutečnosti, pokud není použit procesor Intel nebo AMD, který podporuje paměť ECC, je pro většinu uživatelů jedinou volbou paměť DRAM bez vyrovnávací paměti ECC. Například procesory Intel Xeon podporují paměti ECC, zatímco ani nové procesory Core i7 je nepodporují. AMD má mnohem širší podporu ECC na úrovni procesoru, ale mnoho základních desek AMD nepodporuje funkce paměti ECC, takže není univerzální.
Paměť ECC Co dělá
Paměť ECC (Error Checking and Correction) je dnes většinou považována za nezbytnou v podnikovém prostředí. Kontrola a oprava jednobitových chyb v rámci 8bitového bajtu umožňuje detekci i opravu jednobitových chyb v případě jejich výskytu. Zajímavé je, že způsob, jakým tato jednobitová ECC funguje, není až tak odlišný od RAID 4 a RAID 5, kde se ke generování paritních bitů používá algoritmus XOR. Místo ztráty využitelné kapacity paměti mají výrobci pamětí tendenci přidávat do paměti ECC další čip na každých osm paměťových čipů. Při zjištění chyby jednoho bitu se k rekonstrukci dat s chybou použijí paritní informace. Opět je to koncepčně podobné tomu, jak RAID 4 a RAID 5 mohou čistit a opravovat chyby dat v paměťových polích. Větší chyby než vícebitové lze zjistit, ale nelze je opravit pomocí jednobitového schématu parity typu ECC.
Pro stolní počítače je to méně důležité, protože podle mnoha údajů se jednobitové chyby pohybují v rozmezí 1 na 1 GB nebo 1 na 2 GB paměti měsíčně. Pro uživatele stolního počítače to může způsobit pád programu nebo v nejhorším případě vyžadovat restart. U serverů je ECC zásadní pro zachování integrity dat i doby provozu. Při současném malém rozdílu v ceně ECC oproti nevypouzdřeným modulům DIMM bez ECC není příliš důvodů pořizovat do serveru paměť bez ECC.
Vypouzdřená paměť ECC versus registrovaná paměť ECC
Koncepci ECC doplňují dvě koncepce, a to nevypouzdřené a registrované paměťové moduly ECC. Základní rozdíl spočívá v tom, že paměťové příkazy v konfiguracích s nevyrovnanou vyrovnávací pamětí jdou přímo z řadiče do paměťového modulu, zatímco v konfiguracích s registrovanou pamětí jsou příkazy před odesláním do modulů nejprve odeslány do registrů paměťových bank. Tento koncept může znít složitě, ale zde je velmi jednoduchý/koncepční pohled týkající se toho, co se děje.
V uvedeném příkladu přistupuje paměťový řadič přímo k paměťovým bankám. Výše uvedené předpokládá, že paměťový řadič se nachází v rámci pouzdra procesoru, jak je tomu v moderních architekturách procesorů. Při pohledu na starší systémy sídlil paměťový řadič v severním můstku CPU. Porovnejte to s níže uvedeným příkladem registrované paměti.
Tady procesor komunikuje s registry pro banky paměti na každém modulu. Odtud tyto registry komunikují s pamětí DRAM. Z toho vyplývají dva důsledky. Za prvé, negativní je, že instrukce trvají přibližně o jeden cyklus déle kvůli zprostředkování registru banky. Pozitivní stránkou je, že tato vyrovnávací paměť snižuje zatížení paměťového řadiče procesoru, protože odkazuje na vyhrazený zprostředkující registr oproti přímému přístupu do paměti DRAM. Pro paměťový řadič je snazší vypořádat se s menším počtem cílů.
Tato funkce je velmi důležitá v serverových scénářích, protože například platforma Intel řady 3400, jako je Supermicro X8SI6-F nebo Intel S3420GPLC, podporuje 16 GB paměti bez vyrovnávací paměti ECC a 32 GB registrované paměti ECC. Podobně u dvouprocesorových systémů, jako je Supermicro X8DTH-6F založený na řadě E5600, který byl nedávno recenzován na ServeTheHome, je rozdíl mnohem větší s až 48 GB neregistrované ECC nebo 192 GB registrované ECC paměti. Pro virtualizační prostředí, kde je paměť a šířka paměťového pásma klíčem k dosažení vysokých ukazatelů konsolidace a hustoty, je registrovaná paměť ECC obecně tou správnou cestou. Pokud někdo zakoupí server s neregistrovanými moduly ECC DIMM a pak požaduje další kapacitu, operace upgradu bude vyžadovat vytažení a výměnu všech modulů UDIMM, což se prodraží.
Závěr
V tomto článku snad lze získat koncepční pohled na rozdíl mezi pamětí unbuffered ECC a registrovanou pamětí ECC, který pomůže při rozhodování o výběru. Nejednalo se o příliš technický článek, protože paměťové moduly bývají položky, které si lidé objednávají se svými systémy nebo je do nich přidávají a málo se jimi zabývají, dokud nepotřebují více paměti.