Kas yra ECC atmintis. Kas yra ECC RAM? Buferinė RAM - kas tai? ecc įgalinta atmintis

Į klausimą Paaiškinkite, kas yra "ECC palaikymas" RAM, kurį pateikė autorius Alyonka geriausias atsakymas yra tai klaidų taisymo funkcija. tokia atmintis dedama į serverius, nes dėl klaidų jie negali atsilikti, išsijungti ar perkrauti. namų kompiuteriui tai nėra būtinas dalykas, nors ir naudingas. Jei nuspręsite ją įdiegti patys, įsitikinkite, kad jūsų pagrindinė plokštė palaiko tokio tipo RAM su ECC.
Šaltinis: ku

Atsakymas iš Lietaus nuneštas[guru]
ECC (Error Correct Code) – klaidų aptikimas ir taisymas (galimos ir kitos tos pačios santrumpos interpretacijos) – algoritmas, pakeitęs „pariteto patikrinimą“. Skirtingai nuo pastarojo, kiekvienas bitas yra įtrauktas į daugiau nei vieną kontrolinę sumą, kuri leidžia, įvykus klaidai viename bite, atkurti klaidos adresą ir jį ištaisyti. Paprastai aptinkamos ir dviejų bitų klaidos, nors jos ir nėra taisomos. Norint įgyvendinti šias galimybes, modulyje yra įdiegtas papildomas atminties lustas, kuris tampa 72 bitų, priešingai nei įprastinio modulio 64 duomenų bitai. ECC palaiko visos šiuolaikinės pagrindinės plokštės, skirtos serverių sprendimams, taip pat kai kurie „bendrosios paskirties“ mikroschemų rinkiniai. Kai kurie atminties tipai (registruotoji, pilnai buferinė) yra prieinami tik ECC versijoje. Reikėtų pažymėti, kad ECC nėra panacėja nuo netinkamos atminties ir yra naudojama atsitiktinių klaidų taisymui, sumažinant kompiuterio gedimų riziką dėl atsitiktinių atminties ląstelių turinio pokyčių, kuriuos sukelia išoriniai veiksniai, pavyzdžiui, foninė spinduliuotė.
Registruotus atminties modulius rekomenduojama naudoti sistemose, kurioms reikalinga (arba palaikoma) 4 GB ar daugiau RAM. Jie visada yra 72 bitai, tai yra, jie yra ECC moduliai ir juose yra papildomų registro lustų daliniam buferiui.
PLL-Phase Locked Loop - dažnio ir signalo fazių automatinio derinimo grandinė, skirta sumažinti atminties valdiklio elektrinę apkrovą ir padidinti stabilumą naudojant daug atminties lustų, naudojama visuose buferiniuose atminties moduliuose.
Buferinis – buferinis modulis. Dėl didelės bendros šiuolaikinių atminties modulių elektrinės talpos jų ilgas „įkrovimo“ laikas lemia daug laiko reikalaujančias rašymo operacijas. Siekiant to išvengti, kai kurie moduliai (dažniausiai 168 kontaktų DIMM) yra aprūpinti specialiu lustu (buferiu), kuris gana greitai išsaugo gaunamus duomenis, o tai atlaisvina valdiklį. Buferiniai DIMM paprastai nesuderinami su nebuferiniais. Iš dalies buferiniai moduliai taip pat vadinami „registruotaisiais“, o visiškai buferiniai moduliai – „FB-DIMM“. Šiuo atveju „nebuferinis“ reiškia įprastus atminties modulius be buferio įrenginių.
Paritetas – paritetas, moduliai su paritetu, taip pat paritetas. Gana senas duomenų vientisumo tikrinimo principas. Metodo esmė ta, kad duomenų baitui įrašymo stadijoje apskaičiuojama kontrolinė suma, kuri saugoma kaip specialus pariteto bitas atskirame luste. Kai duomenys nuskaitomi, kontrolinė suma dar kartą apskaičiuojama ir palyginama su pariteto bitu. Jei jie sutampa, duomenys laikomi autentiškais, kitu atveju generuojamas pariteto klaidos pranešimas (dažniausiai dėl to sistema sustabdoma). Akivaizdūs metodo trūkumai yra didelės atminties, reikalingos papildomiems pariteto bitams saugoti, sąnaudos, dvigubų klaidų pažeidžiamumas (taip pat klaidingi teigiami rezultatai, jei įvyksta klaidos paritetas), sistemos išjungimas net ir esant nedidelei klaidai (tarkime, vaizdo kadre). Šiuo metu netaikoma.
SPD - lustas DIMM atminties modulyje, kuriame yra visi duomenys apie jį (ypač informacija apie greitį), reikalingi pateikti normalus veikimas. Šie duomenys nuskaitomi kompiuterio savitikros stadijoje, dar gerokai prieš operacinės sistemos įkėlimą ir leidžia konfigūruoti prieigos prie atminties nustatymus, net jei sistemoje vienu metu yra skirtingi atminties moduliai. Kai kurios pagrindinės plokštės atsisako dirbti su moduliais, kurie neturi SPD lusto, tačiau dabar tokie moduliai yra labai reti ir daugiausia yra PC-66 moduliai.


