租用幫助
服務(wù)器采用ecc內(nèi)存帶來的優(yōu)勢?服務(wù)器內(nèi)存密集型應(yīng)用程序正面臨著成本壓力,這促使工程師尋找在提高性能的同時降低系統(tǒng)成本的新方法。錯誤碼校正(ECC)是NAND閃存中維護(hù)可靠性和延長內(nèi)存壽命的關(guān)鍵技術(shù)。為了提高閃存效率,與集成ECC的架構(gòu)相比,開發(fā)人員更加傾向于在主機(jī)MCU中實(shí)現(xiàn)ECC架構(gòu)。
因?yàn)榉?wù)器在內(nèi)存的使用過程中,可能因受到硬錯誤或軟錯誤的影響而導(dǎo)致數(shù)據(jù)出錯,對于普通消費(fèi)者來說這可能問題不大,但對于企業(yè)和數(shù)據(jù)中心的服務(wù)器來說,數(shù)據(jù)出錯將對服務(wù)器性能產(chǎn)生很大影響。而為了防止這種錯誤,一般服務(wù)器用的都是ECC內(nèi)存。那么,問題來了,什么是ECC內(nèi)存,它和普通內(nèi)存又有什么不同呢?
ecc內(nèi)存服務(wù)器測試:http://www.xcwl17.com/dedicated/hk.html
一、服務(wù)器配置ECC內(nèi)存,與普通內(nèi)存的區(qū)別:
傳統(tǒng)上NAND閃存的缺點(diǎn)是耐久性和讀取性能較慢。隨著時間的推移,NAND單元磨損或失去保持程序值的能力,將影響內(nèi)存位轉(zhuǎn)換狀態(tài)。當(dāng)一個塊(Block)開始磨損時,它的數(shù)據(jù)可以轉(zhuǎn)移到另一個塊。隨著單元的退化,為了防止數(shù)據(jù)丟失,我們便采用ECC技術(shù)。ECC內(nèi)存,即Error-Correcting Code Memory,
1、內(nèi)存顆粒數(shù)量區(qū)別:ECC內(nèi)存為服務(wù)器內(nèi)存,該類內(nèi)存條多了一顆ECC錯誤校驗(yàn)儲存芯片(儲存芯片數(shù)為奇數(shù)),ECC的應(yīng)用可以保證服務(wù)器在運(yùn)轉(zhuǎn)中更安全穩(wěn)定。而普通內(nèi)存條儲存芯片數(shù)為偶數(shù)。
2、應(yīng)用的技術(shù)區(qū)別:ECC內(nèi)存條添置ECC錯誤校驗(yàn)技術(shù),經(jīng)過錯誤校驗(yàn)、糾正,可以有效的保證服務(wù)器系統(tǒng)的穩(wěn)定性和可靠性。而普通內(nèi)存條不配備校正錯誤技術(shù),因此既不能確定錯誤位置,也無法修正錯誤。
3、應(yīng)用領(lǐng)域的區(qū)別:由于ECC內(nèi)存能有效的保存和維持?jǐn)?shù)據(jù)的完整性,同時配備校驗(yàn)和糾正技術(shù),ECC內(nèi)存進(jìn)一步減少了數(shù)據(jù)崩潰情況,因此多應(yīng)用于在金融等行業(yè)以及科學(xué)界等服務(wù)器及圖形工作站上,而普通內(nèi)存條只能用于家用臺式機(jī)。
4、內(nèi)存條的容量區(qū)別:由于服務(wù)器的內(nèi)存應(yīng)用對于其容量要求更高,因此ECC內(nèi)存條容量通常比普通內(nèi)存條容量通常高。
5、價格的區(qū)別:由于ECC內(nèi)存條的技術(shù)含量更高,內(nèi)存容量也較普通內(nèi)存大。因此ECC內(nèi)存條比普通內(nèi)存的價格要貴。
根據(jù)計(jì)算機(jī)對這些數(shù)據(jù)的處理方式,內(nèi)存的位翻轉(zhuǎn)可能與性能上的小問題一樣無害。但另一方面,它們可能是災(zāi)難性的,甚至導(dǎo)致整個計(jì)算機(jī)系統(tǒng)崩潰或執(zhí)行錯誤操作。一根8GB內(nèi)存條平均每小時使用會出現(xiàn)5個此類錯誤,對于普通計(jì)算機(jī)用戶來說,影響是難以察覺的,但對于任務(wù)密集型服務(wù)器來說,這些錯誤的出現(xiàn)將導(dǎo)致嚴(yán)重后果。
位翻轉(zhuǎn)有許多潛在的原因,最常見的是背景輻射,主要是由宇宙射線產(chǎn)生的中子引起的。宇宙射線是一種高能粒子,通常是質(zhì)子,以接近光速傳播。當(dāng)宇宙射線撞擊原子時,會產(chǎn)生大量中子和其他亞原子粒子,然后這些中子會繼續(xù)發(fā)生二次相互作用,而這些次級中子相互作用被認(rèn)為是內(nèi)存位翻轉(zhuǎn)錯誤的主要原因。
二、服務(wù)器采用ECC內(nèi)存的糾錯原理:
那么,ECC內(nèi)存是如何防止這樣的錯誤呢?ECC內(nèi)存檢測錯誤的方法是奇偶校驗(yàn),主要是通過在字節(jié)末尾加0或1來檢測一個字節(jié)是偶數(shù)還是奇數(shù)。例如,如果奇偶校驗(yàn)將字節(jié)添加到奇數(shù)位7,則奇偶校驗(yàn)為1,偶數(shù)將為8。如果奇偶校驗(yàn)字節(jié)為0,結(jié)果為奇數(shù),則該字節(jié)處于損壞狀態(tài)。
由于ECC生成和檢查需要時間過程,因此它會影響吞吐量和系統(tǒng)成本,這取決于它是如何實(shí)現(xiàn)的。通常,ECC可以與內(nèi)存本身集成或由主機(jī)處理器在外部管理。集成方法有兩種配置:
一種是單模方法,其中ECC是內(nèi)存die的一部分,
另一種是雙模方法,其中控制器IC(具有串行接口和ECC)與內(nèi)存die合并。在基于主機(jī)的方式下,ECC支持MCU NAND flash控制器去訪問NAND。內(nèi)存制造商提供的這三個選項(xiàng)允許OEM為他們的應(yīng)用程序選擇最佳的折衷方案。
當(dāng)然,ECC存儲器的奇偶校驗(yàn)位并不總是8位字節(jié),也可以通過二進(jìn)制循環(huán)糾錯碼生成7位代碼/64位字節(jié)。這里的意思是,系統(tǒng)每次讀取64位數(shù)據(jù)時,都會生成一個7位代碼。檢測的目的是判斷代碼是否匹配。如果不匹配意味著它有錯誤,ECC內(nèi)存將立即糾正錯誤。
選擇互聯(lián)數(shù)據(jù)ECC內(nèi)存服務(wù)器即實(shí)現(xiàn)錯誤檢查和校正技術(shù)的存儲器條帶,一般互聯(lián)數(shù)據(jù)ecc內(nèi)存服務(wù)器多應(yīng)用在游戲、金融、工作站服務(wù)器上。ECC存儲器并不是因?yàn)樗俣瓤欤且驗(yàn)樗邆涮厥獾募m錯能力來保持服務(wù)器的穩(wěn)定,能拒絕服務(wù)器宕機(jī)。