常见的服务器内存浅析
ECC內(nèi)存,即應(yīng)用了能夠?qū)崿F(xiàn)錯誤檢查和糾正技術(shù)(ECC)的內(nèi)存條。一般多應(yīng)用在服務(wù)器及圖形工作站上,這將使整個電腦系統(tǒng)在工作時更趨于安全穩(wěn)定。ECC是“Error Checking and Correcting”的簡寫,中文名稱是“錯誤檢查和糾正”。
?
技術(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)存中不帶“奇偶校驗”的內(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位只增加一位??傊?#xff0c;在內(nèi)存中ECC能夠容許錯誤,并可以將錯誤更正,使系統(tǒng)得以持續(xù)正常的操作,不致因錯誤而中斷,且ECC具有自動更正的能力,可以將Parity無法檢查出來的錯誤位查出并將錯誤修正。
目前一些廠商推出的入門級低端服務(wù)器使用的多是普通PC用的SD RAM,不帶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ù)器主板。
FBD內(nèi)存FBD即Fully-buffer DIMM(全緩存模組技術(shù)),它是一種串行傳輸技術(shù),可以提升內(nèi)存的容量和傳輸帶寬.是Intel在DDR2、DDR3的基礎(chǔ)上發(fā)展出來的一種新型內(nèi)存模組與互聯(lián)架構(gòu),既可以搭配現(xiàn)在的DDR2內(nèi)存芯片,也可以搭配未來的DDR3內(nèi)存芯片。FB-DIMM可以極大地提升系統(tǒng)內(nèi)存帶寬并且極大地增加內(nèi)存最大容量。
與現(xiàn)有的普通DDR2內(nèi)存相比,FB-DIMM技術(shù)具有極大的優(yōu)勢:在內(nèi)存頻率相同的情況下目前能提供四倍于普通內(nèi)存的帶寬,并且能支持的最大內(nèi)存容量也達到了普通內(nèi)存的24倍,系統(tǒng)最大能支持192GB內(nèi)存。FB-DIMM最大的特點就是采用已有的DDR2內(nèi)存芯片(以后還將采用DDR3內(nèi)存芯片),但它借助內(nèi)存PCB上的一個緩沖芯片AMB(Advanced Memory Buffer,高級內(nèi)存緩沖)將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)流,并經(jīng)由類似PCI Express的點對點高速串行總線將數(shù)據(jù)傳輸給處理器。
與普通的DIMM模塊技術(shù)相比,FB-DIMM與內(nèi)存控制器之間的數(shù)據(jù)與命令傳輸不再是傳統(tǒng)設(shè)計的并行線路,而采用了類似于PCI-Express的串行接口多路并聯(lián)的設(shè)計,以串行的方式進行數(shù)據(jù)傳輸。在這種新型架構(gòu)中,每個DIMM上的緩沖區(qū)是互相串聯(lián)的,之間是點對點的連接方式,數(shù)據(jù)會在經(jīng)過第一個緩沖區(qū)后傳向下一個緩沖區(qū),這樣,第一個緩沖區(qū)和內(nèi)存控制器之間的連接阻抗就能始終保持穩(wěn)定,從而有助于容量與頻率的提升。
Register(REG內(nèi)存、RDIMM內(nèi)存)??? Register即寄存器或目錄寄存器,在內(nèi)存上的作用我們可以把它理解成書的目錄,有了它,當(dāng)內(nèi)存接到讀寫指令時,會先檢索此目錄,然后再進行讀寫操作,這將大大提高服務(wù)器內(nèi)存工作效率。帶有Register的內(nèi)存一定帶Buffer(緩沖),并且目前能見到的Register內(nèi)存也都具有ECC功能,其主要應(yīng)用在中高端服務(wù)器及圖形工作站上,如IBM Netfinity 5000。
RDIMM:registered DIMM(Registered Dual In-line Memory Module),帶寄存器的雙線內(nèi)存模塊。表示控制器輸出的地址和控制信號經(jīng)過Reg寄存后輸出到DRAM芯片,控制器輸出的時鐘信號經(jīng)過PLL后到達各DRAM芯片。Registered內(nèi)存本身有兩種工作模式,即Registered模式和Buffered模式。在支持Registered工作模式的主板上工作時,Registered內(nèi)存工作于Registered模式,這時主板上的地址信號和控制信號會比數(shù)據(jù)信號先一個時鐘周期到達DIMM,送入Register芯片后會在其中停留一個時鐘周期,然后在下一個時鐘信號的上升沿從Register輸出,與此時從主板上到達DIMM的數(shù)據(jù)信號一起同時傳送到SDRAM。當(dāng)Registered內(nèi)存工作在普通的主板上時,為Buffered工作模式,這時所有的信號也基本上是同時到達DIMM再同時傳送到SDRAM,Register芯片這時在功能上只相當(dāng)于一個簡單的Buffer,其輸入到輸出之間是直通的,只簡單的起到改善地址信號和控制信號的作用,時序上與Unbuffered內(nèi)存是一樣的。比起UDIMM來由于有了寄存器,所以RDIMM處理速度各方面性能都有不少提升,有2種工作模式,適合不同的主板,并且RDIMM支持最高配置,不會受到內(nèi)存插的數(shù)量限制。(一般用于服務(wù)器)
Chipkill(chipkill內(nèi)存)??? Chipkill技術(shù)是IBM公司為了解決目前服務(wù)器內(nèi)存中ECC技術(shù)的不足而開發(fā)的,是一種新的ECC內(nèi)存保護標(biāo)準(zhǔn)。我們知道ECC內(nèi)存只能同時檢測和糾正單一比特錯誤,但如果同時檢測出兩個以上比特的數(shù)據(jù)有錯誤,則一般無能為力。目前ECC技術(shù)之所以在服務(wù)器內(nèi)存中廣泛采用,一則是因為在這以前其它新的內(nèi)存技術(shù)還不成熟,再則在目前的服務(wù)器中系統(tǒng)速度還是很高,在這種頻率上一般來說同時出現(xiàn)多比特錯誤的現(xiàn)象很少發(fā)生,正因為這樣才使得ECC技術(shù)得到了充分地認(rèn)可和應(yīng)用,使得ECC內(nèi)存技術(shù)成為幾乎所有服務(wù)器上的內(nèi)存標(biāo)準(zhǔn)。
??? 但隨著基于Intel處理器架構(gòu)的服務(wù)器的CPU性能在以幾何級的倍數(shù)提高,而硬盤驅(qū)動器的性能同期只提高了少數(shù)的倍數(shù),因此為了獲得足夠的性能,服務(wù)器需要大量的內(nèi)存來臨時保存CPU上需要讀取的數(shù)據(jù),這樣大的數(shù)據(jù)訪問量就導(dǎo)致單一內(nèi)存芯片上每次訪問時通常要提供4(32位)或8(64位)比特以上的數(shù)據(jù),一次性讀取這么多數(shù)據(jù),出現(xiàn)多位數(shù)據(jù)錯誤的可能性會大大地提高,而ECC又不能糾正雙比特以上的錯誤,這樣就很可能造成全部比特數(shù)據(jù)的丟失,系統(tǒng)就很快崩潰了。IBM的Chipkill技術(shù)是利用內(nèi)存的子結(jié)構(gòu)方法來解決這一難題。內(nèi)存子系統(tǒng)的設(shè)計原理是這樣的,單一芯片,無論數(shù)據(jù)寬度是多少,只對于一個給定的ECC識別碼,它的影響最多為一比特。舉個例子來說明的就是,如果使用4比特寬的DRAM,4比特中的每一位的奇偶性將分別組成不同的ECC識別碼,這個ECC識別碼是用單獨一個數(shù)據(jù)位來保存的,也就是說保存在不同的內(nèi)存空間地址。因此,即使整個內(nèi)存芯片出了故障,每個ECC識別碼也將最多出現(xiàn)一比特壞數(shù)據(jù),而這種情況完全可以通過ECC邏輯修復(fù),從而保證內(nèi)存子系統(tǒng)的容錯性,保證了服務(wù)器在出現(xiàn)故障時,有強大的自我恢復(fù)能力。采用這種內(nèi)存技術(shù)的內(nèi)存可以同時檢查并修復(fù)4個錯誤數(shù)據(jù)位,服務(wù)器的可靠性和穩(wěn)定得到了更加充分的保障。
UDIMM內(nèi)存(無緩沖內(nèi)存)UDIMM:無緩沖雙信道內(nèi)存模塊 (Unbuffered Dual In-Line Memory Modules,UDIMM).(一般常用的內(nèi)存條,用于一般家商用),UDIMM 表示控制器輸出來的地址和控制的信號直接到達DIMM的DRAM芯片上。它不支持服務(wù)器內(nèi)存滿配,就是最高容量了,因為使用UDIMM內(nèi)存時最大使用每通道只能用2個插槽,但支持3通道,所以只能每邊插6條,一共12條內(nèi)存,不能插滿18個插槽,雖然性能會有所下降,但是對于預(yù)算比較有限的用戶來說,是個很好的方案。
?
RDIMM支持兩種工作模式,支持高性能的registered DIMM工作模式,可以達到內(nèi)存容量的最高配,價格較高。
UDIMM只能工作在Unbuffered 模式,無法達到內(nèi)存的最高配,性能不如RDIMM,但是價格相對較低。
轉(zhuǎn)載于:https://blog.51cto.com/0bill0/447283
總結(jié)
以上是生活随笔為你收集整理的常见的服务器内存浅析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 每日学一点《Linux架设代
- 下一篇: 《互联网运营智慧》终于上市销售了