Atsakymas iš Mowgley[guru]
atminties patikrinimas, ar nėra klaidų

Kaip suprantu, jo argumentai yra tokie:

  1. „Google“ nenaudojo ECC, kai 1999 m. sukūrė savo serverius.
  2. Dauguma RAM klaidų yra sisteminės, o ne atsitiktinės.
  3. RAM klaidų pasitaiko retai, nes Aparatūra pagerėjo.
  4. Jei ECC atmintis būtų tikrai svarbi, ji būtų naudojama visur, ne tik serveriuose. Mokėti už tokią pasirenkamą medžiagą akivaizdžiai per daug abejotina.
Panagrinėkime šiuos argumentus po vieną:

1. 1999 m. Google nenaudojo ECC

Jei ką nors darote tik todėl, kad „Google“ kažkada tai padarė, pabandykite:

A. Įdėkite savo serverius į siuntimo konteinerius.

Šiandien jie vis dar rašo straipsnius, kad tai puiki idėja, nors „Google“ ką tik atliko eksperimentą, kuris buvo laikomas nesėkmingu. Pasirodo, net „Google“ eksperimentai ne visada pasiteisina. Tiesą sakant, liūdnai pagarsėjęs jų pomėgis „proveržio projektams“ („looonshots“) reiškia, kad jie turi daugiau nesėkmingų eksperimentų nei dauguma įmonių. Mano nuomone, jiems tai yra reikšmingas konkurencinis pranašumas. Nepadidinkite šio pranašumo, aklai kopijuodami nesėkmingus eksperimentus.

B. Paleiskite gaisrus savo duomenų centruose.

Dalyje Atwood įrašo aptariama, kokie nuostabūs buvo šie serveriai:

Kai kurie gali pažvelgti į šiuos ankstyvuosius „Google“ serverius ir pamatyti neprofesionalumą dėl gaisro pavojaus. Ne aš. Čia matau vizionierišką supratimą apie tai, kaip pigi, jau paruošta aparatinė įranga formuos šiuolaikinį internetą.

Paskutinė to, kas pasakyta, dalis yra tiesa. Tačiau pirmoje dalyje yra dalis tiesos. Kai „Google“ pradėjo kurti savo plokštes, viena jų karta turėjo „augimo“ problemą ( ), kuri sukėlė ne nulinį gaisrų skaičių.

Beje, jei nueisite į Jeffo įrašą ir pažiūrėsite į citatoje nurodytą nuotrauką, pamatysite, kad ant plokščių yra daug jungiamųjų kabelių. Tai sukėlė problemų ir buvo ištaisyta naujos kartos aparatinėje įrangoje. Taip pat matosi gana netvarkingi kabeliai, kurie papildomai sukėlė problemų ir buvo greitai sutvarkyti. Buvo ir kitų problemų, bet paliksiu jas kaip pratimą skaitytojui.

C. Sukurkite serverius, kurie sužalotų jūsų darbuotojus

Dėl aštrių „Google“ serverių kartos briaunų jie užsitarnavo „skutimosi peiliukų ir neapykantos“ reputaciją.

D. Duomenų centruose sukurkite savo orus

Pabendravus su daugelio didelių technologijų įmonių darbuotojais, atrodo, kad dauguma įmonių buvo taip kontroliuojamos klimato, kad jų duomenų centruose susidarė debesys ar rūkas. Galima tai pavadinti „Google“ apgalvotu ir apgaulingu planu atkartoti Sietlo orą, kad būtų pavogti „Microsoft“ darbuotojai. Arba tai gali būti planas sukurti tiesiogine prasme „debesų kompiuteriją“. O gal ir ne.

Atminkite, kad viskas, ką nurodė „Google“, buvo išbandyta ir pasikeitė. Daryti klaidas ir jas taisyti yra įprasta bet kurioje sėkmingoje vystymo organizacijoje. Jei dievinate inžinerinę praktiką, turėtumėte bent jau laikytis šiuolaikinės praktikos, o ne to, kas buvo padaryta 1999 m.

Kai 1999 m. „Google“ naudojo ne ECC serverius, jie parodė daugybę simptomų, kurie galiausiai buvo nustatyti kaip atminties sugadinimas. Įskaitant paieškos indeksą, kuris užklausose pateikė beveik atsitiktinius rezultatus. Tikrasis gedimo režimas čia yra pamokantis. Dažnai girdžiu, kad šiose mašinose ECC galima nepaisyti, nes atskirų rezultatų klaidos yra priimtinos. Tačiau net jei manote, kad atsitiktinės klaidos yra priimtinos, jų ignoravimas reiškia visiško duomenų sugadinimo pavojų, nebent būtų atlikta kruopšti analizė, siekiant įsitikinti, kad viena klaida gali tik šiek tiek iškraipyti vieną rezultatą.

