基本信息編輯
技術(shù)原理
要了解ECC技術(shù),就不能不提到Parity(奇偶校驗)。在ECC技術(shù)出現(xiàn)之前,內(nèi)存中應(yīng)用最多的是另外一種技術(shù),就是Parity(奇偶校驗)。我們知道,在數(shù)字電路中,最小的數(shù)據(jù)單位就是叫“比特(bit)”,也叫數(shù)據(jù)“位”,“比特”也是內(nèi)存中的最小單位,它是通過“1”和“0”來表示數(shù)據(jù)高、低電平信號的。在數(shù)字電路中8個連續(xù)的比特是一個字節(jié)(byte),不帶“奇偶校驗”的內(nèi)存中的每個字節(jié)只有8位,若它的某一位存儲出了錯誤,就會使其中存儲的相應(yīng)數(shù)據(jù)發(fā)生改變而導(dǎo)致應(yīng)用程序發(fā)生錯誤。而帶有“奇偶校驗”的內(nèi)存在每一字節(jié)(8位)外又額外增加了一位用來進行錯誤檢測。比如一個字節(jié)中存儲了某一數(shù)值(1、0、1、0、1、0、1、1),把這每一位相加起來(1+0+1+0+1+0+1+1=5)。若其結(jié)果是奇數(shù),對于偶校驗,校驗位就定義為1,反之則為0;對于奇校驗,則相反。當(dāng)CPU返回讀取存儲的數(shù)據(jù)時,它會再次相加前8位中存儲的數(shù)據(jù),計算結(jié)果是否與校驗位相一致。當(dāng)CPU發(fā)現(xiàn)二者不同時就會試圖糾正這些錯誤,但Parity有個缺點,當(dāng)內(nèi)存查到某個數(shù)據(jù)位有錯誤時,卻并不一定能確定在哪一個位,也就不一定能修正錯誤,所以帶有奇偶校驗的內(nèi)存的主要功能僅僅是“發(fā)現(xiàn)錯誤”,并不能糾正部分簡單的錯誤。
通過上面的分析我們知道Parity內(nèi)存是通過在原來數(shù)據(jù)位的基礎(chǔ)上增加一個數(shù)據(jù)位來檢查當(dāng)前8位數(shù)據(jù)的正確性,但隨著數(shù)據(jù)位的增加Parity用來檢驗的數(shù)據(jù)位也成倍增加,就是說當(dāng)數(shù)據(jù)位為16位時它需要增加2位用于檢查,當(dāng)數(shù)據(jù)位為32位時則需增加4位,依此類推。特別是當(dāng)數(shù)據(jù)量非常大時,數(shù)據(jù)出錯的幾率也就越大,對于只能糾正簡單錯誤的奇偶檢驗的方法就顯得力不從心了,正是基于這樣一種情況,一種新的內(nèi)存技術(shù)應(yīng)允而生了,這就是ECC(錯誤檢查和糾正),這種技術(shù)也是在原來的數(shù)據(jù)位上外加校驗位來實現(xiàn)的。不同的是兩者增加的方法不一樣,這也就導(dǎo)致了兩者的主要功能不太一樣。它與Parity不同的是如果數(shù)據(jù)位是8位,則需要增加5位來進行ECC錯誤檢查和糾正,數(shù)據(jù)位每增加一倍,ECC只增加一位檢驗位,也就是說當(dāng)數(shù)據(jù)位為16位時ECC位為6位,32位時ECC位為7位,數(shù)據(jù)位為64位時ECC位為8位,依此類推,數(shù)據(jù)位每增加一倍,ECC位只增加一位。
特點
在內(nèi)存中ECC能夠容許錯誤,并可以將錯誤更正,使系統(tǒng)得以持續(xù)正常的操作,不致因錯誤而中斷,且ECC具有自動更正的能力,可以將Parity無法檢查出來的錯誤位查出并將錯誤修正。
目前一些廠商推出的入門級低端服務(wù)器使用的多是普通PC用的SDRAM,不帶ECC功能,在選購時應(yīng)該注意這個指標(biāo)。
ECC內(nèi)存誤區(qū)編輯
目前是一談到服務(wù)器內(nèi)存,大家都一致強調(diào)要買ECC內(nèi)存,認(rèn)為ECC內(nèi)存速度快,其實是一種錯誤地認(rèn)識,ECC內(nèi)存成功之處并不是因為它速度快(速度方面根本不關(guān)它事只與內(nèi)存類型有關(guān)),而是因為它有特殊的糾錯能力,使服務(wù)器保持穩(wěn)定。ECC本身并不是一種內(nèi)存型號,也不是一種內(nèi)存專用技術(shù),它是一種廣泛應(yīng)用于各種領(lǐng)域的計算機指令中,是一種指令糾錯技術(shù)。它的英文全稱是“Error Checking and Correcting”,對應(yīng)的中文名稱就叫做“錯誤檢查和糾正”,從這個名稱我們就可以看出它的主要功能就是“發(fā)現(xiàn)并糾正錯誤”,它比奇偶校正技術(shù)更先進的方面主要在于它不僅能發(fā)現(xiàn)錯誤,而且能糾正這些錯誤,這些錯誤糾正之后計算機才能正確執(zhí)行下面的任務(wù),確保服務(wù)器的正常運行。之所以說它并不是一種內(nèi)存型號,那是因為并不是一種影響內(nèi)存結(jié)構(gòu)和存儲速度的技術(shù),它可以應(yīng)用到不同的內(nèi)存類型之中,就象我們在前面講到的“奇偶校正”內(nèi)存,它也不是一種內(nèi)存,最開始應(yīng)用這種技術(shù)的是EDO內(nèi)存,現(xiàn)在的SD也有應(yīng)用,而ECC內(nèi)存主要是從SD內(nèi)存開始得到廣泛應(yīng)用,而新的DDR、RDRAM也有相應(yīng)的應(yīng)用,目前主流的ECC內(nèi)存其實是一種SD內(nèi)存。
備注編輯
帶ECC校驗的內(nèi)存還得要主板支持,并在BIOS中進行相應(yīng)的設(shè)置,目前只應(yīng)用在大多數(shù)服務(wù)器主板。
|