2012年8月31日

軟錯誤與硬錯誤:你所不知道的電腦「殺手」

有時候用戶電腦出了問題,要怪的不是微軟,而是所謂的「軟錯誤」和「硬錯誤」。

《連線》雜誌近日刊載文章稱,對於普通的電腦用戶來說,「軟錯誤」的世界是一個黑暗區域,下一代電腦芯片的科學家很擔心這個問題,因其與功率有關;而與「軟錯誤」相比,硬件廠商提及「硬錯誤」問題的頻率甚至更低。以下是騰訊科技帶來的文章全文:

软错误与硬错误:你所不知道的电脑

在一年以前,斯蒂芬·傑基薩(Stephen Jakisa)遇到了一些嚴重的電腦問題。最初的問題是在他玩第一人稱射擊遊戲《戰地3》(Battlefield 3)時發生的,但很快甚至就連他的網絡瀏覽器也出了問題,每30分鐘左右都會自動退出一次,而他甚至都能在自己的電腦上安裝這個軟件。

情況變得非常糟糕,以至於傑基薩——他的專業是程序員,而不是技術菜鳥——原以為他的電腦可能是中了病毒,或者可能是電腦裡有一些故障軟件。但他決 定讓自己的朋友艾恩·斯蒂凡諾維奇(Ioan Stefanovic)幫忙看一下,後者恰好正在寫一篇有關電腦可靠性的博士論文。

略微檢查以後,傑基薩和斯蒂凡諾維奇找到了問題的源頭:傑基薩電腦的存儲芯片出了問題。由於在出現問題以前的六個月時間裡,傑基薩的電腦一直都運行 良好,因 此在斯蒂凡諾維奇讓他運行一個專用的存儲分析工具以前,傑基薩從來都沒有懷疑過會是硬件問題。「我真的是傻掉了。」他說道。「如果這個問題是發生在一點兒 都不懂電腦的普通人身上,那麼這人肯定會被徹底難倒。」傑基薩拿出了損壞的存儲模塊,然後他的電腦自此以後一直都運行良好。

當電腦崩潰時,通常是故障軟件的問題。但在過去幾年時間裡,電腦科學家已經開始將審視的目光投向硬件故障。他們認識到,與許多人所知道的相比,另一種類型的電腦問題出現的頻率要更高一些。沒錯,那就是硬件故障。

芯片廠商會在發貨以前努力確保其產品經過測試,可以正常運行。但是,它們不願談論一個事實,那就是讓芯片能隨著時間的推移仍舊可以良好地運行是個難 題。從二 十世紀七十年代以來,這個行業就已經知道,某些晦澀難解的硬件問題會導致微處理器晶體管出故障;而隨著晶體管尺寸的變小,這種問題變得更加容易出現。業內 人士將此稱為「軟錯誤」(soft error)問題,也就是指由構成地球低強度背景輻射的核粒子引起的芯片內部電荷貯存狀態的改變,這種改變雖然不會對芯片產生有形損壞,但將產生錯誤數據 並造成設備的臨時故障。晶體管的尺寸不斷變小令每個晶體管本身對背景輻射的影響更加敏感,而芯片複雜性的大幅度提高也意味著芯片上某一部分遭受一個軟錯誤 的影響的機率大幅提高。

但是,這些所謂的「軟錯誤」只是問題的一部分內容。在過去五年 時間裡,一些研究人員已經對某些非常巨大的電腦系統進行了嚴格的檢查;他們認識到,在許多情況下,我們所使用的電腦硬件確實就是會損壞。熱量或是製造缺陷 會導致部件隨著時間的推移而磨損,導致電子從一個晶體管滲漏到另一個晶體管,或是導致旨在傳輸電流的芯片出現故障。這些就是所謂的「硬錯誤」(hard error)。

「軟錯誤」的力量

正在設計下一代電腦芯片的科學家很擔心「軟錯誤」的問題,這是因為一個非常重大的因素:功率。在下一代超級電腦開始上線的情況下,它們將擁有更多的芯片和更小的部件。隨著晶體管變得越來越小,這些電腦將需要越來越多的能量,才能阻止粒子對其造成影響。

這個問題與基礎物理學有關。當芯片廠商沿著越來越小的電線將電子傳輸到芯片時,電子會逃逸,就像水滴從破損的軟管中噴發出來那樣。電線的體型越小,逃逸的電子就會越多,讓所有功能都運行正常所需要消耗的能量也就越多。

這個問題是如此棘手,以至於英特爾正在與美國能源部及其他政府機構聯手合作,希望能加以解決。英特爾使用下一代的5納米半導體製造工藝,在2020 年底以前建造超級電腦的「大腦」,允許運算能力將比今天最頂級的電腦都高出1000倍。但就現在而言,看起來這些超級電腦系統的能耗也將是非常高的。