Atliktuose tyrimuose failų sistemos ai, ne kartą buvo įrodyta, kad, nepaisant herojiškų bandymų sukurti sistemas, atsparias vienai klaidai, tai padaryti yra nepaprastai sunku. Iš esmės kiekviena stipriai patikrinta failų sistema gali turėti rimtų gedimų dėl vienos klaidos (). Neketinu pulti failų sistemų kūrėjų. Jie geriau atlieka tokią analizę nei 99,9% programuotojų. Tiesiog ne kartą buvo įrodyta, kad problema yra tokia sudėtinga, kad žmonės negali jos pagrįstai aptarti, o automatizuotas tokios analizės įrankis dar toli gražu nėra paprastas mygtuko paspaudimas. „Google Warehouse Computer Handbook“ aptaria klaidų aptikimą ir taisymą, o ECC atmintis laikoma geriausiu pasirinkimu, kai akivaizdu, kad reikia naudoti aparatinės įrangos klaidų taisymą ( ).

„Google“ turi puikią infrastruktūrą. Iš to, ką girdėjau apie kitų didžiųjų technologijų įmonių infrastruktūrą, „Google“ atrodo geriausia pasaulyje. Bet tai nereiškia, kad turėtumėte kopijuoti viską, ką jie daro. Net jei svarstomos tik jų geros idėjos, daugumai įmonių nėra prasmės jas kopijuoti. Jie sukūrė „Linux“ užduočių kabliuko planavimo priemonės pakaitalą, kuris naudoja ir aparatūros vykdymo informaciją, ir statinius pėdsakus, kad galėtų pasinaudoti naujos „Intel“ serverių procesorių aparatinės įrangos pranašumais, leidžiančiais dinamiškai skaidyti talpyklą tarp branduolių. Jei naudosite tai visoje jų aparatinėje įrangoje, „Google“ per savaitę sutaupys daugiau pinigų, nei „Stack Exchange“ išleido visiems savo įrenginiams per visą savo istoriją. Ar tai reiškia, kad turite kopijuoti „Google“? Ne, nebent jau jus užklupo manna iš dangaus, pavyzdžiui, jūsų pagrindinė infrastruktūra parašyta labai optimizuotu C++, o ne Java ar (neduok Dieve) Ruby. Ir faktas yra tas, kad didžiajai daugumai įmonių programų rašymas kalba, dėl kurios produktyvumas sumažėja 20 kartų, yra visiškai pagrįstas sprendimas.

2. Dauguma RAM klaidų yra sisteminės klaidos

Argumentas prieš ECC atkartoja šią DRAM klaidų tyrimo dalį (pabrėžė Jeffas):
Mūsų tyrimas turi keletą pagrindinių rezultatų. Pirma, mes nustatėme, kad maždaug 70% DRAM gedimų yra pasikartojantys (pvz., nuolatiniai) gedimai, o tik 30% yra pertrūkiai (protarpiniai) gedimai. Antra, nustatėme, kad dideli kelių bitų gedimai, pvz., gedimai, paveikiantys visą eilutę, stulpelį ar bloką, sudaro daugiau nei 40 % visų DRAM gedimų. Trečia, mes nustatėme, kad beveik 5% DRAM gedimų turi įtakos plokštės lygio grandinėms, tokioms kaip duomenų (DQ) arba vartų (DQS) linijos. Galiausiai nustatėme, kad „Chipkill“ funkcija sumažino sistemos gedimų, kuriuos sukelia DRAM gedimai, dažnį 36 kartus.

Citata atrodo šiek tiek ironiška, nes atrodo, kad tai ne argumentas prieš ECC, o argumentas už Chipkill – tam tikrą ECC klasę. Atmetus tai, Jeffo įrašas rodo, kad sisteminės klaidos yra dvigubai dažnesnės nei atsitiktinės. Tada įraše rašoma, kad jie paleidžia memtest savo įrenginiuose, kai atsiranda sisteminių klaidų.

Pirma, santykis 2:1 nėra pakankamai didelis, kad būtų tiesiog nepaisoma atsitiktinių klaidų. Antra, šis įrašas reiškia Jeffo įsitikinimą, kad sisteminės klaidos iš esmės yra nekintamos ir po kurio laiko negali pasirodyti. Tai netiesa. Elektronika susidėvi taip pat, kaip ir mechaniniai įrenginiai. Mechanizmai skiriasi, bet poveikis panašus. Iš tiesų, jei palyginsime lusto patikimumo analizę su kitų tipų patikimumo analize, pamatysime, kad jos dažnai naudoja tas pačias paskirstymo šeimas gedimų modeliavimui. Trečia, Jeffo samprotavimai reiškia, kad ECC negali padėti aptikti ar ištaisyti klaidų, o tai ne tik neteisinga, bet ir tiesiogiai prieštarauja citatai.

Taigi, kaip dažnai ketinate paleisti „memtest“ savo įrenginiuose, kad nustatytų šias sistemos klaidas, ir kiek duomenų praradimo esate pasirengę ištverti? Vienas iš pagrindinių ECC naudojimo būdų yra ne klaidų taisymas, o klaidų signalizavimas, kad aparatinę įrangą būtų galima pakeisti prieš įvykstant „tyliajai korupcijai“. Kas sutiktų kiekvieną dieną uždaryti viską mašinoje, kad būtų paleistas memtestas? Tai būtų daug brangiau nei tiesiog nusipirkti ECC atmintį. Ir net jei galėtumėte mane įtikinti atlikti atminties testą, memtest nerastų tiek klaidų, kiek gali ECC.

