RAM -paritet - RAM parity
RAM-paritetskontrol er lagring af en redundant paritetsbit, der repræsenterer pariteten (ulige eller lige) af en lille mængde computerdata (typisk en byte), der er gemt i tilfældig adgangshukommelse , og den efterfølgende sammenligning af den lagrede og den beregnede paritet med registrere, om der er opstået en datafejl .
Paritetsbitten blev oprindeligt gemt i yderligere individuelle hukommelseschips; med introduktionen af plug-in DIMM, SIMM osv. moduler blev de tilgængelige i versioner uden paritet og paritet (med en ekstra bit pr. byte , hvor 9 bits lagres for hver 8 bit faktiske data).
Historie
Tidlige computere krævede undertiden brug af paritets-RAM, og paritetskontrol kunne ikke deaktiveres. En paritetsfejl fik typisk maskinen til at standse med tab af ikke -gemte data; Dette er normalt en bedre mulighed end at gemme korrupte data. Logisk paritets-RAM , også kendt som falsk paritets-RAM, er ikke-paritets-RAM, der kan bruges på computere, der kræver paritets-RAM. Logisk paritets-RAM genberegner en altid gyldig paritetsbit hver gang en byte læses fra hukommelsen, i stedet for at gemme paritetsbitten, når hukommelsen skrives til; den beregnede paritetsbit, som ikke afslører, om dataene er blevet ødelagt (deraf navnet "falsk paritet"), præsenteres for paritetskontrollogikken. Det er et middel til at bruge billigere 8-bit RAM i et system designet til kun at bruge 9-bit paritets-RAM.
Hukommelsesfejl
I 1970'erne-80'erne var RAM-pålideligheden ofte mindre end perfekt; især 4116 DRAM'erne, der var en industristandard fra 1975 til 1983, havde en betydelig fejlfrekvens, da de brugte tredobbelte spændinger (-5, +5 og +12), hvilket resulterede i høje driftstemperaturer. I midten af 1980'erne havde disse givet plads til enkeltspændings DRAM såsom 4164 og 41256 med resultatet af forbedret pålidelighed. Imidlertid opnåede RAM ikke moderne standarder for pålidelighed før i 1990'erne. Siden er fejl blevet mindre synlige, da simpel paritets -RAM er taget ud af brug; enten er de usynlige, da de ikke opdages, eller også rettes de usynligt med ECC RAM. Moderne RAM menes med stor begrundelse at være pålideligt, og fejlopdagende RAM er stort set faldet ud af brug til ikke-kritiske applikationer. I midten af 1990'erne havde de fleste DRAM droppet paritetskontrollen, da producenterne følte sig sikre på, at det ikke længere var nødvendigt. Nogle maskiner, der understøtter paritet eller ECC, gør det muligt at aktivere eller deaktivere kontrol i BIOS , så billigere ikke-paritets-RAM kan bruges. Hvis paritets-RAM bruges, vil chipsættet normalt bruge det til at implementere fejlkorrektion frem for at standse maskinen på en enkelt-bit paritetsfejl.
Som diskuteret i artiklen om ECC -hukommelse er fejl, selvom det ikke er dagligdags begivenheder, imidlertid ubetydeligt sjældent. Selv i mangel af produktionsfejl forårsager naturligt forekommende stråling tilfældige fejl; test på Googles mange servere fandt ud af, at hukommelsesfejl ikke var sjældne hændelser, og at forekomsten af hukommelsesfejl og rækkevidden af fejl på tværs af forskellige DIMM'er var meget højere end tidligere rapporteret.
Fejlrettelse
Enkel go/no go paritetskontrol kræver, at hukommelsen har ekstra, redundante bits ud over dem, der er nødvendige for at gemme dataene; men hvis der er ekstra bits tilgængelige, kan de bruges til at korrigere, samt opdage, fejl. Tidligere hukommelse som brugt i f.eks. IBM PC/AT ( FPM og EDO -hukommelse) var tilgængelig i versioner, der enten understøttede ingen kontrol eller paritetskontrol (i tidligere computere, der brugte individuelle RAM -chips frem for DIMM- eller SIMM -moduler, ekstra chips blev brugt til at lagre paritetsbits); hvis computeren opdagede en paritetsfejl, ville den vise en meddelelse herom og stoppe. De SDRAM og DDR moduler, der erstattede de tidligere typer er normalt tilgængelige enten uden fejl-check eller med ECC (fuld korrektion, ikke bare paritet).
Et eksempel på en enkelt-bit fejl, der ville blive ignoreret af et system uden fejlkontrol, ville standse en maskine med paritetskontrol eller ville blive usynlig korrigeret af ECC: en enkelt bit sidder fast på 1 på grund af en defekt chip, eller bliver ændret til 1 på grund af baggrund eller kosmisk stråling; et regneark, der lagrer numre i ASCII -format, indlæses, og tallet "8" gemmes i den byte, der indeholder den bit, der sidder fast som sin ottende bit; derefter foretages en anden ændring af regnearket, og det gemmes. Imidlertid er "8" (00111000 binær) blevet til en "9" (00111001).
Hvis den lagrede paritet er forskellig fra den paritet, der beregnes ud fra de lagrede data, skal mindst en bit være blevet ændret på grund af datakorruption. Uopdagede hukommelsesfejl kan have resultater lige fra uopdagelige og uden konsekvens til permanent korruption af lagrede data eller maskinkrasch. I tilfælde af hjemmepc'en, hvor dataintegritet ofte opfattes som af ringe betydning-bestemt sandt for f.eks. Spil og webbrowsing, mindre for internetbank og hjemmekonomi-er ikke-paritetshukommelse en overkommelig mulighed. Men hvis dataintegritet er påkrævet, standser paritetshukommelsen computeren og forhindrer de korrupte data i at påvirke resultater eller lagrede data, selvom de mister mellemliggende, ikke -gemte data og forhindrer brug, indtil noget defekt RAM udskiftes. For bekostning af nogle beregningsmæssige overhead, af ubetydelig indvirkning på moderne hurtige computere kan opdagede fejl rettes - dette bliver stadig vigtigere på netværksmaskiner, der betjener mange brugere.
ECC -type RAM
RAM med ECC eller Error Correction Code kan registrere og rette fejl . Som med paritets-RAM skal yderligere oplysninger gemmes, og der skal udføres mere behandling, hvilket gør ECC RAM dyrere og lidt langsommere end ikke-paritet og logisk paritets-RAM. Denne type ECC -hukommelse er især nyttig til enhver applikation, hvor oppetid er et problem: fejlende bits i et hukommelsesord registreres og korrigeres i farten uden påvirkning af applikationen. Forekomsten af fejlen logges typisk af operativsystemet til analyse af en teknisk ressource. I det tilfælde, hvor fejlen er vedvarende, kan serverens nedetid planlægges til at erstatte den manglende hukommelsesenhed. Denne detektions- og korrektionsmekanisme er kendt som EEC eller Extended Error Correction .