RAM-paritet
RAM-paritetskontroll är lagring av en redundant paritetsbit som representerar pariteten (udda eller jämn) för en liten mängd datordata (vanligtvis en byte) lagrad i slumpmässigt åtkomstminne , och den efterföljande jämförelsen av den lagrade och den beräknade pariteten med upptäcka om ett datafel har inträffat .
Paritetsbiten lagrades ursprungligen i ytterligare individuella minneschips; med introduktionen av plug-in DIMM, SIMM, etc.-moduler, blev de tillgängliga i icke-paritets- och paritetsversioner (med en extra bit per byte , som lagrar 9 bitar för varje 8 bitar av faktisk data).
Historia
Tidiga datorer krävde ibland användning av paritets-RAM, och paritetskontroll kunde inte inaktiveras. Ett paritetsfel fick vanligtvis maskinen att stanna, med förlust av osparade data; detta är vanligtvis ett bättre alternativ än att spara korrupta data. Logisk paritet RAM , även känd som falsk paritet RAM, är icke-paritet RAM som kan användas i datorer som kräver paritet RAM. Logisk paritet RAM räknar om en alltid giltig paritetsbit varje gång en byte läses från minnet, istället för att lagra paritetsbiten när minnet skrivs till; den beräknade paritetsbiten, som inte kommer att avslöja om data har korrupts (därav namnet "falsk paritet"), presenteras för paritetskontrolllogiken. Det är ett sätt att använda billigare 8-bitars RAM i ett system utformat för att endast använda 9-bitars paritets-RAM.
Minnesfel
På 1970-80-talet var RAM-tillförlitligheten ofta mindre än perfekt; i synnerhet 4116 DRAM som var en industristandard från 1975 till 1983 hade en betydande felfrekvens eftersom de använde tredubbla spänningar (-5, +5 och +12) vilket resulterade i höga driftstemperaturer. I mitten av 1980-talet hade dessa gett vika för enkelspännings-DRAM som 4164 och 41256 med resultatet av förbättrad tillförlitlighet. Men RAM uppnådde inte moderna standarder för tillförlitlighet förrän på 1990-talet. Sedan dess har fel blivit mindre synliga eftersom enkel paritets-RAM har gått ur bruk; antingen är de osynliga eftersom de inte upptäcks, eller så korrigeras de osynligt med ECC RAM. Modernt RAM tros, med mycket berättigande, vara tillförlitligt, och felupptäckande RAM har till stor del gått ur bruk för icke-kritiska applikationer. I mitten av 1990-talet hade de flesta DRAM-minnen avbrutit paritetskontrollen eftersom tillverkarna kände sig övertygade om att det inte längre var nödvändigt. Vissa maskiner som stöder paritet eller ECC tillåter att kontroll aktiveras eller inaktiveras i BIOS , vilket tillåter att billigare icke-paritets-RAM kan användas. Om paritets-RAM används kommer chipsetet vanligtvis att använda det för att implementera felkorrigering, snarare än att stoppa maskinen på ett enbitsparitetsfel.
Men som diskuterats i artikeln om ECC-minne är fel, även om det inte är vardagliga händelser, inte försumbart sällsynta. Även i frånvaro av tillverkningsfel orsakar naturligt förekommande strålning slumpmässiga fel; tester på Googles många servrar visade att minnesfel inte var sällsynta händelser, och att förekomsten av minnesfel och antalet felfrekvenser över olika DIMM:er var mycket högre än vad som tidigare rapporterats.
Felkorrigering
Enkel go/no go paritetskontroll kräver att minnet har extra, redundanta bitar utöver de som behövs för att lagra data; men om extra bitar är tillgängliga kan de användas för att korrigera, såväl som för att upptäcka, fel. Tidigare minne som användes i till exempel IBM PC/AT ( FPM- och EDO -minne) var tillgängliga i versioner som stödde antingen ingen kontroll eller paritetskontroll (i tidigare datorer som använde individuella RAM-kretsar snarare än DIMM- eller SIMM -moduler, extra chips användes för att lagra paritetsbitar); om datorn upptäckte ett paritetsfel skulle den visa ett meddelande om detta och stoppa. SDRAM- och DDR -modulerna som ersatte de tidigare typerna är vanligtvis tillgängliga antingen utan felkontroll eller med ECC (fullständig korrigering, inte bara paritet) .
Ett exempel på ett enbitsfel som skulle ignoreras av ett system utan felkontroll, skulle stoppa en maskin med paritetskontroll eller osynligt korrigeras av ECC: en enstaka bit har fastnat på 1 på grund av ett felaktigt chip, eller ändras till 1 på grund av bakgrunds- eller kosmisk strålning; ett kalkylblad som lagrar nummer i ASCII-format laddas och talet "8" lagras i byten som innehåller den fastnade biten som sin åttonde bit; sedan görs ytterligare en ändring i kalkylarket och det lagras. Men "8" (00111000 binär) har blivit en "9" (00111001).
Om den lagrade pariteten skiljer sig från pariteten som beräknats från den lagrade datan, måste åtminstone en bit ha ändrats på grund av datakorruption. Oupptäckta minnesfel kan ha resultat som sträcker sig från oupptäckbara och utan konsekvenser, till permanent korruption av lagrad data eller maskinkrasch. I fallet med hemdatorn där dataintegritet ofta uppfattas vara av liten betydelse – säkerligen sant för, säg spel och webbsurfning, mindre så för internetbanker och hemekonomi – är icke-paritetsminne ett prisvärt alternativ. Men om dataintegritet krävs kommer paritetsminnet att stoppa datorn och förhindra att korrupta data påverkar resultat eller lagrad data, även om mellanliggande olagrad data förloras och användning förhindras tills eventuellt felaktigt RAM-minne byts ut. För bekostnad av vissa beräkningskostnader, av försumbar effekt med moderna snabba datorer, kan upptäckta fel korrigeras – detta blir allt viktigare på nätverksanslutna maskiner som betjänar många användare.
ECC typ RAM
RAM med ECC eller Error Correction Code kan upptäcka och korrigera fel . Precis som med paritets-RAM, behöver ytterligare information lagras och mer bearbetning måste göras, vilket gör ECC-RAM dyrare och lite långsammare än icke-paritet och logisk paritets-RAM. Den här typen av ECC-minne är särskilt användbar för alla applikationer där drifttid är ett problem: felaktiga bitar i ett minnesord upptäcks och korrigeras i farten utan inverkan på applikationen. Förekomsten av felet loggas vanligtvis av operativsystemet för analys av en teknisk resurs. Om felet är bestående kan serverns driftstopp schemaläggas för att ersätta den felaktiga minnesenheten. Denna mekanism för upptäckt och korrigering är känd som EEC eller Extended Error Correction .
Hur man skiljer Parity Ram kontra ECC Ram
Paritetsramar består av samma chips i mängden 3 och 9 (enkel sida) och 6 eller 18 (dubbel sida) på minnesmodulen på 30-stiftsenheten. Paritets-RAM-chips har exakt antal '2 till 1' eller '8 till 1 stift' på 30-stiftsmoduler. Men på en 72-stiftsmodul är paritetschips sammansättningar ganska olika, "antingen ett fyrkantigt 4x12-stiftschip i mitten som kompletterar 8 stycken 2x12-stifts ramchips för ena sidan", '4 små 2x7-stiftschips som kompletterar ett vanligt 8 stycken 2x7 pin ram chips' eller 'helt samma 9 marker stannar på varje sida'. Viktigt här är att paritets-RAM-chips har det exakta "8 till 1"- eller "4 till 1"-stiftantalet för pariteten på en 72-stiftsmodul.
För ECC är det lite annorlunda igen. Alla ECC-chips har olika markeringar på sig, förutom de vanliga ram-chipsen. Det kan finnas ett eller fyra ECC-chips. På 5x2-stiftsmoduler i en mängd av 8 kan det finnas ett enda 6x2-stifts ECC-chip i mitten (för ena sidan). Det andra alternativet för 5x2-stifts rammoduler igen i en kvantitet av 8, det kan finnas ytterligare fyra delar av 5x2-stifts ECC-moduler, antingen på samma sida eller på andra sidan som håller ihop. Om ram-moduler finns på båda storlekarna fördubblas antalet marker till 18 respektive 24 marker. Slutligen, om ramkapaciteten ökar mer, ökar stiftantalet på alla chip med +4 till för varje närvarande chip. Så, till skillnad från paritetschips, finns det inget exakt antal "8 till 1" och "2 till 1" stift; endast "4 till 1" pin count design och/eller +4 pin på varje sida ECC chip design, om den har enkel sida 9 eller dubbel sida 18 bitar, för att ECC ska fungera.
Modulerna "Non Parity/non ECC", "Parity" och "ECC" fungerar inte tillsammans!