Kai dirbau įmonėje, turinčioje apie tūkstantį mašinų parką, pastebėjome, kad susiduriame su keistais duomenų vientisumo patikrinimo gedimais, o maždaug po šešių mėnesių supratome, kad kai kurių mašinų gedimai yra labiau tikėtini nei kitų. Šie gedimai pasitaikydavo gana retai (gal vidutiniškai porą kartų per savaitę), todėl kaupti informaciją ir suprasti, kas vyksta, užtruko ilgai. Nežinant priežasties, analizuoti žurnalus, siekiant išsiaiškinti, ar klaidas sukėlė vieno bito apvertimas (su didele tikimybe), taip pat buvo nereikšminga. Mums pasisekė, kad kaip šalutinis mūsų naudojamo proceso poveikis, kontrolinės sumos buvo apskaičiuojamos atskirame procese skirtingame kompiuteryje skirtingu laiku, todėl klaida negalėjo sugadinti rezultato ir perduoti šios sugadinimo kontrolinei sumai.

Jei tik bandote apsisaugoti naudodami atmintyje esančias kontrolines sumas, yra didelė tikimybė, kad atliksite jau sugadintų duomenų kontrolinės sumos operaciją ir gausite teisingą blogų duomenų kontrolinę sumą, nebent atliekate tikrai įmantrius skaičiavimus. kurie pateikia savo kontrolines sumas. Ir jei rimtai norite taisyti klaidas, tikriausiai vis dar naudojate ECC.

Bet kokiu atveju, atlikę analizę, nustatėme, kad memtest negali aptikti jokių problemų, tačiau pakeitus RAM bloguose įrenginiuose klaidų lygis sumažėjo viena ar dviem dydžiais. Dauguma paslaugų neturi tokių kontrolinių sumų, kokias turėjome mes; šios paslaugos tiesiog tyliai įrašys sugadintus duomenis į nuolatinę saugyklą ir nematys problemos, kol klientas nepaskundžia.

3. Dėl techninės įrangos tobulėjimo klaidų tapo labai retai.

Tokiam teiginiui įrašo duomenų neužtenka. Atminkite, kad didėjant ir eksponentiškai didėjant RAM naudojimui, RAM gedimų skaičius turi mažėti sparčiau, kad iš tikrųjų sumažėtų duomenų sugadinimo dažnis. Be to, kai lustai ir toliau mažėja, ląstelės mažėja, todėl antrajame punkte aptartos nusidėvėjimo problemos tampa aktualesnės. Pavyzdžiui, naudojant 20 nm technologiją, DRAM kondensatorius gali sukaupti maždaug 50 elektronų, ir šis skaičius bus mažesnis kitos kartos DRAM, o toliau mažės.

Dar viena pastaba: mokėdami už ECC, mokate ne tik už ECC atmintį – mokate už dalis (procesorius, plokštes), kurios yra kokybiškesnės. Tai galima lengvai pastebėti naudojant disko gedimų dažnį, ir aš girdėjau, kad daugelis žmonių tai pastebi savo asmeniniuose stebėjimuose.

Cituojant viešai prieinamus tyrimus, kiek pamenu, Andrea ir Ramsey grupė prieš kelerius metus išleido SIGMETRICS dokumentą, kuris parodė, kad SATA diskas buvo 4 kartus didesnis nei SCSI diskas ir 10 kartų didesnė tikimybė. turėti paslėptų duomenų sugadinimo. Šis santykis buvo išlaikytas net naudojant to paties gamintojo diskus. Nėra jokios ypatingos priežasties manyti, kad SCSI sąsaja turėtų būti patikimesnė nei SATA sąsaja, tačiau tai ne apie sąsają. Mes kalbame apie labai patikimų serverio komponentų pirkimą, palyginti su klientų komponentais. Galbūt disko patikimumas jūsų konkrečiai nesidomi, nes viską turite ant kontrolinių sumų, o pažeidimai yra lengvai randami, tačiau yra tam tikrų pažeidimų, kuriuos sunkiau aptikti.

4. Jei ECC atmintis būtų tikrai svarbi, ji būtų naudojama visur, ne tik serveriuose.

Šiek tiek perfrazuojant šį argumentą, galime pasakyti, kad „jei ši charakteristika būtų tikrai svarbi serveriams, ji būtų naudojama ir ne serveriuose“. Šį argumentą galite pritaikyti daugeliui serverio aparatinės įrangos. Tiesą sakant, tai yra viena iš labiausiai varginančių problemų, su kuriomis susiduria pagrindiniai debesų tiekėjai.

Jie turi pakankamai svertų, kad gautų daugumą komponentų už tinkamą kainą. Tačiau derybos veiks tik tada, kai yra daugiau nei vienas perspektyvus tiekėjas.

Viena iš nedaugelio sričių, kurioje nėra perspektyvių konkurentų, yra centrinių procesorių ir vaizdo greitintuvų gamyba. Didžiųjų tiekėjų laimei, jiems dažniausiai nereikia vaizdo greitintuvų, reikia procesorių, daug – taip jau seniai. Buvo keli procesorių pardavėjai bandymai patekti į serverių rinką, tačiau kiekvienas toks bandymas nuo pat pradžių visada turėjo lemtingų trūkumų, todėl buvo akivaizdu, kad jis buvo pasmerktas (o tai dažnai yra projektai, kuriems reikia mažiausiai 5 metų, t. y. tai buvo būtina). praleisti daug laiko nepasitikėdamas sėkme).

