Miksi tietokoneet eivät käytä virheenkorjausta RAM-muistissa? ”Koska Intel”, sanoo Linus

Suurenna / Olemme nauttineet ystävällisemmästä, lempeämmästä Linus Torvaldsista parin viime vuoden ajan .. mutta se ei tarkoita sitä, että hän lopetti mielipiteiden saamisen.

Tänä maanantaina Linux-ytimen luoja Linus Torvalds jatkoi turhautunutta virheenkorjauksen (ECC) RAM-muistin puutetta kuluttajatietokoneissa ja kannettavat tietokoneet.

… ”Kuluttajien ei tarvitse ECC: tä” harhaanjohdettu ja takaperin pidetty politiikka, ECC-muistin markkinat häviävät.

ECC: tä vastaan esitetyt väitteet olivat aina täydellisiä ja heittivät roskaa. Nyt jopa muistinvalmistajat alkavat tehdä ECC: tä sisäisesti, koska he omistivat lopulta sen, että heidän on ehdottomasti pakko.

Jos et ole perehtynyt ECC-muistiin, se johtuu todennäköisesti siitä, että et rakenna tai määritä omistettuja palvelimia palvelintason CPU: illa ja emolevyillä – mikä valitettavasti on noin ainoa paikka, josta todella löydät ECC: n. Lyhyesti sanottuna ECC RAM sisältää pienen määrän ylimääräistä muistia, jota käytetään virheiden havaitsemiseen ja korjaamiseen.

Muistivirheet ja todennäköisyys

Useimmissa nykyaikaisissa toteutuksissa tämä tarkoittaa jokaiselle 64- RAM-muistiin tallennettu bittisana on kahdeksan tarkistusbittiä. Yksittäinen bittivirhe – 0 käännetty arvoon 1 tai 1 käännetty arvoon 0 – voidaan sekä havaita että korjata automaattisesti. Kaksi samassa sanassa käännettyä bittiä voidaan havaita, mutta ei korjata. Kolme tai useampaa samassa sanassa käännettyä bittiä todennäköisesti havaitaan, mutta havaitsemista ei taata.

Bittikäännöksiä voi tapahtua monista syistä alkaen kosmisen säteen vaikutuksesta tai yksinkertaisesta laitteistoviasta. Suuressa mittakaavassa Googlen palvelimista tehdyssä tutkimuksessa havaittiin, että noin 32 prosentilla kaikista Googlen palvelinten palvelimista (ja 8 prosenttia kaikista DIMM-moduuleista) on vähintään yksi muistivirhe vuodessa. Mutta suurin osa näistä on yhden bitin virheitä – ja koska Google käyttää palvelimen suorittimia ja ECC-muistia, tämä tarkoittaa, että kyseiset koneet jatkavat kuorma-autojen kulkua.

Näytä lisää

Kuluttajakoneissa jopa nämä yhden bitin virheet – jotka tapahtuvat Googlen tietojen mukaan yli 40 kertaa todennäköisemmin kuin monibittiset virheet – jäävät huomaamatta ja voivat ottaa käyttöön epävakaus järjestelmiin ja korruptio tietoihin.

Bittikäännöt eivät aina ole vahingossa

Kaikki RAM-virheet eivät johdu laitteistovikoista tai tahattomista EMF-ongelmista. Viime vuosina tutkijat ovat kehittäneet yhä käytännöllisempiä fysiikkaan perustuvia sivukanavan hyökkäyksiä käyttämällä kontrolloituja, nopeita bittisäätöjä RAM-alueilla, joihin on pääsy yhdelle sovellukselle, jotta voidaan päätellä tai muuttaa tietojen arvoja viereisillä RAM-alueilla, joita heidän ei pitäisi voida .

Vaikka ECC-RAM ei voi lieventää RAMBleed-tyyppisiä hyökkäyksiä, jotka päättävät viereisen muistin arvot, se voi yleensä pysäyttää Rowhammer-hyökkäykset – joissa nopeasti kiertävät bitit yhdellä RAM-alueella saavat viereisen alueen bitit muuttumaan.

Vaikka ECC ei voi aktiivisesti estää Rowhammer-hyökkäystä vaikuttamasta järjestelmään – esimerkiksi kun se kääntää useita bittejä yhdellä sanalla – se voi ainakin varoittaa järjestelmän ongelmasta ja Useimmissa tapauksissa estä Rowhammer-hyökkäystä tekemästä muuta kuin seisokkien aiheuttamista. (Useimmat ECC-järjestelmät on määritetty pysäyttämään koko kone, jos havaitaan korjaamaton virhe.)

Torvalds syyttää Inteliä

Ja muistinvalmistajat c onnellinen se talouden ja pienemmän tehon takia. Ja he ovat valehtelevia paskiaisia – haluan vielä kerran kertoa vasaralle siitä, kuinka nuo ongelmat ovat olleet jo useita sukupolvia, mutta nämä f * ckerit myivät onnellisesti rikkoutuneita laitteita kuluttajille ja väittivät, että se oli ”hyökkäys”, kun se aina tapahtui. ”me leikkaamme kulmia.”

Kuinka monta kertaa bittikäänteen kaltainen rivivasara on tapahtunut pelkästään huonon onnen todellisissa hyökkäyksissä, joita ei ole hyökkäys? Emme koskaan tiedä. Koska Intel työnsi paskaa kuluttajille.

Torvalds on rohkeasti sitä mieltä, että ECC-muistin puute kuluttajatekniikassa on Intelin syynä yrityksen keinotekoisen politiikan vuoksi markkinasegmentit. Intelillä on etu ajaa syvemmälle taskuttuja yrityksiä kohti kalliimpia ja kannattavampia palvelinluokan suorittimiaan sen sijaan, että annettaisiin näiden yhteisöjen käyttää tehokkaasti välttämättä alhaisemman marginaalin kuluttajaosia.

Tuen poistaminen ECC-muistin suorittimet suorittimilta, joita ei ole kohdistettu suoraan palvelinmaailmaan, on yksi tapa, jolla Intel on säilyttänyt ne markkinat ovat vahvasti segmentoituneet. Torvaldsin väite on, että Intelin kieltäytyminen tukemasta ECC-muistia kuluttajille suunnatuissa osissa – samoin kuin sen tosiasiallisesti lähes monopoli tuossa tilassa – on todellinen syy siihen, että ECC ei ole melkein käytettävissä palvelintilan ulkopuolella.

Mainonta

Tavallinen argumentti siitä, miksi ECC: tä ei ole läsnä kulutustekniikassa, pyörii kustannusten ympärillä, mutta epäilemme, että Torvaldsilla on oikeus tähän. Huolimatta siitä, että ECC-RAM on olennaisesti vaikeasti löydettävä erikoisosa, se maksaa yleensä vain noin 20 prosenttia enemmän DIMM-muistia kohden kuin muu kuin ECC vähittäiskaupassa. Todellinen ongelma on, että ilman sitä tukevia emolevyjä ja suorittimia se ei sinulle mitään hyvää.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *