Mi az ECC memória?

click fraud protection

Egyes RAM vagy Random-Access memória ECC memóriaként van hirdetve. Az ECC az Error Correcting Code rövidítése, és a memória hibáinak azonosítására és kijavítására szolgáló folyamat. A RAM hibái megsérülhetnek vagy megváltozhatnak az adatok, ami az eszköz összeomlásához, sőt biztonsági résekhez vezethet. Az ECC RAM általában nem kompatibilis a fogyasztói szintű PC-hardverekkel.

Mik azok a memóriahibák?

A memóriahibák olyan problémát jelentenek, amikor a memóriában tárolt érték megváltozik. A RAM-ban lévő adatok binárisan tárolódnak, 1 vagy 0 értékkel. Ha az 1 értéke 0-ra vált, vagy fordítva, a „bitfordításnak” nevezett folyamat során a RAM-ban tárolt adatok megváltoznak.

Például a megváltozott bit használható érték tárolására egy táblázatban. Ebben az esetben a táblázatban szereplő érték teljesen más számra módosítható, amely hatással lenne bármely számítás eredményére, például megváltoztatná a gazdasági előrejelzéseit üzleti. Más esetekben a megváltozott bit letilthat egy biztonsági funkciót, vagy olyan elírást okozhat, amely megváltoztatja a program futtatását. Ezt a két példát rendkívül nehéz észlelni és feloldani az ECC memória használata nélkül. Extrém forgatókönyv esetén egyetlen bit megfordítása katasztrofális hibát okozhat, amely rendszerösszeomlást okoz.

A bitváltásnak számos lehetséges oka lehet, a leggyakoribb ok a háttérsugárzás eredménye, amelyet elsősorban a kozmikus sugárzás által létrehozott neutronok okoznak. A kozmikus sugárzás nagy energiájú részecske, jellemzően proton, amely közel fénysebességgel halad. Ezeket csillagtestek bocsátják ki, beleértve a Napot és más nagy energiájú csillagászati ​​objektumokat. Amikor egy kozmikus sugár elér egy atomot, neutronok és más szubatomi részecskék zápora keletkezik, ezek a neutronok másodlagos kölcsönhatásba lépnek.

Úgy gondolják, hogy ezek a másodlagos neutronkölcsönhatások a bitfordítási hibák elsődleges forrásai. A kozmikus sugarak gyakrabban fordulnak elő magasabb tengerszint feletti magasságban, 1,5 km-es tengerszint feletti magasságban 3,5-szeresére, a repülőgépek utazómagasságán pedig 300-szorosára. Ez a magasságban megnövekedett kockázat további megbízhatósági intézkedéseket tesz szükségessé.

Mennyire gyakoriak a memóriahibák?

A legtöbb ember nem látja, hogy minden nap összeomlik a számítógépe, így könnyű azt gondolni, hogy ez elsősorban elméleti kockázat. A hiperskálájú adatközpontok kutatását a bitváltási incidensek arányának elemzésére használták. A Google által az adatközpontokban végzett kutatások szerint a hibaarány nagyjából 1 egybites hiba/gigabájt RAM 1,8 óránként.

A NASA Cassini-Huygens küldetése, amely 1997-ben indult a Szaturnuszba utazva, két egyforma, egyenként 2,5 Gb RAM-mal rendelkező repülési számítógépet tartalmazott. Útjának első két és fél éve során az űrszonda napi 280 egybites hibát figyelt meg. Egy nap alatt, amikor Cassini-Huygens egy napkitörés útjába került, a bit négyszeresére nőtt. hibákat figyeltek meg, ami további bizonyítékot szolgáltat arra vonatkozóan, hogy a legtöbb bitváltást a Nap okozza problémák.

Aggályok merültek fel azzal kapcsolatban, hogy a RAM-modulok sűrűségének folyamatos növekedése a RAM későbbi verzióihoz vezet majd, amelyek egyre érzékenyebbek lesznek a bitátfordulásokkal szemben. Újabb tanulmányok kimutatták, hogy valójában ennek az ellenkezője a helyzet, mivel a hibák csökkentek a folyamatgeometria csökkenésével.

Hogyan véd az ECC memória a hibák ellen?

Az ECC memória hibajavító kódokat, például Hamming-kódokat használ a RAM egybites hibáinak javítására. A duplabites hibák észlelhetők, de nem javíthatók. A Hamming hibajavító kódok paritásbitek tömbjének használatával működnek. Ezek a paritásbitek együtt használhatók annak észlelésére, hogy az adatbitek megváltoztak-e. Ha a rendszer úgy azonosítja, hogy egy bit elfordult, akkor a rendszer automatikusan visszaváltja.

Tipp: Az egybites hiba egy bitváltási esemény, amikor csak egyetlen bit kerül átfordításra. Double0bit hibák esetén két bit átfordul. A két bitet nem kell ugyanabban az incidensben megfordítani, a második bitváltásnak csak az első átfordított bit javítása előtt kell megtörténnie.

A szükségesnél eggyel több paritásbitet tartalmaznak a Hamming hibajavító kódok. Ez az extra paritásbit lehetővé teszi a kódnak, hogy észlelje a duplabites hibák előfordulását, azonban ezeket a hibákat nem lehet javítani.

A hibafelismerés és -javítás folyamata a RAM stick fedélzetén lévő memóriavezérlőn történik.

Fogyasztói elérhetőség és támogatás

A legtöbb fogyasztói minőségű PC-hardver nem támogatja az ECC memóriát. Ez részben a szerverhardver és a fogyasztói hardver mesterséges megkülönböztetésének módszere. Az ECC RAM azonban többe kerül, és valamivel lassabban működik. Ezenkívül az otthoni fogyasztók számára biztosított extra stabilitás minimális, mivel nem a bitváltási hibák a rendszerösszeomlások elsődleges okai.

Az Intel egyik fogyasztói és rajongói szintű CPU-ja sem támogatja az ECC memóriát, csak a szerver szintű CPU-i, például a Xeon sorozatú CPU-k. Az AMD fogyasztói szintű CPU-i nem támogatják az ECC-t, azonban a munkaállomás- és szerverszintű CPU-ik, a Threadripper és az EPYC, támogatják az ECC memóriát.