„Qualcomm“ pastangos sulaukė daug triukšmo, bet kai kalbuosi su savo „Qualcomm“ kontaktais, jie visi man sako, kad šiuo metu gaminamas lustas iš esmės yra skirtas testavimui. Taip atsitiko todėl, kad „Qualcomm“ reikėjo išmokti sukurti serverio lustą iš visų žmonių, kuriuos ji paėmė iš IBM, ir kad kitas lustas bus pirmasis, kuris, tikėkimės, galėtų būti konkurencingas. Labai tikiuosi su Qualcomm, o taip pat ir į ARM pastangas sukurti gerus serverio komponentus, tačiau šios pastangos dar nedavė norimo rezultato.

Beveik visiškas dabartinių ARM (ir POWER) parinkčių netinkamumas (neskaitant hipotetinių įspūdingo Apple ARM lusto variantų) daugeliui serverių darbo krūvių, atsižvelgiant į našumą, tenkantį vienam doleriui bendros nuosavybės kainos (TCO), yra tema, kuri šiek tiek nukrypsta , todėl kol kas tai paliksiu.kitas leidinys. Tačiau esmė ta, kad „Intel“ užima poziciją rinkoje, kuri gali priversti žmones mokėti papildomai už serverio funkcijas. Ir Intel tai daro. Be to, kai kurios funkcijos yra tikrai svarbesnės serveriams nei serveriams mobiliuosius įrenginius su keliais gigabaitais RAM ir kelių vatų energijos biudžetu, mobilieji įrenginiai, kurie vis dar turėtų periodiškai strigti ir persikrauti.

Išvada

Ar turėčiau nusipirkti ECC RAM? Tai priklauso nuo daugelio dalykų. Atsižvelgiant į išlaidas, tai tikriausiai yra geras pasirinkimas serveriams. Vis dėlto iš tikrųjų sunku atlikti sąnaudų ir naudos analizę, nes gana sunku nustatyti latentinės duomenų sugadinimo išlaidas arba išlaidas, susijusias su rizika prarasti pusę metų kūrėjo laiko, skirto susekti protarpines gedimus, tik nustatant, kad jas sukėlė ne ECC atminties naudojimas.

Kalbant apie stalinius kompiuterius, aš taip pat esu ECC šalininkas. Bet jei nedarote reguliarių atsarginių kopijų, jums naudingiau investuoti į įprastas atsargines kopijas, o ne į ECC atmintį. O jei turi atsargines kopijas be ECC, galite lengvai įrašyti sugadintus duomenis į pagrindinę saugyklą ir pakartoti šiuos sugadintus duomenis į atsarginę kopiją.

Dėkojame Prabhakarui Ragdai, Tomui Murphy, Jay Weiskopfui, Leah Hanson, Joe Wilderiui ir Ralph Corderoy už diskusijas / komentarus / pataisymus. Be to, ačiū (o gal ne ačiū) Leah, kad įtikino mane parašyti šį žodinį ekspromtu kaip tinklaraščio įrašą. Atsiprašome už klaidas, nuorodų trūkumą ir didingą prozą; tai iš esmės yra pusės diskusijos įrašas, ir aš nepaaiškinau terminų, nepateikiau nuorodų ar netikrinau faktų iki tokio išsamumo lygio, kaip paprastai darau.

Vienas juokingas pavyzdys yra (bent jau man) stebuklinga savaime išgydanti lydanti nuoroda. Nors įgyvendinimų yra daug, įsivaizduokite, kad mikroschemos lydieji jungtis yra tam tikras rezistorius. Jei per jį praleidžiate šiek tiek srovės, turėtumėte gauti ryšį. Jei srovė yra per didelė, rezistorius įkais ir galiausiai sugenda. Tai dažniausiai naudojama norint išjungti elementus lustuose arba tokiai veiklai kaip laikrodžio greičio nustatymas. Pagrindinis principas yra tas, kad perdegus džemperiui nėra galimybės jo grąžinti į pradinę būseną.

Seniai buvo vienas puslaidininkių gamintojas, kuris šiek tiek paskubėjo su savo gamybos procesu ir šiek tiek per daug sumažino tam tikros technologijos kartos tolerancijas. Po kelių mėnesių (ar metų) ryšys tarp dviejų tokio džemperio galų galėjo vėl atsirasti ir jį atkurti. Jei pasiseks, toks trumpiklis bus kažkas panašaus į patį reikšmingiausią laikrodžio daugiklio bitą, kurį pakeitus lustas bus išjungtas. Jei nepasiseks, tai sugadins paslėptus duomenis.

Apie šios šio gamintojo technologinės kartos problemas girdėjau iš daugybės žmonių įvairiose įmonėse, tad tai nebuvo pavieniai atvejai. Kai sakau, kad tai juokinga, turiu omenyje, kad juokinga girdėti šią istoriją bare. Mažiau juokinga po metų testavimo sužinoti, kad kai kurie jūsų lustai neveikia, nes jų trumpiklio nustatymai yra beprasmiai ir jums reikia perdaryti lustą ir atidėti išleidimą 3 mėn. Beje, ši suliejamos nuorodos atkūrimo situacija yra dar vienas klaidų klasės, kurią galima sumažinti naudojant ECC, pavyzdys.