「我們擁有一條道路建造那種超級電腦,而不必擔心能耗問題。」英特爾高性能計算生態系統的首席技術官馬克·西格爾(Mark Seager)說道。「但如果你希望我們解決能耗的問題,那麼就是遠遠超出我們的技術路線圖了。」

對於象傑基薩那樣的普通電腦用戶來說,「軟錯誤」的世界是一個黑暗區域。芯片廠商不喜歡談論他們的產品出故障的頻率——它們認為這種信息是一種自有 的秘密 ——而普通用戶也很難看到好的研究報告。經常發生的情況是,科技公司會禁止他們自己的客戶談論硬件故障率的問題。「那是業內人士積極研究的一個領域。」西 格爾說道。「在外部我們不會過多地討論這個問題,因為那是一個非常敏感的主題。」

硬錯誤

「軟錯誤」是個問題,但硬件廠商提及另一個問題的頻率甚至更低。據多倫多大學的一個研究人員團隊稱,當電腦的DRAM(動態隨機存取存儲器)出故障時,更有可能是硬件老化或是製造缺陷(也就是「硬錯誤」)的問題,而不是「軟錯誤」的問題。

在2007年,多倫多大學教授比安卡·施羅德(Bianca Schroeder)曾到過谷歌的數據中心,在那裡她收集到一批寶貴的信息,其內容與谷歌特製的Linux系統的故障頻率有關。她發現的故障數量遠遠超出 預期;而且,大約8%的谷歌存儲芯片需為90%的問題負責。有些時候,每幾分鐘就會發生一次故障。

在進行過更加嚴密的檢查以後,施羅德的團隊發現那些故障看起來是集中在電腦存儲芯片的特定區域中的,而且傾向於在年頭更老的電腦中發生。他們所發現的問題是「硬錯誤」,而不是「軟錯誤」;而且,這些問題的嚴重性要遠遠超出多倫多大學研究人員的預期。

施羅德及其團隊在2009年發表了一篇有關他們在谷歌數據中心所發現的問題的論文,隨後又在今年早些時候發表了第二篇論文,其內容是發現IBM「藍色基因」(Blue Gene)系統和加拿大超級電腦SciNet所使用的存儲芯片也存在類似的問題。

在所有這些電腦系統中,DRAM故障率基本上都是相同的,2012年論文的作者之一艾恩·斯特凡諾維奇說道。另一份由AMD的研究人員發表的論文也 顯示,在DRAM存儲芯片中,「硬錯誤」出現的頻率要高於「軟錯誤」。但跟英特爾一樣,AMD的研究人員也並未發佈有關一般用途微處理器SRAM(靜態隨 機存儲器)的任何研究結果。

「這不是個新問題。」AMD這篇論文的作者之一、AMD可靠性架構師維拉斯·斯里德蘭(Vilas Sridharan)說道。「DRAM設備中的錯誤首次被發現是在1979年。但是,到今天我們仍在學習。」

全球最大的DRAM廠商三星的一名發言人表示,該公司「在這個課題上沒有任何能夠分享的具體數據」。

施羅德和斯蒂凡諾維奇稱,芯片廠商需要更嚴肅地對待「硬錯誤」的問題。當今的高端芯片會使用各種技巧——比如說是錯誤糾正代碼等——來補救「軟錯誤」,但在處理「硬錯誤」的問題上則做得不夠好。

而且,這所導致的問題比大多數人所認識到的問題都更多一些。高端超級電腦可能擁有錯誤糾正代碼來修復「軟錯誤」,但對個人電腦來說則並非如此。「大 多數移動設備和消費者級別的筆記本和台式機都沒有錯誤糾正代碼,其部分原因在於錯誤模型一直都是DRAM中的錯誤主要是由『軟錯誤』造成的。」斯蒂凡諾維 奇說道。

由於自身具備電腦技巧的緣故,斯蒂凡諾維奇時不時地都會被邀請去診斷奇怪的電腦故障。他表示,在過去一年時間裡,自己至少發現了三個與DRAM損壞有關的問題。

在兩年以前,斯蒂凡諾維奇曾路過鄧達斯廣場——這個廣場就像是紐約時代廣場,只不過不那麼有名——這個廣場地處多倫多的中心地帶,到處都遍佈閃光的 招牌和旅 客。抬頭看去,他看到有一個招牌變成了藍光——那是電腦崩潰的確切信號。他用自己的黑莓手機對著那個招牌拍下了一張模糊不清的照片,記下了錯誤代碼。他不 是很肯定問題的源頭,但從顯示屏所顯示出的奇偶校驗誤差來看,他認為可能是電腦顯卡內存出了問題。

沒有留言:

發佈留言