在最近的一個有關(guān)糾錯碼(ECC:error correction code )內(nèi)存的談?wù)撝校?a class="innerlink" href="http://forexkbc.com/tags/Linux" target="_blank">Linux的創(chuàng)建者Linus Torvalds公開批評英特爾沒有將ECC RAM主流化到消費平臺上,,同時贊揚AMD在Ryzen平臺上支持它。
他強調(diào),ECC絕對重要,,但英特爾正在倚仗其極其糟糕的市場細分來殺死整個ECC行業(yè),。
他進一步表示,現(xiàn)在走出去尋找ECC DIMM,,卻很難找到,最近由于AMD,,可能情況有所好轉(zhuǎn),,但這正式他所關(guān)注的,。在他看來,英特爾一直對整個行業(yè)和用戶不利,,因為他認為他們使用ECC的政策是錯誤的和誤導(dǎo)的……
Linus Torvalds在論壇中說道,如果您不相信我,,那么只要看看多代的rowhammer,,每次Intel和內(nèi)存制造商都會為下次的修復(fù)方法感到困惑。
Torvald認為英特爾應(yīng)該為消費者領(lǐng)域缺乏廣泛的ECC采用負責,。Torvalds說,,這是由于英特爾完全鎖定了其消費類芯片組和處理器對ECC的支持,,并聲稱僅此一項就無濟于事了內(nèi)存制造商為消費者創(chuàng)建臺式ECC內(nèi)存的任何動力。
Linus還譴責可以通過ECC內(nèi)存輕松解決的Rowhammer問題,。DRAM存儲單元可能會將自己的電荷泄漏到其他存儲單元中,。通常,這只是可能導(dǎo)致內(nèi)存錯誤的系統(tǒng)RAM中的缺陷,,但Rowhammer攻擊將這種趨勢用作獲取提升的系統(tǒng)權(quán)限的機制,。
Torvalds還說,,為操作系統(tǒng)內(nèi)核開發(fā)代碼時,標準內(nèi)存是一場噩夢,。Linus概述了嘗試查找無法解釋的內(nèi)核錯誤發(fā)生的地方的麻煩,并聲稱這些錯誤通??赡苁怯布栴}而不是代碼問題的結(jié)果,,而所有這些都可以通過ECC解決,。
Torvalds還稱贊AMD非官方支持ECC。即使是非官方的支持,,Linus仍然很高興AMD甚至在主流的消費者Ryzen平臺上擴展了該選項,,使消費者可以選擇使用ECC而不必為服務(wù)器級硬件支付大量費用,。“非官方支持”是否是增加采用ECC的最佳策略,,尚有待商榷通常無法正常工作),但Torvalds顯然認為這是朝正確方向邁出的一步,。
Torvalds認為ECC有許多優(yōu)點,他希望ECC內(nèi)存至少可以成為所有DIY PC和預(yù)制件的選擇,,尤其是對于那些重視系統(tǒng)穩(wěn)定性的專業(yè)人員,。內(nèi)存對于計算機的穩(wěn)定性至關(guān)重要,,因為即使是最少量的錯誤也可能導(dǎo)致崩潰或數(shù)據(jù)丟失。不幸的是,,即使標準的非ECC內(nèi)存的風險通常非常低,它也總是有出錯的風險,,并且永遠不會100%穩(wěn)定,。希望我們會看到推動ECC RAM成為消費者領(lǐng)域中更可行的選擇的動力,。
什么是ECC,?
ECC 是一種指令糾錯技術(shù),能夠檢測并糾正常見的各種內(nèi)存數(shù)據(jù)損壞情況,,即Error Checking and Correcting,。
內(nèi)存錯誤是電腦內(nèi)部的電磁干擾造成的,。這種干擾會導(dǎo)致 DRAM(動態(tài)隨機存取內(nèi)存)的單位自發(fā)地變成相反的狀態(tài)。電磁干擾以背景輻射的形式存在,,海拔越高,,干擾越大,。宇宙飛船尤其容易有很高的錯誤率。
單位錯誤可能是隱性的,,也就是說,,它們不會對數(shù)據(jù)造成嚴重影響;但是,,內(nèi)存單元是相互關(guān)聯(lián)的,因此單位變化可能會影響整個系統(tǒng),,從而導(dǎo)致系統(tǒng)出錯,,尤其是在需要嚴密運行的系統(tǒng)中。
ECC 內(nèi)存包含附加內(nèi)存位和內(nèi)存控制器,,這些控制器用于控制模塊上附加芯片中的附加位,。在將數(shù)據(jù)寫入到內(nèi)存時,ECC 內(nèi)存使用附加位來存儲加密代碼,,同時存儲糾錯碼。讀取數(shù)據(jù)時,,會將存儲的糾錯碼與讀取數(shù)據(jù)時生成的糾錯碼進行比較。如果讀取的代碼與存儲的代碼不匹配,,會用奇偶校驗位對前者進行解密,,以確定哪個位出錯,然后立即糾正該位,。癥狀表是一種可以識別并糾正位錯誤的數(shù)學(xué)方法,。
在數(shù)據(jù)處理過程中,ECC 內(nèi)存會使用特殊算法不斷掃描代碼,,以檢測并糾正單位內(nèi)存錯誤。
在金融等行業(yè)以及科學(xué)界,,ECC 內(nèi)存對于維持數(shù)據(jù)完整性至關(guān)重要,。大多數(shù)服務(wù)器內(nèi)存也是 ECC 內(nèi)存,。ECC 內(nèi)存進一步減少了數(shù)據(jù)崩潰情況,這對于多用戶服務(wù)器應(yīng)用程序非常重要,。
與非 ECC 內(nèi)存相比,,ECC 內(nèi)存通常更昂貴,速度可能稍慢,。其他系統(tǒng)組件(例如,CPU 和主板)也必須支持 ECC 內(nèi)存,。如果您的系統(tǒng)要求數(shù)據(jù)完整性和較高可用性,,Crucial 英睿達 ECC 內(nèi)存或許是個不錯的選擇,。