Tai nėra „Google“ problema; Paminėju tai tik todėl, kad daugelis žmonių, su kuriais kalbu, yra nustebę, kaip gali sugesti aparatinė įranga.

Jei nenorite gilintis į visą knygą, čia yra fragmentas:

Sistemoje, kuri gali atlaikyti daugybę gedimų programinės įrangos lygiu, minimalus reikalavimas aparatinės įrangos daliai yra tas, kad šios dalies gedimai visada būtų aptikti ir apie juos pranešama. programinė įranga pakankamai laiku, kad programinės įrangos infrastruktūra galėtų juos įtraukti ir imtis atitinkamų atkūrimo veiksmų. Nebūtina, kad aparatinė įranga aiškiai tvarkytų visus gedimus. Tai nereiškia, kad tokių sistemų techninė įranga turėtų būti sukurta be klaidų taisymo galimybių. Kai galima pasiūlyti klaidų taisymo funkciją už priimtiną kainą ar sudėtingumą, ją palaikyti dažnai apsimoka. Tai reiškia, kad jei aparatinės įrangos klaidų taisymas būtų labai brangus, tada sistema gali naudoti pigesnę versiją, kuri suteikia tik aptikimo galimybes. Dabartinės DRAM sistemos yra geras pavyzdys situacijos, kai galima atlikti galingą klaidų taisymą už labai mažą papildomą kainą. Tačiau sušvelninti reikalavimą aptikti aparatinės įrangos klaidas būtų daug sunkiau, nes tai reikštų, kad kiekvienas programinės įrangos komponentas būtų apkrautas poreikiu patikrinti savo teisingą vykdymą. Pradiniame jos etape google istorija Teko susidurti su serveriais, kuriuose DRAM net neturėjo pariteto. Žiniatinklio paieškos indekso kūrimas iš esmės susideda iš labai didelės rūšiavimo / sujungimo operacijos, naudojant kelis įrenginius. 2000 m. vieno iš „Google“ mėnesinių žiniatinklio indeksų atnaujinimų nepavyko iš anksto patvirtinti, kai buvo nustatyta, kad patikrintų užklausų poaibis grąžino dokumentus, matyt, atsitiktinai. Atlikus kai kuriuos tyrimus, naujuose indekso failuose buvo rasta situacija, kuri atitiko bito fiksavimą iki nulio tam tikroje duomenų struktūrų vietoje, o tai buvo neigiamas šalutinis poveikis srautui perduodant didelį duomenų kiekį per sugedusią DRAM lustą. Siekiant sumažinti šios problemos pasikartojimo tikimybę, indekso duomenų struktūrų nuoseklumo patikros buvo įtrauktos, ir daugiau tokio pobūdžio problemų nebuvo. Tačiau reikia pažymėti, kad šis metodas negarantuoja 100% klaidų aptikimo indeksavimo eigoje, nes tikrinamos ne visos atminties pozicijos - pavyzdžiui, instrukcijos lieka nepažymėtos. Tai pavyko, nes indekso duomenų struktūros buvo daug didesnės nei visi kiti skaičiavime naudojami duomenys, kad dėl šių savikontrolės duomenų struktūrų labai tikėtina, kad mašinos su defektuota DRAM bus identifikuotos ir pašalintos iš klasterio. Naujos kartos „Google“ mašinose jau buvo atminties pariteto aptikimas, o kai ECC atminties kaina nukrito iki konkurencingo lygio, visos paskesnės kartos naudojo ECC-DRAM.

Žymos: pridėti žymų

Taip pat ECC duomenų apsaugos schemos gali būti taikomos mikroprocesoriuose įmontuotai atminčiai: talpyklai, registro bylai. Kartais valdymas taip pat pridedamas prie skaičiavimo grandinių.

Problemos aprašymas

Nerimaujama, kad dėl mažesnių fizinių atminties modulių matmenų tendencijos padidės klaidų lygis dėl to, kad mažesnės energijos dalelės galės pakeisti bitą. Kita vertus, kompaktiškas atminties dydis sumažina tikimybę, kad į ją pateks dalelių. Be to, perėjus prie tokių technologijų kaip silicis ant izoliatoriaus, atmintis gali tapti stabilesnė.

Daugelyje „Google“ serverių atliktas tyrimas parodė, kad klaidų skaičius gali svyruoti nuo 25 000 iki 70 000 klaidų per milijardą darbo valandų (įrenginio valandų) per megabitą (ty 2,5–7,0 × 10–11 klaidų). / bitvalandė).

Technologijos

Vienas iš šios problemos sprendimų yra paritetas – naudojant papildomą bitą, kuris įrašo likusių bitų paritetą. Šis metodas leidžia aptikti klaidas, bet neleidžia jų ištaisyti. Taigi, aptikus klaidą, galite tik nutraukti programos vykdymą.

Patikimesnis metodas yra tas, kai naudojami klaidų taisymo kodai. Dažniausiai naudojamas klaidų taisymo kodas yra Hamingo kodas. Dauguma šiuolaikiniuose kompiuteriuose naudojamų klaidų taisymo atmintinių gali ištaisyti vieno bito klaidą viename 64 bitų mašinos žodyje ir aptikti, bet neištaisyti, dviejų bitų klaidą viename 64 bitų žodyje.

Veiksmingiausias klaidų taisymo būdas priklauso nuo laukiamų klaidų. Dažnai manoma, kad skirtingi bitai keičiasi nepriklausomai. Šiuo atveju dviejų klaidų viename žodyje tikimybė yra nežymiai maža. Tačiau ši prielaida nepasitvirtina šiuolaikiniai kompiuteriai. Atmintis, pagrįsta klaidų taisymo technologija Chipkill(IBM), leidžia ištaisyti kelias klaidas, įskaitant tuos atvejus, kai sugadinta visa atminties mikroschema. Kitos atminties taisymo technologijos, kurios neprisiima nepriklausomybės nuo skirtingų bitų klaidų, apima Išplėstas ECC(„Sun Microsystems“), Chipspare(„Hewlett-Packard“) ir SDDC(„Intel“).

Daugelis senesnių sistemų nepranešė apie ištaisytas klaidas, pranešdavo tik apie klaidas, kurios buvo rastos ir kurių nepavyko ištaisyti. Šiuolaikinės sistemos fiksuoja ir ištaisytas klaidas (CE, anglų kalbos taisomos klaidos), ir nepataisomas klaidas (UE, angl. uncorrectable errors). Tai leidžia laiku pakeisti sugadintą atmintį: nepaisant to, kad didelis ištaisytų klaidų skaičius, kai nėra neištaisomų klaidų, neturi įtakos teisingam atminties veikimui, tai gali reikšti, kad tam tikram atminties moduliui yra neištaisomų klaidų tikimybė. ateityje padidės.

Privalumai ir trūkumai

Klaidų taisymo atmintis apsaugo nuo neteisingo kompiuterinės sistemos veikimo dėl atminties sugadinimo ir sumažina mirtino sistemos gedimo tikimybę. Tačiau tokia atmintis kainuoja daugiau; klaidų taisymo atmintį palaikanti pagrindinė plokštė, mikroschemų rinkinys ir procesorius taip pat gali būti brangesni, todėl tokia atmintis naudojama sistemose, kuriose svarbu sklandus ir teisingas veikimas, pavyzdžiui, failų serveris, mokslinės ir finansinės programos.

Priklausomai nuo programos, klaidų taisymo atmintis yra 2–3% lėtesnė (dažnai reikalingas vienas papildomas atminties valdiklio ciklas sumoms patikrinti) nei įprastinė atmintis. Papildoma logika, įgyvendinanti skaičiavimą, ECC tikrinimą ir klaidų taisymą, reikalauja loginių išteklių ir laiko, kad veiktų arba pačiame atminties valdiklyje, arba sąsajoje tarp procesoriaus ir atminties valdiklio.

taip pat žr

Pastabos

  1. Verneris Fišeris. Atskleista RAM (neterminuota) . admin-magazine.com. Žiūrėta 2014 m. spalio 20 d.
  2. Archyvuota kopija (neterminuota) (nuoroda nepasiekiama). Gauta 2016 m. lapkričio 20 d. Suarchyvuota nuo originalo 2016 m. balandžio 18 d.
  3. Vieno įvykio sutrikimas žemės lygyje, Eugene'as Normandas, IEEE narys, „Boeing Defense & Space Group“, Sietlas, WA 98124-2499
  4. „Skaičiavimo sistemų modeliavimo ir patikimumo gerinimo metodų tyrimas“, IEEE TPDS, 2015 m.
  5. Kuznecovas V. V. Saulės-žemės fizika (paskaitų kursas fizikos studentams). 7 paskaita. Saulės aktyvumas. // Saulės audros. Gorno-Altajaus valstybinis universitetas. 2012 m
  6. Gary M. Swiftas ir Stevenas M. Guertinas. „Kelių bitų sutrikimo DRAM stebėjimai skrydžio metu“. Reaktyvinio judėjimo laboratorija
  7. Borucki, „Pagreitintų DRAM minkštųjų klaidų dažnio, išmatuoto komponento ir sistemos lygiu, palyginimas“, 46-asis metinis tarptautinis patikimumo fizikos simpoziumas, Finiksas, 2008 m., p. 482–487
  8. Schroederis, Bianca; Pinheiro, Eduardo; Weberis, Wolfas-Dietrichas. DRAM klaidos laukinėje gamtoje: didelio masto lauko tyrimas (neapibrėžtas) // SIGMETRICS/Performance. - ACM, 2009. - ISBN 978-1-60558-511-6.
  9. StrongArm SA-1110 naudojimas „Nanosatellite“ borto kompiuteryje (neterminuota) . Tsinghua kosmoso centras, Tsinghua universitetas, Pekinas. Gauta 2009 m. vasario 16 d. Suarchyvuota nuo originalo 2011 m. spalio 2 d.
  10. Dougas Thompsonas, Mauro Carvalho Chehabas. "EDAC – klaidų aptikimas ir taisymas" Suarchyvuota iš originalo 2009 m. rugsėjo 5 d. . 2005–2009 m. "Edac" branduolio modulio tikslas yra aptikti ir pranešti apie klaidas, atsirandančias kompiuterio sistemoje, veikiančioje Linux sistemoje."
  11. ECC diskusija apie pcguide (neterminuota) . Pcguide.com (2001 m. balandžio 17 d.). Žiūrėta 2011 m. lapkričio 23 d.

1 puslapis iš 10

Žiniatinklyje teminiuose forumuose dažnai galite pamatyti klausimus apie klaidų taisymo atmintį, ty jos poveikį sistemos veikimui. Šiandienos testas atsakys į šį klausimą.

Prieš skaitant šią medžiagą, rekomenduojame susipažinti su medžiaga ir platforma LGA1151.

teorija

Prieš testuodami pakalbėkime apie atminties klaidas.
Atmintyje atsirandančias klaidas galima suskirstyti į du tipus – aparatinę ir atsitiktinę. Pirmųjų atsiradimo priežastis yra sugedę DRAM lustai. Pastarosios atsiranda dėl elektromagnetinių trukdžių, spinduliuotės, alfa ir elementariųjų dalelių ir kt. Atitinkamai, aparatinės įrangos klaidas galima ištaisyti tik pakeičiant DRAM lustus, o atsitiktines klaidas galima ištaisyti naudojant specialias technologijas, pavyzdžiui, ECC (Error-Correcting Code). ECC klaidų taisymas savo arsenale turi du metodus: SEC (vienos klaidos taisymas) ir DED (dvigubo klaidų aptikimo). Pirmasis ištaiso vieno bito klaidas 64 bitų žodyje, o antrasis aptinka dviejų bitų klaidas.
Aparatinės įrangos ECC įgyvendinimas yra skirtas papildomiems atminties lustams, kurių reikia norint įrašyti 8 bitų kontrolines sumas. Taigi, klaidas taisantis vienpusio dizaino atminties modulis turės 9 atminties lustus, o ne 8 (kaip standartinis modulis), o dvipusis - 18, o ne 16. Tuo pačiu metu plotis modulis padidėja nuo 64 iki 72 bitų.
Skaitant duomenis iš atminties, kontrolinė suma perskaičiuojama ir palyginama su pradine. Jei klaida yra viename bite, ji ištaisoma, jei dviejuose – aptinkama.

Praktika

Teoriškai viskas gerai – klaidų taisymo atmintis padidina sistemos patikimumą, o tai labai svarbu kuriant serverį ar darbo vietą. Tačiau praktiškai yra ir finansinė šio klausimo pusė. Jei serveriui reikalinga klaidų taisymo atmintis, tai darbo stotis gali apsieiti ir be ECC (daugelis jau paruoštų skirtingų gamintojų darbo stočių yra aprūpintos įprastine RAM). Kiek brangesnė atmintis su klaidų taisymu?
Įprastas 8 GB DDR4-2133 modulis kainuoja apie 39 USD, o ECC modulis kainuoja 48 USD (rašymo metu). Kainų skirtumas yra apie 23%, o tai iš pirmo žvilgsnio yra gana reikšmingas. Bet jei pažvelgsite į bendrą darbo vietos kainą, šis skirtumas neviršys 5% jos. Taigi perkant atmintį su ECC tik šiek tiek padidėja darbo vietos savikaina. Lieka vienintelis klausimas, kaip atmintis su ECC veikia procesoriaus našumą.
Norėdami atsakyti į šį klausimą, svetainės redaktoriai išbandymui paėmė Samsung DDR4-2133 ECC ir Kingston DDR4-2133 atminties modulius, kurių laikas yra toks pat 15-15-15-36 ir 8 GB.

„Samsung M391A1G43DB0-CPB“ atminties moduliuose su klaidų taisymu kiekvienoje pusėje yra lituojami 9 lustai.

Įprastuose Kingston KVR21N15D8 / 8 atminties moduliuose kiekvienoje pusėje yra lituojami 8 lustai.

Bandymo stendas: Intel Xeon E3-1275v5, Supermicro X11SAE-F, Samsung DDR4-2133 ECC 8GB, Kingston DDR4-2133 ne ECC 8GB

Detalizavimas

Procesorius: (HT įjungtas; TB išjungtas);
- Pagrindinė plokštė: ;
- RAM: 2x (M391A1G43DB0-CPB), 2x (KVR21N15D8/8);
- OS: .

Testo metodika

3DMark06 1.21;
- 7zip 15,14;
- AIDA64 5,60;
- Cinebench R15;
- Fritz 4.2;
- Geekbench 3.4.1;
- Lux Mark v3.1;
- MaxxMEMI 1,99;
- Pass Mark v8;
- RealBench v2.43;
- SiSoftware Sandra 2016;
- SVPmark v3.0.3b;
- TrueCrypt 7.1a;
- WinRAR 5.30;
- wPrime 2.10;
- x264 v5.0.1;
- x265 v0.1.4;
- Krakenas;
- oktaninis skaičius;
- Oktanas 2,0;
- Taikos sargas;
- Saulės voras;
- Web XPRT.

mob_info